
//全局变量定义
var flag=false;
var listlength=0;
var lastindex=-1;
var oldindex=-1;

//httpRequest请求接口
function ajaxsearch(value){
	XMLHttp.sendReq('GET','/inc/resultCount.aspx?t=1&keyName='+escape(value),null, showresult);
}

//返回函数，生成显示内容
function showresult(xmlHttp){
	if(xmlHttp.readyState == 4){ 
		if (xmlHttp.status == 200 || xmlHttp.status == 0){
			// 取得XML的DOM对象
			var xmlDOM = xmlHttp.responseXML;
			// 取得XML文档的根
			var root = xmlDOM.documentElement; 
			try{
				var txt="";
				var bi=root.selectNodes("Result");
				var resultstring=new StringBuffer();
				if(bi!=null&&bi.length>0){
					for(var i=0;i<bi.length;i++){
						resultstring.append('<div id="item'+i+'" onmousemove="focusitem('+i+')" onmousedown="searchclick('+i+')">');
						resultstring.append('<span id=title'+i+'>');
						resultstring.append(bi[i].childNodes[0].text);
						resultstring.append('</span>');
						resultstring.append('<span class=swidth id=hits'+i+'>约 ');
						resultstring.append(bi[i].childNodes[1].text);
						resultstring.append(' 结果</span>');
						resultstring.append('</div>');
					}
					$('rlist').innerHTML=resultstring.tostring();
					for(var j=0;j<bi.length;j++){
						setstyle($('item'+j),'d');
						$('item'+j).displaySpan=$('hits'+j);
						setstyle($('title'+j),'t');
						setstyle($('hits'+j),'h');
					}
					showsearch(bi.length);
					listlength=bi.length;
					//lastindex=-1;
				}
				else
					hiddensearch();
			}
			catch(exception){}
		}
	}
}

//改变选择项的样式
function focusitem(index){
  if($('item'+oldindex)!=null)setstyle($('item'+oldindex),'d');
  oldindex=index;
  if($('item'+index)!=null){
	   setstyle($('item'+index), 'm');
	   lastindex=index;
  }
  else $("skey").focus();
}

//鼠标点击事件，提交数据
function searchclick(index){
	$("skey").value=$('title'+index).innerHTML;
	window.location.href=$("mySearch").action+"?skey="+$("skey").value;
}

//键盘按键事件
function searchkeydown(e){
	if($('rlist').innerHTML=='')return;
	var keycode=(window.navigator.appName=="Microsoft Internet Explorer")?event.keyCode:e.which;
	switch(keycode){
		case 40://down
				flag=true;
				lastindex=lastindex+1;
				if(lastindex<listlength){
					focusitem(lastindex);
				   $("skey").value=$('title'+lastindex).innerHTML;
				}
				else
					lastindex=listlength-1;
				break;
		case 38://up
				flag=true;
				lastindex=lastindex-1;
				if(lastindex>-1){
					focusitem(lastindex);
					$("skey").value=$('title'+lastindex).innerHTML;
				}
				else
					lastindex=0;
				break;
		case 13://返车
				hiddensearch(); 
				break;
		case 46:
				flag=false;
				ajaxsearch($('skey').value.substring(0,$('skey').value.length-1).Trim());
				break;
		case 8:
				flag=false;
				ajaxsearch($('skey').value.substring(0,$('skey').value.length-1).Trim());
				break;
		default:
				flag=false;
				if($('skey').value.Trim()!='' && flag==false)
					ajaxsearch($('skey').value.Trim());
				break;
	}
}

//新建显示图层
function createlist(){

	var listDiv=document.createElement("div");
	listDiv.id="rlist";        
	listDiv.style.zIndex="2";
	listDiv.style.position="absolute"; 
	listDiv.style.border="solid 1px #6699CC";
	listDiv.style.backgroundColor="#FFFFFF";
	listDiv.style.display="none";
	listDiv.style.width=$('skey').clientwidth+2+"px";
	listDiv.style.left=getposition($('skey'),'offsetLeft')+"px";
	listDiv.style.top =(getposition($('skey'),'offsetTop')+$('skey').clientHeight)+"px";
    document.body.appendChild(listDiv);
}

//隐藏搜索框
function hiddensearch(){
	oldindex=-1;
	lastindex=-1;
	$('rlist').style.display="none";
}
//显示搜索框
function showsearch(num){
  $('rlist').style.display='';
  $('rlist').style.height=num*20+num+'px';
}

//搜索框样式
function setstyle(element,classname){
	switch (classname){
     case 'm':
	      element.style.fontSize="12px";
		  element.style.fontFamily="arial,sans-serif";
		  element.style.backgroundColor="#3366cc";
		  element.style.color="black";
		  element.style.width=$('skey').clientwidth-2+"px";
		  element.style.height="20px";
          element.style.padding="1px 0px 0px 2px";
          if(element.displaySpan)element.displaySpan.style.color="white"
		  break;
     case 'd':
	      element.style.fontSize="12px";
		  element.style.fontFamily="arial,sans-serif";
		  element.style.backgroundColor="white";
		  element.style.color="black";
		  element.style.width=$('skey').clientwidth-2+"px";
		  element.style.height="20px";
          element.style.padding="1px 0px 0px 2px";
          if(element.displaySpan)element.displaySpan.style.color="green"
		  break;
	 case 't':
	      element.style.width="70%";
		  if(window.navigator.userAgent.toLowerCase().indexOf("firefox")!=-1)element.style.cssFloat="left";
		  else element.style.styleFloat="left";
		  element.style.whiteSpace="nowrap";
		  element.style.overflow="hidden";
		  element.style.textOverflow="ellipsis";
		  element.style.fontSize="12px";
		  element.style.textAlign="left";
		  break;
	 case 'h':
	      element.style.width="30%";
		  if(window.navigator.userAgent.toLowerCase().indexOf("firefox")!=-1)element.style.cssFloat="right";
		  else element.style.styleFloat="right";
		  element.style.textAlign="right";
		  element.style.color="green";
		  break;
    }
}

//主函数
function main(){
	if($('skey').value.Trim()=='')
		hiddensearch();
	else{
		if($('skey').value.Trim()!='' && flag==false)
			ajaxsearch($('skey').value.Trim());
		if(listlength!=0)
			$('skey').onkeydown=searchkeydown;
		else
			hiddensearch();
	}
}

//初始化
function oninit()
{

	$('skey').autocomplete="off";
	$('skey').onfocus=function()
	{
		flag=false;
		if($('skey').value.substring(0,3)=='请输入')
			$('skey').value="";
		else
			main();
	}
	
	$('skey').onkeyup=main;
	

	$('skey').onblur=function(){
		if($('skey').value=='')
			$('skey').value="请输入";
		hiddensearch(); 
	}
	
	createlist();
}