function getCityCodeSetter(id, combinedCarCostId) {
  return function(text, li) {
    var cityCodeInput = getObj(id);
    cityCodeInput.value = li.getAttribute('iata');
    cityCodeInput.searchCityText = text;

    // -- combined addition
    if (getObj(combinedCarCostId)) {
      displayCostCategoryOptions(text, li);
    }
  };
}
function getCityCodeRemover(id) {
  return function(input) {
    var cityCodeInput = getObj(id);
    if (cityCodeInput.searchCityText != input.value) {
      cityCodeInput.value = '';
    }
  };
}

function clearCitySearchField(f) {
  if (f.value == f.defaultValue) {
    f.value = "";
    var codeElem = f.form[f.name + 'Code'];
    if (codeElem) codeElem.value = "";
  }
}

function checkCitySearchField(f) {
  if (f.value == "") {
    f.value = f.defaultValue;
    var codeElem = f.form[f.name + 'Code'];
    if (codeElem) codeElem.value = codeElem.defaultValue;
  }
}

function showChildAges(num, max, prefix) {
  if (num == 0) {
    getObj(prefix).style.display = "none";
  } else {
    getObj(prefix).style.display = "";
    for (var i = 0; i < num; i++) {
      getObj(prefix + i).style.display = "";
    }
    for (; i < max; i++) {
      getObj(prefix + i).style.display = "none";
    }
  }
}
/**
 * Handles: air stand-alone, air+hotel=combo, air+car=combined_version_1.
 */
function setReturnDateDisplay(form, rowId, owIdPrefix, hotelCheck, hotelDates, combinedCarReturnFields,
                              combinedCarOneWayRental) {
  var ow = [getObj(owIdPrefix + 'true'), getObj(owIdPrefix + 'false')];
  for (var i = 0; i < ow.length; i++) {
    var radio = ow[i];
    if (radio.checked) {
      if (getObj(rowId)) {
        var style = getObj(rowId).style;
        if (radio.value == "true") {
          style.display = "none";
        } else {
          style.display = "";
        }
      }
      var comboToggle = getObj(hotelCheck);
      var combinedToggleDiv = getObj(combinedCarReturnFields);

      if (radio.id === ow[0].id) {
        if (comboToggle) {
          comboToggle.checked = true;
          toggleLayer(hotelDates, true);
        }
        if (combinedToggleDiv) {
          toggleLayer(combinedCarReturnFields, true);
          var checkboxHidden = getObj(combinedCarOneWayRental);
          checkboxHidden.checked = true;
          var visibleReturnInput = getObj("returnCityName");
          if (!visibleReturnInput.value) {// too much of a hack/quick fix this is.
            var hiddenReturnId = getObj("returnCityId");
            hiddenReturnId.value = '';//clear car return location
            visibleReturnInput.value = '';//clear car return location
          }
        }
      } else {
        if (radio.id === ow[1].id) {
          if (comboToggle) {
            comboToggle.checked = false;
            toggleLayer(hotelDates, false);
          }
          if (combinedToggleDiv) {
            toggleLayer(combinedCarReturnFields, false);
            var checkboxHidden = getObj(combinedCarOneWayRental);
            checkboxHidden.checked = false;
          }
        }
      }
    }
  }
}

function isOnewaySearch(returnDateRowId, onewayId, partialHotelId, hotelDates) {
  var onewayCheckbox = getObj(onewayId);
  var partialHotelCheckbox = getObj(partialHotelId);

  if (onewayCheckbox.checked) {
    setHidden(returnDateRowId, true);
    if (partialHotelCheckbox != null) {
      partialHotelCheckbox.checked = true;
      toggleLayer(hotelDates, true);
    }
  } else {
    setVisible(returnDateRowId, true);
    if (partialHotelCheckbox != null) {
      partialHotelCheckbox.checked = false;
      toggleLayer(hotelDates, false);
    }
  }
}

