function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		
		
 	var checkOK = "~`!#$%^&*()=+|\}{][',?";
  	var checkStr = str;
  	var allValid = true;
   
   var s=0;
		for (i = 0;  i < checkStr.length;  i++)
  		{
			ch = checkStr.charAt(i);
    			if (ch==dot)
    			{
    			s=s+1
    			if (s==1)
    			   var first_dot=i;
    			if (s==2)
    			   var second_dot=i;    
    			}
    			
    			for (j = 0;  j < checkOK.length;  j++)
		   			if (ch == checkOK.charAt(j))
       				    allValid = false;
       				
    				if (j == 54 )
    				{
      				allValid = false;
     				 break;
   					}
 		 }

		if (!allValid)
        {
        alert("Invalid E-mail ID")
        return false
        }
       	
		if (str.indexOf(at)==-1)
		{
		   alert("Invalid E-mail ID")
		   return false
		}
		if (s>3)
		{
		   alert("Invalid E-mail ID")
		   return false
		}


		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}
		//alert(str.indexOf(dot)+'+++'+ (str.length-2))
		if (str.indexOf(dot)>=(str.length-2))
		{
		  alert("Invalid E-mail ID")
		    return false
		}


		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		if (s>1)
		{
         	
          if (first_dot<str.indexOf(at))
          {
          
          if ((first_dot<str.indexOf(at)) && (second_dot>str.indexOf(at)))
		 	{
		     return true
		 	}
         	else
         	{
         	alert("wrongInvalid E-mail ID")
          	return false
         	}
		}}

 		 return true					
	}



		<!--
		function validateform()
		{
			if (document.form1.description.value == "")
			{
				alert("Please Enter Your Message");
				return false;
			}
			if (document.form1.description.value.length > 200 ) {
				alert("Please Enter Your Message less than 200 characters");
				return false;
			}
		
		}
		
		
<!-- Dynamic Version by: Nannette Thacker -->
<!-- http://www.shiningstar.net -->
<!-- Original by :  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->
<!-- Use one function for multiple text areas on a page -->
<!-- Limit the number of characters per textarea -->
<!-- Begin
function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}
	
		//-->

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 validation()
{
if(document.form1.title.value=="")
{
alert("Please enter your title");
document.form1.title.focus();
return false;
}
if(document.form1.url.value=="http://")
{
alert("Please enter your url");
document.form1.url.focus();
return false;
}
if(document.form1.category.selectedIndex==0)
{
alert("Please Select a category");
document.form1.category.focus();
return false;
}



var emailID=document.form1.email
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter your Email ID")
		emailID.focus();
		return false;
	}
	if (echeck(emailID.value)==false){
		//emailID.value=""
		emailID.select();
		return false
	}
 
if(document.form1.res_link.value==0)
{
alert("Please enter Reciprocal Link page");
document.form1.res_link.focus();
return false;
}
return true;
}

