//All of codes designed by Wuguangding, 2010-2011
var menuFocusIndex;
var menu_len;
var mymenu_obj;
var data_arr = new Array();
var text_input_box;
var submit_id;

var obj_xml_suggest;

function mykeydown(text_obj,p_submit_name,Flag)//首次调用点onkeyup="javascript:mykeydown(this)"   Flag=0 英文关键字  Flag=1 表示中文关键字
{
    
	submit_id=p_submit_name;
	text_input_box=text_obj;
	
//	if (window.addEventListener)
//	{//fire
//        text_obj.addEventListener("blur", delay_hidemenu, false);        
//    }
//    else if (window.attachEvent)
//        text_obj.attachEvent("onblur", delay_hidemenu)

    if(Sys.ie)
        document.body.onclick = new Function("delay_hidemenu()");
    else
        document.onclick = new Function("delay_hidemenu()");
        

	if (catchKeyBoard()==false)		
	{	
		mymenu_obj=createMenu(text_obj,"wgd_menu");
						
		//web_suggest.get_suggestion(text_input_box.value,submit_id,callback_get_suggestion);
		
		obj_xml_suggest=Ajax_CreateXHR();
		
	    if(Sys.firefox)
	        obj_xml_suggest.onreadystatechange=Ajax_Process_suggestion();	
	    else
	        obj_xml_suggest.onreadystatechange=Ajax_Process_suggestion;	
	    
		
            
        var url="/jquery/GetAllWords.ashx?term="+text_input_box.value;
        if(Flag=="1")
        {
            url="/jquery/GetAllCWords.ashx?term="+text_input_box.value;
        }        
        
//        if(typeof(_EncodingName) !='undefined' &&  _EncodingName!=null)
//          url += "?EncodingName="+ _EncodingName;
        
        obj_xml_suggest.open("POST",url,true);   
        obj_xml_suggest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        
        obj_xml_suggest.send();	

	    if(Sys.firefox)
	        window.setTimeout('obj_xml_suggest.onreadystatechange=Ajax_Process_suggestion()',500);

	    		
	}	
}

function Ajax_Process_suggestion()
{	
    if((obj_xml_suggest.readyState==4 || obj_xml_suggest.readyState==3) && obj_xml_suggest.status==200)
	{
		var data=obj_xml_suggest.responseText;			
			
			callback_get_suggestion(data);
			
	}
}

function callback_get_suggestion(res_a)
{
	if(res_a == null || res_a.length<1)
	{
	    hidemenu();
		return;
	}
		
    data_arr = res_a.split(',');    
	var j = 0; 

	menu_len = data_arr.length;
	//最多显示十行数据
	if(menu_len > 30)
	{
		menu_len = 30;
	}       
        
    forceMenuItem(0);//清空上次的选择
	menuFocusIndex=-1;
	
	if(data_arr==null || data_arr.length<1)
	{
		mymenu_obj.style.display="none";
	}
	else	
	{
	    var wwdth =text_input_box.offsetWidth -2 ;
	    var zb="";
	    
       if(Sys.ie)
       {
            var gj = $("check_gaojijs");
            if(gj!=null && gj.checked)//高级检索需要遮蔽
            {
                zb = "<iframe style='Z-INDEX: -11; POSITION:absolute;LEFT: 0px; TOP: 0px; WIDTH: "
                + wwdth  +"px; HEIGHT: 170px;'  frameborder=0 ></iframe>";
                mymenu_obj.style.height = "170px";
            }
       }
        
		var ss = "";
	    for ( var i = 0; i < menu_len; i++ ) //循环创建层的主体
	    {
			ss += "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" id=\"menuItem"+i+"\" onmouseover=\"forceMenuItem( "+i+");\" width=\"100%\" onclick=\"javascript:Click_item("+i+");\" ><tr><td style=\"padding-left: 5px\">" + data_arr[i] + "</td></tr></table>";
				
	    }		
        
		mymenu_obj.innerHTML = ss + zb;
		showmenu();
	}
	
}

