//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 = "Nom du contact";
	 if (!validLastName(e.value)) 
	    error += "\n" + field_name;
      }
      if (e.name == "email") {
	 field_name = "Adresse électronique";
	 if ((e.value == null) || (e.value == "") || (!validEmail(e.value))) 
	    error += "\n" + field_name;
      }
      if (e.name == "iata") {
	 field_name = "Numéro IATA / ARC";
	 if ((e.value != null) && (e.value != "")) {
	    if ((!validNumbers(e.value)) || (e.value.length < 8))
	    error += "\n" + field_name;
	 }
      }
      if (e.name == "addr1") {
	 field_name = "Adresse ligne 1";
	 if (!validAddress(e.value)) 
	    error += "\n" + field_name;
      }
      if (e.name == "addr2") {
	 field_name = "Adresse ligne 2";
	 if ((e.value != null) && (e.value != "")) {
	    if (!validAddress(e.value)) 
	       error += "\n" + field_name;
	 }
      }
      if (e.name == "city") {
	 field_name = "Ville";
	 if (!validCity(e.value)) 
	    error += "\n" + field_name;
      }
      if (e.name == "country") {
	 field_name = "Pays";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "phone") {
	 field_name = "Numéro de téléphone";
	    if ((!validPhone(e.value)) || (e.value == null) || (e.value == ""))
	    error += "\n" + field_name;
      }
      if (e.name == "fax") {
	 field_name = "Numéro de télécopie";
	 if (e.value != ""){
	    if (!validPhone(e.value)){
	       error += "\n" + field_name;
	    }
	 }
      }
      //destination validation
      if (e.name == "master_bill") {
	 field_name = "Réponse Arrivée Esemble / Facture Globale";
	 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 = "Ville / Etat / Pays";
	 if ((e.value == null) || (e.value == "") || (!validAddress(e.value)))
	    error += "\n" + field_name;
      }
      if (e.name == "arrival_year") {
	 field_name = "Date d'arrivée - Année";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "arrival_month") {
	 field_name = "Date d'arrivée - Mois";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "arrival_day") {
	 field_name = "Date d'arrivée - Jour";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "checkout_month") {
	 field_name = "Date de départ - Mois";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "checkout_day") {
	 field_name = "Date de départ - Jour";
	 if (e.selectedIndex < 1)
	    error += "\n" + field_name;
      }
      if (e.name == "preferred_hotel") {
	 field_name = "Marque Souhaitée";
	 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 = "Nombre de chambres";
	 if ((!validNumbers(e.value)) || (e.value == null) || (e.value == "") || (e.value < 10))
	    error += "\n" + field_name;
      }
      if (e.name == "num_people") {
	 field_name = "Nombre de personnes";
	 if ((!validNumbers(e.value)) || (e.value == null) || (e.value == "") || (e.value < 10))
	    error += "\n" + field_name;
      }
      if (e.name == "room_budget") {
	 field_name = "Budget par Chambre";
	 ix = e.options.selectedIndex;
	 var val = e.options[ix].value;
	 if (val == "") 
	    error += "\n" + field_name;
      }
      if (e.name == "b_baggage_handling") {
	 field_name = "Réponse Acheminement de Bagages";
	 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 = "Nombre d'enfants";
	       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("La date d'arrivée ne peut pas être antérieure à la date d'aujourd'hui.");
	 return false;
      }
      if (!validateDate(eval(arrivalMonth), eval(arrivalDay), eval(arrivalYear))){
         alert("Veuillez indiquer un élément valide : \n\nDate d'arrivée");
	 return false;
      }
      if (!validateDate(eval(checkoutMonth), eval(checkoutDay), eval(checkoutYear))){
         alert("Veuillez indiquer un élément valide : \n\nDate de départ");
	 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("Veuillez indiquer un code postal valide.");
	 return false;
      }
      return true;
   }

   error_msg = "Veuillez indiquer un élément valide : \n";
   error_msg += error + "\n";

   alert(error_msg);
   return false;
}

function getMonthName (integerMonth) {
   var monthName = new Array ("Janvier", "Février", "Mars", "Avril", "Mai",
                              "Juin", "Juillet", "Août", "Septembre", "Octobre", 
			      "Novembre", "Décembre");
   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();
}
