

function createXMLHttp() { // Создание объекта XMLHttp

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]);
	    	      	return oXmlHttp;
	    	      	} catch (oError) { // Ничего не делаем
	    	      	}
	    	}
	
}


//throw new Error("Не установлена библиотека MSXML.");
return false;
}



function ajaxPostSend(_oAjax, _url, _params){ // Отправка запроса методом POST

            _oAjax.open("POST", _url, true);
            _oAjax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            _oAjax.setRequestHeader("Content-length", _params.length);
            _oAjax.setRequestHeader("Connection", "close");
            _oAjax.send(_params);
            
}

function ajaxStateChange(_oAjax, _funcName){ // Состояние запроса
	
      _oAjax.onreadystatechange = function () {
         if(_oAjax.readyState == 4) {       // Получен ответ от сервера
         	 if(_oAjax.status == 200) { // Код 200
                   	eval( _funcName + "('" + _oAjax.responseText  + "');"); // Может принимать только безопасные данные, без скобок и т.п.
                  } else {
                   	eval( _funcName + "();");
                  	}
            
          } 
      }
}

function getRequestUriString(_objForm){ // Создание строки запроса к серверу
var arrParam = new Array();

 for (var i = 0; i < _objForm.elements.length; i++){
 	
 	     var _name =_objForm.elements[i].name;
 	     var _value = _objForm.elements[i].value;
 	     
 	      // Отбрасываем не выбранные радиоБуттоны, чекбоксы и поля без имени, пустые
 	      if ((_objForm.elements[i].type == "radio" && _objForm.elements[i].checked == false) || _name == '' || _value == '') {continue;}
 	       	
 	var strParam = encodeURIComponent(_name);
 	      strParam += "=";
 	      strParam += encodeURIComponent(_value);
 	      arrParam.push(strParam);
}

 // Добавляем параметр Foo
var now = new Date();
var strFoo = "foo=" + now.getTime();
arrParam.push(strFoo);

return arrParam.join("&");
}


function disableFormElements(_objForm){ // Отключение элементов формы

 for (var i = 0; i < _objForm.elements.length; i++){
 	_objForm.elements[i].disabled=true;
         }
         
}


function enableFormElements(_objForm){ // Включение элементов формы

 for (var i = 0; i < _objForm.elements.length; i++){
 	_objForm.elements[i].disabled=false;
         }
         
}
