
$(document).ready(function() {

    populateMonthYear();
    populateDays();

    $('#datepicker').datepicker({
        showOn: "button",
        buttonImage: "http://search.bookin1.com/images/buttons/calendar.png",
        buttonImageOnly: true,
        buttonText: 'Select an Arrival Date',
        closeText: 'Close',
        dateFormat: 'dd-MMM-yy',
        minDate: 0,
        maxDate: 365,
        firstDay: 1,
        showAnim: false,
        onSelect: function(dateText, inst) {
            var month = inst.currentMonth+1;
            $('#am').val(month+':'+inst.currentYear);
            populateDaysChange();
            $('#ad').val(inst.currentDay);

        },
        showButtonPanel: true
    });

    $('#datepicker').datepicker("setDate", new Date());
    var arrDate = jQuery('#datepicker').datepicker('getDate');
    $('#am').val((arrDate.getMonth()+1)+':'+arrDate.getFullYear());
    $('#ad').val(arrDate.getDate());


    $('#am').bind('change', function(){

        populateDaysChange();

    });


});




function populateMonthYear() {
    var startDate = Date.today();
    var select = $('#am');
    var options = select.attr('options');
    $('option', select).remove();
    for (i=1;i<=13;i++) {
        if (options!=undefined) {
            options[options.length] = new Option(startDate.toString('MMMM yyyy'),startDate.toString('M:yyyy'));
            startDate.addMonths(1);
        }
    }
}

function populateDays() {
    var startDate = Date.today();
    var lastDate = startDate.clone();
    lastDate.addMonths(12);
    var select = $('#ad');
    var options = select.attr('options');
    $('option', select).remove();
    var current = startDate.toString('dd');
    var daysInMonth = Date.getDaysInMonth(startDate.toString('yyyy'),Date.getMonthNumberFromName(startDate.toString('MMM')));
    for (i=current;i<=daysInMonth;i++) {
        if (options!=undefined) {
            options[options.length] = new Option(startDate.toString('d'), startDate.toString('d'));
            startDate.addDays(1);
        }
    }
}

function populateDaysChange() {
    var startDate = Date.parseExact($('#am').val(), 'M:yyyy');
    var compareDate = new Date();
    var lastDate = compareDate.clone();
    lastDate.addMonths(12);
    if (startDate.compareTo(compareDate)<0) {
        startDate = compareDate;
    }
    var select = $('#ad');
    var options = select.attr('options');
    $('option', select).remove();
    var current = startDate.toString('dd');
    var daysInMonth = Date.getDaysInMonth(startDate.toString('yyyy'),Date.getMonthNumberFromName(startDate.toString('MMM')));
    if (Date.getMonthNumberFromName(startDate.toString('MMM')) == Date.getMonthNumberFromName(lastDate.toString('MMM')) && startDate.toString('yyyy') == lastDate.toString('yyyy')) {
        daysInMonth = lastDate.astring('dd');
    }
    for (i=current;i<=daysInMonth;i++) {
        if (options!=undefined) {
            options[options.length] = new Option(startDate.toString('d'), startDate.toString('d'));
            startDate.addDays(1);
        }
    }
}




