
var cAjaxRequest = function()
{
	this.http_request = false;
}



cAjaxRequest.prototype.init = function()
{
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		this.http_request = new XMLHttpRequest();
		if (this.http_request.overrideMimeType) 
		{
			this.http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) 
	{ // IE
		try 
		{
			this.http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) 
		{
			try 
			{
				this.http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!this.http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}



	return true;
}

cAjaxRequest.prototype.call_url = function(url, send_str, callback_func_name, method_type)
{
	this.http_request.onreadystatechange = callback_func_name;
	this.http_request.open(method_type, url, true);

	this.http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8'); 
	this.http_request.setRequestHeader('Accept-Charset', 'utf-8'); 
	this.http_request.setRequestHeader('Accept-Language', 'ru'); 


	//alert(url);	
	//alert(send_str);

	if (method_type=='GET') 
	{
	    send_str = '';
	}
	
	this.http_request.send(send_str);
}

cAjaxRequest.prototype.is_success = function()
{
	//alert(this.http_request.readyState);
	if (this.http_request.readyState == 4) 
	{	// COMPLETED
		if (this.http_request.status == 200) 
		{	// HTTP STATUS
			return true;
		} else 
		{
			alert('There was a problem with the request. '+this.http_request.status);
			return false;
		}
	}
}

cAjaxRequest.prototype.get_ready_state = function()
{
	return this.http_request.readyState;
}


cAjaxRequest.prototype.get_response_text = function()
{

	return this.http_request.responseText;
}

cAjaxRequest.prototype.get_response_xml = function()
{
	//alert(this.http_request.responseText);
	return this.http_request.responseXML;
}

