
var g_refix="";
var g_cginame="http://stock.finance.qq.com/cgi-bin/sstock/code_q";

var g_fc=false;
var g_cd=0;
var isIE=!!document.all;
$("scode").onfocus=cd;
$("scode").onblur=hd;
$("scode").onkeydown=function(event){co(event);};
if(isIE)
{
	//alert("ie");
	$("scode").attachEvent("onpropertychange",sd);
}else{
//alert("notIE");
$("scode").addEventListener("input",sd,false);
}

function creatdiv()
{

	p=$("scode");
	p.autocomplete="off";
	var oList=document.createElement('div');
	oList.id='stolisname';
	oList.style.zIndex="1000";
	oList.style.visibility="hidden";
	pos(oList);
	oList.style.position="absolute";
	//oList.style.backgroundColor="white";
	$("stockbar").appendChild(oList);
}
function hd(){
	if($("scode").value==""){
		$("scode").value="";
	}
	if($("stolisname"))
	{
		$("stolisname").style.visibility="hidden";
		if(g_cd==1){
			$("scode").focus();
			g_cd=0;
		}
	}
}

function cd()
{
	if($("scode").value=="代码/名称/拼音"){
		$("scode").value="";
	}
	if(!g_fc){
		g_fc= true;
		creatdiv();
	}
}

var g_keyup=0;
var g_keydown=0;
function co(evt)
{
	//alert(evt.keyCode);
	evt=window.event||evt;
	if(evt.keyCode==null)
	{
		return;
	}
	if(evt.keyCode==40)
	{
		if($("stolisname")){
			if(!$("tr"+g_keydown)){
				g_keydown--;
			}
			if($("tr"+(g_keydown-1))){
				mo(g_keydown-1,false);
			}
			mo(g_keydown,true);
			g_keyup=g_keydown-1;
			g_keydown++;
		}
	}
	if(evt.keyCode==38){
		if($("stolisname")){
			if(!$("tr"+g_keyup)){
				g_keyup++;
			}
			if($("tr"+(g_keyup+1)))
			{
				mo(g_keyup+1,false);
			}
			mo(g_keyup,true);
			g_keydown=g_keyup+1;
			g_keyup--;
		}
	}
	if(evt.keyCode==13){
		
		if(g_keydown-1==g_keyup+1)
		{
			if($("stolisname")&&$("tr"+(g_keydown-1)))
			{
				var otr=$("tr"+(g_keydown-1));
				if(otr.hasChildNodes())
				{
					//var sname=otr.childNodes[1].firstChild.nodeValue;
					var code=otr.childNodes[0].firstChild.nodeValue;
					g_cd=1;
					
					$("scode").value=code;
					
					//$("sname").value = sname;
					hd();
				}
			}
		}
	}
}

function pos(oList)
{
	if(oList)
	{
		p=$("scode");
		oList.style.left=left(p)+1+"px";
		oList.style.top=1+top(p)+p.offsetHeight+"px";
		oList.style.width=width(p)-2+"px";
	}
}

function width(a)
{
	return a.offsetWidth;
}

function left(s)
{
	return getOffset(s,"offsetLeft");
}

function top(s)

{
	return getOffset(s,"offsetTop");

}

function getOffset(e,na)
{
	var va=0;
	while(e)
	{
		va+=e[na];
		e=e.offsetParent;
	}
	return va;
}

function mo(n,flag)
{
	var otr=$("tr"+n);

	if(!otr)
	{
		return;
	}
	if(otr.hasChildNodes())
	{
		if(flag){
			for(var i=0;i<otr.childNodes.length-1;i++)
			{
				otr.childNodes[i].style.backgroundColor="#EBF2FA";
			}
		}else{
		for(var i=0;i<otr.childNodes.length-1;i++)
		{
			otr.childNodes[i].style.backgroundColor="#FFFFFF";
		}
	}
}
}

