/**
 * @author Tim Booker
 * @date 11/10/2007
 */

addEventHandler( window, "load", CreateErrorHandler );

function CreateErrorHandler()
{    
    if( typeof( Sys ) != "undefined" )
    {        
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        var handler = new AjaxErrorHandler();            
        
        prm.add_endRequest( function( sender, args ) { handler.HandleRequestEnd( sender, args ) } );
    }   
}

/**
 * Handles AJAX error messages as an alternative to the standard dialogue box
 */
function AjaxErrorHandler()
{
    this.HandleRequestEnd = HandleRequestEnd;
    this.LogError = LogError;
    this.DisplayError = DisplayError;

    function HandleRequestEnd( sender, args )
    {
        if( args.get_error() != undefined )
        {
            var message;
            
            if (args.get_response().get_statusCode() == '200')
                message = args.get_error().message;
            else
                message = 'An unspecified error occurred.';
                
            args.set_errorHandled( true );

            this.LogError( message );
            this.DisplayError( message );
        } 
    }
    
    function LogError( message )
    {
    }
    
    function DisplayError(message)
    {
        window.status = "AJAX error: " + message;
    }
}
