function dummyFill()
{
	document.FrontPage_Form1.FirstName.value = "TestYCFirst";
	document.FrontPage_Form1.LastName.value = "TestYCLast";
	document.FrontPage_Form1.Street.value = "123 YCTest";
	document.FrontPage_Form1.City.value = "Boulder";
	document.FrontPage_Form1.ZipCode.value = "12345";
	document.FrontPage_Form1.HomePhone.value = "303-222-3333";
	document.FrontPage_Form1.NTRPrating.selectedIndex = 1;
	document.FrontPage_Form1.Email.value = "yeidachang2002@yahoo.com";
	document.FrontPage_Form1.NotVolunteer.checked = true;
}
// blank trim function
function trim(s){
	s = s.replace(/^\s*/,'').replace(/\s*$/, '');
	return s;
} 

// email is required
function checkEmailFields()
{
	var email = document.FrontPage_Form1.Email.value;
	var emailTrim = trim(email);
	if (emailTrim == ""){
		alert("Please enter a valid e-mail address.");
		document.FrontPage_Form1.Email.focus();
		return false;
	}
	return true;
}

// check for 303-555-1234 format
function checkPhoneFormat()
{
	var homePhone = document.FrontPage_Form1.HomePhone.value;
	if (homePhone.length == 0)
		return true;
	var charCode, i;
	
	for (i=0;i<12;i++){
		charCode = homePhone.charCodeAt(i);
		if ( (i==3) || (i== 7)) {
			if (charCode != 45){
				alert("Please enter home phone # in 303-555-1234 format");
				return false;
			}
		} else if ((charCode < 48) || (charCode > 57)){
			alert("Please enter home phone # in 303-555-1234 format");
			return false;
		}
	}
	return true;
}


// if family member first name is entered, check that a family memberhip type was selected and email was entered
function checkFamilyFields()
{
    //alert("check Family fields");
	var index = document.FrontPage_Form1.MembershipType.selectedIndex;
	var memType = document.FrontPage_Form1.MembershipType.options[index].value;

	var fam2First = document.FrontPage_Form1.FamilyMember2FirstName.value;
	var fam3First = document.FrontPage_Form1.FamilyMember3FirstName.value;
	var fam4First = document.FrontPage_Form1.FamilyMember4FirstName.value;
	var fam5First = document.FrontPage_Form1.FamilyMember5FirstName.value;
	
	var fam2Trim = trim(fam2First);
	var fam3Trim = trim(fam3First);
	var fam4Trim = trim(fam4First);
	var fam5Trim = trim(fam5First);

	//alert("fam2First=" + fam2First + "fam2Trim=" + fam2Trim);
		
	if ( (fam2Trim.length > 0) || (fam3Trim.length>0) || (fam4Trim.length>0) || (fam5Trim.length>0)){
	     //alert("fam2 member entered");
	     
	     if  (!(memType == "f") && !(memType == "sf")){
   			alert("Please select a Family or Senior Couple Membership \n if you want to enter family members");
    		return false;
    	}
    	
    }
/* not checking for email
	if ( fam2Trim.length > 0)
	{
		// email must be provided
		var fam2Email = document.FrontPage_Form1.FamilyMember2Email.value;
		var fam2EmailTrim = trim(fam2Email);
		
		if (fam2EmailTrim == "")
		{
			alert("Please enter a valid e-mail address for FamilyMember#2.");
			document.FrontPage_Form1.FamilyMember2Email.focus();
			return false;
		}
	}
	if ( fam3Trim.length > 0)
	{
		var fam3Email = document.FrontPage_Form1.FamilyMember3Email.value;
		var fam3EmailTrim = trim(fam3Email);
		if (fam3EmailTrim == "")
		{
			alert("Please enter a valid e-mail address for FamilyMember#3");
			document.FrontPage_Form1.FamilyMember3Email.focus();
			return false;
		}
	}
	if ( fam4Trim.length > 0)
	{
		var fam4Email = document.FrontPage_Form1.FamilyMember4Email.value;
		var fam4EmailTrim = trim(fam4Email);
		if (fam4EmailTrim == "")
		{
			alert("Please enter a valid e-mail address for FamilyMember#4.");
			document.FrontPage_Form1.FamilyMember4Email.focus();
			return false;
		}
	}
	if ( fam5Trim.length > 0)
	{	
		var fam5Email = document.FrontPage_Form1.FamilyMember5Email.value;
		var fam5EmailTrim = trim(fam5Email);
		if (fam5EmailTrim == "")
		{
			alert("Please enter a valid e-mail address for FamilyMember#5.");
			document.FrontPage_Form1.FamilyMember5Email.focus();
			return false;
		}
	}
*/
    return true;
}
function checkVolunteerFields()
{
	// force a volunteer field to be checked (even if it is Not to volunteer)
	if (
		(document.FrontPage_Form1.VLTLiaisonCity.checked == false) &&
		(document.FrontPage_Form1.VLTNewsletter.checked == false) &&
		(document.FrontPage_Form1.VLTLadder.checked == false) &&		
		(document.FrontPage_Form1.VLTLiaisonOrgs.checked == false) &&
		(document.FrontPage_Form1.VLTMarathon.checked == false) &&
		(document.FrontPage_Form1.VLTBoard.checked == false) &&
		(document.FrontPage_Form1.VLTRecycle.checked == false) &&
		
		(document.FrontPage_Form1.VLTDropin.checked == false) &&
		(document.FrontPage_Form1.VLTSocials.checked == false) &&
		(document.FrontPage_Form1.VLTTournaments.checked == false) &&
		(document.FrontPage_Form1.VLTWebsite.checked == false) &&
		(document.FrontPage_Form1.VLTOther.checked == false) &&
		(document.FrontPage_Form1.NotVolunteer.checked == false))
	{
		alert("Please select a volunteer field.");
		document.FrontPage_Form1.NotVolunteer.focus();
		return false;
	}
	else
		return true;
}
function checkPublishFields()
{
	// force a publish field to be checked (even if it is Not to publish)
	var publishRadio = document.FrontPage_Form1.PublishRadio;
	var radioLength = publishRadio.length;
	
	for(var i = 0; i < radioLength; i++) {
		if(publishRadio[i].checked) {
			return true;
		}
	}
	alert("Please indicate if you wish to have your information published.");
	
	return false;
}

