
//Gets the browser specific XmlHttpRequest Object 
function getXmlHttpRequestObject()
{
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); //Mozilla, Safari ...
	} else if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP"); //IE
	} else {
		alert("Your browser doesn't support the XmlHttpRequest object.");
	}
}

var receiveReq = getXmlHttpRequestObject();

//Initiate the AJAX request
function makeRequest(url, param)
{
	//If our readystate is either not started or finished, initiate a new request
	if ( receiveReq.readyState == 4 || receiveReq.readyState == 0 ) {
		receiveReq.open("POST", url, true);
		receiveReq.onreadystatechange = updatePage; 
		
		receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		receiveReq.setRequestHeader("Content-length", param.length);
		receiveReq.setRequestHeader("Connection", "close");

		receiveReq.send(param);
	}
}

//Called every time our XmlHttpRequest objects state changes
function updatePage()
{
	//Check if our response is ready
	if (receiveReq.readyState == 4) {
		if ( receiveReq.responseText.substring(0,2) == 'OK' ) {
			//Here comes the action, which should be done if Captcha is OK
			//window.alert(document.getElementById('fe_users_form')['FE[fe_users][password]'].value);
			if ( document.getElementById('captchaHash') ) {
				document.getElementById('captchaHash').value = receiveReq.responseText.substring(3);
			} else {
				document.getElementById('captchaResult').innerHTML += '<input type="hidden" id="captchaHash" name="captchaHash" value="'+receiveReq.responseText.substring(3)+'" />';
			}
			if ( document.getElementById('responseText') ) {
				var responseText = document.getElementById('responseText');
				responseText.parentNode.removeChild(responseText);
			}
			validate_form();
		} else {
			document.getElementById('captchaResult').innerHTML = '<span id="responseText">'+receiveReq.responseText+'</span>';
			document.getElementById('txtCaptcha').value = '';
			img = document.getElementById('imgCaptcha');
			var ctrlStr = 'a'+Math.random(1000);
			img.src = 'fileadmin/src/create_captcha_image.php?ctrlStr=' + ctrlStr.substring(3);
			document.getElementById('ctrlStr').value = ctrlStr.substring(3);
		}
	}
}

//Called every time when form is perfomed
function getParam(theForm)
{
	var url = 'fileadmin/src/captcha.php';
	var postStr = theForm.txtCaptcha.name + "=" + encodeURIComponent( theForm.txtCaptcha.value ) + '&ctrlStr=' + theForm.ctrlStr.value;
	makeRequest(url, postStr);
}

