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.area_name.selectedIndex == 0 || 
		areas_Array[document.lg.area_name.selectedIndex][2] =='')
	 { valid = false; alert('Area Name (City) Must be Selected!');
		document.lg.area_name.focus();return false; }

	if (document.lg.month.value.length == 0)
	 { valid = false; alert('Month`s Report Must be Filled In!');
		document.lg.month.focus();return false; }

  if (!document.lg.meeting_day[0].checked && 
	    !document.lg.meeting_day[1].checked &&
	    !document.lg.meeting_day[2].checked &&
	    !document.lg.meeting_day[3].checked &&
	    !document.lg.meeting_day[4].checked &&
	    !document.lg.meeting_day[5].checked &&
	    !document.lg.meeting_day[6].checked)
     { valid = false; alert('Regular Meeting Day Must be Checked!');
      document.lg.meeting_day[0].focus();return false; }

	if (document.lg.mtime_hh.selectedIndex == false )
	 { valid = false; alert('Regular Meeting Time (Hour) Must be Filled In!');
		 document.lg.mtime_hh.focus();return false; }
	if (document.lg.mtime_mm.selectedIndex == false )
	 { valid = false; alert('Regular Meeting Time (Minutes) Must be Filled In!');
		document.lg.mtime_mm.focus();return false; }
  if (!document.lg.mtime_ap[0].checked && 
	    !document.lg.mtime_ap[1].checked)
	 { valid = false; alert('Regular Meeting Time (AM / PM) Must be Checked!');
		document.lg.mtime_ap[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_number.value.length == 0)
	 { valid = false; alert('Phone Number Must be Filled In!');
		document.lg.phone_number.focus();return false; }
  if (!document.lg.phone_type[0].checked && 
	    !document.lg.phone_type[1].checked &&
	    !document.lg.phone_type[2].checked)
     { valid = false; alert('Phone Contact Type (Home, Cell or Work) Must be Checked!');
      document.lg.phone_type[0].focus();return false; }

	if (document.lg.attendance.selectedIndex == false )
	 { valid = false; alert('Number in Attendance Must be Filled In!');
		document.lg.attendance.focus();return false; }
  if (!document.lg.functioning[0].checked && 
	    !document.lg.functioning[1].checked &&
	    !document.lg.functioning[2].checked)
     { valid = false; alert('How is this LIFE GROUP functioning (A), (B) OR (C) Must be Checked!');
      document.lg.functioning[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 report 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.new_life_group_y.value = "";
			document.lg.new_life_group_n.value = "";
			document.lg.life_group_change_y.value = "";
			document.lg.life_group_change_n.value = "";
			document.lg.meeting_day0.value = "";
			document.lg.meeting_day1.value = "";
			document.lg.meeting_day2.value = "";
			document.lg.meeting_day3.value = "";
			document.lg.meeting_day4.value = "";
			document.lg.meeting_day5.value = "";
			document.lg.meeting_day6.value = "";
			document.lg.mtime_am.value = "";
			document.lg.mtime_pm.value = "";
			document.lg.phone_typeh.value = "";
			document.lg.phone_typec.value = "";
			document.lg.phone_typew.value = "";
			document.lg.functioninga.value = "";
			document.lg.functioningb.value = "";
			document.lg.functioningc.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.new_life_group[0].checked == true){document.lg.new_life_group_y.value = "checked";}
			if (document.lg.new_life_group[1].checked == true){document.lg.new_life_group_n.value = "checked";}
			if (document.lg.life_group_change[0].checked == true){document.lg.life_group_change_y.value = "checked";}
			if (document.lg.life_group_change[1].checked == true){document.lg.life_group_change_n.value = "checked";}
			if (document.lg.meeting_day[0].checked == true){document.lg.meeting_day0.value = "checked";}
			if (document.lg.meeting_day[1].checked == true){document.lg.meeting_day1.value = "checked";}
			if (document.lg.meeting_day[2].checked == true){document.lg.meeting_day2.value = "checked";}
			if (document.lg.meeting_day[3].checked == true){document.lg.meeting_day3.value = "checked";}
			if (document.lg.meeting_day[4].checked == true){document.lg.meeting_day4.value = "checked";}
			if (document.lg.meeting_day[5].checked == true){document.lg.meeting_day5.value = "checked";}
			if (document.lg.meeting_day[6].checked == true){document.lg.meeting_day6.value = "checked";}
			if (document.lg.mtime_ap[0].checked == true){document.lg.mtime_am.value = "checked";}
			if (document.lg.mtime_ap[1].checked == true){document.lg.mtime_pm.value = "checked";}
			if (document.lg.phone_type[0].checked == true){document.lg.phone_typeh.value = "checked";}
			if (document.lg.phone_type[1].checked == true){document.lg.phone_typec.value = "checked";}
			if (document.lg.phone_type[2].checked == true){document.lg.phone_typew.value = "checked";}
			if (document.lg.functioning[0].checked == true){document.lg.functioninga.value = "checked";}
			if (document.lg.functioning[1].checked == true){document.lg.functioningb.value = "checked";}
			if (document.lg.functioning[2].checked == true){document.lg.functioningc.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;
}
