function XHTTPConn() {    
 var objReq = false;    
 var bComplete = false;    
 if (window.XMLHttpRequest) {        
  objReq = new XMLHttpRequest();    
 }
 else {        
  objReq = new ActiveXObject("Msxml2.XMLHTTP");         
  if (!objReq) objReq = new ActiveXObject("Microsoft.XMLHTTP");            
 };    
 if (!objReq) return null;    
 this.connect = function(sURL, sMethod, sVars, fnDone, info) {
  if (!objReq) return false;
  bComplete = false;
  downloading = true;
  sMethod = sMethod.toUpperCase();
  try {
   if (sMethod == "GET") {
    objReq.open(sMethod, sURL+"?"+sVars, true);
    sVars = "";
   } 
   else {
    objReq.open(sMethod, sURL, true);
    objReq.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
    objReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");// charset=utf-8;
   }
   objReq.onreadystatechange = function() {
    if (objReq.readyState == 4 && !bComplete) {
     bComplete = true;
     downloading = false;
     fnDone(objReq, info);                    
    }
   };
   objReq.send(sVars);
  }
  catch(z) {
   return false;
  }
  return true;
 };
 return this;
};

function letolt(url, params, funct)
{
 var MyConn = XHTTPConn();
 MyConn.connect(url, "POST", params, end, funct);
}
function end(obj, funct)
{
 funct(obj.responseText);
}
function letoltXML(url, params, funct)
{
 var MyConn = XHTTPConn();
 MyConn.connect(url, "POST", params, endXML, funct);
}
function endXML(obj, funct)
{
 funct(obj.responseXML);
}

