var bXmlHttpSupport = (typeof XMLHttpRequest != "undefined" || typeof window.ActiveXObject != "undefined");
var Http = new Object;

function XMLHttpReq() {
    try {
        return new XMLHttpRequest();
    } catch(oError) {
         var arrSignatures = ["MSXML2.HTTP.5.0", "MSXML2.HTTP.4.0", "MSXML2.HTTP.3.0",
                         "MSXML2.HTTP", "Microsoft.XMLHTTP"];
        for (var i = 0; i < arrSignatures.length; i++) {
            try {
                var oRequest = new ActiveXObject(arrSignatures[i]);
                return oRequest;
            } catch (oError) {}
        }
    }
    throw new Error("XML HTTP don`t installed");     
}

Http.get = function(sUrl, fnCallback) {
    if (bXmlHttpSupport) {
       var oRequest = new XMLHttpReq();

       oRequest.open("get", sUrl, true);
       oRequest.onreadystatechange = function() {
           if (oRequest.readyState == 4) {
              if (fnCallback) {
                fnCallback(oRequest);
              }
           }
       }
       oRequest.send(null);
    }
}

Http.post = function(sUrl, sParams, fnCallback) {
    if (bXmlHttpSupport) {
       var oRequest = new XMLHttpReq();
       oRequest.open("post", sUrl, true);
       oRequest.onreadystatechange = function() {
          if (oRequest.readyState == 4) {
                if (isIE && !oRequest.responseXML.xml) {
                   oRequest.responseXML.loadXML(oRequest.responseText);
                }
                if (fnCallback) {
                   fnCallback(oRequest);
                }
          }
       }
       oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
       oRequest.send(sParams);
   }
}



