// JavaScript Document
var select_num=0;  //初始化选中索引号
var menuopt_num=0;
var menu_height=0;
var menu_sign=false;
var sinput_id="sea_con";
function txtinputforfac(events,siid,stype)
   {
	   menu_sign=true;
   if(siid!="")	
   sinput_id=siid;	
   var intkey=-1;   //保存按键值
   var menudiv=getE("menudiv");
   var obj=getE(sinput_id);
   var frame=getE("menuframe");
   var t=obj.offsetTop;
   var l=obj.offsetLeft;
 
   if(true)
   {
   menudiv.style.width=obj.offsetWidth-0+"px";
   frame.style.width=obj.offsetWidth-4+"px";
   while(obj=obj.offsetParent){
    t+=obj.offsetTop;
    l+=obj.offsetLeft;
    }
	obj=document.getElementById(sinput_id);
	menudiv.style.left=l+"px";
	menudiv.style.top=t+1+obj.offsetHeight + "px";
	frame.style.left=l+"px";
	frame.style.top=t+1+obj.offsetHeight + "px";	
   intkey=events.charCode||events.keyCode;

   //按下向下箭头（向下选择键）时
   if(intkey==40)  
     {

	 select_num=select_num+1;
	 selectedNode(select_num);
	 return;
	 }
	 //按下向上箭头（向上选择键）时
	  if(intkey==38)
     {

	 select_num=select_num-1;
	 	 //alert(select_num);
	 selectedNode(select_num);
	 return;
	 }
	 //选中选项并回车时
	 if(intkey==13 && select_num>0 &&select_num<=menuopt_num)
	   {
	   replacetxt(sinput_id,getE("opt"+select_num),"menudiv");
	   hide_menu();
	   //不要忘记重新初始化select_num
	   select_num=0;
	   return false;
	   }
	   //输入内容后按下回车键
	   if(intkey==13&&trim(obj.value)!="")
	   {
	    hide_menu();
		if(typeof searchforfac=="function")
	       searchforfac(sinput_id);
		   return;
	   }else
	   	   if(trim(obj.value)!="")
	       {
		   getData(obj.value,stype)
	       }
	   		else
	   		{
	   		//按下退格键
        	if(intkey==8)
			{
		   		if(obj.value=="")
		   		{
		   		hide_menu();
		   		}
			else
				{
	            //按下其他键时
	           select_num=0;
	            }
            
             }
			 }
     }else{
     hidden_menu(getE("menudiv"));
	 }
	 return true;
}  	
function txtinput(events,siid,stype)
   {
	menu_sign=false;
   if(siid!="")	
   sinput_id=siid;	
   var intkey=-1;   //保存按键值
   var menudiv=getE("menudiv");//下拉显示层
   var obj=getE(sinput_id);//bind div
   var frame=getE("menuframe");
   var t=obj.offsetTop;
   var l=obj.offsetLeft;
   //if(obj.value!="")
   if(true)
   {
   menudiv.style.width=obj.offsetWidth-0+"px";
   frame.style.width=obj.offsetWidth-4+"px";
   while(obj=obj.offsetParent){
    t+=obj.offsetTop;
    l+=obj.offsetLeft;
    }
	obj=document.getElementById(sinput_id);
	menudiv.style.left=l+"px";
	menudiv.style.top=t+1+obj.offsetHeight + "px";
	frame.style.left=l+"px";
	frame.style.top=t+1+obj.offsetHeight + "px";	
   intkey=events.charCode||events.keyCode;

   //按下向下箭头（向下选择键）时
   if(intkey==40)  
     {

	 select_num=select_num+1;
	 selectedNode(select_num);
	 return;
	 }
	 //按下向上箭头（向上选择键）时
	  if(intkey==38)
     {

	 select_num=select_num-1;
	 	 //alert(select_num);
	 selectedNode(select_num);
	 return;
	 }
	 //选中选项并回车时
	 if(intkey==13 && select_num>0 &&select_num<=menuopt_num)
	   {
	   replacetxt(sinput_id,getE("opt"+select_num),"menudiv");
	   hide_menu();
	   //不要忘记重新初始化select_num
	   select_num=0;
	   return false;
	   }
	   //输入内容后按下回车键
	   if(intkey==13&&trim(obj.value)!="")
	   {
	    hide_menu();
		if(typeof searchclick=="function")
	       searchclick(sinput_id);
		   return;
	   }else
	   	   if(trim(obj.value)!="")
	       {
		   getData(obj.value,stype)
	       }
	   		else
	   		{
	   		//按下退格键
        	if(intkey==8)
			{
		   		if(obj.value=="")
		   		{
		   		hide_menu();
		   		}
			else
				{
	            //按下其他键时
	           select_num=0;
	            }
            
             }
			 }
     }else{
     hidden_menu(getE("menudiv"));
	 }
	 return true;
}  	  

