var request;

function doLoad(url) {
	var isBusy;	//антиперегруз firefox bug
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest();
		request.onreadystatechange = processRequestChange;
		if(isBusy){request.abort();}
		request.open("GET", url, true);
		isbusy = true;
        request.send(null);
	} else if (window.ActiveXObject) {
		request = new ActiveXObject("Microsoft.XMLHTTP");
		if (request) {
			request.onreadystatechange = processRequestChange;
			request.open("GET", url, true);
			request.send();
		}
	}
}

function processRequestChange() {
	if (request.readyState == 3 || request.readyState == 1) {
		document.getElementById("loading").style.display = 'block';
	}
	//убираем баг firefox
	if (request.readyState !== 4) 
	return;
	isBusy = false;
	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);
		// если успешно
		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';
	//}
}
