﻿var currentIndex = -1;
     var searchReq = createReq();
     //创建XMLHttpRequest的第二种方法
     function createReq(){
         var httpReq;
         
         if(window.XMLHttpRequest){
             httpReq = new XMLHttpRequest();
             if(httpReq.overrideMimeType){
                 httpReq.overrideMimeType('text/xml');
             }
         }
         else if(window.ActiveXObject){
             try{
                  httpReq = new ActiveXObject('Msxml2.XMLHTTP');
             }
             catch(e){
                 try{
                         httpReq = new ActiveXObject('Microsoft.XMLHTTP');
                 }
                 catch(e){
                 }
              }  
         }
         return httpReq;
      }
      //发送HTTP请求，当输入框的内容变化时，会调用该函数
      function searchSuggest() {

             var keyCode = event.keyCode;
             var str = escape(document.getElementById("key").value);

             if (event.keyCode == 38 || event.keyCode == 40)
                 selItemByKey(event.keyCode);
             else {
                 if (str != "") {
                     searchReq.open("get", "/Home/AjaxSearch?searchText=" + str, true);
                    
                     searchReq.onreadystatechange = handleSearchSuggest;
                     searchReq.send(null);
                     currentIndex = -1;

                 }
             }
         }

         //通过键盘选择下拉项
         function selItemByKey(keyCode) {
             //下拉表
             var autoNodes = search_suggest.childNodes;
             if (autoNodes.length > 0) {
                 if (keyCode == 38) {  //按下Up键
                     // alert(keyCode);
                     if (currentIndex <= 0)
                         currentIndex = autoNodes.length - 1;
                     else
                         currentIndex--;
                     document.getElementById("key").value = autoNodes[currentIndex].innerHTML;
                     autoNodes[currentIndex].className = "suggest_link_over";
                     if (currentIndex < autoNodes.length - 1)
                         autoNodes[currentIndex + 1].className = "suggest_link";
                     else
                         if (autoNodes.length <= 1) {
                         }
                         else {
                         autoNodes[0].className = "suggest_link";
                         }
                 }

                 if (keyCode == 40) {  //按下Down键
                     if (currentIndex >= autoNodes.length - 1)
                         currentIndex = 0;
                     else
                        currentIndex++;
                    document.getElementById("key").value = autoNodes[currentIndex].innerHTML;
                    autoNodes[currentIndex].className = "suggest_link_over";
                    if (currentIndex > 0)
                        autoNodes[currentIndex - 1].className = "suggest_link";
                    else
                        if (autoNodes.length <= 1) {
                        }
                        else {
                            autoNodes[autoNodes.length - 1].className = "suggest_link";
                         }
                 }

             }
         }

      //当 onreadystatechange 值变化时，会调用该函数
      //注意searchSuggest()中的这一句searchReq.onreadystatechange = handleSearchSuggest;
      function handleSearchSuggest(){
         if(searchReq.readyState == 4){
             if(searchReq.status == 200){
                 var suggestText = document.getElementById("search_suggest");
                 var sourceText = searchReq.responseText.split("\n");
                 if(sourceText.length>1){
                     suggestText.style.display="";
                     suggestText.innerHTML = "";
                     for(var i=0;i<sourceText.length-1;i++) {
                         var s='<div onmouseover="javascript:suggestOver(this);"';
                         s+=' onmouseout="javascript:suggestOut(this);" ';
                         s+= ' onclick="javascript:setSearch(this.innerHTML);" ';
                         s+=' class="suggest_link">' +sourceText[i]+'</div>';
                         suggestText.innerHTML += s;
                     }
                 }
                 else{
                     suggestText.style.display="none";
                 }
             }
        }
      }
      
      function suggestOver(div_value){
          div_value.className = "suggest_link_over";
          document.getElementById("key").value = div_value.firstChild.nodeValue ;
      }
      
      function suggestOut(div_value){
          div_value.className = "suggest_link";
      }
      
      function setSearch(obj){
         document.getElementById("key").value = obj;
         var div = document.getElementById("search_suggest");
         div.innerHTML = "";
         div.style.display = "none";
         var keys = document.getElementById("key").value;
         var url = "/Game/Search?sort=1&sortad=1&ctype=2&gtype=0&glan=0&gsize=0&kvalue=" + keys + "&gsize_s=&gsize_b=";
         window.open(url,'_self');
     }

     function makeURLSearch(o) {
         var keys = document.getElementById("key").value;
         if (keys == "") {
             document.getElementById("key").focus();
             return false;
         }

         var url = "/Game/Search?sort=1&sortad=1&ctype=2&gtype=0&glan=0&gsize=0&kvalue=" + keys + "&gsize_s=&gsize_b=";
         window.open(url,'_self');
         return false;
     }
     function tbblur(){
         var div = document.getElementById("search_suggest");
        //div.innerHTML = "";
        div.style.display="none"; 
    }
