function buildOptionSequence (start, end, selected) {
	var retval = '';
/*	if (selected == 0) {
		retval += "<option value=\"\" selected=\"selected\"></option>\n";
	}
*/
	if(selected == 0 || selected == undefined){
	   selected = 7;
	}

	for(var i = start; i <= end; i++) {
		var sel_text = "";
		if(i == selected) {
			sel_text = 'selected="selected"';
		}
		retval += '<option value="'+i+'" '+sel_text+'>'+i+"</option>\n";
	}
	return retval;

}
function addStaticRooms(num){
	if (num < 1) return 0;
	if (num > 8) {
		alert("You may book a maximum of 8 rooms.");
		return 0;
	}
	var room_table = document.getElementById('room_table');
	//alert(num);
	if(num >= room_table.rows.length ){

		for (var i = room_table.rows.length; i <= num; i++) {
			//alert(i);
			var new_row = room_table.insertRow(i);

			var room_number = new_row.insertCell(0);
			var adult_count = new_row.insertCell(1);
			var child_count = new_row.insertCell(2);

			//room_number.innerHTML = '<div align="left"><b>Room #'+i+':</b></div>';
//			adult_count.innerHTML = '<select name="room_'+i+'_adults" id="room_'+i+'_adults" onChange="check_adults()">'+(buildOptionSequence(1,4,2))+"<option value='more'>more</option></select>";
			adult_count.innerHTML = '<select name="room_'+i+'_adults" tabindex="'+(i+3)+'" id="room_'+i+'_adults" onChange="check_adults()">'+(buildOptionSequence(1,4,2))+"<option value='more'>more</option></select>";
			child_count.innerHTML = '<select name="room_'+i+'_children" tabindex="'+(i+3)+'" id="room_'+i+'_children" onChange="selectStaticAges(this.value,'+i+',0);">'+buildOptionSequence(0,2,0)+"</select>";

		}
	}else{
		while ((room_table.rows.length-1) > num) {
			//subtract the label row
			room_table.deleteRow(room_table.rows.length-1);
		}
	}
	return 1;
}/*
function selectStaticAges(child_count, room_no,ages){
	var room_table = document.getElementById('room_table');
	if(ages == 0){
	   ages = 7;
	}
	//for(var i= 1; i<= child_count; i++){
		//var child_age = row_obj.insertCell(3);

	//}
	var current_cells = room_table.rows[room_no].cells.length;

	if(child_count == 2 && current_cells == 3){
		var child_age_1 = room_table.rows[room_no].insertCell(3);
		child_age_1.innerHTML = '<select name=room_'+room_no+'_child_1>' + buildOptionSequence(1,12,ages) + '</select>';
		var child_age_2 = room_table.rows[room_no].insertCell(4);
		child_age_2.innerHTML = '<select name=room_'+room_no+'_child_2>' + buildOptionSequence(1,12,ages) + '</select>';
	}else if(child_count == 2 && current_cells == 4){
		var child_age_2 = room_table.rows[room_no].insertCell(4);
		child_age_2.innerHTML = '<select name=room_'+room_no+'_child_2>' + buildOptionSequence(1,12,ages) + '</select>';

	}else if(child_count == 1 && current_cells == 3){
		var child_age_1 = room_table.rows[room_no].insertCell(3);
		child_age_1.innerHTML = '<select name=room_'+room_no+'_child_1>' + buildOptionSequence(1,12,ages) + '</select>';

	}else if(child_count == 1 && current_cells == 5){

		room_table.rows[room_no].deleteCell(4);
	}else if(child_count == 0){
		room_table.rows[room_no].deleteCell(3);
		//room_table.rows[room_no].deleteCell(3);

	}
}*/
function selectAges(childcount,room_row) {
 	 	var age_table = document.getElementById('children_age_table');
		alert("here called");

 	// If the number of children specified is outside our range,
 	// just have a blank row.
	if((childcount < 0) || (childcount > 2)) {
		if ((childcount == 0) && age_table.rows[room_row]) {
			var delrow = age_table.rows[room_row];
			delrow.cells[0].innerHTML = "";
			if(delrow.cells[1])
				delrow.cells[1].innerHTML = "";
		}
		return 0;
	}

	// Clear the row, if it already exists.
	//if(age_table.rows[room_row]) age_table.deleteRow(room_row);

	if(age_table.rows.length == 1 && age_table.rows[0].cells[1] == undefined) {
		var age_header = age_table.rows[0].insertCell(0);
		age_header.innerHTML = '<b>Childrens\' Ages</b>';
	}


	// check to see if rows above our row exist; if not fill them with blanks
	for(var i = 1; i < room_row; i++) {
		if(!age_table.rows[i]) {
			var dummyrow = age_table.insertRow(i);
			var dummycell = dummyrow.insertCell(0);
			dummycell.innerHTML = "";
		}
	}

	var row_exists = false;
	if (age_table.rows[room_row] != undefined) row_exists = true;

	var diff = 0;
	if (row_exists) {
		diff = childcount - (age_table.rows[room_row].cells.length-1);
								 // -1 from length first to account for label

		if (diff > 0) {
			// Add cells

			// Add the label, if needed.
			if(age_table.rows[room_row].cells[0].innerHTML.length < 1) {
				age_table.rows[room_row].cells[0].innerHTML = 'Room '+room_row;
			}

			// Add the needed cells
			for (var i = age_table.rows[room_row].cells.length; i <= childcount; i++) {
				var x = age_table.rows[room_row].insertCell(i);
				x.innerHTML = '<select name=room_'+room_row+'_child_'+i+'>' + buildOptionSequence(1,12,7) + '</select>';
				x.width = 20;
			}
		} else {
			// Remove cells
			while ((age_table.rows[room_row].cells.length-1) > childcount) {
				//subtract the label row
				age_table.rows[room_row].deleteCell(age_table.rows[room_row].cells.length-1);
				//age_table.rows[0].cells[0].innerHTML = "";
			}

			// In case we removed both children - leave a blank one.
			if (age_table.rows[room_row].cells.length == 1) {
				age_table.rows[room_row].cells[0].innerHTML = "";
			}


		}
	} else {
		// The row doesn't yet exist, we can just plop it in there.
		var newrow = age_table.insertRow(room_row);
		var firstchild = newrow.insertCell(0);
		firstchild.innerHTML = 'Room '+room_row;

		var secondchild = newrow.insertCell(1);
		secondchild.innerHTML = '<select name=room_'+room_row+'_child_1>' + buildOptionSequence(1,12,7) + '</select>';
		secondchild.width = 20;

		if(childcount == 2) {
			var thirdchild = newrow.insertCell(2);
			thirdchild.innerHTML = '<select name=room_'+room_row+'_child_2>' + buildOptionSequence(1,12,7) + '</select>';
		}
	}
	hidechildrenlabel();
}

