// VERIFY FORM VALUES THEN SUBMIT
function sendForm(theForm) {
   var strErrorMessage = ""
   var strConfirmMessage = ""
   var blnElementSelected = false
   var counter=1
   with (theForm) {
      // Check that they selected a day to attend
      var blnDayChecked = false
      var strAttendDays = ""
      if(DayToAttend.length) {
		  for (i=0;i<DayToAttend.length;i++) {
	         if (DayToAttend[i].checked) {
	            blnDayChecked = true
	            if (i>0 && strAttendDays.length > 0) strAttendDays = strAttendDays + ", "
	            strAttendDays = strAttendDays + DayToAttend[i].value
	         }
	      }
	   } else if (DayToAttend  && (DayToAttend.type != "checkbox" || (DayToAttend.type == "checkbox" && DayToAttend.checked)) ) {
        blnDayChecked = true
  			strAttendDays = strAttendDays + DayToAttend.value
	  }
    if (!blnDayChecked) {
         strErrorMessage = strErrorMessage + counter + ") Select an attendance option\n"
         counter++
		  if (DayToAttend.length) {
		 	  DayToAttend[0].focus()
		  } else {
			 //DayToAttend.focus()
		  }   
		  blnElementSelected=true
    } else {
         strConfirmMessage = strConfirmMessage + "Session(s) to attend: " + strAttendDays + "\n"
      }
      // Check Name
      if (elements['Name'].value=="") {
         strErrorMessage = strErrorMessage + counter + ") Add your name\n"
         counter++
		 if (!blnElementSelected) {
	         elements['Name'].focus()
    	     blnElementSelected = true
		}
      } else {
         strConfirmMessage = strConfirmMessage + "Name: " + elements['Name'].value + "\n"
      }
      //Check Street
      if (elements['Street'].value=="") {
         strErrorMessage = strErrorMessage + counter + ") Add your Street\n"
         counter++
         if (!blnElementSelected) {
            elements['Street'].focus()
            blnElementSelected = true
         }
      } else {
         strConfirmMessage = strConfirmMessage + "Street: " + elements['Street'].value + "\n"
      }
   
      //Check City
      if (elements['City'].value=="") {
         strErrorMessage = strErrorMessage + counter + ") Add your City\n"
         counter++
         if (!blnElementSelected) {
            elements['City'].focus()
            blnElementSelected = true
         }
      } else {
         strConfirmMessage = strConfirmMessage + "City: " + elements['City'].value + "\n"
      }
   
      //Check State
      if (elements['State'].value=="") {
         strErrorMessage = strErrorMessage + counter + ") Add your State\n"
         counter++
         if (!blnElementSelected) {
            elements['State'].focus()
            blnElementSelected = true
         }
      } else {
         strConfirmMessage = strConfirmMessage + "State: " + elements['State'].value + "\n"
      }
   
      //Check Zip Code
      if (elements['Zip'].value=="") {
         strErrorMessage = strErrorMessage + counter + ") Add your Zip\n"
         counter++
         if (!blnElementSelected) {
            elements['Zip'].focus()
            blnElementSelected = true
         }
      } else if (isNaN(elements['Zip'].value) || elements['Zip'].value.length < 5) {
         strErrorMessage = strErrorMessage + counter + ") Add a valid Zip Code\n"
         counter++
         if (!blnElementSelected) {
            elements['Zip'].focus()
            blnElementSelected = true
         }
      } else {
         strConfirmMessage = strConfirmMessage + "Zip: " + elements['Zip'].value + "\n"
      }
   
      //Check Phone
	  var strCleanPhone = elements['Phone'].value.replace(/-/g,"")
      if (elements['Phone'].value=="") {
         strErrorMessage = strErrorMessage + counter + ") Add your Phone\n"
         counter++
         if (!blnElementSelected) {
            elements['Phone'].focus()
            blnElementSelected = true
         }
      } else if (isNaN(strCleanPhone) || strCleanPhone.length < 10) {
         strErrorMessage = strErrorMessage + counter + ") Add a valid Phone number\n"
         counter++
         if (!blnElementSelected) {
            elements['Phone'].focus()
            blnElementSelected = true
         }
      } else {
         strConfirmMessage = strConfirmMessage + "Phone: " + elements['Phone'].value + "\n"
      }
   
      //Check Email Address
      if (elements['Email'].value=="") {
         strErrorMessage = strErrorMessage + counter + ") Add your email address\n"
         counter++
         if (!blnElementSelected) {
            elements['Email'].focus()
            blnElementSelected = true
         }
      } else if ((elements['Email'].value.indexOf("@") == -1) || ( elements['Email'].value.indexOf(".") == -1)) {
         strErrorMessage = strErrorMessage + counter + ") Put in a proper email address\n(must be of form yourid@somewhere.xxx)\n\n"
         counter++
         if (!blnElementSelected) {
            elements['Email'].focus()
            blnElementSelected = true
         }
      } else {
         strConfirmMessage = strConfirmMessage + "Email: " + elements['Email'].value + "\n"
      }

      // IF WE HAVE A QUESTIONNAIRE, CHECK TO MAKE SURE ALL FIELDS HAVE SOMETHING IN THEM
      intQid = 1
      strQidVal = "Question_" + intQid
      strQuestionError = ""
      while (elements[strQidVal] && strQuestionError == "") {
            if (elements[strQidVal].value == "") strQuestionError = "Answer all the questions"
            intQid ++
            strQidVal = "Question_" + intQid
      }
      if (strQuestionError != "") {
         strErrorMessage =strErrorMessage + counter + ") " + strQuestionError
         counter ++
      }

      
      if (strErrorMessage != "") {
         strErrorMessage = "Oops!  You forgot to:\n\n" + strErrorMessage + "\n\nPlease go back and try again."
         alert(strErrorMessage);
         return false;
      } else if (!confirm("Please confirm the following: " + "\n============================\n" + strConfirmMessage)) {
         return false
      }
      action = 'register.php';
      elements['formAction'].value="sendit";
      submit();
   } //End with {}
   
   return true;
}

function clearBoxes(thisForm,objChecked,strAllVal) {
	// CLEAR ANY CHECKBOXES ON THE ATTENDANCE FORM
	// We assume last checkbox is always to select all sessions for multi-session workshops
	// Don't call this function if there is no "All sessions" option
  // var arrCheckBox = thisForm.DayToAttend
   var arrCheckBox = thisForm.DayToAttend
   var intArraySize = arrCheckBox.length-2
   var intSelectCount = 0
   var blnClearAll = false
   //if (objChecked.value == "Entire Workshop") blnClearAll = true
   if (objChecked.value == strAllVal) blnClearAll = true
   for (i = 0; i <= intArraySize; i++) {
      if (blnClearAll) {
         arrCheckBox[i].checked = false
      } else if (arrCheckBox[i].checked) {
		intSelectCount++
      }
   }
   if (intSelectCount == intArraySize+1) {
		alert("You have selected all " + (intArraySize+1) + " sessions!")
		for (i=0;i<=intArraySize;i++) arrCheckBox[i].checked=false
		arrCheckBox[intArraySize+1].checked = true
   } else if (intSelectCount > 0) {
		arrCheckBox[intArraySize+1].checked = false
   }
}
