function VerifyEmailAddress(EmailForm, EmailField, EmailName){
  var Reason  = 'There appears to be an error with the email address you entered in the ' + EmailName + ' field.  Please click OK to close this message and try again.\n\nReason:';
  var Success = "Email Address entered Correctly!";
  var frm = eval('document.' + EmailForm);
  var checkStr = eval('frm.' + EmailField + '.value');
  
  // allow formatted email address (with display name and email value) - 6/3/09 Cindi V 
  // -------------------------------------------------------------------------------------
  // check for "<" symbol to see if it's a formatted email address
  if(checkStr.indexOf("<") > -1)
  {
  	// formatted email address with display name
	unparsedText = checkStr;
	emailParts = unparsedText.split('<');
	if (emailParts.length == 2)
	{
		// get just the email address by getting the last value in the array and removing the ending ">" character
		emailAddress = emailParts[1].replace(">", "");
		// now set the emailAddress to the string we want to check and continue with standard validation
		checkStr = emailAddress;
	}
  }
  // -------------------------------------------------------------------------------------
  
  if (checkStr == '') { return true; }  
  var ix = (checkStr.length - 4);
  var RC = true;
  var thisChar = '';
  var prevChar = '';
  //var as = '';
  var x = AtSignValid = DoublePeriod = PeriodValid = SpaceValid = ExtValid = RL = atP = 0;
  for (i = 0;  i < checkStr.length;  i++)  { 
  	thisChar = checkStr.charAt(i);
  	//as = thisChar + ':' + i + ':' + x;
	if (checkStr.charAt(i) == '@')  
		AtSignValid++;    
	else if (checkStr.charAt(i) == '.')    {
    	if (x == (i-1) && x > 0)
			DoublePeriod++;
		else {
			x = i;
        	PeriodValid++;
			}
		if (i == 0) { DoublePeriod++; }
		if (prevChar == '@') { atP++; }
		}
	else if (checkStr.charAt(i) == ' ') SpaceValid ++;  
	prevChar = thisChar;
	}
	if (checkStr.indexOf(".com", ix) > -1)    ExtValid++;
	else if (checkStr.indexOf(".edu", ix) > -1)    ExtValid++;
  	else if (checkStr.indexOf(".net", ix) > -1)    ExtValid++;
  	else if (checkStr.indexOf(".org", ix) > -1)    ExtValid++;
  	else if (checkStr.indexOf(".gov", ix) > -1)    ExtValid++;
  	RL = Reason.length; 
	if (checkStr.charAt(0) == '@' || checkStr.charAt(0) == '.') Reason += "\Email address cannot begin with a '.' or '@'."; 
	if (AtSignValid != 1) Reason += "\nOnly one '@' allowed, " + AtSignValid + " found.";
  	if (PeriodValid == 0) Reason += "\nEmail address must contain at least one period.";
  	if (SpaceValid > 0)  Reason += "\nNo Spaces allowed in the email address value. Email address contains " + SpaceValid + " space";
  	if (SpaceValid > 1)    Reason += "s.";  
	if (atP > 0) Reason += "\nYou must have at least one character between the '@' symbol and the '.'.";
	if (DoublePeriod > 0)
    Reason += "\nAddress contains multiple periods in a row.";
  	//if (ExtValid == 0)
    //Reason += "\nInvalid Domain Suffix entered.\n(Valid: .com, .edu, .net, .org, .gov)";
  	//if (checkStr.length > 120)
    //Reason += "\nPlease limit the Email Address to 120 characters.";
  	if (RL != Reason.length)  {   
      alert(Reason);  
      var fld = eval('frm.' + EmailField);
      fld.focus();
	 fld.select();
	 RC = false;    
	 return RC;
	 }
  else    RC = true;  
  return(RC);
  }
