﻿
var IsUploadActive;

function UploadStartProgress() {

    Upload_OnBeforeUpload();


    if (!UploadValidateFileCount(false))
        return;

    var s = undefined;
    if (typeof (GetRegistrationEmail) != 'undefined')
        s = GetRegistrationEmail();

    RegistrationDo(GuestID, s, RegistrationUpload_OnComplete, RegistrationUpload_OnCancel);

    return;
}


// -----------------------  Create Link  --------------------------


function UploadCreateLink(serviceUrl, onComplete) {

    if (serviceUrl == undefined || serviceUrl=='') {
        if (onComplete)
            onComplete();
        return;
    }

    
    var isExtra = typeof (GetExtraUploadParams) != 'undefined';

    var serviceMethod;
    if (isExtra)
        serviceMethod = "/CreatePackage2";
    else
        serviceMethod = "/CreatePackage";

    var p;
    if (isExtra)
        p = "{ rnd: '" + Math.random() + "',GuestID: '" + GuestID + "',PackageName: '" + GetPackageName() + GetExtraUploadParams() + "'}";
    else
        p = "{ rnd: '" + Math.random() + "',GuestID: '" + GuestID + "',PackageName: '" + GetPackageName() + "'}";
    

    var x = $.ajax({
        type: "POST",
        url: serviceUrl + serviceMethod,
        data: p,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg, status, p3) {

            if (!msg || !msg.d) {
                alert("ERROR: Unable to proceed upload. Please reload page");
                return;
            }

            SetPackageID(msg.d.PackageID);

            DisplayLink(msg.d);
            DisplayGreeting(msg.d);
            if (onComplete)
                onComplete();
        },
        error: function(msg, p2) {
            if (onComplete)
                onComplete();
        }
    });
}

function UploadCancel(serviceUrl, uploadID) {
    var p = "{ rnd: '" + Math.random() + "',UploadID: '" + uploadID + "'}";

    var x = $.ajax({
        type: "POST",
        url: serviceUrl+"/UploadCancel",
        data: p,
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    });
}


//----------------------------  Progress Overlay  ----------------------------------------

function CreateModalUploadProgressOverlay() {

    modalUploadProgressOverlay = $("#" + lbShowProgressClientId()).overlay({

        // some mask tweaks suitable for modal dialogs
        mask: {
            color: '#FFFFFF',
            loadSpeed: 0,
            opacity: 0.5
        },

        top: 'center',
        speed: 0,
        effect: 'none',
        oneInstance: false,

        closeOnClick: false,
        fixed: false
    });
}


$(document).ready(function() {
    CreateModalUploadProgressOverlay();
});

var UploadProgressVisible = false;

function UploadProgressShow() {

    if (!modalUploadProgressOverlay)
        return;

    modalUploadProgressOverlay.each(function() {
        $(this).overlay().load();
    });

    if(typeof CopyCreateOverlay !='undefined')
        CopyCreateOverlay();

    UploadProgressVisible = true;
}

function UploadProgressHide() {

    if (!modalUploadProgressOverlay)
        return;

    modalUploadProgressOverlay.each(function() {
        $(this).overlay().close();
    });

    UploadProgressVisible = false;
}


// ==============================  Download Links


var DownloadLinks = {};


function DisplayLink(d) {
    DownloadUrl = d.DownloadUrl;

    var x = GetDownloadLinkContainer();
    x.style.display = "";

    var x = GetLbDownloadLink();
    if (x)
        x.value = d.DownloadUrl;


    DownloadLinks.LocalMail = d.LocalMail;
    DownloadLinks.Gmail = d.Gmail;
    DownloadLinks.Hotmail = d.Hotmail;
    DownloadLinks.YahooMail = d.YahooMail;
    DownloadLinks.LinkedIn = d.LinkedIn;
    DownloadLinks.Facebook = d.Facebook;
    DownloadLinks.Twitter = d.Twitter;
    DownloadLinks.AOL = d.AOL;
    

    if (DownloadUrlCopyObject)
        DownloadUrlCopyObject.setText(DownloadUrl);
}

function DisplayGreeting(d) {

    var x = GetLbGreeting();

    if (x)
        x.innerHTML = d.Greeting;
}

function RunIframe(url) {
    var iframe = document.createElement("iframe");
    iframe.setAttribute("src", url);
    iframe.setAttribute("width", "0");
    iframe.setAttribute("height", "0");
    iframe.setAttribute("style", "display:none;");
    iframe.setAttribute("name", "iEmail");
    void (document.body.appendChild(iframe));

    document.body.removeChild(iframe);
}

function SendLink(kind) {

    var x = DownloadLinks[kind];
    if (!x)
        return false;

    if (kind == "LocalMail") {
        RunIframe(x);
        return false;
    }

    window.open(x, "_blank");
    return false;
}

//  Package Name

function GetPackageName() {
    return GetTbPackageName().value;
}

function ClearPackageName() {
    GetTbPackageName().value = '';
}

// ---------- Sublit button

function SubmitActionSaved() {
    return btnSubmitOnClientClick();
};

function GetUploadButton() {
    return document.getElementById(btnSubmitClientID());
}

function SubmitDisable() {
    var x = GetUploadButton();
    if (x) {
        x.disabled = 'disabled';
        //x.onclick = "return false;";
    }
}

function SubmitEnable() {

    var x = GetUploadButton();

    if (x) {
        x.disabled = '';
        //x.onclick = SubmitActionSaved;
        //x.href = btnSubmitHref();
    }
}


//  UploadLimit;

function SetUploadLimit(x) {
    UploadLimit = x;
}