function delay_hidemenu()
{	
	window.setTimeout("hidemenu();",10);
}

function hidemenu()
{
	if (mymenu_obj!=null)
		mymenu_obj.style.display="none";
}

function showmenu()
{
	if (mymenu_obj!=null)
		mymenu_obj.style.display="block";
}



 function getPosition( obj )// 1. 获取创建的层的绝对位置。
{ 
    var top = 0,left = 0;
    do 
    {
        top += obj.offsetTop;
        left += obj.offsetLeft;
     }while ( obj = obj.offsetParent );
           
      var arr = new Array();
      arr[0] = top;
      arr[1] = left;
      return arr;
 }
    
function createMenu( textBox, menuid )//2. 创建层。
{
 var newControl = document.getElementById( menuid );
 
 
       if(  newControl == null )
       {
                
         var newControl = document.createElement("div") ;//创建层  window.createPopup()   ; 
         
		 newControl.id = menuid;
         
         newControl.style.position = "absolute"; 
         newControl.style.border = "solid 1px #8899cc";
         newControl.style.backgroundColor = "#FFFFFF";
         
         //newControl.style.paddingLeft ="5px";
         
        document.body.appendChild( newControl );

       }       
         
         var left_new=getPosition( textBox )[1];
         var top_new=getPosition( textBox )[0];
         
         newControl.style.width = textBox.offsetWidth -2 + "px"; //宽度
         newControl.style.left = left_new + "px"; 
         newControl.style.top = (top_new + textBox.offsetHeight -1) + "px";//
         
        return newControl;
}
 
 function forceMenuItem( index )
 {  
  var lastMenuItem = document.getElementById( "menuItem" + menuFocusIndex );
   
       if ( lastMenuItem != null )
       {         
         lastMenuItem.style.backgroundColor="white";   //将上一个变白    
         lastMenuItem.style.color="#000000";
       }
       
       var menuItem = document.getElementById( "menuItem" + index );
       if ( menuItem == null )
        {			
          text_input_box.focus();           
        }
        else 
        {
			menuItem.style.backgroundColor = "#0066cc";
			menuItem.style.color = "#FFFFFF";
			menuFocusIndex = index;			
		}		
   }  
    
      

function catchKeyBoard()// 捕获上下键事件
{
	if(menu_len<1)
		return false;
		
	var keyNumber = event.keyCode;	

	if(keyNumber =='13')
	{
	   tosubmit();
	   return true;// Click_item( menuFocusIndex);
	 }

	if(keyNumber =='40') //向下 
    {       
		if(menuFocusIndex >= menu_len -1)
			forceMenuItem( 0 ); 
		else
			forceMenuItem( menuFocusIndex+1 ); //焦点增加1
			
		givNumber(menuFocusIndex);
		showmenu();
		return true;
 
      }
  
	if(keyNumber == '38')//向上
      {
        if(menuFocusIndex <1)
			forceMenuItem(menu_len -1);
		else
		    forceMenuItem(menuFocusIndex-1); //焦点减少1
		    
        givNumber(menuFocusIndex);
        showmenu();
        return true;
      }
      
      return false;
      
 }
 
 //click
 
 function Click_item( index )
 {
	text_input_box.focus();	
	givNumber( index );	
	//tosubmit();
 }
 
  function tosubmit()
  {
    var ss =text_input_box.value;
  	hidemenu();
  	show_hide('pic_wait',true);
  	//do_mySearchInit();
  	do_Search();	
  }
 
// 按上下键时给文本框赋对应的值
 
  
 function givNumber( index )
{
	if(data_arr==null || typeof(index) =='undefined')
		return;
		
	if(data_arr[index]==null)
		return;		

	text_input_box.value = data_arr[index];//innerText	
	
//	r = text_input_box.createTextRange();
//	r.collapse(false);
//	r.select();
	
}
