function createXMLHttp(){
if(typeof XMLHttpRequest != "undefined"){ // для браузеров аля Mozilla
return new XMLHttpRequest();
} else if(window.ActiveXObject){ // для Internet Explorer (all versions)
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("Невозможно создать объект XMLHttp.");
}
}
function getRequestBody(oForm) {
var aParams = new Array();
for(var i = 0; i < oForm.elements.length; i++) {
var sParam='';
if(oForm.elements[i].type=='radio'){
if(oForm.elements[i].checked){
sParam += encodeURIComponent(oForm.elements[i].name)
sParam += "=";
sParam += encodeURIComponent(oForm.elements[i].value);}
}else if(oForm.elements[i].type=='checkbox'){
sParam += encodeURIComponent(oForm.elements[i].name)
sParam += "=";
if(oForm.elements[i].checked){
sParam += encodeURIComponent(oForm.elements[i].value);
}else{
sParam +='no';
}
}else{
sParam += encodeURIComponent(oForm.elements[i].name);
sParam += "=";
sParam += encodeURIComponent(oForm.elements[i].value);
}
aParams.push(sParam);
}
return aParams.join("&");
}
function sendRequest(oForm,res) {
var oForm = document.getElementById(oForm);
var sBody = getRequestBody(oForm);
var oXmlHttp = createXMLHttp();
oXmlHttp.open("POST",oForm.action, true);
oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
oXmlHttp.setRequestHeader("Content-length", sBody.length);
oXmlHttp.setRequestHeader("Connection", "close");
oXmlHttp.onreadystatechange = function() {
if(oXmlHttp.readyState == 4) {
if(oXmlHttp.status == 200) {
saveResult(oXmlHttp.responseText,res);
} else {
saveResult("Ошибка: " + oXmlHttp.statusText);
oXmlHttp.abort();
}
}
};
oXmlHttp.send(sBody);
}
function saveResult(sText,res) {
var sElem = document.getElementById(res);
sElem.innerHTML = sText;
}