/*
	This is the JavaScript file for the How to Create CAPTCHA Protection using PHP and AJAX Tutorial

	You may use this code in your own projects as long as this 
	copyright is left in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
	
	For the rest of the code visit http://www.WebCheatSheet.com
	
	Copyright 2006 WebCheatSheet.com	

*/
//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();


//////////////////////// Contact ////////////////////////
//Called every time when form is perfomedcheck_frm_member('add')
//Initiate the AJAX request
function makeRequest_contact(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_contact; 

   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_contact() {
 //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
   if(document.getElementById('txt_check').value == 0){
			check();
			//check_frm_member('add');
   }else{
   //Change the image
	   img = document.getElementById('imgCaptcha');
	   img.src = 'capcha/create_image.php?' + Math.random();
   }
 }
}
function getParam_contact(theForm) {
 //Set the URL
 var url = 'capcha/captcha_contact.php';
 //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_contact(url, postStr);
}


//////////////////////// Register ////////////////////////
//Called every time when form is perfomedcheck_frm_member('add')
//Initiate the AJAX request
function makeRequest_register(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_register; 

   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_register() {
 //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
   if(document.getElementById('txt_check').value == 0){
			check_frm_member('add');
   }else{
   //Change the image
	   img = document.getElementById('imgCaptcha');
	   img.src = 'capcha/create_image.php?' + Math.random();
   }
 }
}
function getParam_register(theForm) {
 //Set the URL
 var url = 'capcha/captcha_contact.php';
 //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_register(url, postStr);
}

//////////////////////// Join ////////////////////////
//Called every time our XmlHttpRequest objects state changes
function makeRequest_join(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_join; 

   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_join() {
 //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
   if(document.getElementById('txt_check').value == 0){
			check_reg();
   }else{
   //Change the image
	   img = document.getElementById('imgCaptcha');
	   img.src = 'capcha/create_image.php?' + Math.random();
   }
 }
}
function getParam_join(theForm) {
 //Set the URL
 var url = 'capcha/captcha_contact.php';
 //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_join(url, postStr);
}



function getParam(theForm) {
 //Set the URL
 var url = 'capcha/captcha.php';
 //Set up the parameters of our AJAX call
 var postStr =  theForm.txtCaptcha.name + "=" + encodeURIComponent( theForm.txtCaptcha.value );
 postStr = postStr + "&" + theForm.txt_fullname.name + "=" + encodeURIComponent( theForm.txt_fullname.value );
 postStr = postStr + "&" + theForm.txt_email.name + "=" + encodeURIComponent( theForm.txt_email.value );
 postStr = postStr + "&" + theForm.txt_link.name + "=" + encodeURIComponent( theForm.txt_link.value );
 postStr = postStr + "&" + theForm.txt_content.name + "=" + encodeURIComponent( theForm.txt_content.value );
 postStr = postStr + "&" + theForm.txt_blog_id.name + "=" + encodeURIComponent( theForm.txt_blog_id.value );
 //Call the function that initiate the AJAX request
 makeRequest(url, postStr);
}