Ajax = {};
Ajax.makeRequest = function(method, url, callbackMethod){
    this.request = (window.XMLHttpRequest)? new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP");
    this.request.onreadystatechange = callbackMethod;
    this.request.open(method, url, true);
    this.request.send(url);
}
//atasez metodata makeRequest
Ajax.checkReadyState = function(_id){
    switch(this.request.readyState){
    case 1:
        document.getElementById(_id).innerHTML = 'Loading ...';
        break;
    case 2:
        document.getElementById(_id).innerHTML = 'Loading ...';
        break;
    case 3:
        document.getElementById(_id).innerHTML = 'Loading ...';
        break;
    case 4:
        AjaxUpdater.isUpdating = false;
        document.getElementById(_id).innerHTML = '';
        return this.request.status;
    }
}

Ajax.getResponse = function(){
    if(this.request.getResponseHeader('Content-Type')!=null)
	if(this.request.getResponseHeader('Content-Type').indexOf('xml') != -1){
		var xmlRoot =  this.request.responseXML.documentElement;
		return xmlRoot.getElementsByTagName("link");
    }
    else{
        return this.request.responseText;
    }
}
AjaxUpdater = {};
AjaxUpdater.initialize = function(){
    AjaxUpdater.isUpdating = false;
}
AjaxUpdater.initialize();
AjaxUpdater.Update = function(method , service, callback){
    if(callback == undefined || callback == "") { callback = AjaxUpdater.onResponse; }
    Ajax.makeRequest(method, service, callback);
    AjaxUpdater.isUpdating = true;
}

AjaxUpdater.onResponse = function(){
    if(Ajax.checkReadyState('loading') == 200){
       AjaxUpdater.isUpdating = false;
    }
}