function checkRealPersonField()
{
	if (trim(document.FrontPage_Form1.RealPerson.value) == "")
	{
		document.FrontPage_Form1.RealPerson.focus();
		alert("We apologize for this simple test to try to prevent automated bot submittals.\nPlease enter the sum of  2+2.\n");
		return false;
	}
	return true;
}

function handleMembershipType(membershipSelect)
{
	// if a family memebership, show family member info section of form
	if (membershipSelect.selectedIndex == 1 ||
		membershipSelect.selectedIndex == 4) 
	{
		document.getElementById("FamilySection").style.display = "block";
	}
	else
	{
		document.getElementById("FamilySection").style.display = "none";
	}
}
function handleVolunteerCheckbox(checkbox)
{
	if (checkbox.checked)
	{
		if (checkbox.name != "NotVolunteer")
		{
			document.FrontPage_Form1.NotVolunteer.checked = false;
		}
		else 
		{
			document.FrontPage_Form1.VLTLiaisonCity.checked = false;
			document.FrontPage_Form1.VLTNewsletter.checked = false;
			document.FrontPage_Form1.VLTLadder.checked = false;
			document.FrontPage_Form1.VLTLiaisonOrgs.checked = false;
			document.FrontPage_Form1.VLTMarathon.checked = false;
	        document.FrontPage_Form1.VLTBoard.checked = false;
			document.FrontPage_Form1.VLTRecycle.checked = false;
			
			document.FrontPage_Form1.VLTDropin.checked = false;
			document.FrontPage_Form1.VLTSocials.checked = false;
			document.FrontPage_Form1.VLTTournaments.checked = false;
			document.FrontPage_Form1.VLTWebsite.checked = false;
			document.FrontPage_Form1.VLTOther.checked = false;
			
		}
	}
}
function checkPaymentFields()
{
	var paymentAmtField = document.getElementById("PaymentAmount");
	if (paymentAmtField == undefined)
		return true;
		
	var paymentAmt = paymentAmtField.value;
	if (paymentAmt == "")
	{
		alert("Please enter the Payment Amount.");
		document.getElementById("PaymentAmount").focus();
		return false;
	}
	
	var checkOK = "0123456789.";
	var checkStr = paymentAmt;
    var allValid = true;
  	for (i = 0;  i < checkStr.length;  i++)
  	{
    	ch = checkStr.charAt(i);
    	for (j = 0;  j < checkOK.length;  j++)
      		if (ch == checkOK.charAt(j))
        		break;
    	if (j == checkOK.length)
    	{
      		allValid = false;
      		break;
    	}
  	}
  	if (!allValid)
  	{
    	alert("Please enter a dollar amount in the \"Payment Amount\" field.");
    	paymentAmtField.focus();
    	return (false);
  	} 
  
 
	if (trim(document.getElementById("PaymentMethod").value) == "")
	{
		alert("Please enter the Payment Method.");
		document.getElementById("PaymentMethod").focus();
		return false;
	}
	return true;
}
function doOtherValidations()
{
	// not requiring email
	//if (!checkEmailFields()){
	//	return false;
	//}

	if (!checkPhoneFormat()){
		return false;
	}
	
	if (!checkFamilyFields()){
		return false;
	}
///// admin form only
	if (!checkPaymentFields()){
		return false;
	}
/////
	if (!checkVolunteerFields()){
		return false;
	}
	if (!checkPublishFields()){
		return false;
	}
	
	
	return true;
}
function showCheckFeeInfo(show)
{
	var divElem = document.getElementById("checkFeeInfo");
	if (show)
		divElem.style.display = "block";
	else
		divElem.style.display = "none";
}


