function getXMLHttpRequest() {
	var req;
	try {
		req = new XMLHttpRequest(); /* e.g. Firefox */
	} catch(e) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
		} catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
			} catch (E) {
				req = false;
			}
		}
	}
	return req;
}

function callAHAH(url, pageElement, callMessage, errorMessage) {
	document.getElementById(pageElement).innerHTML = callMessage;
	if (!(req = getXMLHttpRequest())) {
		doc.innerHTML = 'Ошибка соединения';
		return;
	}	
	req.onreadystatechange = function() {responseAHAH(pageElement, errorMessage);};
	req.open("GET",url,true);
	req.send(null);
}

function responseAHAH(pageElement, errorMessage, callBack) {
	var output = '';
	if(req.readyState == 4) {
		if(req.status == 200) {
			output = req.responseText;
			document.getElementById(pageElement).innerHTML = output;
		} else {
			document.getElementById(pageElement).innerHTML = errorMessage+"\n"+output;
		}
	}
}