//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 error message
    alert("Your browser doesn't support the XmlHttpRequest object.");
 }
}

//XmlHttpRequest object
var receiveReq = getXmlHttpRequestObject();
var cres;

function makeRequest(url, param) 
{
	//If 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) 
		if((navigator.appName.indexOf("Microsoft") != -1) || (navigator.userAgent.indexOf('Safari') != -1))
		{
			receiveReq.open("POST", url, false);
		}
		else
		{
			receiveReq.open("POST", url, true);
		}
		

	//Set the function that will be called when the XmlHttpRequest objects state changes
		//alert("Hello");
		receiveReq.onreadystatechange = updatePage;
		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);
		return cres;
	}
}

//Called every time XmlHttpRequest objects state changes
function updatePage() 
{
 //Check if response is ready
 
	if (receiveReq.readyState == 4) 
	{
   		//Set the content of the DIV element with the response text
		document.getElementById('result').innerHTML = receiveReq.responseText;
		cres = receiveReq.responseText;
		if(cres == "Invalid! Try Again")
			document.getElementById('ECAPTCHA').value = "";
		//Get a reference to CAPTCHA image
		img = document.getElementById('imgCaptcha'); 
	   //Change the image
   		img.src = 'create_image.php?' + Math.random();
 	}
}

function getParam(theForm) 
{
 //Set the URL
 var url = 'captcha.php';
 //Set up the parameters of AJAX call
 var postStr = theForm.ECAPTCHA.name + "=" + encodeURIComponent( theForm.ECAPTCHA.value );
 //Call the function that initiate the AJAX request
 
var str = makeRequest(url, postStr);
return str;

}
