APDataSet = [{'code':'AAT', 'pinyin':'ALeTai', 'py':'ALT'},{'code':'ACX', 'pinyin':'XingYi', 'py':'XY'},{'code':'AKA', 'pinyin':'AnKang', 'py':'AK'},{'code':'AKU', 'pinyin':'AKeSu', 'py':'AKS'},{'code':'AOG', 'pinyin':'MaAnShan', 'py':'AS'},{'code':'AQG', 'pinyin':'AnQing', 'py':'AQ'},{'code':'AYN', 'pinyin':'AnYang', 'py':'AY'},{'code':'BAV', 'pinyin':'BaoTou', 'py':'BT'},{'code':'BFU', 'pinyin':'BengBu', 'py':'BB'},{'code':'BHY', 'pinyin':'BeiHai', 'py':'BH'},{'code':'BSD', 'pinyin':'BaoShan', 'py':'BS'},{'code':'CAN', 'pinyin':'GuangZhou', 'py':'GZ'},{'code':'CCC', 'pinyin':'ChaoZhou', 'py':'CZ'},{'code':'CGD', 'pinyin':'ChangDe', 'py':'CD'},{'code':'CGO', 'pinyin':'ZhengZhou', 'py':'ZZ'},{'code':'CGQ', 'pinyin':'ChangChun', 'py':'CC'},{'code':'CHG', 'pinyin':'ChaoYang', 'py':'CY'},{'code':'CHW', 'pinyin':'JiuQuan', 'py':'JQ'},{'code':'CIF', 'pinyin':'CHIFENG', 'py':'CF'},{'code':'CIH', 'pinyin':'ChangZhi', 'py':'CZ'},{'code':'CKG', 'pinyin':'CHONGQING', 'py':'CQ'},{'code':'CNI', 'pinyin':'ChangHai', 'py':'CH'},{'code':'CSX', 'pinyin':'ChangSha', 'py':'CS'},{'code':'CTU', 'pinyin':'ChengDu', 'py':'CD'},{'code':'CZX', 'pinyin':'ChangZhou', 'py':'CZ'},{'code':'DAT', 'pinyin':'DATONG', 'py':'DT'},{'code':'DAX', 'pinyin':'DAXIAN', 'py':'DX'},{'code':'DDG', 'pinyin':'DANDONG', 'py':'DD'},{'code':'DIG', 'pinyin':'DiQing', 'py':'DQ'},{'code':'DLC', 'pinyin':'DALIAN', 'py':'DL'},{'code':'DLU', 'pinyin':'DaLi', 'py':'DL'},{'code':'DNH', 'pinyin':'DUNHUANG', 'py':'DH'},{'code':'DOY', 'pinyin':'DongYing', 'py':'DY'},{'code':'DSN', 'pinyin':'DONGSHENG', 'py':'DS'},{'code':'DYG', 'pinyin':'ZhangJiaJie', 'py':'ZJJ'},{'code':'DZU', 'pinyin':'DAZU', 'py':'DZ'},{'code':'ENH', 'pinyin':'EnShi', 'py':'ES'},{'code':'ENY', 'pinyin':'YanAn', 'py':'YA'},{'code':'FOC', 'pinyin':'FuZhou', 'py':'FZ'},{'code':'FOG', 'pinyin':'FuYang', 'py':'FY'},{'code':'FUO', 'pinyin':'FoShan', 'py':'FS'},{'code':'FYN', 'pinyin':'FUYUN', 'py':'FY'},{'code':'GHN', 'pinyin':'GUANGHAN', 'py':'GH'},{'code':'GNY', 'pinyin':'GUANGYUAN', 'py':'GY'},{'code':'HAK', 'pinyin':'HAIKOU', 'py':'HK'},{'code':'HDG', 'pinyin':'HanTan', 'py':'HD'},{'code':'HEK', 'pinyin':'HEIHE', 'py':'HH'},{'code':'HET', 'pinyin':'HOHHOT', 'py':'HHHT'},{'code':'HFE', 'pinyin':'HeFei', 'py':'HF'},{'code':'HGH', 'pinyin':'HangZhou', 'py':'HZ'},{'code':'HJJ', 'pinyin':'ZhiJiang', 'py':'ZJ'},{'code':'HLD', 'pinyin':'HAILAR', 'py':'HLE'},{'code':'HLH', 'pinyin':'ULanHot', 'py':'WLHT'},{'code':'HMI', 'pinyin':'HaMi', 'py':'HM'},{'code':'HNY', 'pinyin':'HengYang', 'py':'HY'},{'code':'HRB', 'pinyin':'HARBIN', 'py':'HEB'},{'code':'HSN', 'pinyin':'ZhouShan', 'py':'ZS'},{'code':'HUZ', 'pinyin':'HuiZhou', 'py':'HZ'},{'code':'HYN', 'pinyin':'HUANGYAN', 'py':'HY'},{'code':'HZG', 'pinyin':'HanZhong', 'py':'HZ'},{'code':'INC', 'pinyin':'YinChuan', 'py':'YC'},{'code':'IQM', 'pinyin':'QieMo', 'py':'QM'},{'code':'IQN', 'pinyin':'QiangYang', 'py':'QY'},{'code':'JDZ', 'pinyin':'JinDeZhen', 'py':'JDZ'},{'code':'JGN', 'pinyin':'JIAYUGUAN', 'py':'JYG'},{'code':'JGS', 'pinyin':'JinGangShan', 'py':'JGS'},{'code':'JHG', 'pinyin':'XiShuangBanNa', 'py':'XSBN'},{'code':'JIL', 'pinyin':'JILIN', 'py':'JL'},{'code':'JIU', 'pinyin':'JiuJiang', 'py':'JJ'},{'code':'JJN', 'pinyin':'JINJIANG', 'py':'JJ'},{'code':'JMU', 'pinyin':'JIAMUSI', 'py':'JMS'},{'code':'JNG', 'pinyin':'JiNing', 'py':'JN'},{'code':'JNZ', 'pinyin':'JINZHOU', 'py':'JZ'},{'code':'JUZ', 'pinyin':'QuZhou', 'py':'QZ'},{'code':'JZH', 'pinyin':'JiuZhaiGou', 'py':'JZG'},{'code':'KCA', 'pinyin':'KuQa', 'py':'KC'},{'code':'KHG', 'pinyin':'KaShi', 'py':'KS'},{'code':'KHN', 'pinyin':'NanChang', 'py':'NC'},{'code':'KMG', 'pinyin':'KunMing', 'py':'KM'},{'code':'KNC', 'pinyin':'JiAn', 'py':'JA'},{'code':'KOW', 'pinyin':'GanZhou', 'py':'GZ'},{'code':'KRL', 'pinyin':'KuErLe', 'py':'KEL'},{'code':'KRY', 'pinyin':'Karamay', 'py':'KLMY'},{'code':'KWE', 'pinyin':'GuiYang', 'py':'GY'},{'code':'KWL', 'pinyin':'GuiLin', 'py':'GL'},{'code':'LHW', 'pinyin':'LanZhou', 'py':'LZ'},{'code':'LIA', 'pinyin':'LiangPing', 'py':'LP'},{'code':'LJG', 'pinyin':'LiJiang', 'py':'LJ'},{'code':'LNC', 'pinyin':'LinCang', 'py':'LC'},{'code':'LUM', 'pinyin':'MangShi', 'py':'MS'},{'code':'LUZ', 'pinyin':'LuShan', 'py':'LS'},{'code':'LXA', 'pinyin':'LaSa', 'py':'LS'},{'code':'LXI', 'pinyin':'LinXi', 'py':'LX'},{'code':'LYA', 'pinyin':'LuoYang', 'py':'LY'},{'code':'LYG', 'pinyin':'LianYunGang', 'py':'LYG'},{'code':'LYI', 'pinyin':'LinYi', 'py':'LY'},{'code':'LZH', 'pinyin':'LiuZhou', 'py':'LZ'},{'code':'LZO', 'pinyin':'LuZhou', 'py':'LZ'},{'code':'LZY', 'pinyin':'LinZhi', 'py':'LZ'},{'code':'MDG', 'pinyin':'MuDanJiang', 'py':'MDJ'},{'code':'MIG', 'pinyin':'MianYang', 'py':'MY'},{'code':'MXZ', 'pinyin':'MeiXian', 'py':'MX'},{'code':'NAO', 'pinyin':'NanChong', 'py':'NC'},{'code':'NAY', 'pinyin':'BeiJingNanYuan', 'py':'BJNY'},{'code':'NDG', 'pinyin':'QIQIHAR', 'py':'QQHE'},{'code':'NGB', 'pinyin':'NingBo', 'py':'NB'},{'code':'NKG', 'pinyin':'NanJing', 'py':'NJ'},{'code':'NNG', 'pinyin':'NanNing', 'py':'NN'},{'code':'NNY', 'pinyin':'NanYang', 'py':'NY'},{'code':'NTG', 'pinyin':'NanTong', 'py':'NT'},{'code':'NZH', 'pinyin':'ManZhouLi', 'py':'MZL'},{'code':'PEK', 'pinyin':'BeiJingShowDu', 'py':'BJ'},{'code':'PVG', 'pinyin':'ShangHaiPuDong', 'py':'SHBD'},{'code':'PZI', 'pinyin':'PanZhiHua', 'py':'PZH'},{'code':'SHA', 'pinyin':'ShangHaiHongQiao', 'py':'SHHQ'},{'code':'SHE', 'pinyin':'ShenYang', 'py':'SY'},{'code':'SHP', 'pinyin':'QinHuangDao', 'py':'QHD'},{'code':'SHS', 'pinyin':'ShaShi', 'py':'SS'},{'code':'SJW', 'pinyin':'ShiJiaZhuang', 'py':'SJZ'},{'code':'SWA', 'pinyin':'ShanTou', 'py':'ST'},{'code':'SYM', 'pinyin':'SiMao', 'py':'SM'},{'code':'SYX', 'pinyin':'SanYa', 'py':'SY'},{'code':'SZV', 'pinyin':'SuZhou', 'py':'SZ'},{'code':'SZX', 'pinyin':'ShenZhen', 'py':'SZ'},{'code':'TAO', 'pinyin':'QinDao', 'py':'QD'},{'code':'TCG', 'pinyin':'TaCheng', 'py':'TC'},{'code':'TEN', 'pinyin':'TongRen', 'py':'TR'},{'code':'TGO', 'pinyin':'TongLiao', 'py':'TL'},{'code':'TNA', 'pinyin':'JiNan', 'py':'JN'},{'code':'TNH', 'pinyin':'TongHua', 'py':'TH'},{'code':'TNS', 'pinyin':'TianShui', 'py':'TS'},{'code':'TSN', 'pinyin':'TianJin', 'py':'TJ'},{'code':'TXN', 'pinyin':'HuangShan', 'py':'HS'},{'code':'TYN', 'pinyin':'TaiYuan', 'py':'TY'},{'code':'URC', 'pinyin':'Urumqi', 'py':'WLMQ'},{'code':'UYN', 'pinyin':'YuLin', 'py':'YL'},{'code':'WEF', 'pinyin':'WeiFang', 'py':'WF'},{'code':'WEH', 'pinyin':'WeiHai', 'py':'WH'},{'code':'WHU', 'pinyin':'WuHu', 'py':'WH'},{'code':'WNZ', 'pinyin':'WenZhou', 'py':'WZ'},{'code':'WUA', 'pinyin':'WuHai', 'py':'WH'},{'code':'WUH', 'pinyin':'WuHan', 'py':'WH'},{'code':'WUS', 'pinyin':'WuyiMountain', 'py':'WYS'},{'code':'WUX', 'pinyin':'WuXi', 'py':'WX'},{'code':'WUZ', 'pinyin':'WuZhou', 'py':'WZ'},{'code':'WXN', 'pinyin':'WanZhou', 'py':'WZ'},{'code':'XEN', 'pinyin':'XingCheng', 'py':'XC'},{'code':'XFN', 'pinyin':'XiangFan', 'py':'XF'},{'code':'XIC', 'pinyin':'XiChang', 'py':'XC'},{'code':'XIL', 'pinyin':'XiLinHaoTe', 'py':'XLHT'},{'code':'XIN', 'pinyin':'XingNing', 'py':'XN'},{'code':'XIY', 'pinyin':'XIAN', 'py':'XA'},{'code':'XMN', 'pinyin':'XiaMen', 'py':'XM'},{'code':'XNN', 'pinyin':'XiNing', 'py':'XN'},{'code':'XNT', 'pinyin':'XingTai', 'py':'XT'},{'code':'XUZ', 'pinyin':'XuZhou', 'py':'XZ'},{'code':'YBP', 'pinyin':'YiBin', 'py':'YB'},{'code':'YCU', 'pinyin':'YunCheng', 'py':'YC'},{'code':'YIH', 'pinyin':'YiChang', 'py':'YC'},{'code':'YIN', 'pinyin':'YiNing', 'py':'YN'},{'code':'YIW', 'pinyin':'YIWU', 'py':'YW'},{'code':'YLN', 'pinyin':'YILAN', 'py':'YL'},{'code':'YNJ', 'pinyin':'YANJI', 'py':'YJ'},{'code':'YNT', 'pinyin':'YanTai', 'py':'YT'},{'code':'YNZ', 'pinyin':'YanCheng', 'py':'YC'},{'code':'YON', 'pinyin':'YongZhou', 'py':'YZ'},{'code':'ZAT', 'pinyin':'ZhaoTong', 'py':'ZT'},{'code':'ZHA', 'pinyin':'ZhanJiang', 'py':'ZJ'},{'code':'ZUH', 'pinyin':'ZhuHai', 'py':'ZH'},{'code':'PZI', 'pinyin':'PanZhiHua', 'py':'PZH'}];
	
