document.write("<script type=\"text/javascript\" src=\"js/HTTP.js\"></script>");

function Ajax()
{
	var thisObj=this;
	this.toString = function() { return "Ajax"; }
	this.http = new HTTP();
	
	this.makeRequest = function(_method, _url, _callbackMethod, _Output)
	{
		this.request = (window.XMLHttpRequest)? new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP"); 
		this.request.onreadystatechange = function(){
			_callbackMethod(_Output,thisObj);
		}
		this.request.open(_method, _url, true);
		this.request.send(_url);	
	}
	
	this.makePostRequest = function(_url,parameters, _callbackMethod, _Output)
	{
		this.request = (window.XMLHttpRequest)? new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP"); 
		this.request.onreadystatechange = function(){
			_callbackMethod(_Output,thisObj);
		}
		this.request.open("POST", _url, true);

		this.request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		this.request.send(parameters);	
		
	}
	
	this.checkReadyState = function(_id, _1, _2, _3)
	{
		if(_id.length==0){
			if(this.request.readyState==4) return this.http.status(this.request.status);
			return;
		}
		
		switch(this.request.readyState)
		{
			case 1:
				document.getElementById(_id).innerHTML = _1;
				break;
			case 2:
				document.getElementById(_id).innerHTML = _2;
				break;
			case 3:
				document.getElementById(_id).innerHTML = _3;
				break;
			case 4:
				document.getElementById(_id).innerHTML = this.http.status(this.request.status);
				return this.http.status(this.request.status);
		}
	}
}