function cm(n,flag)
{
	if(g_keydown-1!=n||g_keyup+1!=n)
	{
		if(g_keydown-1==g_keyup+1)
		{
			mo(g_keyup+1,false);
		}
		g_keydown=n+1;g_keyup=n-1;
	}
	mo(n,flag);

}

function sc(n)
{
	//alert(n);
	var otr=$("tr"+n);

	if(otr.hasChildNodes())
	{
		
		var code=otr.childNodes[0].firstChild.nodeValue;
		//var sname=otr.childNodes[1].firstChild.nodeValue;

		g_cd=1;
		$("scode").value=code;
		//$("sname").value=sname;
	}
}
function ShowCodeList(vlist){

	var olist=$("stolisname");

	if(olist){

		var str="";
		if(vlist.length>0){

			str="<table align='left' width='150' class='stdk02' bgcolor='#EBF2FA' border='0' cellpadding='0' cellspacing='0'><tr height='25' align='center'><td width'60' align='center'>代码</td><td width='60' align='center'>名称</td><td swidth='60' align='center'>拼音</td></tr>";
			//alert(vlist.length);
			for(var i=0;i<vlist.length;i++){

				str+="<tr height='23' id='tr"+i+"' onmouseover=cm("+i+",true) onmouseout=cm("+i+",false) onmousedown='sc("+i+");' onkeydown='sc("+i+")'>";
				var l=vlist[i].split("_");
				var code="<td align='center' style='background-color:#FFFFFF'>"+l[0]+"</td>";
				var name="<td align='center' style='background-color:#FFFFFF'>"+l[1]+"</td>";
				var pinyin="<td align='center' style='background-color:#FFFFFF'>"+l[2]+"</td>";
				str+=code+name+pinyin+"</tr>";
				if(vlist.length==1) $("scode").value=l[0];
			}
			
			
			str+="</table>";
			olist.innerHTML=str;
			olist.style.visibility="visible";
			
			
			
		}
	}
	
	
			
			
}
function LoadCodeList(Text)
{

	var vTmp=Text.replace(/^<.*>/ig,"");
	if(vTmp.replace(/ /ig,"").substr(0,1)!="N")

	{
		if(vTmp.replace(/ /ig,"")!=""&&vTmp.replace(/ /ig,"")!="\n")
		{

			var vList=vTmp.split("|");
			ShowCodeList(vList);
		}
	else{

	g_cd=1;
	$("stolisname").style.visibility="hidden";
}
}
else{

if($("stolisname")){

	$("stolisname").style.visibility="hidden";
}
}
}

function sd()
{

	v=$("scode").value.replace(/ /ig,"");
	u="";
	var p="/js/jscode/",t="SS",vLoadFlag=false;


	if((v!="")&&(v!="代码/名称/拼音"))
	{
		if(/[\\\/<>#\$&] /g.test(v)){
			alert("请输入汉字、数字、字母或*号");
			$("scode").value=$("scode").value.substr (0,$("scode").value.length-1);
			return false;
		}
	else if(/^[\/0-9a-zA-Z]+$/.test(v))
	{
		

		u=p+v.toUpperCase()+".js";
		//alert(u);
	}
else
	{
		u=p+v+".js";
		//alert(u);
	}

	var vCount=true;
	if(g_cd==0)
	{

		g_keyup=0;
		g_keydown=0;
		var loadJson=function(scriptUrl,scriptId){
			JsLoader.load(scriptId,scriptUrl,function(){
				if(typeof v_hint!='undefined'&&v_hint!=null){

					LoadCodeList(v_hint);
					v_hint=null;
				}else{
				//alert("b")
				if(vLoadFlag&&vCount){
					s="q="+v+"&t="+t;
					u=g_refix+g_cginame+"?"+s;
					loadJson(u,"_cq_hint_script");
					vCount=false;
				}
			else{
			g_cd=1;
			hd();
		}
	}
}
);
};

loadJson(u,"_cq_hint_script");

}
}
}




