// JavaScript Document

 var adultsPerRoom=new Array(defaultAdults);
 var childrenPerRoom=new Array();
 var childAgesPerRoom=new Array();
 var numRooms=1;
 var maxChildren=0;

 refresh();

 function setChildAge(room, child, age) {
	 if (childAgesPerRoom[room] == null) {
		 childAgesPerRoom[room] = new Array();
	 }
	 childAgesPerRoom[room][child] = age;
 }

 function setNumAdults(room, numAdults) {
	 adultsPerRoom[room] = numAdults;
 }

 function setNumChildren(room, numChildren) {
	 childrenPerRoom[room] = numChildren;
	 refresh();
 }

 function setNumRooms(x) {
	 numRooms = x;
	 for (i = 0; i < x; i++) {
		 if (adultsPerRoom[i] == null) {
			 adultsPerRoom[i] = 2;
		 }
		 if (childrenPerRoom[i] == null) {
			 childrenPerRoom[i] = 0;
		 }
	 }
	 refresh();
 }

 function renderRoomSelect() {
	 var x = '';
	 x += '<select name="numberOfRooms" onchange="setNumRooms(this.options[this.selectedIndex].value);">';
	 for (var i = 1; i < 9; i++) {
		 x += '<option value="'+i+'"'+(numRooms == i ? ' selected' : '')+'>' + i;
	 }
	 x += '<option value="9"'+(numRooms == 9 ? ' selected' : '')+'>9+';
	 x += '</select>';
	 return x;
 }

 function refresh() {
	 maxChildren = 0;
	 for (var i = 0; i < numRooms; i++) {
		 if (childrenPerRoom[i] > maxChildren) {
			 maxChildren = childrenPerRoom[i];
		 }
	 }

	 var x = '';
	 if (adultHelp.length > 0) {
		 x = adultHelp + "<p>\n";
	 }

	 if (numRooms > 8) {
		 x += textRooms;
		 x += renderRoomSelect();

	 } else {
		 x += '<table border="0" cellspacing="2" cellpadding="0">\n';
		 x += '<tr><td'+cellStyle+'>'+textRooms+pad+'</td>';
		 if (numRooms > 1) {
			 x += '<td'+cellStyle+'>&nbsp;</td>';
		 }
		 x += '<td'+cellStyle+'><nobr>'+textAdults+pad+'</nobr></td><td'+cellStyle+'><nobr>'+textChildren+pad+'</nobr></td></tr>\n';
		 for (var i = 0; i < numRooms; i++) {
			 x += '<tr><td'+cellStyle+'>';
			 if (i == 0) {
				 x += renderRoomSelect();
			 } else {
				 x += '&nbsp;';
			 }
			 x += '</td>';
			 if (numRooms > 1) {
				 x += '<td'+cellStyle+'><nobr>'+getValue(textRoomX, i+1)+pad + '</nobr></td>';
			 }
			 x += '<td'+cellStyle+'>';
			 x += buildSelect('room-' + i + '-adult-total', 'setNumAdults(' + i + ', this.options[this.selectedIndex].value)', 1, 4, adultsPerRoom[i]);
			 x += '</td><td'+cellStyle+'>';
			 x += buildSelect('room-' + i + '-child-total', 'setNumChildren(' + i + ', this.options[this.selectedIndex].value)', 0, 6, childrenPerRoom[i]);
			 x += '</td></tr>\n';
		 }
		 x += '</table>\n';

		 var didHeader = false;
		 for (var i = 0; i < numRooms; i++) {
			 if (childrenPerRoom[i] > 0) {
				 if (!didHeader) {
					 x += '<table border="0" cellpadding="0" cellspacing="2">\n';
					 x += '<tr><td'+cellStyle+' colspan="'+(maxChildren+1)+'">';
					 x += '<img src="http://travel.ian.com/images/p.gif" width="1" height="5"><br>';
					 x += childHelp;
					 x += '<img src="http://travel.ian.com/images/p.gif" width="1" height="5"><br>';
					 x += '</td></tr>\n<tr><td'+cellStyle+'>&nbsp;</td>';
					 for (var j = 0; j < maxChildren; j++) {
						 x += '<td'+cellStyle+'><nobr>'+getValue(textChildX, j+1)+pad+'</nobr></td>\n';
					 }
					 didHeader = true;
				 }
				 x += '</tr>\n<tr><td'+cellStyle+'><nobr>'+getValue(textRoomX, i+1)+pad+'</nobr></td>';
				 for (var j = 0; j < childrenPerRoom[i]; j++) {
					 x += '<td'+cellStyle+'>';
					 var def = -1;
					 if (childAgesPerRoom[i] != null) {
						 if (childAgesPerRoom[i][j] != null) {
							 def = childAgesPerRoom[i][j];
						 }
					 }
					 x += '<select name="room-'+i+'-child-'+j+'-age" onchange="setChildAge('+i+', '+j+', this.options[this.selectedIndex].value);">';
					 x += '<option value="-1"'+(def == -1 ? ' selected' : '')+'>-?-';
					 x += '<option value="0"'+(def == 0 ? ' selected' : '')+'>&lt;1';
					 for (var k = 1; k <= 18; k++) {
						 x += '<option value="'+k+'"'+(def == k ? ' selected' : '')+'>'+k;
					 }
					 x += '</td>';
				 }
				 if (childrenPerRoom[i] < maxChildren) {
					 for (var j = childrenPerRoom[i]; j < maxChildren; j++) {
						 x += '<td'+cellStyle+'>&nbsp;</td>';
					 }
				 }
				 x += '</tr>\n';
			 }
		 }
		 if (didHeader) {
			 x += '</table>\n';
		 }
	 }

	 document.getElementById("hot-search-params").innerHTML = x;
 }

 function buildSelect(name, onchange, min, max, selected) {
	 var x = '<select name="' + name + '"';
	 if (onchange != null) {
		 x += ' onchange="' + onchange + '"';
	 }
	 x +='>\n';
	 for (var i = min; i <= max; i++) {
		 x += '<option value="' + i + '"';
		 if (i == selected) {
			 x += ' selected';
		 }

		 x += '>' + i + '\n';
	 }
	 x += '</select>';
	 return x;
 }

 function validateGuests(form) {
	 if (numRooms < 9) {
		 var missingAge = false;
		 for (var i = 0; i < numRooms; i++) {
			 var numChildren = childrenPerRoom[i];
			 if (numChildren != null && numChildren > 0) {
				 for (var j = 0; j < numChildren; j++) {
					 if (childAgesPerRoom[i] == null || childAgesPerRoom[i][j] == null || childAgesPerRoom[i][j] == -1) {
						 missingAge = true;
					 }
				 }
			 }
		 }

		 if (missingAge) {
			 alert(textChildError);
			 return false;
		 } else {
			 return true;
		 }
	 } else {
		 return true;
	 }
 }

 function submitGuestInfoForm(form) {
	 if (!validateGuests(form)) {
		 return false;
	 }

	 return true;
 }

 function getValue(str, val) {
	 return str.replace(/\?/g, val);
 }
	loadDates();

