function showWindow( m_url, winname, winwidth, winheight, wndparams)
{
	if ((winname == null) || (winname == "")) winname = "lvs";
	
	winleft = (screen.availWidth / 2) - (winwidth / 2);
	wintop = (screen.availHeight / 2) - (winheight / 2);
	
	if (wndparams == null) wndparams = "scrollbars=no,resizable=no";
	oWinInfo=(window.open(m_url, winname,"left=" + winleft + ",top=" + wintop + ",width=" + winwidth + ",height=" + winheight + "," + wndparams));
	//	registerWindow(oWinInfo);
	if (!Browser.ie) {
		if(oWinInfo.self != null)  oWinInfo.focus();
	}
}

/**
 * When a Guest selects a month, refresh the ArrivalDay drop-down;
 * also called when a year changes, to account for the possibility
 * that a leap year was selecte/unselected
 */

var arrivalDay;

function changeOfMonth(aSelect) {
	// alert(aSelect.name);	
	
	selectNextDate(aSelect)

	var day	  = aSelect.form.arrivalDay.value;
	var month = (aSelect.form.arrivalMonthYear.value).substring(4,6);
	var year  = (aSelect.form.arrivalMonthYear.value).substring(0,4);
	// alert("D: " + day + ", M: " + month + ", Y: " + year);
	
	var numDays = getNumDaysInMonth(month*1,year);
	// alert("numDays: " + numDays);
	var aryDays = new Array();
	aryDays[0] = new Option("", "-1");

	for (var i=1; i <= numDays; i++) {
		aryDays[i] = new Option(""+i,i);
	}

	setOptions(aSelect.form.arrivalDay, aryDays);

	// restore the date, if one was selected and is valid	
	if (day > 0 && day <= numDays) {
		aSelect.form.arrivalDay.options[day].selected = true;
	}
	
}

function selectNextDate(aSelect){
	var day	  = aSelect.form.arrivalDay.value;
	var month = (aSelect.form.arrivalMonthYear.value).substring(4,6);
	var year  = (aSelect.form.arrivalMonthYear.value).substring(0,4);
	// alert("2 - D: " + day + ", M: " + month + ", Y: " + year);

	var curDate		=new Date(year,month,day);
	var nextDate	=new Date(curDate)
	nextDate.setDate(nextDate.getDate()+1);

	var nextmonthyear = nextDate.getFullYear() +'' + (nextDate.getMonth() <10 ? '0'+ nextDate.getMonth() :nextDate.getMonth());

	var numDays = getNumDaysInMonth(nextDate.getMonth(),nextDate.getFullYear());
	var aryDays = new Array();
	aryDays[0] = new Option("", "-1");

	for (var i=1; i <= numDays; i++) {
		aryDays[i] = new Option(""+i,i);
	}
	setOptions(aSelect.form.departureDay, aryDays);

	aSelect.form.departureDay.value=nextDate.getDate();
	aSelect.form.departureMonthYear.value=nextmonthyear;
}

function getNumDaysInMonth(month,year) {
	// alert("M: " + month);
	// alert("Y: " + year);
	var daysInMonths=[31,28,31,30,31,30,31,31,30,31,30,31];
	var daysInMonth=daysInMonths[month];
	if (month==1 && isLeapYear(year)) daysInMonth=29;
	return daysInMonth;
}

function isLeapYear(year){
	if((year%4)==0) {
		if(year%100==0) {
			if(year%400==0) return true; else return false;
		}
		else return true;
	}
	else
		return false;
}

function setOptions (day, aryDays) {
	//alert("DAY: " + day.name + ", aryDays.length: " + aryDays.length);
	day.options.length = aryDays.length;
	for (var i = 0; i <  aryDays.length; i++) {
			day.options[i] = aryDays[i];
	}
}
