
function verify_trip_planner() {
    var verified = true;    
    var msg = "";
    
    if ($('resadult').value == 'Adults') {
        verified = false;
        msg += "Please select number of adults\n";
    }

    if ($('reschild').value == 'Children') {
        verified = false;
        msg += "Please select number of children\n";
    }

    if(msg) alert(msg);

    return verified;
}


function format_date_for_submit(d, is_arrival) {

    var prefix = "out";
    if (is_arrival) prefix = "in";

    $(prefix+"month").value = d.strftime('%b');
    $(prefix+"day").value = d.strftime('%d');
    $(prefix+"year").value = d.strftime('%Y');
}


// configure calendars
var calendars = {
    /*'cal_from' : {
        'container' : 'arrival_date_container', // container id
        'button' : 'arrival_date_display', // button id
        'selection_display' : 'arrival_date_display', // selected date display (input element in this case)
        'hidden_store' : 'arrival_date_store', // hidden element to store our submit format
        'obj' : "calendars['cal_from']['obj']" // calendar object placeholder
    },
    'cal_to' : {
        'container' : 'departure_date_container',
        'button' : 'departure_date_display',
        'selection_display' : 'departure_date_display',
        'hidden_store' : 'departure_date_store',
        'obj' : "calendars['cal_to']['obj']"
    },*/
    'cal_start' : {
        'container' : 'start_date_container',
        'button' : 'start_date_display',
        'selection_display' : 'start_date_display',
        'hidden_store' : 'start_date_store',
        'obj' : "calendars['cal_start']['obj']"
    },
    'cal_end' : {
        'container' : 'end_date_container',
        'button' : 'end_date_display',
        'selection_display' : 'end_date_display',
        'hidden_store' : 'end_date_store',
        'obj' : "calendars['cal_end']['obj']"
    }
};

function calendar_init() {
    for (var name in calendars) {
        calendars[name]['obj'] = new YAHOO.widget.Calendar(calendars[name]['obj'], calendars[name]['container']);
        calendars[name]['obj'].selectEvent.subscribe(select_date, calendars[name]['obj'], true);
        calendars[name]['obj'].customConfig = function() {
            this.Config.Options.NAV_ARROW_LEFT = '/scripts/yui/build/calendar/assets/callt.gif';
            this.Config.Options.NAV_ARROW_RIGHT = '/scripts/yui/build/calendar/assets/calrt.gif';
        }
        calendars[name]['obj'].setupConfig();
        calendars[name]['obj'].render();

        // related elements
        calendars[name]['obj'].button = document.getElementById(calendars[name]['button']);
        calendars[name]['obj'].display = document.getElementById(calendars[name]['selection_display']);
        calendars[name]['obj'].store = document.getElementById(calendars[name]['hidden_store']);
        calendars[name]['obj'].display_format = '%b %d, %Y';
    }
}

function display_calendar(cal_name) {
    for (var name in calendars) {
        var calendar = calendars[name]['obj'];
        if ((name != cal_name) || ((name == cal_name) && (calendar.oDomContainer.style.visibility == 'visible'))) {
            
            if (calendar.oDomContainer) calendar.oDomContainer.style.visibility = 'hidden';
        }
        else {
            var button = calendar.button;
            var pos = YAHOO.util.Dom.getXY(button);
            YAHOO.util.Dom.setXY(calendar.oDomContainer, [pos[0], pos[1] + button.offsetHeight + 1]);
            calendar.oDomContainer.style.visibility = 'visible';
        }
    }
}

function select_date() {
    var date = this.getSelectedDates()[0];
    this.display.value = date.strftime(this.display_format);
    this.store.value = date.strftime('%Y-%m-%d');
    this.oDomContainer.style.visibility = 'hidden';

    var is_arrival = false;
    if (this.id == "calendars['cal_from']['obj']") is_arrival = true;

    // set departure to arrival + one day
    if (is_arrival && calendars['cal_to']['obj'].display.value == 'Departure Date') {
        calendars['cal_to']['obj'].select(YAHOO.widget.DateMath.add(date, 'D', 1));
        calendars['cal_to']['obj'].setYear(calendars['cal_to']['obj'].getSelectedDates()[0].getFullYear());
        calendars['cal_to']['obj'].setMonth(calendars['cal_to']['obj'].getSelectedDates()[0].getMonth());
        calendars['cal_to']['obj'].render();
    }

    format_date_for_submit(date, is_arrival);
}

YAHOO.util.Event.addListener(window, "load", calendar_init);


