﻿// JScript 文件
var sTemp = "";

var intSelected = 0;
var intCurrSelect = -1;

function getSearchWord(){
	var sInputStr = document.getElementById("w").value;
	if(sInputStr==""){	
	    return;
	}
	var urls = "q.aspx?a=sw&st=a&wt="+encodeURI(sInputStr);
	//+"&"+escape(new   Date());

	
	var ReqStr = '<?xml version="1.0" encoding="UTF-8"?>'; 
    var xmlHttp = null;
    try{
        xmlHttp =  new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e){
            try{
                xmlHttp =  new ActiveXObject("Msxml2.XMLHTTP")
            }
            catch(e1){
                xmlHttp = new XMLHttpRequest();
            }
        }
    xmlHttp.open("GET",urls,false); 
    xmlHttp.send(null);	
	sTemp=xmlHttp.responseText;	
	setSearchList(sTemp);
	
}




function setSearchList(sInputStr){
    if(sInputStr==""){
        clearList(document.getElementById("Layer1"),sTemp)
        return;
    }
    
    
	var arrTemp = sInputStr.split("|");
	var sResult = "";
	for(i=0; i<arrTemp.length; i++){
		if(arrTemp[i]!=""){
			sResult += "<tr><td class='SearchWord'  id=SearchWordList_Word_"+i+" style='height:22px'>"+arrTemp[i].substring(0,arrTemp[i].indexOf(";"))+"</td><td align=right class='WordResult' id=SearchWordList_Result_"+i+">"+arrTemp[i].substring(arrTemp[i].indexOf(";")+1)+"条结果</tr>";
		}
	}
	//visibility:visible
	document.getElementById("Layer1").style.visibility = "visible";
	document.getElementById("Layer2").innerHTML = "<table style='border: 1px solid  #666666;width:100%;background-color: #FFFFFF;' id='SearchWordList'   border=0 cellpadding='2' cellspacing='0'>"+sResult+"</table>";	
}


document.onkeydown = function(e){
    
    var ev = window.event|| e;
    if(ev.keyCode==27){
        document.getElementById("Layer1").style.visibility == "hidden";
    }
    
}



document.onkeyup = function(e) 
{ 
    if(blnWithSearch!="True"){
        return;
    }
    var ev = window.event|| e;
    var intKeyCode  = ev.keyCode;
    if(((intKeyCode>=48)&&(intKeyCode<=87))||((intKeyCode>=97)&&(intKeyCode<=122))||((intKeyCode>=65)&&(intKeyCode<=90))||(intKeyCode==8)||(intKeyCode==38)||(intKeyCode==40)||(intKeyCode==32)){
    
    }
    else{
        return;
    }
  

    objLayer = document.getElementById("Layer1");
    objInput = document.getElementById("w")
    if(document.activeElement.id.toString()!="w"){
		return;   
    }
   
   switch(intKeyCode) {
	   	case 38: //向上
			if(objLayer.style.visibility == "visible"){				
				var intWordAmount = sTemp.split("|").length-1;		
				intSelected = intCurrSelect
				intCurrSelect--;	
				if(intCurrSelect<0){
					intCurrSelect = intWordAmount-1;
				}
				


				if(intSelected>=0){
					document.getElementById("SearchWordList_Word_"+intSelected).className = "SearchWord";
					document.getElementById("SearchWordList_Result_"+intSelected).className = "WordResult";
				}
				
				document.getElementById("SearchWordList_Word_"+intCurrSelect).className = "SearchWordMouseOver";
				document.getElementById("SearchWordList_Result_"+intCurrSelect).className = "SearchWordMouseOver";
				setValue(intCurrSelect);
			}
			
			break;
		case 40://向下
			
			if(objLayer.style.visibility == "visible"){				
				var intWordAmount = sTemp.split("|").length-1;		
				intCurrSelect++;	
				if(intCurrSelect>=intWordAmount){
					intCurrSelect = 0;
					intSelected = intWordAmount-1;
				}
				else{				
				intSelected = intCurrSelect - 1;
				}
				if(intSelected>=0){
					document.getElementById("SearchWordList_Word_"+intSelected).className = "SearchWord";
					document.getElementById("SearchWordList_Result_"+intSelected).className = "WordResult";
				}
				
				document.getElementById("SearchWordList_Word_"+intCurrSelect).className = "SearchWordMouseOver";
				document.getElementById("SearchWordList_Result_"+intCurrSelect).className = "SearchWordMouseOver";
				
				setValue(intCurrSelect);
								
				
			}
			break;		
		default:
		    sTemp = "";
			intSelected = 0;
			intCurrSelect = -1;
			getword(objInput.value,objLayer);
		    if(((intKeyCode>=48)&&(intKeyCode<=87))||((intKeyCode>=97)&&(intKeyCode<=122))||((intKeyCode>=65)&&(intKeyCode<=90))||(intKeyCode==8))
		    //1-9 asc:48-87
//A-Z asc:97-122
//a-z asc:65-90
//退格 asc:8
           {			    
			    
			}
			break;
   }
  
   
}


document.onclick = function(e){
    
    var ev = window.event|| e;
    var sSource = "";
    try{
        sSource = ev.srcElement.id ;
    }
    catch(e){
        sSource = ev.target.id;
    }
	
	if(sSource.indexOf("SearchWordList")!=0){
		document.getElementById("Layer1").style.visibility = "hidden";
	}

}

document.onmouseout = function(e){
    var ev = window.event|| e;
    var sSource = "";
    try{
        sSource = ev.srcElement.id;
    }
    catch(e){
        sSource = ev.target.id;
    }  
    
    if(sSource=="")
    {
        clearList(document.getElementById("Layer1"),sTemp);                
    }
}




function getword(sInput,obj){
    
	if(sInput==""){
	    //obj.style.visibility = "hidden";
	    clearList(document.getElementById("Layer1"),sTemp);
		return;
	}	
		
	if((sInput==document.getElementById("w").value)&&(document.getElementById("Layer1").style.visibility == "visible")){
	    //return;
	}
	window.setTimeout(getSearchWord, 500);
}



function getPosition(){
	var pos=GetObjPos(document.getElementById("w"));
	document.getElementById("Layer1").style.width = document.getElementById("w").offsetWidth+"px";
	document.getElementById("Layer1").style.top = pos.y+document.getElementById("w").offsetHeight-1+"px";
	document.getElementById("Layer1").style.left = pos.x+"px";

}

function CPos(x, y){    
	this.x = x;    
	this.y = y;
}

function GetObjPos(ATarget){
	var target = ATarget;    
	var pos = new CPos(target.offsetLeft, target.offsetTop);        
	var target = target.offsetParent;    
	while (target)    {        
		pos.x += target.offsetLeft;        
		pos.y += target.offsetTop;                
		target = target.offsetParent    
	}        
	return pos;
}


function clearList(objLayer,sCache){
    sCache = "";
    objLayer.style.visibility = "hidden";
}

function setValue(id){
    var sValue = "";
    var m = document.getElementById("SearchWordList_Word_"+id).innerText||document.getElementById("SearchWordList_Word_"+id).textContent;

    document.getElementById("w").value  = m;
}



