var storeQuery;

function getXmlHttp(){
   try{
      var xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");
   }
   catch(e){
      var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   return xmlHttp;
}

function setListBox(query){
   var keyCode=event.keyCode;
   var listBox=document.all.listBox;   
   if(keyCode!=38 && keyCode!=40 && keyCode!=13){       
      var xmlHttp=getXmlHttp();
      xmlHttp.open("GET","/autocomplete/search.asp?query="+query,false);
      xmlHttp.send();	         
      var keywords=xmlHttp.responseXml.getElementsByTagName("KEYWORD");
      var keywordsLength=keywords.length;
      var html="";
      if(keywordsLength==0){
         var visibility="hidden";
      }
      else{                  
         storeQuery=query;
         document.ssform.skey.value="";
         var height=keywordsLength*20;   
         var regExp=new RegExp(query.replace(/\s/g,"").toLowerCase().split("").join("\\s*"));         
         html+="<table id=no width=100% cellspacing=0 cellpadding=3 index=0>";
         for(i=0;i<keywordsLength;i++){
            var keyword=keywords.item(i);
            var key=keyword.getAttribute("KEY");              
            var value=keyword.getAttribute("VALUE").toLowerCase();
            var company=keyword.getAttribute("COMPANY");
            var valueMatch=value.match(regExp);            
            if(company=="START"){
               height+=20;
               html+="<tr><td bgcolor='#93bbc6'><font color=white>¡å ÀÚµ¿Â÷¿îÀüÇÐ¿ø</font></td></tr>";
            }                                                                      
	    html+="<tr><td id=no skey='"+key+"' style='cursor:hand'";
            html+=" onmouseover=\"var no=document.all.no;no[no[0].index].bgColor='white';no[0].index="+(i+1)+";this.bgColor='#f0f0f0';\"";
            html+=" onmouseout=\"var no=document.all.no;no[no[0].index].bgColor='white';no[0].index=0;this.bgColor='white';\"";
            html+=" onclick=\"var ssform=parent.document.ssform;ssform.skey.value=this.skey;ssform.q.value=this.innerText;ssform.submit();\">";
	    html+=value.replace(valueMatch,"<font color=red>"+valueMatch+"</font>");
            html+="</td></tr>";           
         }
         html+="</table>";                
         var visibility="visible";
         listBox.height=height;
      }
      listBox.contentWindow.document.all.list.innerHTML=html;      
      listBox.style.visibility=visibility;      
   }     
}

function selectListBox(){
   var keyCode=event.keyCode;
   var listBox=document.all.listBox;   
   if(listBox.contentWindow.document.all.list.innerHTML!=""){         
      var no=listBox.contentWindow.document.all.no;         
      if(keyCode==38 && no[0].index>0){
         no[no[0].index--].bgColor="white";             
         if(no[0].index==0){
            document.ssform.skey.value="";
            document.ssform.q.value=storeQuery;               
            listBox.style.visibility="hidden";
         }
         else{
            no[no[0].index].bgColor="#f0f0f0";
            document.ssform.skey.value=no[no[0].index].skey;
            document.ssform.q.value=no[no[0].index].innerText;
            listBox.contentWindow.document.body.scrollTop=Math.floor(no[0].index/8)*160;
         }
      }
      if(keyCode==40 && no[0].index<no.length-1){
         if(listBox.style.visibility=="hidden"){
            listBox.style.visibility="visible";
         }            
         else{
            no[no[0].index++].bgColor="white";              
            no[no[0].index].bgColor="#f0f0f0"; 
            document.ssform.skey.value=no[no[0].index].skey;
            document.ssform.q.value=no[no[0].index].innerText;
            listBox.contentWindow.document.body.scrollTop=Math.floor(no[0].index/8)*160;
         }
      }        
   }  
}

