/*
AJAX class
Copyright by Arturas Piksrys(arturas@ring.lt) 2005
*/


function Ajax(){
	
	serverUrl:null;
	var paramValue;
	
	this.init = function(){
		if (window.XMLHttpRequest){
		 	return new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
		else{
			
			var ajax_object_versions = new Array("Msxml2.XMLHTTP.7.0", 
												"Msxml2.XMLHTTP.6.0", 
												"Msxml2.XMLHTTP.5.0", 
												"Msxml2.XMLHTTP.4.0", 
												"MSXML2.XMLHTTP.3.0", 
												"MSXML2.XMLHTTP",
                        							"Microsoft.XMLHTTP");
			
			for(var i=0; i < ajax_object_versions.lenght; i++){
				try{
					return ActiveXObject(ajax_object_versions[i]);
				}
				catch(e){}
			}
			
		}
		

		alert('Cannot load XMLHTTP object!');
		return false;
	}
	
	this.setServerUrl = function(url){
		if(!url.length){
			return false;
		}
		
		this.serverUrl = url;
	}
	
	this.getServerUrl = function(){
		return this.serverUrl;
	}
	
	this.addParams = function(name, value){
		if(!this.serverUrl.length){
			return false;
		}
		
		if(this.serverUrl.indexOf('?') == -1){
			this.serverUrl += '?' + name + '=' + value;
		}
		else{
			this.serverUrl += '&' + name + '=' + value;
		}
		
		this.paramValue = value;
	}
	
	
	this.call = function(obj){
		var xmlhttp = this.init();
		xmlhttp.open("GET", this.getServerUrl(),true);
		xmlhttp.onreadystatechange=function() {
			  if (xmlhttp.readyState==4) {
			  		obj.afterCall(xmlhttp);
			  }
		 }
	 	xmlhttp.send(null)
	}
	
	
}


