﻿function addEvent(elm, evType, fn, useCapture) {
    if (elm.addEventListener) {
        elm.addEventListener(evType, fn, useCapture);
        return true;
    }
    else if (elm.attachEvent) {
        var r = elm.attachEvent('on' + evType, fn);
        return r;
    }
    else {
        elm['on' + evType] = fn;
    }
}

addEvent(window, 'beforeunload', disableButton, false);
addEvent(window, 'unload', enableButton, false);
addEvent(window, 'load', ajaxAttach, false);

function ajaxAttach() {
    if (typeof (Sys) != 'undefined') {
        Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(disableButton);
        Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(enableButton);
    }
}

var buttonToDisable;
function setToDisable(button) {
    buttonToDisable = button;
}
function disableButton(e) {
    if (buttonToDisable)
        buttonToDisable.disabled = true;
}
function enableButton(sender, args) {
    if (buttonToDisable)
        buttonToDisable.disabled = false;
}
