﻿var showingPanel;

function ShowModalPanel()
{
    if (document.getElementById("pageLoadingDiv") != null)
    {
            document.getElementById("pageLoadingDiv").style.display = "";
            document.getElementById("pageLoadingDiv").style.height = "100%";
            
//        document.getElementById("pageLoadingDiv").innerHTML = 
//            "<div id=pageloadingOuter class=pageloadingOuter></div>" +   
//            "<div id=loadingImg class=loadingImg></div>";
    }
    
    showingPanel = true;
    
    AdjustBGDiv();  
}

function ShowModalPanelPdf()
{        
    ShowModalPanel(); 

    CheckResponseHide();
    
    //Got to return this so that the page will continue
    return true;
}

var maxInterval = 10000

function CheckResponseHide()
{       
    //See if the pdf download is complete (wait 1 sec for postback to happen)
    setTimeout('modalSndReq()', 1000);  
    
    setTimeout('HideModalPanel()', maxInterval);    
}

function HideModalPanel()
{
    if (document.getElementById("pageLoadingDiv") != null)
    {
    
        //document.getElementById("pageLoadingDiv").innerHTML = "";
        
        document.getElementById("pageLoadingDiv").style.display = "none";
        document.getElementById("pageLoadingDiv").style.height = "100%";
    }   

    showingPanel = false;
    
    //Got to return this so that the page will continue
    return true;
}

function adjustHideBGPanel()
{
    try
    {
        var bgPanel = document.getElementById('pageloadingOuter');  

        if (bgPanel != null)
        {              
            bgPanel.style.top = getScrollY() + 'px';
        }
    }
    catch(er)
    {
    }
}

function modalCreateRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == 'Microsoft Internet Explorer'){
        ro = new ActiveXObject('Microsoft.XMLHTTP');
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

function modalSndReq() 
{
       function modalHandleResponse()
       {
             try
             {
                var response = http.responseText;
                 
                if (response != null && response == "finished")
                {
                    HideModalPanel();
                }
             }
             catch(er)
             {                
             }    
       }
     
        var http = null;
        http = modalCreateRequestObject();

        var rand_no = Math.random();     
        
        var urlPoll = "";
        urlPoll = document.location.toString().replace("Default.aspx","PdfDownloadCompleteCheck.aspx");
        
        http.open("GET", urlPoll + "?tmp=" + rand_no ,true);
                             
        http.onreadystatechange = modalHandleResponse;
        http.send(null);
}
                       
function AdjustBGDiv()
{
    adjustHideBGPanel();

    if(window.addEventListener)
    {
        window.addEventListener('scroll', adjustHideBGPanel, false);
    }
    else if(document.addEventListener) // Opera 7+
    {
        document.addEventListener('scroll', adjustHideBGPanel, true);	 
    }
    else if(document.all && document.compatMode && document.compatMode == 'CSS1Compat')
    {		
        if('onscroll' in self)
        {
           window.onscroll = adjustHideBGPanel;
        }
    }
}

function getScrollY()
{
    var scrOfY = 0;
    
    try
    {
          if( typeof( window.pageYOffset ) == 'number' ) 
          {
            //Netscape compliant
            scrOfY = window.pageYOffset;   
          } 
          else if( document.body && (document.body.scrollTop ) ) 
          {
            //DOM compliant
            scrOfY = document.body.scrollTop;
          
          } 
          else if( document.documentElement && ( document.documentElement.scrollTop ) ) 
          {
            //IE6 standards compliant mode
            scrOfY = document.documentElement.scrollTop;       
          }
    }
    catch(er)
    {
    }
    
    return scrOfY;
}