﻿// JScript 文件

var obj;
var to;//setTimeout时间变量，对于输入快时可以延迟查询
function $(id){return document.getElementById(id);}
function getD(e,va)
{
  e=e||event;
  if(e.keyCode==38||e.keyCode==40||e.keyCode==13)return;
  if(to) clearTimeout(to);
  to=setTimeout("getData('"+va+"')",400);//延迟400毫秒后再查询
}
function getData(va)
{
  $('dvContent').style.display="none";
  if(va!="")
  {//注意这个要编码关键字，要不出现中文在服务器端获取不到
    var url='SerKeyword.aspx?ts='+new Date().getTime()+'&k='+escape(va);
    obj=CreateAJAX();
    if(obj)
    {
      obj.onreadystatechange=handlejs;
      obj.open('get',url,true);
      obj.send(null);
    }
    else
     alert("创建AJAX对象失败！");
  }
}
function handlejs()
{
   if(obj.readyState==4)
   { 
      if(obj.status==200)
      {               
            xml=obj.responseXML;
            node=xml.getElementsByTagName("data");
            if(node.length!=0)//如果d节点的子节点不为0,则取数据
            {
              var dv=$("dvContent");
              dv.innerHTML=node[0].firstChild.nodeValue;
              dv.style.display="block";
            }
      }
      else 
        alert("请求的文件出错，请检查！");                     
   }   
}
function CreateAJAX()
{  
  if(typeof(XMLHttpRequest)!="undefined")
     return new XMLHttpRequest();
  if(window.ActiveXObject)
  {
     var objs=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHTTP"];    
     var xmlhttp;
     for(var i=0;i<objs.length;i++)
     {
       try
       {
         xmlhttp=new ActiveXObject(objs[i]);
         return xmlhttp;
       }
       catch(e)
       {
         //do nothing
       } 
     }
   }  
}
function setContent(data,IsKey)
{
  $('kw').value=data;
  if(!IsKey)
  {
    $('dvContent').style.display="none";
    CurrentIndex=-1;
  }
}
function setPosition()
{
  var dv=$('dvContent');
  dv.style.left=getPos("x");
  dv.style.top=getPos("y")+$('kw').offsetHeight+1;
  dv.style.width=$('kw').offsetWidth;
}
function getPos(type)
{
  var p;
  var o=$('kw');
  if(type=="x")
   p=o.offsetLeft;
  else
   p=o.offsetTop;
  while(o=o.offsetParent)
  {
    if (type=="x")
    {
      p+=o.offsetLeft; 
    }
    else
    {
      p+=o.offsetTop;
    }
  }
  return p;
}
var CurrentIndex=-1;
document.onkeydown=function(e)
{
  e=e||event;
  var DC=$("dvContent");
  if(DC.style.display=="none")return;//不显示时不响应按键
  var items=DC.getElementsByTagName("div");
  var itemLength=items.length;
  if(itemLength<1) return;//没有匹配的内容时不响应按键
  
  if(CurrentIndex!=-1)items[CurrentIndex].className="unfocus";
  if(e.keyCode==38)//上
  {
    if(CurrentIndex==-1)
        CurrentIndex=0;
    else
        CurrentIndex--;
    if(CurrentIndex<0)
      CurrentIndex=itemLength-1;    
  }
  else if(e.keyCode==40)//下
  {
    if(CurrentIndex==-1)
        CurrentIndex=0;
    else
        CurrentIndex++;
    if(CurrentIndex>itemLength-1)
      CurrentIndex=0;  
  }
  else if(e.keyCode==13)
  {
    setContent(items[CurrentIndex].innerHTML);
  }
  if(CurrentIndex!=-1)
  {
     items[CurrentIndex].className="focus";
     setContent(items[CurrentIndex].innerHTML,true);
  }
}
 function show()
 {
  $('dvContent').style.display="none";
 }
 function wop()
 {
 window.open('serinfo.aspx?serkw='+$('kw').value,'_blank','')
 }

