function isBrowserSupp() {

// Get the version of the browser

version =  parseFloat( navigator.appVersion );



if ( ( version >= 2.0 ) && ( version < 2.1 ) && ( navigator.appName.indexOf( "Netscape" ) != -1 ) ) {

return false;

} else {

return true;

}



return true;

}



function isLeapYear( yrStr ) {

var leapYear = false;

var year = parseInt( yrStr, 10 );

// every fourth year is a leap year

if ( year % 4 == 0 ) {

leapYear = true;

// unless it's a multiple of 100

if( year % 100 == 0 ) {

leapYear = false;

// unless it's a multiple of 400

if( year % 400 == 0 ) {

leapYear=true;

}

}

}

return leapYear;

}



function getDaysInMonth( mthIdx, YrStr ) {

// all the rest have 31

var maxDays = 31

// expect Feb. (of course)

if( mthIdx == 1 ) {

if( isLeapYear( YrStr ) ) {

maxDays=29;

} else {

maxDays=28;

}

}



// thirty days hath...

if( mthIdx == 3 || mthIdx == 5 || mthIdx == 8 || mthIdx == 10 ) {

maxDays=30;

}

return maxDays;

}





//the function which does some magic to the date fields

// return non-zero if it is the last day of the month

function adjustDate( mthIdx, Dt ) {

var value = 0;



var today = new Date()

var theYear = parseInt( today.getYear(), 10 )



if( mthIdx < today.getMonth() ) {

theYear = ( parseInt( today.getYear(), 10 ) + 1 )

}

if( theYear < 100 ) {

theYear = "19" + theYear

} else {

if( ( theYear - 100 ) < 10 ) {

theYear = "0" + ( theYear - 100 )

} else {

theYear = ( theYear - 100 ) + ""

}

theYear = "20" + theYear

}





var numDays = getDaysInMonth( mthIdx, theYear );



if( mthIdx == 1 ) {

if( Dt.options.selectedIndex + 1 < numDays ) {

return 0;

} else {

Dt.options.selectedIndex=numDays - 1;

//check for leap year

if( numDays == 29 ) {

return 99;

} else {

return 1;

}

}

}



if( Dt.options.selectedIndex + 1 < numDays ) {

value = 0;

} else {

if ( Dt.options.selectedIndex + 1 > numDays ) {

Dt.options.selectedIndex--;

value = 3;

} else {

//index is 31 or 30

value = 2;

}

}

return value;

}



//changes departure month when arrival month is changed

function amadChange( inM, inD, outM, outD ) {

if ( !isBrowserSupp() ) {

return;

}



var res = adjustDate( inM.options.selectedIndex, inD );

if( res != 0 ) {

outD.options.selectedIndex = 0;

if ( outM.options.selectedIndex == 11 ) {

outM.options.selectedIndex = 0

} else {

outM.options.selectedIndex=inM.options.selectedIndex + 1;

outD.options.selectedIndex = 1;

}

} else {

outM.options.selectedIndex = inM.options.selectedIndex;

if (outD.options.selectedIndex <= inD.options.selectedIndex) {

outD.options.selectedIndex = inD.options.selectedIndex + 2;

}

}

return;

}





function dmddChange( outM, outD ) {

if ( !isBrowserSupp() ) {

return;

}



adjustDate( outM.options.selectedIndex, outD );

return;

}







function OpenWindow(file, name, width, height) {

OpenWindow(file, name, width, height, false);

}



function OpenWindow(file, name, width, height, showLeftTopScrollbar) {

var attr = "";

if(showLeftTopScrollbar) {

attr += "top=50,left=50,scrollbars=1,";

}

attr += "width=" + width + ",height=" + height + ",resizeable=1";

window.open(file, name, attr);

}



function loadDefaultDates() {

var airArrival = new Date();

var airDeparture = new Date();



var airAdvanceArrival = 14;

var airAdvanceDeparture = 15;



airArrival.setDate( airArrival.getDate() + airAdvanceArrival );

airDeparture.setDate( airDeparture.getDate() + airAdvanceDeparture );



document.forms['airForm'].departureMonth.value = airArrival.getMonth();

document.forms['airForm'].returnMonth.value = airDeparture.getMonth();

document.forms['airForm'].departureDay.value = airArrival.getDate();

document.forms['airForm'].returnDay.value = airDeparture.getDate();






}



function validateDepWindow(formName) {

if (document.forms[formName].tempDepTime[document.forms[formName].tempDepTime.selectedIndex].value==('M')) {

window.document.forms[formName].tripWindow.value='5';

window.document.forms[formName].departureTime.value='7AM';

} else if (document.forms[formName].tempDepTime[document.forms[formName].tempDepTime.selectedIndex].value==('A')) {

window.document.forms[formName].tripWindow.value='5';

window.document.forms[formName].departureTime.value='3PM';

} else if (document.forms[formName].tempDepTime[document.forms[formName].tempDepTime.selectedIndex].value==('E')) {

window.document.forms[formName].tripWindow.value='5';

window.document.forms[formName].departureTime.value='8PM';

} else if(document.forms[formName].tempDepTime[document.forms[formName].tempDepTime.selectedIndex].value==('ANT')) {

window.document.forms[formName].tripWindow.value='9';

window.document.forms[formName].departureTime.value='12PM';

} else {

window.document.forms[formName].tripWindow.value='5';

window.document.forms[formName].departureTime.value=document.forms[formName].tempDepTime.value;

}

}



