﻿var ObjPrintCity;//文本框
var hidObjPrintCity;//隐藏域
var focusId=1;

//北京|PEK|B  城市|三字代码|拼音首字母
var HotCitys,AllCitys;

HotCitys="beijing|北京|北京,guangzhou|广州|广东,shanghai|上海|上海,shenzhen|深圳|广东,chengdu|成都|四川,kunming|昆明|云南,hangzhou|杭州|浙江,xian|西安|陕西,chongqing|重庆|重庆";
AllCitys="beijing|北京|北京,shanghai|上海|上海,tianjin|天津|天津,chongqing|重庆|重庆,shijiazhuang|石家庄|河北,chengde|承德|河北,qinhuangdao|秦皇岛|河北,nandaihe|南戴河|河北,xingtai|邢台|河北,tangshan|唐山|河北,beidaihe|北戴河|河北,baoding|保定|河北,hengshui|衡水|河北c邯郸|河北,zunhua|遵化|河北,taiyuan|太原|山西,datong|大同|山西,wutaishan|五台山|山西,yuncheng|运城|山西,jincheng|晋城|山西,jinzhong|晋中|山西,huhehaote|呼和浩特|内蒙古,baotou|包头|内蒙古,eerduosi|鄂尔多斯|内蒙古,dalian|大连|辽宁,shenyang|沈阳|辽宁,fushun|抚顺|辽宁,dandong|丹东|辽宁,panjin|盘锦|辽宁,haicheng|海城|辽宁,tieling|铁岭|辽宁,anshan|鞍山|辽宁,benxi|本溪|辽宁,jinzhou|锦州|辽宁,yingkou|营口|辽宁,changchun|长春|吉林,jilin|吉林|吉林,yanji|延吉|吉林,haerbin|哈尔滨|黑龙江,mudanjiang|牡丹江|黑龙江,daqing|大庆|黑龙江,qiqihaer|齐齐哈尔|黑龙江,jiamusi|佳木斯|黑龙江,hailin|海林|黑龙江,nanjing|南京|江苏,suzhou|苏州|江苏,changzhou|常州|江苏,yangzhou|扬州|江苏,wuxi|无锡|江苏,xuzhou|徐州|江苏,nantong|南通|江苏,zhenjiang|镇江|江苏,yixing|宜兴|江苏,lianyungang|连云港|江苏,zhangjiagang|张家港|江苏,jiangyin|江阴|江苏,taizhou|泰州|江苏,yancheng|盐城|江苏,changshu|常熟|江苏,jiangdu|江都|江苏,yizheng|仪征|江苏,tongli|同里|江苏,yang|溧阳|江苏,huaian|淮安|江苏,qidong|启东|江苏,zhouzhuang|周庄|江苏,kunshan|昆山|江苏,taicang|太仓|江苏,zhou|邳州|江苏,hangzhou|杭州|浙江,ningbo|宁波|浙江,wenzhou|温州|浙江,jinhua|金华|浙江,shaoxing|绍兴|浙江,yiwu|义乌|浙江,xiaoshan|萧山|浙江,jiaxing|嘉兴|浙江,zhu|诸暨|浙江,lanxi|兰溪|浙江,taizhou|台州|浙江,linhai|临海|浙江,lishui|丽水|浙江,cixi|慈溪|浙江,putuoshan|普陀山|浙江,qiandaohu|千岛湖|浙江,haining|海宁|浙江,zhou|衢州|浙江,zhou|嵊州|浙江,ruian|瑞安|浙江,wenling|温岭|浙江,huzhou|湖州|浙江,anji|安吉|浙江,dongyang|东阳|浙江,zhoushan|舟山|浙江,shangyu|上虞|浙江,tonglu|桐庐|浙江,yandangshan|雁荡山|浙江,linan|临安|浙江,fenghua|奉化|浙江,pinghu|平湖|浙江,hefei|合肥|安徽,huangshan|黄山|安徽,anqing|安庆|安徽,wuhu|芜湖|安徽,bangbu|蚌埠|安徽,huainan|淮南|安徽,fuyang|阜阳|安徽,chaohu|巢湖|安徽,jiuhuashan|九华山|安徽,zhou|亳州|安徽,suzhou|宿州|安徽,xiamen|厦门|福建,fuzhou|福州|福建,quanzhou|泉州|福建,wuyishan|武夷山|福建,shishi|石狮|福建,putian|莆田|福建,zhangzhou|漳州|福建,longyan|龙岩|福建,fuding|福鼎|福建,nanchang|南昌|江西,jiujiang|九江|江西,lushan|庐山|江西,jingdezhen|景德镇|江西,shangrao|上饶|江西,jinggangshan|井冈山|江西,pingxiang|萍乡|江西,fuzhou|抚州|江西,qingdao|青岛|山东,jinan|济南|山东,weifang|潍坊|山东,yantai|烟台|山东,weihai|威海|山东,zibo|淄博|山东,dongying|东营|山东,linyi|临沂|山东,dezhou|德州|山东,penglai|蓬莱|山东,taian|泰安|山东,rizhao|日照|山东,jining|济宁|山东,liaocheng|聊城|山东,zaozhuang|枣庄|山东,qufu|曲阜|山东,heze|菏泽|山东,zhengzhou|郑州|河南,luoyang|洛阳|河南,kaifeng|开封|河南,xinxiang|新乡|河南,yang|濮阳|河南,nanyang|南阳|河南,lingbao|灵宝|河南,hebi|鹤壁|河南,xuchang|许昌|河南,dengfeng|登封|河南,jiyuan|济源|河南,zhumadian|驻马店|河南,wuhan|武汉|湖北,jingzhou|荆州|湖北,yichang|宜昌|湖北,xiangfan|襄樊|湖北,jingmen|荆门|湖北,enshi|恩施|湖北,shennongjia|神农架|湖北,shiyan|十堰|湖北,huangshi|黄石|湖北,changsha|长沙|湖南,zhuzhou|株州|湖南,zhangjiajie|张家界|湖南,yueyang|岳阳|湖南,xiangtan|湘潭|湖南,chenzhou|郴州|湖南,yiyang|益阳|湖南,shaoshan|韶山|湖南,changde|常德|湖南,yueyang|岳阳|湖南,yang|浏阳|湖南,guangzhou|广州|广东,shantou|汕头|广东,shenzhen|深圳|广东,zhuhai|珠海|广东,foshan|佛山|广东,dongguan|东莞|广东,chenghai|澄海|广东,maoming|茂名|广东,huizhou|惠州|广东,zhongshan|中山|广东,zhaoqing|肇庆|广东,zhanjiang|湛江|广东,chaozhou|潮州|广东,yangjiang|阳江|广东,jiangmen|江门|广东,heyuan|河源|广东,qingyuan|清远|广东,meizhou|梅州|广东,shaoguan|韶关|广东,kaiping|开平|广东,fan|番禺|广东,yunfu|云浮|广东,heshan|鹤山|广东,puning|普宁|广东,liusha|流沙|广东,guilin|桂林|广西,nanning|南宁|广西,beihai|北海|广西,liuzhou|柳州|广西,wuzhou|梧州|广西,hezhou|贺州|广西,yulin|玉林|广西,sanya|三亚|海南,haikou|海口|海南,wanning(xinglong)|万宁(兴隆)|海南,qionghai(bo)|琼海(博鳌)|海南,chengdu|成都|四川,mianyang|绵阳|四川,leshan|乐山|四川,zigong|自贡|四川,yaan|雅安|四川,dujiangyan|都江堰|四川,yibin|宜宾|四川,emeishan|峨眉山|四川,jiuzhaigou|九寨沟|四川,deyang|德阳|四川,guangan|广安|四川,zhou|泸州|四川,suining|遂宁|四川,songpan|松潘|四川,zhong|阆中|四川,xichang|西昌|四川,neijiang|内江|四川,guangyuan|广元|四川,panzhihua|攀枝花|四川,wolong|卧龙|四川,abazhou|阿坝州|四川,nanchong|南充|四川,yibin|宜宾|四川,guiyang|贵阳|贵州,zunyi|遵义|贵州,kunming|昆明|云南,lijiang|丽江|云南,dali|大理|云南,xianggelilazhongdian|香格里拉（中甸）|云南,jinghongxishuangbanna|景洪（西双版纳）|云南,ning(guhu)|宁蒗(泸沽湖)|云南,xishuangbanna|西双版纳|云南,simao|思茅|云南,lasa|拉萨|西藏,xian|西安|陕西,baoji|宝鸡|陕西,xianyang|咸阳|陕西,hancheng|韩城|陕西,yanan|延安|陕西,hanzhong|汉中|陕西,lanzhou|兰州|甘肃,dunhuang|敦煌|甘肃,yinchuan|银川|宁夏,xining|西宁|青海,wulumuqi|乌鲁木齐|新疆,kuerle|库尔勒|新疆,yining|伊宁|新疆,tulufan|吐鲁番|新疆,xianggang|香港|香港,aomen|澳门|澳门";
document.write("<div id='divCity' style='position: absolute;z-index:10;width:200'></div>");  
var arrAllCity;
var arrHotCity;

