﻿/*
Author: Neha Patel
Description: script functions which display loading div
*/

function getScrollXY() {
    var x = 0, y = 0;
    if (typeof (window.pageYOffset) == 'number') {
        // Netscape
        x = window.pageXOffset;
        y = window.pageYOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        // DOM
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        // IE6 standards compliant mode
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    }
    return [x, y];
}

function AsyncInit(sender, args) {
    if (sm.get_isInAsyncPostBack()) {
        args.set_cancel(true);
    }
}

function AsyncBegin(sender, args) {
    var panelid = '';

    if (btnIds != '' && panelIds != '') {
        var btnArray = btnIds.split(',');
        var panelArray = panelIds.split(',');
        panelid = '';
        var postbackeleid = args.get_postBackElement().id;
        for (i = 0; i < btnArray.length; i++) {
            if (btnArray[i] == postbackeleid) {
                panelid = panelArray[i];
                break;
            }
        }
    }

    if (panelid == '') {
        panelid = sender._uniqueIDToClientID(sender._postBackSettings.panelID.split('|')[0]);
    }

    if (panelid != '') {
        var paneldiv = $('#' + panelid);
        var updateProgressDiv;
        if (paneldiv) {
            updateProgressDiv = $('#' + panelid + ' div:first-child');
            if (updateProgressDiv) {
                var toppos = (($(window).height() - updateProgressDiv.height()) / 2) + $(window).scrollTop();
                var leftpos = ($(window).width() - updateProgressDiv.width()) / 2;                 
                updateProgressDiv.css({
                    top: toppos,
                    left: leftpos,
                    display: ''                     
                });
            }
        }
    }
}

//function AsyncEnd(sender, args) {
//    //alert(sender._postBackSettings.panelID);
//}

function onPageLoad() {
    sm = Sys.WebForms.PageRequestManager.getInstance();
    if (!sm.get_isInAsyncPostBack()) {
        sm.add_initializeRequest(AsyncInit);
        sm.add_beginRequest(AsyncBegin);
        //sm.add_endRequest(AsyncEnd);
    }
}

//if (!Page.ClientScript.IsClientScriptBlockRegistered("fnasyncPostBackInProgress"))
//{
//    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "fnasyncPostBackInProgress",
//         string.Concat(Environment.NewLine,
//                    "function asyncPostBackInProgress(sender, args, style)",
//                    Environment.NewLine,
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var panelid ='';",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var btnIds = '" + AsyncControlIds + "';",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var panelIds = '" + UpdatePanelIds + "';",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "if (btnIds != '' && panelIds != '')",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var btnArray = btnIds.split(',');",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var panelArray = panelIds.split(',');",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "panelid = '';",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var postbackeleid = args.get_postBackElement().id;",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "for (i = 0; i < btnArray.length; i++)",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "if (btnArray[i] == postbackeleid)",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "panelid = panelArray[i];",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "break;",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "}",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "}",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "}",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "if (panelid == '')",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "panelid = sender._uniqueIDToClientID(sender._postBackSettings.panelID.split('|')[0]);",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "}",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "if (panelid != '')",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var paneldiv = $(panelid);",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var updateProgressDiv;",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "if (paneldiv)",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "updateProgressDiv = paneldiv.getChildren('div[id=asyncloader]')[0];",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "if (updateProgressDiv)",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "{",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var toppos = (($(window).getHeight() - updateProgressDiv.getHeight()) / 2) + $(window).getScroll().y;",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "var leftpos = ($(window).getWidth() - updateProgressDiv.getWidth()) / 2;",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "alert(updateProgressDiv); updateProgressDiv.setStyles({",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "top: toppos,",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "left: leftpos,",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "display: style});",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "}",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "}",
//                    Environment.NewLine,
//                    Convert.ToChar(System.Windows.Forms.Keys.Tab),
//                    "}",
//                    Environment.NewLine,
//                    "}"
//                    ), true);
//}