function createXMLHttp() {
   if(typeof XMLHttpRequest != 'undefined') {
    return new XMLHttpRequest();
   } else if(window.ActiveXObject) {
    var aVersions = ['MSXML2.XMLHttp.5.0','MSXML2.XMLHttp.4.0','MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp','Microsoft.XMLHttp'];
    for (var i = 0; i < aVersions.length; i++) {
     try {
      var oXmlHttp = new ActiveXObject(aVersions[i]);
      alert(aVersions[i]);
      return oXmlHttp;
     } catch (oError) {
     }
    }
    throw new Error('Невозможно создать объект XMLHttp.');
   }
  }

  var _cb = "";
  var _ercb = "";
  var _rb = "";
  var _errb = "";

 function CallBackFunct(msg)
 {
  document.location.href = "javascript: "+msg+"();";
 }

 function ReadReqAnswer()
 {
 	return _rb;
 }

 function ReadReqError()
 {
 	return _errb;
 }



  function getRequest(req,callback, errorcb) {
   var oXmlHttp = createXMLHttp();
   _cb = callback;
   _ercb = errorcb;
   oXmlHttp.open('GET',req,true);
   oXmlHttp.onreadystatechange = function() {
    if(oXmlHttp.readyState == 4) {
     if(oXmlHttp.status == 200) {
       _rb = oXmlHttp.responseText;
       CallBackFunct(_cb);
     } else {
       _errb = oXmlHttp.statusText;
       CallBackFunct(_ercb);
     }
    }
   };
   oXmlHttp.send(null);
  }
