		
		var xmlHttp; 
			
		var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
		var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0; 
		var is_opera = ((navigator.userAgent.indexOf("Opera 6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0; 
		//netscape, safari, mozilla behave the same??? 
		var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0; 
			
		function image_chk(){ 
				var url = requestURL ; 
				//Create the xmlHttp object to use in the request 
				//stateChangeHandler will fire when the state has changed, i.e. data is received back 
				// This is non-blocking (asynchronous) 
				xmlHttp = GetXmlHttpObject(stateChangeHandler); 
				//Send the xmlHttp get to the specified url 
				xmlHttp_Get(xmlHttp, url); 
			
			
		} 

		//stateChangeHandler will fire when the state has changed, i.e. data is received back 
		// This is non-blocking (asynchronous) 
		function stateChangeHandler() 
		{ 
			//readyState of 4 or 'complete' represents that data has been returned 
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){ 
				//Gather the results from the callback 
				var str = xmlHttp.responseText; 
				showavailability(str);
			} 
		} 

		// XMLHttp send GET request 
		function xmlHttp_Get(xmlhttp, url) { 
			xmlhttp.open('GET', url, true); 
			xmlhttp.send(null); 
		} 

		function GetXmlHttpObject(handler) { 
			var objXmlHttp = null;    //Holds the local xmlHTTP object instance 
			//Depending on the browser, try to create the xmlHttp object 
			if (is_ie){ 
				//The object to create depends on version of IE 
				//If it isn't ie5, then default to the Msxml2.XMLHTTP object 
				var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; 
				//Attempt to create the object 
				try{ objXmlHttp = new ActiveXObject(strObjName); objXmlHttp.onreadystatechange = handler; } 
				catch(e){ alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled'); return; } 
				//Object creation errored 
			} 
			else if (is_opera){ alert('Opera detected. The page may not behave as expected.'); return; } //Opera has some issues with xmlHttp object functionality 
			else{ objXmlHttp = new XMLHttpRequest(); objXmlHttp.onload = handler; objXmlHttp.onerror = handler; } 
	         // Mozilla | Netscape | Safari 
			//Return the instantiated object 
			return objXmlHttp; 
		} 

		
		function MM_findObj(n, d) { //v4.01
		  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		  if(!x && d.getElementById) x=d.getElementById(n); return x;
		}
		
		function MM_showHideLayers() { //v3.0
		  var i,p,v,obj,args=MM_showHideLayers.arguments;
		  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
		    obj.visibility=v;
		//	obj.style.top = findPosY(document.getElementById('search_img'))+100;
		//    obj.style.left = findPosX(document.getElementById('search_img'))+100;
			}
		}
		
		function showavailability(val)
		{
			var chk=val.split("_");
			document.getElementById("usr_avail").src='include/security_images/'+chk[0]+".jpg";
			document.getElementById("sessionid").value=chk[1];
		
		}
		
		
		
		
		
		var mainForm;
		/*
			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();
		
		//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; 
		
		   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
		   //mainForm.result.value = receiveReq.responseText;
			if(receiveReq.responseText=="true"){
				mainForm.submit();
			}else{
				alert('Invalid security code');
			}
		 }
		}
		
		//Called every time when form is perfomed
		function getParam(theForm) {
		 //Set the URL
		 mainForm=theForm;
		 var url = 'captcha.php';
		 //Set up the parameters of our AJAX call
		 var postStr = theForm.valid_no.name + "=" + encodeURIComponent( theForm.valid_no.value );
		 //Call the function that initiate the AJAX request
		 //alert(postStr);
		 makeRequest(url, postStr);
		}
		

