﻿Sys.Net.WebRequestManager.add_invokingRequest(On_InvokingRequest);
Sys.Net.WebRequestManager.add_completedRequest(On_WebRequestCompleted);

var ajax_target;
var ajax_isbusy = false;

function GetAjaxImageLoder() {
    return document.getElementById('img_ajax_loader_light');
}

function RegisterForAsyncCall(element) {
    if (ajax_isbusy)
        return false;

    ajax_target = element;
}

function On_InvokingRequest(executor, eventArgs) {
    ajax_isbusy = true;

    if (ajax_target != null) {
        var img_ajax_loader = GetAjaxImageLoder();
        if (img_ajax_loader != null) {
            var offset = jQuery('#' + ajax_target.id).offset();
            img_ajax_loader.style.top = offset.top + 'px';
            img_ajax_loader.style.left = (2 + offset.left + ajax_target.offsetWidth) + 'px';
            img_ajax_loader.style.visibility = 'visible';
            img_ajax_loader.src = img_ajax_loader.src;
        }
    }
}

function On_WebRequestCompleted(executor, eventArgs) {
    var img_ajax_loader = GetAjaxImageLoder();

    if (img_ajax_loader != null)
        img_ajax_loader.style.visibility = 'hidden';

    ajax_target = null;
    ajax_isbusy = false;
}