function hidechildrenlabel(){
    var rows = document.getElementById('room_table').rows.length;
    var tmp=0;
    for (i = 2; i <= rows; i++) {
        var divname = 'room_' + (i - 1) + '_children';
        if (document.getElementById(divname).value > tmp ) {
            tmp = document.getElementById(divname).value;
        }
    }
    if (tmp == 0) {
        $(".fh_child_age1_label").hide();
        $(".fh_child_age2_label").hide();
    }else if (tmp == 1) {
        $(".fh_child_age1_label").show();
        $(".fh_child_age2_label").hide();
    }else if (tmp == 2) {
        $(".fh_child_age1_label").show();
        $(".fh_child_age2_label").show();
    }
}

function addRooms(num) {

	if (num < 1) return 0;
	if (num > 8) {
		alert("You may book a maximum of 8 rooms.");
		return 0;
	}

	var room_table = document.getElementById('room_table');

	// When doing this, -1 from length, because first row is just the header
	var diff = num - (room_table.rows.length - 1);
/*	alert("Value of Diff:" + diff);
	alert("Value of Num:" + num);
	alert("Room Lenght:" + room_table.rows.length);*/
	if (diff > 0) {

		// We need to add rooms.

		for (var i = room_table.rows.length; i <= num; i++) {
//			alert(i);
			var new_row = room_table.insertRow(i);
			var room_number = new_row.insertCell(0);
			var adult_count = new_row.insertCell(1);
			var child_count = new_row.insertCell(2);

			//room_number.innerHTML = '<div align="left"><b>Room #'+i+':</b></div>';
			adult_count.innerHTML = '<select name="room_'+i+'_adults" id="room_'+i+'_adults" onChange="check_adults()">'+(buildOptionSequence(1,4,2))+"<option value='more'>more</option></select>";
			child_count.innerHTML = '<select name="room_'+i+'_children" id="room_'+i+'_children" onChange="selectStaticAges(this.value,'+i+',0);">'+buildOptionSequence(0,2,0)+"</select>";
		}
	} else {
		// We need to remove rooms.

		// clear unneeded child age rows
		var age_table = document.getElementById('children_age_table');
		while ((age_table.rows.length-1) > num) {
			// subtract the label row
			age_table.deleteRow(age_table.rows.length-1);
		}

		// clear unneeded rows
		while ((room_table.rows.length-1) > num) {
			//subtract the label row
			room_table.deleteRow(room_table.rows.length-1);
		}

	}
	//alert ( age_table.rows.length);
	var search_form = document.getElementById('search_form_1');
	if(! search_form.elements["room_1_child_1"] ){
		if(num == 1 && age_table.rows.length == 2  ){
				age_table.deleteRow(0);
			}
	}
}

