var $=function(Id){
	return document.getElementById(Id)?document.getElementById(Id):null;
};
var $N=function(Name){
	return document.getElementsByName(Name)?document.getElementsByName(Name):Name;
};
var $createTag=function(tagName){
	return document.createElement(tagName);
};
var $removeTag=function(obj){
	document.body.removeChild(obj);
};
var $getTop=function(obj){
	var offset=obj.offsetTop;
	if(obj.offsetParent!=null) offset +=$getTop(obj.offsetParent);
	return offset;
};
var $getLeft=function(obj){
	var offset=obj.offsetLeft;
	if(obj.offsetParent!=null) offset +=$getLeft(obj.offsetParent);
	return offset;
};
var $ajax=function createXMLHttpRequest(){
	var xmlHttp=false;
	try{
		xmlHttp = new XMLHttpRequest();
	}
	catch(trymicrosoft){
		try{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}//No.1
		catch(othermicrosoft){
			try{xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")}
			catch(failed){}
		}//No.1
	}
   return xmlHttp;
};
var ltrim=function(val){return val.replace(/(^\s*)/g,"");};
var rtrim=function(val){return val.replace(/(\s*$)/g,"");}; 
var trim=function trim(val){return rtrim(ltrim(val));};
document.write("<style>");
document.write("#suggest{position:absolute;background:#fff;text-align:left;border:1px solid #000;height:auto!important;height:20px;min-height:20px;}");
document.write("#suggest .suggestOver{background:#e8e2fe;padding:2px 6px 2px 6px;}");
document.write("</style>");
var suggestDiv=$createTag("div");
var lastKey="";
var selectedIndex=0;
var inputObject=null;
var showSuggest=function(inputObj){
	inputObject=inputObj;
	var key=trim(inputObj.value);
	if(key==lastKey)return false;
	else lastKey=key;
	suggestDiv.style.display="none";
	if(/^\s*$/.test(key)){
		return false;
	}
	selectedIndex=-1;
	var xmlHttp = $ajax();
	xmlHttp.open("get","/tools/ajax.aspx?skey=" + escape(key) + "&t=" +  new Date().getTime(),true);
	xmlHttp.onreadystatechange = function(){
    	if(xmlHttp.readyState == 4&&xmlHttp.status == 200){
			var xmldoc=xmlHttp.responseXML;
			var keynodes=xmldoc.getElementsByTagName("key");
			if(keynodes.length>0){
				suggestDiv.id="suggest";
				suggestDiv.style.width=inputObj.offsetWidth + "px";
				//var suggest = "";
				suggestDiv.innerHTML="";
				for(var i=0;i<keynodes.length;i++){
					var keyDiv=$createTag("div");
					keyDiv.style.width="96%";
					keyDiv.style.padding="0";
					keyDiv.style.margin="2px 6px 2px 6px";
					keyDiv.style.height="18px";
					keyDiv.style.lineHeight="18px";
					var oText=document.createTextNode(keynodes[i].getAttribute("value"));
					keyDiv.appendChild(oText);
					keyDiv.onmouseover=function(){
						selectedIndex=-1;
						var divlist=suggestDiv.getElementsByTagName("div");
						for(var k=0;k<divlist.length;k++){
							divlist[k].className="";
							if(divlist[k]==this)selectedIndex=k;
						}
						this.className="suggestOver";
					}
					keyDiv.onmouseout=function(){
						this.className="";
					}
					keyDiv.onclick=function(){
						inputObj.value=this.innerHTML;
						//suggestDiv.style.display="none";
						var formObj=inputObj.parentNode;
						while(formObj){
							if(formObj.tagName.toLowerCase()=="form"){
								formObj.submit();break;
							}else{
								formObj=formObj.parentNode;
							}
						}
					}
					suggestDiv.appendChild(keyDiv);
				}
				suggestDiv.style.top=parseInt($getTop(inputObj) + inputObj.offsetHeight) + "px";
				suggestDiv.style.left=parseInt($getLeft(inputObj)) + "px";
				suggestDiv.style.display="block";
				inputObj.parentNode.appendChild(suggestDiv);
				//
			}else{
				suggestDiv.style.display="none";
			}
		}//end if readyState
	}//eixt function
	xmlHttp.send(null);
};
var changeSelect=function(isUp,inputObj){
	if (isUp) selectedIndex++;
	else selectedIndex--;
	if(selectedIndex<0) selectedIndex=0;
	var divlist=suggestDiv.getElementsByTagName("div");
	if(selectedIndex>=divlist.length)
		selectedIndex=divlist.length-1;
	for(var i=0;i<divlist.length;i++){
		if(i==selectedIndex){
			divlist[i].className="suggestOver";
			inputObj.value=divlist[i].innerHTML;
		}else{
			divlist[i].className="";
		}
	}
};
var getEvent=function(event){
	return event ? event : (window.event ? window.event : null);
};
var suggest=function(event,inputObj){
	event = getEvent(event);
	var keyCode=event.keyCode;
	if(keyCode==40||keyCode==38){//下上
		var isUp=false;
		if(keyCode==40) isUp=true;
		changeSelect(isUp,inputObj);
	}else{
		showSuggest(inputObj);
	}
};
document.onclick=function(event){
	event = getEvent(event);
	if(event.target!=suggestDiv && event.target!=inputObject)suggestDiv.style.display="none";
};
var changeLanguageLink=function(url){
	document.writeln('<a href="' + url + '" style="color:#FF0000;">简体/繁體</a>');
};