function check_form ()
{
  valid = true; // assume valid

  if (document.lg.fname.value.length == 0)
     { valid = false; alert('First Name Must be Filled In!');
      document.lg.fname.focus();return false; }
  if (document.lg.lname.value.length == 0)
     { valid = false; alert('Last Name Must be Filled In!');
      document.lg.lname.focus();return false; }
  if (!document.lg.gender[0].checked && 
	    !document.lg.gender[1].checked)
     { valid = false; alert('Gender Must be Checked!');
      document.lg.gender[0].focus();return false; }

	if (!document.lg.languages[0].checked &&
	    !document.lg.languages[1].checked &&
			!document.lg.languages[2].checked)
	 { valid = false; alert(' I Would Like to Attend a Life Group in: \n(Language: English / Spanish / Portuguese) Must be Filled In!');
		document.lg.languages[0].focus();return false; }

	if (document.lg.address.value.length == 0)
	  { valid = false; alert('Address Must be Filled In!');
		document.lg.address.focus();return false; }
	if (document.lg.city.value.length == 0)
	 { valid = false; alert('City Must be Filled In!');
		document.lg.city.focus();return false; }
//	if (document.lg.state.selectedIndex == false )
	if (document.lg.state.value.length == 0)
	 { valid = false; alert('State Must be Filled In!');
		document.lg.state.focus();return false; }
	if (document.lg.zip.value.length == 0)
	 { valid = false; alert('Zip Code Must be Filled In!');
		document.lg.zip.focus();return false; }

	if (document.lg.phone_number1.value.length == 0)
	 { valid = false; alert('Phone Number (1) Must be Filled In!');
		document.lg.phone_number1.focus();return false; }
  if (!document.lg.phone_type1[0].checked && 
	    !document.lg.phone_type1[1].checked &&
	    !document.lg.phone_type1[2].checked)
     { valid = false; alert('Phone Contact Type (#1): (Home, Cell or Work) Must be Checked!');
      document.lg.phone_type1[0].focus();return false; }

	if (document.lg.btime_hh1.selectedIndex == false )
	 { valid = false; alert('Best Contact Time (#1) (Hour) Must be Filled In!');
		 document.lg.btime_hh1.focus();return false; }
	if (document.lg.btime_mm1.selectedIndex == false )
	 { valid = false; alert('Best Contact Time (#1) (Minutes) Must be Filled In!');
		document.lg.btime_mm1.focus();return false; }
  if (!document.lg.btime_ap1[0].checked && 
	    !document.lg.btime_ap1[1].checked)
	 { valid = false; alert('Best Contact Time (#1) (AM / PM) Must be Checked!');
		document.lg.btime_ap1[0].focus();return false; }

	if (document.lg.phone_number2.value.length > 0){
			if (!document.lg.phone_type2[0].checked && 
					!document.lg.phone_type2[1].checked &&
					!document.lg.phone_type2[2].checked)
				 { valid = false; alert('Phone Contact Type (#2): (Home, Cell or Work) Must be Checked!');
					document.lg.phone_type2[0].focus();return false; }

			if (document.lg.btime_hh2.selectedIndex == false )
			 { valid = false; alert('Best Contact Time (#2) (Hour) Must be Filled In!');
				 document.lg.btime_hh2.focus();return false; }
			if (document.lg.btime_mm2.selectedIndex == false )
			 { valid = false; alert('Best Contact Time (#2) (Minutes) Must be Filled In!');
				document.lg.btime_mm2.focus();return false; }
			if (!document.lg.btime_ap2[0].checked && 
					!document.lg.btime_ap2[1].checked)
			 { valid = false; alert('Best Contact Time (#2) (AM / PM) Must be Checked!');
				document.lg.btime_ap2[0].focus();return false; }
	}
	
	if (document.lg.email.value.length == 0)
	 { valid = false; alert('E-mail address Must be Filled In!');
		document.lg.email.focus();return false; }

  if (document.lg.email.value.length > 0)
	 {valid = VerifyEmailAddress();}

  if (valid)
        {
      alert("Please be patient while your application is processed. \n" +
				"Processing can take up to few minutes depending on network traffic.\n\n" + 
				"DO NOT CLICK SUBMIT AGAIN, it can result in a duplicate information." +
				"\n\n Click OK to Continue.");

			document.lg.gender_m.value = "";
			document.lg.gender_f.value = "";
			
			document.lg.phone_type1h.value = "";
			document.lg.phone_type1c.value = "";
			document.lg.phone_type1w.value = "";
			document.lg.btime_am1.value = "";
			document.lg.btime_pm1.value = "";

			document.lg.phone_type2h.value = "";
			document.lg.phone_type2c.value = "";
			document.lg.phone_type2w.value = "";
			document.lg.btime_am2.value = "";
			document.lg.btime_pm2.value = "";

			document.lg.language_en.value = "";
			document.lg.language_sp.value = "";
			document.lg.language_po.value = "";

			if (document.lg.gender[0].checked == true){document.lg.gender_m.value = "checked";}
			if (document.lg.gender[1].checked == true){document.lg.gender_f.value = "checked";}

			if (document.lg.phone_type1[0].checked == true){document.lg.phone_type1h.value = "checked";}
			if (document.lg.phone_type1[1].checked == true){document.lg.phone_type1c.value = "checked";}
			if (document.lg.phone_type1[2].checked == true){document.lg.phone_type1w.value = "checked";}
			if (document.lg.btime_ap1[0].checked == true){document.lg.btime_am1.value = "checked";}
			if (document.lg.btime_ap1[1].checked == true){document.lg.btime_pm1.value = "checked";}

			if (document.lg.phone_type2[0].checked == true){document.lg.phone_type2h.value = "checked";}
			if (document.lg.phone_type2[1].checked == true){document.lg.phone_type2c.value = "checked";}
			if (document.lg.phone_type2[2].checked == true){document.lg.phone_type2w.value = "checked";}
			if (document.lg.btime_ap2[0].checked == true){document.lg.btime_am2.value = "checked";}
			if (document.lg.btime_ap2[1].checked == true){document.lg.btime_pm2.value = "checked";}

			if (document.lg.languages[0].checked == true){document.lg.language_en.value = "checked";}
			if (document.lg.languages[1].checked == true){document.lg.language_sp.value = "checked";}
			if (document.lg.languages[2].checked == true){document.lg.language_po.value = "checked";}
		
			document.lg.submit();
      return true;

        }

	 document.lg.email.focus();
   return false;
}


