﻿//JS to be used with the remote search form
var remotesearch_month_shortnames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
function remotesearch_SelectMonthYear_onchange(selectDate, daySelect) {
    //var selectDate = document.getElementById('SelectMonthYear');
    var numberOfDays = selectDate.value.substring(8, 10); //get the number of days in the month
    //var daySelect = document.getElementById('SelectDay');
    //var selectedDayIndex = daySelect[daySelect.selectedIndex].value;
    var selectedDay = parseInt(daySelect.value, 10); //remeber the selected day

    var firstDayOfMonth = (selectDate.value.length < 13 ? 1 : parseInt(selectDate.value.substring(11, 13), 10));
    if (!isFinite(firstDayOfMonth)) firstDayOfMonth = 1;
    daySelect.options.length = 0; //clear the options
    //re-add one option for each day
    for (var i = firstDayOfMonth; i <= numberOfDays; i++) {
        var text = i.toString();
        if (i < 10) {
            text = '0' + i;
        }
        daySelect.options[daySelect.options.length] = new Option(i, text);
        if (i == selectedDay) daySelect.selectedIndex = daySelect.options.length - 1;
    }
    
    if (selectedDay < firstDayOfMonth) {
        daySelect.selectedIndex = 0;
    } else if(selectedDay > numberOfDays) {
        daySelect.selectedIndex = daySelect.options.length - 1;
    }

}
//updates the hidden date field from the user inputs
function remotesearch_UpdateDateField(selectedDayControl, selectedMonthYearControl) {
    //var selectedDayControl = document.getElementById('SelectDay');
    var selectedDayValue = selectedDayControl.value;
    //var selectedMonthYearControl = document.getElementById('SelectMonthYear');
    var selectedMonthYearValue = selectedMonthYearControl.value;
    selectedMonthYearValue = selectedMonthYearValue.substring(0, 7);
    //var dateField = document.getElementById('date');
    var dateFields = document.getElementsByName('date');
    for(var i=0; i<dateFields.length; i++){
        dateFields[i].value = selectedMonthYearValue + ' ' + selectedDayValue;
    }
}
function remotesearch_CheckDate(selectedDayControl, selectedMonthYearControl){
    var strDate = selectedDayControl.value + ' ' + remotesearch_month_shortnames[parseInt(selectedMonthYearControl.value.substr(5, 2))-1] + ' ' + selectedMonthYearControl.value.substr(0, 4);
    var currentDATE = new Date();
    currentDATE.setHours(0, 0, 0, 0);
    if (Date.parse(strDate) < currentDATE) {
        return false;
    }
}
function remotesearch_NonZeroParticipants(adultsControl, childrenControl, concessionsControl) {

    if (adultsControl.value != 0) return true;
    else if (childrenControl != undefined && childrenControl != null && childrenControl.value != 0) return true;
    else if (concessionsControl != undefined && concessionsControl != null && concessionsControl.value != 0) return true;
    else return false;
}
function remotesearch_FormSubmit(selectedDayControl, selectedMonthYearControl, adultsControl, childrenControl, concessionsControl, invalidDateMessage, invalidPaxMessage) {
    if (selectedDayControl && selectedMonthYearControl) {
        if (!invalidDateMessage) invalidDateMessage = 'Please select a date in the future';
        remotesearch_UpdateDateField(selectedDayControl, selectedMonthYearControl);
        if (remotesearch_CheckDate(selectedDayControl, selectedMonthYearControl) == false) {
            alert(invalidDateMessage);
            return false;
        }
    }
    if (remotesearch_NonZeroParticipants(adultsControl, childrenControl, concessionsControl) == false) {
        if (!invalidPaxMessage) invalidPaxMessage = 'Please select the number of travellers';
        alert(invalidPaxMessage);
        return false;
    }
}
function remotesearch_NavigateTo(url) {
    if (remotesearch_urlExternalParameters) {
        window.location = url + remotesearch_urlExternalParameters;
    }
    else {
        window.location = url;
    }
}
