// JavaScript Document

<!--
	var stayLen=2;
	var daysofmonth   = new makeArray(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var daysofmonthLY = new makeArray(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var	oneDay = 24*60*60*1000;

function makeArray()    {
    this[0] = makeArray.arguments.length;
    for (i = 0; i<makeArray.arguments.length; i++)
        this[i+1] = makeArray.arguments[i];
}

function LeapYear(year) {
    if ((year/4)   != Math.floor(year/4))   return false;
    if ((year/100) != Math.floor(year/100)) return true;
    if ((year/400) != Math.floor(year/400)) return false;
    return true;
}

function getYr(frm, ArrDep) {

   now = new Date;
   year = now.getYear();
   month = now.getMonth();


   ArrM = Number(frm.arrivalMonth.value);
   ArrD = Number(frm.arrivalDay.value);
   DepM = Number(frm.departureMonth.value);
   DepD = Number(frm.departureDay.value);

    if (ArrM < month) {
		var ArrY = year+1;
		if (DepM < ArrM) var DepY = ArrY+1;
		else var DepY = ArrY;
		}
	else {
		var ArrY = year;
	    if (DepM < month) var DepY = year+1;
		else var DepY = year;
		}
		
	if (ArrDep='A') {return ArrY}
	else if (ArrDep='D') {return DepY}
}


function PopulateDay(objMnth, objDay, fYear)
   {
    var daySel = objDay.value
    objDay.options.length=0;

	if (LeapYear(fYear)) var days = daysofmonthLY[objMnth.selectedIndex+1]; 
    else                 var days = daysofmonth[objMnth.selectedIndex+1];
	

    for (intCounter=0;intCounter<days;intCounter++)
    {
     objDay[intCounter] = new Option
        (intCounter+1,intCounter+1,false,false);
    }
	if (daySel > days) daySel = days
	objDay.value = daySel
   }

function getstayLen(frm) {

	var Arrive = new Date(getYr(frm,'A'), ArrM, ArrD);
	var Depart = new Date(getYr(frm,'D'), DepM, DepD);
	
	var diff = new Date(Depart.getTime() - Arrive.getTime());
	return (diff.getTime()/oneDay);
}

function updateDep(frm, stayLen) {
   now = new Date;
   year = now.getYear();
   month = now.getMonth();
   
   ArrM = frm.arrivalMonth.value;
   ArrD = frm.arrivalDay.value;
   
    if (frm.arrivalMonth.value < month) ArrY = year+1;
	else ArrY = year;
	var Arrive = new Date(ArrY, ArrM, ArrD);
	initDep(frm, Arrive, stayLen);
}


function initDep(frm, arr, stayLen) {
var dep = new Date(arr.getTime() + stayLen*oneDay);
var year = dep.getYear();

frm.departureMonth.value = dep.getMonth();
PopulateDay(frm.departureMonth, frm.departureDay, year);
frm.departureDay.value = dep.getDate();
}

function initForm(frm, stayLen) {
if (document.forms.length > 0) {
var now = new Date;
var arr = new Date(now.getTime() + 14*oneDay);
var year = arr.getYear();

frm.arrivalMonth.value = arr.getMonth();
PopulateDay(frm.arrivalMonth, frm.arrivalDay, year);
frm.arrivalDay.value = arr.getDate();

initDep(frm, arr, stayLen);
}
}

//-->
