﻿// JScript 文件
var hightlight =-1; 
var oInputField;	
var oPopDiv;
var oconUl;
var tempStr;
function initVars(){
	//初始化变量
    tempStr = $("#hidText");
	oInputField = $("#inputText");
	oPopDiv = $("#dropDownDiv");
	oconUl = $("#listItem");
}
function hideDiv()
{
    if(tempStr.val().length>0){
				//取出节点的内容
				clearcon();
				oInputField.val(tempStr.val());
				tempStr.val("");
			}
   clearcon();
 }
function clearcon(){
	//清除提示内容
	if(oconUl!=null)
	{
	oconUl.empty();
	}
	if(oPopDiv!=null)
	    {
	    oPopDiv.removeClass("show");
	    }
}

function setcon(the_con){
	//显示提示框，传入的参数即为匹配出来的结果组成的数组
	clearcon();	//每输入一个字母就先清除原先的提示，再继续
	oPopDiv.addClass("show");
	for(var i=0;i<the_con.length;i++)
		//将匹配的提示结果逐一显示给用户
		oconUl.append($("<li title="+the_con[i]+">"+the_con[i]+"</li>"));
	oconUl.find("li").click(function(){
		oInputField.val($(this).text());
		clearcon();
	}).mouseover(function(){
		tempStr.val($(this).text());
	}).mouseout(function(){
		tempStr.val("");
	}).hover(
		function(){$(this).addClass("mouseOver");},
		function(){$(this).removeClass("mouseOver");}
	);
}
function findcon(event,type){
	initVars();		//初始化变量
	var myEvent = event || window.event;
	var keycode = myEvent.keyCode;   //获取键盘键值
	if ((keycode >= 65 && keycode <= 90) || (keycode >= 48 && keycode <= 57) || (keycode >= 96 && keycode <= 105) || keycode==8 || keycode == 46 || keycode == 32) {
		if(oInputField.val().length > 0){
			//alert(oInputField.val());
			//var url="/info/AutoComplete/AutoCompleteHandler.ashx?type="+type+"&params="+ escape(oInputField.val());
			var url="/AspxAction/AutoComplete.aspx?type="+type+"&params="+ escape(oInputField.val());
			//alert(url);
			$.get(url,function(data){
			        //alert(data);
					var aResult = new Array();
					if(data.length > 0){
						aResult = data.split(",");
						setcon(aResult);	//显示服务器结果
					}
					else
						clearcon();
			});
		}
		else{
		    clearcon();	//无输入时清除提示框（例如用户按del键）
		    hightlight = -1
		}	
      }else if(keycode==38||keycode==40){  //如果输入的是向上向下
            
			if(keycode==38){
			//向上
			  var autoNodes = oconUl.find("li");
			
			   if (hightlight != -1 ){
			   	//把高亮节点恢复
			   	autoNodes.eq(hightlight).removeClass("mouseOver");
				hightlight--;
			   }else{
			   	hightlight = autoNodes.length - 1
			   }
			   
			   if(hightlight == -1){
			   	//如果到顶 把高亮移动到最后
			   	hightlight = autoNodes.length - 1;
			   };
			   autoNodes.eq(hightlight).addClass("mouseOver");	
			}
			if(keycode==40){
			//向下
			   var autoNodes =oconUl.find("li");
			   if (hightlight != -1 ){
			   	//把高亮节点恢复
			   	autoNodes.eq(hightlight).removeClass("mouseOver");
			   }
			   hightlight++;
			   if(hightlight == autoNodes.length){
			   	//如果到顶 把高亮移动到最后
			   	hightlight = 0;
			   }
			   autoNodes.eq(hightlight).addClass("mouseOver");
			}		
		}else if (keycode==13){
			//如果输入的是回车			
			if(hightlight!=-1){
				//取出节点的内容
				var context = oconUl.find("li").eq(hightlight).text();
				clearcon();
				hightlight = -1;
				oInputField.val(context);
			}
		}
}
