function emailCheck(strEmail)
{
	/*
	email check
	returns a true for good email
	and false for a bad one
	*/

	/* partern for emails */
	var emailPat=/^(.+)@(.+)$/
	/* characters that cannot be in the email
	 ( ) < > @ , ; : \ " . [ ] */
	var specChar="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]=?*&!#$%\\+\\/\\'"
	/* chars not allowed */
	var invalidChars="\[^\\s" + specChar + "\]"
	var quotedUser="(\"[^\"]*\")"
	var atom=invalidChars + '+'
	//var atomDom=invalidChars + '+\\_-'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$")

	/* compare here with the first patern */
	var matchArray = strEmail.match(emailPat)
	if (matchArray==null) {
		return false;
	}
	
	var user=matchArray[1];
	var domain=matchArray[2];
	
	// first check to see if the user part of the email address is valid.
	//alert(user.match(userPat));
	if (user.match(userPat)==null) {
		return false;
	}
	
	var domainArray=domain.match(domainPat);
	//alert(domainArray);
	if (domainArray==null) {
		return false;		
	}
	
	/* if all passes.. we now need to break apart the domain.. to check for valid domain addresses	 */
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	//alert(atomPat + " " + domArr + " " + len);
	if (domArr[domArr.length-1].length < 2 || domArr[domArr.length-1].length > 4) {
		// address must end in 2 or 4 letters.
		return false;		
	}

	if (len < 2) {
		return false;
		
	}

	return true;

}