function VerifyEmailAddress()
{
  var Reason  = "Your Email Address appears incorrect.  \n\nPlease check. \n\nReason:"
  var Success = "Email Address entered Correctly!"
  var checkStr = document.lg.email.value;
  var ix = (checkStr.length - 4)
  var RC = true;
  var x = AtSignValid = DoublePeriod = PeriodValid = SpaceValid = ExtValid = RL = 0;

  for (i = 0;  i < checkStr.length;  i++)
  {
    if (checkStr.charAt(i) == '@')
      AtSignValid++;
    else if (checkStr.charAt(i) == '.')
    {
      if (x == (i-1))
        DoublePeriod++;
      else
      {
        x = i;
        PeriodValid++;
      }
    }
    else if (checkStr.charAt(i) == ' ')
      SpaceValid ++;
  }
  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(".biz", ix) > -1)
    ExtValid++;
  else if (checkStr.indexOf(".org", ix) > -1)
    ExtValid++;
  else if (checkStr.indexOf(".gov", ix) > -1)
    ExtValid++;
  else if (checkStr.indexOf(".mil", ix) > -1)
    ExtValid++;
  else if (checkStr.indexOf(".cc", ix) > -1)
    ExtValid++;
  RL = Reason.length;
  if (AtSignValid != 1)
    Reason += "\nOnly one '@' allowed, " + AtSignValid + " found.";
  if (PeriodValid == 0)
    Reason += "\nAddress must contain at least one period.";
  if (SpaceValid > 0)
    Reason += "\nNo Spaces allowed. Address contains " + SpaceValid + " space";
  if (SpaceValid > 1)
    Reason += "s.";
  if (checkStr.length > 120)
    Reason += "\nPlease limit the Email Address to 120 characters.";

  if (RL != Reason.length)
  {
 alert(Reason);
 return false;
  }
  return true;
}
