
function validateEmail(vField, vMessage, vType, vEdits) {
// Author:  Mark Thompson, VW&R.
// Purpose: Return false and send an alert if a field is null or contains all spaces 
// Subroutines used:  fieldNull, getFieldValue, alertBox, trim_blanks
 	// get trimmed version
	var emailaddress = trim_blanks(getFieldValue(vField, vType))
	var emailOK = false;

	if (vEdits != null) {
		if ( (vEdits.indexOf("nr") > -1) || (vEdits.indexOf("NR") > -1) ) { 
			if (emailaddress == "") {
		      		vField.value = "";
				return true;
			  }
		  }
	  }
	if (fieldNull(vField, vMessage, vType)) {
		return false;
	 }

	// check for valid characters

	// check for minimal length
	if (emailaddress.length < 6) {
		alertBox (vField, vMessage, vType);
		return false;
		 }
	var atcounter = 0;
	for (var j = 0; j < emailaddress.length; j++)  {
		var ch = emailaddress.substring(j, j+1);
		if  ((((ch < "a" ) || (ch > "z")) && ((ch < "A") || (ch > "Z")) && ((ch < "0") || (ch > "9"))) && ((ch != ".") && (ch != "@") && (ch != "_") && (ch != "-")))  {
			alertBox (vField, vMessage, vType);
			return false;
	  	 } else {
			if (ch == "@") {
				atcounter += 1;
				if (j == 0) {  //verify that first character is not an "@" sign.
				alertBox (vField, vMessage, vType);
				return false;
				}
			 }
	  	 } 
	 }
	if (atcounter != 1) {  // verify that their is only one "@" sign.
		alertBox (vField, vMessage, vType);
		return false;
		 }

	// check suffix
	//   1.  check if 2, 3, 4, or 6 character suffix
	var dot2 = emailaddress.substring(emailaddress.length - 3, emailaddress.length - 2);
	var dot3 = emailaddress.substring(emailaddress.length - 4, emailaddress.length - 3);
	var dot4 = emailaddress.substring(emailaddress.length - 5, emailaddress.length - 4);
	var dot6 = emailaddress.substring(emailaddress.length - 7, emailaddress.length - 6);
	if ((dot2 != ".") && (dot3 != ".") && (dot4 != ".") && (dot6 != ".")) {
		alertBox (vField, vMessage, vType);
		return false;
		 }
	
	if ( dot2 = "." ) {
   	emailOK = true;   
}

	
	if ((dot3 == ".") && (emailOK == false)) {
		var suffix3 = emailaddress.substring(emailaddress.length - 3, emailaddress.length);
		switch (suffix3.toLowerCase())  {
			case "com" :
				emailOK = true;
				break;
			case "edu" :
				emailOK = true;
				break;
			case "mil" :
				emailOK = true;
				break;
			case "gov" :
				emailOK = true;
				break;
			case "org" :
				emailOK = true;
				break;
			case "net" :
				emailOK = true;
				break;
			case "biz" :
				emailOK = true;
				break;
			case "pro" :
				emailOK = true;
				break;
			case "int" :
				emailOK = true;
				break;
			default :
				alertBox (vField, vMessage, vType);
				return false;
			 }
		 }
	if ((dot4 == ".") && (emailOK == false)) {
		var suffix4 = emailaddress.substring(emailaddress.length - 4, emailaddress.length);
		switch (suffix4.toLowerCase())  {
			case "info" :
				emailOK = true;
				break;
			case "aero" :
				emailOK = true;
				break;
			case "coop" :
				emailOK = true;
				break;
			case "name" :
				emailOK = true;
				break;
			default :
				alertBox (vField, vMessage, vType);
				return false;
			 }
		 }
	if ((dot6 == ".") && (emailOK == false)) {
		var suffix6 = emailaddress.substring(emailaddress.length - 6, emailaddress.length);
		switch (suffix6.toLowerCase())  {
			case "museum" :
				emailOK = true;
				break;
			default :
				alertBox (vField, vMessage, vType);
				return false;
			 }
		 }
	return emailOK; 
	}
function ValidateEmail(vField, vMessage, vType, vEdits) {
	return validateEmail(vField, vMessage, vType, vEdits); 
}