//MaxMind Technologies B.V. - www.maxmind.nl

function updateSelector(init){
  var citySelector  = document.getElementById('citySelector');
  var hotelSelector = document.getElementById('hotelSelector');
  var cityId  = citySelector.options.selectedIndex;
  var hotelCount = 0;
  var hotelId = 0;
  if (init){
    while (citySelector.options.length > 0) citySelector.remove(0);
    var Option = document.createElement("option");
    Option.value = 'void';
    Option.innerHTML = citySelectorText;
    citySelector.appendChild(Option);
    for (c = 0; c < cities.length; c++){
      Option = document.createElement("option");
      Option.value = cities[c];
      Option.innerHTML = cities[c];
      citySelector.appendChild(Option);
      if (selectedCity == cities[c]) cityId = c + 1;
    }
    if (citySelector.options[cityId]) setTimeout("document.getElementById('citySelector').options.selectedIndex=" + cityId, 100);
  }
  while (hotelSelector.options.length > 0) hotelSelector.remove(0);
  for (c = 0; c < cities.length; c++)
    if (document.getElementById('city_' + c))
      hotelSelector.removeChild(document.getElementById('city_' + c));
  var Option = document.createElement("option");
  Option.value = 'void';
  Option.innerHTML = hotelSelectorText;
  hotelSelector.appendChild(Option);
  if (!cityId){
    for (c = 0; c < cities.length; c++){
      var Optgroup = document.createElement('optgroup');
      Optgroup.id = 'city_' + c;
      Optgroup.label = cities[c];
      hotelSelector.appendChild(Optgroup);
      for (h = 0; h < hotels[c].length; h++){
	Option = document.createElement("option");
	Option.value = hotels[c][h][0];
	Option.innerHTML = hotels[c][h][1];
	document.getElementById('city_' + c).appendChild(Option);
        hotelCount++;
        if ((init) && (selectedHotel == hotels[c][h][0])){ hotelId = hotelCount; }
      }
    }
  }
  else{
    for (h = 0; h < hotels[cityId - 1].length; h++){
      Option = document.createElement("option");
      Option.value = hotels[cityId - 1][h][0];
      Option.innerHTML = hotels[cityId - 1][h][1];
      hotelSelector.appendChild(Option);
      if ((init) && (selectedHotel == hotels[cityId - 1][h][0])) hotelId = h + 1;
    }
  }
  if (hotelSelector.options[hotelId]) setTimeout("document.getElementById('hotelSelector').options.selectedIndex=" + hotelId, 100);
}

function daysInMonth(month){
  var curDate = new Date();
  if (month == 2){
    var year = curDate.getFullYear();
    if ((year % 4 == 0) && ((year % 100) || (year % 400 == 0)))
      return 29;
    return 28;
  }
  else if (month == 4 || month == 6 || month == 9 || month == 11)
    return 30;
  return 31;
}

function getNewDate(){
  var day   = document.getElementById('a_day').value;
  var month = document.getElementById('a_month').value;
  var year  = document.getElementById('a_year').value;
  if (day > 0 && month > 0){
    if (day > daysInMonth(month))
      document.getElementById('a_day').value = daysInMonth(month);
    day++;
    if (day > daysInMonth(month)){
      day = 1;
      month++;
      if (month > 12){
	month = 1;
	year++;
      }
    }
    if (day < 10) day = "0" + day;
    if ((!month.length) && (month < 10)) month = "0" + month;
    if (document.getElementById('d_day')){
      document.getElementById('d_day').value   = day;
      document.getElementById('d_month').value = month;
      document.getElementById('d_year').value  = year;
    }
  }
}

function checkDDate(){
  var day   = document.getElementById('d_day').value;
  var month = document.getElementById('d_month').value;
  if (day > daysInMonth(month))
    document.getElementById('d_day').value = daysInMonth(month);
}

function resetParameters(param){
  if (param != 1){ if (document.getElementById('couponcodeInput')) document.getElementById('couponcodeInput').value = ''; }
  if (document.getElementById('codeInput'))       document.getElementById('codeInput').value = '';
  if (document.getElementById('arrangement_id'))  document.getElementById('arrangement_id').value = '';
}

function checkAvailability(){
  var couponcode  = '';
  var secret_code = '';
  var city        = document.getElementById('citySelector').value;
  var hotel       = document.getElementById('hotelSelector').value;
  if (document.getElementById('couponcodeInput')) couponcode  = document.getElementById('couponcodeInput').value;
  if (document.getElementById('codeInput'))       secret_code = document.getElementById('codeInput').value;
  var type        = 'list';
  var package     = '';

  if (document.getElementById('arrangement_id')) package = document.getElementById('arrangement_id').value;
  if ((hotel) && (hotel != 'void') && ((!couponcode) || (package))) type = 'hotel';
  else hotel = 'void';
  self.location = basePath + '/?type=' + type + '&hotel_id=' + hotel + '&city=' + city + '&day=' + document.getElementById('a_day').value + '&month=' + document.getElementById('a_month').value + ':' + document.getElementById('a_year').value + '&day2=' + document.getElementById('d_day').value + '&month2=' + document.getElementById('d_month').value + ':' + document.getElementById('d_year').value + '&adults=' + document.getElementById('adults').value + '&coupon_code=' + couponcode + '&pagestyle=4&module=eden&lang=' + activeLanguage + '&arrangement_id=' + package + '&code=' + secret_code;
}

function loadPackages(kind){
  if ((kind) && (kind != 'void'))
    self.location = basePath + '/?type=packages&hotel_list=1&kind=' + kind + '&pagestyle=4&module=eden&lang=' + activeLanguage;
}

function loadCorporateRate(code){
  if (code)
    self.location = basePath + '/?type=packages&hotel_list=1&code=' + code + '&pagestyle=4&module=eden&lang=' + activeLanguage + '&day=' + document.getElementById('a_day').value + '&month=' + document.getElementById('a_month').value + ':' + document.getElementById('a_year').value + '&day2=' + document.getElementById('d_day').value + '&month2=' + document.getElementById('d_month').value + ':' + document.getElementById('d_year').value + '&adults=' + document.getElementById('adults').value;
}

function checkEnter(obj, event){
  if (event.keyCode == 13) obj.blur();
}
