﻿
function AddLoadEvent(oFunc) {
    var oOldOnload = window.onload;
    if (typeof (window.onload) != 'function') {
        window.onload = oFunc;
    }
    else {
        window.onload = function () {
            if (oOldOnload) {
                oOldOnload();
            }
            oFunc();
        }
    }
}

var sAjaxArgs;
var bSubmitUpload;

function rajpHeron_OnRequestStart(sender, e) {
    sAjaxArgs = null;
    if (bSubmitUpload) {
        e.set_enableAjax(false);
    }
}

function PageRequestManager() {
    var oPageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
    if (oPageRequestManager != null) {
        oPageRequestManager.add_endRequest(EndRequest);
    }
    bSubmitUpload = false;
}

function EndRequest(sender, e) {
    if (e.get_error() != undefined) {
        AjaxRequest('[Command]=[Error][Name]=[' + e.get_error().name + '][Message]=[' + e.get_error().message + '][httpStatusCode]=[' + e.get_error().httpStatusCode + '][URL]=[' + window.location.href + ']*');
        e.set_errorHandled(true);
    }
}

AddLoadEvent(PageRequestManager);

function AjaxRequest(sArgs) {
    var oPageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
    if (oPageRequestManager != null && oPageRequestManager.get_isInAsyncPostBack()) {
        sAjaxArgs = sArgs;
    }
    else (oPageRequestManager != null)
    {
        $find('<%= rajpHeron.ClientID %>').ajaxRequest(sArgs);
    }
}

function rajpHeron_OnResponseEnd(sender, e) {
    if (bSubmitUpload) {
        bSubmitUpload = false;
        e.set_enableAjax(true);
    }
    if (sAjaxArgs != null) {
        var sArgs = sAjaxArgs;
        sAjaxArgs = null;
        AjaxRequest(sArgs);
    }
}

