
var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject() {
	var xmlHttp;
	
	try { // All browsers
		xmlHttp = new XMLHttpRequest();
	} catch (e) { // IE6 or older
		var XmlHttpVersions = new Array ("MSXML2.XMLHTTP.6.0",
										 "MSXML2.XMLHTTP.5.0",
										 "MSXML2.XMLHTTP.4.0",
										 "MSXML2.XMLHTTP.3.0",
										 "MSXML2.XMLHTTP",
										 "Microsoft.XMLHTTP");
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			} catch (e) {}
		}
	}
	
	if (!xmlHttp) {
		alert ("XMLHttpRequest create error");
	} else return xmlHttp;
}

function processCaptcha() {
	if (xmlHttp) {
		try {
			xmlHttp.open("GET", "/captcha/process.php", true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		} catch (e) {
			alert ("Cannot connect: " + e.toString());
		}
	}
}

function handleRequestStateChange() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			try {
				handleServerResponse();
			} catch (e) {
				alert ("Error read request" + e.toString());
			}
		} else {
			alert ("Проблемы получения данных: " + xmlHttp.statusText);
		}
	}
}

function handleServerResponse() {
	myDiv = document.getElementById ("captcha_ajax");
	myDiv.innerHTML = xmlHttp.responseText;
}
