﻿var loaderProgressFinish = false;

$(document).ready(function () {

    if (typeof (Sys) != "undefined") {

        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(function (sender, args) {
            loaderProgressFinish = false;
            window.setTimeout(function (sender, args) {
                if (loaderProgressFinish == true)
                { return; }

                $(document.body).append('<div id="progress_overlay"></div><div id="progress_container"></div>');
                $("#progress_overlay").css({
                    position: 'absolute',
                    zIndex: 99998,
                    top: '0px',
                    left: '0px',
                    width: '100%',
                    height: $(document).height(),
                    background: '#000',
                    opacity: 0.8
                });

                //------------------------------
                $("#progress_container").html('<img src="/images/loadinfo.net.gif" width="48" height="48" />');

                $(window).bind('resize', _reposition);

                var pos = 'fixed';
                if ($.browser.msie && parseInt($.browser.version) <= 6) {
                    pos = 'absolute';
                }

                $("#progress_container").css({
                    position: pos,
                    zIndex: 99999,
                    padding: 0,
                    margin: 0
                });

                _reposition();

            }, 300);
        });

        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, args) {
            loaderProgressFinish = true;
            $(window).unbind('resize', _reposition);
            $("#progress_overlay").remove();
            $("#progress_container").remove();
        });

    }

});

    function _reposition() {
        var top = (($(window).height() / 2) - ($("#progress_container").outerHeight() / 2));
        var left = (($(window).width() / 2) - ($("#progress_container").outerWidth() / 2));
        if (top < 0) top = 0;
        if (left < 0) left = 0;

        if ($.browser.msie && parseInt($.browser.version) <= 6) {
            top = top + $(window).scrollTop()
        }

        $("#progress_container").css({
            top: top + 'px',
            left: left + 'px'
        });
    }

    function showLoadingLayer(imgname, width, height) {
        loaderProgressFinish = false;
        window.setTimeout(function (sender, args) {
            if (loaderProgressFinish == true)
            { return; }

            $(document.body).append('<div id="progress_overlay"></div><div id="progress_container"></div>');
            $("#progress_overlay").css({
                position: 'absolute',
                zIndex: 99998,
                top: '0px',
                left: '0px',
                width: '100%',
                height: $(document).height() - 5,
                background: '#000',
                opacity: 0.8
            });

            //------------------------------
            var img = '<img src="/images/';

            if (imgname == null) {
                img += 'loadinfo.net.gif"';
            }
            else {
                img += imgname + '"';
            }

            if (width == null) {
                img += ' width="48"';
            }
            else {
                img += ' width="' + width + '"';
            }

            if (height == null) {
                img += ' width="48"';
            }
            else {
                img += ' height="' + height + '"';
            }

            img += ' />';

            $("#progress_container").html(img);

            $(window).bind('resize', _reposition);

            var pos = 'fixed';
            if ($.browser.msie && parseInt($.browser.version) <= 6) {
                pos = 'absolute';
            }

            $("#progress_container").css({
                position: pos,
                zIndex: 99999,
                padding: 0,
                margin: 0
            });

            _reposition();

        }, 300);
    }

    function hideLoadingLayer() {
        $(window).unbind('resize', _reposition);
        $("#progress_overlay").remove();
        $("#progress_container").remove();
        loaderProgressFinish = true;
    }


    var popupbox = {
        show: function (control, top, left) {

            $(document.body).append('<div id="popupbox_overlay"></div><div id="progress_container"></div>');
            $("#popupbox_overlay").css({
                position: 'absolute',
                zIndex: 10,
                top: '0px',
                left: '0px',
                //width: '100%',
                height: $(document).height(),
                background: '#000'
                //,opacity: 0.8
            });

            $("#progress_container").html('<img src="/images/loadinfo.net.gif" width="48" height="48" />');

            popupbox.reposition($(control), top, left);
        },
        reposition: function (control, top, left) {
            $(control).show();

            if (top == null) {
                top = (($(window).height() / 2) - ($(control).outerHeight() / 2));
            }
            if (left == null) {
                left = (($(window).width() / 2) - ($(control).width() / 2));
            }
            if (top < 0) top = 0;
            if (left < 0) left = 0;
            var pos = 'fixed';

            if ($.browser.msie && parseInt($.browser.version) <= 6) {
                top = top + $(window).scrollTop()
                pos = 'absolute';
            }

            $("#progress_container").css({
                position: pos,
                zIndex: 99999,
                padding: 0,
                margin: 0
            });

            $(control).css({
                position: pos,
                top: top + 'px',
                left: left + 'px',
                zIndex: 99991,
                padding: 0,
                margin: 0
            });
        },
        hide: function (control) {
            $(window).unbind('resize');

            $(control).hide();
            $("#popupbox_overlay").remove();
        }
    };
