/* http://www.webcheatsheet.com/PHP/create_captcha_protection.php */

//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 {
    //Display our error message
    alert("Your browser doesn't support the XmlHttpRequest object.");
 }
}

//Our XmlHttpRequest object
var receiveReq = getXmlHttpRequestObject();

//What form to submit after validation
var returnFormId = '';

//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) {
   //Set up the connection to captcha_test.html. True sets the request to asyncronous(default) 
   receiveReq.open("POST", url, true);
   //Set the function that will be called when the XmlHttpRequest objects state changes
   receiveReq.onreadystatechange = updatePage; 

   //Add HTTP headers to the request
   receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq.setRequestHeader("Content-length", param.length);
   receiveReq.setRequestHeader("Connection", "close");

   //Make the request
   receiveReq.send(param);
 }   
}

//Called every time our XmlHttpRequest objects state changes
function updatePage() {
 //Check if our response is ready
 if (receiveReq.readyState == 4) {
   //Set the content of the DIV element with the response text
 //  document.getElementById('result').innerHTML = receiveReq.responseText;

	if ( receiveReq.responseText == "yes" ) {
		$('captcha_result').innerHTML = "<span style=\"color:green;\">Processing request...("+returnFormId+")</span>";
		$(returnFormId).submit();
	} else {
		$('captcha_result').innerHTML = "Wrong code, please try again.";
		$('txtCaptcha').value="";
		$('txtCaptcha').focus();
	   //Get a reference to CAPTCHA image
	   img = document.getElementById('imgCaptcha'); 
	   //Change the image
	   img.src = './basecode/captcha_create_image.php?' + Math.random();
	}
	
 }
}


//Called every time when form is perfomed
function getCaptchaParam(s,_returnFormId) {
// alert("s = " + s);
 //Set up the parameters of our AJAX call
// var postStr = theForm.txtCaptcha.name + "=" + encodeURIComponent( theForm.txtCaptcha.value );
 //	Call the function that initiate the AJAX request
 	returnFormId = _returnFormId;
 	makeRequest('./ajax/captcha.php', s);
}
