current_tip = 0;

function setReg(obj)	{
	document.forms.search2.reg_name.value=obj.innerHTML;
	document.forms.search2.region_id.value=obj.value;
	hideLyr('tip_container');
}

document.onkeyup = keyUp;
document.onmousedown = mouseDown;

function keyUp(e) {
	if (!e) e = window.event; // Mozilla knows of 'e', IE doesn't 
	var is_visible = (document.getElementById('tip_container').style.visibility=="visible")? true: false;
	if (!is_visible) return;


	var keycode = e['keyCode'];
	
	options = document.getElementById('tip_container').getElementsByTagName("li");

	// ESC
	if (keycode == 27 || keycode == 9)	{
		hideLyr('tip_container');
		return;
	} else if(e.keyCode == 38) { 	//up arrow
		if(current_tip > 0) {
			last_tip_unselect();
			current_tip--;
			new_tip_select(current_tip);
		}
	} else if(e.keyCode == 40) {	//down arrow
		if(current_tip < options.length - 1) {
			last_tip_unselect();
			current_tip++;
			new_tip_select(current_tip);
		}
	} else if(e.keyCode == 13) { 	//enter
		setReg(options[current_tip]);
	} else {		
		return getTips(document.getElementById('reg_name').value);
	}

}

function last_tip_unselect()	{
	options = document.getElementById('tip_container').getElementsByTagName("li");
	options[current_tip].className = '';
}

function new_tip_select(pos)	{
	options = document.getElementById('tip_container').getElementsByTagName("li");
	options[pos].className = 'selected';
	options[pos].scrollIntoView(false);
	current_tip = pos;
}

function mouseDown(e) {
		if (!e) e = window.event; // Mozilla knows of 'e', IE doesn't 
		var is_visible = (document.getElementById('tip_container').style.visibility=="visible")? true: false;
		var targ = e.target ? e.target:e.srcElement;

		if (is_visible) 
			if (!find_parent(targ, 'tip_container')) {
				hideLyr('tip_container');
			}

	}

function find_parent(el, find_id){
		if (el.id == find_id) return true;
		if (el.parentNode != null && find_parent(el.parentNode, find_id)) return true;
	
		return false;
}
