


var request;

/**
* Load XMLDoc function
* Здесь в качестве параметра url при вызове мы должны указать
* backend-скрипт, который, собственно, и получит данные с сервера
*/

function doLoad(url) {



if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
request.onreadystatechange = processRequestChange;


request.open("GET", url, true);
request.send(null);
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.onreadystatechange = processRequestChange;
request.open("GET", url, true);

try {
    request.send();
    }
catch (othermicrosoft)
    {
     request.send(null);
    }



}
}
}



function doLoad2(url, id) {

//alert( 'doLoad2:' + id );

if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
request.onreadystatechange = processRequestChange2(id);


request.open("GET", url, true);
request.send(null);
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.onreadystatechange = processRequestChange2(id);
request.open("GET", url, true);

try {
    request.send();
    }
catch (othermicrosoft)
    {
     request.send(null);
    }



}
}
}


/**
* Get request state text function
*/
function getRequestStateText(code) {
switch (code) {
case 0: return "Uninitialized."; break;
case 1: return "Loading..."; break;
case 2: return "Loaded."; break;
case 3: return "Interactive..."; break;
case 4: return "Complete."; break;
}

//alert(code);
}

/**
* Event on request change
* Собственно, обработчик события onreadystatechange.
* Здесь мы, в зависимости от состояния запроса,
* будем скрывать / показывать слои "Загрузка данных",
* само поле данных и т.д.
*/
function processRequestChange(id) {

//alert(id);


document.getElementById("resultdiv").style.display = 'none';
document.getElementById("state").value = getRequestStateText(request.readyState);
abortRequest = window.setTimeout("request.abort();", 10000);
// если выполнен
if (request.readyState == 4) {
clearTimeout(abortRequest);
document.getElementById("statuscode").value = request.status;
document.getElementById("statustext").value = request.statusText;
// если успешно
if (request.status == 200) {
document.getElementById('resultdiv').style.display = 'block';
document.getElementById("responseHTML").innerHTML = request.responseText;
} else {
alert("Не удалось получить данные:n" + request.statusText);
}
document.getElementById("loading").style.display = 'none';
}
// иначе, если идет загрузка или в процессе - показываем слой "Загружаются данные"
else if (request.readyState == 3 || request.readyState == 1) {
document.getElementById("loading").style.display = 'block';
}
}




function processRequestChange2(id) {

//alert(id);
s = 'b_' + id;

document.getElementById("resultdiv2").style.display = 'none';
document.getElementById("state").value = getRequestStateText(request.readyState);
abortRequest = window.setTimeout("request.abort();", 10000);
// если выполнен
if (request.readyState == 4) {
clearTimeout(abortRequest);
document.getElementById("statuscode").value = request.status;
document.getElementById("statustext").value = request.statusText;
// если успешно
if (request.status == 200) {
document.all.resultdiv2.style.display = 'block';
document.getElementById("b_1").innerHTML = "!!!";
} else {
alert("Не удалось получить данные:n" + request.statusText);
}
document.getElementById("loading").style.display = 'none';
}
// иначе, если идет загрузка или в процессе - показываем слой "Загружаются данные"
else if (request.readyState == 3 || request.readyState == 1) {
document.getElementById("loading").style.display = 'block';
}
}




