function OnLoad() {
Calendar.setup({
inputField: 'stayLengthFromToFrom',
ifFormat: '%Y-%m-%d',
showsTime: false,
button: 'stayLengthFromToFrom_button',
singleClick: true,
electric: false,
step: 1
});
Calendar.setup({
inputField: 'stayLengthFromToTo',
ifFormat: '%Y-%m-%d',
showsTime: false,
button: 'stayLengthFromToTo_button',
singleClick: true,
electric: false,
step: 1
});
var from = document.getElementById('stayLengthFromToFrom');
xb.addEvent(from,'change',function () {
var to = document.getElementById('stayLengthFromToTo');
var from = document.getElementById('stayLengthFromToFrom');
var fromTime = getDateTime( from.value );
var toTime = getDateTime( to.value );
var fromDate = new Date( fromTime );
var toDate = new Date( toTime );
if (toDate < fromDate) {
toDate.setTime(fromDate.getTime());
to.value = toDate.print('%Y-%m-%d');
}
});
var to = document.getElementById('stayLengthFromToTo');
var fn = function () {
var to = document.getElementById('stayLengthFromToTo');
var from = document.getElementById('stayLengthFromToFrom');
var fromTime = getDateTime( from.value );
var toTime = getDateTime( to.value );
var fromDate = new Date( fromTime );
var toDate = new Date( toTime );
if (toDate < fromDate) {
toDate.setTime(fromDate.getTime());
}
to.value = toDate.print('%Y-%m-%d');
};
xb.addEvent(to,'change',fn);
var from = document.getElementById('stayLengthFromToFrom');
xb.addEvent(from,'change',function(){
var minDate = new Date( getDateTime( '2011-04-08' ) );
var to = document.getElementById('stayLengthFromToTo');
var from = document.getElementById('stayLengthFromToFrom');
var fromTime = getDateTime( from.value );
var toTime = getDateTime( to.value );
var fromDate = new Date( fromTime );
var toDate = new Date( toTime );
if (fromDate <= minDate) {
fromDate.setTime(minDate.getTime());
from.value = fromDate.print('%Y-%m-%d');
alert('Arrival date mustn\'t be earlier than 2011-04-08');
}
if (fromDate >= toDate) {
toDate.setTime(fromDate.getTime());
toDate.setDate(toDate.getDate()+1);
to.value = toDate.print('%Y-%m-%d');
}
var testDate = new Date(toDate.getTime());
testDate.setDate(toDate.getDate() - 14);
if (testDate > fromDate) {
toDate.setTime(fromDate.getTime());
toDate.setDate(fromDate.getDate() + 14);
to.value = toDate.print('%Y-%m-%d');
}
countNights(from,to,document.getElementById('stayLengthNights'));
});
var to = document.getElementById('stayLengthFromToTo');
xb.addEvent(to,'change',function () {
var to = document.getElementById('stayLengthFromToTo');
var from = document.getElementById('stayLengthFromToFrom');
var fromTime = getDateTime( from.value );
var toTime = getDateTime( to.value );
var fromDate = new Date( fromTime );
var toDate = new Date( toTime );
if (toDate.getTime() <= fromDate.getTime()) {
toDate.setTime(fromDate.getTime());
toDate.setDate(fromDate.getDate() + 1);
to.value = toDate.print('%Y-%m-%d');
}
var testDate = new Date(toDate.getTime());
testDate.setDate(toDate.getDate() - 14);
if (testDate > fromDate) {
toDate.setTime(fromDate.getTime());
toDate.setDate(fromDate.getDate() + 14);
to.value = toDate.print('%Y-%m-%d');
}
countNights(from,to,document.getElementById('stayLengthNights'));
});
countNights(from,to,document.getElementById('stayLengthNights'));
}
function countNights(from,to,nights) {
var dateF = from.value;
var timeF = getDateTime( dateF );
var dateT = to.value;
var timeT = getDateTime( dateT );
var night = parseInt( (timeT - timeF) / Date.DAY );
nights.value = night;
}