﻿function closeOrderConfirmation(url, bRedirect, closeCallback) {
    var field = GetObject(PopupStateID, null);
    var result = true;
    field.value = 'None';
    HideObject(FaderID);
    HideObject(PinID);

    if (url != undefined && url != null && url != "")
    {
        window.location = url;
    }
    else if (bRedirect)
    {
        window.location = window.location;
    }
    else
    {
        result = false;
    }
    executeIfExists(closeCallback);
    CleanIframe();
    return result;
}

function executeIfExists(f)
{
    try
    {
        var c = eval(f);
        if (typeof (c) == "function")
        {
            c();
        }
    }
    catch (e) { /* ignore all errors */ }
}

function showEnterPIN(pinUrl, closeCallback) {
    ShowPopupFader();
    var ifr = $("#" + PopupIFrameID).get(0);
    ifr.src = pinUrl;
    ShowObject(PinID);
    HidePopupFaderProgress();
    $("#pin-popup-close-button").one("click", function()
    {
        CleanIframe();
        return closeOrderConfirmation(null, false, closeCallback);
    });
}

function CleanIframe(iframe)
{
    $("#" + PopupIFrameID).attr("src", "");
    $("#" + PopupIFrameID).attr("src", "about:blank");
}

function ShowPopupFader()
{
    ShowObject(FaderID);
    ShowObject(PopupIFrameProgressID);
    $("#" + PopupFaderProgressID).css("display", "block");
}

function HidePopupFaderProgress()
{
    $("#" + PopupFaderProgressID).css("display", "none");
}

function HidePopupFader()
{
    HideObject(FaderID);
    HideObject(PopupIFrameProgressID);
    HidePopupFaderProgress();
}

function resizePopupIframe() {
    var ifr = window.parent.GetObject(window.parent.PopupIFrameID);
    var newHeight = ifr.contentWindow.document.body.scrollHeight;
    ifr.style.height = newHeight - 5 + "px";
    HideObject(PopupIFrameProgressID);
}

function wizardPopupAjaxCallback(sender, args) {
    var field = GetObject(PopupStateID, null);
    if (field.value == 'EnterPIN') {
        showEnterPIN(PopupIFrameUrl);
    }
}

function wizardPopupProgressShow(sender, args) {
    var panels = getUpdatingElement(sender);
    if (panels != null) {
        for (var i = 0; i < panels.length; i++) {
            if (panels[i] == NotificationPanelID) {
                ShowPopupFader();
            }
        }
    }
}

