

	function lookupKeywordAssist(event,input){
		//window.alert("lookup");
		if (!reservedKeyCode(event.keyCode)){
			
			var text = input.value;
			var x = findPosX(input);
			var y = findPosY(input);
			var elem = document.getElementById("div_form_assist");
			if (undefined != elem){
				if ((text.length > 1) && (text.length < 30)){
					//if (((text.length) % 3) == 0){
					
						var url = "search.html?action=1001&f_keyword=";
						url += escape(text);
						
						doAJAXQuery_GET_Silent(url, elem);
						
						elem.className = 'popupFormAssist';
						
						var _left = x;
						var _top = y + 21;
								
						elem.style.left = _left + 'px';
						elem.style.top = _top + 'px';
						elem.style.backgroundColor = '#ffffff';
						elem.style.color = '#000000';
						elem.style.padding = '5pt';
						elem.style.zIndex = 5;
						elem.style.minWidth = '100pt';
						//elem.style.height = '100pt';
						elem.style.textAlign = 'left';
						elem.style.visibility = 'visible';
					//}
				}else{
					setElemHidden("div_form_assist");
				}
			}
		}
	}  
	
	function browseKeywordAssist(event,href){
		if (undefined == event) return;
		var divFormAssist =  document.getElementById("div_form_assist");
		var spanFormAssist = document.getElementById("span_formAssistItemTitle");
		if (undefined == divFormAssist) return;
		if (divFormAssist.style.visibility != 'visible')return;
		if (undefined == spanFormAssist)return;
		if (undefined == spanFormAssist.childNodes) return;
		if (spanFormAssist.childNodes.length == 0) return;
		
		if (event.type == 'keydown'){
				//window.alert("event.type: " + event.type + ", event.keyCode: " + event.keyCode);
				// arrow down
				if(event.keyCode == 40){
				
						var node = getSelectedNode(spanFormAssist.childNodes);
						if (node == null){
							node = document.getElementById("href_formAssist_0");
							node.className = 'form_assist_selected';
							//window.alert("node.innerHTML: " + node.innerHTML);
							formAssistFill_Keyword(node.innerHTML, false);
							
						}else{
							var nodeOrder = parseNodeOrder(node);
							var nextOrder = nodeOrder + 1;
							node.className = 'form_assist';
							var nextNode = document.getElementById("href_formAssist_" + nextOrder);
							if (undefined == nextNode){
								nextNode = document.getElementById("href_formAssist_0");
							}
							nextNode.className = 'form_assist_selected';
							//window.alert("nextNode.innerHTML: " + nextNode.innerHTML);
							formAssistFill_Keyword(nextNode.innerHTML, false);
						}  
						//window.alert("event.type: " + event.type + ", event.keyCode: " + event.keyCode);
					}//end key code 40
					
					//arrow up
					else if (event.keyCode == 38){
						var node = getSelectedNode(spanFormAssist.childNodes);
						if (node == null){
							node = document.getElementById("href_formAssist_0");
							node.className = 'form_assist_selected';
							formAssistFill_Keyword(node.innerHTML, false);
						}else{
							var nodeOrder = parseNodeOrder(node);
							var nextOrder = nodeOrder - 1;
							node.className = 'form_assist';
							var nextNode = document.getElementById("href_formAssist_" + nextOrder);
							if (undefined == nextNode){
								nextNode = getLastNode(spanFormAssist.childNodes);
								//window.alert("lastNode.id: " + nextNode.id);
							}
							nextNode.className = 'form_assist_selected';
							formAssistFill_Keyword(nextNode.innerHTML, false);
						}  

					}// end keyCode 38
					// enter key
					else 
						if (event.keyCode == 13){
							var node = getSelectedNode(spanFormAssist.childNodes);
							if (node != null){
								formAssistFill_Keyword(node.innerHTML, true);
							}
							
					}// end keyCode 13
			}// end event type 'keydown'
			//mouseOver

			else if (event.type == 'mouseover'){
				if (undefined == href) return;
				//window.alert("href.id: " + href.id);
				resetAllNodes(spanFormAssist.childNodes);
				href.className = 'form_assist_selected';
				//formAssistFill_Keyword(href.innerHTML, false);

			}
	}    
	
	function formAssistFill_Keyword(keyword, closeFormAssist){
		//window.alert("keyword: " + keyword);
		var inputKeyword = document.getElementById("f_text_search");
		var divFormAssist =  document.getElementById("div_form_assist");
		if (undefined == inputKeyword) return;
		if (undefined == keyword) return;
		if (undefined == divFormAssist) return;
		if (keyword.length > 256) keyword = keyword.substring(1,256);
		inputKeyword.value = keyword;
		if (closeFormAssist == true){
			setElemHidden("div_form_assist");
		}
		
	}
	
	function getSelectedNode(nodes){
		var node = null;
		for (var i = 0; i < nodes.length; i++){
			if (nodes[i].nodeName == 'A'){
				if (nodes[i].className == 'form_assist_selected'){
					node = nodes[i];
					break;
				}
				
			}
		}
		return node;
	}
	
	function resetAllNodes(nodes){
		for (var i = 0; i < nodes.length; i++){
			if (nodes[i].nodeName == 'A'){
				nodes[i].className = 'form_assist';
			}
		}
	}
	
	function parseNodeOrder(node){
		var nodeId = new String(node.id);
		//window.alert(nodeId.substring("href_formAssist_".length));
		return new Number(nodeId.substring("href_formAssist_".length));
		
	}
	
	function getLastNode(nodes){
		var j = -1;
		for (var i = 0; i < nodes.length; i++){
			if (nodes[i].nodeName == 'A'){
				j++;
			}
		}
		//window.alert("j: " + j);
		return document.getElementById("href_formAssist_" + j);
	}
	
	
	
	
	
	
	
  