﻿function JsMessageBoxExtensions(objJsMessageBox1)
{
    var postbackElement = null;
    var objJsMessageBox = objJsMessageBox1;
    
    var showSelectBoxes = function()
    {
        for(var i = 0; i < document.forms.length; i++)
        {
            for(var e = 0; e < document.forms[i].length; e++)
            {
                if(document.forms[i].elements[e].tagName == "SELECT")
                {
                    document.forms[i].elements[e].style.visibility="visible";
                }
            }
        }
    }
    
    var deactivateWaitDialog = function()
    {
        var waitDialog = document.getElementById('waitDialog');
        var waitDialogContainer = document.getElementById('waitDialogContainer');
        
        showSelectBoxes();
        
        waitDialog.style.display = 'none';
        waitDialogContainer.style.display = 'none';
    }
    
    JsMessageBoxExtensions.prototype.beginRequest = function(sender, args)
    {
        objJsMessageBox.StopTheTimer();
        postbackElement = args.get_postBackElement();
    }
    
    JsMessageBoxExtensions.prototype.pageLoaded = function(sender, args)
    {
        var updatedPanels = args.get_panelsUpdated();
        
        if (postbackElement == null || typeof(postbackElement) === "undefined")
        {
            return;
        }
        
        deactivateWaitDialog();
        
        for (i=0; i < updatedPanels.length; i++)
        {
            if(updatedPanels[i].id.indexOf("updatePanelGeneralContainer")>-1)
            {
                objJsMessageBox.showPopup();
            }
        }
    }
    
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this.beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(this.pageLoaded);
}