//模拟选中文本
   function selectedNode(num_id)
   {
   var num=num_id;
   if(num>menuopt_num)
      {
	  num=1;
	  select_num=1;
	  }
   if(num<=0)
      {
      num=1;
	  select_num=1;
	  }	  
   for(var i=1;i<=menuopt_num;i++)
   {
   	 var obj=getE("opt"+i);
	 if(obj)
	 {
     if(num==i)
     {
	    if(document.all){
			obj.style.backgroundColor="#9DE1A8";
			obj.style.color="#006";}
		else
		   	obj.setAttribute("class","setHighColor");
		keyreplacetxt(sinput_id,getE("opt"+i),"menudiv");	
     }else
     {
	    if(document.all){
			obj.style.backgroundColor="#FFF";
			obj.style.color="#000";}
	    else
		   obj.setAttribute("class",obj.getAttribute("class").replace("setHighColor",""));
     }
	 }
   }
   }

//替换文本
   function replacetxt(id,obj,menuid)
   {
   var obj_input=getE(id);
   var menu_div=getE(menuid);
   if(document.all)
      obj_input.value=trim(obj.innerText);
   else
	  obj_input.value=trim(obj.textContent);
   menu_div.style.display="none";
   var frame=getE("menuframe");
      if(frame)
   frame.style.display="none";  
   if(menu_sign)
   {
   if(typeof searchforfac=="function")
     searchforfac(sinput_id);
   }	   
  else{
   if(typeof searchclick=="function")
     searchclick(sinput_id);
   }
   }
   
   

//替换文本
   function keyreplacetxt(id,obj,menuid)
   {
   var obj_input=document.getElementById(id);
   var menu_div=document.getElementById(menuid);
   
   if(document.all)
      obj_input.value=trim(obj.innerText);
   else
	  obj_input.value=trim(obj.textContent);
 
   }
   //隐藏信息提示菜单
   function hidden_menu(obj)
   {
   obj.style.display="none";
   
   }
   
   //获取变量名  
   function getE(id)
   {
   return document.getElementById(id);
   }
   

function getData(txt,type)
{
	var results="";
	var stype=type;
	var framemenu=getE("menuframe");
	var posturl="";
	//市场参考价
	if(stype=="gov")
	    posturl="/GovMaterialIndex";
	//厂商报价	
	if(stype=="fac")
	    posturl="/FacMaterialIndex";
	
	if(txt=="")
	  {
		return false;  //不响应		  
	  }

	var data = {'type':2,"content":txt};
	$.ajax({type:"post",url:posturl,data:data,complete:function(json){

	var datas = eval("("+json.responseText+")");	
	var divmenu=getE("menudiv");
	//如果无相关记录
	if(datas.result=="" || datas.result.length==0||data.state=="failed")
	{
	    divmenu.innerHTML="";
		divmenu.style.height="0px";
		hide_menu();
		return true;
	}else{
	results=getMenuTxt(datas);
	divmenu.innerHTML=results;
    divmenu.style.height=menu_height+"px";
		if(framemenu)
		{
	   		framemenu.style.height=(menu_height-4)+"px";
	   
		}
	menu_height=0;
	divmenu.style.display="";
	framemenu.style.display="";
	}
    }});
	//alert(results);
}

function getMenuTxt(txtArray)
{
var resulttxt="";
 var num=0;
if(txtArray!="undefined" && txtArray!=null)
{
  if(txtArray.result!=""&&txtArray.result!=null)
     {num=Math.round(txtArray.result.length);
	 }
  else
     num=0;
  if(num!=0)
  {

    resulttxt="<table id='menutable' width='100%' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF' class='menutable' style='border:1px solid #999;border-top:none;'>";
    if(num>10)
      num=10;
	menuopt_num=num;  //提示选项个数
	for(var i=0;i<num;i++)
    {
       resulttxt=resulttxt+"<tr><td id=\"opt"+(i+1)+"\" height=\"22\" align=\"left\" style=\"padding-left:3px;font-size:12px;color:#666666;background-color=\'#FFF\'\"  class='' onmouseover=\"opt_over(this)\"  onmouseout=\"opt_out(this)\"  onclick=\"replacetxt('"+sinput_id+"',this,'menudiv')\" >"+txtArray.result[i].name+"  </td></tr>";
	   menu_height=menu_height+22;
    }
    resulttxt=resulttxt+"</table>";
  }
}
	
return resulttxt;	
	
}

function mouse_out(obj)
{
obj.style.backgroundColor="#fff";
}

function hide_menu(e)
{
var menu=getE("menudiv");
var frame=getE("menuframe");
if(frame)
    frame.style.display="none";
if(menu)
    menu.style.display="none";
var fobj=getE("fdiv");
var mobj=getE("mdiv");
e=window.event||e;
if(e!=null)
	{
	e=e.srcElement||e.target;
	if(e.id!="fkeyinput"&&e.id!="mkeyinput")
	{
		if(fobj!=null)
		    document.body.removeChild(fobj);
		var mobj=getE("mdiv");
		if(mobj!=null)
			document.body.removeChild(mobj);
	}
	}
}

function opt_over(obj)
{
obj.style.backgroundColor="#A0CFF1";
obj.style.color="#666";
}

function opt_out(obj)
{
obj.style.backgroundColor="#FFF";
obj.style.color="#666";
}

function blanks(e)
  {
	txtinput(e);
  }