function splitCity()
{
    var defCity="";
    if(arrAllCity==null || arrAllCity=="")
    {   
        if(hidObjPrintCity!=null)
            defCity=hidObjPrintCity.value;
        if(defCity!="")
            HotCitys="默认出票城市|"+defCity.split('|')[1]+"|"+defCity.split('|')[0]+","+HotCitys;
        arrAllCity=AllCitys.split(',');
        arrHotCity=HotCitys.split(',');        
    }    
};

var posLib = {
    getClientLeft:function (el) {
     var r = el.getBoundingClientRect();
     return r.left- this.getBorderLeftWidth(this.getCanvasElement(el));
    },

    getClientTop:    function (el) {
     var r = el.getBoundingClientRect();
      return r.top - this.getBorderTopWidth(this.getCanvasElement(el));
    },

    getLeft:    function (el) {
      return this.getClientLeft(el) + this.getCanvasElement(el).scrollLeft;
    },

    getTop:    function (el) {
      return this.getClientTop(el) + this.getCanvasElement(el).scrollTop;
    },

    getInnerLeft:    function (el) {
      return this.getLeft(el) + this.getBorderLeftWidth(el);
    },

    getInnerTop:    function (el) {
      return this.getTop(el) + this.getBorderTopWidth(el);
    },

    getWidth:    function (el) {
      return el.offsetWidth;
    },

    getHeight:    function (el) {
      return el.offsetHeight;
    },

    getCanvasElement:    function (el) {
      var doc = el.ownerDocument || el.document;    // IE55 bug
      if (doc.compatMode == "CSS1Compat")
        return doc.documentElement;
      else
        return doc.body;
    },

    getBorderLeftWidth:    function (el) {
      return el.clientLeft;
    },

    getBorderTopWidth:    function (el) {
      return el.clientTop;
    },

    getScreenLeft:    function (el) {
      var doc = el.ownerDocument || el.document;    // IE55 bug
      var w = doc.parentWindow;
      return w.screenLeft + this.getBorderLeftWidth(this.getCanvasElement(el)) + this.getClientLeft(el);
    },

    getScreenTop:    function (el) {
      var doc = el.ownerDocument || el.document;    // IE55 bug
      var w = doc.parentWindow;
      return w.screenTop  + this.getClientTop(el);//+ this.getBorderTopWidth(this.getCanvasElement(el))
    }
}

