//fired when the update starts
var asyncObject;

// Using that prm reference, hook _initializeRequest
// and _endRequest, to run our code at the begin and end
// of any async postbacks that occur.

function InitializeRequest(sender, args) { 
    if(asyncObject != null){
        if(sender._postBackSettings.sourceElement.id == asyncObject.id){
            $get(args._postBackElement.id).disabled = true;            
        }
    }
    else{
            $get(args._postBackElement.id).disabled = true;
        }
        //GetScollerPosition();
}

//fired when the update ends
function EndRequest(sender, args) {    
    if(asyncObject != null){ 
        if(sender._postBackSettings.sourceElement.id == asyncObject.id){
            var obj = $get(sender._postBackSettings.sourceElement.id);
            if (obj != null) obj.disabled = false;
        }
    }
    else{
        var obj = $get(sender._postBackSettings.sourceElement.id);
        if(obj != null) obj.disabled = false;
    }
    //SetScrollerPosition();
}

function init(obj) {
    asyncObject = obj;
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_initializeRequest(InitializeRequest);
    prm.add_endRequest(EndRequest);
}
