﻿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){
        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);                    
                }
            };
            objReq.send(sVars);
        }
        catch(z) {
            return false;
        }
        return true;
  };    
    return this;
};