function Split(popup_str,popup_n,popup_s){ //字符串,取第几个数据,分割字符
	var popup_split;
	 popup_split=popup_str.split(popup_s);
	return popup_split[popup_n];
}

function ShowGetTicketCity(tbObjId,hidObjId)
{
	if(typeof(tbObjId)=='string')
		ObjPrintCity=document.all(tbObjId);
	else
		ObjPrintCity=tbObjId;
	
	if(ObjPrintCity.value=="上海浦东" || ObjPrintCity.value=="上海虹桥")
        ObjPrintCity.value="上海";
    if(ObjPrintCity.value=="北京首都" || ObjPrintCity.value=="北京南苑")
        ObjPrintCity.value="北京";		
		
	if(typeof(hidObjId)=='string')
		hidObjPrintCity=document.all(hidObjId)
	else
		hidObjPrintCity=hidObjId;
	
	//oPopup.document.body.onclick = Htc_OnClick;
	//oPopup.document.body.onmousemove = Htc_onmousemove;
	GetCitys("");
	var newX =posLib.getLeft(ObjPrintCity);
	var newY =posLib.getTop(ObjPrintCity)+20;	
	document.getElementById("divCity").style.top=newY;
	document.getElementById("divCity").style.left=newX;
}

function GetCitys(str)
{
    splitCity();
    var KeyCode="";
    if(event!=null)
	    KeyCode=parseInt(event.keyCode);
	if(KeyCode!=38 && KeyCode!=40 && KeyCode!=13)
	{
		str=str.toLowerCase();
		var count=0;
		var tab;
		tab = '<table width="200" border="0" cellpadding="0" cellspacing="1" bgColor="#626B7B">';
		tab+= '<tr align="center">';
		tab+= '   <td id="Popup_Tab" align="center" bgcolor="#ffffff">';
		tab+= '	<table width="98%" border="0" cellpadding="0" cellspacing="0" bgColor="#ffffff">';
		tab+= '  <tr align="center">';
		tab+= '    <td height="23" align="left" id="td_Title"><font color="red">'+str+'</font>,中文或拼音 ↑↓选择</td>';
		tab+= '  </tr>';
		tab+= '  <tr align="center">';
		tab+= '    <td height="1" class="dian2"></td>';
		tab+= '  </tr>';
		tab+= '	</table>';
		tab+= ' <table id="tbl_Iterms" width="98%" border="0" cellspacing="0" cellpadding="2" style="font-size: 9pt">';
		
		if(str=="")
		{
			for(i=0;i<arrHotCity.length;i++)
			{
				if(arrHotCity[i].indexOf(str)>-1)
				{				
					tab+= '  <tr id="trIterm'+count+'" name="'+arrHotCity[i].split('|')[2]+'|' +arrHotCity[i].split('|')[1]+'"';
					tab+='  onMouseOver="SetChangesIterm('+count+')"';
					tab+=' onClick="SetItermValue()"'+' align="center" style="cursor:hand" bgColor="#ffffff">';
					tab+= '<td align="left" width="120">'+arrHotCity[i].split('|')[0]+'</td>';
					tab+= '<td align="left" width="80">'+arrHotCity[i].split('|')[1]+'</td>';
					tab+= '  </tr>';
					count++;
				}
			}
		}
		else
		{
			for(i=0;i<arrAllCity.length;i++)
			{
				if(arrAllCity[i].indexOf(str)>-1)
				{				
					tab+= '  <tr id="trIterm'+count+'" name="'+arrAllCity[i].split('|')[2]+'|'+arrAllCity[i].split('|')[1]+'"';
					tab+='  onMouseOver="SetChangesIterm('+count+')"';
					tab+=' onClick="SetItermValue()"'+' align="center" style="cursor:hand" bgColor="#ffffff">';
					tab+= '<td align="left" width="120">'+arrAllCity[i].split('|')[0]+'</td>';
					tab+= '<td align="left" width="80">'+arrAllCity[i].split('|')[1]+'</td>';
					tab+= '  </tr>';
					count++;
					if(count>15)
						break;
				}
			}
		}
		tab+= '    </table>';
		tab+= '   </td>';
		tab+= '  </tr>';
		tab+= '</table>';
		tab+= '</td>';
		tab+= '</tr>';
		tab+= '</table>';
		document.getElementById("divCity").innerHTML=tab;
		focusId=0;
		document.getElementById("divCity").style.visibility="visible";
	}
	SetFocusIterm(str);
}

