//////////////////////////////////////////////
// Italcom Spa
// Browser: IE 6.0, Netscape 7.0, Mozilla 1.4
// Library: CHttpRequest
// Version 1.0
// Require: CXmlDeserializer
//          CDomDocumentNode
//          CSoapRequest
// Objects:
//////////////////////////////////////////////

// Costructor
function CHttpRequest()
{
	this._HttpRequest = null;
	this.ClientRequest = true;
	try
	{
		this._HttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
	}
	catch (e)
	{
		try
		{
			this._HttpRequest = new XMLHttpRequest();
		}
		catch (e)
		{
			this.ClientRequest = false;
		}
		
	}
}

// Method setHeaders: this method set the header for the soap message 
CHttpRequest.prototype.setHeaders
= //====================
function(headers)
{
// send request.

	if (this.ClientRequest) 
	{
		var idx;
		for (idx = 0;idx<headers.length;idx++)
		{

			this._HttpRequest.setRequestHeader(headers[idx][0], headers[idx][1]);
		}
	}

}

// Method HttpGet: this method send request to web services with the "get"
CHttpRequest.prototype.HttpGet 
= //====================
function(url)
{
// send request.

	this.ResultCode = -1;

	if (this.ClientRequest) 
	{
		
		this._HttpRequest.open ("GET", url, false);
		if (this.Headers != null) this.setHeaders(this.Headers);
		this._HttpRequest.send(null);
		this.ResultCodeDescription = this._HttpRequest.status;
		this.content = this._HttpRequest.responseText;
		
		
	}
	return (this.ResultCode == 200);

}

// Method HttpPut: this method send request to web services with the "post"
CHttpRequest.prototype.HttpPut
= //====================
function(url, content)
{
// send request.

	this.ResultCode = -1;

	if (this.ClientRequest) 
	{
		
		this._HttpRequest.open ("POST", url, false);
		if (this.Headers != null) this.setHeaders(this.Headers);
		this._HttpRequest.send(content);
		this.ResultCode = this._HttpRequest.status;
		this.ResultCodeDescription = this._HttpRequest.statusText;
		this.content = this._HttpRequest.responseText;
		
	}
	return (this.ResultCode == 200);

}

