function check_form ()
{
  valid = true; // assume valid

  if (document.contact.realname.value.length == 0)
     { valid = false; alert('Your Name Must be Filled In!');
      document.contact.realname.focus();return false; }
  
  if (document.contact.address1.value.length == 0 &&
      document.contact.address2.value.length == 0 &&
      document.contact.phone.value.length == 0 &&
      document.contact.email.value.length == 0)
     { valid = false; alert('Address, E-mail or Phone Must be Filled In!');
      document.contact.address1.focus(); return false;}

  if (document.contact.address1.value.length > 0 &&
      document.contact.address2.value.length == 0)
     { valid = false; alert('Address line 2 Must be Filled In with City, State and Zipcode.');
      document.contact.address2.focus(); return false;}

  if (document.contact.address2.value.length > 0 &&
      document.contact.address1.value.length == 0)
     { valid = false; alert('Address line 1 Must be Filled In with Street Number, Name and Apt.');
      document.contact.address2.focus(); return false;}

  if (!valid)
	{
        document.contact.method="POST";
        document.contact.action="mailto:contact@gogfim.org ? SUBJECT=Contact Form Problem";
        alert ("There is a problem with the completion of this form. \n" +
				  "Gospel of Grace Ministries has been notified. \n");
	}

  if (document.contact.email.value.length > 0)
	 {valid = VerifyEmailaddress1();}

  if (valid)
        {
      alert("Please be patient while your form is processed. \n" +
			"DO NOT CLICK SUBMIT AGAIN, it can result in a duplicate information." +
			"\n\n Click OK to Continue.");
      document.contact.submit();
      return true;

        }
   document.contact.email.focus();
   return false;
}


function VerifyEmailaddress1()
{
  var Reason  = "Your Email address1 appears incorrect.  \n\nPlease check. \n\nReason:"
  var Success = "Email address1 entered Correctly!"
  var checkStr = document.contact.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(".biz", 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++;
  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 += "\naddress1 must contain at least one period.";
  if (SpaceValid > 0)
    Reason += "\nNo Spaces allowed. address1 contains " + SpaceValid + " space";
  if (SpaceValid > 1)
    Reason += "s.";
  if (checkStr.length > 120)
    Reason += "\nPlease limit the Email address1 to 120 characters.";

  if (RL != Reason.length)
  {
 alert(Reason);
 return false;
  }
  return true;
}