function validateRetWindow(formName) {

if (document.forms[formName].tempRetTime[document.forms[formName].tempRetTime.selectedIndex].value==('M')) {

window.document.forms[formName].returnTime.value='7AM';

} else if (document.forms[formName].tempRetTime[document.forms[formName].tempRetTime.selectedIndex].value==('A')) {

window.document.forms[formName].returnTime.value='3PM';

} else if (document.forms[formName].tempRetTime[document.forms[formName].tempRetTime.selectedIndex].value==('E')) {

window.document.forms[formName].returnTime.value='8PM';

} else if(document.forms[formName].tempRetTime[document.forms[formName].tempRetTime.selectedIndex].value==('ANT')) {

window.document.forms[formName].returnTime.value='12PM';

} else {

window.document.forms[formName].returnTime.value=window.document.forms[formName].tempRetTime.value;

}

}



-->



<!--

function update(themonth,theday){

document.forms[fName].elements[formType+'Day'].options[theday - 1].selected = true;

document.forms[fName].elements[formType+'Month'].options[themonth].selected = true;



testWindow.close();

}





function loadCalendar(viewMonth) {





testWindow.document.close();

testWindow.document.open();





var day_of_week = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

var month_of_year = new Array("January","February","March","April","May","June","July","August","September","October","November","December");



var dateObj = new Date();

var year = dateObj.getYear();     // Returns year

var month = dateObj.getMonth();  // Returns month (0-11)

var today = dateObj.getDate();   // Returns day (1-31)

var weekday = dateObj.getDay();  // Returns day (1-31)



var DAYS_OF_WEEK = 7;   // "constant" for number of days in a week

var DAYS_OF_MONTH = 31; // "constant" for number of days in a month

var cal;                // Used for printing



if (viewMonth < month) {

										year = year + 1;

}



if(year < 1900){

										year += 1900; //done to solve the problem of netscape and mozilla returning year in form 10X for years > 2000

}



month = viewMonth;

dateObj.setDate(1);      // Start the calendar day at '1'

dateObj.setMonth(month); // Start the calendar month at now

dateObj.setYear((year));



// VARIABLES FOR FORMATTING

var TR_start = '<TR>';

var TR_end = '</TR>';

var highlight_start = '<TD WIDTH="30"><TABLE CELLSPACING=0 BORDER=1 BGCOLOR=DEDEFF BORDERCOLOR=CCCCCC><TR><TD WIDTH=20><B><CENTER>';

var highlight_end   = '</CENTER></TD></TR></TABLE></B>';

var TD_start = '<TD WIDTH="30"><CENTER>';

var TD_end = '</CENTER></TD>';

var prevM = month - 1;

var nextM = month + 1;



if (nextM == 12) {

										nextM = 0;

}



if (prevM == -1) {

										prevM = 11;

}



// BEGIN CODE FOR CALENDAR

cal =  '<html><head><title>Calendar</title></head><body>';

cal += "<style>a:link{cursor: hand}a:active{cursor: hand}a:hover{cursor: hand}a:visited{cursor: hand}body{cursor: default}</style>";



// NOTE:

// Update the calendar.js reference below to reference where you

// put the calendar.js file.



// cal += '<SCRIPT SRC="calendar.js"></SCRIPT>';



cal += '<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="0" BORDERCOLOR="BBBBBB" width="100%" height="200"><TR><TD>';

cal += '<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="2" width="100%">' + TR_start;

cal += '<TD COLSPAN="' + DAYS_OF_WEEK + '" BGCOLOR="#EFEFEF"><CENTER><B>';

cal += month_of_year[month]  + '   ' + year + '</B>' + TD_end + TR_end;

cal += TR_start;



///////////////////////////////////

// DO NOT EDIT BELOW THIS POINT  //

///////////////////////////////////



// LOOPS FOR EACH DAY OF WEEK

for(index=0; index < DAYS_OF_WEEK; index++) {

// PRINTS DAY

cal += TD_start + day_of_week[index] + TD_end;

}



cal += TD_end + TR_end;

cal += TR_start;



// FILL IN BLANK GAPS UNTIL TODAY'S DAY

for(index=0; index < dateObj.getDay(); index++) {

cal += TD_start + '  ' + TD_end;

}



// LOOPS FOR EACH DAY IN CALENDAR

for(index=0; index < DAYS_OF_MONTH; index++) {

if( dateObj.getDate() > index ) {

// RETURNS THE NEXT DAY TO PRINT

week_day =dateObj.getDay();



// START NEW ROW FOR FIRST DAY OF WEEK

if(week_day == 0) {

cal += TR_start;

}



if(week_day != DAYS_OF_WEEK) {

// SET VARIABLE INSIDE LOOP FOR INCREMENTING PURPOSES

var day  = dateObj.getDate();



// PRINTS DAY

cal += TD_start + "<span onclick='window.opener.update(" + month + "," + day + ")' style='cursor:hand;font-weight:bold;background:#EFEFEF;width:22px;'>" + day + "</span>" + TD_end;

}



// END ROW FOR LAST DAY OF WEEK

if(week_day == DAYS_OF_WEEK) {

cal += TR_end;

}

}



// INCREMENTS UNTIL END OF THE MONTH

dateObj.setDate(dateObj.getDate()+1);



}// end for loop



cal += '</center></td></TR></table></TABLE><br>';

cal += '<div align="center"><a href="javascript:" onClick="window.opener.loadCalendar(' + prevM + ');">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;&nbsp;';

cal += '<a href="javascript:" onClick="window.opener.loadCalendar(' + nextM + ');">&gt;&gt;</a><br><br></div>';

cal += '<div align="right"><a href="javascript:window.close();">close</a></div>';

cal += '</body></html>';



//  PRINT CALENDAR

testWindow.document.write(cal);

}



var testWindow;

var formType;

var fName;



function openCalendar(formName,type) {

formType=type;

fName=formName;

testWindow = window.open('','dates','width=360,height=300,resizable=1,status=1,menubar=0,location=0');

loadCalendar(document.forms[fName].elements[formType+'Month'].selectedIndex);

}

//-->
