var sfw=new Array();
String.prototype.decode=function()
{
	return decodeURI(this);
};
String.prototype.encode=function(){
	var _1="";
	if(this==""){
		return this;
	}
	if(typeof encodeURIComponent=="function"){
		_1=encodeURIComponent(this);
	}
	else
	{
		var _2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
		var _3=this.toUTF8();
		_1="";
		for(var i=0;i<_3.length;i++){
			if(_2.indexOf(_3.charAt(i))==-1){
				_1+="%"+_3.charCodeAt(i).toHex();
			}else{
				_1+=_3.charAt(i);
			}
		}
	}
	return _1;
};
String.prototype.toHex=function(){
	var _5="0123456789ABCDEF";
	return _5.charAt(this.value>>4)+_5.charAt(this.value&15);
};
String.prototype.toUTF8=function(){
	var a,b,i=0;
	var _7="";
	while(i<this.length){
		a=this.charCodeAt(i++);
		if(a>=56320&&a<57344){
			continue;
		}
		if(a>=55296&&a<56320){
			if(i>=this.length){
				continue;
			}
			b=this.charCodeAt(i++);
			if(s<56320||a>=56832){
				continue;
			}
			a=((a-55296)<<10)+(b-56320)+65536;
		}
		if(a<128){
			_7+=String.fromCharCode(a);
		}else{
			if(a<2048){
				_7+=String.fromCharCode(192+(a>>6),128+(a&63));
			}
			else{
				if(a<65536){
					_7+=String.fromCharCode(224+(a>>12),128+(a>>6&63),128+(a&63));
				}
				else{
					_7+=String.fromCharCode(240+(a>>18),128+(a>>12&63),128+(a>>6&63),128+(a&63));
				}
			}
		}
	}
	return _7;
};
String.prototype.trim=function(){
	return this.replace(/^[\s]+|[\s]+$/,"");
};
function sfwCreate(_8){
	if(sfw[_8].name&&sfw[_8].action){
		sfw[_8].inputContainer=document.getElementById(sfw[_8].name);
		sfw[_8].inputContainer.autocomplete="off";
		sfw[_8].inputContainer.onblur=function(){
			//setTimeout("hiddenRecommendDiv()",300);
			//setTimeout("sfwHideOutput(_8)",1000);
			//hiddenRecommendDiv();
			sfwHideOutput(_8);
		};
		sfw[_8].inputContainer.onclick=function(){
			if(sfw[_8].name=="key"&&document.getElementById(sfw[_8].name).value==""){
				showRecommendDiv(document.getElementById(sfw[_8].name));
				sfwHideOutput(_8);
			}
			else{
				sfwShowOutput(_8);
			}
		};
		sfw[_8].inputContainer.onfocus=function(){
			if(sfw[_8].name=="key"&&document.getElementById(sfw[_8].name).value==""){
				showRecommendDiv(document.getElementById(sfw[_8].name));
				sfwHideOutput(_8);
				if(document.getElementById('agencyname_list')!=null){
					document.getElementById('agencyname_list').style.display='none';
				}
			}
			else if(sfw[_8].name=="agencyname"){
				hiddenRecommendDiv();
				if(document.getElementById('key_list')!=null){
					document.getElementById('key_list').style.display='none';
				}
				sfwShowOutput(_8);
			}
			else if(sfw[_8].name=="key"&&document.getElementById(sfw[_8].name).value!=""){
				hiddenRecommendDiv();
				if(document.getElementById('agencyname_list')!=null){
					document.getElementById('agencyname_list').style.display='none';
				}
				sfwShowOutput(_8);
			}
			else{
				sfwShowOutput(_8);
			}
		};
		sfw[_8].inputContainer.onkeypress=function(_9){
			if(sfwGetKey(_9)==13){
				return false;
			}
		};
		sfw[_8].inputContainer.onkeydown=function(_a){
			sfwProcessKeys(_8,_a);
		};
		/*sfw[_8].inputContainer.onkeyup=function(_a){
			sfwShowOutput(_8);
			if(sfw[_8].name=="agencyname"){
				hiddenRecommendDiv();
				if(document.getElementById('key_list')!=null){
					document.getElementById('key_list').style.display='none';
				}
				if(document.getElementById(sfw[_8].name).value=='') {
					document.getElementById('agencyname_list').style.display='none';
				}
			}
			if(sfw[_8].name=="key"){
				if(document.getElementById(sfw[_8].name).value=='') {
					document.getElementById('key_list').style.display='none';
					showRecommendDiv(document.getElementById(sfw[_8].name));
				}
				else{ 
					hiddenRecommendDiv();
				}
				if(document.getElementById('agencyname_list')!=null){
					document.getElementById('agencyname_list').style.display='none';
				}
			}
		};*/
		sfw[_8].outputContainer=document.createElement("div");
		sfw[_8].outputContainer.id=sfw[_8].name+"_list";
		sfw[_8].outputContainer.className="SuggestFramework_List";
		sfw[_8].outputContainer.style.position="absolute";
		sfw[_8].outputContainer.style.zIndex="1";
		sfw[_8].outputContainer.style.width=sfw[_8].inputContainer.clientWidth+"px";
		sfw[_8].outputContainer.style.wordWrap="break-word";
		sfw[_8].outputContainer.style.cursor="default";
		sfw[_8].inputContainer.parentNode.insertBefore(sfw[_8].outputContainer,sfw[_8].inputContainer.nextSibling);
		sfw[_8].inputContainer.parentNode.insertBefore(document.createElement("br"),sfw[_8].outputContainer);
		if(sfw[_8].columns>1&&sfw[_8].capture>1){
			sfw[_8].hiddenInput=document.createElement("input");
			sfw[_8].hiddenInput.id="_"+sfw[_8].name;
			sfw[_8].hiddenInput.name="_"+sfw[_8].name;
			sfw[_8].hiddenInput.type="hidden";
			sfw[_8].inputContainer.parentNode.insertBefore(sfw[_8].hiddenInput,sfw[_8].inputContainer.nextSibling);
		}
		if(!sfwCreateConnection()){
			sfw[_8].proxy=document.createElement("iframe");
			sfw[_8].proxy.id="proxy";
			sfw[_8].proxy.style.width="0";
			sfw[_8].proxy.style.height="0";
			sfw[_8].proxy.style.display="none";
			document.body.appendChild(sfw[_8].proxy);
			if(window.frames&&window.frames["proxy"]){
				sfw[_8].proxy=window.frames["proxy"];
			}
			else{
				if(document.getElementById("proxy").contentWindow){
					sfw[_8].proxy=document.getElementById("proxy").contentWindow;
				}
				else{
					sfw[_8].proxy=document.getElementById("proxy");
				}
			}
		}
		sfwHideOutput(_8);
		sfwThrottle(_8);
	}
	else{
		throw "Suggest Framework Error: Instance \""+sfw[_8].name+"\" not initialized";
	}
}
function sfwCreateConnection(){
	var _b;
	try{
		_b=new ActiveXObject("Microsoft.XMLHTTP");
	}catch(e){
		if(typeof XMLHttpRequest!="undefined"){
			_b=new XMLHttpRequest();
		}
	}
	return _b;
}
function sfwGetKey(e){
	return ((window.event)?window.event.keyCode:e.which);
}
function sfwHideOutput(_d){
	sfw[_d].outputContainer.style.display="none";
}
function sfwHighlight(_e,_f){
	sfw[_e].suggestionsIndex=_f;
	for(var i in sfw[_e].suggestions){
		if(!isNaN(i)){
			var _11=document.getElementById(sfw[_e].name+"_suggestions["+i+"]").getElementsByTagName("div");
			for(var j in _11){
				_11[j].className="SuggestFramework_Normal";
			}
		}
	}
	var _13=document.getElementById(sfw[_e].name+"_suggestions["+sfw[_e].suggestionsIndex+"]").getElementsByTagName("div");
	for(var i in _13){
		_13[i].className="SuggestFramework_Highlighted";
	}
}
function sfwIsHidden(_15){
	return ((sfw[_15].outputContainer.style.display=="none")?true:false);
}
function sfwProcessKeys(_16,e){
	var _18=40;
	var _19=38;
	var _1a=9;
	var _1b=13;
	var _1c=27;
	if(!sfwIsHidden(_16)){
		switch(sfwGetKey(e)){
			case _18:sfwSelectNext(_16);
				return;
			case _19:sfwSelectPrevious(_16);
				return;
			case _1b:sfwSelectThis(_16);
				return;
			case _1a:sfwSelectThis(_16);
				return;
			case _1c:sfwHideOutput(_16);
				return;
			default:
				return;
		}
	}
}
function sfwProcessProxyRequest(_1d){
	var _1e=((sfw[_1d].proxy.document)?sfw[_1d].proxy.document:sfw[_1d].proxy.contentDocument);
	_1e=_1e.body.innerHTML.replace(/\r|\n/g," ").trim();
	if(typeof eval(_1e)=="object"){
		sfwSuggest(_1d,eval(_1e));
	}
	else{
		setTimeout("sfwProcessProxyRequest("+_1d+")",100);
	}
}
function sfwProcessRequest(_1f){
	if(sfw[_1f].connection.readyState==4){
		if(sfw[_1f].connection.status==200){
			sfwSuggest(_1f,eval(sfw[_1f].connection.responseText));
		}
	}
}
var _500="";
function sfwQuery(_20){
	sfwThrottle(_20);
	var _21=sfw[_20].inputContainer.value;
	_500=_21;
	if(_21==""||(_21==sfw[_20].previous)){
		return;
	}
	sfw[_20].previous=_21;
	var url=sfw[_20].action+"?type="+sfw[_20].name+"&q="+_21;
	//url=encodeURI(url);
	document.getElementById("keyClick").value=Number(document.getElementById("keyClick").value)+1;
	document.getElementById("agencyClick").value=Number(document.getElementById("agencyClick").value)+1;
	sfwRequest(_20,url);
}
function sfwRequest(_23,url){
	if(sfw[_23].connection=sfwCreateConnection()){
		sfw[_23].connection.onreadystatechange=function(){
			sfwProcessRequest(_23);
		};
		sfw[_23].connection.open("GET",url,true);
		sfw[_23].connection.send(null);
	}else{
		sfw[_23].proxy.location.replace(url);
		sfwProcessProxyRequest(_23);
	}
}
function sfwSelectThis(_25,_26){
	if(sfw[_25].columns>1&&sfw[_25].capture>1){
		sfw[_25].hiddenInput.value=sfw[_25].suggestions[sfw[_25].suggestionsIndex][sfw[_25].capture-1];
	}
	if(!isNaN(_26)){
		sfw[_25].suggestionsIndex=_26;
	}
	var _27=sfw[_25].suggestions[sfw[_25].suggestionsIndex];
	if(sfw[_25].columns>1){
		_27=_27[0];
	}
	sfw[_25].inputContainer.value=_27;
	sfw[_25].previous=_27;
	//sfwHideOutput(_25);
	sfw[_25].outputContainer.style.display="none";
}
function sfwSelectNext(_28){
	sfwSetTextSelectionRange(_28);
	if(typeof sfw[_28].suggestions[(sfw[_28].suggestionsIndex+1)]!="undefined"){
		if(typeof sfw[_28].suggestions[sfw[_28].suggestionsIndex]!="undefined"){
			document.getElementById(sfw[_28].name+"_suggestions["+sfw[_28].suggestionsIndex+"]").className="SuggestFramework_Normal";
		}
		sfw[_28].suggestionsIndex++;
		sfwHighlight(_28,sfw[_28].suggestionsIndex);
	}
}
function sfwSelectPrevious(_29){
	sfwSetTextSelectionRange(_29);
	if(typeof sfw[_29].suggestions[(sfw[_29].suggestionsIndex-1)]!="undefined"){
		if(typeof sfw[_29].suggestions[sfw[_29].suggestionsIndex]!="undefined"){
			document.getElementById(sfw[_29].name+"_suggestions["+sfw[_29].suggestionsIndex+"]").className="SuggestFramework_Normal";
		}
		sfw[_29].suggestionsIndex--;
		sfwHighlight(_29,sfw[_29].suggestionsIndex);
	}
}
function sfwSetTextSelectionRange(_2a,_2b,end){
	if(!_2b){
		var _2d=sfw[_2a].inputContainer.value.length;
	}
	if(!end){
		var end=sfw[_2a].inputContainer.value.length;
	}
	if(sfw[_2a].inputContainer.setSelectionRange){
		sfw[_2a].inputContainer.setSelectionRange(_2d,end);
	}else{
		if(sfw[_2a].inputContainer.createTextRange){
			var _2f=sfw[_2a].inputContainer.createTextRange();
			_2f.moveStart("character",_2d);
			_2f.moveEnd("character",end);
			_2f.select();
		}
	}
}
function sfwShowOutput(_30){
	if(typeof sfw[_30].suggestions!="undefined"&&sfw[_30].suggestions.length){
		sfw[_30].outputContainer.style.display="block";
	}
}
function setSfwvalue(_31,_800){
	document.getElementById(sfw[_31].name).value=_800;
}
function sfwSuggest(_31,_32){
	sfw[_31].suggestions=_32;
	sfw[_31].suggestionsIndex=-1;
	sfw[_31].outputContainer.innerHTML="";
	var _33="";
	_33+="<div id=\"frame\" style=\"background-color:#fff\;width:100%;width:220px;\">";

	var keyname = document.getElementById(sfw[_31].name).value;
	if(document.getElementById(sfw[_31].name).value.length > 14){
		keyname = keyname.substring(0,13)+"..";
	}

		if(sfw[_31].suggestions!=null&&sfw[_31].suggestions.length>=23){
			
			_33+="<div style=\"width:230px;height:215px;overflow-y:auto; margin: 0; padding: 0;\">";
			_33+="<div style=\"width:200px;height:17px;margin:0 auto;border-bottom:1px dashed #B8B8B8;margin-top:10px;font-weight:bold;margin-bottom:14px;\"><div style=\"width:180px;height:17px;float:left;cursor:hand;\" onclick=\"setSfwvalue("+_31+",'"+keyname+"')\">" + keyname+ "</div><div style=\"width:14px;height:17px;float:left;\"><a href=\"javascript:sfwHideOutput("+_31+");\"><img src='/images/closediv.gif' border='0' ></a></div></div>";

			var frame=document.getElementById(sfw[_31].name);
			frame.onblur=new Function("extendOnblur()");
		}else if(sfw[_31].suggestions!=null&&sfw[_31].suggestions.length<23&&sfw[_31].suggestions.length>1){
			
			_33+="<div style=\"width:230px; margin: 0; padding: 0;\">";
			_33+="<div style=\"width:214px;height:17px;margin:0 auto;border-bottom:1px dashed #B8B8B8;margin-top:10px;font-weight:bold;margin-bottom:14px;\"><div style=\"width:180px;height:17px;float:left;cursor:hand;\" onclick=\"setSfwvalue("+_31+",'"+keyname+"')\">" + keyname+ "</div><div style=\"width:14px;height:17px;float:left;\"><a href=\"javascript:sfwHideOutput("+_31+");\"><img src='/images/closediv.gif' border='0' ></a></div></div>";
			var frame=document.getElementById(sfw[_31].name);
			frame.onblur=new Function("extendSecondOnblur("+_31+")");
		}else{
			sfw[_31].outputContainer.style.display="none";
			_33+="<div style=\"width:230px;margin: 0; padding: 0;display:none;\">";

			var frame=document.getElementById(sfw[_31].name);
			frame.onblur=new Function("extendSecondOnblur("+_31+")");
			
		}
	if(sfw[_31].heading&&sfw[_31].suggestions.length){
		var _34=sfw[_31].suggestions.shift();
		var _35="";
		var _36="";
		for(var i=0;i<sfw[_31].columns;i++){
			var _38=(String)((sfw[_31].columns>1)?_34[i]:_34);
			var _39="<div class=\"SuggestFramework_Heading\"";
			if(sfw[_31].columns>1&&i==sfw[_31].columns-1){
				_39+=" style=\"text-align: right\"";
			}
			_39+=">"+_38.decode().trim()+"</div>";
			_36+=_39;
		}
		_36+="";
		_35+=_36;
		_35+="";
		_33+=_35;
	}
	var _3a="";
	for(var i in sfw[_31].suggestions){
		
		if(!isNaN(i)){
			var _3c="";
			//alert(sfw[_31].name);
			if(sfw[_31].name=="agencyname"){
				_3c="<div style=\"width:210px;height:20px;float:left;margin-left:8px;\" id=\""+sfw[_31].name+"_suggestions["+i+"]\">";
			}
			else{
				_3c="<div style=\"width:90px;height:20px;float:left;margin-left:8px;\" id=\""+sfw[_31].name+"_suggestions["+i+"]\">";
			}
			
			for(var j=0;j<sfw[_31].columns;j++){
				var _3e=(String)((sfw[_31].columns>1)?sfw[_31].suggestions[i][j]:sfw[_31].suggestions[i]);
				var _3f="<div id=\""+sfw[_31].name+"_suggestions["+i+"]["+j+"]\" class=\"SuggestFramework_Normal\"";
				if(sfw[_31].columns>1&&j==sfw[_31].columns-1){
					_3f+=" style=\"text-align: right\"";
				}
				_3f+=">"+_3e.decode().trim()+"</div>";
				_3c+=_3f;
			}
			_3c+="</div>";
			_33+=_3c;
		}
		
	}
	_3a+="";
	_33+=_3a;
	_33+="</div></div>";
	//document.write(_33);
	//if(document.getElementById("showMsg")!=null){
		//document.getElementById("showMsg").innerHTML=_33;
	//}
	sfw[_31].outputContainer.innerHTML=_33;
	//sfw[_31].outputContainer.innerHTML="<div id=\"frame\"><div style=\"width:220px;height:245px;overflow-y:auto; margin: 0; padding: 0;\"><div style=\"width:100px;height:20px;float:left\" id=\""+sfw[_31].name+"_suggestions[0]\">"+_33.substring(_33.indexOf("<div id=\"key_suggestions[0][0]\""),_33.length);
	for(var i in sfw[_31].suggestions){
		if(!isNaN(i)){
			var row=document.getElementById(sfw[_31].name+"_suggestions["+i+"]");
			row.onmouseover=new Function("sfwHighlight("+_31+", "+i+")");
			row.onmousedown=new Function("sfwSelectThis("+_31+", "+i+")");
		}
	}
	//Ä¬ÈÏ²»ÏÔÊ¾ÐÞ¸Ä
	if(sfw[_31].name=="key"){
		if(Number(document.getElementById("keyClick").value)>2){
			sfwShowOutput(_31);
		}
	}
	if(sfw[_31].name=="agencyname"){
		if(Number(document.getElementById("agencyClick").value)>2){
			sfwShowOutput(_31);
		}
	}
}
function extendOnblur(){
	//setTimeout("hiddenRecommendDiv()",100);
}
function extendSecondOnblur(_31){
	//setTimeout("hiddenRecommendDiv()",100);
	sfwHideOutput(_31);
}
function sfwThrottle(_42){
	setTimeout("sfwQuery("+_42+")",sfw[_42].delay);
}
function initializeSuggestFramework(){
	function getAttributeByName(_43,_44){
		if(typeof NamedNodeMap!="undefined"){
			if(_43.attributes.getNamedItem(_44)){
				return _43.attributes.getNamedItem(_44).value;
			}
		}
		else{
			return _43.getAttribute(_44);
		}
	}
	var _45=document.getElementsByTagName("input");
	try{
		for(var _46=0;_46<_45.length;_46++){
			if(getAttributeByName(_45[_46],"name")&&getAttributeByName(_45[_46],"type")=="text"&&getAttributeByName(_45[_46],"action")){
				sfw[_46]=new Object();
				sfw[_46].action=getAttributeByName(_45[_46],"action");
				sfw[_46].capture=1;
				sfw[_46].columns=1;
				sfw[_46].delay=1000;
				sfw[_46].heading=false;
				sfw[_46].name=getAttributeByName(_45[_46],"name");
				if(getAttributeByName(_45[_46],"capture")){
					sfw[_46].capture=getAttributeByName(_45[_46],"capture");
				}
				if(getAttributeByName(_45[_46],"columns")){
					sfw[_46].columns=getAttributeByName(_45[_46],"columns");
				}
				if(getAttributeByName(_45[_46],"delay")){
					sfw[_46].delay=getAttributeByName(_45[_46],"delay");
				}
				if(getAttributeByName(_45[_46],"heading")){
					sfw[_46].heading=getAttributeByName(_45[_46],"heading");
				}
				sfwCreate(_46);
			}
		}
	}catch(e){}
}