function HttpRequest()
{
  this.isIE=(navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
  this.isFirefox=(navigator.userAgent.indexOf('Firefox') >= 0) ? 1 : 0;
 
  /*----------------------------------------------------------------------------------
  FUNCTION: SoapMessageBuilder
  PARAM: i_sFunction
  PARAM: i_sParams
  ----------------------------------------------------------------------------------*/
  this.SoapMessageBuilder=function(i_sFunction,i_sParams)
  {
     var sMessage="";
     
     sMessage+="<?xml version=\"1.0\" encoding=\"utf-8\"?>";
     sMessage+="<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">";
     sMessage+="<soap:Body>";
     sMessage+="<" +  i_sFunction + " xmlns=\"http://tempuri.org/\">";
     sMessage+=i_sParams;
     sMessage+="</" + i_sFunction + ">";
     sMessage+="</soap:Body>";
     sMessage+="</soap:Envelope>";
   
     return sMessage;
  }
  /*-----------------------------------------------------------------------------------
  FUNCTION END
  ------------------------------------------------------------------------------------*/


  /*----------------------------------------------------------------------------------
  FUNCTION: Execute
  PARAM: i_sPath
  PARAM: i_sFunction
  PARAM: i_sParams
  ----------------------------------------------------------------------------------*/
  this.Execute=function(i_sPath,i_sFunction,i_sParams)
  {
    
    var oResponseXML=null;
    var sMessage="";
    sMessage=this.SoapMessageBuilder(i_sFunction,i_sParams);
    
    if(this.isIE)
    {
		var HttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
		HttpRequest.onreadystatechange=function()
		{   
		
			if(HttpRequest.readyState==4 && HttpRequest.status==200)
			{   
			 
			   oResponseXML=HttpRequest.responseXML.documentElement.childNodes[0].childNodes[0].childNodes[0];
			   
			   if(oResponseXML!=null)
			   {
			     var oXml=new ActiveXObject("Microsoft.XMLDOM");
	             oXml.async=false;
			     oXml.loadXML(oResponseXML.text);
		         oResponseXML=oXml.documentElement;
		       }
	
		    }
		          
		        
		 }
		HttpRequest.open("POST",i_sPath + "?op=" + i_sFunction,false);
		HttpRequest.setRequestHeader("Content-Type","text/xml; charset=utf-8"); 
		HttpRequest.setRequestHeader("SOAPAction","http://tempuri.org/" + i_sFunction); 
		HttpRequest.send(sMessage);
	}
	else if(this.isFirefox)
	{
	    var HttpRequest=new XMLHttpRequest();
		HttpRequest.onload=function()
		{
			if(HttpRequest.readyState==4 && HttpRequest.status==200)
			{
			   oResponseXML=HttpRequest.responseXML.childNodes[0].childNodes[0].childNodes[0].childNodes[0];
			   
			   if(oResponseXML!=null)
			   {
			     var oParser=new DOMParser();
	             oResponseXML=oParser.parseFromString(oResponseXML.textContent,"text/xml");
	             oResponseXML=oResponseXML.documentElement;
	           }
	         
			}
		}
		HttpRequest.open("POST",i_sPath,false);
		HttpRequest.setRequestHeader("Content-Type","text/xml; charset=utf-8"); 
		HttpRequest.setRequestHeader("SOAPAction","http://tempuri.org/" + i_sFunction); 
		HttpRequest.send(sMessage);
	}
	
	return oResponseXML;
	
  }
  /*-----------------------------------------------------------------------------------
  FUNCTION END
  ------------------------------------------------------------------------------------*/
}
