// functions related to the quick search module integrated in step 2,3 and 4

// read values from select boxes before showing the datapicker
function readDepartureLinked() {
    $("#departureDate").val($("#departureDay").val() + "/" +
        $("#departureMonth").val() + "/" + $("#departureYear").val());
    return {};
}

// read values from select boxes before showing the datapicker
function readReturnLinked() {
    $("#returnDate").val($("#returnDay").val() + "/" +
        $("#returnMonth").val() + "/" + $("#returnYear").val());
    return {};
}

// Update three select controls to match a date picker selection
function updateDepartureLinked(date) {
    $("#departureDay").val(Number(date.substring(0, 2)));
    $("#departureMonth").val(Number(date.substring(3, 5)));
    $("#departureYear").val(Number(date.substring(6, 10)));
    updateReturnDate();
}

// Update three select controls to match a date picker selection
function updateReturnLinked(date) {
    $("#returnDay").val(Number(date.substring(0, 2)));
    $("#returnMonth").val(Number(date.substring(3, 5)));
    $("#returnYear").val(Number(date.substring(6, 10)));
}

// Prevent selection of invalid dates through the select controls
function checkLinkedDepartureDays() {
    var daysInMonth = 32 - new Date($("#departureYear").val(),
    $("#departureMonth").val() - 1, 32).getDate();
    $("#departureDay option").attr("disabled", "");
    $("#departureDay option:gt(" + (daysInMonth - 1) +")").attr("disabled", "disabled");
    if ($("#departureDay").val() > daysInMonth) {
        $("#departureDay").val(daysInMonth);
    }
}

// Prevent selection of invalid dates through the select controls
function checkLinkedReturnDays() {
    var daysInMonth = 32 - new Date($("#returnYear").val(),
    $("#returnMonth").val() - 1, 32).getDate();
    $("#returnDay option").attr("disabled", "");
    $("#returnDay option:gt(" + (daysInMonth - 1) +")").attr("disabled", "disabled");
    if ($("#returnDay").val() > daysInMonth) {
        $("#returnDay").val(daysInMonth);
    }
}