function rooms_init(num,guests) {

	if (num < 1) return 0;
	if (num > 8) {
		alert("You may book a maximum of 8 rooms.");
		return 0;
	}

	var room_table = document.getElementById('room_table');

	// clear existing rows
	for (var i = (room_table.rows.length - 1); i > 0; i--) {
		room_table.deleteRow(i);
	}

	// clear deprecated child age rows
	var age_table = document.getElementById('children_age_table');
	while ((age_table.rows.length-1) > num) {
		//subtract the label row
		age_table.deleteRow(age_table.rows.length-1);
	}

	for (var i = 1; i <= num; i++) {
		var new_row = room_table.insertRow(i);
		var room_number = new_row.insertCell(0);
		var adult_count = new_row.insertCell(1);
		var child_count = new_row.insertCell(2);

		adult_count.innerHTML = '<select name="room_'+i+'_adults" tabindex='+(i+3)+' id="room_'+i+'_adults" onChange="check_adults()">'+buildOptionSequence(1,4,guests[i-1][0])+"<option value='more'>more</option></select>";
		child_count.innerHTML = '<select name="room_'+i+'_children" tabindex='+(i+3)+' id="room_'+i+'_children" onChange="selectStaticAges(this.value,'+i+',0);">'+buildOptionSequence(0,2,guests[i-1][1].length)+"</select>";
	}

	for(var i = 0; i< guests.length; i++) {
		if (guests[i].length > 0) {
			//selectAgesFilled(guests[i][1].length,i+1,guests[i][1]);

			 selectStaticAges(guests[i][1].length,i+1,guests[i][1]);
		}
	}

}

