function checkFields(appForm) {

// *** Check E-mail ***
  var emailStr = appForm.re_YourEmail.value;
  if (emailStr == "") {
     alert("You must enter your E-mail Address")
     return false
  }
  var emailReg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var emailReg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/; // valid
  if (!(!emailReg1.test(emailStr) && emailReg2.test(emailStr))) { // if syntax is valid
     alert("Your E-mail Address has an invalid format\n\nIt should look something like: YourName@domain.net")
     return false
     }

  var str = appForm.r_YourName.value;
  if (str.indexOf("<script")>=0 || str.indexOf("Visitor")>=0)
     return false

// *** Check Address ***
  if (appForm.AppAddress.value == "") {
     alert("You must enter Your Address")
     return false
  }

// *** Check drop down ***
  if (appForm.Age.value == "") {
     alert("You must select Your Age")
     return false
  }

// *** Check radio button questions ***
  appOption = -1
  for (i=0; i<appForm.EverOwnedCairn.length; i++) {
     if (appForm.EverOwnedCairn[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #1: You must choose Yes or No")
     return false
  }

  str = appForm.WhyDoYouWantCairn.value;
  if (str.indexOf("<script")>= 0)
     return false

  appOption = -1
  for (i=0; i<appForm.DoYouHaveChildren.length; i++) {
     if (appForm.DoYouHaveChildren[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #2: You must choose Yes or No")
     return false
  }

  str = appForm.AgesOfChildren.value;
  if (str.indexOf("<script")>= 0)
     return false;

  appOption = -1
  for (i=0; i<appForm.DoYouHaveVisitingChildren.length; i++) {
     if (appForm.DoYouHaveVisitingChildren[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #3: You must choose Yes or No")
     return false
  }

  str = appForm.AgesOfVisitingChildren.value;
  if (str.indexOf("<script")>= 0)
     return false;

  appOption = -1
  for (i=0; i<appForm.DoYouHaveDog.length; i++) {
     if (appForm.DoYouHaveDog[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #4: You must choose Yes or No")
     return false
  }
  else {
     if (appOption == 0) {
        appOption = -1
        for (i=0; i<appForm.Neutered.length; i++) {
           if (appForm.Neutered[i].checked) {
              appOption = i
           }
        }
        if (appOption == -1) {
           alert("Section #4: You must choose Yes or No for Spayed/Neutered")
           return false
        }
     }
  }

  str = appForm.WhatBreedNow.value;
  if (str.indexOf("<script")>= 0)
     return false;

  appOption = -1
  for (i=0; i<appForm.EverOwnedDog.length; i++) {
     if (appForm.EverOwnedDog[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #5: You must choose Yes or No")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.HaveOtherPets.length; i++) {
     if (appForm.HaveOtherPets[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #6: You must choose Yes or No")
     return false
  }

  str = appForm.WhatBreed.value;
  if (str.indexOf("<script")>= 0)
     return false;

  str = appForm.WhatOtherPets.value;
  if (str.indexOf("<script")>= 0)
     return false;

  appOption = -1
  for (i=0; i<appForm.DoYouHaveVet.length; i++) {
     if (appForm.DoYouHaveVet[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #7: You must choose Yes or No")
     return false
  }
  else {
     if (appOption == 0) {
        appOption = -1
        for (i=0; i<appForm.MayWeContactVet.length; i++) {
           if (appForm.MayWeContactVet[i].checked) {
              appOption = i
           }
        }
        if (appOption == -1) {
           alert("Section #7: You must choose Yes or No for Contacting Vet")
           return false
        }
     }
  }

// *** Check drop down ***
  if (appForm.HomeType.value == "") {
     alert("Section #8: You must choose a Home Type")
     return false
  }

// *** More radio buttons ***
  appOption = -1
  for (i=0; i<appForm.RentOrOwn.length; i++) {
     if (appForm.RentOrOwn[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #8: You must choose Rent or Own")
     return false
  }
  else {
     if (appOption == 0) {
        appOption = -1
        for (i=0; i<appForm.LandlordAllowPets.length; i++) {
           if (appForm.LandlordAllowPets[i].checked) {
              appOption = i
           }
        }
        if (appOption == -1) {
           alert("Section #8: You must choose Yes or No for Landlord Allowing Pets")
           return false
        }
     }
  }

  appOption = -1
  for (i=0; i<appForm.DoYouHaveFence.length; i++) {
     if (appForm.DoYouHaveFence[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #8: You must choose Yes or No for Having a Fence")
     return false
  }
  else {
     if (appOption == 1) {
        appOption = -1
        for (i=0; i<appForm.WillingToFence.length; i++) {
           if (appForm.WillingToFence[i].checked) {
              appOption = i
           }
        }
        if (appOption == -1) {
           alert("Section #8: You must choose Yes or No for Willing to Fence Yard")
           return false
        }
     }
  }

  appOption = -1
  for (i=0; i<appForm.WillYouWalkOnLeash.length; i++) {
     if (appForm.WillYouWalkOnLeash[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #8: You must choose Yes or No for Walking on Leash")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.WillYouAllowHomeVisit.length; i++) {
     if (appForm.WillYouAllowHomeVisit[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #8: You must choose Yes or No for Allowing Home Visit")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.WillProvideVetCare.length; i++) {
     if (appForm.WillProvideVetCare[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #9: You must choose Yes or No")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.AtHomeDaytime.length; i++) {
     if (appForm.AtHomeDaytime[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #10: You must choose Yes or No")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.HaveQuestionAboutPolicy.length; i++) {
     if (appForm.HaveQuestionAboutPolicy[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #12: You must choose Yes or No")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.TakeCare10Years.length; i++) {
     if (appForm.TakeCare10Years[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #13: You must choose Yes or No for the Next 10 Years")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.HaveYouConsideredCost.length; i++) {
     if (appForm.HaveYouConsideredCost[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #13: You must choose Yes or No for Considering Cost")
     return false
  }

  appOption = -1
  for (i=0; i<appForm.RescueAge.length; i++) {
     if (appForm.RescueAge[i].checked) {
        appOption = i
     }
  }
  if (appOption == -1) {
     alert("Section #14: You must choose 'No Preference' or 'Between the Ages...'")
     return false
  }

  var TodaysDate = new Date();
  var ThisYear = TodaysDate.getYear();
  var nmonth=TodaysDate.getMonth() + 1;
  var nday=TodaysDate.getDate();

  if (ThisYear < 1900) { ThisYear = ThisYear + 1900; }

  if (nmonth<10)
   nmonth="0"+nmonth;

  if (nday<10)
   nday="0"+nday;

  appForm.SubmitDate.value = nmonth+"/"+nday+"/"+ThisYear;

  return true
}