var cellStyle=' align="center" bgcolor="#EBF6FC" ';
var childHelp="<font face=Arial size=2>What is the age of each children in each room?</font>";
var adultHelp="";
var textRooms="Rooms:";
var textAdults="Adults: (18+)";
var textChildren="Children: (under 17)";
var textChildError="<font face=Arial size=2>Please specify the ages of all children.</font>";
var pad='<img src="/images/spacer.gif" width="5" height="1" alt="">';
var textRoomX="<font face=Arial size=2>Room ?:</font>";
var textChildX="<font face=Arial size=2>Child ?:</font>";
var childrenPerRoom=new Array();
var adultsPerRoom=new Array();
var childAgesPerRoom=new Array();
var numRooms=0;
var maxChildren=0;
var pad='<img src="/images/spacer.gif" width="5" height="1" alt="">';
adultsPerRoom[0]=2;
childrenPerRoom[0]=0;
numRooms=1;
if (numRooms < 1) {
numRooms = 1;
}
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 += '<table border="0" cellspacing="2" cellpadding="3">\n';
x += '<tr><td'+cellStyle+'><font face="Arial" size="2">'+textRooms+pad+'</font></td><td>';
x += renderRoomSelect();
x += '</td></tr></table>';
} else {
x += '<table width="100%" border="0" cellspacing="2" cellpadding="3">\n';
x += '<tr><td'+cellStyle+'><font face="Arial" size="2">'+textRooms+pad+'</font></td>';
if (numRooms > 1) {
x += '<td'+cellStyle+'>&nbsp;</td>';
}

x +=  '<td'+cellStyle+'><font face="Arial" size="2"><nobr>'+textAdults+pad+'</nobr></font></td><td'+cellStyle+'><font face="Arial" size="2"><nobr>'+textChildren+pad+'</nobr></font></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, 3, 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 width="100%" border="0" cellpadding="0" cellspacing="2">\n';
x += '<tr><td'+cellStyle+' colspan="'+(maxChildren+1)+'">';
x += '<img src="/images/spacer.gif" width="1" height="5" alt=""><br>';
x += childHelp;
x += '<img src="/images/spacer.gif" width="1" height="5" alt=""><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' : '')+'>- dont know -';
x += '<option value="0"'+(def == 0 ? ' selected' : '')+'>under 1';
for (var k = 1; k <= 17; 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);
}