function echeck(str) 
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at) == -1){
	   return false
	}

	if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr){
	   return false
	}

	if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1)) != -1){
		return false
	 }

	 if (str.substring(lat-1, lat) == dot || str.substring(lat + 1, lat + 2) == dot){
		return false
	 }

	 if (str.indexOf(dot,(lat + 2)) == -1){
		return false
	 }
	
	 if (str.indexOf(" ") != -1){
		return false
	 }

	 return true					
}

function validateExists(field)
{
	exec = 'document.'+field+'.value'
	val = eval(exec)
	if(val.length  ==  0) 
	{
		return false;
	}
	return true;
}

function validateForm()
{
	var emailID = document.mailinglist.email
	var fname =document.mailinglist.firstname
	var lname=document.mailinglist.lastname
	
	var hasfname = validateExists("mailinglist.firstname")

	if((hasfname == false) || (validateExists("mailinglist.lastname") == false)) 
	{
	   alert("Please provide your first and last name and your email address.")
		 if (hasfname) 
		 {
			 lname.focus();
			 return false;
		 }
		 fname.focus();
		 return false;
	}

	if ((emailID.value == null) || (emailID.value == ""))
	{
		alert("Please enter your email address.")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value) == false)
	{		
		alert("The email address is not valid. Please re-enter your email address.")
		emailID.focus()
		return false
	}
	
	return true
 }
 