	function deleteBlanks(entry) {
		var len = entry.length ;
		var foundBlank = 1;
		while(foundBlank == 1 && len > 0) {
			var indx = entry.indexOf(" ");
			if(indx == -1) 
				foundBlank = 0 ;
			else
				entry = entry.substring(0,indx) + entry.substring(indx+1,len);
			len = entry.length;
		}
		return entry;
	 }
	
	 function isEmpty(val,valName) {
		var retVal = true;
		
		if (!deleteBlanks(val.value) || val.value == "Enter Your Email") {
			alert(valName + " is required");
			val.focus();
			retVal = false;
		}
		return retVal;
	 }

	//****************************************************************************
	// Function To Check for valid email address and does it contain Any Special 
	//	Characters or Not.
	//****************************************************************************
	function emailCheck(emailStr) {
		var retVal = false;
		femailStr= emailStr;
		emailStr = emailStr.value;
	
		/* The following pattern is used to check if the entered e-mail address
		   fits the user@domain format.  It also is used to separate the username
		   from the domain. */
		var emailPat=/^(.+)@(.+)$/
		
		/* The following string represents the pattern for matching all special
		   characters.  We don't want to allow special characters in the address. 
		   These characters include ( ) < > @ , ; : \ " . [ ]    */
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]$!%^()+|=~*&#?/'{}`"
		
		/* The following string represents the range of characters allowed in a 
		   username or domainname.  It really states which chars aren't allowed. */
		var validChars="\[^\\s" + specialChars + "\]"
		
		/* The following pattern applies if the "user" is a quoted string (in
		   which case, there are no rules about which characters are allowed
		   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
		   is a legal e-mail address. */
		var quotedUser="(\"[^\"]*\")"
		
		/* The following pattern applies for domains that are IP addresses,
		   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
		   e-mail address. NOTE: The square brackets are required. */
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		
		/* The following string represents an atom (basically a series of
		   non-special characters.) */
		var atom=validChars + '+'
		
		/* The following string represents one word in the typical username.
		   For example, in john.doe@somewhere.com, john and doe are words.
		   Basically, a word is either an atom or quoted string. */
		var word="(" + atom + "|" + quotedUser + ")"
		
		// The following pattern describes the structure of the user
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		
		/* The following pattern describes the structure of a normal symbolic
		   domain, as opposed to ipDomainPat, shown above. */
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		
		/* Finally, let's start trying to figure out if the supplied address is
		   valid.Begin with the coarse pattern to simply break up user@domain into
		   different pieces that are easy to analyze. */
		var matchArray=emailStr.match(emailPat)
		while(true) {
			if (matchArray==null) {			
		  		
				/* Too many/few @'s or something; basically, this address doesn't
			 	even fit the general mould of a valid e-mail address. */
				alert("Invalid E-mail.")
				femailStr.focus();
				break;
			}
	
			var user=matchArray[1]
			var domain=matchArray[2]
	
			// See if "user" is valid 
			if (user.match(userPat)==null) {
			
				// user is not valid
				alert("Invalid E-mail. The email address doesn't seem to be valid.")
				femailStr.focus();
				break;
			}
	
			/* if the e-mail address is at an IP address (as opposed to a symbolic
		  		host name) make sure the IP address is valid. */
			var IPArray=domain.match(ipDomainPat)							   
			if (IPArray!=null) {
					
				// this is an IP address
				for (var i=1;i<=4;i++) {
					if (IPArray[i]>255) {
						alert("Invalid E-mail. Destination IP address is invalid!")
						return false;
					}	
				}			
				return true;		
			}									
		
			// Domain is symbolic name		
			var domainArray=domain.match(domainPat)
			if (domainArray==null) {		
				alert("Invalid E-mail. The domain name doesn't seem to be valid.")
				femailStr.focus();
				break;
			}
	
			/* domain name seems valid, but now make sure that it ends in a
		   three-letter word (like com, edu, gov) or a two-letter word,
		   representing country (uk, nl), and that there's a hostname preceding 
		   the domain or country. */
			/* Now we need to break up the domain to get a count of how many atoms
		   it consists of. */
			var atomPat=new RegExp(atom,"g")	
			var domArr=domain.match(atomPat)	
			var len=domArr.length
			if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {			
			   
				// the address must end in a two letter or three letter word.			
			   alert("Invalid E-mail. The E-mail must end in a three-letter domain, or two letter country.")
		   	femailStr.focus();
		      break;
		   }
	
			// Make sure there's a host name preceding the domain.	
			if (len < 2) {	
			   var errStr="Invalid E-mail. This address is missing a hostname!"
			   alert(errStr)
				femailStr.focus();
			   break;
			}			
		   retVal = true;
		   break;		   
		}		  		
	   
		// If we've gotten this far, everything's valid!	
		return retVal;
	}
		
	//  End -->	
	
	function validate() {
		var retVal = false;
		
		while(true) {
			if(!isEmpty(document.contact.submitemail,"Email")) {
				break;
			}
			
			if (deleteBlanks(document.contact.submitemail.value)) {
				if(!emailCheck(document.contact.submitemail)) {
					break;
				}
			}
	
			if (document.contact.submitemail.value != deleteBlanks(document.contact.submitemail.value)) {
				if (confirm("The spaces in Email will be removed")) {
					document.contact.submitemail.value =  deleteBlanks(document.contact.submitemail.value);
				}
				document.contact.submitemail.focus();
				document.contact.submitemail.select();
				break;
			}
			retVal = true;
			break;
		}
		return retVal;
	}