/////////////////////////
///// INIT FUNCTION /////
/////////////////////////

function initProductBookingForm() {
    // init departure city list
    loadProductDepCities(document.firstBookingForm, preSelectedDepCityCode);
    
    initProductBookingFormNoCities();
}

function initProductBookingFormNoCities() {
   
    // init departure date select fields
    initDateSelectWithGlobalVars(document.firstBookingForm.departureDay, document.firstBookingForm.departureMonthYear);
    
    // init return date select fields
    initRelativeDatesSelectWithGlobalVars(document.firstBookingForm.returnDay,
                                           document.firstBookingForm.returnMonthYear,
                                           document.firstBookingForm.departureDay,
                                           document.firstBookingForm.departureMonthYear);
    
    // init week day names
    writeWeekDayNameInField(document.firstBookingForm.departureWeekDay,
                            document.firstBookingForm.departureDay,
                            document.firstBookingForm.departureMonthYear);
                            
    writeWeekDayNameInField(document.firstBookingForm.returnWeekDay,
                            document.firstBookingForm.returnDay,
                            document.firstBookingForm.returnMonthYear);
    
    
    // init rooms display    
    initRooms(document.firstBookingForm.nbRooms);
    
}

function initProductBookingFormNoRooms() {
    // init departure city list
    loadProductDepCities(document.firstBookingForm, preSelectedDepCityCode);
    
    initProductBookingFormNoCitiesNoRooms();
}

function initProductBookingFormNoCitiesNoRooms() {
   
    // init departure date select fields
    initDateSelectWithGlobalVars(document.firstBookingForm.departureDay, document.firstBookingForm.departureMonthYear);
    
    // init return date select fields
    initRelativeDatesSelectWithGlobalVars(document.firstBookingForm.returnDay,
                                           document.firstBookingForm.returnMonthYear,
                                           document.firstBookingForm.departureDay,
                                           document.firstBookingForm.departureMonthYear);
    
    // init week day names
    writeWeekDayNameInField(document.firstBookingForm.departureWeekDay,
                            document.firstBookingForm.departureDay,
                            document.firstBookingForm.departureMonthYear);
                            
    writeWeekDayNameInField(document.firstBookingForm.returnWeekDay,
                            document.firstBookingForm.returnDay,
                            document.firstBookingForm.returnMonthYear);
    
}

function validateFirstBookingForm(form) {
    form.departureCityTitle.value = form.departureCityCode.options[form.departureCityCode.selectedIndex].text;
    return validateRooms();
}

function validateHtlFirstBookingForm(form) {
    return validateRooms();
}

function validateAndSubmitFirstBookingForm(form) {
    if (validateFirstBookingForm(form)) {
      form.submit();
    }
}

function validateAndSubmitHtlFirstBookingForm(form) {
    if (validateHtlFirstBookingForm(form)) {
      form.submit();
    }
}

function submitHtlFirstBookingForm(form) {
      form.submit();
}
