var _isLoading = false;

function pageLoad(sender, args)
{    
    if(!args.get_isPartialLoad()) 
    {
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);    
        
        var inputs = document.getElementsByTagName('div');
        for (i=0; i<inputs.length; i++)
        {
            var tmpId = document.getElementsByTagName('div')[i].id;

            if (tmpId && (tmpId.substring(0,10) == 'divDisable'))
            {
                var DisableDiv = document.getElementById(tmpId);
                DisableDiv._resizeHandler = Function.createDelegate(DisableDiv, onResize);
                $addHandler(window, 'resize', DisableDiv._resizeHandler);
            }
        }
    }
}        
        
function pageUnload() 
{
    Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(endRequest);    
}
        
        
function beginRequest(sender, args)
{
    _isLoading = true;
    
    if (sender._updatePanelClientIDs)
    {
        for (i=0; i<sender._updatePanelClientIDs.length; i++)
        {
            var tmpFullID = sender._updatePanelClientIDs[i];
            var tmpShortID = sender._updatePanelClientIDs[i].substring(sender._updatePanelClientIDs[i].indexOf('UpdatePanel'), 250);
            var tmpPostfix = tmpShortID.substring(11,250);

            var DisableDiv = document.getElementById('divDisable'+tmpPostfix);
           
            if (DisableDiv)
            {
                var UpdatePanel = $get(tmpFullID);
                var updateProgressDivBounds = Sys.UI.DomElement.getBounds(UpdatePanel);

                DisableDiv.style.width=updateProgressDivBounds.width+'px';
                DisableDiv.style.height=updateProgressDivBounds.height+'px';

                Sys.UI.DomElement.setLocation(DisableDiv, updateProgressDivBounds.x, updateProgressDivBounds.y); 
            }
        }
    }
}

function onResize(sender, args)
{
    if (_isLoading)
    {
        beginRequest(sender,args);
    }
}

function endRequest(sender, args) 
{
    var inputs = document.getElementsByTagName('div');
    for (i=0; i<inputs.length; i++)
    {
        var tmpId = document.getElementsByTagName('div')[i].id;

        if (tmpId && (tmpId.substring(0,10) == 'divDisable'))
        {
            var DisableDiv = document.getElementById(tmpId);
            DisableDiv.style.width='0px';
            DisableDiv.style.height='0px';
        }
    }
    _isLoading = false;

}

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
