﻿
//搜索建议 总数    
var length = 0;    
//当前选中的搜索建议    
var currentSelected = -1;    
//获取当前鼠标所获取的行    
var currentOut;    
   
/**   
*   获取搜索提示信息   
**/   
function getSearchContent( evt )    
{    
    var text = document.getElementById("txtKeyword");    
    var key = window.event?evt.keyCode:evt.which;    
    if( null != currentOut )     
    {    
        suggestOut(currentOut);    
    }   
    //Enter键
    if(key == 13)
    {
        window.location.href="/productsearchbykeyWord.aspx?key="+escape(text.value);
    }     
    //向上键    
    if( key == 38 )    
    {    
        if( currentSelected == -1 )    
        {    
            currentSelected = 0;    
        }    
        if( length == 0 )    
        {    
            currentSelected = 0;    
        }    
        else   
        {    
            
            if( currentSelected == 0 )    
            {    
                currentSelected = length - 1 ;    
                var c = document.getElementById("suggset" + ( 0 )  );    
                c.className = 'suggest_link';    
            }    
            else{    
                currentSelected = currentSelected - 1 ;    
            }       
                
        }    
        if( null != document.getElementById("suggset" + currentSelected ) )    
        {    
            /** 去除索引的选中颜色 **/   
            if( currentSelected == length - 1)    
            {    
                var c = document.getElementById("suggset" + ( length - 1 )  );    
                c.className = 'suggest_link';    
            }else   
            {    
                var c = document.getElementById("suggset" + ( currentSelected  + 1 )  );    
                c.className = 'suggest_link';    
            }    
            var current = document.getElementById("suggset" + currentSelected );    
            current.className = "suggest_link_over";    
            text.value = current.innerHTML;    
        }    
        return;    
                
    }    
    //向下键    
    if( key == 40 )    
    {    
        if( length == 0 )    
        {    
            currentSelected = 0;    
        }    
        else{    
            //当前选中索引为最后一个时    
            if( currentSelected ==  length - 1 )    
            {    
                //去除索引的选中颜色    
                currentSelected = 0;    
                var c = document.getElementById("suggset" + ( length - 1 )  );    
                c.className = 'suggest_link';    
            }    
            else   
            {    
                currentSelected = currentSelected + 1;    
            }       
                
        }    
        if( null != document.getElementById("suggset" + ( currentSelected  ) ) )    
        {    
            /** 去除索引的选中颜色 **/   
            if( currentSelected == 0)    
            {    
                var c = document.getElementById("suggset" + ( currentSelected )  );    
                c.className = 'suggest_link';    
            }else   
            {    
                var c = document.getElementById("suggset" + ( currentSelected  - 1 )  );    
                c.className = 'suggest_link';    
            }    
            /** 添加索引的选中颜色**/   
            var current = document.getElementById("suggset" + ( currentSelected  )  );    
            current.className = "suggest_link_over";    
            text.value = current.innerHTML;    
        }    
        return;    
    }    
    if( key != 38 && key != 40 )    
    {    
        if( "" != text.value )    
        {    
            //调用ajax/dwr方法    
            //Suggest.getSuggest( text.value,callBack );    
//            var datas = new Array();    
//            datas[0] = "h";    
//            datas[1] = "ha";    
//            datas[2] = "hb";    
//            datas[3] = "hc";    
//            datas[4] = "hd";    
//            datas[5] = "he";    
//            callBack( datas );    
            document.getElementById('search_suggest').style.display = '';
            var suggestText = document.getElementById("search_suggest");
            var o=createXMLHttpRequest();
        
            var url = "/getkeywords.aspx?searchText=" + escape(text.value)+"&abc="+Math.random();
            o.open("GET", url, false);
            o.onreadystatechange = function(){
                if(o.readyState == 4){
                    if(o.status == 200){
                        var sourceText = o.responseText;   
                                   var datas = new Array();    
                                datas=sourceText.split(";");
                                callBack( datas );   


                    }
                }
             };//指定响应函数
            o.send(null); // 发送请求
            
            currentSelected = -1;    
            onKeySelect();    
        }else{    
            currentSelected = -1;    
            map = null;    
            noShow();    
        }    
    }    
   
}    
//创建XMLHttpRequest对象     
function createXMLHttpRequest() {
    var obj;
    if(window.XMLHttpRequest) { //Mozilla 浏览器
        obj = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // IE浏览器
        try {
            obj = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e){
            try{
                obj = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    return obj;
}
   
/** 返回结果并显示 **/   
function callBack( data )    
{    
    if( null != data && data !="")    
    {    
        document.getElementById('search_suggest').style.display = '';    
        var ss = document.getElementById('search_suggest');    
        ss.innerHTML = "";    
        length = data.length;    
        var str = "";    
        var height = 2;    
        for( var i = 0; i < length; i++ )    
        {    
            var suggest = '<div id=suggset' + i +' onmouseover="javascript:suggestOver(this);" ';    
            suggest += 'onmouseout="javascript:suggestOut(this);" ';    
            suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';    
            suggest += 'class="suggest_link">' + data[i] + '</div>';    
            ss.innerHTML += suggest;    
            height += 13;    
        }    
        document.getElementById('search_suggest').style.height = height;    
            
    }    
    else{    
        document.getElementById('search_suggest').style.display = 'none';    
    }    
        
}    
   
/** 使用上下键选择搜索提示**/   
function onKeySelect()    
{    
    if( null != document.getElementById("suggset" + currentSelected ))    
    {    
        var current = document.getElementById("suggset" + currentSelected );    
        setSearch(current.innerHTML);    
    }    
}    
   
/** 初始化 不显示div **/   
function noShow()    
{    
    document.getElementById('search_suggest').style.display = 'none';    
}    
//获取鼠标    
function suggestOver(div_value)     
{    
    currentOut = div_value;    
    var current = document.getElementById("suggset" + ( currentSelected  )  );    
    if( null != current )    
    {    
        current.className = 'suggest_link';    
    }    
    currentOut.className = 'suggest_link_over';    
    currentSelected = -1;    
}    
   
//失去鼠标    
function suggestOut(div_value)     
{    
    div_value.className = 'suggest_link';    
}    
   
//显示选中的信息    
function setSearch(value)     
{    
    document.getElementById('txtKeyword').value = value;    
    document.getElementById('search_suggest').innerHTML = '';    
    noShow();    
}   

