function validate()
{
  with(document.register)
  {    
    if(family.value.length ==0) 
    {
      alert("Please enter your family's last name");
      family.focus();
      family.select();
      return false;
    }
    if(addr1.value.length ==0) 
    {
      alert("Please enter your address");
      addr1.focus();
      addr1.select();
      return false;
    }
    if(city.value.length ==0) 
    {
      alert("Please enter your city");
      city.focus();
      city.select();
      return false;
    }
    if(state.options[0].selected)
    {
      alert("Please select your state");
      state.focus();
      return false;
    }
    if(zip.value.length ==0) 
    {
      alert("Please enter your zip code");
      zip.focus();
      zip.select();
      return false;
    }
    if(phone.value.length ==0 && listed[0].checked) 
    {
      alert("Please enter your phone number");
      phone.focus();
      phone.select();
      return false;
    }
    if(phone.value.length !=0 && (!listed[0].checked && !listed[1].checked)) 
    {
      alert("Is this a listed phone number");
      listed[0].focus();
      return false;
    }
    if (email.value.length !=0 && 
       (email.value.indexOf("@",0) < 0 || 
       email.value.indexOf(".",0) < 0)) 
    {
      alert("The e-mail address that you\nentered appears to be invalid");
      email.focus();
      email.select();
      return false;
    }
    if (email.value.length ==0 && news[0].checked) 
    {
      alert("In order to receive news via e-mail,\nyou must enter a valid e-mail address");
      email.focus();
      email.select();
      return false;
    }
    if (email.value.length !=0 && !news[0].checked && !news[1].checked) 
    {
      alert("Would you like to receive parish news\nand announcements at this e-mail address?");
      news[0].focus();
      return false;
    }
    if(adults.options[0].selected && children.options[0].selected)
    {
      alert("Please select the number of adults\nand/or children in your family");
      adults.focus();
      return false;
    }
    if (!beacon[0].checked && !beacon[1].checked) 
    {
      alert("Are you interested in receiving\nthe Diocesan Newspaper (The Beacon)?");
      beacon[0].focus();
      return false;
    }
  }
}
