var j=-1;
var temp_str;

//由于document.getElementById经常被使用，我们用$来简写此函数
var $=function(node){
	return document.getElementById(node);
}

//对document.getElementsByTagName也做简写
var $$=function(node){
	return document.getElementsByTagName(node);
}

//异步读取数据库数据，将结果显示在suggest div中
function ajax_keyword(){
	var xmlhttp;
	try{
		xmlhttp=new XMLHttpRequest();
		}
	catch(e){
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	xmlhttp.onreadystatechange=function(){
	if (xmlhttp.readyState==4){
		if (xmlhttp.status==200){
			var data=xmlhttp.responseText;
			//对结果进行unescape解码以防止中文乱码
			$("suggest").innerHTML=unescape(data);
			j=-1;
			}
		}
	}
	xmlhttp.open("post", "ajax_result.asp", true);
	xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	xmlhttp.send("keyword="+escape($("keyword").value));
}

//处理按键动作
function keyupdeal(e){
	var keyc;
	if(window.event){
		keyc=e.keyCode;
	}
	else if(e.which){
		keyc=e.which;
	}
	if(keyc!=40 && keyc!=38){
		ajax_keyword();
		temp_str=$("keyword").value;
	}
}

//设置建议框的样式表，高亮显示
function set_style(num){
	for(var i=0;i<$$("li").length;i++){
		var li_node=$$("li")[i];
		li_node.className="";
	}
	if(j>=0 && j<$$("li").length){
		var i_node=$$("li")[j];
		$$("li")[j].className="select";
	}
}

//选定建议项时，高亮显示当前行
function mo(nodevalue){
	j=nodevalue;
	set_style(j);
}

//提交表单动作
function form_submit(){
	if(j>=0 && j<$$("li").length){
		$$("input")[0].value=$$("li")[j].childNodes[0].nodeValue;
	}
	//document.Enter.submit();
}

//隐藏建议框
function hide_suggest(){
	var nodes=document.body.childNodes
	for(var i=0;i<nodes.length;i++){
		if(nodes[i]!=$("keyword")){
			$("suggest").innerHTML="";
			}
		}
	}
	
//搜索框按键按下事件的动作
function keydowndeal(e){
	var keyc;
	if(window.event){
		keyc=e.keyCode;
		}
	else if(e.which){
		keyc=e.which;
		}
	if(keyc==40 || keyc==38){
	if(keyc==40){
		if(j<$$("li").length){
			j++;
			if(j>=$$("li").length){
				j=-1;
			}
		}
		if(j>=$$("li").length){
				j=-1;
			}
	}
	if(keyc==38){
		if(j>=0){
			j--;
			if(j<=-1){
				j=$$("li").length;
			}
		}
		else{
			j=$$("li").length-1;
		}
	}
	set_style(j);
	if(j>=0 && j<$$("li").length){
		$("keyword").value=$$("li")[j].childNodes[0].nodeValue;
		}
	else{
		$("keyword").value=temp_str;
		}
	}
}