﻿//start new script code
// Checks if browser is Netscape 2.0x since the options array properties don't work with Netscape 2.0x
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 loadDates(arrivalMonthSelect,  arrivalDaySelect, departureMonthSelect, departureDaySelect)
{
	var calendar = new Date();
	var calendar2 = new Date();
	var cal
	var cal2
	var date;
	var month;
	var year;
	var date2;
	var month2;
	var year2;

	//Here is the variable to change for to advance the arrival Date
	var advanceArrival = 14;
	//Here is the variable to change for to advance the departure Date
	var advanceDeparture = 16;


	//Set the arrival Days
	calendar.setDate(calendar.getDate()+ advanceArrival);
	date = calendar.getDate();
	month = calendar.getMonth();

	//Set the Departure Days
	calendar2.setDate(calendar2.getDate()+advanceDeparture);
	date2 = calendar2.getDate();
	month2 = calendar2.getMonth();

	arrivalMonthSelect.value=month;
	arrivalDaySelect.value=date;
	departureMonthSelect.value=month2;
	departureDaySelect.value=date2;
}

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 submitForm() {
//    for(a=0; a < document.hotSearch.
		if (document.hotSearch.numberOfRooms.value == 5) {
				window.location="http://www.travelnow.com/index.jsp?pageName=groups&cid=102541";
				return false;
		}
				return true;
}

function clickAll() {
// deactivate other amenities
		if(document.hotSearch.allAmenities.checked == true) {
				for (var i = 0; i < document.hotSearch.elements.length; i++) {
						if (document.hotSearch.elements[i].name == "amenities") {
								document.hotSearch.elements[i].checked = false;
						}
				}
		return true;
		} else {
				document.hotSearch.allAmenities.checked = true;
				return false;
		}
}

function clickOther(e) {
e.form.allAmenities.checked = false;
var totalChecked = 0;
for (var i = 0; i < e.form.elements.length; i++) {
if (e.form.elements[i].name == "amenities") {
if (e.form.elements[i].checked) {
totalChecked++;
}
}
}
if (totalChecked == 0) {
e.form.allAmenities.checked = true;
} else if (totalChecked > 3) {
e.checked = false;
alert("You cannot select more than three Preferences. Please uncheck a preference before checking a different one.".replace("'","\'"));
}
return;
}