$(function() {
    $("#startDate").datepicker({
        minDate: 0,
        maxDate: "+350d",
        onSelect: function(date) {
            $('#month').val($("#startDate").datepicker("getDate").getMonth()+1);
            $('#day').val($("#startDate").datepicker("getDate").getDate());
        },
        beforeShow: customRange,
        showOn: "both",
        buttonImage: "/media/structure/calendar.png",
        buttonImageOnly: true
    });
    $("#endDate").datepicker({
        minDate: 0,
        maxDate: "+350d",
        onSelect: function(date) {
            $('#depart_month').val($("#endDate").datepicker("getDate").getMonth()+1);
            $('#depart_day').val($("#endDate").datepicker("getDate").getDate());
        },
        beforeShow: customRange,
        showOn: "both",
        buttonImage: "/media/structure/calendar.png",
        buttonImageOnly: true
    });
    $("form#datesform").submit(function() {
        var month = $("#month").val();
        var depart_month = $("#depart_month").val();
        if ((month == "") || (depart_month == "")) {
            alert("Invalid dates");
            return false;
        }
    });
    function customRange(input) {
        if (input.id == "startDate") {
            var endDate = $("#endDate").datepicker("getDate");
            endDate = (endDate == null) ? "+350d" : new Date(y2kYear(endDate.getYear()), endDate.getMonth(), endDate.getDate()-1);
            return { minDate: 0, maxDate: endDate };
        } else if (input.id == "endDate") {
            var startDate = $("#startDate").datepicker("getDate");
            startDate = (startDate == null) ? 0 : new Date(y2kYear(startDate.getYear()), startDate.getMonth(), startDate.getDate()+1);
            return { minDate: startDate, maxDate: "+350d" };
        }
    }
    function y2kYear(year) {
        var y2kYear = (year < 1000) ? year + 1900 : year;
        return y2kYear;
    }
});