function SetFocusIterm(str)
{
	var KeyCode="";
	if(event!=null)
	    KeyCode=parseInt(event.keyCode);
	var RowsCount=document.getElementById("tbl_Iterms")!=null?document.getElementById("tbl_Iterms").rows.length:0;
	var newfocusId=0;
	
	//按Esc键
    if(KeyCode==27)
    {
        document.getElementById("divCity").style.visibility="hidden";
        return false;
    }
	//按Enter键或者Tab键
	if(KeyCode==13)
		SetItermValue();
　　//按↑键或者↓键
	if(KeyCode==38 || KeyCode==40)
	{
		if(KeyCode==38)
			newfocusId=focusId>0?focusId-1:0;
		if(KeyCode==40)
			newfocusId=RowsCount>focusId+1?focusId+1:RowsCount-1;
	}
	if(RowsCount>0)
	{
		SetChangesIterm(newfocusId);
	}
	else
	{
	    document.getElementById("td_Title").innerHTML="<font color='red'>"+str+"</font>,找不到"+str;
	}	
}

//选择
function SetItermValue()
{
    try
    {
        if(document.getElementById("divCity").style.visibility!="hidden")
        {
	        ObjPrintCity.value=document.getElementById("trIterm"+focusId).name.split('|')[1];
	        hidObjPrintCity.value=document.getElementById("trIterm"+focusId).name;
	        document.getElementById("divCity").style.visibility="hidden";
	    }	    
	}
	catch(ex)
	{
	
	};
}
//移动
function SetChangesIterm(newfocusId)
{
	try{
			document.getElementById("trIterm"+focusId).bgColor="#ffffff";
			document.getElementById("trIterm"+newfocusId).bgColor="#D0D3FF";		
			focusId=newfocusId;
		}
		catch(ex)
		{
		}
}


function GetPrintState(PrintCity,hidObjId)
{
    splitCity();
    
    for(i=0;i<arrAllCity.length;i++)
    {
        if(arrAllCity[i].split('|')[1]==PrintCity)
        {
            document.getElementById(hidObjId).value=arrAllCity[i].split('|')[2]+"|"+PrintCity;
            break;
        };
    };

};


function GetStateCity(City)
{
    if(City=="上海浦东" || City=="上海虹桥")
        City="上海";
    if(City=="北京首都" || City=="北京南苑")
        City="北京";
    var re="";var arrTemp;
    splitCity();
    for(var i=0;i<arrAllCity.length;i++)
    {
        arrTemp=arrAllCity[i].split('|');
        if(arrTemp[1]==City)
        {
              re=arrTemp[2]+"|"+arrTemp[1];
              break;      
        }        
    };
    return re;
}

//自动给出票城市付置
function SetHidPrintCity(CityName)
{
    if(CityName=="")
        return;
    try
    {
        var PrintCity=GetStateCity(CityName);
        if(PrintCity!="")
        {
            document.getElementById("tbl_PrintCity").value=PrintCity.split('|')[1];
            document.getElementById("tbl_hid_PrintCity").value=PrintCity;
        };        
    }
    catch(e)
    {};    
};
