if (jQuery) { function selectMarkup(size,start) { var markup = ""; for (var i=start; i<=size; i++) markup += ""; return markup; } function get_days_in_month(month, year) { return month == 2 ? (year % 4 ? 28 : (year % 100 ? 29 : (year %400 ? 28 : 29))) : ((month - 1) % 7 % 2 ? 30 : 31); } function hidedays( obj, month, year ) { var NumDays = get_days_in_month( month, year); var xTradates = "option:gt(" + (NumDays-1) + ")"; var dateSelectorParent = obj.parent(); var daysOption = obj.parent().find(".days"); var dateSelectedVal = daysOption.find(":selected").val(); daysOption.children().remove(); daysOption.append(selectMarkup( NumDays, 1)); var currentTime = new Date(); var monthNow = currentTime.getMonth() + 1; var yearNow = currentTime.getFullYear(); var dateNow = currentTime.getDate(); var dateNowSelector = daysOption.find("option:eq(" + (dateNow) + ")"); /* if the current month is the selected month do not should expired dates*/ if( monthNow == month && yearNow == year ) { var expiredDates = "option:lt(" + (dateNow-1) + ")"; var dateSelector = daysOption.find(expiredDates); //if( parseInt(dateSelected.val()) < parseInt(dateNowSelector.val()) ){ // dateNowSelector.attr("selected","selected"); //} dateSelector.remove(); } /* If a date greater than the number in the month is select use the last valid date in the month */ var validDateSelector; if( parseInt(dateSelectedVal) > NumDays ){ validDateSelector = "option[value='" + NumDays + "']"; } else { validDateSelector = "option[value='" + dateSelectedVal + "']"; } var validDate = daysOption.find(validDateSelector); validDate.attr("selected","selected"); } function checkout( myCheckout ) { var checkout = new Date(); var duration = myCheckout.find(".nights").val(); var day = myCheckout.find(".days").val(); var month = myCheckout.find(".months").val(); var year = myCheckout.find("#checkInyear").val(); checkout.setFullYear( year ); checkout.setDate( day ); checkout.setMonth(month - 1); var dateString = checkout.getDate(); if( dateString < 10 ) { dateString = "0" + dateString; } var monthString = checkout.getMonth() + 1; if( monthString < 10 ) { monthString = "0" + monthString; } myCheckout.find("#checkInDayDisplay").val(checkout.getFullYear() + "-" + monthString + "-" + dateString ); checkout.setDate( checkout.getDate() + parseInt(duration) ); var dateString = checkout.getDate() ; if( dateString < 10 ) { dateString = "0" + dateString; } var monthString = checkout.getMonth() + 1; if( monthString < 10 ) { monthString = "0" + monthString; } var monthId = checkout.getMonth(); var month=new Array(12); month[0]="January"; month[1]="February"; month[2]="March"; month[3]="April"; month[4]="May"; month[5]="June"; month[6]="July"; month[7]="August"; month[8]="September"; month[9]="October"; month[10]="November"; month[11]="December"; myCheckout.find("#checkOutDayDisplayPretty").val( dateString + " " + month[monthId] + " " + checkout.getFullYear()); myCheckout.find("#checkOutDayDisplay").val(checkout.getFullYear() + "-" + monthString + "-" + dateString ); } function days( obj ) { var currentTime = new Date(); var date = currentTime.getDate(); //currentTime.setDate( date + 1 ); var day = currentTime.getDate(); var dateSelector = '[value="' + day + '"]' var selector = obj.children(dateSelector); selector.attr("selected", "selected"); obj.change(function() { var checkoutdate = checkout( obj.parent().parent().parent() ); }) } function nights( obj ){ obj.change(function() { var checkoutdate = checkout( obj.parent().parent().parent() ); }) } jQuery.fn.valChange = function(newValue) { return this.each(function() { var obj = jQuery(this); obj.val(newValue); obj.change(); }); } function months( obj ) { var currentTime = new Date(); var date = currentTime.getDate(); //currentTime.setDate( date + 1 ); var monthNow = currentTime.getMonth() + 1; var year = currentTime.getFullYear() var monthSelector = '[value="' + monthNow + '"]' var selector = obj.children(monthSelector); selector.attr("selected", "selected"); obj.parent().find("#checkInyear").val(year); hidedays( obj, monthNow, year ); obj.change(function() { var month = parseInt(obj.val()); var yearNow = year; if( month < monthNow) yearNow = yearNow + 1; obj.parent().find("#checkInyear").val(yearNow); hidedays( obj, month, yearNow ); checkout( obj.parent().parent().parent() ); }) } function checkInOutInit( mydates ) { months( mydates.find(".months") ); days( mydates.find(".days") ); nights( mydates.find(".nights") ); //checkout( jQuery("#accommodationSearchDialog") ); //checkout( mydates ); var destination = mydates.find(".destination"); mydates.find("#accomSubmit").click(function() { //checkout( mydates ); if(destination.val() == '' || destination.val() == destination.attr('title')) { destination.css("border","1px solid red"); return false; } mydates.find("#searchForm").triggerHandler('submit'); }); mydates.find(".destination").focus(function() { destination.removeAttr("style"); }); } jQuery(document).ready(function() { //checkInOutInit( jQuery(this) ); }); }