﻿// JScript 文件
function trim(str){var reg=/ /g;return str.replace(reg,"");}
function getSearchValue(strXML)
{
    if(typeof strXML == 'string')
    {
        var re=new RegExp("(<\\?xml version=\"(.*)\"\\s+encoding=\"(.*)\"\\s*\\?>\\s+<(\\w+)\\s+xmlns=\"http\\://(.*)\">(.*)</(\\w+)>)");
        return(strXML.replace(re,"$6"));
    }
    else
    {
        return '';
    };
};

function SearchRequest(searchKey){
var ajax=new Ajax();
ajax.AddParams("searchKey",searchKey);
ajax.Post("/webserv/service.asmx/sk_ResponseSearch",function(){GetCategoryList(getSearchValue(arguments[0]));});
ajax.RemoveAllParams();  
}

function GetCategoryList(ctgStr){
if(ctgStr=="-1"){tips(document.getElementById("txtsearch"),'');return;}
var arr=ctgStr.split('@_@');
if(arr.length>0){
var strHtm='';
for(var i=0;i<arr.length;i++){
strHtm+="<span id='seach"+i+"' style='display:block; clear:both;margin:0px;' onmouseover=\"this.className='tipscurrent'\" onmouseout=\"this.className=''\" ><a style='display:block; clear:both;margin:0px;' href='http://www.soonka.com/product/class/"+arr[i].split(',')[0]+".htm' target='_blank' onclick='outtips();'>"+arr[i].split(',')[1]+"</a></span>";
}
strHtm+="<span id='seachclose' style='display:block;clear:both;margin:0px; text-align:right;cursor: pointer;text-decoration: underline;color: #036;'>关闭</span>";
tips(document.getElementById("txtsearch"),strHtm);
return;
}

}
var searchInterval='';
function KeyEvent(o){
o.onkeyup=function(e){
if(window.event){
    if(event.keyCode=='38'){//UP
        if(document.getElementById("searchtips").innerHTML=='')return;
        hightlight('up');
    }
    else if(event.keyCode=='40'){//Down
        if(document.getElementById("searchtips").innerHTML=='')return;
        hightlight('down');
    }
    else if(event.keyCode=="13"){
       if(document.getElementById("searchtips").innerHTML=='')return;
        hightlight('entry');
    }
    else{
        if(searchInterval!='')
        window.clearInterval(searchInterval);
        searchInterval=window.setInterval(function(){SearchRequest(document.getElementById('txtsearch').value); window.clearInterval(searchInterval);},500);
       
        
    }
}else{
    if(e.which=='38'){
        if(document.getElementById("searchtips").innerHTML=='')return;
        hightlight('up');
    }
    else if(e.which=='40'){
        if(document.getElementById("searchtips").innerHTML=='')return;
        hightlight('down');
    }
   else if(e.which=="13"){
     if(document.getElementById("searchtips").innerHTML=='')return;
        hightlight('entry');
    }else{
            if(searchInterval!='')window.clearInterval(searchInterval);
            searchInterval=window.setInterval(function(){SearchRequest(document.getElementById('txtsearch').value); window.clearInterval(searchInterval);},500);
    }
}

}
}

function tips(obj, str) {
    if (typeof obj != 'object') obj = document.getElementById(obj);
    document.getElementById("searchtips").style.left = getPosition(obj).left + 0;
    document.getElementById("searchtips").style.top = getPosition(obj).top + 23; 
    document.getElementById("searchtips").style.display = "";
    document.getElementById("searchtips").innerHTML=str;
};
function getPosition(obj) {
 var _top = _left = 0;
 var _root = document.body;
 while (obj!= null && obj != _root) {
  _top += obj.offsetTop;
  _left += obj.offsetLeft;
  obj = obj.offsetParent;
 }
 return { top: _top, left: _left };  
}

function outtips() {
document.getElementById('txtsearch').value="";
document.getElementById("searchtips").style.display = 'none';
};
//function showtips(){document.getElementById("searchtips").style.display = '';}

function hightlight(key){
var o_arr=document.getElementById('searchtips').getElementsByTagName("span")
if(o_arr.length>0){
    var index=0;
    var flage=0;
    for(var i=0;i<o_arr.length;i++){
        if(o_arr[i].className=='tipscurrent'){
            index=i;
            flage=1;
            break;
        }
    }
    if(key=='up'){
        if(flage==1){
         if(index==0){o_arr[o_arr.length-1].className='tipscurrent';}else{o_arr[index-1].className='tipscurrent';   }
         o_arr[index].className='';
        }
        else{
          o_arr[o_arr.length-1].className='tipscurrent';
        }
    }else if(key=='down'){
        if(flage==1){
        if(index==o_arr.length-1){o_arr[0].className='tipscurrent';}else{o_arr[index+1].className='tipscurrent';   }
        o_arr[index].className='';
        }
        else{
          o_arr[0].className='tipscurrent';
        }
    }
    else if(key=='entry'){
    if(flage==1){
        o_arr[index].firstChild.click();
    }
    }
    flage=0;
}
}


