
if(window.g_requestEndHandler == null)
{
    var g_requestEndHandler = '';
}
if(window.g_retainScrollPosition == null)
{
    var g_retainScrollPosition = false;
}
function OnRequestEndHandler(scriptToRun)
{ 
    g_requestEndHandler += scriptToRun;
}
var prm = null;
var m_scrollX = null;
var m_scrollY = null;
if(Sys != null)
{
    Sys.Application.add_init(AppInit); 
    prm = Sys.WebForms.PageRequestManager.getInstance();
}
function AppInit(sender) 
{
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(requestEndHandler);
    prm.add_beginRequest(beginRequestHandler);
}
// This function will handle the end request event
function requestEndHandler(sender, args) 
{
   if( args.get_error() )
   {      
      args.set_errorHandled(true);
      if(varRequestTimeOutMsg)
      {
        //alert(varRequestTimeOutMsg); //'The request has timed out. Please refresh the page.'); //show a custom error message.

          jQuery: jAlert(varRequestTimeOutMsg, window._AlertWindowTitle, window._OKText, 'warning', function(r)
                { 
                    NgRefreshWindow();
                });
      }
   }
   if(window.g_requestEndHandler != null && window.g_requestEndHandler.length > 0)
   {        
        eval(window.g_requestEndHandler);
        window.g_requestEndHandler = '';
   }
   if(g_retainScrollPosition && m_scrollX != null && m_scrollY != null)
   {        
        window.scrollTo(m_scrollX, m_scrollY);
        g_retainScrollPosition = false;
        m_scrollX = null;
        m_scrollY = null;        
   }
}

function RetainScroll()
{
    g_retainScrollPosition = true;
}

function beginRequestHandler()
{
    if(g_retainScrollPosition)
    {
        m_scrollX = prm._scrollPosition.x;
        m_scrollY = prm._scrollPosition.y;
    }
}
