// JavaScript Document

//Dynamic search (auto-suggest) written by Kent Safranski (http://www.fluidbyte.net)

var dropDownOpen = false;

// Where to send the query on normal (unassisted search)...

var searchPage = "search.asp?q="

// Where to send the query to dynamically load autosuggestions...

var dynamicResults = "http://www.stamford.com.au/clients/Stamford/dyn_results.asp?q="

function hideOptions() {

 // Pause before closing (imparitive for item on-click event)
 
 setTimeout("document.getElementById('dynResults').style.display='none';", 200);
 setTimeout("document.getElementById('day').style.visibility ='visible';", 200);
 setTimeout("document.getElementById('month').style.visibility ='visible';", 200);
 setTimeout("document.getElementById('year').style.visibility ='visible';", 200);
 setTimeout("document.getElementById('adults').style.visibility ='visible';", 200);
 setTimeout("document.getElementById('children').style.visibility ='visible';", 200);
 setTimeout("document.getElementById('rooms').style.visibility ='visible';", 200);
}

function showOptions() {

	document.getElementById('dynResults').style.display='block';
	document.getElementById("day").style.visibility = "hidden";
	document.getElementById("month").style.visibility = "hidden";
	document.getElementById("year").style.visibility = "hidden";
	document.getElementById("adults").style.visibility = "hidden";
	document.getElementById("children").style.visibility = "hidden";
	document.getElementById("rooms").style.visibility = "hidden";
}

function closeOptionsMenu() {
	hideOptions();
}

function makeSelection(itemValue) {
  document.getElementById('dynField').value = itemValue;
  hideOptions();
}

function scrollSelection(itemValue) {
	
  document.getElementById('dynField').value = itemValue;
	
}

function sendSearch() {
	
  window.location.href = searchPage + document.getElementById('dynField').value;
  
}

function moveDown() {
  
 
  var currentSelection = document.getElementById('dynCurSelect').value;
  
  //Highlight new selected item

  if(document.getElementById('item'+(parseInt(currentSelection)+1)) != null) {
  
  document.getElementById('item'+(parseInt(currentSelection)+1)).className='itemHighlight'; 
  
  //Remove highlighting from previous selected item
  
  if (parseInt(currentSelection) > -1) {
	
	document.getElementById('item'+currentSelection).className='itemNoHighlight';
	
  }
  
  //Set new value for currently selected

  document.getElementById('dynCurSelect').value = parseInt(currentSelection)+1;
  
  //Change value of text field
	  
  scrollSelection(document.getElementById('value'+(parseInt(currentSelection)+1)).value);
  }
	
}


function moveUp() {
  
  
  var currentSelection = document.getElementById('dynCurSelect').value;
  
  if (parseInt(currentSelection) > 0){
  
	  //Highlight new selected item
	  
	  document.getElementById('item'+(parseInt(currentSelection)-1)).className='itemHighlight'; 
	  
	  //Remove highlighting from previous selected item
	  
	  document.getElementById('item'+currentSelection).className='itemNoHighlight';
	  
	  //Set new value for currently selected
	
	  document.getElementById('dynCurSelect').value = parseInt(currentSelection)-1;
	  
	  //Change value of text field
	  
	  scrollSelection(document.getElementById('value'+(parseInt(currentSelection)-1)).value);
	  
  }
	
}

function dynSearchProcess(q, e){

	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	
	switch (keycode) {
		
	case 40:
	  
		//Up arrow
		moveDown();
		break;
	  
	case 38:
	
		//Down arrow
		moveUp();
		break;
		
	//case 13:
	
		//Enter key
		//hideOptions();
		//sendSearch();
		//break;
		
	default:
	
		var xmlHttp
		var pageRequest = false;
		if (window.XMLHttpRequest) pageRequest = new XMLHttpRequest();
		else if (window.ActiveXObject) pageRequest = new ActiveXObject("Microsoft.XMLHTTP");
		else return false;
		
		pageRequest.onreadystatechange = function () {
		var object = document.getElementById('dynResults');
		
		  //hide options if blank
			
			if (q == '') {

				hideOptions();			
			}
			
			else {
				showOptions();
			}
		
		if (pageRequest.readyState == 4)
		object.innerHTML = pageRequest.responseText;
		else object.innerHTML = '<center>Searching...</center>';
		
		}


		//alert(dynamicResults+q)		
		pageRequest.open('Get',dynamicResults+q,true);
		pageRequest.send(null);
		
		//Set current selected to default
		
		document.getElementById('dynCurSelect').value = -1;
		
		break;
		
		}
	
}