/* $Id: hotelSearch.js,v 1.10 2010/03/19 11:49:07 clinton Exp $ */
var hotelindateArray = new Array(); var hotelindateMap = new Hash();
var hoteloutdateArray = new Array();var hoteloutdateMap = new Hash();
var hotelinDateManager = null;
var hotelouDateManager = null;

function initHotelSearch() {
  hotelinDateManager = new DateManager({
    months: $('hotelindate_mon'),
    days: $('hotelindate_day'),
    hidden: $('hotelindate'),
    after: new Date(),
    afterOffset: minLeadTime
  });
  hoteloutDateManager = new DateManager({
    months: $('hoteloutdate_mon'),
    days: $('hoteloutdate_day'),
    hidden: $('hoteloutdate'),
    after: hotelinDateManager,
    afterOffset: 1
  });
  $('hotelSearch').show();
}
Event.observe(window, 'load', initHotelSearch);

function hotelDateChange() {
}

function hotelValidate() {
  var errors = new Array();
  // Location validation
  if ($('hotelLocation')) {
    var location = $F('hotelLocation');
    if (location == "NULL") {
      errors[errors.length] = errorMessage(ERR_HOTEL_SELECT_RESORT);
    }
  }
  //Date validation
  //dateChange('hotelindate'); dateChange('hoteloutdate');
  var hotelindate = $F('hotelindate'); var hoteloutdate = $F('hoteloutdate');
  if (formatDate(createDate(hotelindate), dateFormat_api) != hotelindate) errors[errors.length] = errorMessage(ERR_HOTEL_DATE_INVALID, {
    type: 'checkin'
  });
  if (formatDate(createDate(hoteloutdate), dateFormat_api) != hoteloutdate) errors[errors.length] = errorMessage(ERR_HOTEL_DATE_INVALID, {
    type: 'checkout'
  });

  var today = formatDate(addToDate(new Date(), 1), dateFormat_api);
  if (hoteloutdate <= hotelindate) errors[errors.length] = errorMessage(ERR_HOTEL_RETURN_BEFORE_DEPARTURE);
  if (hotelindate < today) errors[errors.length] = errorMessage(ERR_HOTEL_DATE_HISTORIC);


  // Pax count validation
  var paxTypes = $('fs_paxTypes_hotel').select('select.paxType');
  var totalPax = 0;
  for (var i = 0; i < paxTypes.length; i++) {
    totalPax += parseFloat($F(paxTypes[i]));
  }
  if (totalPax == 0) {
    errors[errors.length] = errorMessage(ERR_HOTEL_NO_PAX);
  } else if (totalPax > 9) {
    errors[errors.length] = errorMessage(ERR_HOTEL_TOO_MANY_PAX);
  }

  if (errors.length > 0) {
    alert(errors.join("\n"));
    return false;
  } else {
    return true;
  }
}

function submitHotelSearch (){
  return hotelValidate();
}