/*
	// no of days / month
	months = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	now = new Date();
	function setDates2Today(){
		document.checkRoom2.arrivalMonth.selectedIndex = now.getMonth();
		document.checkRoom2.arrivalDay.selectedIndex = now.getDate();// - 1;
		document.checkRoom2.arrivalYear.selectedIndex = now.getYear() - 2003;
	}

	function checkArrivalDay(){
		with(document.checkRoom2){
		if((arrivalDay.selectedIndex + 1) > (months[arrivalMonth.selectedIndex] + (((arrivalMonth.selectedIndex==1)&&(arrivalYear.selectedIndex==2))?1:0))){
			arrivalDay.selectedIndex = months[arrivalMonth.selectedIndex] - 1 + (((arrivalMonth.selectedIndex==1)&&(arrivalYear.selectedIndex==2))?1:0);
		//return false;
		}
		
		// is in the past?
		if(arrivalYear.selectedIndex < (now.getYear() - 2003)) setDates2Today();
		if((arrivalYear.selectedIndex == (now.getYear() - 2003))
			&&(arrivalMonth.selectedIndex < now.getMonth())) setDates2Today();
		if((arrivalYear.selectedIndex == (now.getYear() - 2003))
			&&(arrivalMonth.selectedIndex == now.getMonth())
				&&(arrivalDay.selectedIndex <= (now.getDate() - 1))) setDates2Today();
		}
	}

	function checkDepartureDay(){
		with(document.checkRoom2){
			if((departureDay.selectedIndex + 1) > (months[departureMonth.selectedIndex] + (((departureMonth.selectedIndex==1)&&(departureYear.selectedIndex==2))?1:0))){
				departureDay.selectedIndex = months[departureMonth.selectedIndex] - 1 + (((departureMonth.selectedIndex==1)&&(departureYear.selectedIndex==2))?1:0);
			//return false;
			}
		}
	}
	
	function setDeparture(){
		var carry = 0;
		with(document.checkRoom2){
			//set departure == arrival
			departureMonth.selectedIndex = arrivalMonth.selectedIndex;
			departureDay.selectedIndex = arrivalDay.selectedIndex;
			departureYear.selectedIndex = arrivalYear.selectedIndex;
			//inc date
			if((departureDay.selectedIndex + 1) == (months[departureMonth.selectedIndex] + (((departureMonth.selectedIndex==1)&&(departureYear.selectedIndex==2))?1:0))){
				departureDay.selectedIndex = 0;
				carry = 1;
			}else{
				departureDay.selectedIndex++;
			}
			//next month?
			if(carry == 1){
				carry = 0;
				if(departureMonth.selectedIndex == (departureMonth.length - 1)){
					departureMonth.selectedIndex = 0;
					carry = 1;
				}else{
					departureMonth.selectedIndex++;
				}
			}
			//next year
				if(carry == 1){
					carry = 0;
				if(departureYear.selectedIndex == (departureYear.length - 1)){
					carry = 1;
					alert('year buffer overflow');
				}else{
					departureYear.selectedIndex++;
					checkDepartureDay();
				}
				}
			}
		}

function checkingPopup(){
	open("http://www.the-hotels.com/xml/checking.html","Checking","width=366,height=205,top=170,left=162,toolbar=no,location=no,status=no,menubar=no,resizable=no,scrollbars=no");
}

*/


var DEBUG = false;
var initLog = "";
var loaded = false;

var epoch 	= new Date(0);
var clockSkew 	= epoch.getTime();
var now 	= (new Date()).getTime() - clockSkew;
log("Clock skew: " + clockSkew);

var y2k		= new Date(2000, 0, 1).getYear();
log("y2k:" + y2k);


var arrivalTime = now;
var departureTime = now;

function getArrivalTime(){
	with(document.checkRoom2){
		arrivalTime = (new Date(
				arrivalYear[arrivalYear.selectedIndex].value,
				arrivalMonth[arrivalMonth.selectedIndex].value - 1,
				arrivalDay[arrivalDay.selectedIndex].value
				)).getTime();
	}
log('Got Arrival as ' + new Date(arrivalTime));
	return arrivalTime;
}

function setArrivalTime(time){
log('Setting Arrival to ' + new Date(time));
	with(document.checkRoom2){
		selectValue(arrivalYear, (new Date(time)).getYear() + 2000 - y2k);
		selectValue(arrivalMonth, (new Date(time)).getMonth() + 1);
		selectValue(arrivalDay, (new Date(time)).getDate());
	}
}

function getDepartureTime(){
	with(document.checkRoom2){
		departureTime = (new Date(
				departureYear[departureYear.selectedIndex].value,
				departureMonth[departureMonth.selectedIndex].value - 1,
				departureDay[departureDay.selectedIndex].value
				)).getTime();
	}
log('Got Departure as ' + new Date(departureTime));
	return departureTime;
}

function setDepartureTime(time){
	with(document.checkRoom2){
log('Setting Departure to ' + new Date(time));
		selectValue(departureYear, (new Date(time)).getYear() + 2000 - y2k);
		selectValue(departureMonth, (new Date(time)).getMonth() + 1);
		selectValue(departureDay, (new Date(time)).getDate());
	}
}

function selectValue(selectObject, value){
log("Setting " + selectObject.name + " with " + value);
	if(value < 10) value = "0" + value;
	for(i = 0; i < selectObject.length; i++){
		if(selectObject[i].value == value){
			selectObject.selectedIndex = i;
			return;
		}
	}
}

function nextDay(time){
	return time + 86400000;
}



function checkArrivalDay(){
	setArrivalTime(getArrivalTime());
	if(arrivalTime < now){
		log('Arrival prior to today');
		setArrivalTime(now);
	}
}

function checkDepartureDay(){
	setDepartureTime(getDepartureTime());
	if(departureTime < nextDay(arrivalTime)){
		log('Number of nights zero or negative');
		setDepartureTime(nextDay(arrivalTime));
	}
}

function setDeparture(){
	setDepartureTime(nextDay(getArrivalTime()));
}

function log(message){
	if(!DEBUG) return;
	if(!loaded){
		initLog += message + "\n";
		return;
	}
	with(document.checkRoom2){
		logArea.value += message + "\n";
	}
}

function debugInit(){
	loaded = true;
	log(initLog);
}

if(DEBUG){
	window.onload = debugInit;
	document.write('<textarea name="logArea" rows="20" cols="50"></textarea>');
}
	
function setDates2Today(){
	setArrivalTime(nextDay(now));
	setDepartureTime(nextDay(getArrivalTime()));
}

setDates2Today();

function checkingPopup(){
	open("http://www.the-hotels.com/xml/checking.html","Checking","width=366,height=205,top=170,left=162,toolbar=no,location=no,status=no,menubar=no,resizable=no,scrollbars=no");
}