APAutoComplete = Class.create();
APAutoComplete.prototype = Object.extend(new Autocompleter.Base(),{
  initialize: function(element, update, array, options) {
    this.baseInitialize(element, update, options);
    this.options.array = array;
  },

  getUpdatedChoices: function() {
    this.updateChoices(this.options.selector(this));
  },

  setOptions: function(options) {
    this.options = Object.extend({
      choices: 10,
      partialSearch: true,
      partialChars: 2,
      ignoreCase: true,
      fullSearch: false,
      selector: function(instance) {
        var partial   = []; // Inside matches
        var entry     = instance.getToken().toLowerCase();
        var result =instance.options.array;
        for(var i=result.length-1;i>=0;i--){
         	if(result[i].py.toLowerCase().indexOf(entry)===0) {
         		partial.push(["<li>"+result[i].pinyin+"("+result[i].code+")</li>"]);
         		continue;
         	} else if (result[i].code.toLowerCase().indexOf(entry)===0) {
	          	partial.unshift(["<li>"+result[i].pinyin+"("+result[i].code+")</li>"]);
	          	continue;
	        } else if(result[i].pinyin.toLowerCase().indexOf(entry)===0) {
	        	partial.push(["<li>"+result[i].pinyin+"("+result[i].code+")</li>"]);
	          	continue;
	        }
        }
        return "<ul>" + partial.join('') + "</ul>";
      }
    }, options || {});
  }
});
var objStartCity;
var objEndCity;
function init(){
     objStartCity = new APAutoComplete('startCity', 'startResults', APDataSet,
     {
     	afterUpdateElement:fromAfterUpdateElement
     });
     objEndCity = new APAutoComplete('endCity', 'endResults', APDataSet,
     {
     	afterUpdateElement:toAfterUpdateElement
     });
     //Event.observe($('endCity'),'click',initFocus);
}
   function fromAfterUpdateElement(obj){
   	var txt = obj.value;
   	if(txt.indexOf('\(')!=-1){
   		$('startCity').value = txt.split('\(')[0];
   		var str = txt.split('\(')[1];
   		$('startAP').value = str.substring(0,3).toUpperCase();
   	}
   }
  function toAfterUpdateElement(obj){
   	var txt = obj.value;
   	if(txt.indexOf('\(')!=-1){
   		$('endCity').value = txt.split('\(')[0];
   		var str = txt.split('\(')[1];
   		$('endAP').value = str.substring(0,3).toUpperCase();
   	}
 }