function FrontPage_Form1_Validator(theForm)
{
  if (theForm.FirstName.value == "")
  {
    alert("Please enter a value for the \"FirstName\" field.");
    theForm.FirstName.focus();
    return (false);
  }

  if (theForm.FirstName.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"FirstName\" field.");
    theForm.FirstName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ- \t\r\n\f";
  var checkStr = theForm.FirstName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter, whitespace and \"-\" characters in the \"FirstName\" field.");
    theForm.FirstName.focus();
    return (false);
  }

  if (theForm.LastName.value == "")
  {
    alert("Please enter a value for the \"LastName\" field.");
    theForm.LastName.focus();
    return (false);
  }

  if (theForm.LastName.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"LastName\" field.");
    theForm.LastName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.LastName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"LastName\" field.");
    theForm.LastName.focus();
    return (false);
  }

  if (theForm.Street.value == "")
  {
    alert("Please enter a value for the \"Street\" field.");
    theForm.Street.focus();
    return (false);
  }

  if (theForm.Street.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"Street\" field.");
    theForm.Street.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789--.# \t\r\n\f";
  var checkStr = theForm.Street.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter, digit, whitespace and \"-.#\" characters in the \"Street\" field.");
    theForm.Street.focus();
    return (false);
  }

  if (theForm.City.value == "")
  {
    alert("Please enter a value for the \"City\" field.");
    theForm.City.focus();
    return (false);
  }

  if (theForm.City.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"City\" field.");
    theForm.City.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ- .";
  var checkStr = theForm.City.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"- .\" characters in the \"City\" field.");
    theForm.City.focus();
    return (false);
  }

  if (theForm.State.value == "")
  {
    alert("Please enter a value for the \"State\" field.");
    theForm.State.focus();
    return (false);
  }

  if (theForm.State.value.length < 2)
  {
    alert("Please enter at least 2 characters in the \"State\" field.");
    theForm.State.focus();
    return (false);
  }

  if (theForm.State.value.length > 2)
  {
    alert("Please enter at most 2 characters in the \"State\" field.");
    theForm.State.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ";
  var checkStr = theForm.State.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter characters in the \"State\" field.");
    theForm.State.focus();
    return (false);
  }

  if (theForm.ZipCode.value == "")
  {
    alert("Please enter a value for the \"ZipCode\" field.");
    theForm.ZipCode.focus();
    return (false);
  }

  if (theForm.ZipCode.value.length < 5)
  {
    alert("Please enter at least 5 characters in the \"ZipCode\" field.");
    theForm.ZipCode.focus();
    return (false);
  }

  if (theForm.ZipCode.value.length > 10)
  {
    alert("Please enter at most 10 characters in the \"ZipCode\" field.");
    theForm.ZipCode.focus();
    return (false);
  }

  var checkOK = "0123456789--";
  var checkStr = theForm.ZipCode.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only digit and \"-\" characters in the \"ZipCode\" field.");
    theForm.ZipCode.focus();
    return (false);
  }

  if (theForm.HomePhone.value == "")
  {
    alert("Please enter a value for the \"HomePhone\" field.");
    theForm.HomePhone.focus();
    return (false);
  }

  if (theForm.HomePhone.value.length < 12)
  {
    alert("Please enter at least 12 characters in the \"HomePhone\" field.");
    theForm.HomePhone.focus();
    return (false);
  }

  if (theForm.HomePhone.value.length > 12)
  {
    alert("Please enter at most 12 characters in the \"HomePhone\" field.");
    theForm.HomePhone.focus();
    return (false);
  }

  var checkOK = "0123456789--";
  var checkStr = theForm.HomePhone.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only digit and \"-\" characters in the \"HomePhone\" field.");
    theForm.HomePhone.focus();
    return (false);
  }

  if (theForm.NTRPrating.selectedIndex == 0)
  {
    alert("The first \"NTRP Rating\" option is not a valid selection.  Please choose one of the other options.");
    theForm.NTRPrating.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember2FirstName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember2FirstName\" field.");
    theForm.FamilyMember2FirstName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember3FirstName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember3FirstName\" field.");
    theForm.FamilyMember3FirstName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember2LastName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember2LastName\" field.");
    theForm.FamilyMember2LastName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember3LastName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember3LastName\" field.");
    theForm.FamilyMember3LastName.focus();
    return (false);
  }

  if (theForm.fam2HomePhone.value.length > 12)
  {
    alert("Please enter at most 12 characters in the \"fam2HomePhone\" field.");
    theForm.fam2HomePhone.focus();
    return (false);
  }

  var checkOK = "0123456789--";
  var checkStr = theForm.fam2HomePhone.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only digit and \"-\" characters in the \"fam2HomePhone\" field.");
    theForm.fam2HomePhone.focus();
    return (false);
  }

  if (theForm.fam3HomePhone.value.length > 12)
  {
    alert("Please enter at most 12 characters in the \"fam3HomePhone\" field.");
    theForm.fam3HomePhone.focus();
    return (false);
  }

  var checkOK = "0123456789--";
  var checkStr = theForm.fam3HomePhone.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only digit and \"-\" characters in the \"fam3HomePhone\" field.");
    theForm.fam3HomePhone.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember4FirstName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember4FirstName\" field.");
    theForm.FamilyMember4FirstName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember5FirstName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember5FirstName\" field.");
    theForm.FamilyMember5FirstName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember4LastName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember4LastName\" field.");
    theForm.FamilyMember4LastName.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ-";
  var checkStr = theForm.FamilyMember5LastName.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only letter and \"-\" characters in the \"FamilyMember5LastName\" field.");
    theForm.FamilyMember5LastName.focus();
    return (false);
  }

  if (theForm.fam4HomePhone.value.length > 12)
  {
    alert("Please enter at most 12 characters in the \"fam4HomePhone\" field.");
    theForm.fam4HomePhone.focus();
    return (false);
  }

  var checkOK = "0123456789--";
  var checkStr = theForm.fam4HomePhone.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only digit and \"-\" characters in the \"fam4HomePhone\" field.");
    theForm.fam4HomePhone.focus();
    return (false);
  }

  if (theForm.fam5HomePhone.value.length > 12)
  {
    alert("Please enter at most 12 characters in the \"fam5HomePhone\" field.");
    theForm.fam5HomePhone.focus();
    return (false);
  }

  var checkOK = "0123456789--";
  var checkStr = theForm.fam5HomePhone.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Please enter only digit and \"-\" characters in the \"fam5HomePhone\" field.");
    theForm.fam5HomePhone.focus();
    return (false);
  }
  
  return doOtherValidations();
  
}

