/* AJAX Captcha processing */

//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.");
  }
}

//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) {
	 	//Set up the connection to host page. 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;
    		//Get a reference to CAPTCHA image
    		img = document.getElementById('imgCaptcha');
		}
}

//To reset the image (in case user cannot read)
function changeCaptcha() {
		 img = document.getElementById('imgCaptcha');
		 img.src = 'http://www.novell.com/info/captcha/create_captcha.php?' + Math.random();
}

//Called every time when form is perfomed
function getParam(theForm) {
		 //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
		 makeRequest(postStr);
}
