// REN Mod - make it pass the message to be emailed as well - see encodeURIcomponent
//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();

//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
	 var arrRet = JSON.parse(receiveReq.responseText);

   //Get a reference to CAPTCHA image
   img = document.getElementById('imgCaptcha'); 
   //Change the image
   img.src = 'create_image.php?' + Math.random();
   
   if (arrRet.Processed == "Success!") {
		$('#recomm_personal_mssg').removeClass('selected');
		$('#recomm_thanks').addClass('selected');
		document.getElementById('failed_emails').innerHTML = arrRet.Message;	
		}
   else {
	   if ( arrRet.Message != 0 ) {  // Check if there are any failed email messages to report.
		   document.getElementById('captcharesult').innerHTML = arrRet.Message;  // Captcha incorrect message
	   }
   }
   }
}

//Called every time when form is perfomed
function getParam(theForm, addMssgFlag) {
 //Set the URL
 var url = 'captcha.php';
 //Set up the parameters of our AJAX call
 var postStr = "";
 postStr += theForm.txtCaptcha.name + "=" + encodeURIComponent( theForm.txtCaptcha.value );
 if (addMssgFlag) {
	 postStr += "&" + theForm.txtMssg.name + "=" + encodeURIComponent( theForm.txtMssg.value ); 
  } else {
	  postStr += "&" + theForm.txtMssg.name + "="; 
  }
 if (theForm.checkUpdates.checked) {
	 postStr += "&subscribe=true";
  } else {
	  postStr += "&subscribe=false";
  }
 
 //Call the function that initiate the AJAX request
 makeRequest(url, postStr);
 
}
