var i = 0; if( document.booking.arrivalDateMonth != null && document.booking.arrivalDateDay != null && document.booking.arrivalDateYear != null && document.booking.departureDateMonth != null && document.booking.departureDateDay != null && document.booking.departureDateYear != null ) { if(document.booking.departureDateYear.options[document.booking.departureDateYear.selectedIndex].value == "") {setDateToToday(document.booking);} var fx = document.booking; if (document.booking.action.value!='send') { setCheckoutFromCheckin(fx); } document.booking.arrivalDateDay.onchange = function() { setCheckoutFromCheckin(fx); } document.booking.arrivalDateMonth.onchange = function() { setCheckoutFromCheckin(fx); } document.booking.arrivalDateYear.onchange = function() { setCheckoutFromCheckin(fx); } } function setDateToToday(fo) { var now; now = new Date(); var index_year = now.getFullYear(); var index_month = now.getMonth(); var index_day = now.getDate(); var index_checkin = new Date(index_year, index_month, index_day); oneDayInMillisec = 24 * 3600 * 1000; checkinMillis = index_checkin.getTime() + oneDayInMillisec; chin = new Date( checkinMillis ); var oneDayInMillisecAdjusted = (24 * 3600 * 1000) + (3600 * 1000); if(chin.getDate() == index_checkin.getDate()) { while(chin.getDate() == index_checkin.getDate()) { chin = new Date(index_checkin.getTime() + oneDayInMillissecAdjusted); oneDayInMillissecAdjusted += 3600; } } var index_y = getYearIdx(index_year); var index_m = parseInt( chin.getMonth(), 10 ) +1; var index_days = parseInt( chin.getDate(), 10 )-1; fo.arrivalDateYear.options[1].selected = true; fo.arrivalDateMonth.options[index_m-1].selected = true; fo.arrivalDateDay.options[index_days].selected = true; setCheckoutFromCheckin(fo); } function setCheckoutFromCheckin(fx) { var inyear = document.booking.arrivalDateYear.options[document.booking.arrivalDateYear.selectedIndex].value; var inmonth = document.booking.arrivalDateMonth.options[document.booking.arrivalDateMonth.selectedIndex].value; var inday = document.booking.arrivalDateDay.options[document.booking.arrivalDateDay.selectedIndex].value; var checkinFilled = ( inyear != '' && inmonth != '' && inday != ''); if( !checkinFilled) return; var outyear = document.booking.departureDateYear.options[document.booking.departureDateYear.selectedIndex].value; var outmonth = document.booking.departureDateMonth.options[document.booking.departureDateMonth.selectedIndex].value; var outday = document.booking.departureDateDay.options[document.booking.departureDateDay.selectedIndex].value; var checkoutFilled = ( outyear != '' && outmonth != '' && outday != ''); var checkin = new Date(inyear, inmonth -1, inday); oneDayInMillis = 168 * 3600 * 1000; checkoutMillis = checkin.getTime() + oneDayInMillis; chout = new Date( checkoutMillis ); var oneDayInMillisAdjusted = (24 * 3600 * 1000) + (3600 * 1000); if(chout.getDate() == checkin.getDate()) { while(chout.getDate() == checkin.getDate()) { chout = new Date(checkin.getTime() + oneDayInMillisAdjusted); oneDayInMillisAdjusted += 3600; } } document.booking.departureDateDay.selectedIndex = parseInt( chout.getDate(), 10 )-1; document.booking.departureDateMonth.selectedIndex = parseInt( chout.getMonth(), 10 ); document.booking.departureDateYear.selectedIndex = document.booking.arrivalDateYear.selectedIndex } function timeChecksd() { var startMonth=1; var day = parseInt(document.booking.arrivalDateDay.options[document.booking.arrivalDateDay.selectedIndex].value); var mon = document.booking.arrivalDateMonth.options[document.booking.arrivalDateMonth.selectedIndex].value; var yea = parseInt(document.booking.arrivalDateYear.options[document.booking.arrivalDateYear.selectedIndex].value); if (!validDate(day, mon, yea)) { document.booking.arrivalDateDay.focus(); alert("Invalid day of arrival !"); return false; } var dayp = parseInt(document.booking.departureDateDay.options[document.booking.departureDateDay.selectedIndex].value); var monp = document.booking.departureDateMonth.options[document.booking.departureDateMonth.selectedIndex].value; var yeap = parseInt(document.booking.departureDateYear.options[document.booking.departureDateYear.selectedIndex].value); if (!validDate(dayp, monp, yeap)) { document.booking.departureDateDay.focus(); alert("Invalid day of departure !"); return false; } if (parseInt(yeap) == parseInt(yea)) { if (parseInt(monp) < parseInt(mon)) { document.booking.departureDateDay.focus(); alert("Day of arrival must come before day of departure !"); return false; } else { if (parseInt(monp) == parseInt(mon)) { if ((parseInt(dayp) < parseInt(day)) || (parseInt(dayp) == parseInt(day))) { document.booking.departureDateDay.focus(); alert("Day of arrival must come before day of departure !"); return false; } } } } var daynow = (new Date()).getDate(); var monthnow = (new Date()).getMonth() + 1; var yearnow = (new Date()).getYear(); if (!compareDate(daynow, monthnow, yearnow, day, mon, yea, 1)) { document.booking.arrivalDateDay.focus(); alert("Your stated day of arrival has already passed away !"); return false; } if (!compareDate(daynow, monthnow, yearnow, dayp, monp, yeap, 1)) { document.booking.departureDateDay.focus(); alert("Your stated day of departure has already passed away !"); return false; } return true; } function compareDate(dayf, monthf, yearf, dayt, montht, yeart, equal) { if (parseInt(yeart) < parseInt(yearf)) { return 0; } if (parseInt(yeart) > parseInt(yearf)) { return 1; } if (parseInt(montht) < parseInt(monthf)) { return 0; } if (parseInt(montht) > parseInt(monthf)) { return 1; } if (equal) { if (parseInt(dayt) < parseInt(dayf)) { return 0; } } else { if (parseInt(dayt) <= parseInt(dayf)) { return 0; } } return 1; } function validDate(day, mon, year) { mon = mon + ""; mon = mon.toUpperCase(); if ((day < 1) || (day > 31)) { return 0; } if ((mon != "1") && (mon != "2") && (mon != "3") && (mon != "4") && (mon != "5") && (mon != "6") && (mon != "7") && (mon != "8") && (mon != "9") && (mon != "10") && (mon != "11") && (mon != "12")) { return 0; } if ((mon== "1") || (mon== "3") || (mon== "5") || (mon== "7") || (mon== "8") || (mon== "10") || (mon== "12")) { return 1; } else { if ((mon== "4") || (mon== "6") || (mon== "9") || (mon== "11")) { if (day <= 30) { return 1; } } else { if (mon == "2") { if (((year % 4) == 0) && ((year % 100) != 0)) { if (day <= 29) { return 1; } } if ((year % 400) == 0) { if (day <= 29) { return 1; } } if (day <= 28) { return 1; } } else { return 0; } } } return 0; }