var selectedIndex = -1;
var intTmp; //循环用的
document.write("<style>.sman_selectedStyle{background-Color:#102681;color:#FFFFFF}</style>");
var searchReq=createAjaxObj();
function createAjaxObj()
{
 var httprequest=false;
 if(window.XMLHttpRequest)
 {
  httprequest=new XMLHttpRequest();
  if(httprequest.overrideMimeType)
   httprequest.overrideMimeType('text/xml');
 }
 else if (window.ActiveXObject)
 {
  //IE
  try
  {
   httprequest=new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch (e)
  {
   try
   {
    httprequest=new ActiveXObject("Microsoft.XMLHTTP");
   }
   catch (e)
   {
   }
  }
 }
 return httprequest
}

function searchSuggest(evt)
{

    evt = evt || window.event;
    var keyCode = window.event ? evt.keyCode : evt.which;
    if (keyCode == 40 || keyCode == 38) {//下上
        var isUp = false
        if (keyCode == 40) isUp = true;
        chageSelection(isUp);
    }
    else if (keyCode == 13) {//回车
        outSelection(selectedIndex);
    }
     else {
        if (document.getElementById('txtSearch').value.length > 0) {

            var str = document.getElementById('txtSearch').value;
            url = "search.asp?search=" + str + "&t=" + new Date().getTime();

            searchReq.open("get", url);
            searchReq.onreadystatechange = handleSearchSuggest;
            searchReq.send(null);
        }
        else {
            document.getElementById("search_suggest").innerHTML = "";
            document.getElementById("search_suggest").style.display = "none";
        }

    }
}

function handleSearchSuggest()
{
 if(searchReq.readyState==4)
 {  
   var ss=document.getElementById("search_suggest");  
   ss.innerHTML="";
   s0=searchReq.responseText.length;  
   if (s0>0)
   {
       xmldoc = searchReq.responseXML;
 //      alert(xmldoc.documentElement.xml);
    var message_nodes=xmldoc.getElementsByTagName("message");
    var n_messages=message_nodes.length;    
    if (n_messages<=0)
    {
     document.getElementById("search_suggest").innerHTML="";
     document.getElementById("search_suggest").style.display="none";
    }
       else
    {
     document.getElementById("search_suggest").style.display="block";
     for (i=0;i<n_messages;i++)
     {
      var suggest='<div onmouseover="javascript:suggestOver(this);"'; 
      suggest+='onmouseout="javascript:sugggestOut(this);"';
      suggest+='onclick="javascript:setSearch(this.innerHTML);"';
      suggest+='class="suggest_link">' + message_nodes[i].getElementsByTagName("text")[0].firstChild.data + '</div>';
      ss.innerHTML+=suggest;
     }    
    }
   }
   else
   {
    document.getElementById("search_suggest").innerHTML="";
    document.getElementById("search_suggest").style.display="none";
   }  
 }
 else
 {
  //alert('网络连接失败');
 }
}

function suggestOver(div_value)
{
 div_value.className='suggest_link_over';
}

function sugggestOut(div_value)
{
  div_value.className='suggest_link';
}

function setSearch(div_value)
{
   document.getElementById("txtSearch").value=div_value;
   document.getElementById("search_suggest").innerHTML="";
   document.getElementById("search_suggest").style.display="none";
}


function chageSelection(isUp) {
    if (document.getElementById("search_suggest").style.display == "none") {
        document.getElementById("search_suggest").style.display = "";
    }
    else {
        if (isUp)
            selectedIndex++;
        else
            selectedIndex--;
    }

    var maxIndex = document.getElementById("search_suggest").childNodes.length - 1;
    if (selectedIndex < 0) { selectedIndex = 0; }
    if (selectedIndex > maxIndex) { selectedIndex = maxIndex; }
    for (intTmp = 0; intTmp <= maxIndex; intTmp++) {
        if (intTmp == selectedIndex) {
            document.getElementById("search_suggest").childNodes[intTmp].className = "sman_selectedStyle";
            //当上下键移动时，将选中的文本写到文本框中
            document.getElementById("txtSearch").value = document.getElementById("search_suggest").childNodes[intTmp].innerHTML;
        }
        else {
            document.getElementById("search_suggest").childNodes[intTmp].className = "";
        }
    }
}

function outSelection(Index) {
    document.getElementById("txtSearch").value = objouter.childNodes[Index].innerHTML;
    document.getElementById("search_suggest").style.display = "none";
}
 