  function chkEmail(eml)
{
	var re = /^[0-9a-zA-Z\-\.\_]+@[0-9a-zA-Z\-]+\.[0-9a-zA-Z\-\.]+$/;
	if (!eml.match(re)) 
		return 0;
	else
		return 1;

}

  var captchaOK1 = 2; // 2 - not yet checked, 1 - correct, 0 - failed 
  function getHTTPObject() 
  { 
	  try 
		{ 
			req = new XMLHttpRequest(); 
		} 
	  catch (err1) 
	  { 
			try 
			  { 
				req = new ActiveXObject("Msxml12.XMLHTTP"); 
			  } 
			catch (err2) 
			{ 
				   try 
				   { 
				   req = new ActiveXObject("Microsoft.XMLHTTP"); 
				   } 
				   catch (err3) 
				   { 
				   req = false; 
				   } 
			}
	 	} 
 		return req; 
  } 
 var http = getHTTPObject(); // We create the HTTP Object 
  function handleHttpResponse1()
   {
		  if (http.readyState == 1)
		  {
			  document.getElementById('sent1').innerHTML="<img src='images/ajax-loader.gif' alt='Loading....' border=0>";
		  }
		  if (http.readyState == 4) 
		  { 
			  captchaOK1 = http.responseText; 
			  if(captchaOK1 != 1)
			   { 
				    document.getElementById('sent1').innerHTML ='';
				   alert('The entered code was not correct. Please try again');
				   document.subs.codenewsletter.value=''; 
				   document.subs.codenewsletter.focus();
				   return false; 
			   } 
			   else
			   {
			    document.getElementById('sent1').innerHTML="You have been subscribed successfully.";
			   	return true;		   
			   }
		   //document.myform.submit(); 
		   } 
   }
  function checkcode1(thecode)
  { 
  

  var url1 = 'captcheck_newsletter.php?code='; 
 
  http.open("GET", url1 + escape(thecode), true); 
  http.onreadystatechange = handleHttpResponse1; http.send(null); 
  } 
  
  function subscribe(frm)
{

	var mes = "";
 	
	if(frm.email.value.length == 0)
	{
		mes = mes + "Please Enter Email Address.\n";	
		document.subs.email.focus(); 
	}
	else if(chkEmail(frm.email.value) == 0 )
	{
		mes = mes + "Please Enter Valid Email Address.\n";
		document.subs.email.focus();
	}
	else if(document.subs.codenewsletter.value=='') {
	 alert('Please enter the string from the displayed image.'); 
	 document.subs.codenewsletter.value='';
	 document.subs.codenewsletter.focus(); 
	 return false; 
	
	 } // Now the Ajax CAPTCHA validation
	 else
	 {
	  checkcode1(document.subs.codenewsletter.value);
	   document.subs.codenewsletter.focus(); 
	  return false;
	 }
   
   
	if(mes != "")
	{
		alert(mes);
	}
	else
	{
		frm.action = "subscribe.php";
		frm.submit();		
	}	
	
 } 


//2-------------------------------------------------------------------------------

<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->

function LTrim(str)
{
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(0)) != -1) {
    // We have a string with leading blank(s)...

    var j=0, i = s.length;

    // Iterate from the far left of string until we
    // don't have any more whitespace...
    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
    j++;


    // Get the substring from the first non-whitespace
    // character to the end of the string...
    s = s.substring(j, i);
  }

  return s;
}



//2------------------------------------------------------------------------------*/


<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
//-->


//////////////////////



 var captchaOK = 2; // 2 - not yet checked, 1 - correct, 0 - failed 
  function getHTTPObject() 
  { 
	  try 
		{ 
			req = new XMLHttpRequest(); 
		} 
	  catch (err1) 
	  { 
			try 
			  { 
				req = new ActiveXObject("Msxml12.XMLHTTP"); 
			  } 
			catch (err2) 
			{ 
				   try 
				   { 
				   req = new ActiveXObject("Microsoft.XMLHTTP"); 
				   } 
				   catch (err3) 
				   { 
				   req = false; 
				   } 
			}
	 	} 
 		return req; 
  } 
 var http = getHTTPObject(); // We create the HTTP Object 
  function handleHttpResponse() {
  if (http.readyState == 1)
  {
  document.getElementById('sent').innerHTML="<img src='ajax-loader.gif' alt='Loading....' border=0>";
  }
  if (http.readyState == 4) 
  { 
  captchaOK = http.responseText; 
 // alert(captchaOK);
  
  
   if(captchaOK == 1)
   {
   	document.getElementById('sent').innerHTML="Information sent successfully.";
	var name 	= document.getElementById('name').value="";
	var pno 	= document.getElementById('pno').value=""; 
	var email 	= document.getElementById('email').value=""; 
	var comment = document.getElementById('comment').value=""; 
	var capcode = document.getElementById('code').value=""; 
   }
  if(captchaOK != 1)
   { 
   document.getElementById('sent').innerHTML="";
   alert('The entered code was not correct. Please try again');
   
   document.myform.code.value=''; 
   document.myform.code.focus();
   return false; 
   } 
  
   //document.myform.submit(); 
   
   } 
   }
  function checkcode(thecode)
  { 
  
  var name 	= LTrim(document.getElementById('name').value);
  var pno 	= LTrim(document.getElementById('pno').value); 
  var email 	= LTrim(document.getElementById('email').value); 
   var comment 	= LTrim(document.getElementById('comment').value); 
  //var thecode	= LTrim(document.getElementById('code').value); 
  //var comp 	= LTrim(document.getElementById('comp').value); 
  var url = "captcheck.php?name="+name+" &pno="+pno+"&email="+email+"&comment="+comment+"&code="; 

  	
  http.open("GET", url + escape(thecode), true); 
  http.onreadystatechange = handleHttpResponse; 
  http.send(null); 
  } 
  
  
  function checkform() { // First the normal form validation 
   var name 	= LTrim(document.getElementById('name').value);
  if(name=="") {
   alert('Please complete the "required" field.'); 
   document.myform.name.focus(); return false; 
   }

	  

 if(LTrim(document.myform.email.value)=='') {
   alert('Please complete the "required" field.'); 
   document.myform.email.focus(); return false; 
   }

    if(chkEmail(document.myform.email.value)==0) {
   alert('Please enter valid email address.'); 
   document.myform.email.focus(); return false; 
   }

   var pno 	= LTrim(document.getElementById('pno').value);
  if(pno=="") {
   alert('Please complete the "required" field.'); 
   document.myform.pno.focus(); return false; 
   }
   
  
   
    if(document.myform.code.value=='') {
	 alert('Please enter the string from the displayed image.'); 
	 document.myform.code.value='';
	 document.myform.code.focus(); 
	 return false; 
	 } // Now the Ajax CAPTCHA validation
   checkcode(document.myform.code.value); 
   return false; } 
   