dayNames = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
monthNames = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');

window.onload = function() {
	var setDay = document.getElementById(datePrefix+'dd').value;
	if (setDay == "") {
		setDay = today.getDate()-1;
	} else {
		setDay--;
	}
	var setMonth = document.getElementById(datePrefix+'mm').value;
	if (setMonth == "") {
		setMonth = today.getMonth();
	} else {
		setMonth--;
	}
	var setYear = 0;
	if (document.getElementById(datePrefix+'yyyy').value == todaysyear+1) {
		setYear = 1;
	}
	var msel = document.getElementById(datePrefix+'mm');
	msel.options.length = 0;
	for (var i=0; i<monthNames.length; i++) {
		msel.options[i] = new Option(monthNames[i],i+1);
	}
	var ysel = document.getElementById(datePrefix+'yyyy');
	ysel.options.length = 0;
	ysel.options[0] = new Option(todaysyear,todaysyear);
	ysel.options[1] = new Option(todaysyear+1,todaysyear+1);
	document.getElementById(datePrefix+'mm').options.selectedIndex = setMonth;
	document.getElementById(datePrefix+'yyyy').options.selectedIndex = setYear;
	updateDayList();
	document.getElementById(datePrefix+'dd').options.selectedIndex = setDay;
	updateDepartDate();
	if (document.getElementById('ROOMS')) {
		onChangeNoOfRooms();
	}
	if (document.getElementById('calendar')) {
		document.getElementById('calendar').innerHTML = setUpTheCalendar()
	}
}
function addOrdinal(n) {
	if (n==1 || n==21 || n==31) {
		return n+"st";
	} else if (n==2 || n==22) {
		return n+"nd";
	} else if (n==3 || n==23) {
		return n+"rd";
	} else {
		return n+"th";
	}
}
function updateForm() {
	updateDayList();
	updateDepartDate();
}
function updateDepartDate() {
	if (document.getElementById("departdate")) {
		d = new Date(parseInt(document.getElementById(datePrefix+'yyyy').value), parseInt(document.getElementById(datePrefix+'mm').value)-1, parseInt(document.getElementById(datePrefix+'dd').value)+parseInt(document.getElementById('NIGHTS').value));
		document.getElementById('departdate').innerHTML = dayNames[d.getDay()] + ', ' + addOrdinal(d.getDate()) + ' ' + monthNames[d.getMonth()] + ' ' + d.getFullYear();
		document.getElementById('DEPdd').value = d.getDate();
		document.getElementById('DEPmm').value = d.getMonth()+1;
		document.getElementById('DEPyyyy').value = d.getFullYear();
		document.getElementById('departdatecontainer').style.visibility = 'visible';
	}
}
function updateDayList() {
	d = new Date(parseInt(document.getElementById(datePrefix+'yyyy').value), parseInt(document.getElementById(datePrefix+'mm').value)-1 , 32);
	lastday = 32 - d.getDate();
	var sI = document.getElementById(datePrefix+'dd').options.selectedIndex;
	document.getElementById(datePrefix+'dd').options.length = 0;
	for (i=1;i<=lastday;i++) {
		document.getElementById(datePrefix+'dd').options[i-1] = new Option(i,i);
	}
	if (sI >= lastday) sI = lastday-1;
	document.getElementById(datePrefix+'dd').options.selectedIndex = sI;
}
function onChangeNoOfRooms() {
	if (document.getElementById('hideforcalendar').style.visibility == 'hidden') return;
	var nrooms = document.getElementById('ROOMS').value;
	for (i=1;i<6;i++) {
		var r = document.getElementById('roomsrow'+i);
		if (r) r.style.visibility = (i>nrooms) ? 'hidden' : 'visible';
	}
}
function returnDate(text){
	document.getElementById(datePrefix+'mm').options.selectedIndex = parseInt(thisMonth);
	document.getElementById(datePrefix+'yyyy').options.selectedIndex = (thisYear - thisIsThisYear);
	updateDayList();
	document.getElementById(datePrefix+'dd').options.selectedIndex = parseInt(text)-1;
	updateDepartDate();
	toggleCalendar();
}
function toggleCalendar() {
	var calstyle = document.getElementById('calendar').style;
	if (calstyle.display != 'block') {
		calstyle.display = 'block';
		document.getElementById('calendarlink').innerHTML = 'Hide';
		document.getElementById('hideforcalendar').style.visibility = 'hidden';
		document.getElementById('departdatecontainer').style.visibility = 'hidden';
		for (i=1;i<5;i++) {
			var r = document.getElementById('roomsrow'+i);
			if (r) document.getElementById('roomsrow'+i).style.visibility = 'hidden';
		}
	} else {
		calstyle.display = 'none';
		document.getElementById('calendarlink').innerHTML = 'Calendar';
		document.getElementById('hideforcalendar').style.visibility = 'visible';
		onChangeNoOfRooms();
		document.getElementById('departdatecontainer').style.visibility = 'visible';
	}
	return false;
}
var leftarrow  = '<img src="http://www.premierguesthouses.com/guesthousebooking/images/calendar_l.gif" width="9" height="7" alt="" title="View previous month"/>';
var rightarrow = '<img src="http://www.premierguesthouses.com/guesthousebooking/images/calendar_r.gif" width="9" height="7" alt="" title="View next month"/>';
var noarrow    = '<img src="http://www.premierguesthouses.com/guesthousebooking/images/blank.gif" width="1" alt=""/>';