var Response = new Object();

function Ajax(Page,Method)
{
	this.Page=Page;
	this.Method=Method;
}

Ajax.prototype.Do=function(Parameters)
{
	this.Params=Parameters;
	_DoAjax(this.Page,this.Method,this.Params,this.onResponse,this.onError);
}

function _DoAjax(_Page,_Method,_Params,_Response,_Error)
{
	var request=false;
	try
	{
		request = new XMLHttpRequest();
	}
	catch (trymicrosoft)
	{
		try
		{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (othermicrosoft)
		{
			try
			{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (failed) 
			{
				request = false;
			}  
     	}
   	}
   	
	if(!request)
		alert("Error: Couldn't initialize!!");
	
	request.open(_Method,_Page+"?"+_Params,true);
	request.send(null);
	
	request.onreadystatechange=function()
	{
		if(request.readyState==4 )
		{
			if(request.status == 200)
			{
				// alert( request.readyState );
				Response.State = request.readyState;
				Response.Req  = _Page + "?" + _Params;
				Response.Text = request.responseText;
				Response.XML = request.responseXML;
				_Response(Response);
			}
			else
			{
				_Error(request.status);
			}
		}
	}
}
