var gsug_interNL=null;
function textInit_interNL(){
	gsug_interNL=new apsug_interNL();
	gsug_interNL.init();
}

function gE(x){return document.getElementById(x);}
function gETop(x){var t=0;while(x){t+=x.offsetTop;x=x.offsetParent;}return t;}
function gEBottom(x){return (x.offsetHeight+gETop(x));}
function gELeft(x){var l=0;while(x){l+=x.offsetLeft;x=x.offsetParent;}return l;}
function gERight(x){return (x.offsetWidth+gELeft(x));}

function isUpDownKey(kc){
	if(kc==40 || kc==38 || kc == 33 || kc== 34){//down,up,pageup,pagedown,enter
		return true;
	}else{
		return false;
	}
}
function isCtrlKey(kc){
	if(kc==16 || kc==17 || kc == 18){//shift,ctrl,alt
		return true;
	}else{
		return false;
	}
}

var global_focus_flag_interNL=false;
var inString_interNL ='汉字、拼音';
var apdata_interNL = [
['AUH','阿布扎比','Abudhabi','abuzhabi'],
['ADD','亚的斯亚贝巴','Addis Ababa','yadesiyabeiba'],
['AMS','阿姆斯特丹','Amsterdam','amusitedan'],
['ATL','亚特兰大','Atlanta','yatelanda'],
['AKL','奥克兰(新西兰)','Auckland','aokelan'],
['BAH','巴林','Bahrain','balin'],
['DPS','巴厘岛','Bali','balidao'],
['BKK','曼谷','Bangkok','mangu'],
['BER','柏林','Berlin','bolin'],
['BOM','孟买','Bombay','mengmai'],
['BRU','布鲁塞尔','Brussels','bulusaier'],
['BUD','布达佩斯','Budapest','budapeisi'],
['CAI','开罗','Cairo','kailuo'],
['CJJ','清州','Cheong Ju','qingzhou'],
['CHI','芝加哥','Chicago','zhijiage'],
['DAC','达卡','Dacca','daka'],
['DEL','德里','Delhi','deli'],
['DTW','底特律','Detroit','ditelv'],
['DOH','多哈','Doha','duoha'],
['DXB','迪拜','Dubai','dibai'],
['FRA','法兰克福','Frankfurt','falankefu'],
['FUK','福冈','Fukuoka','fugang'],
['FKS','福岛','Fukushima','fudao'],
['HAN','河内','Hanoi','henei'],
['HEL','赫尔辛基','Helsinki','heerxinji'],
['HIJ','广岛','Hiroshima','guangdao'],
['SGN','胡志明市','Ho Chi Minh','huzhimingshi'],
['HKG','香港','Hong Kong','xianggang'],
['HNL','火奴鲁鲁','Honolulu','huonululu'],
['IKT','伊尔库茨克','Irkutsk','yierkuzike'],
['IST','伊斯坦布尔','Istanbul','yisitanboer'],
['JKT','雅加达','Jakarta','yajiada'],
['CJU','济州岛','Jeju Island','jizhoudao'],
['KOJ','鹿儿岛','Kagoshima','luerdao'],
['KHI','卡拉奇','Karachi','kalaqi'],
['KTM','加德满都','Kathmandu','jiademandu'],
['KRT','喀土穆','Khartoum','ketumu'],
['IEV','基辅','Kiev','jifu'],
['KMQ','小松','Komatsu','xiaosong'],
['BKI','哥打京那巴鲁','Kota Kinabalu','gedajingnabalu'],
['KUL','吉隆坡','Kuala Lumpur','jilongpo'],
['KWJ','光州','Kwangju','guangzhou'],
['LOS','拉各斯','Lagos','lagesi'],
['LON','伦敦','London','lundun'],
['LAX','洛杉矶','Los Angeles','luoshanji'],
['LAD','罗安达','Luanda','luoanda'],
['MFM','澳门','Macau','aomen'],
['MAD','马德里','Madrid','madeli'],
['MNL','马尼拉','Manila','manila'],
['MYJ','松山','Matsuyama','songshan'],
['MEL','墨尔本','Melbourne','moerben'],
['MEX','墨西哥城','Mexico City','moxigecheng'],
['MIL','米兰','Milan','milan'],
['MOW','莫斯科','Moscow','mosike'],
['MUC','慕尼黑','Munich','munihei'],
['NGS','长崎','Nagasaki','changqi'],
['NGO','名古屋','Nagoya','mingguwu'],
['NBO','内罗毕','Nairobi','neiluohua'],
['NYC','纽约','New York','niuyue'],
['KIJ','新泻','Niigata','xinxie'],
['OVB','新西伯利亚','Novosibirsk','xinxiboliya'],
['OKJ','冈山','Okayama','gangshan'],
['OKA','冲绳','Okinawa','chongsheng'],
['OSA','大阪','Osaka','daban'],
['PAR','巴黎','Paris','bali'],
['PEN','槟城','Penang','bincheng'],
['PNH','金边','Phnom','jinbian'],
['HKT','普吉岛','Phuket','pujidao'],
['PUS','釜山','Pusan','fushan'],
['FNJ','平壤','Pyongyang','pingrang'],
['ROM','罗马','Rome','luoma'],
['SFO','旧金山','San Francisco','jiujinshan'],
['SPK','札幌','Sapporo','zhahuang'],
['SEA','西雅图','Seattle','xiyatu'],
['SDJ','仙台','Sendai','xiantai'],
['SEL','首尔','Seoul','shouer'],
['SIN','新加坡','Singapore','xinjiapo'],
['LED','圣彼得堡','St Petersburg','shengbitebao'],
['STO','斯德哥尔摩','Stockholm','sidegeermo'],
['SYD','悉尼','Sydney','xini'],
['TAE','大邱','Taegu','daqiu'],
['TPE','台北','Taipei','taibei'],
['THR','德黑兰','Tehran','dehailan'],
['TLV','特拉维夫','Telaviv','telaweifu'],
['TIJ','蒂华纳','Tijuana','dihuana'],
['TYO','东京','Tokyo','dongjing'],
['YYZ','多伦多','Toronto','donglundong'],
['TOY','富山','Toyama','fushan'],
['ULN','乌兰巴托','Ulanbatar','wulanbatuo'],
['YVR','温哥华','Vancouver','wengehua'],
['VIE','维也纳','Vienna','weiyena'],
['WAS','华盛顿','Washington','huashengdun'],
['RGN','仰光','Yangon','yangguang'],
['ZRH','苏黎世','Zurich','sulishi'],
['KHH','高雄','Kaohsiung','gaoxiong'],
['KJA','克拉斯诺达尔','Krasnojarsk','kelasinuodaer']
];
function apsug_interNL() {
	var inputobj = null;
	var sugdiv = null;

	var focusBySelect = false;
	var currInputObj = null;
	var prevInputValue = null;
	
	var showarr = null;
	var showfocus = -1;
	var FOCity = null;
	var onDocumentClick = null;
}
apsug_interNL.prototype.setInputObj = function(o){
	o.onkeydown = OnInputKeyDown_interNL;
	o.onfocus = OnInputFocus_interNL;
	//o.onblur = OnInputBlur_interNL;
}
apsug_interNL.prototype.init = function(){
	if(this.sugdiv==null){
		this.sugdiv=document.createElement('DIV');
		this.sugdiv.style.display='none';
		
		this.sugdiv.className='sug';
		this.sugdiv.innerHTML='';
		this.sugdiv.onscroll=OnSugScroll;
		var bs=document.getElementsByTagName('BODY');
		bs[0].appendChild(this.sugdiv);
	}
	this.focusBySelect = false;
}
function OnSugScroll_interNL(){
	if(gsug_interNL.currInputObj==null){return;}
	gsug_interNL.focusBySelect=true;
	gsug_interNL.currInputObj.focus();
}
function OnDocClick_interNL(e){
	var x,y,t,b,l,r;
	var d;
	if(window.event){
		e=window.event;
		x=e.clientX+document.body.parentNode.scrollLeft;
		y=e.clientY+document.body.parentNode.scrollTop;
	}else{
		x=e.pageX;
		y=e.pageY;
	}
	d=gsug_interNL.currInputObj;
	if(!d){document.onclick=gsug_interNL.onDocumentClick;return;}
	t=gETop(d);
	l=gELeft(d);
	b=gEBottom(d);
	r=gERight(d);
	if(x>=l && x<r && y>=t && y<b){return;}
	d=gsug_interNL.sugdiv;
	t=gETop(d);
	l=gELeft(d);
	b=gEBottom(d);
	r=gERight(d);
	if(x>=l && x<r && y>=t && y<b){return;}
	gsug_interNL.select();
}
function OnInputFocus_interNL(){
	global_focus_flag_interNL = true;
	gsug_interNL.currInputObj = this;
	gsug_interNL.prevInputValue = null;
	if(this.value == inString_interNL) {
		this.value= '';
	}
	this.style.color = '';
	if(gsug_interNL.focusBySelect){
		gsug_interNL.focusBySelect=false;
		return;
	}
	gsug_interNL.focusBySelect=false;
	InputChecking_interNL();

}
function OnInputBlur_interNL(){
	gsug_interNL.select();
	return;
}
function InputChecking_interNL(){
	if(gsug_interNL.currInputObj == null){return;}
	var v=gsug_interNL.currInputObj.value;
	if(gsug_interNL.prevInputValue==null || gsug_interNL.prevInputValue!=v){
		gsug_interNL.update(v);
	}
	setTimeout("InputChecking_interNL()", 10);
}
function OnInputKeyDown_interNL(e){
	if(gsug_interNL.currInputObj==null){
		gsug_interNL.currInputObj = this;
		gsug_interNL.prevInputValue = null;
		InputChecking_interNL();
	}
	var bCtrlDown=0;
	if(!e && window.event){
		e=window.event;
	}
	if(window.event){
		bCtrlDown=e.ctrlKey;
	}else{
		bCtrlDown=(e.modifiers & Event.CONTROL_MASK) > 0;
	}
	if(bCtrlDown){
		return true;
	}
	var kc=e.keyCode;
	if(isCtrlKey(kc)){
		return true;
	}
	return (InputRealKeyDown_interNL(kc));
}
function InputRealKeyDown_interNL(kc) {
	global_focus_flag_interNL = false;
	if(isUpDownKey(kc)){
		if(kc==38){// up
			gsug_interNL.move(1,0);
		}else if(kc==40){//down
			gsug_interNL.move(1,1);
		}else if(kc==33){//pageup
			gsug_interNL.move(0,0);
		}else if(kc==34){//pagedown
			gsug_interNL.move(0,1);
		}
		return false;
	}else if(kc==13){//enter
		gsug_interNL.select();
		return false;
	}else if(kc==9){//tab
		gsug_interNL.select();
		return true;
	}else if(kc==27){//esc
		gsug_interNL.hide();
		return true;
	}
	return true;
}
apsug_interNL.prototype.select = function() {
	if(this.sugdiv.style.display=='none'){return false;}
	if(this.showfocus>=0 && this.showarr!=null && this.showfocus<this.showarr.length && this.currInputObj!=null){
		var i=this.showarr[this.showfocus];
		this.currInputObj.value=apdata_interNL[i][1];
		this.focusBySelect=true;
		this.currInputObj.focus();
		if(window.event){
			var r=this.currInputObj.createTextRange();
			r.move("character", r.text.length);
			r.select();
		}else{
			var v=apdata_interNL[i][1].length;
			this.currInputObj.setSelectionRange(v, v);
		}
	}
	this.hide();
	//this.currInputObj=null;
}
apsug_interNL.prototype.highlight = function(idx) {
	if(this.sugdiv.style.display=='none'){return false;}
	if(idx==this.showfocus){return true;}
	var i;
	var ls = this.sugdiv.getElementsByTagName('LI');
	if(this.showfocus>=0&&this.showfocus<ls.length){
		ls[this.showfocus].className='';
	}
	if(idx>=0&&this.showfocus<ls.length){
		ls[idx].className='hover';
	}
	this.showfocus=idx;
}
apsug_interNL.prototype.move = function(m,n){
	var a=this.showfocus;
	if(m==1&&n==0){
		a--;
	}else if(m==1&&n==1){
		a++;
	}else if(m==0&&n==0){
		a-=5;
	}else if(m==0&&n==1){
		a+=5;
	}
	if(a<0){
		a=0;
	}else if(a>=this.showarr.length){
		a=this.showarr.length-1;
	}
	var i,j,k;
	i=(this.sugdiv.scrollTop)/20;
	if(a<=i){
		this.sugdiv.scrollTop=a*20;
	}else if(a>=i+10){
		this.sugdiv.scrollTop=(a-9)*20;
	}
	this.highlight(a);
}
apsug_interNL.prototype.hide = function(v) {
	if(this.sugdiv.style.display!='none'){
		this.sugdiv.style.display='none';
		document.onclick=this.onDocumentClick;
	}
}
apsug_interNL.prototype.update = function(v) {
	this.prevInputValue = v;
	v=v.toLowerCase();
	this.showfocus = -1;
	if(this.showarr==null){
		this.showarr = new Array();
	}else{
		this.showarr.length = 0;
	}
	var i,j,s;
	if(v.length==0){//all
		for(i=0;i<apdata_interNL.length;i++){
			this.showarr[i]=i;
		}
	}else{
		for(i=0;i<apdata_interNL.length;i++){
			for(j=1;j<apdata_interNL[i].length;j++){
				if(apdata_interNL[i][j].toLowerCase().indexOf(v) == 0){
					this.showarr[this.showarr.length]=i;
					break;
				}
			}
		}
	}

	if(this.showarr.length<=0||(this.showarr.length==1&&v==apdata_interNL[this.showarr[0]][1])){
		this.hide();
		return;
	}
	if(global_focus_flag_interNL){
		return;
	}
	
	this.sugdiv.style.top=gEBottom(this.currInputObj)+"px";
	this.sugdiv.style.left=gELeft(this.currInputObj)+"px";
	this.sugdiv.style.width=this.currInputObj.offsetWidth;
	s='<ul>';
	
	for(i=0;i<this.showarr.length;i++){
		s+='<li'+(i==0?' class="hover"':'')+' onmousemove="gsug_interNL.highlight('+i+')" onclick="OnSugClick_interNL();">'+apdata_interNL[this.showarr[i]][1]+'</li>';
	}
	s+='</ul>';
	this.sugdiv.innerHTML=s;
	this.showfocus=0;
	this.sugdiv.scrollTop = 0;
	this.sugdiv.style.display='';
	this.onDocumentClick=document.onclick;
	document.onclick=OnDocClick;
}
function OnSugClick_interNL(){
	gsug_interNL.select();
}
function onUrl_interNL(From,to){
var i,From_v,to_v,be_f;
	var be_f1 = false;
	var be_f2 = false;
	var flag = false;
	for(i=0;i<apdata_interNL.length;i++){
		if(From==inString_interNL || to ==inString_interNL){
			flag = true;
		}
		if(apdata_interNL[i][1]==From){
			From_v = apdata_interNL[i][0];
			be_f1 = true;
		}
		if(apdata_interNL[i][1]==to){
			to_v = apdata_interNL[i][0];
			be_f2 = true;
		}
		if (be_f1 && be_f2) break;
	}
	if((!be_f1 || !be_f2)&&!flag){
		alert ("请输入正确的城市名!");return false;
	}	
	else if(From == to&&!flag) { alert("起始城市和到达城市重复！");return false;}
	return true;
}
function on_load_url_interNL(){

	var i,f_v,t_v;
	var result;
	for(i=0;i<apdata_interNL.length;i++){
		if(apdata_interNL[i][0]==st_city){
			f_v = apdata_interNL[i][1];
		}
		 if(apdata_interNL[i][0]==en_city){
			t_v = apdata_interNL[i][1];
		}
		
	}
	result = new Array(f_v,t_v);
	return result;
} 
function getSanCode_interNL(str){
    var code;
	for(i=0;i<apdata_interNL.length;i++){
		if(apdata_interNL[i][1]==str){
			code = apdata_interNL[i][0];
			break;
		}
	}
	return code;
}
function on_load_url_interNL_index(){
	document.internationalForm.desCityValue.value = inString_interNL;
	document.internationalForm.desCityValue.style.color = "#CCC";	
} 