function validForm(studForm) {
   if (studForm.firstName.value == "") {
      alert("The student's first name is required")
      studForm.firstName.focus()
      return false
   }

   if (studForm.lastName.value == "") {
      alert("The student's last name is required")
      studForm.lastName.focus()
      return false
   }

   if (studForm.parentFirstName.value == "") {
      alert("The parent's first name is required")
      studForm.parentFirstName.focus()
      return false
   }

   if (studForm.parentLastName.value == "") {
      alert("The parent's last name is required")
      studForm.parentLastName.focus()
      return false
   }

   err = validate_date(document.studForm.birthYear.value, document.studForm.birthMonth.value, document.studForm.birthDay.value)
   if (err == false) {
      return err
   }

   err = validate_date(document.studForm.joinYear.value, document.studForm.joinMonth.value, document.studForm.joinDay.value)
   if (err == false) {
      return err
   }

   return true
}


function validate_date (year, month, day) {

   months = new Array ("placeholder", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")

   switch (month) {
     case "01":
        month = "1"
        break
     case "02":
        month = "2"
        break
     case "03":
        month = "3"
        break
     case "04":
        month = "4"
        break
     case "05":
        month = "5"
        break
     case "06":
        month = "6"
        break
     case "07":
        month = "7"
        break
     case "08":
        month = "8"
        break
     case "09":
        month = "9"
        break
   }
   switch (month) {

     case "4":
     case "6":
     case "9":
     case "11":
        if (day > 30) {
           alert ("Date entered: " + months[month] + " " + day + ", " + year + " does not exist.")
           return false
        }
        break;

     case "2":
        if (day > 29) {
           alert ("Date entered: " + months[month] + " " + day + ", " + year + " does not exist.")
           return false
        }
        else {
           if (day == 29) {
              mod = year % 4;
              if (mod != 0) {
                 alert ("Date entered: " + months[month] + " " + day + ", " + year + " does not exist.")
                 return false
              }
           }
        }
        break;
 
   }

   today = new Date
   thisyear = today.getYear() + 1900;
   thisMonth = today.getMonth() + 1;
   if (year > thisyear) {
      alert ("Date entered: " + months[month] + " " + day + ", " + year + " is later than today's date")
      return false
   }
   else {
      if (year == thisyear) {
         if (month > thisMonth) {
            alert ("Date entered: " + months[month] + " " + day + ", " + year + " is later than today's date")
            return false
         }
         else {
            if (month == thisMonth) {
               thisdate = today.getDate()
               if (day > thisdate) {
                  alert ("Date entered: " + months[month] + " " + day + ", " + year + " is later than today's date")
                  return false
               }
            }
         }
      }
   }
   return true;
}

