//For Group Reservations
function jsgroupres_chk(form_flds) {
   var error_msg;
   var field_name = "";
   var error = "";

   for(var i = 0; i < form_flds.length; i++) {

      var e = form_flds.elements[i];
	 
      //check data form values
      if (e.name == "contact_name") {
	 field_name = "Contact Name";
	 if (!validLastName(e.value)) 
	    error += "\n" + field_name;
      }
      if (e.name == "email") {
	 field_name = "E-Mail Address";
	 if ((e.value == null) || (e.value == "") || (!validEmail(e.value))) 
	    error += "\n" + field_name;
      }
      if (e.name == "iata") {
	 field_name = "IATA/ARC Number";
	 if ((e.value != null) && (e.value != "")) {
	    if ((!validNumbers(e.value)) || (e.value.length < 8))
	    error += "\n" + field_name;
	 }
      }
      if (e.name == "addr1") {
	 field_name = "Address Line 1";
	 if (!validAddress(e.value)) 
	    error += "\n" + field_name;
      }
      if (e.name == "addr2") {
	 field_name = "Address Line 2";
	 if ((e.value != null) && (e.value != "")) {
	    if (!validAddress(e.value)) 
	       error += "\n" + field_name;
	 }
      }
      if (e.name == "city") {
	 field_name = "City";
	 if (!validCity(e.value)) 
	    error += "\n" + field_name;
      }
      if (e.name == "country") {
	 field_name = "Country";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "phone") {
	 field_name = "Phone Number";
	    if ((!validPhone(e.value)) || (e.value == null) || (e.value == ""))
	    error += "\n" + field_name;
      }
      if (e.name == "fax") {
	 field_name = "Fax Number";
	 if (e.value != ""){
	    if (!validPhone(e.value)){
	       error += "\n" + field_name;
	    }
	 }
      }
      //destination validation
      if (e.name == "master_bill") {
	 field_name = "Arriving Together/Master Bill response";
	 ix = e.options.selectedIndex;
	 var master_val = e.options[ix].value;
	 if (master_val == "") 
	    error += "\n" + field_name;
      }
      if (e.name == "dest_city") {
	 field_name = "Destination City";
	 if ((e.value == null) || (e.value == "") || (!validAddress(e.value)))
	    error += "\n" + field_name;
      }
      if (e.name == "arrival_year") {
	 field_name = "Arrival Date - Year";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "arrival_month") {
	 field_name = "Arrival Date - Month";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "arrival_day") {
	 field_name = "Arrival Date - Day";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "checkout_month") {
	 field_name = "Checkout Date - Month";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "checkout_day") {
	 field_name = "Checkout Date - Day";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "preferred_hotel") {
	 field_name = "Preferred Brand";
	 ix = e.options.selectedIndex;
	 var hotel_val = e.options[ix].value;
	 if (hotel_val == "") 
	    error += "\n" + field_name;
      }
      if (e.name == "num_rooms") {
	 field_name = "Number of Rooms";
	 if ((!validNumbers(e.value)) || (e.value == null) || (e.value == "") || (e.value < 10))
	    error += "\n" + field_name;
      }
      if (e.name == "num_people") {
	 field_name = "Number of People";
	 if ((!validNumbers(e.value)) || (e.value == null) || (e.value == "") || (e.value < 10))
	    error += "\n" + field_name;
      }
      if (e.name == "room_budget") {
	 field_name = "Room Budget";
	 ix = e.options.selectedIndex;
	 var val = e.options[ix].value;
	 if (val == "") 
	    error += "\n" + field_name;
      }
      if (e.name == "b_baggage_handling") {
	 field_name = "Baggage Handling response";
	 ix = e.options.selectedIndex;
	 var val = e.options[ix].value;
	 if (val == "") 
	    error += "\n" + field_name;
      }
      if (e.name == "nchild") {
	 if ((e.value != null) || (e.value != "")) {
	    if (!validNumbers(e.value)) {
	       field_name = "Number of Children";
	       error += "\n" + field_name;
	    }
	 }
      }

   }

   //If any errors, then display messages, and return false to prevent form
   //from being submitted.  Otherwise return true.
   if (!error) {
      var arrivalYear  = form_flds.arrival_year.options[form_flds.arrival_year.selectedIndex].value;
      var arrivalMonth = form_flds.arrival_month.options[form_flds.arrival_month.selectedIndex].value;
      var arrivalDay   = form_flds.arrival_day.options[form_flds.arrival_day.selectedIndex].value;
      var checkoutMonth = form_flds.checkout_month.options[form_flds.checkout_month.selectedIndex].value;
      var checkoutDay   = form_flds.checkout_day.options[form_flds.checkout_day.selectedIndex].value;
      var checkoutYear; 

      //determine 'year' for checkout date
      if ((eval(checkoutMonth) < eval(arrivalMonth)) ||
          (eval(checkoutMonth) == eval(arrivalMonth) && eval(checkoutDay) <= eval(arrivalDay))) {
	     checkoutYear = eval(arrivalYear) + 1;
      }else {
	     checkoutYear = eval(arrivalYear);
      }

      //Make sure arrival date is not before today's date
      if (!compareTodaysDate(eval(arrivalYear), eval(arrivalMonth), eval(arrivalDay))){ 
         alert("Arrival Date cannot be before today's date.");
	 return false;
      }
      if (!validateDate(eval(arrivalMonth), eval(arrivalDay), eval(arrivalYear))){
         alert("Please enter a valid:\n\nArrival Date");
	 return false;
      }
      if (!validateDate(eval(checkoutMonth), eval(checkoutDay), eval(checkoutYear))){
         alert("Please enter a valid:\n\nCheckout Date");
	 return false;
      }

      //Check to see if valid state/country combo
      if (!basicStateVerify("state", "country", form_flds))
         return false;
      if (!basicStateVerify("dest_state", "dest_country", form_flds))
         return false;
      var si = form_flds.country.options.selectedIndex;
      if (!isValidPostalCode(form_flds.postal.value, form_flds.country.options[si].value)) {  
	 alert("Please enter a valid postal code");
	 return false;
      }
      return true;
   }

   error_msg = "Please enter a valid: \n";
   error_msg += error + "\n";

   alert(error_msg);
   return false;
}

function getMonthName (integerMonth) {
   var monthName = new Array ("January", "February", "March", "April", "May",
                              "June", "July", "August", "September", "October", 
			      "November", "December");
   month = monthName[integerMonth - 1];
   return month;
}

function checkMeal(field, i) {
   if (i == 3) { // "None" checkbox selected.
      if (field[3].checked == true) {
         for (i = i - 1; i >= 0; i--){  // "i = i - 1" because we don't want to
         field[i].checked = false;      // deselect the "None" checkbox
	 }
      }
   }
   else  {  // A checkbox other than "None" selected.
      if (field[i].checked == true) {
         field[3].checked = false;
      }
   }
}

function lookup_hotel(form_flds) {
   form_flds.hotel_lookup.value = "true";
   form_flds.submit();
}