function selectStaticAges(child_count, room_no,ages){
        var room_table = document.getElementById('room_table');
        if(ages == 0){
           ages = 7;
        }
        //for(var i= 1; i<= child_count; i++){
                //var child_age = row_obj.insertCell(3);

        //}
        var current_cells = room_table.rows[room_no].cells.length;

        if(child_count == 2 && current_cells == 3){
                var child_age_1 = room_table.rows[room_no].insertCell(3);
                child_age_1.innerHTML = '<select tabindex='+(room_no+3)+' name=room_'+room_no+'_child_1>' + buildOptionSequence(1,12,ages[0]) + '</select>';
                var child_age_2 = room_table.rows[room_no].insertCell(4);
                child_age_2.innerHTML = '<select tabindex='+(room_no+3)+' name=room_'+room_no+'_child_2>' + buildOptionSequence(1,12,ages[1]) + '</select>';
        }else if(child_count == 2 && current_cells == 4){
                var child_age_2 = room_table.rows[room_no].insertCell(4);
                child_age_2.innerHTML = '<select tabindex='+(room_no+3)+' name=room_'+room_no+'_child_2>' + buildOptionSequence(1,12,ages[1]) + '</select>';

        }else if(child_count == 1 && current_cells == 3){
                var child_age_1 = room_table.rows[room_no].insertCell(3);
                child_age_1.innerHTML = '<select tabindex='+(room_no+3)+' name=room_'+room_no+'_child_1>' + buildOptionSequence(1,12,ages[0]) + '</select>';

        }else if(child_count == 1 && current_cells == 5){

                room_table.rows[room_no].deleteCell(4);
        }else if(child_count == 0 && room_table.rows[room_no].cells.length > 4){
                room_table.rows[room_no].deleteCell(3);
		room_table.rows[room_no].deleteCell(3);

        }else if(child_count == 0 && room_table.rows[room_no].cells.length > 3 ){
                room_table.rows[room_no].deleteCell(3);
        }
	hidechildrenlabel();

}
function selectAgesFilled(childcount,room_row,ages) {
	alert(childcount+'--------'+room_row+'-------'+ages);
 	var age_table = document.getElementById('children_age_table');

	if((childcount < 1) || (childcount > 2)) {
		if ((childcount == 0) && age_table.rows[room_row]) {
			var delrow = age_table.rows[room_row];
			delrow.cells[0].innerHTML = "";
			if(delrow.cells[1])
				delrow.cells[1].innerHTML = "";
			}
		return 0;
	}

	if(age_table.rows[room_row]) age_table.deleteRow(room_row);

	if(age_table.rows.length == 1 && age_table.rows[0].cells[1] == undefined) {
		var age_header = age_table.rows[0].insertCell(0);
		//age_header.innerHTML = '<b>Childrens\' Ages</b>';
	}

	// check to see if rows above our row exist; if not fill them with blanks
	for(var i = 1; i < room_row; i++) {
		if(!age_table.rows[i]) {
			var dummyrow = age_table.insertRow(i);
			var dummycell = dummyrow.insertCell(0);
			dummycell.innerHTML = "";
		}
	}

	var newrow = age_table.insertRow(room_row);
	var firstchild = newrow.insertCell(0);
	//firstchild.innerHTML = 'Room '+room_row;

	var secondchild = newrow.insertCell(1);
	if(!ages[0]) {
		ages[0] = 0;
	}
	if(!ages[1]) {
		ages[1] = 0;
	}
	secondchild.innerHTML = '<select name=room_'+room_row+'_child_1>' + buildOptionSequence(1,12,ages[0]) + '</select>';
	secondchild.width = 20;

	if(childcount == 2) {
		var thirdchild = newrow.insertCell(2);
		thirdchild.innerHTML = '<select name=room_'+room_row+'_child_2>' + buildOptionSequence(1,12,ages[1]) + '</select>';
	}
}
function get_facilities(code,check) {
	var data = document.getElementById('link_'+code).innerHTML;

	if(data.indexOf('hide') != -1){
		document.getElementById('link_'+code).innerHTML = '<img alt="down arrow" src="/images/12-em-down.png"/> view all facilities';
		document.getElementById('details_'+code).style.display='none';
		return false;
	}else {
		http_request = get_xhttp_object();

		var url = '/cgi-bin/get_facility.cgi?property_id='+code+'&check='+check;

		http_request.open('GET',url,false);
		http_request.send(null);
		if ( http_request.status == 200 ) {

			var response = http_request.responseText;

			document.getElementById('details_'+code).innerHTML = response;
			document.getElementById('details_'+code).style.display='block';

		}else {
		   alert( 'Sorry, An error occurred. Please try again later.' + http_request.responseText );
	   	   return false;
	   	}
	   	document.getElementById('link_'+code).innerHTML = '<img alt="up arrow" src="/images/12-em-up.png"/>hide';
	}
   	return true;
}
function get_xhttp_object(){
	var http_request = false;
    if (window.XMLHttpRequest)
	{ //all but IE
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
		{
            http_request.overrideMimeType('text/xml');
        }
    }
	else if (window.ActiveXObject)
	{ //IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
	if (!http_request)
	{
        alert("http_request could not be established.");
        return false;
    }
	return http_request;
}


function getCookie(c_name)
{

	if (document.cookie.length>0)
		{
			c_start=document.cookie.indexOf(c_name + "=");
				if (c_start!=-1)
				{
				c_start=c_start + c_name.length+1;
				c_end=document.cookie.indexOf(";",c_start);
			   if (c_end==-1) c_end=document.cookie.length;
				return unescape(document.cookie.substring(c_start,c_end));
				}
		}
	return "";
}

function init_recent_search () {
	var cookie 		  = unescape($.cookie('array_qid'));
	cookie			  = cookie.replace(/\+/g,' ');
	cookie_detail 	  = cookie.split("|");

	for ( var i = 0 ; i < cookie_detail.length-1 ; i++ ) {
		var string = cookie_detail[i];
		var loc_query = string.substring(string.indexOf("&location_query=")+16,string.indexOf("&arrival_date="));
		var check_in  = string.substring(string.indexOf("&arrival_date=")+14,string.indexOf("&start_date"));
		$("<option value="+(i+1)+">"+loc_query+"; "+check_in+"</option>").appendTo("#recent_search");
	}

}
