﻿var isOut=true;
var isevent='';
String.prototype.ufun=function(){
return this.replace(/<span\s+style\s{0,}=\s{0,}"{0,1}FLOAT: {0,1}right; {0,1}COLOR: {0,1}([#8f8f8f,rgb(143, 143, 143);]*)"{0,1}\s{0,}>.+?<\/span>/ig,'').replace(/<[^>]*>/ig,'').replace(/(^\s*)|(\s*$)/g,"").replace(/\s+/g," ");
}
document.onclick=function(){
  var codediv=document.getElementById("search_suggest");
  if(codediv.className!='none' && isOut==false){
     codediv.className='none';
  }
}
function eventUpkey(){
	var j=0;
	var oDiv=document.getElementById('search_suggest').childNodes;	
	if(oDiv.length==0)return false;
	document.getElementById("search_suggest").className = 'block'; 
	for(var i=0;i<oDiv.length;i++){
	    if(oDiv[i].className=='suggest_link_over') j=i;
	    oDiv[i].className='suggest_link';
	 }
	if(j==0)j=oDiv.length;
	oDiv[j-1].className='suggest_link_over';
	isevent=oDiv[j-1].innerHTML.ufun();
	document.getElementById("Searchkeys").value = oDiv[j-1].innerHTML.ufun();
	
 }
function eventChickkey(){
	var oDiv=document.getElementById('search_suggest').childNodes;	
	if(oDiv.length==0)return false;
	document.getElementById("search_suggest").className = 'block'; 
	for(var i=0;i<oDiv.length;i++){
	    if(oDiv[i].className=='suggest_link_over'){
			 isevent=oDiv[i].innerHTML.ufun();
			 if(document.all&&typeof(document.all)=="object"){//IE   
			     oDiv[i].fireEvent("onclick");
			 }
			 else{
				 var e=document.createEvent('MouseEvent');   
                     e.initEvent('click',false,false);   
                     oDiv[i].dispatchEvent(e);       
			 }
		}
	 }
}
 
function eventDownkey(){
	var j=-1;
	var oDiv=document.getElementById('search_suggest').childNodes;	
	if(oDiv.length==0)return false;
	document.getElementById("search_suggest").className = 'block'; 
	for(var i=0;i<oDiv.length;i++){
	    if(oDiv[i].className=='suggest_link_over') j=i;
	    oDiv[i].className='suggest_link';
	 }
	if(j==oDiv.length-1)j=-1;
	oDiv[j+1].className='suggest_link_over';
	isevent=oDiv[j+1].innerHTML.ufun();
	document.getElementById("Searchkeys").value = oDiv[j+1].innerHTML.ufun();
	
 }
 
function eventkey(e,str){
	  var theEvent = window.event || e;
            var a = theEvent.keyCode || theEvent.which;
			
			switch(a){
				  case 13 :
				       document.getElementById("search_suggest").className = 'none';
				       //eventChickkey();
					   break;	
                  case 38 :
			           eventUpkey();
					   break;	
                  case 40 :
			           eventDownkey();
					   break;	
				 
			}
}
function change_key(str){
	if(str==''){
	   document.getElementById("search_suggest").innerHTML='';
	   document.getElementById("search_suggest").className = 'none'; 	
	   return false;
	 }
	 
	if(isevent==str) return false;
	var xmlHttp = false;
    if(window.XMLHttpRequest){
      xmlHttp = new XMLHttpRequest();
     }else if(window.ActiveXObject){
        xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
     }else if(window.ActiveXObject){
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
     }else if(window.ActiveXObject){
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
     }
	
	if(xmlHttp){    
		  xmlHttp.open('POST',"/include/searchkey.html" ,true);
		  xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		  var SendData = 'y='+Math.random()+'&key='+ encodeURI(str);
		  xmlHttp.send(SendData);
		  xmlHttp.onreadystatechange=function(){
		       if(xmlHttp.readyState==4){
			       if(xmlHttp.status==200){
			         var div = document.getElementById("search_suggest"); 
                   div.innerHTML = ""; 
                   
               var str = xmlHttp.responseText.split("\n"); 
               for (var i=0; i<str.length-1; i++) { 
                    
				            var suggest = '<div style="cursor: pointer;" onmouseover="javascript:suggestOver(this);"'; 
                        suggest += 'onmouseout="javascript:suggestOut(this);"'; 
                        suggest += 'onclick="javascript:setSearch(this.innerHTML);"'; 
                        suggest += 'class="suggest_link">'+str[i]+'</div>'; 
                        div.innerHTML += suggest; 
               } 
               document.getElementById("search_suggest").className = 'block'; 
				       if(str.length==1)document.getElementById("search_suggest").className = 'none';
			       }
			    }
      }
    }
	  delete xmlHttp;
	  delete str;
	  delete suggest;
	  delete div;
    CollectGarbage(); 
}


function setSearch(div_value) { 
    document.getElementById("Searchkeys").value = div_value.ufun(); 
    document.getElementById("search_suggest").className = 'none'; 
} 
function suggestOver(div_value) { 
    var oDiv=document.getElementById('search_suggest').childNodes;
    for(var i=0;i<oDiv.length;i++){
	   oDiv[i].className='suggest_link';
    }
    div_value.className = 'suggest_link_over'; 
} 

function suggestOut(div_value) { 
    div_value.className = 'suggest_link'; 
} 


function SearchMove(obj){
   if((obj.value!='')&&(document.getElementById('search_suggest').childNodes.length>0))
      document.getElementById('search_suggest').className = 'block';
   obj.focus();
}

function checksearch(){
	var oDiv=document.getElementById('search_suggest').childNodes;	
	if(oDiv.length>0){
	   for(var i=0;i<oDiv.length;i++){
	     if(oDiv[i].className=='suggest_link_over'){
			 document.getElementById("search_suggest").innerHTML = '';
	          return false;
		 }
	   }
		
	}
    if(document.getElementById('Searchkeys').value==''){alert('请输入搜索关键字');return false;}
}