﻿Sys.Application.add_init(MyInit);
//Sys.Application.remove_init(MyInit);

function MyInit()
{
    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(MyIntializeRequest);
}

Sys.Application.add_load(MyLoad);
//Sys.Application.remove_load(MyLoad);

function MyLoad()
{
    //Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(MyBeginRequest);
    //Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(MyPageLoading);
    //Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(MyPageLoaded);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(MyEndRequest);
    //Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(MyEndRequest);



}
Sys.Application.add_unload(MyUnload);
//Sys.Application.remove_unload(MyUnload);

function MyUnload()
{
    //alert("MyUnload added to page unload");
}

function MyIntializeRequest(sender,args)
{
	document.getElementById('HasError').value = 'False';
    $get('HasError').value = 'False';

    //var ele = args.get_postBackElement();   
    //change the property of the postback element
    //args.get_postBackElement().disabled = true;
    //sets the display value of postack element
    //args.get_postBackElement().value = "Page is getting Loaded...";
    //cancel the postback initiated
    //sender.abortPostBack();

}

function MyBeginRequest(sender,args)
{
   
}

function MyPageLoading(sender, args)
{
}
function MyPageLoaded(sender, args)
{
}

function MyEndRequest(sender, args)
{

   if (args.get_error() != undefined)
   {
       var errorMessage;
	   var dataItems = args.get_dataItems();
       if (args.get_response().get_statusCode() == '200')
       {
           errorMessage = args.get_error().message;
       }
       else
       {
            switch (args._error.name)
			{
				case "Sys.WebForms.PageRequestManagerServerErrorException" :
					errorMessage = "An Error Occured while Sending: To fix this error try closing your browser and navigate back to this site.";
					break;
				case "Sys.WebForms.PageRequestManagerParserErrorException" :
					errorMessage = "An Error Occured while Receiving: To fix this error try closing your browser and navigate back to this site.";
					break;
				case "Sys.WebForms.PageRequestManagerTimeoutException" :
					errorMessage = "Request Timed Out: Please try again.";
					break;
			}
       }
       args.set_errorHandled(true);
       $get('ErrLabelTitle').innerHTML = 'Unhandled Exception';
	   $get('ErrLabelDesc').innerHTML = errorMessage;
	   //document.getElementById('hiderrorbtn').click();
	   $get('ErrorPanel').style.display = "inline";
	   $get('ErrorPanel').style.visibility = "visible";
   }
   
   if ($get('HasError').value == 'True'){
	   document.getElementById('hiderrorbtn').click();
   }

}


