﻿var tt=new Date();

/*tuna_090501.js*/
var $Ctrip="Copyright(C) Ctrip.COM 2008.All Rights Reserved.\n"+
	"Not to be reused without permission.\n"+
	"Created by Chu Chengdong, Tian Guofa UI group, IT department.\n"+
	"Last modified by Chu Chengdong, Tian Guofa, UI group, IT department. 2009\/06\/12";
//var _=window;var __=_.document;var ___=__.documentElement;var Ctrip={module:{}};var $$={};with(navigator){with(userAgent){$$.browser={IE:!!match(/MSIE/),IE6:!!appVersion.match(/MSIE 6\.0/i),Moz:match(/Mozilla/i)&&!match(/compatible|WebKit/i),Opera:!!match(/Opera/i),Safari:!!match(/Mac|Safari/i)}}}var $topWin=window;(function(){try{while(true){var a=$topWin.parent;if(a&&a!=$topWin&&a.$Ctrip)$topWin=a;else return}}catch(e){$trackEvent('tuna-error','topWin',$error(e),$tunaVersion())}})();window.onerror=function(a,c,d){$trackEvent('normal-error','normal',$error(a,c,d),$tunaVersion());return false};function $extend(a){for(var c=1;c<arguments.length;c++){var d=arguments[c];for(var f in d)if(d.hasOwnProperty(f))a[f]=d[f]}return a}$extend(Array.prototype,new function(){this.each=function(a){for(var c=0;c<this.length;c++)if((a?a(this[c],c):this[c]())===false)return false;return true};if($$.browser.IE)this.map=function(func){var d=[];for(var f=0;f<this.length;f++)d.push(func(this[f]));return d}});$extend(Number.prototype,new function(){this.parseCur=function(a){var c=this.toFixed(a||2),d=/(\d)(\d{3}[,\.])/;while(d.test(c))c=c.replace(d,"$1,$2");c=c.replace(/^(-?)\./,"$10.");return a===0?c.replace(/\..*$/,""):c}});$extend(String.prototype,new function(){this.replaceWith=function(d){return this.replace(/\{\$(\w+)\}/g,function(a,c){if(c in d)return d[c];else return a})};this.trim=function(){return this.replace(/^\s+|\s+$/g,'')};this.isEmail=function(){var a=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/;return a.test(this)};this.isDateTime=function(a){var c=a===false?this:this.parseStdDate(false);if(!c)return false;var d=c.match(/^((19|20)\d{2})-(\d{1,2})-(\d{1,2})$/);if(!d)return false;for(var f=1;f<5;f++)d[f]=parseInt(d[f],10);if(d[3]<1||d[3]>12||d[4]<1||d[4]>31)return false;var g=new Date(d[1],d[3]-1,d[4]);return g.getDate()==d[4]?g:null};this.toReString=function(){return this.replace(/([\.\\\/\+\*\?\[\]\{\}\(\)\^\$\|])/g,"\\$1")};this.isChinaIDCard=function(){var a=this.toLowerCase().match(/./g);if(this.match(/^\d{17}[\dx]$/i)){var c=0,d=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];for(var f=0;f<17;f++)c+=parseInt(a[f],10)*d[f];if("10x98765432".charAt(c%11)!=a[17])return false;return!!this.replace(/^\d{6}(\d{4})(\d{2})(\d{2}).+$/,"$1-$2-$3").isDateTime()}if(this.match(/^\d{15}$/))return!!this.replace(/^\d{6}(\d{2})(\d{2})(\d{2}).+$/,"19$1-$2-$3").isDateTime();return false};this.parseStdDate=function(a){var c="January|1@February|2@March|3@April|4@May|5@June|6@July|7@August|8@September|9@October|10@November|11@December|12";var d=this.replace(/[ \-,\.\/]+/g,"-").replace(/(^|-)0+(?=\d+)/g,"$1");if($$.status.version=="en")d=d.replace(/[a-z]{3,}/i,function(d){return(_2=c.match(new RegExp("(^|@)"+d+"[^\\|]*\\|(\\d+)","i")))?_2[2]:d});d=d.replace(/^([^-]{1,2}-[^-]{1,2})-([^-]{4})$/,"$2-$1");return a===false||d.isDateTime(false)?d:null};this.parseEngDate=function(){var a=this.parseStdDate();if(!a)return null;var c=a.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/);return"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec".split("|")[parseInt(c[2])-1]+"-"+c[3]+"-"+c[1]}});$extend(Date.prototype,new function(){this.dateValue=function(){return new Date(this.getFullYear(),this.getMonth(),this.getDate())};this.addDate=function(a){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+a)};this.toStdString=function(){return this.getFullYear()+"-"+(this.getMonth()+1)+"-"+this.getDate()};this.toEngString=function(){return"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec".split("|")[this.getMonth()]+"-"+this.getDate()+"-"+this.getFullYear()}});$extend(Function.prototype,new function(){this.bind=function(a){var c=this;var d=[].slice.call(arguments,1);return function(){return c.apply(a,d.concat([].slice.call(arguments,0)))}};this.pass=function(){var a=[].slice.call(arguments,0);a.unshift(null);return this.bind.apply(this,a)};this.delay=function(a){return setTimeout(this,a)}});$$.cookie={domain:null,path:null,expires:null};$$.history={load:function(){setTimeout($$.history.load,200)}};_.__.write("<div id=\"jsContainer\"><div id=\"jsHistoryDiv\" style=\"display:none;\">"+($$.browser.IE?"":"<iframe id=\"jsHistoryFrame\" name=\"jsHistoryFrame\" onload=\"$$.history.load();\" src=\"about:blank\"><\/iframe>")+"<\/div><textarea id=\"jsSaveStatus\" style=\"display:none;\"><\/textarea><div id=\"tuna_jmpinfo\" style=\"visibility:hidden;position:absolute;z-index:120;overflow:hidden;\"><\/div><div id=\"tuna_alert\" style=\"display:none;position:absolute;z-Index:999;overflow:hidden;\"><\/div><\/div>");$$.status=new function(){this.domReady=false;this.load=false;this.busy=0;this.dealt={};this.regEventCount=0;this.regEventHash={};this.charset=(((_.__.charset?_.__.charset:_.__.characterSet)||"").match(/^(gb2312|big5|utf-8)$/gi)||"gb2312").toString().toLowerCase();this.version={"gb2312":"zh-cn","big5":"zh-tw","utf-8":"zh-cn"}[this.charset];var a=$topWin.__.getElementsByTagName("script");this.debug=false;this.debugEvent=false;this.alertDiv=_.__.getElementById("tuna_alert");this.container=_.__.getElementById("jsContainer");this.saveStatus=_.__.getElementById("jsSaveStatus");this.back=false;this.pageValue={data:{}};this.globalValue={};this.today=new Date().toStdString()};$$.history={isFirefox2:/Firefox\/2\.0\.0\.\d+/.test(navigator.userAgent),enabled:false,callback:{},info:{"#":["#","","",""]},current:"#",blank:"blank.html",div:_.__.getElementById("jsHistoryDiv"),frame:_.frames["jsHistoryFrame"],iframe:null,isReady:false,count:0,init:function(){if(_.$$.history.frame)return;this.div.innerHTML="<iframe id=\"jsHistoryFrame\" name=\"jsHistoryFrame\" src=\""+this.blank+"\" onload=\"$$.history.load();\"><\/iframe>";this.frame=_.frames["jsHistoryFrame"];this.iframe=$("jsHistoryFrame")},load:function(){this.isReady=true;$r("domReady",function(){var f=0;setInterval(function(){var a=(_.$$.history.isFirefox2?_:_.$$.history.frame).location.hash.replace(/^#/,"")||"#";if(a!=_.$$.history.current){if(f<1)f++;else{_.$$.history.current=a;var c=_.$$.history.info[a];if(c){$t("[history]返回标志:"+c[0]+"/"+a,"green",c.join("\t"));var d=_.$$.history.callback[c[0]];if(typeof d=="function")d.apply(c[0],c.slice(1))}if($$.browser.Opera)_.$saveHistory()}}else f=0},100)});$t("[history]初始化完成","green");var g=(_.$$.history.isFirefox2?_:_.$$.history.frame).location.hash.replace(/^#/,"")||"#";$t("[history]返回标志:"+g,"green");this.load=function(){}}};$$.module={iframe:[],list:{},tab:{},selectAll:{},address:{source:{}},calendar:{},init:[]};$$.string={"zh-cn":{weekday:"日一二三四五六",display:"@▲|▼@显示|隐藏@"},"zh-tw":{weekday:"日一二三四五六",display:"@▲|▼@顯示|隱藏@"},"en":{weekday:"SMTWTFS",display:"@Show|Hidden@"}}[$$.status.version];$$.access={};function $type(a){var c=typeof a;if(c!='object')return c;if(a==null)return'null';var d={'array':Array,'boolean':Boolean,'date':Date,'regexp':RegExp,'string':String,'number':Number,'function':Function};for(var f in d)if((a instanceof d[f])||a.constructor==d[f])return f;return c}function $keys(a){var c=[];for(var d in a)if(a.hasOwnProperty(d))c.push(d);return c}function $values(a){var c=[];for(var d in a)if(a.hasOwnProperty(d))c.push(a[d]);return c}function $items(a){var c=[];for(var d in a)if(a.hasOwnProperty(d))c.push([d,a[d]]);return c}function $pageSize(a){var c={docWidth:___.scrollWidth,docHeight:___.scrollHeight,winWidth:___.clientWidth,winHeight:___.clientHeight,scrollLeft:$$.browser.Safari?__.body.scrollLeft:___.scrollLeft,scrollTop:$$.browser.Safari?__.body.scrollTop:___.scrollTop};if($$.browser.Safari){var d=___.$getStyle();c.docWidth+=parseInt(d.marginLeft)+parseInt(d.marginRight);c.docHeight+=parseInt(d.marginTop)+parseInt(d.marginBottom)}c.docWidth=Math.max(c.docWidth,c.winWidth);c.docHeight=Math.max(c.docHeight,c.winHeight);if(a){var f=a=='win';c.left=f?c.scrollLeft:0;c.top=f?c.scrollTop:0;if($$.browser.Mozilla){var d=___.$getStyle();c.left-=parseInt(d.borderLeftWidth)+parseInt(d.marginLeft);c.top-=parseInt(d.borderTopWidth)+parseInt(d.marginTop)}c.width=f?c.winWidth:Math.max(c.docWidth,c.winWidth);c.height=f?c.winHeight:Math.max(c.docHeight,c.winHeight)}return c}function $animate(i,k,j){if(!i||!i.style)return;i=i.style;var j=$extend({fps:40,duration:400,callback:function(){},reverse:false,fn:function(a){return Math.sin(a*Math.PI/2)}},j||{});var n=$keys(k);var o=n.map(function(a){return/(width|height|left|top)\b/i.test(a)?'px':''});var m=new Date();var s=function(){var a=new Date()-m;if(a>j.duration)a=j.duration;for(var c=0;c<n.length;c++){var d=k[n[c]];var f=j.fn(a/j.duration);var g=j.reverse?d[1]+(d[0]-d[1])*f:d[0]+(d[1]-d[0])*f;if(o[c]=='px')g=Math.round(g);i[n[c]]=g+o[c]}if(a==j.duration){clearInterval(q);if(j.callback)setTimeout(j.callback,Math.round(1000/j.fps))}};var q=setInterval(s,Math.round(1000/j.fps));s();return q}function $fixE(a){a=_.event||a||arguments.callee.caller.arguments[0];$(a.$target=a.target?(a.target.nodeType&&a.target.nodeType==3?a.target.parentNode:a.target):a.srcElement);return a}function $stopEvent(a,c){a=$fixE(a);c=c||0;if(c>=0)a.preventDefault?a.stopPropagation():(a.cancelBubble=true);if(c!=0)a.preventDefault?a.preventDefault():(a.returnValue=false)}function $getUid(){return"uid_"+(new Date()).getTime()+Math.random().toString().substr(2,5)}function $c(a){if(a.constructor==Array)return $(__.createTextNode(a.join("\n")));else return $(__.createElement(a))}var $createElement=$c;function $toJson(c){if(typeof c=="undefined")return undefined;switch(c.constructor){case Object:var d=[],f;for(var g in c)d.push($toJson(g)+":"+$toJson(c[g]));return"{"+d.join(",")+"}";case Array:return"["+c.map(function(a){return $toJson(a)}).join(",")+"]";case String:return"\""+c.replace(/([\n\r\\\/\'\"])/g,function(a){return{"\n":"\\n","\r":"\\r"}[a]||"\\"+a})+"\"";case Date:return"new Date("+c.getTime()+")";case Number:case Boolean:case Function:case RegExp:return c.toString();default:return"null"}}function $fromJson(a){var c;var d=null;try{d=eval("("+a+")")}catch(e){$trackEvent('tuna-error','$fromJson',$error(e),$tunaVersion())};return d}function $pageValue(){return $pageValue.get.apply(_,arguments)}$pageValue.set=function(a,c,d){d=d||$$.history.current;if(!(d in $$.status.pageValue.data))$$.status.pageValue.data[d]={};$$.status.pageValue.data[d][a]=c;if($$.browser.Opera)$savePageValue()};this.$pageValue.get=function(a,c){var d=$$.status.pageValue.data[c||$$.history.current];return d&&a in d?d[a]:null};this.$pageValue.del=function(a,c){var d=$$.status.pageValue.data[c||$$.history.current];if(d){delete d[a];if($$.browser.Opera)$savePageValue()}};function $savePageValue(){$$.status.saveStatus.value=$toJson($$.status.pageValue)}function $saveHistory(){var a=[];for(var c in $$.history.info){var d=$$.history.info[c];if(d.constructor==Array&&d.length==4){var f=[c];for(var g=0;g<d.length;g++)f.push(escape(d[g]||""));a.push(escape(f.join("|")))}}$$.status.pageValue["historyInfo"]=a.join("|");$$.status.pageValue["historyCount"]=$$.history.count;if($$.history.frame)$$.status.pageValue["lastHistory"]=$$.history.frame.location.href;$savePageValue()}function $globalValue(){}function $getQuery(a){var c=(location.search||"").match(new RegExp("[\\?&]"+a+"=([^&]+)","i"));return c?unescape(c[1]):null}function $loadJs(d,f,g,i){var k=arguments.callee;var j=k.queue||(k.queue={});var n=null;if(!(d in j)){j[d]=[];if(g){n=m();j[d].push(g)}}else{if(g){if(j[d]){n=m();j[d].push(g)}else{g()}}return}var o=document.createElement('script');o.type='text/javascript';o.charset=f||$$.status.charset;o.onload=o.onreadystatechange=function(){if(o.readyState&&o.readyState!='loaded'&&o.readyState!='complete')return;if(n)clearTimeout(n);o.onreadystatechange=o.onload=null;while(j[d].length)j[d].shift()();j[d]=null};o.src=d;__.getElementsByTagName('head')[0].appendChild(o);function m(){var a=j[d];var c=a.length;if(g&&i){return setTimeout(function(){if(g(true)!==true)a.splice(c,1)},i)}}}function $loadCss(a,c){if($$.browser.IE)__.createStyleSheet(a).charset=c||_.$$.status.charset;else{var d=_.__.createElement("link");with(d){type="text\/css";rel="stylesheet";href=a}__.$("head")[0].appendChild(d)}}function $getCookie(a,c){var d=__.cookie.match(new RegExp("(?:^|;)\\s*"+encodeURIComponent(a)+"=([^;]+)"));if(c===false)return d?d[1]:null;if(d&&c)d=d[1].match(new RegExp("(?:^|&)\\s*"+encodeURIComponent(c)+"=([^&]+)"));return d?decodeURIComponent(d[1]):null}function $delCookie(a,c){if(c){var d=$getCookie(a,false);if(d===null)return;d=d.replace(new RegExp("(^|&)\\s*"+encodeURIComponent(c)+"=[^&]+"),"").replace(/^\s*&/,"");if(d){__.cookie=encodeURIComponent(a)+"="+d;return}}var f=new Date();f.setTime(f.getTime()-1);__.cookie=encodeURIComponent(a)+"=;expires="+f}function $setCookie(a,c,d){if(!d){d=c;c=null}var f=($$.cookie.domain?"; domain="+$$.cookie.domain:"")+"; path="+($$.cookie.path||"/")+($$.cookie.expires?"; expires="+new Date((new Date()).getTime()+$$.cookie.expires*3600000).toGMTString():"");if(c){var g=$getCookie(a,false)||"";if(g)g=(g+"&").replace(new RegExp("(^|&)\\s*"+encodeURIComponent(c)+"=[^&]+&"),"$1");__.cookie=encodeURIComponent(a)+"="+g+encodeURIComponent(c)+"="+encodeURIComponent(d)+f}else __.cookie=encodeURIComponent(a)+"="+encodeURIComponent(d)+f}function $init(a){if(a)$topWin.$$.module.init.push(a);else $topWin.$$.module.init.each()}function $parserRe(d){var f=[];var g=/<[^>]+\smod=[\'\"]?([\w|]+)[^>]+/g;var i=/id=[\'\"]?([\w\-]+)/i;var k=null;var j=null;var n=null;(d&&d.innerHTML?d:__.body).innerHTML.replace(g,function(a,c){try{if(c=="jmpInfo"){}else if((j=a.match(i))&&(n=$(j[1]))){if(c in Ctrip.module)new Ctrip.module[c](n);else f.push(n)}}catch(e){$t("parserRe函数错误:"+func.toString().slice(0,50)+"...","red");$trackEvent('tuna-error','$parserRe',$error(e),$tunaVersion())};return""});var o=setInterval(function(){var a=f.shift();if(a)$topWin.$d(a);else clearInterval(o)},50)}function $d(c){($(c).getAttribute("mod")||"").replace(/\w+/ig,function(a){if(Ctrip.module[a]){new Ctrip.module[a](c)}else{$t("错误:元素["+(c.id||c.tagName)+"]引用未知模块["+a+"]","red");$trackEvent('tuna-error','$d',[c.id||c.tagName,a].join('; '),$tunaVersion())}})}var $dealElement=$d;function $i(i){var k=$$.access[i];if(k)return k;else{k=new function(){var f=[],g=[];this.get=function(){var a=k.value;for(var c=0;c<f.length;c++){var d=f[c].call(a);if(typeof d!='undefined')a=d}return a};this.set=function(a){for(var c=0;c<g.length;c++){var d=g[c].call(a);if(typeof d!='undefined')a=d}return k.value=a};this.regGet=function(a){if(!a)f=[];else f.push(a);return};this.regSet=function(a){if(!a)g=[];else g.push(a);return}}}return $$.access[i]=k}function $fixElement(f){function g(a,c,d){if('attachEvent'in a)a.attachEvent('on'+c,d);else a.addEventListener(c,d)}function i(a){a=a.getElementsByTagName('input');for(var c=0;c<a.length;c++)if(/checkbox|radio/.test(a[c].type))return a[c];return null}function k(a){if(!a)a=window.event;return a.srcElement||a.target}function j(a){var c=a._1;if(c){a.htmlFor=c.id||(c.id=$getUid());a._1=null}var d=a.style;d.borderBottom='#aaa 1px dashed';d.paddingBottom='0px';d.color='#1E1A75'}function n(a){var c=a.style;c.borderBottom='';c.paddingBottom='';c.color=''}f=f&&f.nodeType?f:_.__;if($$.browser.IE6){var o=f.getElementsByTagName("label");for(var m=0;m<o.length;m++){var s=i(o[m]);if(s&&/checkbox|radio/.test(s.type))(function(lbl,box){lbl._1=box;g(lbl,'mouseover',function(){j(lbl)});g(lbl,'mouseout',function(){n(lbl)})})(o[m],s)}}if($$.browser.IE){var q=f.getElementsByTagName("select");for(var m=0;m<q.length;m++)q[m].onmousewheel=function(){return false}}}function $removeTextNode(a){if(!a)return;var c=a.firstChild,d;while(c){d=c.nextSibling;if(c.nodeType==3){if(!c.nodeValue.trim())a.removeChild(c)}else $removeTextNode(c);c=d}return a}function $ajax(d,f,g,i){var k=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"],j;try{j=new XMLHttpRequest()}catch(e){for(var n=0;n<k.length;n++)try{j=new ActiveXObject(k[n]);break}catch(e){}}if(!j){$trackEvent('tuna-error','$ajax','xmlObj creation failure',$tunaVersion());return}j.open(f?"POST":"GET",d||location.href,!!g);j.setRequestHeader("Content-Type","application\/x-www-form-urlencoded");j.setRequestHeader("If-Modified-Since",new Date(0));function o(){if($$.history.enabled&&i){$$.history.init();var c="ajaxHistory_"+$$.history.count++;$$.history.current=c;(function(){if($$.history.isReady){var a=$$.history.info[c]=[i,j.status==200?j.responseText:null,d,f];if($$.history.isFirefox2)location.hash=c;else $$.history.frame.location.href=$$.history.blank+($$.browser.IE?"?"+!($$.history.count%2):"")+"#"+c;if($$.browser.Opera)$saveHistory();$t("[history]增加历史:"+a[0]+"/"+c,"green",a.slice(1).join("\n"))}else setTimeout(arguments.callee,50)})()}return(j.status==200?(/xml/i.test(j.getResponseHeader("content-type"))?j.responseXML:j.responseText):null)}if(g)j.onreadystatechange=function(){if(j.readyState==4){var m=o();if(g(m)===true){setTimeout(function(){$ajax(d,f,g)},1000)}}};j.send(f||"");return g?j:o()}function $showDebug(a){var c=a.keyCode||a.charCode;if($$.status.debug&&c==192){var d=$getDebug();if(d&&(d=d.frameElement))d.style.display=d.style.display==""?"none":""}}function $getDebug(){var a=$topWin.frames["Ctrip_debug"];if(a)return a;with(a=$topWin.$c("iframe")){frameBorder=0;id=name="Ctrip_debug";with(style){border="1px solid red";width="600px";height="300px";position=$$.browser.IE6?"absolute":"fixed";bottom=right="10px";background="white"}}$topWin.$$.status.container.appendChild(a);if($$.browser.IE6)$topWin.$r("scroll",function(){with($("Ctrip_debug").style){zoom=1;zoom=0}});with((a=$getDebug()).document){open();write("<style>body{margin:0;padding:0;font-family:Arial;font-size:12px;overflow:scroll;}div{border-bottom:1px solid #CCC;}<\/style><body><\/body>");close()}$topWin.__.$r("keydown",$showDebug);return a}function $t(a,c,d){if(!$topWin.$$.status.debug)return;if(_!=$topWin)return $topWin.$t(a,c);var f=$getDebug();var g=new Date().getTime()%(1E7);var i="<font id=\"msg_"+g+"\"> "+a+"<\/font>";var k=f.document.createElement("div");if(c)k.style.color=c||"black";if(d)k.title=d;k.innerHTML="<font style=\"color:blue;\">"+g+"<\/font> "+i;with(f.document.body){if(firstChild)insertBefore(k,firstChild);else appendChild(k)}return a}function $alert(a,c,d,f,g){a=$(a);var i=$("alertInfo"),k=$("alertTable"),j=1;i.innerHTML=c;$topWin.$$.status.alertDiv.style.display="";$topWin.$$.status.alertDiv.$setPos(a,f||"tl",g||"tr");$topWin.$$.status.alertDiv.$setIframe();a.className+=" pubGlobal_checkinfo_input01";if(d!==false)a.$setDisplay();function n(){a.className=a.className.replace("pubGlobal_checkinfo_input01","");$topWin.$$.status.alertDiv.style.display="none";$topWin.$$.status.alertDiv.$clearIframe();a.$ur("onblur",n);__.body.$ur("onmousedown",n);a.clearAlert=null;$alert.element=null}if(a.disabled)j=0;else setTimeout(function(){try{a.focus()}catch(e){j=0}},0);if(j)a.$r("onblur",n);else __.body.$r("onmousedown",n);$alert.element=a;a.clearAlert=n}function $toQuery(a,c){var d=[];for(var f in a)if(a.hasOwnProperty(f))d.push([f,c?c(a[f]):a[f]].join('='));return d.join('&')}function $fromQuery(a,c){var d=a.split('&');var f={};for(var g=0;g<d.length;g++){var i=d.split('=');if(i.length>1)f[i[0]]=c?c(i.slice(1).join('=')):i.slice(1).join('=')}return f}function $trackEvent(c,d,f,g){var i=(arguments.callee._3||(arguments.callee._3={tuna_total:0,other_total:0}));if(c=='tuna-error'){if(i.tuna_total>=20)return;var k=c+'.'+d;if(i[k]&&i[k]>=5)return;i[k]=(i[k]||0)+1;++i.tuna_total}else{if(i.other_total>=80)return;++i.other_total}var j=['dev.sh.ctriptravel','.com/rp/uiServer2.asp'].join('');var n=$toQuery({'action':'event','p':window.UIMonitor2&&window.UIMonitor2.bi&&window.UIMonitor2.bi.pageview_id||'','u':document.URL,'c':c,'l':f,'a':d,'v':g,'t':new Date*1},function(a){return encodeURIComponent(escape(a))});new Image().src=j+'?'+n}function $error(a){if(!a)return"";var c,d,f,g;if(a.message){if($$.browser.Opera){var i=transErrMessage(a.message);c="";d=this.transed[2];f=this.transed[1];g=this.transed[3].match(/.+((?:file:|http:)[^\s]+?)\s+.+/i)[1]}else{c=a.name||'';d=a.message||"";f=a.lineNumber||a.line||"";g=a.fileName||a.sourceURL||""}}else if(!a.message&&(arguments[2]||arguments[2]==0)){d=a;c="";f=arguments[2];g=arguments[1]}return[c,d,f,g].join('|')}function transErrMessage(a){var c=[];c=a.match(/Statement[^\d]+(\d+)\:([\s\S]+)Backtrace\:([\s\S]+)/);return c}[this.name,this.message,this.line,this.file].join("|");function $tunaVersion(){var a=arguments.callee;if(!a._0){a._0=-1;for(var c=document.getElementsByTagName('script'),d=c.length-1;d>=0;d--){var f=c[d].src.match(/\/tuna_(\d+).js$/i);if(f){a._0=parseInt('20'+f[1]);break}}}return a._0}var c_linklist={};var c_allyes_text={};var c_allyes_delay=1000;var DOM=function(){if(!this||this.nodeType==3||this.$)return this;this.module={};this.module.event={};function u(a){return(a.toString().match(/function([^\{]+)/i)||["","anonymous"])[1].replace(/\(\)/,"").trim()||"anonymous"}function p(a){var c="["+a.event+"] ";c+=a.obj.tagName||{3:a.obj.nodeValue,9:"document"}[a.obj.nodeType||""]||"window";c+=a.obj.id?"#"+a.obj.id:(a.obj.name?"@"+a.obj.name:"");c+=" "+u(a.func);return c}function w(g){return function(a){a=$fixE(a);var c=g.module.event[a.type],d;for(var f=0;f<c.length;f++){if(c[f].enabled){try{d=c[f].func.call(g,a);if($topWin.$$.status.debugEvent)$t(p(c[f])+" ("+(typeof d=="undefined"?"无返回值":d.toString().slice(0,100))+")",null,c[f].func);if(d===false)break}catch(ex){$t(p(c[f])+" (执行错误)","red",c[f].func);$trackEvent('tuna-error','DOM.execEvent',$error(ex),$tunaVersion())}}else{c.splice(f,1);f--}}return d}}if(this.__)this.$=function(objId,flag){if(typeof objId=="object")return DOM.apply(objId);var v;if(flag){var l=___.innerHTML.match(new RegExp("\\sid=([\\\'\\\"]?)([\\w$]+?[_$]"+objId.toReString()+")\\1"),"g");if(l){for(var E=0;E<l.length;E++){v=$(l[E]);if(v)return v}}return $(objId)}else v=__.getElementById(objId);return v?$(v):null};else this.$=function(f){var g=this.getElementsByTagName(f);g.$each=function(a){var c;if(g.length!==undefined)for(var d=0;d<g.length&&(c=a.call(this,g[d],d))!==false;d++);else a.call(this,g,0);return c===false?0:1};for(var i=0;i<g.length;i++)$(g[i]);return g};if(this.nodeType==1){if(this.tagName=="INPUT"&&/^(text|hidden)$/i.test(this.type)||this.tagName=="TEXTAREA")this.isNull=function(){return!this.value.trim()};if(/^SELECT$/.test(this.tagName))this.$setValue=function(value){for(var E=0;E<this.options.length;E++){if(this.options[E].value==value){this.selectedIndex=E;return true}}return false}}if(!this.hasAttribute)this.hasAttribute=function(str){return typeof this.attributes[str]!="undefined"};this.$parentNode=function(a){var c=$(this.parentNode);if(a&&c&&c.tagName&&c.tagName.toLowerCase()!=a.toLowerCase())c=c.$parentNode(a);return c&&c.tagName?c:null};this.$firstChild=function(){return $(this.firstChild)};this.$lastChild=function(){return $(this.lastChild)};this.$childNodes=function(){var a=this.childNodes;for(var c=0;c<a.length;c++)$(a[c]);return a};this.$nSib=this.$nextSibling=function(){return $(this.nextSibling)};this.$pSib=this.$previousSibling=function(){return $(this.previousSibling)};this.$click=function(){if(this.click)this.click();else{var a=__.createEvent("MouseEvents");a.initMouseEvent("click",true,true,_,0,0,0,0,0,false,false,false,false,0,this);this.dispatchEvent(a)}};this.$getStyle=function(a){var c=this.currentStyle||_.getComputedStyle(this,null);return a?c[a]:c};this.$getPara=function(){var a,c=(a=this.getAttribute(arguments[0])||"").split(a.indexOf("")>-1?"":"|");for(var d=0;d<Math.max(arguments.length-1,c.length);d++)c[d]=c[d]||arguments[d+1]||"";return c};this.$r=this.$regEvent=function(i,k,j,n){n=n||50;if(arguments.length==3&&typeof j=="number"){n=j;j=null}var o=this;if(i.constructor!=Array)i=[i];if(k.constructor!=Array)k=[k];i.each(function(g){k.each(function(d){g=g.replace(/^(on)?/i,"");g=g=="DOMContentLoaded"?"domready":g.toLowerCase();if(g=="domready")o=_;var f={enabled:true,obj:o,event:g,func:d,hash:j,level:n,id:_.$$.status.regEventCount++};if(g=="domready"&&$$.status.domReady||g=="load"&&(o==_||o==__.body)&&$$.status.load)d();else{if(!(g in o.module.event)){o.module.event[g]=[];if(o.attachEvent)o.attachEvent("on"+g,w(o));else o.addEventListener(g,w(o),false)}o.module.event[g].push(f);o.module.event[g].sort(function(a,c){return(a.level-c.level)||(a.id-c.id)})}if(j){if(!(j in $$.status.regEventHash))$$.status.regEventHash[j]=[];$$.status.regEventHash[j].push(f)}})})};this.$ur=this.$unregEvent=function(g,i,k){var j=this;if(g.constructor!=Array)g=[g];if(i.constructor!=Array)i=[i];g.each(function(f){i.each(function(a){f=f.replace(/^(on)?/i,"");f=f=="DOMContentLoaded"?"domready":f.toLowerCase();if(f=="domready")j=_;if(f in j.module.event){var c=j.module.event[f];for(var d=0;d<c.length;d++){if(c[d].enabled&&c[d].func==a&&(!k||c[d].hash==k)){c[d].enabled=false;break}}if(!c.length){delete j.module.event[f];if(j.detachEvent)j.detachEvent(f,w);else j.removeEventListener(f,w,false)}}})})};this.$urh=this.$unregEventHash=function(a){var c=this;if(a in $$.status.regEventHash){var d=$$.status.regEventHash[a],f;while(f=d.shift())f.obj.$ur(f.event,f.func,a);delete $$.status.regEventHash[a]}};this.$getWin=function(){var a=this.ownerDocument;return a.parentWindow||a.defaultView};this.$g=this.$selNode=function(G){function y(n,o){var m=[],s=n.match(/^([\.\#]*)([a-zA-Z0-9\-_*]+)(.*)$/i);if(!s)return[];if(s[1]=="#"){var q=$(s[2]);if(q)m.push(q)}else if(s[1]==".")o.each(function(v){v.$("*").$each(function(a){if(new RegExp("\\b"+s[2]+"\\b").test(a.className))m.push($(a))})});else for(var r=0;r<o.length;r++){var q=o[r].$(s[2]);if(q)for(var h=0;h<q.length;h++)m.push(q[h])}s[3].replace(/\[([^!=]+)(=|!=)([^\]]*)\]/gi,function(f,g,i,k){var j=m.slice(0);m=[];j.each(function(a){g={"class":"className","for":"htmlFor"}[g]||g;var c=a[g]||a.getAttribute(g);var d;if(g=="className")d=new RegExp("\\b"+k+"\\b").test(c);else d=c==k;if((i=="=")==d)m.push($(a))})});return m}var t=[this==_?_.__.body:this],C=[],z=[];G.replace(/[^\[,]([^\[,]*(\[[^\]]*\])*)+/g,function(c){var d=t.slice(0);c.replace(/(#|\*)/gi," $1").replace(/([^\^ ])\.(\w+)/gi,"$1[className=$2]").trim().split(/\s+/g).each(function(a){d=y(a,d)});C=C.concat(d)});C.each(function(a){if(!a.__selNodeFlag__){a.__selNodeFlag__=true;z.push(a)}});z.each(function(a){a.__selNodeFlag__=false});return z.length==0?null:z};this.$getPos=function(){var f=this,g=this,i,k=[0,0],j,n={"thin":2,"medium":4,"thick":6};function o(){if(f==g)return;function d(a){var c=/^(none|hidden)$/i.test(g.$getStyle("border"+a+"Style"))?0:g.$getStyle("border"+a+"Width");return n[c]||parseInt(c,10)||0}k[0]+=d("Left");k[1]+=d("Top")}do{i=$(g).$getWin();if(g.tagName.match(/^(iframe|frameset)$/i))o();j=-1;do{k[0]+=g.offsetLeft-g.scrollLeft;k[1]+=g.offsetTop-($$.browser.Safari&&g==i.document.body?0:g.scrollTop);if($$.browser.IE)o();if(!$$.browser.IE6&&g.$getStyle("position")=="fixed")j=1}while(g.offsetParent&&g!=g.offsetParent&&(g=$(g.offsetParent))&&g!=_.___);if($$.browser.Safari){k[0]+=i.__.body.leftMargin||0;k[1]+=i.__.body.topMargin||0}if(j==1||i!=$topWin){k[0]+=i.___.scrollLeft*j;k[1]+=i.___.scrollTop*j}}while(g=i.frameElement);return k};this.$setPos=function(j,n,o){function m(g,i){function k(a,c,d,f){return d+{"l":0,"c":c.offsetWidth/2,"r":c.offsetWidth,"t":0,"m":c.offsetHeight/2,"b":c.offsetHeight}[a||"l"]*f}return k(n.match(g),this,k(o.match(g),j,s[i],1),-1)+"px"}var s=j.$getPos();n=n||"lt";o=o||"lb";this.style.left=m.call(this,/[lcr]/i,0);this.style.top=m.call(this,/[tmb]/i,1)};this.$setIframe=function(c){if(c!==true&&!$$.browser.IE6)return;if(this.module.iframe)f=this.module.iframe;else{function d(){for(var a=0;a<$topWin.$$.module.iframe.length;a++){if($topWin.$$.module.iframe[a].$getStyle("display")=="none")return $topWin.$$.module.iframe[a]}}var f=d();if(!f){f=$topWin.$c("iframe");with(f.style){width=height="0px";background="#FFF";position="absolute";display="none";zIndex=100}f.frameBorder=0;f.id=f.name=$getUid();$topWin.$$.status.container.appendChild(f);$topWin.$$.module.iframe.push(f);with($topWin.frames[f.id].document){open();write('<style>html,body{overflow:hidden}</style>');close()}}this.module.iframe=f}f.$setPos(this,"tl","tl");with(f.style){width=this.offsetWidth+"px";height=this.offsetHeight+"px";display=""}return f};this.$clearIframe=function(){var a=this.module.iframe;if(a){a.style.display="none";this.module.iframe=null}return a};function D(a,c,d){if(!a)return null;c=c||"n";var f=new RegExp(({1:"n",3:"t",8:"c"}[a.nodeType])||"o","i");return c.match(f)?a:d.call(a,c)}this.$nAbs=function(a){var c=this,d=c.firstChild||c.nextSibling;if(!d)do{c=c.parentNode;if(c==__.body)return null;d=c.nextSibling}while(!d);return $(D(d,a,arguments.callee))};this.$pAbs=function(a){if(this==__.body)return null;var c=this.previousSibling;if(c){while(c.lastChild)c=c.lastChild}else c=this.parentNode;return $(D(c,a,arguments.callee))};this.$focusNext=function(){if(!this.form)return;try{this.blur()}catch(e){};var a=this.form.elements,c;for(var d=0;d<a.length;d++){if(c){if(!$(a[d]).disabled&&a[d].$isDisplay())try{a[d].focus();return}catch(e){}}if(a[d]==this)c=true}};this.$setDisplay=function(){var a=this.$getPos();with($topWin.___){scrollLeft=a[0]-80;scrollTop=a[1]-80}};this.$isDisplay=function(){var a=this;do{if(a.tagName=="INPUT"&&a.type=="hidden"||a.$getStyle("display")=="none"||a.$getStyle("visibility")=="hidden")return false}while((a=a.$parentNode())&&a.nodeType==1);return true};return this};DOM.apply(_);DOM.apply(__);DOM.apply(___);DOM.apply($$.status.alertDiv);Ctrip.module.linklist=function(a){var c=a.getAttribute('mod_linklist_class');if(c===null)c='pubSidebar_linkmargin01';var d='<a class="'+c+'" href="{$link}" title="{$text}" target="{$target}">{$text}</a>';var f=a.getAttribute('mod_linklist_id');if(!f||!(f=window.c_linklist[f])||f.constructor!==Array)return;for(var g=0;g<f.length;g++){var i=f[g].split('|',2);f[g]=d.replaceWith({text:$s2t(i[0]),link:i[1],target:f[g].target||'_4'})}a.innerHTML=f.join('')};Ctrip.module.allyes=function(f){var g=m("user")||m("mod_allyes_user");if(!g){var i=m('mod_allyes_buttons',window);var k=m('mod_allyes_text',window.c_allyes_text);if(!i&&!k)return}var j='<div class="base_ad140x60" style="height:{$height}px">{$iframe}<\/div>';var n='<div class="base_adtxt140">{$text}<\/div>';var o='<iframe marginheight="0" width="100%" height="100%" marginwidth="0" frameborder="0" scrolling="no" src="\/main\/adfshow?user={$user}&db=ctrip&border=0&local=yes"><\/iframe>';setTimeout(function(){if(g){if(g.indexOf('@')>-1)g=s(g.split('@'));f.innerHTML=o.replace('{$user}',g)}else{var a=[];if(i)a=i.map(function(b){b.button=b.button||';';return j.replace('{$height}',b.height).replace('{$iframe}',o.replace('{$user}',b.user))});if(k)a.push(n.replace('{$text}',$s2t(k)));f.innerHTML=a.join('')}},window.c_allyes_delay);function m(a,c){var d=f.getAttribute(a);if(!d)return null;if(c)return c[d]||null;else return d}function s(a){var c=/^(SearchFlights\.aspx|SearchHotels\.aspx|query\.asp)$/i;var d=location.pathname;d=d.slice(d.lastIndexOf('/')+1);return c.test(d)?a[0]:a[1]}};Ctrip.module.notice=function(a){var c;a.module.notice=new function(){this.enabled=true;this.tip=a.getAttribute("mod_notice_tip")||"";this.check=function(){if(a.module.notice.enabled){with(a){if(isNull()){style.color="gray";value=module.notice.tip}else style.color=""}}};this.isNull=a.isNull=function(){return a.value.trim()==""||a.value==a.module.notice.tip}};a.$r("focus",function(){c=true;if(a.module.notice.enabled){a.style.color="";if(a.value==a.module.notice.tip)a.value=""}},10);a.$r("blur",function(){c=false;a.module.notice.check()},90);if(a.form){var d=$(a.form);d.$r("submit",function(){if(a.isNull())a.value="";setTimeout(function(){if(!c)a.module.notice.check()},1)});if(!$$.browser.Opera)_.$r("beforeunload",a.module.notice.check)}a.module.notice.check()};Ctrip.module.tab=function(g){var i=_.$g(g.getAttribute("mod_tab_button")||"");var k=_.$g(g.getAttribute("mod_tab_panel")||"");var j=parseInt(g.getAttribute("mod_tab_select")||1,10);var n=((g.getAttribute("mod_tab_event")||"").match(/^mouseover$/i)||"click").toString();if(!i||!k)return;g.module.tab=new function(){this.funcListHash={};this.select=function(a){if(this.funcListHash[a-1])this.funcListHash[a-1]()};this.index=j};i.each(function(d,f){g.module.tab.funcListHash[f]=function(){i.each(function(a,c){a.className=a.className.replace(/_(no)?current/g,"_"+(f==c?"":"no")+"current");if(k[c])k[c].style.display=(f==c)?"":"none"});g.module.tab.index=f+1};d.$r(n,g.module.tab.funcListHash[f])});g.module.tab.select(j)};Ctrip.module.display=function(k){var j=k.$getPara("mod_display_panel"),n=[];j.each(function(a){a=_.$(a)||_.$selNode(a);if(a){if(a.length)a.each(function(a){n.push(a)});else n.push(a)}});k.$r("click",function(){(function(f){for(var g=0;g<f.childNodes.length;g++){with(f.childNodes[g]){if(nodeType==3){var i=new RegExp($$.string.display.match(/[^@]+/g).join("|"),"gi");nodeValue=nodeValue.replace(i,function(a){var c=new RegExp("@"+a+"\\|([^@]+)|([^@]+)\\|"+a+"@","i");var d=$$.string.display.match(c);return d[1]||d[2]})}else arguments.callee(f.childNodes[g])}}})(k);n.each(function(a){a.style.display=a.$getStyle("display")=="none"?"":"none"})})};Ctrip.module.selectAll=function(d){var f=$selNode(d.getAttribute("mod_selectAll_input")||"");if(!f)return;f.each(function(c){if(c!=d)c.$r("onclick",function(){d.checked=f.each(function(a){if(a!=d&&!a.checked)return false})})});d.$r("click",function(){f.each(function(a){a.checked=d.checked})})};Ctrip.module.validate=function(a){var c=_.$(a.getAttribute("mod_validate_true")||"");var d=_.$(a.getAttribute("mod_validate_false")||"");var f=a.getAttribute("mod_validate_function")||"";if(!f)return;var g=f.match(/^\/(.*?[^\\])\/([gmi]*?)$/);var i,k,j;f=a[f]||_[f];if(g||f){a.module.validate=new function(){this.check=function(){if(a.value||!c&&!d)j=!(k=f?f(a.value,a):a.value.match(new RegExp(g[1],g[2])));else k=j=false;if(c)c.style.display=k?"":"none";if(d)d.style.display=j?"":"none"}};a.$r("focus",function(){i=setInterval(a.module.validate.check,200)});a.$r("blur",function(){a.module.validate.check();clearInterval(i)})}};$$.module.jmpInfo=(function(){var q=function(a){var c=$(a).$getPos();return{x:c[0],y:c[1]}};var r=function(a,c){if(!a)return;var d=a.style,f,g;if(c){f=c.x+'px';g=c.y+'px'}else{f='-10000px';g='-10000px'}if(d.display!='block')d.display='block';if(d.left!=f)d.left=f;if(d.top!=g)d.top=g};var h={logging:false,coloring:false,animating:false,fading:false,current:null,next:null,popup:null,ani_box:null,log_box:null,timers:{show:300,hide:100,refresh:200},array:{},template:{},css_url:'styles/control/tuna_071206/control_jmpinfo_tuna_071206.css',css_loaded:false,load_timeout:3000,template_dir:'code/js/resource/jmpInfo_tuna/',data_dir:'code/js/resource/jmpInfo_tuna/',common_callback:null,log:function(){if(!h.logging)return;var a=[].slice.call(arguments,0);if(window.console){console.log(a.join(' '))}else{if(!h.console_box)h.console_box=h.make_box({left:'50%',top:'0px',font:'normal 12px/16px verdana',color:'red',border:'1px solid gray',padding:'4px'});h.console_box.appendChild(document.createElement('div')).innerHTML=a.join(' ').replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\r\n?|\n/g,'<br />')}},color:function(a,c){if(h.coloring){a.style.backgroundColor=c;a.style.borderColor=c=='red'?'#000':''}},init:function(){h.popup=$("tuna_jmpinfo")||$('z1');h.popup.style.visibility='visible';r(h.popup,null);document.documentElement.$r('mouseover',h.mouseover)},test:function(a){return a.getAttribute('mod')&&/(\||^)jmpInfo(\||$)/.test(a.getAttribute('mod'))},mouseover:function(a){var c=a||window.event;var d=c.target||c.srcElement;if(d==h.ani_box)return;if(h.current){if(h.parent_of(h.current,d)||h.parent_of(h.popup,d)){h.clear_timer('hide');h.color(h.current,'red');return}h.set_hide();h.set}if(h.next){if(h.parent_of(h.next,d))return;h.clear_timer('show');h.color(h.next,'')}h.next=null;if(h.test(d))h.set_show(d)},make_box:function(a){var c=document.createElement('div');var d=[];a=$merge({position:'absolute',left:'-1000px',top:'-1000px'},a);for(var f in a)d.push(f+':'+a[f]);c.style.cssText=d.join(';');return document.body.appendChild(c)},set_show:function(a){h.next=a;h.set_timer('show');h.color(h.next,'pink');h.getInfo(h.next);h.fire_event('before-show',h.next)},set_hide:function(a){h.set_timer('hide');h.color(h.current,'yellow');h.fire_event('before-hide',h.current)},set_timer:function(a,c){var d=h.timers;if(!d['h_'+a]){d['h_'+a]=(!c?setTimeout:setInterval)(h['fn_'+a],d[a]);if(c)h['fn_'+a]()}},clear_timer:function(a,c){var d=h.timers;d['h_'+a]=(!c?clearTimeout:clearInterval)(d['h_'+a])&&null},change_state:function(a){if(a){if(!h.next){h.log('fn_show: J.next is null');return}h.clear_timer('show');h.current=h.next;h.next=null;h.color(h.current,'red');h.set_timer('refresh',true);h.fire_event('show',h.current);h.popup.$setIframe()}else{if(!h.current){h.log('fn_hide: J.current is null');return}h.clear_timer('hide');h.clear_timer('refresh',true);if(h.fading)h.fade(true,h.popup,true);else if(h.animating)h.animate(true,q(h.popup),true);else r(h.popup,null);h.color(h.current,'');h.fire_event('hide',h.current);h.popup.$clearIframe();h.current=null}},fn_show:function(a){h.change_state(true)},fn_hide:function(a){h.change_state(false)},fn_refresh:function(){if(!h.current){h.log('J.current lost');return}var a=h.getInfo(h.current);if(a.ready){h.set_html(h.popup,h.makeHtml(a));var c=h.set_pos(h.current,h.popup,a.position);if(h.animating)h.animate(true,c);else if(h.fading)h.fade(true,h.popup)}},parent_of:function(a,c){if(!a||!c)return false;while(c&&a!=c)c=c.parentNode;return a==c},view_port:function(){var a=$pageSize('win');a.right=a.left+a.width;a.bottom=a.top+a.height;return a},animate:function(a,c,d){if(!h.ani_box)h.ani_box=h.ani_box=h.make_box({border:'1px solid #999'});if(a===true){if(!d==h.animate__)return;h.animate__=!d;h.popup.style.visibility='hidden';var f=q(h.current);$animate(h.ani_box,{left:[f.x,c.x],top:[f.y,c.y],width:[h.current.offsetWidth,h.popup.offsetWidth],height:[h.current.offsetHeight,h.popup.offsetHeight]},{duration:240,callback:h.animate,reverse:d})}else{h.popup.style.visibility='visible';r(h.ani_box,null)}},fade:function(a,c,d){if(a===true){if(!d==h.fade__)return;h.fade__=!d;$animate(c,{opacity:[0,1]},{duration:240,callback:d?h.fade:function(){},reverse:d})}else{r(h.popup,null)}},set_html:function(a,c){if(h.current_html==c)return;a.innerHTML=h.current_html=c;var d=a.style;d.overflow='visible';d.width='';d.width=a.scrollWidth+'px';d.height='';d.height=a.scrollHeight+'px'},set_pos:function(a,c,d){if(!a||!c){return null}if(!a.offsetWidth||!a.offsetHeight){r(c,null);if(c.$clearIframe)c.$clearIframe();return null}else{var f=h.calc_pos(a,c,d);r(c,f);if(c.$setIframe)c.$setIframe();return f}},calc_pos:function(a,c,d){if(d&&d.length==4){for(var f=0,g=[];f<d.length;f++){g[f]=/[lt]/.test(d[f])?0:/[rb]/.test(d[f])?1:0.5}var i=[{x:c.offsetWidth*g[0],y:c.offsetHeight*g[1]},{x:a.offsetWidth*g[2],y:a.offsetHeight*g[3]}];var k=q(a);return{x:k.x+i[1].x-i[0].x,y:k.y+i[1].y-i[0].y}}else{var k=q(a);var j=h.view_port();var n={x:a.offsetWidth,y:a.offsetHeight};var o={x:c.offsetWidth,y:c.offsetHeight};var m=['l','t','l','b'];if(k.x+o.x>j.right&&k.x+n.x-o.x>=j.left){m[0]='r';m[2]='r'}if(k.y+n.y+o.y>j.bottom&&k.y-o.y>=j.top){m[1]='b';m[3]='t'}return arguments.callee(a,c,m)}},fire_event:function(a,c){if(h.common_callback)h.common_callback(a,c);var d=h.getInfo(c).callback;if(d)d(a,c)},loadTemplate:function(c){if(!h.css_loaded){h.css_loaded=true;$loadCss(h.css_url)}var d=$$.module.jmpInfo.template;if(d.hasOwnProperty(c))return!!d[c];d[c]=false;if(c.charAt(0)=='#'){var f=document.$g(c);if(!f){h.log('template element '+c+' not found')}else{d[c]=h.htmlOf(f[0]);return true}}else{var g=h.template_dir+c+'.js';$loadJs(g,'gbk',function(a){if(a){h.log('J.loadTemplate timeout for '+g);return true}},h.load_timeout)}return false},loadData:function(c){if(!c)return true;var d=c.name;var f=$$.module.jmpInfo.array;if(f.hasOwnProperty(d))return!!f[d];f[d]=false;var g=h.data_dir+d+'_'+$$.status.charset+'.js';$loadJs(g,null,function(a){if(a){h.log('J.loadData timeout for '+g);return true}},h.load_timeout);return false},getInfo:function(a){var c={};var d=(a.getAttribute('mod_jmpInfo_page')||'default_normal').split('?');c.page=!/^#/.test(d[0])?d[0].replace(/\.asp$/i,'').toLowerCase():d[0];c.query=h.parseQuery(d.slice(1).join(''));c.ready=h.loadTemplate(c.page)&&h.loadData(c.query);var f=a.getAttribute('mod_jmpInfo_content')||'';c.content=f.split('|');var g=a.getAttribute('mod_jmpInfo_position')||'auto';if(g in h.posMap)g=h.posMap[g];c.position=/[ltrbcm]{4}/.test(g)?g.split(''):null;var i=a.getAttribute('mod_jmpInfo_callback');if(i&&typeof(window[i])=='function')c.callback=window[i];return c},posMap:{'align-center':'ctcb','align-left':'ltlb','corner-left':'ltrb','align-right':'rtrb','corner-right':'rtlb','above-align-left':'lblt','above-align-right':'rbrt'},parseQuery:function(a){if(!a)return null;var c=a.split('=');if(c.length<2)return null;return{name:c[0],value:c.slice(1).join('')}},queryData:function(a){var c=$$.module.jmpInfo.array[a.name];var d='@'+a.value+'|';var f=c.indexOf(d)+1;if(!f){h.log('queryData failure',a.name,a.value);return[]}return c.slice(f,c.indexOf('@',f)).split('|')},makeHtml:function(a){var c=$$.module.jmpInfo.template[a.page];var d=c.match(/<body.*?>([\s\S]+)<\/body>/i);c=(d?d[1]:c).replace(/<!--[\s\S]*?-->/g,'');var f={'para':a.content};if(a.query)f['array']=h.queryData(a.query);return h.fillContent(c,f)},fillContent:function(j,n){var o=$keys(n).join('|');var m='(<(\\w+)[^>]*)\\bid="('+o+')(\\d+)"([^>]*>)[\\s\\S]*?(<\\/\\2>)';var s=new RegExp(m,'gi');return j.replace(s,function(a,c,d,f,g,i,k){return c+i+(n[f][g-1]||'')+k})},htmlOf:function(a){if(!a||a.nodeType!=1)return'';a=a.cloneNode(true);a.removeAttribute('id');a.style.cssText=a.style.cssText.replace(/\bdisplay:\s*none;?/i,'');if('outerHTML'in a){return a.outerHTML.replace(/(<[^>]+\sid=)(\w+)/g,'$1"$2"')}else{var c=[];var d=a.attributes;for(var f=0;f<d.length;f++){if(d[f].name=='id')continue;c.push(d[f].name+'="'+d[f].value+'"')}var g=c.length?' '+c.join(' '):'';var i=a.tagName.toLowerCase();return'<'+i+g+'>'+a.innerHTML+'</'+i+'>'}}};$r('domReady',h.init);return h})();$$.string.address={"zh-cn":{b:"输入中文/拼音或↑↓选择.",i:"输入",j:"或↑↓选择.",k:"中文/拼音",e:"请输入至少两个字母或一个汉字.",h:"",o:"按拼音排序",s:"对不起, 找不到: ",l:"结果共",p:"项,←→翻页",a:",共"},"zh-tw":{b:"輸入中文/拼音或↑↓選擇.",i:"輸入",j:"或↑↓選擇.",k:"中文/拼音",e:"請輸入至少兩個字母或一個漢字.",h:"",o:"按拼音排序",s:"對不起, 找不到: ",l:"結果共",p:"項,←→翻頁",a:",共"},"en":{b:"Type or scroll to select.",i:"Input ",j:" or use up or down to select.",k:"English",e:"Please Input at least two character.",h:"",o:"sort by spelling",s:"No match",l:"Results ",p:",left or right to turn page",a:",All"}}[$$.status.version];$$.module.address.sourceMap={"hotel":["/hoteladdress/HotelCityAddress{$charset}.aspx","utf-8"],"hotelAll":["/hoteladdress/HotelCityAddress{$charset}.aspx","utf-8"]};(function(){function H(a,c){var d=a.match(/^[^\|]+/),f=c.match(/^[^\|]+/);return d>f?1:(d==f?0:-1)}function K(){var a=$c("div");with(a.style){width="0px";height="0px"}a.innerHTML="<div id=\"tuna_address\" style=\"display:none;position:absolute;z-index:120;overflow:hidden;\"><div id=\"address_warp\"><div id=\"address_message\">&nbsp;<\/div><div id=\"address_list\"><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><\/div><div class=\"address_pagebreak\" id=\"address_p\"><a id=\"address_arrowl\" href=\"javascript:;\" name=\"p\">&lt;-<\/a><a id=\"address_p1\" href=\"javascript:;\" name=\"1\" class=\"address_current\">1<\/a><a id=\"address_p2\" href=\"javascript:;\" name=\"2\">2<\/a><a id=\"address_p3\" href=\"javascript:;\" name=\"3\">3<\/a><a id=\"address_p4\" href=\"javascript:;\" name=\"4\">4<\/a><a id=\"address_p5\" href=\"javascript:;\" name=\"5\">5<\/a><a id=\"address_arrowr\" href=\"javascript:;\" name=\"n\">-&gt;<\/a><\/div><\/div><\/div>";$("jsContainer").appendChild(a);A=$("tuna_address");$$.module.address.source["default"]="@@";M=$("address_warp");J=$('address_message');L=$('address_list');I=[$('address_p'),$('address_p1'),$('address_p2'),$('address_p3'),$('address_p4'),$('address_p5')];O=$('address_arrowl');P=$('address_arrowr');x=L.getElementsByTagName("a");T=[];for(var c=0;c<x.length;c++)T[c]=x[c].cloneNode(true)}var A,M,J,L,I,O,P,x,T;Ctrip.module.address=function(m){if(!A)K();var s=0,q,r=m.$getWin();var h=m.module.address={};var G,y,t=null,C,z=[];m.setAttribute("autoComplete","off");$r("beforeunload",function(){m.setAttribute("autoComplete","on")});h.focusNext=m.getAttribute("mod_address_focusNext");h.focusNext=/^(1|true)$/i.test(h.focusNext||"");h.reference=m.getAttribute("mod_address_reference");var u=m.getAttribute("mod_address_cookie");if(u){u=r.$(u);if(!u){var p=r.$c("input");with(p){type="hidden";id=name=u}u=p;m.parentNode.insertBefore(u,m)}}if(h.reference)h.reference=r.$(h.reference)||r.$(h.reference,true);var w=m.getAttribute("mod_address_suggest");var v=m.getAttribute("mod_address_cookieSuggest");h.suggest=[];if(v){h.suggest=v.match(/[^@]+@/gi);if(w)h.suggest._5(w.match(/[^@]+@/gi))}else if(w)h.suggest=w.match(/[^@]+@/gi);if(h.suggest.length>12)h.suggest=h.suggest.slice(0,12);h.source=m.getAttribute("mod_address_source")||"default";if(!$$.module.address.source[h.source]){$$.module.address.source[h.source]="@@";if($$.module.address.sourceMap[h.source])$loadJs($$.module.address.sourceMap[h.source][0].replace(/\{\$charset\}/gi,$$.status.charset),($$.module.address.sourceMap[h.source][1]||"").replace(/\{\$charset\}/gi,$$.status.charset)||$$.status.charset);else $loadJs("code/js/resource/address_tuna/"+h.source+"_"+$$.status.charset+".js",$$.status.charset)}h.auto=m.getAttribute("mod_address_auto");h.auto=h.auto&&h.auto.match(/^(false|0)$/i)?false:true;h.redraw=function(){if(y)Q()};h.hook={};(m.getAttribute("mod_address_hook")||"").replace(/(on)?([^;:]+):([^;]+)/gi,function(a,c,d,f){h.hook[d.toLowerCase()]=r[f]});function l(){if(s){s=0;return}q=false;L.style.display=J.style.display=I[0].style.display="none";function d(c){x[c].onmousedown=function(a){B(c);$stopEvent(a);if(x[c].outerHTML)x[c].outerHTML=x[c].outerHTML+' ';m.blur()}}A.onmousedown=function(){s=1};for(var f=0;f<x.length;f++)new d(f);O.onmousedown=P.onmousedown=E;for(var f=1;f<I.length;f++)I[f].onmousedown=E;C=null;if(t!==null)x[t].className="address_selected";if(h.hook["focus"])h.hook["focus"](m);setTimeout(Q,0);y=setInterval(Q,150)}function E(a){s=1;if(a)$stopEvent(a);switch(this){case O:D.m_get(D.page-1);break;case P:D.m_get(D.page+1);break;default:D.m_get(parseInt(this.firstChild.nodeValue))}}var D=new function(){var g;this.page=1;this.pagelist;this.maxpage=1;this.m_get=function(a){if(!g||!a||a<1||a>this.maxpage)return null;this.page=a;this.pagelist=g.slice((a-1)*12,Math.min(a*12,g.length));for(var c=0;c<x.length;c++){if(c<this.pagelist.length){x[c].style.display="block";var d=this.pagelist[c].replace(/@/g,"").split("|");x[c].lastChild.nodeValue=d[1];x[c].firstChild.firstChild.nodeValue=d[0];z[c]=d}else{x[c].style.display="none";z[c]=null}}if(t!==null){if(t>=this.pagelist.length){x[t].className="";t=this.pagelist.length-1;x[t].className="address_selected"}}else{t=0;x[0].className="address_selected"}i.call(this);L.style.display=J.style.display="";if(!q){A.style.display="";var f=m.$getPos();if(A.offsetWidth+f[0]>___.offsetWidth)A.$setPos(m,"tr","br");else A.$setPos(m);A.$setIframe();q=true}N.call(this)};this.m_set=function(a){g=a;this.maxpage=Math.ceil(a.length/12);this.page=1;this.m_get(1)};function i(){var a=this.maxpage<6||this.page<3?1:this.page>this.maxpage-2?this.maxpage-4:this.page-2;var c=Math.min(a+4,this.maxpage);var d;O.style.display=this.page==1?"none":"";P.style.display=this.page==this.maxpage?"none":"";for(var f=a;f<a+5;f++){d=I[f-a+1];if(f<=c){d.firstChild.nodeValue=f;d.className=f==this.page?"address_current":"";d.style.display=""}else d.style.display="none"}I[0].style.display=this.maxpage>1?"block":"none"}};function N(){with(A.style){width=M.offsetWidth+"px";height=M.offsetHeight+"px"}A.$setIframe()}function R(){if(h.suggest.length==0){A.style.display="none";if(t!==null){x[t].className="";t=null}return}D.m_set(h.suggest);J.lastChild.nodeValue=$$.status.version.match(/^zh-/)?$$.string.address.i+(m.module.notice?m.module.notice.tip:$$.string.address.k)+$$.string.address.j:$$.string.address.b}function Q(){var c=m.value.trim();if(c===C)return;C=c;c=c.replace(/([\(\)\\\[\]\.\+\?\*\|\^\$])/gi,"\\$1").replace(/@|\|/gi,"");if(!c){R();N();return}A.style.display="";var d=$$.module.address.source[h.source];var f=new RegExp("@([^\\|@]*\\|)?"+c+"[^@]*","gi");var g=new RegExp("@([^@]*\\|)?"+c+"[^@]*","gi");var i=new RegExp("@[^@]*"+c+"[^@]*","gi");var k=[],j=[],n=[];d=d.replace(f,function(a){k.push(a);return""});if(k)k.sort(H);d=d.replace(g,function(a){j.push(a);return""});if(j)j.sort(H);d=d.replace(i,function(a){n.push(a);return""});if(n)n.sort(H);arr=k.concat(j).concat(n);if(!arr||!arr.length){J.lastChild.nodeValue=h.auto?($$.string.address.s+($$.status.version=="en"?"":m.value)):($$.string.address.h+m.value+", "+$$.string.address.o);if(!h.auto){A.style.display="none";if(t!==null){x[t].className="";t=null}}if(L.style.display=="none")R();N()}else{J.lastChild.nodeValue=$$.string.address.h+m.value+", "+$$.string.address.o;D.m_set(arr)}}function S(a){var c=a?a.keyCode:event.charCode;var d="|"+c+"|";if(t==null){if("|13|".indexOf(d)!=-1){$stopEvent(a,1);if(h.focusNext)setTimeout(function(){m.$focusNext()},1)}return true}if("|13|".indexOf(d)!=-1){$stopEvent(a,1);B(t);m.blur()}if("|33|37|109|188|219|".indexOf(d)!=-1){E.call(O);$stopEvent(a,1)}if("|34|39|61|190|221|".indexOf(d)!=-1){E.call(P);$stopEvent(a,1)}if("|38|40|".indexOf(d)!=-1){x[t].className="";t+=D.pagelist.length-39+c;t%=D.pagelist.length;x[t].className="address_selected";$stopEvent(a,1)}}function B(a,c){s=2;m.value=z[a][1]||z[a][0];if(h.reference)h.reference.value=z[a][2];if(u)u.value=z.join("|");if(h.hook["change"])h.hook["change"](m);if(c!==false&&h.focusNext)setTimeout(function(){m.$focusNext()},1)}function F(){if(s==1){setTimeout(function(){m.focus()},1);return}clearInterval(y);y=null;A.$clearIframe();A.style.display="none";if(t!==null){if(m.value&&s!=2){if(h.auto)B(t,false);else h.check()}x[t].className="";t=null}s=0;A.onmousedown=null}h.check=function(){var c=m.value.trim();if(m.isNull&&m.isNull())c="";var d;C=c;c=c.replace(/([\(\)\\\[\]\.\+\?\*\|\^\$])/gi,"\\$1").replace(/@|\|/gi,"");if(c){var f=$$.module.address.source[h.source];var g=h.auto?new RegExp("@([^\\|@]*\\|)?"+c+"[^@]*","gi"):new RegExp("@([^\\|@]*\\|)?"+c+"(\\|[^@]*)?(?=@)","gi");var i=h.auto?new RegExp("@([^@]*\\|)?"+c+"[^@]*","gi"):new RegExp("@([^@]*\\|)?"+c+"(\\|[^@]*)?(?=@)","gi");var k=new RegExp("@[^@]*"+c+"[^@]*","gi");var j=[],n=[],o=[];f=f.replace(g,function(a){j.push(a);return""});if(j)j.sort(H);f=f.replace(i,function(a){n.push(a);return""});if(n)n.sort(H);if(h.auto){f=f.replace(k,function(a){o.push(a);return""});if(o)o.sort(H)}d=j.concat(n).concat(o);if(d&&d.length){q=true;D.m_set(d);q=false;B(0,false);s=0}}if(m.module.notice)m.module.notice.check();return!!d};m.$r("onfocus",l);m.blur();m.$r("onblur",F);m.$r("onkeydown",S);if(h.hook["load"])h.hook["load"](m)}})();$$.string.calendar={"zh-cn":{a:"年",b:"月"},"zh-tw":{a:"年",b:"月"},"en":{a:"",b:"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"}}[$$.status.version];(function(){function S(){var a=$c("div");with(a.style){width="0px";height="0px"}a.innerHTML="<div id=\"tuna_calendar\" style=\"display:none;position:absolute;z-index:120;overflow:hidden;\"><table id=\"calendar_month1\" cellpadding=\"0\" cellspacing=\"0\"><thead><tr><th colspan=\"7\" class=\"calendar_title01\"><span id=\"calendar_lastmonth\">&lt;--<\/span><div id=\"calendar_title1\">2007年8月<\/div><\/th><\/tr><\/thead><tr><th class=\"day0\">日<\/th><th>一<\/th><th>二<\/th><th>三<\/th><th>四<\/th><th>五<\/th><th class=\"day6\">六<\/th><\/tr><tr><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"over_day\">1<\/a><\/td><td><a href=\"###\" class=\"over_day\">2<\/a><\/td><td><a href=\"###\" class=\"over_day\">3<\/a><\/td><td><a href=\"###\" class=\"over_day\">4<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"over_day\">5<\/a><\/td><td><a href=\"###\" class=\"over_day\">6<\/a><\/td><td><a href=\"###\" class=\"over_day\">7<\/a><\/td><td><a href=\"###\" class=\"over_day\">8<\/a><\/td><td><a href=\"###\" class=\"over_day\">9<\/a><\/td><td><a href=\"###\" class=\"over_day\">10<\/a><\/td><td><a href=\"###\" class=\"over_day\">11<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"over_day\">12<\/a><\/td><td><a href=\"###\" class=\"over_day\">13<\/a><\/td><td><a href=\"###\" class=\"over_day\">14<\/a><\/td><td><a href=\"###\" class=\"over_day\">15<\/a><\/td><td><a href=\"###\" class=\"over_day\">16<\/a><\/td><td><a href=\"###\" class=\"over_day\">17<\/a><\/td><td><a href=\"###\" class=\"selected_day\">18<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"cue_day\">19<\/a><\/td><td><a href=\"###\" class=\"cue_day\">20<\/a><\/td><td><a href=\"###\" class=\"current_day\">21<\/a><\/td><td><a href=\"###\" class=\"enable_day\">22<\/a><\/td><td><a href=\"###\" class=\"enable_day\">23<\/a><\/td><td><a href=\"###\" class=\"enable_day\">24<\/a><\/td><td><a href=\"###\" class=\"enable_day\">25<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">26<\/a><\/td><td><a href=\"###\" class=\"limit_day\">27<\/a><\/td><td><a href=\"###\" class=\"enable_day\">28<\/a><\/td><td><a href=\"###\" class=\"enable_day\">29<\/a><\/td><td><a href=\"###\" class=\"enable_day\">30<\/a><\/td><td><a href=\"###\" class=\"enable_day\">31<\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><\/tr><\/table><table id=\"calendar_month2\" cellpadding=\"0\" cellspacing=\"0\"><thead><tr><th colspan=\"7\" class=\"calendar_title02\"><span id=\"calendar_nextmonth\">--&gt;<\/span><div id=\"calendar_title2\">2007年9月<\/div><\/th><\/tr><\/thead><tr><th class=\"day0\">日<\/th><th>一<\/th><th>二<\/th><th>三<\/th><th>四<\/th><th>五<\/th><th class=\"day6\">六<\/th><\/tr><tr><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"enable_day\">1<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">2<\/a><\/td><td><a href=\"###\" class=\"enable_day\">3<\/a><\/td><td><a href=\"###\" class=\"enable_day\">4<\/a><\/td><td><a href=\"###\" class=\"enable_day\">5<\/a><\/td><td><a href=\"###\" class=\"enable_day\">6<\/a><\/td><td><a href=\"###\" class=\"enable_day\">7<\/a><\/td><td><a href=\"###\" class=\"enable_day\">8<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">9<\/a><\/td><td><a href=\"###\" class=\"enable_day\">10<\/a><\/td><td><a href=\"###\" class=\"enable_day\">11<\/a><\/td><td><a href=\"###\" class=\"enable_day\">12<\/a><\/td><td><a href=\"###\" class=\"enable_day\">13<\/a><\/td><td><a href=\"###\" class=\"enable_day\">14<\/a><\/td><td><a href=\"###\" class=\"enable_day\">15<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">16<\/a><\/td><td><a href=\"###\" class=\"enable_day\">17<\/a><\/td><td><a href=\"###\" class=\"enable_day\">18<\/a><\/td><td><a href=\"###\" class=\"enable_day\">19<\/a><\/td><td><a href=\"###\" class=\"enable_day\">20<\/a><\/td><td><a href=\"###\" class=\"enable_day\">21<\/a><\/td><td><a href=\"###\" class=\"enable_day\">22<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">23<\/a><\/td><td><a href=\"###\" class=\"enable_day\">24<\/a><\/td><td><a href=\"###\" class=\"enable_day\">25<\/a><\/td><td><a href=\"###\" class=\"enable_day\">26<\/a><\/td><td><a href=\"###\" class=\"enable_day\">27<\/a><\/td><td><a href=\"###\" class=\"enable_day\">28<\/a><\/td><td><a href=\"###\" class=\"enable_day\">29<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">30<\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><\/tr><\/table><\/div>";$("jsContainer").appendChild(a);B=$("tuna_calendar");F,H;K=$$.status.today.isDateTime()||new Date();A=$("calendar_title1"),M=$("calendar_title2");J=$("calendar_month1"),L=$("calendar_month2");I=B.getElementsByTagName("th");for(var c=0;c<I.length;c++)if(c%8>0)I[c].firstChild.nodeValue=$$.string.weekday.charAt(c%8-1)}var B,F,H,K,A,M,J,L,I;Ctrip.module.calendar=function(p){if(!B)S();var w=0,v=1;var l=p.module.calendar={};p.setAttribute("autoComplete","off");$r("beforeunload",function(){p.setAttribute("autoComplete","on")});p.value=p.value||p.getAttribute("value")||"";l.focusNext=p.getAttribute("mod_calendar_focusNext");l.focusNext=l.focusNext&&l.focusNext.match(/^(1|true)$/i);l.rangeStart=p.getAttribute("mod_calendar_rangeStart");if(l.rangeStart=="#")l.rangeStart=$$.status.today;l.rangeStart=l.rangeStart?l.rangeStart.isDateTime():null;l.rangeEnd=p.getAttribute("mod_calendar_rangeEnd");if(l.rangeEnd=="#")l.rangeEnd=$$.status.today;l.rangeEnd=l.rangeEnd?l.rangeEnd.isDateTime():null;l.rangeException=p.getAttribute("mod_calendar_rangeException");l.rangeException=l.rangeException?l.rangeException.replace(/-0?/gi,"-").split("|"):null;l.permit=p.getAttribute("mod_calendar_permit");l.permit=l.permit?l.permit.replace(/-0?/gi,"-").split("|"):null;l.weekday=p.getAttribute("mod_calendar_weekday")||"1234567";l.prohibit=p.getAttribute("mod_calendar_prohibit");l.prohibit=l.prohibit?l.prohibit.replace(/-0?/gi,"-").split("|"):null;l.reference=p.getAttribute("mod_calendar_reference");l.reference=l.reference?p.$getWin().$(l.reference):null;l.redraw=function(){v=1};l.check=function(a){var c=(p.isNull&&p.isNull()?"":p.value).trim();if(!c)return arguments.length?a:false;var d=(c.parseStdDate()||"").isDateTime();if(!d)return false;var f=d.toStdString();if(l.rangeStart&&d<l.rangeStart||l.rangeEnd&&d>l.rangeEnd)return false;return("|"+(l.rangeException||[]).join("|")+"|").indexOf("|"+f+"|")==-1&&("|"+(l.prohibit||[]).join("|")+"|").indexOf("|"+f+"|")==-1&&l.weekday.indexOf(d.getDay()||"7")!=-1||("|"+(l.permit||[]).join("|")+"|").indexOf("|"+f+"|")!=-1};l.hook={};(p.getAttribute("mod_calendar_hook")||"").replace(/(on)?([^;:]+):([^;]+)/gi,function(a,c,d,f){l.hook[d.toLowerCase()]=_[f]});function E(){if(p==H&&!v){B.style.display="";B.$setIframe();if(F)F.className=F.className.replace(/selected_day/gi,"");var a=p.value.isDateTime();F=null;if(a)F=$("d_"+a.toStdString());if(F)F.className+=" selected_day";return}if(p.module.notice){p.module.notice.enabled=false;p.style.color="";if(p.value==p.module.notice.tip)p.value=""}v=0;H=p;B.style.display="";$("calendar_lastmonth").onmousedown=$("calendar_nextmonth").onmousedown=function(){v=0;l.currentDate=new Date(l.currentDate.getFullYear(),l.currentDate.getMonth()+(/last/.test(this.id)?-2:2),1);N()};var c=p.$getPos();if(B.offsetWidth+c[0]>___.offsetWidth)B.$setPos(p,"tr","br");else B.$setPos(p);B.$setIframe();l.currentDate=((p.isNull&&p.isNull()?"":p.value).trim().parseStdDate()||"").isDateTime();if(!l.currentDate){l.currentDate=l.rangeStart||new Date();if(l.reference){var d=(l.reference.isNull()?"":l.reference.value).isDateTime();if(d>l.currentDate)l.currentDate=d}while(true){var f=l.currentDate.toStdString();if(("|"+(l.rangeException||[]).join("|")+"|").indexOf("|"+f+"|")==-1&&("|"+(l.prohibit||[]).join("|")+"|").indexOf("|"+f+"|")==-1&&l.weekday.indexOf(l.currentDate.getDay()||"7")!=-1||("|"+(l.permit||[]).join("|")+"|").indexOf("|"+f+"|")!=-1){break}if(!l.rangeEnd||l.rangeEnd&&l.currentDate<l.rangeEnd)l.currentDate=l.currentDate.addDate(1);else{l.currentDate=new Date();break}}}l.currentDate=new Date(l.currentDate.getFullYear(),l.currentDate.getMonth(),1);N();B.onmousedown=function(){w=1}}function D(j,n,o){function m(a,c,d,f){var g=c?c.getDate():"",i=g?"d_"+j+"-"+(n+1)+"-"+g:"",k=f&&c?(l.weekday.indexOf(c.getDay()||7)!=-1):1;a=a.firstChild;if(a.lastChild)a.lastChild.nodeValue=g;else a.appendChild(__.createTextNode(g));a.date=c;a.id=i;a.className=k?d:"limit_day";a.onmousedown=f&&k?R:null;if(a.replaceNode){a.bak=null;a.bak=a.cloneNode(true)}}var s=o.getElementsByTagName("td");o.rows[1].className=j==K.getFullYear()&&n==K.getMonth()?"currentmonth01":"";var q=new Date(j,n,1),r=new Date(j,n+1,0),h=r.getDate(),G=q.getDay(),y,t,C,z;for(var u=0;u<G;u++)m(s[u],null,"blank_day",0);C=l.reference&&l.reference.value.isDateTime();for(var u=0;u<h;u++){y=new Date(j,n,u+1);z=(!l.rangeStart||y>=l.rangeStart)&&(!l.rangeEnd||y<=l.rangeEnd);m(s[u+G],y,z?(C&&y<=C?"cue_day":"enable_day"):"over_day",z)}for(var u=h+G;u<42;u++)m(s[u],null,"blank_day",0)}function N(){var a=new Date(l.currentDate.getFullYear(),l.currentDate.getMonth()+1,1),c;var d=l.currentDate.getFullYear(),f=l.currentDate.getMonth();var g=a.getFullYear(),i=a.getMonth();A.innerHTML=$$.status.version.match(/^zh-/)?(d+$$.string.calendar.a+(f+1)+$$.string.calendar.b):($$.string.calendar.b.split("|")[f]+" "+d);M.innerHTML=$$.status.version.match(/^zh-/)?(g+$$.string.calendar.a+(i+1)+$$.string.calendar.b):($$.string.calendar.b.split("|")[i]+" "+g);D(d,f,J);D(g,i,L);if(l.rangeException)for(var k=0;k<l.rangeException.length;k++)if(c=$("d_"+l.rangeException[k])){c.className="over_day";c.onmousedown=null}if(l.permit)for(var k=0;k<l.permit.length;k++)if(c=$("d_"+l.permit[k])){c.className="enable_day";c.onmousedown=R}if(l.prohibit)for(var k=0;k<l.prohibit.length;k++)if(c=$("d_"+l.prohibit[k])){c.className="limit_day";c.onmousedown=null}if(c=$("d_"+K.getFullYear()+"-"+(K.getMonth()+1)+"-"+K.getDate()))c.className+=" current_day";if(F)F.className=F.className.replace(/selected_day/gi,"");if(c=$("d_"+p.value.parseStdDate())){c.className+=" selected_day";F=c}B.$setIframe()}function R(a){p.value=$$.status.version.match(/^zh-/)?(this.date.getFullYear()+"-"+(this.date.getMonth()+1)+"-"+this.date.getDate()):($$.string.calendar.b.split("|")[this.date.getMonth()]+"-"+this.date.getDate()+"-"+this.date.getFullYear());v=1;if(this.outerHTML)this.outerHTML=this.outerHTML+' ';if(l.hook["change"])l.hook["change"](p);p.blur();$stopEvent(a);if(l.focusNext)setTimeout(function(){p.$focusNext()},10)}function Q(){if(w==1){w=0;setTimeout(function(){p.focus()},0);return true}B.style.display="none";B.$clearIframe();if(p.module.notice)p.module.notice.enabled=true}p.$r("focus",E);p.$r("blur",Q)}})();(function(){var f=__.domain.match(/ctrip(travel)?\.com$/);if(f){_.__uidc_init=new Date*1;__.write("<script src=\"\/in.asp\"><\/script>")}if(_.$$.status.charset=='big5')__.write("<script src=\"\/code\/js\/public\/public_s2t.js\" charset=\"utf-8\"><\/script>");else _.$s2t=function(a){return a};if($$.browser.IE6)try{__.execCommand("BackgroundImageCache",false,true)}catch(e){};$$.status.debug=/\$debug\$/i.test($topWin.name)||/^(true|1)$/.test($getQuery("debug"));$$.status.debugEvent=/\$debugEvent\$/i.test($topWin.name)||/^(true|1)$/.test($getQuery("debugEvent"));$$.status.alertDiv.innerHTML=$$.status.version.match(/^zh-/)?"<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"base_popwindow01\"><tr><td class=\"base_poptl\"><\/td><td class=\"base_poptc\"><div><\/div><\/td><td class=\"base_poptr\"><\/td><\/tr><tr><td class=\"base_popml\"><\/td><td id=\"alertInfo\" class=\"base_popmc\">内容<\/td><td class=\"base_popmr\"><\/td><\/tr><tr><td class=\"base_popbl\"><\/td><td class=\"base_popbc\"><div><\/div><\/td><td class=\"base_popbr\"><\/td><\/tr><\/table>":"<table id=\"alertTable\" style=\"font-family:Arial;margin:0;\" cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"margin:0;padding:0px 2px 2px 0px;background:#E7E7E7;\"><div id=\"alertInfo\" style=\"margin:0px;padding:10px;font-size:12px;text-align:left;background:#FFFFE8;border:1px solid #FFDF47;color:#000;white-space:nowrap;\">内容<\/div><\/td><\/tr><\/table>";function g(c){function d(){if($$.status.domReady)return;var a;$$.status.domReady=true;if("domready"in _.module.event){while(a=_.module.event["domready"].shift())if(a.enabled)try{a.func(c)}catch(c){$t("domReady函数错误:"+a.func.toString().slice(0,100)+"...","red",a.func);$trackEvent('tuna-error','evtDomReady.execEvent',$error(c),$tunaVersion())}}}if($$.browser.Safari||$$.browser.Opera)setTimeout(d,1);else d()}if($$.browser.Moz)__.addEventListener("DOMContentLoaded",g,false);else if($$.browser.IE){try{if(!_.frameElement)(function(){try{___.doScroll("left")}catch(e){setTimeout(arguments.callee,50);return}g()})()}catch(e){}}else if($$.browser.Safari){var i=setInterval(function(){if(__.readyState=="loaded"||__.readyState=="complete"){clearInterval(i);g()}},10)}function loadPageValue(){var a=$$.status.saveStatus.value;if(a)$$.status.back=true;$$.status.pageValue=$fromJson(a||"{}");if(!("data"in $$.status.pageValue))$$.status.pageValue.data={};if(!$$.browser.Opera)$r("beforeunload",[$saveHistory,$savePageValue],90)}function loadHistory(){($$.status.pageValue["historyInfo"]||"").split("|").each(function(a){var c=unescape(a).split("|");if(c.length==5){for(var d=0;d<c.length;d++)c[d]=unescape(c[d]);$$.history.info[c[0]]=c.slice(1);$t("[history]恢复历史:"+c[1]+"/"+c[2],"green",c.slice(2).join("\r"))}});$$.history.count=parseInt($$.status.pageValue["historyCount"]||0,10)||0}$r("domReady",function(){$(__.body);loadPageValue();loadHistory();var a=$$.status.pageValue["lastHistory"];if(a)if($$.browser.IE||$$.browser.Opera){$r("load",function(){setTimeout(function(){$$.history.init()},1)})}else $$.history.init()},10);$r("domready",[$parserRe,$fixElement,function(){try{__.body.focus()}catch(e){}}]);$r("load",[g,function(){$$.status.load=true}])})();var maskShow=(function(){var i=null;var k=null;var j=false;var n={onresize:null,onscroll:null};return function(a,c){if(!i)s();j=!!c;if(!a){y(k,false);y(i,false);o(true);k=null;if(!j)for(var d in n){window[d]=n[d];n[d]=null}}else{if(k)y(k,false);k=a;q(k);r();i.style.zIndex=maskShow.zIndexBack||15;k.style.zIndex=maskShow.zIndexFore||20;y(k,true);y(i,true);o(false,a);if(!j)for(var d in n){n[d]=window[d];window[d]=r}}};function o(a,c){if(!('ActiveXObject'in window))return;var d=document.getElementsByTagName('select');var f=a?'visible':'hidden';for(var g=0;g<d.length;g++){if((a||!m(d[g],c))&&d[g].currentStyle.visibility!=f)d[g].style.visibility=f}}function m(a,c){while(a&&a!=c)a=a.parentNode;return a==c}function s(){i=document.createElement('div');i.style.cssText='background-color:{$c};border:none;position:absolute;visibility:hidden;opacity:{$a};filter:alpha(opacity={$A});z-index:{$z}'.replaceWith({c:maskShow.bgColor||'#fff',a:maskShow.bgAlpha||'0.7',A:maskShow.bgAlpha?parseInt(maskShow.bgAlpha*100):'70'});document.body.appendChild(i);maskShow.mask=i}function q(a){var c=a.style;c.position='absolute';c.left='-10000px';c.top='-10000px';c.visibility='hidden';c.display='block';c.zIndex=10}function r(){if(!k)return;var a=$pageSize('doc');G(i,a);var c=h(a,k.offsetWidth,k.offsetHeight);if(c.left<a.scrollLeft)c.left=a.scrollLeft;if(c.top<a.scrollTop)c.top=a.scrollTop;G(k,c)}function h(a,c,d){return{left:((a.winWidth-c)>>1)+a.scrollLeft+(maskShow.adjustX||0),top:((a.winHeight-d)>>1)+a.scrollTop+(maskShow.adjustY||0)}}function G(a,c){var d=a.style;d.left=(c.left||0)+'px';d.top=(c.top||0)+'px';if('width'in c)d.width=c.width+'px';if('height'in c)d.height=c.height+'px'}function y(a,c){a.style.visibility=c?'visible':'hidden';if(!c){a.style.left=-a.offsetWidth-100+'px';a.style.top=-a.offsetHeight-100+'px'}}})();$$.module.adpic={source:{}};Ctrip.module.adpic=function(g){var i=$(g.getAttribute("mod_adpic_link")||"");var k=$(g.getAttribute("mod_adpic_container")||"")||g;var j=$(g.getAttribute("mod_adpic_button")||"");if(i){var n=g.getAttribute("mod_adpic_source")||"";var o=$$.module.adpic.source[n];if(!o||!o.length)return}var m=parseInt(g.getAttribute("mod_adpic_interval")||"")||5000;var s=$$.browser.IE?25:5;var q=[];if(i){i.style.display="none";for(var r=0;r<o.length;r++){var h=i.cloneNode(true);h.style.backgroundImage="url(\'"+o[r].src+"\')";h.href=o[r].href||"javascript:void(0);";h.style.cursor=/^(|###|javascript:;?|javascript:void\(0\);?)$/i.test(o[r].href)?"default":"pointer";h.title=o[r].title;i.parentNode.insertBefore(h,i);q.push(h)}}else{var G=k.$("a");for(var r=0;r<G.length;r++){G[r].style.display="none";q.push(G[r])}i=$c("a");i.style.display="none";k.appendChild(i)}if(!q.length)return;function y(a){return function(){l(a)}}if(j){j.innerHTML="";var t=[];for(var r=0;r<q.length;r++){var C=$c("li");if(!r)C.className="pic_current";C.innerHTML=r+1;t.push(C);j.appendChild(C);C.$r("click",y(r))}}var z,u=false,p=0,w=0,v=null;if($$.browser.IE){g.style.position="relative";g.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=1)"}q[p].style.display="";function l(a){if(a!==null){if(a==w)return;else v=a}clearTimeout(z);if(u)return;u=true;p=w;w=(w+1)%q.length;if(v!==null)w=v;v=null;i.parentNode.insertBefore(q[p],i);q[p].style.position="relative";q[w].style.position="absolute";q[w].style.display="";t[p].className="";t[w].className="pic_current";function c(){q[p].style.display="none";q[p].style.filter="";u=false;z=setTimeout(function(){l(null)},v===null?m:200)}if($$.browser.IE){g.filters[0].apply();q[p].style.display="none";g.filters[0].play();c()}else{var d=100;var f=setInterval(function(){d=Math.max(d-s,0);q[p].style.opacity=d/100;q[p].style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+d+")";if(!d){clearInterval(f);q[p].style.opacity=100;c()}},20)}}z=setTimeout(function(){l(null)},m)};

var _ = window;
var __ = _.document;
var ___ = __.documentElement;
var Ctrip = {
    module: {}
};
var $$ = {};
with(navigator) {
    with(userAgent) {
        $$.browser = {
            IE: !!match(/MSIE/),
            IE6: !!appVersion.match(/MSIE 6\.0/i),
            Moz: match(/Mozilla/i) && !match(/compatible|WebKit/i),
            Opera: !!match(/Opera/i),
            Safari: !!match(/Mac|Safari/i)
        }
    }
}
var $topWin = window; (function() {
    try {
        while (true) {
            var a = $topWin.parent;
            if (a && a != $topWin && a.$Ctrip) $topWin = a;
            else return
        }
    } catch(e) {
        $trackEvent('tuna-error', 'topWin', $error(e), $tunaVersion())
    }
})();
window.onerror = function(a, c, d) {
    $trackEvent('normal-error', 'normal', $error(a, c, d), $tunaVersion());
    return false
};
function $extend(a) {
    for (var c = 1; c < arguments.length; c++) {
        var d = arguments[c];
        for (var f in d) if (d.hasOwnProperty(f)) a[f] = d[f]
    }
    return a
}
$extend(Array.prototype, new
function() {
    this.each = function(a) {
        for (var c = 0; c < this.length; c++) if ((a ? a(this[c], c) : this[c]()) === false) return false;
        return true
    };
    if ($$.browser.IE) this.map = function(func) {
        var d = [];
        for (var f = 0; f < this.length; f++) d.push(func(this[f]));
        return d
    }
});
$extend(Number.prototype, new
function() {
    this.parseCur = function(a) {
        var c = this.toFixed(a || 2),
        d = /(\d)(\d{3}[,\.])/;
        while (d.test(c)) c = c.replace(d, "$1,$2");
        c = c.replace(/^(-?)\./, "$10.");
        return a === 0 ? c.replace(/\..*$/, "") : c
    }
});
$extend(String.prototype, new
function() {
    this.replaceWith = function(d) {
        return this.replace(/\{\$(\w+)\}/g,
        function(a, c) {
            if (c in d) return d[c];
            else return a
        })
    };
    this.trim = function() {
        return this.replace(/^\s+|\s+$/g, '')
    };
    this.isEmail = function() {
        var a = /^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/;
        return a.test(this)
    };
    this.isDateTime = function(a) {
        var c = a === false ? this: this.parseStdDate(false);
        if (!c) return false;
        var d = c.match(/^((19|20)\d{2})-(\d{1,2})-(\d{1,2})$/);
        if (!d) return false;
        for (var f = 1; f < 5; f++) d[f] = parseInt(d[f], 10);
        if (d[3] < 1 || d[3] > 12 || d[4] < 1 || d[4] > 31) return false;
        var g = new Date(d[1], d[3] - 1, d[4]);
        return g.getDate() == d[4] ? g: null
    };
    this.toReString = function() {
        return this.replace(/([\.\\\/\+\*\?\[\]\{\}\(\)\^\$\|])/g, "\\$1")
    };
    this.isChinaIDCard = function() {
        var a = this.toLowerCase().match(/./g);
        if (this.match(/^\d{17}[\dx]$/i)) {
            var c = 0,
            d = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
            for (var f = 0; f < 17; f++) c += parseInt(a[f], 10) * d[f];
            if ("10x98765432".charAt(c % 11) != a[17]) return false;
            return !! this.replace(/^\d{6}(\d{4})(\d{2})(\d{2}).+$/, "$1-$2-$3").isDateTime()
        }
        if (this.match(/^\d{15}$/)) return !! this.replace(/^\d{6}(\d{2})(\d{2})(\d{2}).+$/, "19$1-$2-$3").isDateTime();
        return false
    };
    this.parseStdDate = function(a) {
        var c = "January|1@February|2@March|3@April|4@May|5@June|6@July|7@August|8@September|9@October|10@November|11@December|12";
        var d = this.replace(/[ \-,\.\/]+/g, "-").replace(/(^|-)0+(?=\d+)/g, "$1");
        if ($$.status.version == "en") d = d.replace(/[a-z]{3,}/i,
        function(d) {
            return (_2 = c.match(new RegExp("(^|@)" + d + "[^\\|]*\\|(\\d+)", "i"))) ? _2[2] : d
        });
        d = d.replace(/^([^-]{1,2}-[^-]{1,2})-([^-]{4})$/, "$2-$1");
        return a === false || d.isDateTime(false) ? d: null
    };
    this.parseEngDate = function() {
        var a = this.parseStdDate();
        if (!a) return null;
        var c = a.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/);
        return "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec".split("|")[parseInt(c[2]) - 1] + "-" + c[3] + "-" + c[1]
    }
});
$extend(Date.prototype, new
function() {
    this.dateValue = function() {
        return new Date(this.getFullYear(), this.getMonth(), this.getDate())
    };
    this.addDate = function(a) {
        return new Date(this.getFullYear(), this.getMonth(), this.getDate() + a)
    };
    this.toStdString = function() {
        return this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + this.getDate()
    };
    this.toEngString = function() {
        return "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec".split("|")[this.getMonth()] + "-" + this.getDate() + "-" + this.getFullYear()
    }
});
$extend(Function.prototype, new
function() {
    this.bind = function(a) {
        var c = this;
        var d = [].slice.call(arguments, 1);
        return function() {
            return c.apply(a, d.concat([].slice.call(arguments, 0)))
        }
    };
    this.pass = function() {
        var a = [].slice.call(arguments, 0);
        a.unshift(null);
        return this.bind.apply(this, a)
    };
    this.delay = function(a) {
        return setTimeout(this, a)
    }
});
$$.cookie = {
    domain: null,
    path: null,
    expires: null
};
$$.history = {
    load: function() {
        setTimeout($$.history.load, 200)
    }
};
_.__.write("<div id=\"jsContainer\"><div id=\"jsHistoryDiv\" style=\"display:none;\">" + ($$.browser.IE ? "": "<iframe id=\"jsHistoryFrame\" name=\"jsHistoryFrame\" onload=\"$$.history.load();\" src=\"about:blank\"><\/iframe>") + "<\/div><textarea id=\"jsSaveStatus\" style=\"display:none;\"><\/textarea><div id=\"tuna_jmpinfo\" style=\"visibility:hidden;position:absolute;z-index:120;overflow:hidden;\"><\/div><div id=\"tuna_alert\" style=\"display:none;position:absolute;z-Index:999;overflow:hidden;\"><\/div><\/div>");
$$.status = new
function() {
    this.domReady = false;
    this.load = false;
    this.busy = 0;
    this.dealt = {};
    this.regEventCount = 0;
    this.regEventHash = {};
    this.charset = (((_.__.charset ? _.__.charset: _.__.characterSet) || "").match(/^(gb2312|big5|utf-8)$/gi) || "gb2312").toString().toLowerCase();
    this.version = {
        "gb2312": "zh-cn",
        "big5": "zh-tw",
        "utf-8": "zh-cn"
    } [this.charset];
    var a = $topWin.__.getElementsByTagName("script");
    this.debug = false;
    this.debugEvent = false;
    this.alertDiv = _.__.getElementById("tuna_alert");
    this.container = _.__.getElementById("jsContainer");
    this.saveStatus = _.__.getElementById("jsSaveStatus");
    this.back = false;
    this.pageValue = {
        data: {}
    };
    this.globalValue = {};
    this.today = new Date().toStdString()
};
$$.history = {
    isFirefox2: /Firefox\/2\.0\.0\.\d+/.test(navigator.userAgent),
    enabled: false,
    callback: {},
    info: {
        "#": ["#", "", "", ""]
    },
    current: "#",
    blank: "blank.html",
    div: _.__.getElementById("jsHistoryDiv"),
    frame: _.frames["jsHistoryFrame"],
    iframe: null,
    isReady: false,
    count: 0,
    init: function() {
        if (_.$$.history.frame) return;
        this.div.innerHTML = "<iframe id=\"jsHistoryFrame\" name=\"jsHistoryFrame\" src=\"" + this.blank + "\" onload=\"$$.history.load();\"><\/iframe>";
        this.frame = _.frames["jsHistoryFrame"];
        this.iframe = $("jsHistoryFrame")
    },
    load: function() {
        this.isReady = true;
        $r("domReady",
        function() {
            var f = 0;
            setInterval(function() {
                var a = (_.$$.history.isFirefox2 ? _: _.$$.history.frame).location.hash.replace(/^#/, "") || "#";
                if (a != _.$$.history.current) {
                    if (f < 1) f++;
                    else {
                        _.$$.history.current = a;
                        var c = _.$$.history.info[a];
                        if (c) {
                            $t("[history]返回标志:" + c[0] + "/" + a, "green", c.join("\t"));
                            var d = _.$$.history.callback[c[0]];
                            if (typeof d == "function") d.apply(c[0], c.slice(1))
                        }
                        //if ($$.browser.Opera) _.$saveHistory()
                    }
                } else f = 0
            },
            100)
        });
        $t("[history]初始化完成", "green");
        var g = (_.$$.history.isFirefox2 ? _: _.$$.history.frame).location.hash.replace(/^#/, "") || "#";
        $t("[history]返回标志:" + g, "green");
        this.load = function() {}
    }
};
$$.module = {
    iframe: [],
    list: {},
    tab: {},
    selectAll: {},
    address: {
        source: {}
    },
    calendar: {},
    init: []
};
$$.string = {
    "zh-cn": {
        weekday: "日一二三四五六",
        display: "@▲|▼@显示|隐藏@"
    },
    "zh-tw": {
        weekday: "日一二三四五六",
        display: "@▲|▼@顯示|隱藏@"
    },
    "en": {
        weekday: "SMTWTFS",
        display: "@Show|Hidden@"
    }
} [$$.status.version];
$$.access = {};
function $type(a) {
    var c = typeof a;
    if (c != 'object') return c;
    if (a == null) return 'null';
    var d = {
        'array': Array,
        'boolean': Boolean,
        'date': Date,
        'regexp': RegExp,
        'string': String,
        'number': Number,
        'function': Function
    };
    for (var f in d) if ((a instanceof d[f]) || a.constructor == d[f]) return f;
    return c
}
function $keys(a) {
    var c = [];
    for (var d in a) if (a.hasOwnProperty(d)) c.push(d);
    return c
}
function $values(a) {
    var c = [];
    for (var d in a) if (a.hasOwnProperty(d)) c.push(a[d]);
    return c
}
function $items(a) {
    var c = [];
    for (var d in a) if (a.hasOwnProperty(d)) c.push([d, a[d]]);
    return c
}
function $pageSize(a) {
    var c = {
        docWidth: ___.scrollWidth,
        docHeight: ___.scrollHeight,
        winWidth: ___.clientWidth,
        winHeight: ___.clientHeight,
        scrollLeft: $$.browser.Safari ? __.body.scrollLeft: ___.scrollLeft,
        scrollTop: $$.browser.Safari ? __.body.scrollTop: ___.scrollTop
    };
    if ($$.browser.Safari) {
        var d = ___.$getStyle();
        c.docWidth += parseInt(d.marginLeft) + parseInt(d.marginRight);
        c.docHeight += parseInt(d.marginTop) + parseInt(d.marginBottom)
    }
    c.docWidth = Math.max(c.docWidth, c.winWidth);
    c.docHeight = Math.max(c.docHeight, c.winHeight);
    if (a) {
        var f = a == 'win';
        c.left = f ? c.scrollLeft: 0;
        c.top = f ? c.scrollTop: 0;
        if ($$.browser.Mozilla) {
            var d = ___.$getStyle();
            c.left -= parseInt(d.borderLeftWidth) + parseInt(d.marginLeft);
            c.top -= parseInt(d.borderTopWidth) + parseInt(d.marginTop)
        }
        c.width = f ? c.winWidth: Math.max(c.docWidth, c.winWidth);
        c.height = f ? c.winHeight: Math.max(c.docHeight, c.winHeight)
    }
    return c
}
function $animate(i, k, j) {
    if (!i || !i.style) return;
    i = i.style;
    var j = $extend({
        fps: 40,
        duration: 400,
        callback: function() {},
        reverse: false,
        fn: function(a) {
            return Math.sin(a * Math.PI / 2)
        }
    },
    j || {});
    var n = $keys(k);
    var o = n.map(function(a) {
        return /(width|height|left|top)\b/i.test(a) ? 'px': ''
    });
    var m = new Date();
    var s = function() {
        var a = new Date() - m;
        if (a > j.duration) a = j.duration;
        for (var c = 0; c < n.length; c++) {
            var d = k[n[c]];
            var f = j.fn(a / j.duration);
            var g = j.reverse ? d[1] + (d[0] - d[1]) * f: d[0] + (d[1] - d[0]) * f;
            if (o[c] == 'px') g = Math.round(g);
            i[n[c]] = g + o[c]
        }
        if (a == j.duration) {
            clearInterval(q);
            if (j.callback) setTimeout(j.callback, Math.round(1000 / j.fps))
        }
    };
    var q = setInterval(s, Math.round(1000 / j.fps));
    s();
    return q
}
function $fixE(a) {
    a = _.event || a || arguments.callee.caller.arguments[0];
    $(a.$target = a.target ? (a.target.nodeType && a.target.nodeType == 3 ? a.target.parentNode: a.target) : a.srcElement);
    return a
}
function $stopEvent(a, c) {
    a = $fixE(a);
    c = c || 0;
    if (c >= 0) a.preventDefault ? a.stopPropagation() : (a.cancelBubble = true);
    if (c != 0) a.preventDefault ? a.preventDefault() : (a.returnValue = false)
}
function $getUid() {
    return "uid_" + (new Date()).getTime() + Math.random().toString().substr(2, 5)
}
function $c(a) {
    if (a.constructor == Array) return $(__.createTextNode(a.join("\n")));
    else return $(__.createElement(a))
}
var $createElement = $c;
function $toJson(c) {
    if (typeof c == "undefined") return undefined;
    switch (c.constructor) {
    case Object:
        var d = [],
        f;
        for (var g in c) d.push($toJson(g) + ":" + $toJson(c[g]));
        return "{" + d.join(",") + "}";
    case Array:
        return "[" + c.map(function(a) {
            return $toJson(a)
        }).join(",") + "]";
    case String:
        return "\"" + c.replace(/([\n\r\\\/\'\"])/g,
        function(a) {
            return {
                "\n": "\\n",
                "\r": "\\r"
            } [a] || "\\" + a
        }) + "\"";
    case Date:
        return "new Date(" + c.getTime() + ")";
    case Number:
    case Boolean:
    case Function:
    case RegExp:
        return c.toString();
    default:
        return "null"
    }
}
function $fromJson(a) {
    var c;
    var d = null;
    try {
        d = eval("(" + a + ")")
    } catch(e) {
        $trackEvent('tuna-error', '$fromJson', $error(e), $tunaVersion())
    };
    return d
}
function $pageValue() {
    return $pageValue.get.apply(_, arguments)
}
$pageValue.set = function(a, c, d) {
    d = d || $$.history.current;
    if (! (d in $$.status.pageValue.data)) $$.status.pageValue.data[d] = {};
    $$.status.pageValue.data[d][a] = c;
    if ($$.browser.Opera) $savePageValue()
};
this.$pageValue.get = function(a, c) {
    var d = $$.status.pageValue.data[c || $$.history.current];
    return d && a in d ? d[a] : null
};
this.$pageValue.del = function(a, c) {
    var d = $$.status.pageValue.data[c || $$.history.current];
    if (d) {
        delete d[a];
        if ($$.browser.Opera) $savePageValue()
    }
};
function $savePageValue() {
    $$.status.saveStatus.value = $toJson($$.status.pageValue)
}
//function $saveHistory() {
//    var a = [];
//    for (var c in $$.history.info) {
//        var d = $$.history.info[c];
//        if (d.constructor == Array && d.length == 4) {
//            var f = [c];
//            for (var g = 0; g < d.length; g++) f.push(escape(d[g] || ""));
//            a.push(escape(f.join("|")))
//        }
//    }
//    $$.status.pageValue["historyInfo"] = a.join("|");
//    $$.status.pageValue["historyCount"] = $$.history.count;
//    if ($$.history.frame) $$.status.pageValue["lastHistory"] = $$.history.frame.location.href;
//    $savePageValue()
//}
function $globalValue() {}
function $getQuery(a) {
    var c = (location.search || "").match(new RegExp("[\\?&]" + a + "=([^&]+)", "i"));
    return c ? unescape(c[1]) : null
}
function $loadJs(d, f, g, i) {
    var k = arguments.callee;
    var j = k.queue || (k.queue = {});
    var n = null;
    if (! (d in j)) {
        j[d] = [];
        if (g) {
            n = m();
            j[d].push(g)
        }
    } else {
        if (g) {
            if (j[d]) {
                n = m();
                j[d].push(g)
            } else {
                g()
            }
        }
        return
    }
    var o = document.createElement('script');
    o.type = 'text/javascript';
    o.charset = f || $$.status.charset;
    o.onload = o.onreadystatechange = function() {
        if (o.readyState && o.readyState != 'loaded' && o.readyState != 'complete') return;
        if (n) clearTimeout(n);
        o.onreadystatechange = o.onload = null;
        while (j[d].length) j[d].shift()();
        j[d] = null
    };
    o.src = d;
    __.getElementsByTagName('head')[0].appendChild(o);
    function m() {
        var a = j[d];
        var c = a.length;
        if (g && i) {
            return setTimeout(function() {
                if (g(true) !== true) a.splice(c, 1)
            },
            i)
        }
    }
}
function $loadCss(a, c) {
    if ($$.browser.IE) __.createStyleSheet(a).charset = c || _.$$.status.charset;
    else {
        var d = _.__.createElement("link");
        with(d) {
            type = "text\/css";
            rel = "stylesheet";
            href = a
        }
        __.$("head")[0].appendChild(d)
    }
}
function $getCookie(a, c) {
    var d = __.cookie.match(new RegExp("(?:^|;)\\s*" + encodeURIComponent(a) + "=([^;]+)"));
    if (c === false) return d ? d[1] : null;
    if (d && c) d = d[1].match(new RegExp("(?:^|&)\\s*" + encodeURIComponent(c) + "=([^&]+)"));
    return d ? decodeURIComponent(d[1]) : null
}
function $delCookie(a, c) {
    if (c) {
        var d = $getCookie(a, false);
        if (d === null) return;
        d = d.replace(new RegExp("(^|&)\\s*" + encodeURIComponent(c) + "=[^&]+"), "").replace(/^\s*&/, "");
        if (d) {
            __.cookie = encodeURIComponent(a) + "=" + d;
            return
        }
    }
    var f = new Date();
    f.setTime(f.getTime() - 1);
    __.cookie = encodeURIComponent(a) + "=;expires=" + f
}
function $setCookie(a, c, d) {
    if (!d) {
        d = c;
        c = null
    }
    var f = ($$.cookie.domain ? "; domain=" + $$.cookie.domain: "") + "; path=" + ($$.cookie.path || "/") + ($$.cookie.expires ? "; expires=" + new Date((new Date()).getTime() + $$.cookie.expires * 3600000).toGMTString() : "");
    if (c) {
        var g = $getCookie(a, false) || "";
        if (g) g = (g + "&").replace(new RegExp("(^|&)\\s*" + encodeURIComponent(c) + "=[^&]+&"), "$1");
        __.cookie = encodeURIComponent(a) + "=" + g + encodeURIComponent(c) + "=" + encodeURIComponent(d) + f
    } else __.cookie = encodeURIComponent(a) + "=" + encodeURIComponent(d) + f
}
function $init(a) {
    if (a) $topWin.$$.module.init.push(a);
    else $topWin.$$.module.init.each()
}
function $parserRe(d) {
    var f = [];
    var g = /<[^>]+\smod=[\'\"]?([\w|]+)[^>]+/g;
    var i = /id=[\'\"]?([\w\-]+)/i;
    var k = null;
    var j = null;
    var n = null; (d && d.innerHTML ? d: __.body).innerHTML.replace(g,
    function(a, c) {
        try {
            if (c == "jmpInfo") {} else if ((j = a.match(i)) && (n = $(j[1]))) {
                if (c in Ctrip.module) new Ctrip.module[c](n);
                else f.push(n)
            }
        } catch(e) {
            $t("parserRe函数错误:" + func.toString().slice(0, 50) + "...", "red");
            $trackEvent('tuna-error', '$parserRe', $error(e), $tunaVersion())
        };
        return ""
    });
    var o = setInterval(function() {
        var a = f.shift();
        if (a) $topWin.$d(a);
        else clearInterval(o)
    },
    50)
}
function $d(c) { ($(c).getAttribute("mod") || "").replace(/\w+/ig,
    function(a) {
        if (Ctrip.module[a]) {
            new Ctrip.module[a](c)
        } else {
            $t("错误:元素[" + (c.id || c.tagName) + "]引用未知模块[" + a + "]", "red");
            $trackEvent('tuna-error', '$d', [c.id || c.tagName, a].join('; '), $tunaVersion())
        }
    })
}
var $dealElement = $d;
function $i(i) {
    var k = $$.access[i];
    if (k) return k;
    else {
        k = new
        function() {
            var f = [],
            g = [];
            this.get = function() {
                var a = k.value;
                for (var c = 0; c < f.length; c++) {
                    var d = f[c].call(a);
                    if (typeof d != 'undefined') a = d
                }
                return a
            };
            this.set = function(a) {
                for (var c = 0; c < g.length; c++) {
                    var d = g[c].call(a);
                    if (typeof d != 'undefined') a = d
                }
                return k.value = a
            };
            this.regGet = function(a) {
                if (!a) f = [];
                else f.push(a);
                return
            };
            this.regSet = function(a) {
                if (!a) g = [];
                else g.push(a);
                return
            }
        }
    }
    return $$.access[i] = k
}
function $fixElement(f) {
    function g(a, c, d) {
        if ('attachEvent' in a) a.attachEvent('on' + c, d);
        else a.addEventListener(c, d)
    }
    function i(a) {
        a = a.getElementsByTagName('input');
        for (var c = 0; c < a.length; c++) if (/checkbox|radio/.test(a[c].type)) return a[c];
        return null
    }
    function k(a) {
        if (!a) a = window.event;
        return a.srcElement || a.target
    }
    function j(a) {
        var c = a._1;
        if (c) {
            a.htmlFor = c.id || (c.id = $getUid());
            a._1 = null
        }
        var d = a.style;
        d.borderBottom = '#aaa 1px dashed';
        d.paddingBottom = '0px';
        d.color = '#1E1A75'
    }
    function n(a) {
        var c = a.style;
        c.borderBottom = '';
        c.paddingBottom = '';
        c.color = ''
    }
    f = f && f.nodeType ? f: _.__;
    if ($$.browser.IE6) {
        var o = f.getElementsByTagName("label");
        for (var m = 0; m < o.length; m++) {
            var s = i(o[m]);
            if (s && /checkbox|radio/.test(s.type))(function(lbl, box) {
                lbl._1 = box;
                g(lbl, 'mouseover',
                function() {
                    j(lbl)
                });
                g(lbl, 'mouseout',
                function() {
                    n(lbl)
                })
            })(o[m], s)
        }
    }
    if ($$.browser.IE) {
        var q = f.getElementsByTagName("select");
        for (var m = 0; m < q.length; m++) q[m].onmousewheel = function() {
            return false
        }
    }
}
function $removeTextNode(a) {
    if (!a) return;
    var c = a.firstChild,
    d;
    while (c) {
        d = c.nextSibling;
        if (c.nodeType == 3) {
            if (!c.nodeValue.trim()) a.removeChild(c)
        } else $removeTextNode(c);
        c = d
    }
    return a
}
function $ajax(d, f, g, i) {
    var k = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"],
    j;
    try {
        j = new XMLHttpRequest()
    } catch(e) {
        for (var n = 0; n < k.length; n++) try {
            j = new ActiveXObject(k[n]);
            break
        } catch(e) {}
    }
    if (!j) {
        $trackEvent('tuna-error', '$ajax', 'xmlObj creation failure', $tunaVersion());
        return
    }
    j.open(f ? "POST": "GET", d || location.href, !!g);
    j.setRequestHeader("Content-Type", "application\/x-www-form-urlencoded");
    j.setRequestHeader("If-Modified-Since", new Date(0));
    function o() {
        if ($$.history.enabled && i) {
            $$.history.init();
            var c = "ajaxHistory_" + $$.history.count++;
            $$.history.current = c; (function() {
                if ($$.history.isReady) {
                    var a = $$.history.info[c] = [i, j.status == 200 ? j.responseText: null, d, f];
                    if ($$.history.isFirefox2) location.hash = c;
                    else $$.history.frame.location.href = $$.history.blank + ($$.browser.IE ? "?" + !($$.history.count % 2) : "") + "#" + c;
                    //if ($$.browser.Opera) $saveHistory();
                    $t("[history]增加历史:" + a[0] + "/" + c, "green", a.slice(1).join("\n"))
                } else setTimeout(arguments.callee, 50)
            })()
        }
        return (j.status == 200 ? (/xml/i.test(j.getResponseHeader("content-type")) ? j.responseXML: j.responseText) : null)
    }
    if (g) j.onreadystatechange = function() {
        if (j.readyState == 4) {
            var m = o();
            if (g(m) === true) {
                setTimeout(function() {
                    $ajax(d, f, g)
                },
                1000)
            }
        }
    };
    j.send(f || "");
    return g ? j: o()
}
function $showDebug(a) {
    var c = a.keyCode || a.charCode;
    if ($$.status.debug && c == 192) {
        var d = $getDebug();
        if (d && (d = d.frameElement)) d.style.display = d.style.display == "" ? "none": ""
    }
}
function $getDebug() {
    var a = $topWin.frames["Ctrip_debug"];
    if (a) return a;
    with(a = $topWin.$c("iframe")) {
        frameBorder = 0;
        id = name = "Ctrip_debug";
        with(style) {
            border = "1px solid red";
            width = "600px";
            height = "300px";
            position = $$.browser.IE6 ? "absolute": "fixed";
            bottom = right = "10px";
            background = "white"
        }
    }
    $topWin.$$.status.container.appendChild(a);
    if ($$.browser.IE6) $topWin.$r("scroll",
    function() {
        with($("Ctrip_debug").style) {
            zoom = 1;
            zoom = 0
        }
    });
    with((a = $getDebug()).document) {
        open();
        write("<style>body{margin:0;padding:0;font-family:Arial;font-size:12px;overflow:scroll;}div{border-bottom:1px solid #CCC;}<\/style><body><\/body>");
        close()
    }
    $topWin.__.$r("keydown", $showDebug);
    return a
}
function $t(a, c, d) {
    if (!$topWin.$$.status.debug) return;
    if (_ != $topWin) return $topWin.$t(a, c);
    var f = $getDebug();
    var g = new Date().getTime() % (1E7);
    var i = "<font id=\"msg_" + g + "\"> " + a + "<\/font>";
    var k = f.document.createElement("div");
    if (c) k.style.color = c || "black";
    if (d) k.title = d;
    k.innerHTML = "<font style=\"color:blue;\">" + g + "<\/font> " + i;
    with(f.document.body) {
        if (firstChild) insertBefore(k, firstChild);
        else appendChild(k)
    }
    return a
}
function $alert(a, c, d, f, g) {
    a = $(a);
    var i = $("alertInfo"),
    k = $("alertTable"),
    j = 1;
    i.innerHTML = c;
    $topWin.$$.status.alertDiv.style.display = "";
    $topWin.$$.status.alertDiv.$setPos(a, f || "tl", g || "tr");
    $topWin.$$.status.alertDiv.$setIframe();
    a.className += " pubGlobal_checkinfo_input01";
    if (d !== false) a.$setDisplay();
    function n() {
        a.className = a.className.replace("pubGlobal_checkinfo_input01", "");
        $topWin.$$.status.alertDiv.style.display = "none";
        $topWin.$$.status.alertDiv.$clearIframe();
        a.$ur("onblur", n);
        __.body.$ur("onmousedown", n);
        a.clearAlert = null;
        $alert.element = null
    }
    if (a.disabled) j = 0;
    else setTimeout(function() {
        try {
            a.focus()
        } catch(e) {
            j = 0
        }
    },
    0);
    if (j) a.$r("onblur", n);
    else __.body.$r("onmousedown", n);
    $alert.element = a;
    a.clearAlert = n
}
function $toQuery(a, c) {
    var d = [];
    for (var f in a) if (a.hasOwnProperty(f)) d.push([f, c ? c(a[f]) : a[f]].join('='));
    return d.join('&')
}
function $fromQuery(a, c) {
    var d = a.split('&');
    var f = {};
    for (var g = 0; g < d.length; g++) {
        var i = d.split('=');
        if (i.length > 1) f[i[0]] = c ? c(i.slice(1).join('=')) : i.slice(1).join('=')
    }
    return f
}
function $trackEvent(c, d, f, g) {
    var i = (arguments.callee._3 || (arguments.callee._3 = {
        tuna_total: 0,
        other_total: 0
    }));
    if (c == 'tuna-error') {
        if (i.tuna_total >= 20) return;
        var k = c + '.' + d;
        if (i[k] && i[k] >= 5) return;
        i[k] = (i[k] || 0) + 1; ++i.tuna_total
    } else {
        if (i.other_total >= 80) return; ++i.other_total
    }
    var j = ['dev.sh.ctriptravel', '.com/rp/uiServer2.asp'].join('');
    var n = $toQuery({
        'action': 'event',
        'p': window.UIMonitor2 && window.UIMonitor2.bi && window.UIMonitor2.bi.pageview_id || '',
        'u': document.URL,
        'c': c,
        'l': f,
        'a': d,
        'v': g,
        't': new Date * 1
    },
    function(a) {
        return encodeURIComponent(escape(a))
    });
    new Image().src = j + '?' + n
}
function $error(a) {
    if (!a) return "";
    var c, d, f, g;
    if (a.message) {
        if ($$.browser.Opera) {
            var i = transErrMessage(a.message);
            c = "";
            d = this.transed[2];
            f = this.transed[1];
            g = this.transed[3].match(/.+((?:file:|http:)[^\s]+?)\s+.+/i)[1]
        } else {
            c = a.name || '';
            d = a.message || "";
            f = a.lineNumber || a.line || "";
            g = a.fileName || a.sourceURL || ""
        }
    } else if (!a.message && (arguments[2] || arguments[2] == 0)) {
        d = a;
        c = "";
        f = arguments[2];
        g = arguments[1]
    }
    return [c, d, f, g].join('|')
}
function transErrMessage(a) {
    var c = [];
    c = a.match(/Statement[^\d]+(\d+)\:([\s\S]+)Backtrace\:([\s\S]+)/);
    return c
} [this.name, this.message, this.line, this.file].join("|");
function $tunaVersion() {
    var a = arguments.callee;
    if (!a._0) {
        a._0 = -1;
        for (var c = document.getElementsByTagName('script'), d = c.length - 1; d >= 0; d--) {
            var f = c[d].src.match(/\/tuna_(\d+).js$/i);
            if (f) {
                a._0 = parseInt('20' + f[1]);
                break
            }
        }
    }
    return a._0
}
var c_linklist = {};
var c_allyes_text = {};
var c_allyes_delay = 1000;
var DOM = function() {
    if (!this || this.nodeType == 3 || this.$) return this;
    this.module = {};
    this.module.event = {};
    function u(a) {
        return (a.toString().match(/function([^\{]+)/i) || ["", "anonymous"])[1].replace(/\(\)/, "").trim() || "anonymous"
    }
    function p(a) {
        var c = "[" + a.event + "] ";
        c += a.obj.tagName || {
            3 : a.obj.nodeValue,
            9 : "document"
        } [a.obj.nodeType || ""] || "window";
        c += a.obj.id ? "#" + a.obj.id: (a.obj.name ? "@" + a.obj.name: "");
        c += " " + u(a.func);
        return c
    }
    function w(g) {
        return function(a) {
            a = $fixE(a);
            var c = g.module.event[a.type],
            d;
            for (var f = 0; f < c.length; f++) {
                if (c[f].enabled) {
                    try {
                        d = c[f].func.call(g, a);
                        if ($topWin.$$.status.debugEvent) $t(p(c[f]) + " (" + (typeof d == "undefined" ? "无返回值": d.toString().slice(0, 100)) + ")", null, c[f].func);
                        if (d === false) break
                    } catch(ex) {
                        $t(p(c[f]) + " (执行错误)", "red", c[f].func);
                        $trackEvent('tuna-error', 'DOM.execEvent', $error(ex), $tunaVersion())
                    }
                } else {
                    c.splice(f, 1);
                    f--
                }
            }
            return d
        }
    }
    if (this.__) this.$ = function(objId, flag) {
        if (typeof objId == "object") return DOM.apply(objId);
        var v;
        if (flag) {
            var l = ___.innerHTML.match(new RegExp("\\sid=([\\\'\\\"]?)([\\w$]+?[_$]" + objId.toReString() + ")\\1"), "g");
            if (l) {
                for (var E = 0; E < l.length; E++) {
                    v = $(l[E]);
                    if (v) return v
                }
            }
            return $(objId)
        } else v = __.getElementById(objId);
        return v ? $(v) : null
    };
    else this.$ = function(f) {
        var g = this.getElementsByTagName(f);
        g.$each = function(a) {
            var c;
            if (g.length !== undefined) for (var d = 0; d < g.length && (c = a.call(this, g[d], d)) !== false; d++);
            else a.call(this, g, 0);
            return c === false ? 0 : 1
        };
        for (var i = 0; i < g.length; i++) $(g[i]);
        return g
    };
    if (this.nodeType == 1) {
        if (this.tagName == "INPUT" && /^(text|hidden)$/i.test(this.type) || this.tagName == "TEXTAREA") this.isNull = function() {
            return ! this.value.trim()
        };
        if (/^SELECT$/.test(this.tagName)) this.$setValue = function(value) {
            for (var E = 0; E < this.options.length; E++) {
                if (this.options[E].value == value) {
                    this.selectedIndex = E;
                    return true
                }
            }
            return false
        }
    }
    if (!this.hasAttribute) this.hasAttribute = function(str) {
        return typeof this.attributes[str] != "undefined"
    };
    this.$parentNode = function(a) {
        var c = $(this.parentNode);
        if (a && c && c.tagName && c.tagName.toLowerCase() != a.toLowerCase()) c = c.$parentNode(a);
        return c && c.tagName ? c: null
    };
    this.$firstChild = function() {
        return $(this.firstChild)
    };
    this.$lastChild = function() {
        return $(this.lastChild)
    };
    this.$childNodes = function() {
        var a = this.childNodes;
        for (var c = 0; c < a.length; c++) $(a[c]);
        return a
    };
    this.$nSib = this.$nextSibling = function() {
        return $(this.nextSibling)
    };
    this.$pSib = this.$previousSibling = function() {
        return $(this.previousSibling)
    };
    this.$click = function() {
        if (this.click) this.click();
        else {
            var a = __.createEvent("MouseEvents");
            a.initMouseEvent("click", true, true, _, 0, 0, 0, 0, 0, false, false, false, false, 0, this);
            this.dispatchEvent(a)
        }
    };
    this.$getStyle = function(a) {
        var c = this.currentStyle || _.getComputedStyle(this, null);
        return a ? c[a] : c
    };
    this.$getPara = function() {
        var a, c = (a = this.getAttribute(arguments[0]) || "").split(a.indexOf("") > -1 ? "": "|");
        for (var d = 0; d < Math.max(arguments.length - 1, c.length); d++) c[d] = c[d] || arguments[d + 1] || "";
        return c
    };
    this.$r = this.$regEvent = function(i, k, j, n) {
        n = n || 50;
        if (arguments.length == 3 && typeof j == "number") {
            n = j;
            j = null
        }
        var o = this;
        if (i.constructor != Array) i = [i];
        if (k.constructor != Array) k = [k];
        i.each(function(g) {
            k.each(function(d) {
                g = g.replace(/^(on)?/i, "");
                g = g == "DOMContentLoaded" ? "domready": g.toLowerCase();
                if (g == "domready") o = _;
                var f = {
                    enabled: true,
                    obj: o,
                    event: g,
                    func: d,
                    hash: j,
                    level: n,
                    id: _.$$.status.regEventCount++
                };
                if (g == "domready" && $$.status.domReady || g == "load" && (o == _ || o == __.body) && $$.status.load) d();
                else {
                    if (! (g in o.module.event)) {
                        o.module.event[g] = [];
                        if (o.attachEvent) o.attachEvent("on" + g, w(o));
                        else o.addEventListener(g, w(o), false)
                    }
                    o.module.event[g].push(f);
                    o.module.event[g].sort(function(a, c) {
                        return (a.level - c.level) || (a.id - c.id)
                    })
                }
                if (j) {
                    if (! (j in $$.status.regEventHash)) $$.status.regEventHash[j] = [];
                    $$.status.regEventHash[j].push(f)
                }
            })
        })
    };
    this.$ur = this.$unregEvent = function(g, i, k) {
        var j = this;
        if (g.constructor != Array) g = [g];
        if (i.constructor != Array) i = [i];
        g.each(function(f) {
            i.each(function(a) {
                f = f.replace(/^(on)?/i, "");
                f = f == "DOMContentLoaded" ? "domready": f.toLowerCase();
                if (f == "domready") j = _;
                if (f in j.module.event) {
                    var c = j.module.event[f];
                    for (var d = 0; d < c.length; d++) {
                        if (c[d].enabled && c[d].func == a && (!k || c[d].hash == k)) {
                            c[d].enabled = false;
                            break
                        }
                    }
                    if (!c.length) {
                        delete j.module.event[f];
                        if (j.detachEvent) j.detachEvent(f, w);
                        else j.removeEventListener(f, w, false)
                    }
                }
            })
        })
    };
    this.$urh = this.$unregEventHash = function(a) {
        var c = this;
        if (a in $$.status.regEventHash) {
            var d = $$.status.regEventHash[a],
            f;
            while (f = d.shift()) f.obj.$ur(f.event, f.func, a);
            delete $$.status.regEventHash[a]
        }
    };
    this.$getWin = function() {
        var a = this.ownerDocument;
        return a.parentWindow || a.defaultView
    };
    this.$g = this.$selNode = function(G) {
        function y(n, o) {
            var m = [],
            s = n.match(/^([\.\#]*)([a-zA-Z0-9\-_*]+)(.*)$/i);
            if (!s) return [];
            if (s[1] == "#") {
                var q = $(s[2]);
                if (q) m.push(q)
            } else if (s[1] == ".") o.each(function(v) {
                v.$("*").$each(function(a) {
                    if (new RegExp("\\b" + s[2] + "\\b").test(a.className)) m.push($(a))
                })
            });
            else for (var r = 0; r < o.length; r++) {
                var q = o[r].$(s[2]);
                if (q) for (var h = 0; h < q.length; h++) m.push(q[h])
            }
            s[3].replace(/\[([^!=]+)(=|!=)([^\]]*)\]/gi,
            function(f, g, i, k) {
                var j = m.slice(0);
                m = [];
                j.each(function(a) {
                    g = {
                        "class": "className",
                        "for": "htmlFor"
                    } [g] || g;
                    var c = a[g] || a.getAttribute(g);
                    var d;
                    if (g == "className") d = new RegExp("\\b" + k + "\\b").test(c);
                    else d = c == k;
                    if ((i == "=") == d) m.push($(a))
                })
            });
            return m
        }
        var t = [this == _ ? _.__.body: this],
        C = [],
        z = [];
        G.replace(/[^\[,]([^\[,]*(\[[^\]]*\])*)+/g,
        function(c) {
            var d = t.slice(0);
            c.replace(/(#|\*)/gi, " $1").replace(/([^\^ ])\.(\w+)/gi, "$1[className=$2]").trim().split(/\s+/g).each(function(a) {
                d = y(a, d)
            });
            C = C.concat(d)
        });
        C.each(function(a) {
            if (!a.__selNodeFlag__) {
                a.__selNodeFlag__ = true;
                z.push(a)
            }
        });
        z.each(function(a) {
            a.__selNodeFlag__ = false
        });
        return z.length == 0 ? null: z
    };
    this.$getPos = function() {
        var f = this,
        g = this,
        i, k = [0, 0],
        j,
        n = {
            "thin": 2,
            "medium": 4,
            "thick": 6
        };
        function o() {
            if (f == g) return;
            function d(a) {
                var c = /^(none|hidden)$/i.test(g.$getStyle("border" + a + "Style")) ? 0 : g.$getStyle("border" + a + "Width");
                return n[c] || parseInt(c, 10) || 0
            }
            k[0] += d("Left");
            k[1] += d("Top")
        }
        do {
            i = $(g).$getWin();
            if (g.tagName.match(/^(iframe|frameset)$/i)) o();
            j = -1;
            do {
                k[0] += g.offsetLeft - g.scrollLeft;
                k[1] += g.offsetTop - ($$.browser.Safari && g == i.document.body ? 0 : g.scrollTop);
                if ($$.browser.IE) o();
                if (!$$.browser.IE6 && g.$getStyle("position") == "fixed") j = 1
            } while ( g . offsetParent && g != g . offsetParent && ( g = $ ( g . offsetParent )) && g != _.___);
            if ($$.browser.Safari) {
                k[0] += i.__.body.leftMargin || 0;
                k[1] += i.__.body.topMargin || 0
            }
            if (j == 1 || i != $topWin) {
                k[0] += i.___.scrollLeft * j;
                k[1] += i.___.scrollTop * j
            }
        } while ( g = i . frameElement );
        return k
    };
    this.$setPos = function(j, n, o) {
        function m(g, i) {
            function k(a, c, d, f) {
                return d + {
                    "l": 0,
                    "c": c.offsetWidth / 2,
                    "r": c.offsetWidth,
                    "t": 0,
                    "m": c.offsetHeight / 2,
                    "b": c.offsetHeight
                } [a || "l"] * f
            }
            return k(n.match(g), this, k(o.match(g), j, s[i], 1), -1) + "px"
        }
        var s = j.$getPos();
        n = n || "lt";
        o = o || "lb";
        this.style.left = m.call(this, /[lcr]/i, 0);
        this.style.top = m.call(this, /[tmb]/i, 1)
    };
    this.$setIframe = function(c) {
        if (c !== true && !$$.browser.IE6) return;
        if (this.module.iframe) f = this.module.iframe;
        else {
            function d() {
                for (var a = 0; a < $topWin.$$.module.iframe.length; a++) {
                    if ($topWin.$$.module.iframe[a].$getStyle("display") == "none") return $topWin.$$.module.iframe[a]
                }
            }
            var f = d();
            if (!f) {
                f = $topWin.$c("iframe");
                with(f.style) {
                    width = height = "0px";
                    background = "#FFF";
                    position = "absolute";
                    display = "none";
                    zIndex = 100
                }
                f.frameBorder = 0;
                f.id = f.name = $getUid();
                $topWin.$$.status.container.appendChild(f);
                $topWin.$$.module.iframe.push(f);
                with($topWin.frames[f.id].document) {
                    open();
                    write('<style>html,body{overflow:hidden}</style>');
                    close()
                }
            }
            this.module.iframe = f
        }
        f.$setPos(this, "tl", "tl");
        with(f.style) {
            width = this.offsetWidth + "px";
            height = this.offsetHeight + "px";
            display = ""
        }
        return f
    };
    this.$clearIframe = function() {
        var a = this.module.iframe;
        if (a) {
            a.style.display = "none";
            this.module.iframe = null
        }
        return a
    };
    function D(a, c, d) {
        if (!a) return null;
        c = c || "n";
        var f = new RegExp(({
            1 : "n",
            3 : "t",
            8 : "c"
        } [a.nodeType]) || "o", "i");
        return c.match(f) ? a: d.call(a, c)
    }
    this.$nAbs = function(a) {
        var c = this,
        d = c.firstChild || c.nextSibling;
        if (!d) do {
            c = c.parentNode;
            if (c == __.body) return null;
            d = c.nextSibling
        } while (! d );
        return $(D(d, a, arguments.callee))
    };
    this.$pAbs = function(a) {
        if (this == __.body) return null;
        var c = this.previousSibling;
        if (c) {
            while (c.lastChild) c = c.lastChild
        } else c = this.parentNode;
        return $(D(c, a, arguments.callee))
    };
    this.$focusNext = function() {
        if (!this.form) return;
        try {
            this.blur()
        } catch(e) {};
        var a = this.form.elements,
        c;
        for (var d = 0; d < a.length; d++) {
            if (c) {
                if (!$(a[d]).disabled && a[d].$isDisplay()) try {
                    a[d].focus();
                    return
                } catch(e) {}
            }
            if (a[d] == this) c = true
        }
    };
    this.$setDisplay = function() {
        var a = this.$getPos();
        with($topWin.___) {
            scrollLeft = a[0] - 80;
            scrollTop = a[1] - 80
        }
    };
    this.$isDisplay = function() {
        var a = this;
        do {
            if (a.tagName == "INPUT" && a.type == "hidden" || a.$getStyle("display") == "none" || a.$getStyle("visibility") == "hidden") return false
        } while (( a = a . $parentNode ()) && a.nodeType == 1);
        return true
    };
    return this
};
DOM.apply(_);
DOM.apply(__);
DOM.apply(___);
DOM.apply($$.status.alertDiv);
Ctrip.module.linklist = function(a) {
    var c = a.getAttribute('mod_linklist_class');
    if (c === null) c = 'pubSidebar_linkmargin01';
    var d = '<a class="' + c + '" href="{$link}" title="{$text}" target="{$target}">{$text}</a>';
    var f = a.getAttribute('mod_linklist_id');
    if (!f || !(f = window.c_linklist[f]) || f.constructor !== Array) return;
    for (var g = 0; g < f.length; g++) {
        var i = f[g].split('|', 2);
        f[g] = d.replaceWith({
            text: $s2t(i[0]),
            link: i[1],
            target: f[g].target || '_4'
        })
    }
    a.innerHTML = f.join('')
};
Ctrip.module.allyes = function(f) {
    var g = m("user") || m("mod_allyes_user");
    if (!g) {
        var i = m('mod_allyes_buttons', window);
        var k = m('mod_allyes_text', window.c_allyes_text);
        if (!i && !k) return
    }
    var j = '<div class="base_ad140x60" style="height:{$height}px">{$iframe}<\/div>';
    var n = '<div class="base_adtxt140">{$text}<\/div>';
    var o = '<iframe marginheight="0" width="100%" height="100%" marginwidth="0" frameborder="0" scrolling="no" src="\/main\/adfshow?user={$user}&db=ctrip&border=0&local=yes"><\/iframe>';
    setTimeout(function() {
        if (g) {
            if (g.indexOf('@') > -1) g = s(g.split('@'));
            f.innerHTML = o.replace('{$user}', g)
        } else {
            var a = [];
            if (i) a = i.map(function(b) {
                b.button = b.button || ';';
                return j.replace('{$height}', b.height).replace('{$iframe}', o.replace('{$user}', b.user))
            });
            if (k) a.push(n.replace('{$text}', $s2t(k)));
            f.innerHTML = a.join('')
        }
    },
    window.c_allyes_delay);
    function m(a, c) {
        var d = f.getAttribute(a);
        if (!d) return null;
        if (c) return c[d] || null;
        else return d
    }
    function s(a) {
        var c = /^(SearchFlights\.aspx|SearchHotels\.aspx|query\.asp)$/i;
        var d = location.pathname;
        d = d.slice(d.lastIndexOf('/') + 1);
        return c.test(d) ? a[0] : a[1]
    }
};
Ctrip.module.notice = function(a) {
    var c;
    a.module.notice = new
    function() {
        this.enabled = true;
        this.tip = a.getAttribute("mod_notice_tip") || "";
        this.check = function() {
            if (a.module.notice.enabled) {
                with(a) {
                    if (isNull()) {
                        style.color = "gray";
                        value = module.notice.tip
                    } else style.color = ""
                }
            }
        };
        this.isNull = a.isNull = function() {
            return a.value.trim() == "" || a.value == a.module.notice.tip
        }
    };
    a.$r("focus",
    function() {
        c = true;
        if (a.module.notice.enabled) {
            a.style.color = "";
            if (a.value == a.module.notice.tip) a.value = ""
        }
    },
    10);
    a.$r("blur",
    function() {
        c = false;
        a.module.notice.check()
    },
    90);
    if (a.form) {
        var d = $(a.form);
        d.$r("submit",
        function() {
            if (a.isNull()) a.value = "";
            setTimeout(function() {
                if (!c) a.module.notice.check()
            },
            1)
        });
        if (!$$.browser.Opera) _.$r("beforeunload", a.module.notice.check)
    }
    a.module.notice.check()
};
Ctrip.module.tab = function(g) {
    var i = _.$g(g.getAttribute("mod_tab_button") || "");
    var k = _.$g(g.getAttribute("mod_tab_panel") || "");
    var j = parseInt(g.getAttribute("mod_tab_select") || 1, 10);
    var n = ((g.getAttribute("mod_tab_event") || "").match(/^mouseover$/i) || "click").toString();
    if (!i || !k) return;
    g.module.tab = new
    function() {
        this.funcListHash = {};
        this.select = function(a) {
            if (this.funcListHash[a - 1]) this.funcListHash[a - 1]()
        };
        this.index = j
    };
    i.each(function(d, f) {
        g.module.tab.funcListHash[f] = function() {
            i.each(function(a, c) {
                a.className = a.className.replace(/_(no)?current/g, "_" + (f == c ? "": "no") + "current");
                if (k[c]) k[c].style.display = (f == c) ? "": "none"
            });
            g.module.tab.index = f + 1
        };
        d.$r(n, g.module.tab.funcListHash[f])
    });
    g.module.tab.select(j)
};
Ctrip.module.display = function(k) {
    var j = k.$getPara("mod_display_panel"),
    n = [];
    j.each(function(a) {
        a = _.$(a) || _.$selNode(a);
        if (a) {
            if (a.length) a.each(function(a) {
                n.push(a)
            });
            else n.push(a)
        }
    });
    k.$r("click",
    function() { (function(f) {
            for (var g = 0; g < f.childNodes.length; g++) {
                with(f.childNodes[g]) {
                    if (nodeType == 3) {
                        var i = new RegExp($$.string.display.match(/[^@]+/g).join("|"), "gi");
                        nodeValue = nodeValue.replace(i,
                        function(a) {
                            var c = new RegExp("@" + a + "\\|([^@]+)|([^@]+)\\|" + a + "@", "i");
                            var d = $$.string.display.match(c);
                            return d[1] || d[2]
                        })
                    } else arguments.callee(f.childNodes[g])
                }
            }
        })(k);
        n.each(function(a) {
            a.style.display = a.$getStyle("display") == "none" ? "": "none"
        })
    })
};
Ctrip.module.selectAll = function(d) {
    var f = $selNode(d.getAttribute("mod_selectAll_input") || "");
    if (!f) return;
    f.each(function(c) {
        if (c != d) c.$r("onclick",
        function() {
            d.checked = f.each(function(a) {
                if (a != d && !a.checked) return false
            })
        })
    });
    d.$r("click",
    function() {
        f.each(function(a) {
            a.checked = d.checked
        })
    })
};
Ctrip.module.validate = function(a) {
    var c = _.$(a.getAttribute("mod_validate_true") || "");
    var d = _.$(a.getAttribute("mod_validate_false") || "");
    var f = a.getAttribute("mod_validate_function") || "";
    if (!f) return;
    var g = f.match(/^\/(.*?[^\\])\/([gmi]*?)$/);
    var i, k, j;
    f = a[f] || _[f];
    if (g || f) {
        a.module.validate = new
        function() {
            this.check = function() {
                if (a.value || !c && !d) j = !(k = f ? f(a.value, a) : a.value.match(new RegExp(g[1], g[2])));
                else k = j = false;
                if (c) c.style.display = k ? "": "none";
                if (d) d.style.display = j ? "": "none"
            }
        };
        a.$r("focus",
        function() {
            i = setInterval(a.module.validate.check, 200)
        });
        a.$r("blur",
        function() {
            a.module.validate.check();
            clearInterval(i)
        })
    }
};
$$.module.jmpInfo = (function() {
    var q = function(a) {
        var c = $(a).$getPos();
        return {
            x: c[0],
            y: c[1]
        }
    };
    var r = function(a, c) {
        if (!a) return;
        var d = a.style,
        f, g;
        if (c) {
            f = c.x + 'px';
            g = c.y + 'px'
        } else {
            f = '-10000px';
            g = '-10000px'
        }
        if (d.display != 'block') d.display = 'block';
        if (d.left != f) d.left = f;
        if (d.top != g) d.top = g
    };
    var h = {
        logging: false,
        coloring: false,
        animating: false,
        fading: false,
        current: null,
        next: null,
        popup: null,
        ani_box: null,
        log_box: null,
        timers: {
            show: 300,
            hide: 100,
            refresh: 200
        },
        array: {},
        template: {},
        css_url: 'styles/control/tuna_071206/control_jmpinfo_tuna_071206.css',
        css_loaded: false,
        load_timeout: 3000,
        template_dir: 'code/js/resource/jmpInfo_tuna/',
        data_dir: 'code/js/resource/jmpInfo_tuna/',
        common_callback: null,
        log: function() {
            if (!h.logging) return;
            var a = [].slice.call(arguments, 0);
            if (window.console) {
                console.log(a.join(' '))
            } else {
                if (!h.console_box) h.console_box = h.make_box({
                    left: '50%',
                    top: '0px',
                    font: 'normal 12px/16px verdana',
                    color: 'red',
                    border: '1px solid gray',
                    padding: '4px'
                });
                h.console_box.appendChild(document.createElement('div')).innerHTML = a.join(' ').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\r\n?|\n/g, '<br />')
            }
        },
        color: function(a, c) {
            if (h.coloring) {
                a.style.backgroundColor = c;
                a.style.borderColor = c == 'red' ? '#000': ''
            }
        },
        init: function() {
            h.popup = $("tuna_jmpinfo") || $('z1');
            h.popup.style.visibility = 'visible';
            r(h.popup, null);
            document.documentElement.$r('mouseover', h.mouseover)
        },
        test: function(a) {
            return a.getAttribute('mod') && /(\||^)jmpInfo(\||$)/.test(a.getAttribute('mod'))
        },
        mouseover: function(a) {
            var c = a || window.event;
            var d = c.target || c.srcElement;
            if (d == h.ani_box) return;
            if (h.current) {
                if (h.parent_of(h.current, d) || h.parent_of(h.popup, d)) {
                    h.clear_timer('hide');
                    h.color(h.current, 'red');
                    return
                }
                h.set_hide();
                h.set
            }
            if (h.next) {
                if (h.parent_of(h.next, d)) return;
                h.clear_timer('show');
                h.color(h.next, '')
            }
            h.next = null;
            if (h.test(d)) h.set_show(d)
        },
        make_box: function(a) {
            var c = document.createElement('div');
            var d = [];
            a = $merge({
                position: 'absolute',
                left: '-1000px',
                top: '-1000px'
            },
            a);
            for (var f in a) d.push(f + ':' + a[f]);
            c.style.cssText = d.join(';');
            return document.body.appendChild(c)
        },
        set_show: function(a) {
            h.next = a;
            h.set_timer('show');
            h.color(h.next, 'pink');
            h.getInfo(h.next);
            h.fire_event('before-show', h.next)
        },
        set_hide: function(a) {
            h.set_timer('hide');
            h.color(h.current, 'yellow');
            h.fire_event('before-hide', h.current)
        },
        set_timer: function(a, c) {
            var d = h.timers;
            if (!d['h_' + a]) {
                d['h_' + a] = (!c ? setTimeout: setInterval)(h['fn_' + a], d[a]);
                if (c) h['fn_' + a]()
            }
        },
        clear_timer: function(a, c) {
            var d = h.timers;
            d['h_' + a] = (!c ? clearTimeout: clearInterval)(d['h_' + a]) && null
        },
        change_state: function(a) {
            if (a) {
                if (!h.next) {
                    h.log('fn_show: J.next is null');
                    return
                }
                h.clear_timer('show');
                h.current = h.next;
                h.next = null;
                h.color(h.current, 'red');
                h.set_timer('refresh', true);
                h.fire_event('show', h.current);
                h.popup.$setIframe()
            } else {
                if (!h.current) {
                    h.log('fn_hide: J.current is null');
                    return
                }
                h.clear_timer('hide');
                h.clear_timer('refresh', true);
                if (h.fading) h.fade(true, h.popup, true);
                else if (h.animating) h.animate(true, q(h.popup), true);
                else r(h.popup, null);
                h.color(h.current, '');
                h.fire_event('hide', h.current);
                h.popup.$clearIframe();
                h.current = null
            }
        },
        fn_show: function(a) {
            h.change_state(true)
        },
        fn_hide: function(a) {
            h.change_state(false)
        },
        fn_refresh: function() {
            if (!h.current) {
                h.log('J.current lost');
                return
            }
            var a = h.getInfo(h.current);
            if (a.ready) {
                h.set_html(h.popup, h.makeHtml(a));
                var c = h.set_pos(h.current, h.popup, a.position);
                if (h.animating) h.animate(true, c);
                else if (h.fading) h.fade(true, h.popup)
            }
        },
        parent_of: function(a, c) {
            if (!a || !c) return false;
            while (c && a != c) c = c.parentNode;
            return a == c
        },
        view_port: function() {
            var a = $pageSize('win');
            a.right = a.left + a.width;
            a.bottom = a.top + a.height;
            return a
        },
        animate: function(a, c, d) {
            if (!h.ani_box) h.ani_box = h.ani_box = h.make_box({
                border: '1px solid #999'
            });
            if (a === true) {
                if (!d == h.animate__) return;
                h.animate__ = !d;
                h.popup.style.visibility = 'hidden';
                var f = q(h.current);
                $animate(h.ani_box, {
                    left: [f.x, c.x],
                    top: [f.y, c.y],
                    width: [h.current.offsetWidth, h.popup.offsetWidth],
                    height: [h.current.offsetHeight, h.popup.offsetHeight]
                },
                {
                    duration: 240,
                    callback: h.animate,
                    reverse: d
                })
            } else {
                h.popup.style.visibility = 'visible';
                r(h.ani_box, null)
            }
        },
        fade: function(a, c, d) {
            if (a === true) {
                if (!d == h.fade__) return;
                h.fade__ = !d;
                $animate(c, {
                    opacity: [0, 1]
                },
                {
                    duration: 240,
                    callback: d ? h.fade: function() {},
                    reverse: d
                })
            } else {
                r(h.popup, null)
            }
        },
        set_html: function(a, c) {
            if (h.current_html == c) return;
            a.innerHTML = h.current_html = c;
            var d = a.style;
            d.overflow = 'visible';
            d.width = '';
            d.width = a.scrollWidth + 'px';
            d.height = '';
            d.height = a.scrollHeight + 'px'
        },
        set_pos: function(a, c, d) {
            if (!a || !c) {
                return null
            }
            if (!a.offsetWidth || !a.offsetHeight) {
                r(c, null);
                if (c.$clearIframe) c.$clearIframe();
                return null
            } else {
                var f = h.calc_pos(a, c, d);
                r(c, f);
                if (c.$setIframe) c.$setIframe();
                return f
            }
        },
        calc_pos: function(a, c, d) {
            if (d && d.length == 4) {
                for (var f = 0,
                g = []; f < d.length; f++) {
                    g[f] = /[lt]/.test(d[f]) ? 0 : /[rb]/.test(d[f]) ? 1 : 0.5
                }
                var i = [{
                    x: c.offsetWidth * g[0],
                    y: c.offsetHeight * g[1]
                },
                {
                    x: a.offsetWidth * g[2],
                    y: a.offsetHeight * g[3]
                }];
                var k = q(a);
                return {
                    x: k.x + i[1].x - i[0].x,
                    y: k.y + i[1].y - i[0].y
                }
            } else {
                var k = q(a);
                var j = h.view_port();
                var n = {
                    x: a.offsetWidth,
                    y: a.offsetHeight
                };
                var o = {
                    x: c.offsetWidth,
                    y: c.offsetHeight
                };
                var m = ['l', 't', 'l', 'b'];
                if (k.x + o.x > j.right && k.x + n.x - o.x >= j.left) {
                    m[0] = 'r';
                    m[2] = 'r'
                }
                if (k.y + n.y + o.y > j.bottom && k.y - o.y >= j.top) {
                    m[1] = 'b';
                    m[3] = 't'
                }
                return arguments.callee(a, c, m)
            }
        },
        fire_event: function(a, c) {
            if (h.common_callback) h.common_callback(a, c);
            var d = h.getInfo(c).callback;
            if (d) d(a, c)
        },
        loadTemplate: function(c) {
            if (!h.css_loaded) {
                h.css_loaded = true;
                $loadCss(h.css_url)
            }
            var d = $$.module.jmpInfo.template;
            if (d.hasOwnProperty(c)) return !! d[c];
            d[c] = false;
            if (c.charAt(0) == '#') {
                var f = document.$g(c);
                if (!f) {
                    h.log('template element ' + c + ' not found')
                } else {
                    d[c] = h.htmlOf(f[0]);
                    return true
                }
            } else {
                var g = h.template_dir + c + '.js';
                $loadJs(g, 'gbk',
                function(a) {
                    if (a) {
                        h.log('J.loadTemplate timeout for ' + g);
                        return true
                    }
                },
                h.load_timeout)
            }
            return false
        },
        loadData: function(c) {
            if (!c) return true;
            var d = c.name;
            var f = $$.module.jmpInfo.array;
            if (f.hasOwnProperty(d)) return !! f[d];
            f[d] = false;
            var g = h.data_dir + d + '_' + $$.status.charset + '.js';
            $loadJs(g, null,
            function(a) {
                if (a) {
                    h.log('J.loadData timeout for ' + g);
                    return true
                }
            },
            h.load_timeout);
            return false
        },
        getInfo: function(a) {
            var c = {};
            var d = (a.getAttribute('mod_jmpInfo_page') || 'default_normal').split('?');
            c.page = !/^#/.test(d[0]) ? d[0].replace(/\.asp$/i, '').toLowerCase() : d[0];
            c.query = h.parseQuery(d.slice(1).join(''));
            c.ready = h.loadTemplate(c.page) && h.loadData(c.query);
            var f = a.getAttribute('mod_jmpInfo_content') || '';
            c.content = f.split('|');
            var g = a.getAttribute('mod_jmpInfo_position') || 'auto';
            if (g in h.posMap) g = h.posMap[g];
            c.position = /[ltrbcm]{4}/.test(g) ? g.split('') : null;
            var i = a.getAttribute('mod_jmpInfo_callback');
            if (i && typeof(window[i]) == 'function') c.callback = window[i];
            return c
        },
        posMap: {
            'align-center': 'ctcb',
            'align-left': 'ltlb',
            'corner-left': 'ltrb',
            'align-right': 'rtrb',
            'corner-right': 'rtlb',
            'above-align-left': 'lblt',
            'above-align-right': 'rbrt'
        },
        parseQuery: function(a) {
            if (!a) return null;
            var c = a.split('=');
            if (c.length < 2) return null;
            return {
                name: c[0],
                value: c.slice(1).join('')
            }
        },
        queryData: function(a) {
            var c = $$.module.jmpInfo.array[a.name];
            var d = '@' + a.value + '|';
            var f = c.indexOf(d) + 1;
            if (!f) {
                h.log('queryData failure', a.name, a.value);
                return []
            }
            return c.slice(f, c.indexOf('@', f)).split('|')
        },
        makeHtml: function(a) {
            var c = $$.module.jmpInfo.template[a.page];
            var d = c.match(/<body.*?>([\s\S]+)<\/body>/i);
            c = (d ? d[1] : c).replace(/<!--[\s\S]*?-->/g, '');
            var f = {
                'para': a.content
            };
            if (a.query) f['array'] = h.queryData(a.query);
            return h.fillContent(c, f)
        },
        fillContent: function(j, n) {
            var o = $keys(n).join('|');
            var m = '(<(\\w+)[^>]*)\\bid="(' + o + ')(\\d+)"([^>]*>)[\\s\\S]*?(<\\/\\2>)';
            var s = new RegExp(m, 'gi');
            return j.replace(s,
            function(a, c, d, f, g, i, k) {
                return c + i + (n[f][g - 1] || '') + k
            })
        },
        htmlOf: function(a) {
            if (!a || a.nodeType != 1) return '';
            a = a.cloneNode(true);
            a.removeAttribute('id');
            a.style.cssText = a.style.cssText.replace(/\bdisplay:\s*none;?/i, '');
            if ('outerHTML' in a) {
                return a.outerHTML.replace(/(<[^>]+\sid=)(\w+)/g, '$1"$2"')
            } else {
                var c = [];
                var d = a.attributes;
                for (var f = 0; f < d.length; f++) {
                    if (d[f].name == 'id') continue;
                    c.push(d[f].name + '="' + d[f].value + '"')
                }
                var g = c.length ? ' ' + c.join(' ') : '';
                var i = a.tagName.toLowerCase();
                return '<' + i + g + '>' + a.innerHTML + '</' + i + '>'
            }
        }
    };
    $r('domReady', h.init);
    return h
})();
$$.string.address = {
    "zh-cn": {
        b: "输入中文/拼音或↑↓选择.",
        i: "输入",
        j: "或↑↓选择.",
        k: "中文/拼音",
        e: "请输入至少两个字母或一个汉字.",
        h: "",
        o: "按拼音排序",
        s: "对不起, 找不到: ",
        l: "结果共",
        p: "项,←→翻页",
        a: ",共"
    },
    "zh-tw": {
        b: "輸入中文/拼音或↑↓選擇.",
        i: "輸入",
        j: "或↑↓選擇.",
        k: "中文/拼音",
        e: "請輸入至少兩個字母或一個漢字.",
        h: "",
        o: "按拼音排序",
        s: "對不起, 找不到: ",
        l: "結果共",
        p: "項,←→翻頁",
        a: ",共"
    },
    "en": {
        b: "Type or scroll to select.",
        i: "Input ",
        j: " or use up or down to select.",
        k: "English",
        e: "Please Input at least two character.",
        h: "",
        o: "sort by spelling",
        s: "No match",
        l: "Results ",
        p: ",left or right to turn page",
        a: ",All"
    }
} [$$.status.version];
$$.module.address.sourceMap = {
    "hotel": ["/hoteladdress/HotelCityAddress{$charset}.aspx", "utf-8"],
    "hotelAll": ["/hoteladdress/HotelCityAddress{$charset}.aspx", "utf-8"]
}; (function() {
    function H(a, c) {
        var d = a.match(/^[^\|]+/),
        f = c.match(/^[^\|]+/);
        return d > f ? 1 : (d == f ? 0 : -1)
    }
    function K() {
        var a = $c("div");
        with(a.style) {
            width = "0px";
            height = "0px"
        }
        a.innerHTML = "<div id=\"tuna_address\" style=\"display:none;position:absolute;z-index:120;overflow:hidden;\"><div id=\"address_warp\"><div id=\"address_message\">&nbsp;<\/div><div id=\"address_list\"><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><a class=\"a1\" href=\"###\"><span>&nbsp;<\/span>&nbsp;<\/a><\/div><div class=\"address_pagebreak\" id=\"address_p\"><a id=\"address_arrowl\" href=\"javascript:;\" name=\"p\">&lt;-<\/a><a id=\"address_p1\" href=\"javascript:;\" name=\"1\" class=\"address_current\">1<\/a><a id=\"address_p2\" href=\"javascript:;\" name=\"2\">2<\/a><a id=\"address_p3\" href=\"javascript:;\" name=\"3\">3<\/a><a id=\"address_p4\" href=\"javascript:;\" name=\"4\">4<\/a><a id=\"address_p5\" href=\"javascript:;\" name=\"5\">5<\/a><a id=\"address_arrowr\" href=\"javascript:;\" name=\"n\">-&gt;<\/a><\/div><\/div><\/div>";
        $("jsContainer").appendChild(a);
        A = $("tuna_address");
        $$.module.address.source["default"] = "@@";
        M = $("address_warp");
        J = $('address_message');
        L = $('address_list');
        I = [$('address_p'), $('address_p1'), $('address_p2'), $('address_p3'), $('address_p4'), $('address_p5')];
        O = $('address_arrowl');
        P = $('address_arrowr');
        x = L.getElementsByTagName("a");
        T = [];
        for (var c = 0; c < x.length; c++) T[c] = x[c].cloneNode(true)
    }
    var A, M, J, L, I, O, P, x, T;
    Ctrip.module.address = function(m) {
        if (!A) K();
        var s = 0,
        q, r = m.$getWin();
        var h = m.module.address = {};
        var G, y, t = null,
        C, z = [];
        m.setAttribute("autoComplete", "off");
        $r("beforeunload",
        function() {
            m.setAttribute("autoComplete", "on")
        });
        h.focusNext = m.getAttribute("mod_address_focusNext");
        h.focusNext = /^(1|true)$/i.test(h.focusNext || "");
        h.reference = m.getAttribute("mod_address_reference");
        var u = m.getAttribute("mod_address_cookie");
        if (u) {
            u = r.$(u);
            if (!u) {
                var p = r.$c("input");
                with(p) {
                    type = "hidden";
                    id = name = u
                }
                u = p;
                m.parentNode.insertBefore(u, m)
            }
        }
        if (h.reference) h.reference = r.$(h.reference) || r.$(h.reference, true);
        var w = m.getAttribute("mod_address_suggest");
        var v = m.getAttribute("mod_address_cookieSuggest");
        h.suggest = [];
        if (v) {
            h.suggest = v.match(/[^@]+@/gi);
            if (w) h.suggest._5(w.match(/[^@]+@/gi))
        } else if (w) h.suggest = w.match(/[^@]+@/gi);
        if (h.suggest.length > 12) h.suggest = h.suggest.slice(0, 12);
        h.source = m.getAttribute("mod_address_source") || "default";
        if (!$$.module.address.source[h.source]) {
            $$.module.address.source[h.source] = "@@";
            if ($$.module.address.sourceMap[h.source]) $loadJs($$.module.address.sourceMap[h.source][0].replace(/\{\$charset\}/gi, $$.status.charset), ($$.module.address.sourceMap[h.source][1] || "").replace(/\{\$charset\}/gi, $$.status.charset) || $$.status.charset);
            else $loadJs("code/js/resource/address_tuna/" + h.source + "_" + $$.status.charset + ".js", $$.status.charset)
        }
        h.auto = m.getAttribute("mod_address_auto");
        h.auto = h.auto && h.auto.match(/^(false|0)$/i) ? false: true;
        h.redraw = function() {
            if (y) Q()
        };
        h.hook = {}; (m.getAttribute("mod_address_hook") || "").replace(/(on)?([^;:]+):([^;]+)/gi,
        function(a, c, d, f) {
            h.hook[d.toLowerCase()] = r[f]
        });
        function l() {
            if (s) {
                s = 0;
                return
            }
            q = false;
            L.style.display = J.style.display = I[0].style.display = "none";
            function d(c) {
                x[c].onmousedown = function(a) {
                    B(c);
                    $stopEvent(a);
                    if (x[c].outerHTML) x[c].outerHTML = x[c].outerHTML + ' ';
                    m.blur()
                }
            }
            A.onmousedown = function() {
                s = 1
            };
            for (var f = 0; f < x.length; f++) new d(f);
            O.onmousedown = P.onmousedown = E;
            for (var f = 1; f < I.length; f++) I[f].onmousedown = E;
            C = null;
            if (t !== null) x[t].className = "address_selected";
            if (h.hook["focus"]) h.hook["focus"](m);
            setTimeout(Q, 0);
            y = setInterval(Q, 150)
        }
        function E(a) {
            s = 1;
            if (a) $stopEvent(a);
            switch (this) {
            case O:
                D.m_get(D.page - 1);
                break;
            case P:
                D.m_get(D.page + 1);
                break;
            default:
                D.m_get(parseInt(this.firstChild.nodeValue))
            }
        }
        var D = new
        function() {
            var g;
            this.page = 1;
            this.pagelist;
            this.maxpage = 1;
            this.m_get = function(a) {
                if (!g || !a || a < 1 || a > this.maxpage) return null;
                this.page = a;
                this.pagelist = g.slice((a - 1) * 12, Math.min(a * 12, g.length));
                for (var c = 0; c < x.length; c++) {
                    if (c < this.pagelist.length) {
                        x[c].style.display = "block";
                        var d = this.pagelist[c].replace(/@/g, "").split("|");
                        x[c].lastChild.nodeValue = d[1];
                        x[c].firstChild.firstChild.nodeValue = d[0];
                        z[c] = d
                    } else {
                        x[c].style.display = "none";
                        z[c] = null
                    }
                }
                if (t !== null) {
                    if (t >= this.pagelist.length) {
                        x[t].className = "";
                        t = this.pagelist.length - 1;
                        x[t].className = "address_selected"
                    }
                } else {
                    t = 0;
                    x[0].className = "address_selected"
                }
                i.call(this);
                L.style.display = J.style.display = "";
                if (!q) {
                    A.style.display = "";
                    var f = m.$getPos();
                    if (A.offsetWidth + f[0] > ___.offsetWidth) A.$setPos(m, "tr", "br");
                    else A.$setPos(m);
                    A.$setIframe();
                    q = true
                }
                N.call(this)
            };
            this.m_set = function(a) {
                g = a;
                this.maxpage = Math.ceil(a.length / 12);
                this.page = 1;
                this.m_get(1)
            };
            function i() {
                var a = this.maxpage < 6 || this.page < 3 ? 1 : this.page > this.maxpage - 2 ? this.maxpage - 4 : this.page - 2;
                var c = Math.min(a + 4, this.maxpage);
                var d;
                O.style.display = this.page == 1 ? "none": "";
                P.style.display = this.page == this.maxpage ? "none": "";
                for (var f = a; f < a + 5; f++) {
                    d = I[f - a + 1];
                    if (f <= c) {
                        d.firstChild.nodeValue = f;
                        d.className = f == this.page ? "address_current": "";
                        d.style.display = ""
                    } else d.style.display = "none"
                }
                I[0].style.display = this.maxpage > 1 ? "block": "none"
            }
        };
        function N() {
            with(A.style) {
                width = M.offsetWidth + "px";
                height = M.offsetHeight + "px"
            }
            A.$setIframe()
        }
        function R() {
            if (h.suggest.length == 0) {
                A.style.display = "none";
                if (t !== null) {
                    x[t].className = "";
                    t = null
                }
                return
            }
            D.m_set(h.suggest);
            J.lastChild.nodeValue = $$.status.version.match(/^zh-/) ? $$.string.address.i + (m.module.notice ? m.module.notice.tip: $$.string.address.k) + $$.string.address.j: $$.string.address.b
        }
        function Q() {
            var c = m.value.trim();
            if (c === C) return;
            C = c;
            c = c.replace(/([\(\)\\\[\]\.\+\?\*\|\^\$])/gi, "\\$1").replace(/@|\|/gi, "");
            if (!c) {
                R();
                N();
                return
            }
            A.style.display = "";
            var d = $$.module.address.source[h.source];
            var f = new RegExp("@([^\\|@]*\\|)?" + c + "[^@]*", "gi");
            var g = new RegExp("@([^@]*\\|)?" + c + "[^@]*", "gi");
            var i = new RegExp("@[^@]*" + c + "[^@]*", "gi");
            var k = [],
            j = [],
            n = [];
            d = d.replace(f,
            function(a) {
                k.push(a);
                return ""
            });
            if (k) k.sort(H);
            d = d.replace(g,
            function(a) {
                j.push(a);
                return ""
            });
            if (j) j.sort(H);
            d = d.replace(i,
            function(a) {
                n.push(a);
                return ""
            });
            if (n) n.sort(H);
            arr = k.concat(j).concat(n);
            if (!arr || !arr.length) {
                J.lastChild.nodeValue = h.auto ? ($$.string.address.s + ($$.status.version == "en" ? "": m.value)) : ($$.string.address.h + m.value + ", " + $$.string.address.o);
                if (!h.auto) {
                    A.style.display = "none";
                    if (t !== null) {
                        x[t].className = "";
                        t = null
                    }
                }
                if (L.style.display == "none") R();
                N()
            } else {
                J.lastChild.nodeValue = $$.string.address.h + m.value + ", " + $$.string.address.o;
                D.m_set(arr)
            }
        }
        function S(a) {
            var c = a ? a.keyCode: event.charCode;
            var d = "|" + c + "|";
            if (t == null) {
                if ("|13|".indexOf(d) != -1) {
                    $stopEvent(a, 1);
                    if (h.focusNext) setTimeout(function() {
                        m.$focusNext()
                    },
                    1)
                }
                return true
            }
            if ("|13|".indexOf(d) != -1) {
                $stopEvent(a, 1);
                B(t);
                m.blur()
            }
            if ("|33|37|109|188|219|".indexOf(d) != -1) {
                E.call(O);
                $stopEvent(a, 1)
            }
            if ("|34|39|61|190|221|".indexOf(d) != -1) {
                E.call(P);
                $stopEvent(a, 1)
            }
            if ("|38|40|".indexOf(d) != -1) {
                x[t].className = "";
                t += D.pagelist.length - 39 + c;
                t %= D.pagelist.length;
                x[t].className = "address_selected";
                $stopEvent(a, 1)
            }
        }
        function B(a, c) {
            s = 2;
            m.value = z[a][1] || z[a][0];
            if (h.reference) h.reference.value = z[a][2];
            if (u) u.value = z.join("|");
            if (h.hook["change"]) h.hook["change"](m);
            if (c !== false && h.focusNext) setTimeout(function() {
                m.$focusNext()
            },
            1)
        }
        function F() {
            if (s == 1) {
                setTimeout(function() {
                    m.focus()
                },
                1);
                return
            }
            clearInterval(y);
            y = null;
            A.$clearIframe();
            A.style.display = "none";
            if (t !== null) {
                if (m.value && s != 2) {
                    if (h.auto) B(t, false);
                    else h.check()
                }
                x[t].className = "";
                t = null
            }
            s = 0;
            A.onmousedown = null
        }
        h.check = function() {
            var c = m.value.trim();
            if (m.isNull && m.isNull()) c = "";
            var d;
            C = c;
            c = c.replace(/([\(\)\\\[\]\.\+\?\*\|\^\$])/gi, "\\$1").replace(/@|\|/gi, "");
            if (c) {
                var f = $$.module.address.source[h.source];
                var g = h.auto ? new RegExp("@([^\\|@]*\\|)?" + c + "[^@]*", "gi") : new RegExp("@([^\\|@]*\\|)?" + c + "(\\|[^@]*)?(?=@)", "gi");
                var i = h.auto ? new RegExp("@([^@]*\\|)?" + c + "[^@]*", "gi") : new RegExp("@([^@]*\\|)?" + c + "(\\|[^@]*)?(?=@)", "gi");
                var k = new RegExp("@[^@]*" + c + "[^@]*", "gi");
                var j = [],
                n = [],
                o = [];
                f = f.replace(g,
                function(a) {
                    j.push(a);
                    return ""
                });
                if (j) j.sort(H);
                f = f.replace(i,
                function(a) {
                    n.push(a);
                    return ""
                });
                if (n) n.sort(H);
                if (h.auto) {
                    f = f.replace(k,
                    function(a) {
                        o.push(a);
                        return ""
                    });
                    if (o) o.sort(H)
                }
                d = j.concat(n).concat(o);
                if (d && d.length) {
                    q = true;
                    D.m_set(d);
                    q = false;
                    B(0, false);
                    s = 0
                }
            }
            if (m.module.notice) m.module.notice.check();
            return !! d
        };
        m.$r("onfocus", l);
        m.blur();
        m.$r("onblur", F);
        m.$r("onkeydown", S);
        if (h.hook["load"]) h.hook["load"](m)
    }
})();
$$.string.calendar = {
    "zh-cn": {
        a: "年",
        b: "月"
    },
    "zh-tw": {
        a: "年",
        b: "月"
    },
    "en": {
        a: "",
        b: "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"
    }
} [$$.status.version]; (function() {
    function S() {
        var a = $c("div");
        with(a.style) {
            width = "0px";
            height = "0px"
        }
        a.innerHTML = "<div id=\"tuna_calendar\" style=\"display:none;position:absolute;z-index:120;overflow:hidden;\"><table id=\"calendar_month1\" cellpadding=\"0\" cellspacing=\"0\"><thead><tr><th colspan=\"7\" class=\"calendar_title01\"><span id=\"calendar_lastmonth\">&lt;--<\/span><div id=\"calendar_title1\">2007年8月<\/div><\/th><\/tr><\/thead><tr><th class=\"day0\">日<\/th><th>一<\/th><th>二<\/th><th>三<\/th><th>四<\/th><th>五<\/th><th class=\"day6\">六<\/th><\/tr><tr><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"over_day\">1<\/a><\/td><td><a href=\"###\" class=\"over_day\">2<\/a><\/td><td><a href=\"###\" class=\"over_day\">3<\/a><\/td><td><a href=\"###\" class=\"over_day\">4<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"over_day\">5<\/a><\/td><td><a href=\"###\" class=\"over_day\">6<\/a><\/td><td><a href=\"###\" class=\"over_day\">7<\/a><\/td><td><a href=\"###\" class=\"over_day\">8<\/a><\/td><td><a href=\"###\" class=\"over_day\">9<\/a><\/td><td><a href=\"###\" class=\"over_day\">10<\/a><\/td><td><a href=\"###\" class=\"over_day\">11<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"over_day\">12<\/a><\/td><td><a href=\"###\" class=\"over_day\">13<\/a><\/td><td><a href=\"###\" class=\"over_day\">14<\/a><\/td><td><a href=\"###\" class=\"over_day\">15<\/a><\/td><td><a href=\"###\" class=\"over_day\">16<\/a><\/td><td><a href=\"###\" class=\"over_day\">17<\/a><\/td><td><a href=\"###\" class=\"selected_day\">18<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"cue_day\">19<\/a><\/td><td><a href=\"###\" class=\"cue_day\">20<\/a><\/td><td><a href=\"###\" class=\"current_day\">21<\/a><\/td><td><a href=\"###\" class=\"enable_day\">22<\/a><\/td><td><a href=\"###\" class=\"enable_day\">23<\/a><\/td><td><a href=\"###\" class=\"enable_day\">24<\/a><\/td><td><a href=\"###\" class=\"enable_day\">25<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">26<\/a><\/td><td><a href=\"###\" class=\"limit_day\">27<\/a><\/td><td><a href=\"###\" class=\"enable_day\">28<\/a><\/td><td><a href=\"###\" class=\"enable_day\">29<\/a><\/td><td><a href=\"###\" class=\"enable_day\">30<\/a><\/td><td><a href=\"###\" class=\"enable_day\">31<\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><\/tr><\/table><table id=\"calendar_month2\" cellpadding=\"0\" cellspacing=\"0\"><thead><tr><th colspan=\"7\" class=\"calendar_title02\"><span id=\"calendar_nextmonth\">--&gt;<\/span><div id=\"calendar_title2\">2007年9月<\/div><\/th><\/tr><\/thead><tr><th class=\"day0\">日<\/th><th>一<\/th><th>二<\/th><th>三<\/th><th>四<\/th><th>五<\/th><th class=\"day6\">六<\/th><\/tr><tr><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"enable_day\">1<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">2<\/a><\/td><td><a href=\"###\" class=\"enable_day\">3<\/a><\/td><td><a href=\"###\" class=\"enable_day\">4<\/a><\/td><td><a href=\"###\" class=\"enable_day\">5<\/a><\/td><td><a href=\"###\" class=\"enable_day\">6<\/a><\/td><td><a href=\"###\" class=\"enable_day\">7<\/a><\/td><td><a href=\"###\" class=\"enable_day\">8<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">9<\/a><\/td><td><a href=\"###\" class=\"enable_day\">10<\/a><\/td><td><a href=\"###\" class=\"enable_day\">11<\/a><\/td><td><a href=\"###\" class=\"enable_day\">12<\/a><\/td><td><a href=\"###\" class=\"enable_day\">13<\/a><\/td><td><a href=\"###\" class=\"enable_day\">14<\/a><\/td><td><a href=\"###\" class=\"enable_day\">15<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">16<\/a><\/td><td><a href=\"###\" class=\"enable_day\">17<\/a><\/td><td><a href=\"###\" class=\"enable_day\">18<\/a><\/td><td><a href=\"###\" class=\"enable_day\">19<\/a><\/td><td><a href=\"###\" class=\"enable_day\">20<\/a><\/td><td><a href=\"###\" class=\"enable_day\">21<\/a><\/td><td><a href=\"###\" class=\"enable_day\">22<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">23<\/a><\/td><td><a href=\"###\" class=\"enable_day\">24<\/a><\/td><td><a href=\"###\" class=\"enable_day\">25<\/a><\/td><td><a href=\"###\" class=\"enable_day\">26<\/a><\/td><td><a href=\"###\" class=\"enable_day\">27<\/a><\/td><td><a href=\"###\" class=\"enable_day\">28<\/a><\/td><td><a href=\"###\" class=\"enable_day\">29<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"enable_day\">30<\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><td><a href=\"###\" class=\"blank_day\"><\/a><\/td><\/tr><\/table><\/div>";
        $("jsContainer").appendChild(a);
        B = $("tuna_calendar");
        F,
        H;
        K = $$.status.today.isDateTime() || new Date();
        A = $("calendar_title1"),
        M = $("calendar_title2");
        J = $("calendar_month1"),
        L = $("calendar_month2");
        I = B.getElementsByTagName("th");
        for (var c = 0; c < I.length; c++) if (c % 8 > 0) I[c].firstChild.nodeValue = $$.string.weekday.charAt(c % 8 - 1)
    }
    var B, F, H, K, A, M, J, L, I;
    Ctrip.module.calendar = function(p) {
        if (!B) S();
        var w = 0,
        v = 1;
        var l = p.module.calendar = {};
        p.setAttribute("autoComplete", "off");
        $r("beforeunload",
        function() {
            p.setAttribute("autoComplete", "on")
        });
        p.value = p.value || p.getAttribute("value") || "";
        l.focusNext = p.getAttribute("mod_calendar_focusNext");
        l.focusNext = l.focusNext && l.focusNext.match(/^(1|true)$/i);
        l.rangeStart = p.getAttribute("mod_calendar_rangeStart");
        if (l.rangeStart == "#") l.rangeStart = $$.status.today;
        l.rangeStart = l.rangeStart ? l.rangeStart.isDateTime() : null;
        l.rangeEnd = p.getAttribute("mod_calendar_rangeEnd");
        if (l.rangeEnd == "#") l.rangeEnd = $$.status.today;
        l.rangeEnd = l.rangeEnd ? l.rangeEnd.isDateTime() : null;
        l.rangeException = p.getAttribute("mod_calendar_rangeException");
        l.rangeException = l.rangeException ? l.rangeException.replace(/-0?/gi, "-").split("|") : null;
        l.permit = p.getAttribute("mod_calendar_permit");
        l.permit = l.permit ? l.permit.replace(/-0?/gi, "-").split("|") : null;
        l.weekday = p.getAttribute("mod_calendar_weekday") || "1234567";
        l.prohibit = p.getAttribute("mod_calendar_prohibit");
        l.prohibit = l.prohibit ? l.prohibit.replace(/-0?/gi, "-").split("|") : null;
        l.reference = p.getAttribute("mod_calendar_reference");
        l.reference = l.reference ? p.$getWin().$(l.reference) : null;
        l.redraw = function() {
            v = 1
        };
        l.check = function(a) {
            var c = (p.isNull && p.isNull() ? "": p.value).trim();
            if (!c) return arguments.length ? a: false;
            var d = (c.parseStdDate() || "").isDateTime();
            if (!d) return false;
            var f = d.toStdString();
            if (l.rangeStart && d < l.rangeStart || l.rangeEnd && d > l.rangeEnd) return false;
            return ("|" + (l.rangeException || []).join("|") + "|").indexOf("|" + f + "|") == -1 && ("|" + (l.prohibit || []).join("|") + "|").indexOf("|" + f + "|") == -1 && l.weekday.indexOf(d.getDay() || "7") != -1 || ("|" + (l.permit || []).join("|") + "|").indexOf("|" + f + "|") != -1
        };
        l.hook = {}; (p.getAttribute("mod_calendar_hook") || "").replace(/(on)?([^;:]+):([^;]+)/gi,
        function(a, c, d, f) {
            l.hook[d.toLowerCase()] = _[f]
        });
        function E() {
            if (p == H && !v) {
                B.style.display = "";
                B.$setIframe();
                if (F) F.className = F.className.replace(/selected_day/gi, "");
                var a = p.value.isDateTime();
                F = null;
                if (a) F = $("d_" + a.toStdString());
                if (F) F.className += " selected_day";
                return
            }
            if (p.module.notice) {
                p.module.notice.enabled = false;
                p.style.color = "";
                if (p.value == p.module.notice.tip) p.value = ""
            }
            v = 0;
            H = p;
            B.style.display = "";
            $("calendar_lastmonth").onmousedown = $("calendar_nextmonth").onmousedown = function() {
                v = 0;
                l.currentDate = new Date(l.currentDate.getFullYear(), l.currentDate.getMonth() + (/last/.test(this.id) ? -2 : 2), 1);
                N()
            };
            var c = p.$getPos();
            if (B.offsetWidth + c[0] > ___.offsetWidth) B.$setPos(p, "tr", "br");
            else B.$setPos(p);
            B.$setIframe();
            l.currentDate = ((p.isNull && p.isNull() ? "": p.value).trim().parseStdDate() || "").isDateTime();
            if (!l.currentDate) {
                l.currentDate = l.rangeStart || new Date();
                if (l.reference) {
                    var d = (l.reference.isNull() ? "": l.reference.value).isDateTime();
                    if (d > l.currentDate) l.currentDate = d
                }
                while (true) {
                    var f = l.currentDate.toStdString();
                    if (("|" + (l.rangeException || []).join("|") + "|").indexOf("|" + f + "|") == -1 && ("|" + (l.prohibit || []).join("|") + "|").indexOf("|" + f + "|") == -1 && l.weekday.indexOf(l.currentDate.getDay() || "7") != -1 || ("|" + (l.permit || []).join("|") + "|").indexOf("|" + f + "|") != -1) {
                        break
                    }
                    if (!l.rangeEnd || l.rangeEnd && l.currentDate < l.rangeEnd) l.currentDate = l.currentDate.addDate(1);
                    else {
                        l.currentDate = new Date();
                        break
                    }
                }
            }
            l.currentDate = new Date(l.currentDate.getFullYear(), l.currentDate.getMonth(), 1);
            N();
            B.onmousedown = function() {
                w = 1
            }
        }
        function D(j, n, o) {
            function m(a, c, d, f) {
                var g = c ? c.getDate() : "",
                i = g ? "d_" + j + "-" + (n + 1) + "-" + g: "",
                k = f && c ? (l.weekday.indexOf(c.getDay() || 7) != -1) : 1;
                a = a.firstChild;
                if (a.lastChild) a.lastChild.nodeValue = g;
                else a.appendChild(__.createTextNode(g));
                a.date = c;
                a.id = i;
                a.className = k ? d: "limit_day";
                a.onmousedown = f && k ? R: null;
                if (a.replaceNode) {
                    a.bak = null;
                    a.bak = a.cloneNode(true)
                }
            }
            var s = o.getElementsByTagName("td");
            o.rows[1].className = j == K.getFullYear() && n == K.getMonth() ? "currentmonth01": "";
            var q = new Date(j, n, 1),
            r = new Date(j, n + 1, 0),
            h = r.getDate(),
            G = q.getDay(),
            y,
            t,
            C,
            z;
            for (var u = 0; u < G; u++) m(s[u], null, "blank_day", 0);
            C = l.reference && l.reference.value.isDateTime();
            for (var u = 0; u < h; u++) {
                y = new Date(j, n, u + 1);
                z = (!l.rangeStart || y >= l.rangeStart) && (!l.rangeEnd || y <= l.rangeEnd);
                m(s[u + G], y, z ? (C && y <= C ? "cue_day": "enable_day") : "over_day", z)
            }
            for (var u = h + G; u < 42; u++) m(s[u], null, "blank_day", 0)
        }
        function N() {
            var a = new Date(l.currentDate.getFullYear(), l.currentDate.getMonth() + 1, 1),
            c;
            var d = l.currentDate.getFullYear(),
            f = l.currentDate.getMonth();
            var g = a.getFullYear(),
            i = a.getMonth();
            A.innerHTML = $$.status.version.match(/^zh-/) ? (d + $$.string.calendar.a + (f + 1) + $$.string.calendar.b) : ($$.string.calendar.b.split("|")[f] + " " + d);
            M.innerHTML = $$.status.version.match(/^zh-/) ? (g + $$.string.calendar.a + (i + 1) + $$.string.calendar.b) : ($$.string.calendar.b.split("|")[i] + " " + g);
            D(d, f, J);
            D(g, i, L);
            if (l.rangeException) for (var k = 0; k < l.rangeException.length; k++) if (c = $("d_" + l.rangeException[k])) {
                c.className = "over_day";
                c.onmousedown = null
            }
            if (l.permit) for (var k = 0; k < l.permit.length; k++) if (c = $("d_" + l.permit[k])) {
                c.className = "enable_day";
                c.onmousedown = R
            }
            if (l.prohibit) for (var k = 0; k < l.prohibit.length; k++) if (c = $("d_" + l.prohibit[k])) {
                c.className = "limit_day";
                c.onmousedown = null
            }
            if (c = $("d_" + K.getFullYear() + "-" + (K.getMonth() + 1) + "-" + K.getDate())) c.className += " current_day";
            if (F) F.className = F.className.replace(/selected_day/gi, "");
            if (c = $("d_" + p.value.parseStdDate())) {
                c.className += " selected_day";
                F = c
            }
            B.$setIframe()
        }
        function R(a) {
            p.value = $$.status.version.match(/^zh-/) ? (this.date.getFullYear() + "-" + (this.date.getMonth() + 1) + "-" + this.date.getDate()) : ($$.string.calendar.b.split("|")[this.date.getMonth()] + "-" + this.date.getDate() + "-" + this.date.getFullYear());
            v = 1;
            if (this.outerHTML) this.outerHTML = this.outerHTML + ' ';
            if (l.hook["change"]) l.hook["change"](p);
            p.blur();
            $stopEvent(a);
            if (l.focusNext) setTimeout(function() {
                p.$focusNext()
            },
            10)
        }
        function Q() {
            if (w == 1) {
                w = 0;
                setTimeout(function() {
                    p.focus()
                },
                0);
                return true
            }
            B.style.display = "none";
            B.$clearIframe();
            if (p.module.notice) p.module.notice.enabled = true
        }
        p.$r("focus", E);
        p.$r("blur", Q)
    }
})(); (function() {
    var f = __.domain.match(/ctrip(travel)?\.com$/);
    if (f) {
        _.__uidc_init = new Date * 1;
        __.write("<script src=\"\/in.asp\"><\/script>")
    }
    if (_.$$.status.charset == 'big5') __.write("<script src=\"\/code\/js\/public\/public_s2t.js\" charset=\"utf-8\"><\/script>");
    else _.$s2t = function(a) {
        return a
    };
    if ($$.browser.IE6) try {
        __.execCommand("BackgroundImageCache", false, true)
    } catch(e) {};
    $$.status.debug = /\$debug\$/i.test($topWin.name) || /^(true|1)$/.test($getQuery("debug"));
    $$.status.debugEvent = /\$debugEvent\$/i.test($topWin.name) || /^(true|1)$/.test($getQuery("debugEvent"));
    $$.status.alertDiv.innerHTML = $$.status.version.match(/^zh-/) ? "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"base_popwindow01\"><tr><td class=\"base_poptl\"><\/td><td class=\"base_poptc\"><div><\/div><\/td><td class=\"base_poptr\"><\/td><\/tr><tr><td class=\"base_popml\"><\/td><td id=\"alertInfo\" class=\"base_popmc\">内容<\/td><td class=\"base_popmr\"><\/td><\/tr><tr><td class=\"base_popbl\"><\/td><td class=\"base_popbc\"><div><\/div><\/td><td class=\"base_popbr\"><\/td><\/tr><\/table>": "<table id=\"alertTable\" style=\"font-family:Arial;margin:0;\" cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"margin:0;padding:0px 2px 2px 0px;background:#E7E7E7;\"><div id=\"alertInfo\" style=\"margin:0px;padding:10px;font-size:12px;text-align:left;background:#FFFFE8;border:1px solid #FFDF47;color:#000;white-space:nowrap;\">内容<\/div><\/td><\/tr><\/table>";
    function g(c) {
        function d() {
            if ($$.status.domReady) return;
            var a;
            $$.status.domReady = true;
            if ("domready" in _.module.event) {
                while (a = _.module.event["domready"].shift()) if (a.enabled) try {
                    a.func(c)
                } catch(c) {
                    $t("domReady函数错误:" + a.func.toString().slice(0, 100) + "...", "red", a.func);
                    $trackEvent('tuna-error', 'evtDomReady.execEvent', $error(c), $tunaVersion())
                }
            }
        }
        if ($$.browser.Safari || $$.browser.Opera) setTimeout(d, 1);
        else d()
    }
    if ($$.browser.Moz) __.addEventListener("DOMContentLoaded", g, false);
    else if ($$.browser.IE) {
        try {
            if (!_.frameElement)(function() {
                try {
                    ___.doScroll("left")
                } catch(e) {
                    setTimeout(arguments.callee, 50);
                    return
                }
                g()
            })()
        } catch(e) {}
    } else if ($$.browser.Safari) {
        var i = setInterval(function() {
            if (__.readyState == "loaded" || __.readyState == "complete") {
                clearInterval(i);
                g()
            }
        },
        10)
    }
    function loadPageValue() {
        var a = $$.status.saveStatus.value;
        if (a) $$.status.back = true;
        $$.status.pageValue = $fromJson(a || "{}");
        if (! ("data" in $$.status.pageValue)) $$.status.pageValue.data = {};
        //if (!$$.browser.Opera) $r("beforeunload", [$saveHistory, $savePageValue], 90)
    }
    function loadHistory() { ($$.status.pageValue["historyInfo"] || "").split("|").each(function(a) {
            var c = unescape(a).split("|");
            if (c.length == 5) {
                for (var d = 0; d < c.length; d++) c[d] = unescape(c[d]);
                $$.history.info[c[0]] = c.slice(1);
                $t("[history]恢复历史:" + c[1] + "/" + c[2], "green", c.slice(2).join("\r"))
            }
        });
        $$.history.count = parseInt($$.status.pageValue["historyCount"] || 0, 10) || 0
    }
    $r("domReady",
    function() {
        $(__.body);
        loadPageValue();
        loadHistory();
        var a = $$.status.pageValue["lastHistory"];
        if (a) if ($$.browser.IE || $$.browser.Opera) {
            $r("load",
            function() {
                setTimeout(function() {
                    $$.history.init()
                },
                1)
            })
        } else $$.history.init()
    },
    10);
    $r("domready", [$parserRe, $fixElement,
    function() {
        try {
            __.body.focus()
        } catch(e) {}
    }]);
    $r("load", [g,
    function() {
        $$.status.load = true
    }])
})();
var maskShow = (function() {
    var i = null;
    var k = null;
    var j = false;
    var n = {
        onresize: null,
        onscroll: null
    };
    return function(a, c) {
        if (!i) s();
        j = !!c;
        if (!a) {
            y(k, false);
            y(i, false);
            o(true);
            k = null;
            if (!j) for (var d in n) {
                window[d] = n[d];
                n[d] = null
            }
        } else {
            if (k) y(k, false);
            k = a;
            q(k);
            r();
            i.style.zIndex = maskShow.zIndexBack || 15;
            k.style.zIndex = maskShow.zIndexFore || 20;
            y(k, true);
            y(i, true);
            o(false, a);
            if (!j) for (var d in n) {
                n[d] = window[d];
                window[d] = r
            }
        }
    };
    function o(a, c) {
        if (! ('ActiveXObject' in window)) return;
        var d = document.getElementsByTagName('select');
        var f = a ? 'visible': 'hidden';
        for (var g = 0; g < d.length; g++) {
            if ((a || !m(d[g], c)) && d[g].currentStyle.visibility != f) d[g].style.visibility = f
        }
    }
    function m(a, c) {
        while (a && a != c) a = a.parentNode;
        return a == c
    }
    function s() {
        i = document.createElement('div');
        i.style.cssText = 'background-color:{$c};border:none;position:absolute;visibility:hidden;opacity:{$a};filter:alpha(opacity={$A});z-index:{$z}'.replaceWith({
            c: maskShow.bgColor || '#fff',
            a: maskShow.bgAlpha || '0.7',
            A: maskShow.bgAlpha ? parseInt(maskShow.bgAlpha * 100) : '70'
        });
        document.body.appendChild(i);
        maskShow.mask = i
    }
    function q(a) {
        var c = a.style;
        c.position = 'absolute';
        c.left = '-10000px';
        c.top = '-10000px';
        c.visibility = 'hidden';
        c.display = 'block';
        c.zIndex = 10
    }
    function r() {
        if (!k) return;
        var a = $pageSize('doc');
        G(i, a);
        var c = h(a, k.offsetWidth, k.offsetHeight);
        if (c.left < a.scrollLeft) c.left = a.scrollLeft;
        if (c.top < a.scrollTop) c.top = a.scrollTop;
        G(k, c)
    }
    function h(a, c, d) {
        return {
            left: ((a.winWidth - c) >> 1) + a.scrollLeft + (maskShow.adjustX || 0),
            top: ((a.winHeight - d) >> 1) + a.scrollTop + (maskShow.adjustY || 0)
        }
    }
    function G(a, c) {
        var d = a.style;
        d.left = (c.left || 0) + 'px';
        d.top = (c.top || 0) + 'px';
        if ('width' in c) d.width = c.width + 'px';
        if ('height' in c) d.height = c.height + 'px'
    }
    function y(a, c) {
        a.style.visibility = c ? 'visible': 'hidden';
        if (!c) {
            a.style.left = -a.offsetWidth - 100 + 'px';
            a.style.top = -a.offsetHeight - 100 + 'px'
        }
    }
})();
$$.module.adpic = {
    source: {}
};
Ctrip.module.adpic = function(g) {
    var i = $(g.getAttribute("mod_adpic_link") || "");
    var k = $(g.getAttribute("mod_adpic_container") || "") || g;
    var j = $(g.getAttribute("mod_adpic_button") || "");
    if (i) {
        var n = g.getAttribute("mod_adpic_source") || "";
        var o = $$.module.adpic.source[n];
        if (!o || !o.length) return
    }
    var m = parseInt(g.getAttribute("mod_adpic_interval") || "") || 5000;
    var s = $$.browser.IE ? 25 : 5;
    var q = [];
    if (i) {
        i.style.display = "none";
        for (var r = 0; r < o.length; r++) {
            var h = i.cloneNode(true);
            h.style.backgroundImage = "url(\'" + o[r].src + "\')";
            h.href = o[r].href || "javascript:void(0);";
            h.style.cursor = /^(|###|javascript:;?|javascript:void\(0\);?)$/i.test(o[r].href) ? "default": "pointer";
            h.title = o[r].title;
            i.parentNode.insertBefore(h, i);
            q.push(h)
        }
    } else {
        var G = k.$("a");
        for (var r = 0; r < G.length; r++) {
            G[r].style.display = "none";
            q.push(G[r])
        }
        i = $c("a");
        i.style.display = "none";
        k.appendChild(i)
    }
    if (!q.length) return;
    function y(a) {
        return function() {
            l(a)
        }
    }
    if (j) {
        j.innerHTML = "";
        var t = [];
        for (var r = 0; r < q.length; r++) {
            var C = $c("li");
            if (!r) C.className = "pic_current";
            C.innerHTML = r + 1;
            t.push(C);
            j.appendChild(C);
            C.$r("click", y(r))
        }
    }
    var z, u = false,
    p = 0,
    w = 0,
    v = null;
    if ($$.browser.IE) {
        g.style.position = "relative";
        g.style.filter = "progid:DXImageTransform.Microsoft.Fade(duration=1)"
    }
    q[p].style.display = "";
    function l(a) {
        if (a !== null) {
            if (a == w) return;
            else v = a
        }
        clearTimeout(z);
        if (u) return;
        u = true;
        p = w;
        w = (w + 1) % q.length;
        if (v !== null) w = v;
        v = null;
        i.parentNode.insertBefore(q[p], i);
        q[p].style.position = "relative";
        q[w].style.position = "absolute";
        q[w].style.display = "";
        t[p].className = "";
        t[w].className = "pic_current";
        function c() {
            q[p].style.display = "none";
            q[p].style.filter = "";
            u = false;
            z = setTimeout(function() {
                l(null)
            },
            v === null ? m: 200)
        }
        if ($$.browser.IE) {
            g.filters[0].apply();
            q[p].style.display = "none";
            g.filters[0].play();
            c()
        } else {
            var d = 100;
            var f = setInterval(function() {
                d = Math.max(d - s, 0);
                q[p].style.opacity = d / 100;
                q[p].style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + d + ")";
                if (!d) {
                    clearInterval(f);
                    q[p].style.opacity = 100;
                    c()
                }
            },
            20)
        }
    }
    z = setTimeout(function() {
        l(null)
    },
    m)
};

$ur("domReady",$parserRe);
$$.module.searchBox={
	init:function(){this.funcList.each();},
	funcList:[function(){
		$$.module.address.source.fltInternational_cn=$s2t($$.module.address.source.fltInternational_cn);
		$$.module.address.source.fltInternational=$s2t($$.module.address.source.fltInternational);
		$$.module.address.source.fltInternationalStart=$s2t($$.module.address.source.fltInternationalStart);
		$$.module.address.source.fltInternationalTicket=$s2t($$.module.address.source.fltInternationalTicket);
		$$.module.address.source.fltAll=$s2t($$.module.address.source.fltAll);
		$$.module.address.source.fltDomestic=$s2t($$.module.address.source.fltDomestic);
		$$.module.address.source.fltDomesticTicket=$s2t($$.module.address.source.fltDomesticTicket);
		$parserRe($("searchBox"));
	}],
	airHotelList:""
};

$$.module.address.source.Internation="@Ascension Islands|上升岛|AC@Andorra|安道尔|AD@United Arab Emirates|阿拉伯联合酋长国|AE@Afghanistan|阿富汗|AF@Antigua & Barbuda|安提瓜和巴布达|AG@Anguilla|安圭拉|AI@Albania|阿尔巴尼亚|AL@Armenia|亚美尼亚| AM@Netherlands Antilles|荷兰安的列斯群岛|AN@Angola|安哥拉|AO@Antarctica|南极洲|AQ@Argentina|阿根廷|AR@American Samoa|美属萨摩亚群岛|AS@Austria|奥地利|AT@Australia|澳洲|AU@Aruba|阿卢巴|AW@Azerbaijan|阿塞拜疆|AZ@Herzegowina|波士尼亚共和国和|BA@Barbados|巴巴多斯|BB@Bengal|孟加拉|BD@Belgium|比利时|BE@Burkina Faso|布基纳法索|BF@Bulgaria|保加利亚|BG@Bahrain|巴林|BH@burundi|布隆迪|BI@Benin|贝宁湾|BJ@Bermuda|百慕达群岛|BM@Brunei|汶莱|BN@bolivia|玻利维亚|BO@Brazil|巴西|BR@Bahamas|巴哈马|BS@Bhutan|不丹|BT@Bouvet Island|布威岛|BV@Botswana|博茨瓦纳|BW@Belarus|白俄罗斯|BY@Belize|伯利兹|BZ@Canada|加拿大|CA@Cocos Islands|椰子树(装以龙骨)岛|CC@Zaire|扎伊尔|CD@Central African Republic|中非共和国|CF@Congo|刚果|CG@Switzerland|瑞士|CH@Ivoire|象牙海岸|CI@Cook Islands|科克群岛|CK@Chile|智利|CL@Cameroon|喀麦隆|CM@China|中国|CN@Columbia|哥伦比亚|CO@Costa Rica|哥斯达黎加|CR@Cuba|古巴|CU@Cape Verde|维德岛|CV@Christmas Island|圣诞岛|CX@Cyprus|赛普勒斯|CY@Czech|捷克|CZ@Germany|德国|DE@Djibouti|吉布地|DJ@Denmark|丹麦|DK@Dominican Republic|多米尼加共和国|DO@Algeria|阿尔及利亚|DZ@Ecuador|厄瓜多尔|EC@Esthonia|爱沙尼亚|EE@Egypt|埃及|EG@Western Sahara|西撒哈拉|EH@Eritrea|厄立特里安|ER@Spain|西班牙|ES@Ethiopia|埃塞俄比亚|ET@European Union|欧盟|EU@Finland|芬兰|FI@Fiji|斐济|FJ@Falkland Islands|福克兰群岛|FK@Micronesia|密克罗尼西亚|FM@Faroe Islands FO|法罗群岛|FO@France|法国|FR@Gabon|加彭|GA@Britain|英国|GB@Grenada|格林纳达|GD@S.Georgia|格鲁吉亚州|GE@French Guiana|法属圭亚那|GF@Guernsey|格恩西岛|GG@Ghana|迦纳|GH@Gibraltar|直布罗陀|GI@Greenland|格陵兰|GL@Gambia|冈比亚|GM@Guinea|几内亚|GN@Guadeloupe Island|哥德普洛岛|GP@Equatorial Guinea|赤道几内亚|GQ@Greece|希腊|GR@South Georgia and the South Asian island inser|南乔治亚州和南方插入岛|GS@Guatemala|危地马拉|GT@Guam|关岛|GU@Guinea-Bissau|几内亚比绍共和国|GW@Guyana|圭亚那|GY@Hong Kong|中国香港|HK@McDonald Island|听到和麦当劳岛|HM@Honduras|洪都拉斯|HN@Croatian|克罗埃西亚|HR@Haiti|海地|HT@Hungary|匈牙利|HU@ndonesia|印尼|ID@Ireland|爱尔兰|IE@Israel|以色列|IL@India|印度|IN@Indonesia|印度尼西亚|ID@British Indian Ocean Territory|英国的印度洋领土|IO@Iraq|伊拉克|IQ@Iran|伊朗王国|IR@Iceland|冰岛|IS@Italy|意大利|IT@Jersey|泽西|JE@Jamaica|牙买加|JM@Jordan|约旦|JO@Japan|日本|JP@Kenya|肯尼亚|KE@Kyrgyzstan|吉尔吉斯斯坦|KG@Cambodia|高棉|KH@Kiribati|吉尔巴斯|KI@Comoros|科摩洛|KM@St. Regis and Nevis|圣吉斯和尼维斯|KN@North Korea|朝鲜|KP@Korea|韩国|KR@Kuwait|科威特|KW@Cayman Islands|开曼群岛|KY@Kazakhstan|哈萨克|KZ@Lebanon|黎巴嫩|LB@Saint Lucia|圣卢西亚|LC@Liechtenstein|列支敦士登|LI@Sri Lanka|斯里兰卡|LK@Liberia|利比里亚|LR@Lesotho|莱索托|LS@Lithuania|立陶宛|LT@Luxembourg|卢森堡|LU@Latvia|拉脱维亚|LV@Libya|利比亚|LY@Morocco|摩洛哥|MA@Monaco|摩纳哥|MC@Moldova|摩尔多瓦|MD@Madagascar|马达加斯加|MG@Marshall Islands|马绍尔群岛|MH@Macedonia|马其顿|MK@Mali|马里|ML@Myanmar|缅甸|MM@Mongolia|蒙古|MN@Macao|中国澳门|MO@Northern Mariana Islands|北马里亚纳群岛|MP@Martinique|马提尼克岛|MQ@Mauritania|毛里塔尼亚|MR@Montserrat|蒙特色纳|MS@Malta|马尔他|MT@Mauritius|毛里求斯|MU@Maldives|马尔代夫|MV@Malawi|马拉维|MW@Mexico|墨西哥|MX@Malaysia|马来西亚|MY@Mozambique|莫桑比克|MZ@Namibia|那米比亚|NA@New Caledonia Galle|新加勒多尼亚|NC@Niger|尼日尔|NE@Norfolk Island|诺福克岛|NF@Nigeria|尼日利亚|NG@Nicaragua|尼加拉瓜|NI@Netherlands|荷兰|NL@Norway|挪威|NO@Nepal|尼泊尔|NP@Nauru|瑙鲁|NR@New E-Island|纽鄂岛|NU@New Zealand|新西兰|NZ@Oman|阿曼|OM@Panama|巴拿马|PA@Peru|秘鲁|PE@French Polynesia|法属玻里尼西亚|PF@Papua New Guinea|巴布亚新几内亚|PG@Republic of the Philippines|菲律宾共和国|PH@Pakistan|巴基斯坦|PK@Poland|波兰|PL@Saint Pierre and Mi crow|圣皮埃尔和密克罗|PM@Pitcairn Island|皮特凯恩岛|PN@Puerto Rico|波多黎各|PR@Palestine|巴勒斯坦|PS@Portugal|葡萄牙|PT@Palau|帛琉|PW@Paraguay|巴拉圭|PY@Qatar|卡塔尔|QA@Romania|罗马尼亚|RO@Russian|俄国|RU@Rwanda|卢旺达|RW@Saudi Arabia|沙特阿拉伯|SA@Solomon Islands|索罗门群岛|SB@Seychelles|塞锡尔群岛|SC@Sudan|苏丹|SD@Sweden|瑞典|SE@Singapore|新加坡|SG@Saint Helena|圣海伦娜|SH@Slovenia|斯洛文尼亚|SI@Svalbard and Jan Mayen Islands Central Island|冷岸和央麦恩群岛岛|SJ@Svalbard and Jan Mayen Islands Central Island|斯洛伐克|SK@Slovakia|塞拉利昂|SL@Marino|桑河|SM@Senegal|塞内加尔|SN@Somalia|索马里|SO@Suriname|苏利南|SR@Sao Tome and Principe|圣多美和普林西比|ST@Soviet Union|苏联|SU@ Salvador|萨尔瓦多|SV@Syrian|叙利亚|SY@Swaziland|斯威士兰|SZ@Chad|乍得|TD@Togo|多哥|TG@Thailand|泰国|TH@Tajik|塔吉克|TJ@Tokelau|托克劳|TK@East Timor|东帝汶|TL@Turkmenistan|土库曼|TM@Republic of North Africa|北非的共和国|TN@Tonga|汤加|TO@East Timor|东帝汶|TP@Turkish|土耳其|TR@the Republic of Trinidad Tobago Dato|千里达托贝哥共和国|TT@Tuvalu|图瓦卢|TV@Taiwan|中国台湾|TW@Tanzania|坦桑尼亚|TZ@Ukraine|乌克兰|UA@Uganda|乌干达|UG@United States Minor from the island|美国辅修在外的岛|UM@United States|美国|US@Uruguay|乌拉圭|UY@Uzbekistan|乌兹别克斯坦|UZ@Holy see (Holy See)|神圣的见到(罗马教庭)|VA@Saint Vincent and the Grenadines|圣文森和格林纳丁斯|VC@Venezuela|委内瑞拉|VE@British Virgin Islands|维京群岛英国人|VG@Virgin Islands, U.S|维京群岛U.S|VI@Vietnam|越南|VN@Vanuatu|万那度|VU@Wallis and Futuna|沃利斯和富图纳群岛|WF@American Samoa|美属萨摩亚|WS@Yemen|也门|YE@Mayotte|马约特|YT@Yugoslavia|南斯拉夫|YU@South Africa|南非|ZA@Zambia|赞比亚|ZM@Zaire|扎伊尔|ZR@ Zimbabwe|津巴布韦|ZW";

$$.module.address.source.fltInternational_cn = "@Beijing|北京(BJS)|1@Shanghai|上海(SHA)|2@Tianjin|天津(TSN)|3@Chongqing|重庆(CKG)|4@Haerbin|哈尔滨(HRB)|5@Dalian|大连(DLC)|6@Qingdao|青岛(TAO)|7@Xian|西安(SIA)|10@Nanjing|南京(NKG)|12@Hangzhou|杭州(HGH)|17@Xiamen|厦门(XMN)|25@Chengdu|成都(CTU)|28@Shenzhen|深圳(SZX)|30@Guangzhou|广州(CAN)|32@Kunming|昆明(KMG)|34@Guiyang|贵阳(KWE)|38@Wulumuqi|乌鲁木齐(URC)|39@Lasa|拉萨(LXA)|41@Yinchuan|银川(INC)|99@Lanzhou|兰州(LHW)|100@Huhehaote|呼和浩特(HET)|103@Taiyuan|太原(TYN)|105@Xining|西宁(XNN)|124@Baotou|包头(BAV)|141@Jinan|济南(TNA)|144@Changchun|长春(CGQ)|158@Changsha|长沙(CSX)|206@Fuzhou|福州(FOC)|258@Hefei|合肥(HFE)|278@Nanchang|南昌(KHN)|376@Nanning|南宁(NNG)|380@Shenyang|沈阳(SHE)|451@Wuhan|武汉(WUH)|477@Xuzhou|徐州(XUZ)|512@Zhengzhou|郑州(CGO)|559@Haikou|海口(HAK)|42@Guiling|桂林(KWL)|33@Ningbo|宁波(NGB)|375@Shijiazhuang|石家庄(SJW)|428@Shantou|汕头(SWA)|447@Sanya|三亚(SYX)|43@玉树(YUS)@";
//国外城市
$$.module.address.source.fltInternational=$$.module.address.source.fltInternational_cn+"@Muan|雾安(MWX)|4012@Nadi|楠迪(NAN)|791@Seville|塞维利亚(SVQ)|1350@Brasilia|巴西利亚(BSB)|1255@Rotterdam|鹿特丹(RTM)|718@Almaty|阿拉木图(ALA)|174@Aalborg|奥尔堡(AAL)|1441@Aarhus|奥胡斯(AAR)|3324@Aberdeen|阿伯丁(ABZ)|1195@Abidjan|阿比让(ABJ)|3265@Abudhabi|阿布扎比(AUH)|766@Abuja|阿布贾(ABV)|3244@Accra|阿克拉(ACC)|1274@Adana|阿达那(ADA)|1748@Addis Ababa|亚的斯亚贝巴(ADD)|635@Adelaide|阿德莱德(ADL)|1243@Ahmedabad|艾哈迈达巴德(AMD)|754@Aishalton|艾莎尔顿(AHL)|3336@Ajaccio|阿雅克肖(AJA)|1712@Akita|秋田(AXT)|3259@Akron/Canton|阿克伦/坎通(CAK)|3873@Albany|奥尔巴尼(ALB)|1865@Albuquerque|阿尔伯克基(ABQ)|1848@Alexandria|亚历山德里亚(ALY)|1489@Algiers|阿尔及尔(ALG)|1271@Alicante|阿里坎特(ALC)|1293@Alice Springs|艾丽斯斯普林斯(ASP)|3320@Allentown|阿伦敦(ABE)|1395@Altenrhein|阿尔滕莱茵(ACH)|1814@Amman|安曼(AMM)|1282@Amsterdam|阿姆斯特丹(AMS)|176@Anchorage|安克雷奇(ANC)|752@Ancona|安科纳(AOI)|1430@Angers|昂热(ANE)|1738@Angola|安哥拉城(ANQ)|3346@Ankara|安卡拉(ANK)|1218@Annecy|安奈斯(NCY)|1724@Antalya|安塔利亚(AYT)|1217@Ashgabat|阿什贾巴特(ASB)|3862@Asmara|阿斯马拉(ASM)|3325@Astana|阿斯塔纳(TSE)|3263@Asturias|阿斯图里亚斯(OVD)|1345@Asuncion|亚松森(ASU)|819@Athens|雅典(ATH)|710@Atlanta|亚特兰大(ATL)|704@Auckland|奥克兰(AKL).NZ|678@Augusta|奥古斯塔(AGS)|3280@Austin|奥斯汀(AUS)|1179@Avignon|亚维侬(AVN)|1713@Baghdad|巴格达(BGW)|822@Bahrain|巴林(BAH)|194@Baku|巴库(BAK)|650@Bali|巴厘岛(DPS)|723@Balikpapan|巴里巴班(BPN)|1378@Baltimore|巴尔的摩(BWI)|1460@Bandarseribeg|斯里巴加湾市(BWN)|638@Bangalore|班罗尔(BLR)|1355@Bangkok|曼谷(BKK)|359@Bangor|班戈(BGR)|3328@Barcelona|巴塞罗那(BCN)|707@Bari|巴里(BRI)|1431@Basle|巴塞尔(BSL)|806@Bastia|巴斯蒂亚(BIA)|1714@Baton Rouge|巴吞鲁日(BTR)|3363@Beaumont|博蒙特(BPT)|3364@Beida|拜达(LAQ)|797@Beirut|贝鲁特(BEY)|835@Belfast|贝尔法斯特(BFS)|777@Belgrade|贝尔格来德(BEG)|636@Benghazi|班加西(BEN)|820@Bergen|卑尔根(BGO)|821@Berlin|柏林(BER)|193@Berne|伯尔尼(BRN)|834@Biagoveschensk|布拉格维申斯科(BQS)|626@Biarritz|比亚里茨(BIQ)|1715@Bilbao|毕尔巴鄂(BIO)|772@Billund|毕朗(BLL)|1709@Birmingham|伯明翰(BHX).GB|1270@Birmingham|伯明翰(BHM).US|1465@Bishkek|比什凯克(FRU)|642@Bloomington-Normal|布卢明顿-诺马尔(BMI)|3304@Bodrummilasairp|博德鲁姆(BJV)|1761@Bogota|波哥大(BOG)|824@Boise|博伊西(BOI)|1781@Bologna|博洛尼亚(BLQ)|1240@Bombay|孟买(BOM)|724@Bonn|波恩(BNJ)|1450@Bordeaux|波尔多(BOD)|776@Boston|波士顿(BOS)|703@Bratsk|布拉茨克(BTK)|668@Brazzaville|布拉柴维尔(BZV)|808@Bremen|不来梅(BRE)|1359@Brest|布雷斯特(BES)|1739@Brisbane|布里斯班(BNE)|680@Bristol|布里斯托尔(BRS)|838@Brussels|布鲁塞尔(BRU)|196@Bucharest|布加勒斯特(BUH)|674@Budapest|布达佩斯(BUD)|637@Buenos Aires|布宜诺斯艾丽斯(BAI)|4140@Buenosaires|布宜诺斯艾利斯(BUE)|807@Buffalo|布法罗(BUF)|1298@Butte|波由特(BTM)|1404@Cagliari|卡利亚里(CAG)|1432@Cairns|凯恩斯(CNS)|728@Cairo|开罗(CAI)|332@Calcutta|加尔各答(CCU)|756@Calgary|卡尔加利(YYC)|761@Calvi|卡尔维(CLY)|1717@Canberra|堪培拉(CBR)|679@Cancun|坎昆(CUN)|812@Cape Town|开普敦(CPT)|683@Caracas|加拉加斯(CCS)|811@Cardiff|加帝夫(CWL)|1475@Carimagua|卡里马瓜(CCO)|3258@Casablanca|卡萨布兰卡(CAS)|809@Catania|卡塔尼亚(CTA)|1419@Cebu|宿雾(CEB)|1239@Cedar Rapids|锡达拉皮兹(CID)|3306@Champaign|尚佩恩(CMI)|3345@Charleston|查尔斯顿(CRW)|3240@Charlotte|夏洛特(CLT)|1459@Charlottetown|夏洛特敦(YYG)|3869@Chattanooga|查塔努加(CHA)|3356@Chennai|金奈(MAA)|1235@Cheong Ju|清州(CJJ)|736@Chiangmai|清迈(CNX)|623@Chicago|芝加哥(CHI)|549@Chisinau|卡恩(CFR)|1747@Chisinau|基希讷乌(KIV)|3307@Chittagong|吉大港(CGP)|1357@Christchurch|基督城(CHC)|7505@Christchurch|克赖斯特彻奇(CHC)|7505@Cincinnati|辛辛那提(CVG)|1184@Clermontferrand|克莱蒙费朗(CFE)|1716@Cleveland|克里夫兰(CLE)|1185@Cologne|科隆(CGN)|709@Colombo|科伦坡(CMB)|810@Coloradosprings|科罗拉多斯普林(COS)|1424@Columbia|哥伦比亚(CAE)|1426@Columbus|哥伦布(CMH)|1241@Conakry|科纳克里(CKY)|1275@Copenhagen|哥本哈根(CPH)|260@Cork|科克(ORK)|832@Cotonou|科托努(COO)|3251@Cuzco|库斯科(CUZ)|813@Dacca|达卡(DAC)|733@Dalaman|达拉曼(DLM)|1749@Dallas|达拉斯(DFW)|705@Damascus|大马士革(DAM)|839@Dammam|达曼(DMM)|3340@Daressalaam|达累斯萨拉姆(DAR)|814@Darwin|达尔文(DRW)|682@Dayton|代顿(DAY)|1211@Delhi|德里(DEL)|230@Denizli|代尼兹利(DNZ)|1762@Denver|丹佛(DEN)|699@Des Moines|德梅因(DSM)|1437@Detroit|底特律(DTT)|233@Dhahran|宰赫兰(DHA)|802@Diyarbakir|迪亚巴克尔(DIY)|1755@Dnepropetrovsk|第聂伯罗彼得罗夫斯克(DNK)|3297@Doha|多哈(DOH)|1401@Donetsk|多内茨克(DOK)|3903@Dortmund|多特蒙德(DTM)|1411@Douala|杜阿拉(DLA)|1272@Dresden|德雷斯顿(DRS)|1412@Dubai|迪拜(DXB)|220@Dublin|都柏林(DUB)|803@Dubrovnik|杜布罗夫尼克(DBV)|3901@Dunedin|达尼丁(DUD)|1297@Dusseldorf|杜塞尔多夫(DUS)|762@Edinburgh|爱丁堡(EDI)|706@Edmonton|埃特蒙顿(YEG)|1245@Edremit/Korfez|埃德米特(EDO)|1763@Eindhoven|爱因霍温(EIN)|1731@El Paso|埃尔帕索(ELP)|1178@Erevan|埃里温(EVN)|3245@Erfurt|爱尔福特(ERF)|3904@Erie|伊利(ERI)|3872@Erzurum|俄祖汝穆(ERZ)|1754@Eugene|尤金(EUG)|3896@Euroairportmulh|米卢斯(MLH)|1722@Evansville|埃文斯维尔(EVV)|3383@Faisalabad|费萨拉巴德(LYP)|817@Fargo|法戈(FAR)|3358@Faro|法鲁(FAO)|840@Fayetteville|费耶特维尔(FYV)|3278@Firenze|佛罗伦萨(FLR)|687@Fort Myers|迈尔斯堡(FMY)|1872@Fort St. John|圣约翰堡(YXJ)|3828@Fort Wayne|韦恩堡(FWA)|3900@Frankfurt|法兰克福(FRA)|250@Fredericton|弗雷德里克顿(YFC)|1403@Friedrichshafen|腓特烈港(FDH)|1413@Ft.Lauderdal|劳德代尔(FLL)|1874@Fukuoka|福冈(FUK)|248@Fukushima|福岛(FKS)|586@Funchal|丰沙尔(FNC)|3298@Gaborone|哈博罗内(GBE)|857@Gaziantep|加济安泰普(GZT)|1753@Gdansk|格但斯克(GDN)|1461@General Santos|桑托斯将军城(GES)|3283@Geneva|日内瓦(GVA)|666@Genoa|热那亚(GOA)|1433@Glasgow|格拉斯哥(GLA)|780@Goldcoast|黄金海岸(OOL)|1210@Gothenburg|哥德堡(GOT)|804@Grand Rapids|大急流城(GRR)|1858@Graz|格拉茨(GRZ)|805@Greensboro|格林斯伯勒(GSO)|1247@Greenville|格林威尔(GSP)|3239@Grenoble|格勒诺布尔(GNB)|1719@Guadalajara|瓜达拉哈拉(GDL)|1253@Guam|关岛(GUM)|753@Guatemalacity|危地马拉城(GUA)|841@Guayaquil|瓜亚基尔(GYE)|1482@Guernsey|根西岛(GCI)|779@Hakodate|函馆(HKD)|800@Halifax|哈里法克斯(YHZ)|1242@Hamburg|汉堡(HAM)|763@Hannover|汉诺威(HAJ)|1248@Hanoi|河内(HAN)|286@Harare|哈拉雷(HRE)|849@Harrisburg|哈里斯堡(HAR)|1867@Hartford|哈特福德(HFD)|1876@Hat Yai|合艾(HDY)|1480@Havana|哈瓦那(HAV)|690@Helsinki|赫尔辛基(HEL)|277@Hiroshima|广岛(HIJ)|262@Ho Chi Minh|胡志明市(SGN)|301@Hobart|霍巴特(HBA)|1446@Hof|霍夫(HOQ)|3840@Hong Kong|香港(HKG)|58@Honolulu|火奴鲁鲁(HNL)|757@Houston|休斯敦(HOU)|701@Humberside|汉伯塞(HUY)|1732@Huntsville|汉斯威尔(HSV)|3237@Hvderabad|海得拉巴(HYD)|1364@Ibiza|伊比萨(IBZ)|1768@Iguassu Falls|伊瓜苏福尔斯(IGU)|3260@Imam Khomeini|伊玛姆科梅尼(IKA)|3286@Indianapolis|印第安纳波利斯(IND)|1291@Innsbruck|因斯布鲁克(INN)|1451@Inverness|因纹内丝(INV)|1730@Irkutsk|伊尔库茨克(IKT)|672@Ishigaki|石垣(ISG)|1174@Islamabad|伊斯兰堡(ISB)|531@Isle Of Man|马恩岛(IOM)|3894@Istanbul|伊斯坦布尔(IST)|532@Ivalo|伊伐洛(IVL)|1783@Izmir|伊兹密尔(IZM).TR|1769@Izmiradnanmende|伊兹密尔(ADB).TR|1216@Jacksonville|杰克逊威尔(JAX)|1290@Jakarta|雅加达(JKT)|524@Jeddah|捷达(JED)|801@Jeju Island|济州岛(CJU)|737@Jersey|泽西(JER)|778@Joensuu|约恩苏(JOE)|1784@Johannesburg|约翰内斯堡(JNB)|684@Johor Bahru|新山(JHB)|1376@Joplin|乔普林(JLN)|3310@Jyvaskyla|于伐斯居拉(JYV)|1785@Kabul|喀布尔(KBL)|793@Kagoshima|鹿儿岛(KOJ)|735@Kahului|卡胡卢伊(OGG)|1863@Kajaani|卡尼亚(KAJ)|1786@Kalibo|卡利博(KLO)|1778@Kano|卡诺(KAN)|782@Kansas City|堪萨斯城(MKC)|1182@Karachi|卡拉奇(KHI)|334@Karup|卡鲁普(KRP)|3314@Kathmandu|加德满都(KTM)|304@Katowice|卡托维茨(KTW)|1410@Kayseri|开塞利(ASR)|1756@Kazan|喀山(KZN)|1770@Kelowna|科罗纳(YLW)|1398@Kemi|克米(KEM)|1788@Key West|基韦斯特(EYW)|1188@Khadarovsk|哈巴罗夫斯克(KHV)|273@Kharkov|哈尔科夫(HRK)|3299@Khartoum|喀土穆(KRT)|1279@Khon Kaen|孔敬(KKC)|1477@Kiel|基尔(KEL)|1408@Kiev|基辅(IEV)|306@Kingston|金斯敦(KIN)|794@Kinshasa|金沙萨(FIH)|845@Kisangani|基桑加尼(FKI)|846@Kita Kyushu|北九州(KKJ)|3234@Kittila|基蒂拉(KTT)|1790@Klagenfurt|克拉根福特(KLU)|795@Knoxville|诺克斯威尔(TYS)|3235@Kochi|库奇(COK)|1366@Koh Samui|苏梅岛(USM)|1229@Kokkola|科科拉(KOK)|1789@Komatsu|小松(KMQ)|1802@Konya|科尼亚(KYA)|1757@Kosice|科希策(KSC)|1815@Kota Kinabalu|哥打京那巴鲁(BKI)|1393@Krabi|甲米(KBV)|1405@Krakow|克拉特夫(KRK)|1343@Krasnodar|克拉斯诺达尔(KRR)|3300@Kristiansand|克里斯蒂安桑(KRS)|1476@Kuala Lumpur|吉隆坡(KUL)|315@Kuantan|关丹(KUA)|1249@Kuching|古晋(KCH)|1384@Kuopio|库奥皮欧(KUO)|1791@Kuusamo|库萨莫(KAO)|1787@Kuwait|科威特(KWI)|336@Kwangju|光州(KWJ)|738@Kyoto|京都(UKY)|734@La Cross|拉克鲁斯(LSE)|3313@Lafayette|拉菲特(LFT)|3370@Lagos|拉各斯(LOS)|783@Lahore|拉合尔(LHE)|799@Langkawi|兰卡威(LGK)|1225@Lannion|拉尼永(LAI)|1720@Lanzarote|兰萨罗特(ACE)|1766@Las Vegas|拉斯维加斯(LAS)|675@Launceston|朗塞斯顿(LST)|3827@Le Havre|勒阿弗尔(LEH)|1771@Le Mans|勒芒(LME)|1741@Leeds Bradford|利兹(LBA)|1733@Leipjig|莱比锡(LEJ)|1296@Lexington|莱克星顿(LEX)|1402@Libreville|利伯维尔(LBV)|1273@Lille|里尔(LIL)|1462@Lilongwe|利隆圭(LLW)|3352@Lima|利马(LIM)|837@Limoges|利摩日(LIG)|1740@Lincoln|林肯(LNK)|3842@Linkoping|林雪平(LPI)|3746@Linz|林茨(LNZ)|815@Lisbon|里斯本(LIS)|1231@Little Rock|小石城(LIT)|3236@Ljubljana|卢布尔雅那(LJU)|1266@Lombok|龙目岛(AMI)|1392@London|伦敦(LON)|338@Lorient|洛里昂(LRT)|1721@Los Angeles|洛杉矶(LAX)|347@Louisville|路易斯威尔(SDF)|1292@Luanda|罗安达(LAD)|842@Lubumbashi|卢本巴希(FBM)|3282@Lugano|卢加诺(LUG)|3319@Lusaka|卢萨卡(LUN)|816@Luxor|卢克索(LXR)|730@Lwo Lviv|里沃夫(LWO)|3296@Lyon|里昂(LYS)|713@Macau|澳门(MFM)|59@Madison|麦迪逊(MSN)|1397@Madrid|马德里(MAD)|357@Malaga|马拉加(AGP)|1268@Malatya|马拉提亚(MLX)|1752@Male|马累(MLE)|1207@Malta|马耳他(MLA)|1264@Manado|万鸦老(MDC)|1379@Manchester|曼彻斯特(MAN).GB|722@Manchester|曼彻斯特(MHT).US|1877@Mangole|满各里(MDL)|3253@Manila|马尼拉(MNL)|364@Manzini|曼齐尼(MTS)|3883@Maputo|马普托(MPM)|863@Mariehamn|玛丽港(MHQ)|1792@Marquette|马凯特(MQT)|3877@Marseille|马赛(MRS)|712@Maseru|马塞卢(MSU)|3359@Matsuyama|松山(MYJ)|1698@Mauritius|毛里求斯(MRU)|785@Mbandaka|姆班达卡(MDK)|844@Mcallen|迈克艾伦(MFE)|3366@Medan|棉兰(MES)|1380@Meekatharra|米卡萨拉(MKR)|3274@Melbourne|墨尔本(MEL)|358@Memphis|孟菲斯(MEM)|1234@Menorca|梅诺卡(MAH)|1772@Metz/Nancy|梅兹南希(ETZ)|1718@Mexico City|墨西哥城(MEX)|691@Miami|迈阿密(MIA)|702@Milan|米兰(MIL)|361@Milwaukee|密尔沃基(MKE)|1181@Minneapolis|明尼阿波利斯(MSP)|1238@Minsk|明斯克(MSQ)|854@Miri|米里(MYY)|3380@Miyazaki|宫崎(KMI)|1779@Moline|莫林(MLI)|1438@Mombasa|蒙巴萨(MBA)|818@Montevideo|蒙得维的亚(MVD)|770@Montgomery|蒙哥马利(MGM)|3347@Montpellier|蒙彼利埃(MPL)|1294@Montreal|蒙特利尔(YUL)|759@Moscow|莫斯科(MOW)|366@Muenster|蒙斯特(FMO)|1414@Munich|慕尼黑(MUC)|363@Munich Augsburg|奥格斯堡(AGB)|1415@Muscat|马斯卡特(MCT)|853@Muskegon|马斯基根(MKG)|3878@Nagasaki|长崎(NGS)|205@Nagoya|名古屋(NGO)|360@Naha|那霸(NAH)|1166@Nairobi|内罗毕(NBO)|825@Nantes|南特(NTE)|1484@Naples|那不勒斯(NAP)|1262@Nara|奈良(NAW)|1175@Nare|纳雷(NAR)|1812@Nashville|纳什维尔(BNA)|3228@Nassau|拿骚(NAS)|3330@New Orleans|新奥尔良(MSY)|1186@New York|纽约(NYC)|633@Newcastle|纽卡斯尔(NCL)|1289@Niamey|尼亚美(NIM)|864@Nice|尼斯(NCE)|775@Niigata|新泻(KIJ)|1163@Nizhniynovgorod|高尔基(GOJ)|1782@Norfolk|诺福克(ORF)|1423@Norwich|诺维奇(NWI)|1464@Novosibirsk|新西伯利亚(OVB)|168@Nuremberg|纽伦堡(NUE)|764@Odense|欧登塞(ODE)|781@Odessa|奥德萨(ODS)|3272@Oita|大分(OIT)|1286@Okayama|冈山(OKJ)|263@Okinawa|冲绳(OKA)|207@Oklahoma City|俄克拉何马城(OKC)|1440@Omaha|奥马哈(OMA)|1425@Ontario|安大略(ONT)|3820@Orlando|奥兰多(ORL)|1187@Osaka|大阪(OSA)|219@Oslo|奥斯陆(OSL)|827@Ottawa|渥太华(YOW)|760@Oulu|奥卢(OUL)|1793@Paderborn|帕特泊恩(PAD)|1416@Palembang|巨港(PLM)|1468@Palma De Mallor|帕尔马(PMI)|1267@Panama City|巴拿马城(PTY)|830@Pangkor|邦咯岛(PKG)|1486@Paphos|帕福斯(PFO)|3291@Paramaribo|帕拉马里博(PBM)|3267@Paris|巴黎(PAR)|192@Pau|波城(PUF)|1726@Penang|槟城(PEN)|625@Pensacola|彭萨科拉(PNS)|3322@Perm|彼尔姆(PEE)|1736@Perpignan|佩皮尼扬(PGF)|1725@Perth|珀斯(PER)|681@Peshawar|白沙瓦(PEW)|829@Philadelphia|费城(PHL)|1189@Phnom|金边(PNH)|303@Phoenix|凤凰城(PHX)|695@Phuket|普吉岛(HKT)|725@Pico Island|皮克岛(PIX)|1805@Pisa|比萨(PSA)|1347@Pittsburgh|匹兹堡(PIT)|771@Podgorica|波德戈里察(TGD)|3308@Pohang|普项(KPO)|3369@Poitiers|普瓦捷(PIS)|1742@Port Au Prince|太子港(PAP)|828@Port Harcourt|哈科特港(PHC)|784@Port Moresby|泊特莫尔斯比港(POM)|859@Portland|波特兰(PDX)|694@Porto|波尔图(OPO)|826@Portoviejo|达沃(DVO)|1458@Poznan|波兹南(POZ)|1463@Prague|布拉格(PRG)|1288@Pristina|普里什蒂纳(PRN)|1816@Providence|普罗维登斯(PVD)|1879@Puerto Obaldia|奥瓦尔迪亚港(PUE)|1746@Pusan|釜山(PUS)|253@Pyongyang|平壤(FNJ)|390@Quebec|魁北克(YQB)|3284@Queenstown|昆斯敦(ZQN)|1841@Quimper|坎佩尔(UIP)|1743@Quito|基多(UIO)|858@Rabat|拉巴特(RBA)|3685@Raleigh Durham|罗利(RDU)|1406@Regina|里贾纳(YQR)|3841@Rennes|雷恩(RNS)|1473@Reno|里诺(RNO)|1177@Reykjavik|雷克亚未克(REK)|831@Richmond|里士满(RIC)|1868@Riga|里加(RIX)|1470@Rimini|里米尼(RMI)|1429@Riodejaneiro|里约热内卢(GIG)|769@Riyadh|利雅得(RUH)|789@Roanoke|罗阿诺克(ROA)|3321@Rochester|罗切斯特(ROC)|1860@Rodez|罗德兹(RDZ)|1727@Rome|罗马(ROM)|343@Rostov|罗斯托夫(ROV)|3301@Rouyn|鲁安(YUR)|3843@Rovaniemi|罗瓦涅米(RVN)|1794@Saginaw|萨吉诺(MBS)|3362@Saint John\'S|圣约翰斯(YYT)|3316@Saipan|塞班(SPN)|1237@Salt Lake City|盐湖城(SLC)|700@Salzburg|萨尔茨堡(SZG)|739@Samara|萨马拉(KUF)|673@Samsuncarsambaa|萨姆松(SZF)|1758@San Antonio|圣安东尼奥(SAT)|1193@San Diego|圣迭戈(SAN)|698@San Francisco|旧金山(SFO)|313@San Jose|圣何塞(SJC)|1880@San Juan|圣胡安(WSJ)|1427@San Polo|圣保罗(SAO)|415@Sandefjord|山达霍得(TRF)|1735@Sanliurfa|萨利乌尔法(SFQ)|1751@Sanna|萨那(SAH)|850@Santa Ana|圣塔安那(SNA)|1396@Santa Barbara|圣巴巴拉(SBA)|1191@Santiago|圣地亚哥(SCL)|852@Santiagode|圣地亚哥德(SCQ)|774@Sapporo|札幌(SPK)|641@Saskatoo|萨斯卡通(YXE)|1442@Savannah|萨凡纳(SAV)|3939@Seattle|西雅图(SEA)|511@Semarang|三宝拢(SRG)|1488@Semera|瑟梅拉(SZE)|3261@Sendai|仙台(SDJ)|585@Seoul|首尔(SEL)|274@Shannon|香农(SNN)|3115@Sharjah|沙迦(SHJ)|742@Shreveport|什里夫波特(SHV)|3292@Sibiu|锡比乌(SBZ)|3302@Siem Reap|吴哥窟(REP)|362@Simferopol|辛菲罗波尔(SIP)|1800@Singapore|新加坡(SIN)|73@Sofia|索非亚(SOF)|792@Sokoto|索科托(SKO)|1799@South Bend|南本德(SBN)|3248@Southampton|南安普顿(SOU)|1728@Split|斯普利特(SPU)|3264@Spokane|斯波坎(GEG)|1400@Springfield|斯普林菲尔德(SPI)|3241@St Louis|圣路易斯(STL)|1183@St Petersburg|圣彼得堡(LED)|798@St. John|圣约翰(YSJ)|1439@State College|斯泰特科利奇(SCE)|1866@Stavanger|斯塔万格(SVG)|787@Stockholm|斯德哥尔摩(STO)|420@Strasbourg|斯特拉斯堡(SXB)|1354@Stuttgart|斯图加特(STR)|765@Sudbury|萨德伯里(YSB)|3312@Surabaya|泗水(SUB)|1244@Surakarta|苏位卡尔塔(SOC)|1469@Surat Thani|万伦(URT)|1479@Sydney|悉尼(SYD)|501@Sydney|悉尼(加拿大)(YQY)|3285@Syracuse|锡拉丘兹(SYR)|3281@Taegu|大邱(TAE)|1287@Taipei|台北(TPE)|617@Tallahassee|塔拉哈西(TLH)|3882@Tallinn|塔林(TLL)|1737@Tampa|坦帕(TPA)|1399@Tampere|坦佩雷(TMP)|1796@Tashkent|塔什干(TAS)|639@Tbilisi|第比利斯(TBS)|3266@Tehran|德黑兰(THR)|631@Telaviv|特拉维夫(TLV)|462@Tenerife|特内里费(TCI)|1774@Thessalioniki|萨罗尼奇(SKG)|1417@Thunder Bay|桑德贝(YQT)|3354@Tijuana|蒂华纳(TIJ)|788@Timisoara|蒂米什瓦拉(TSR)|1817@Tioman|刁曼(TOD)|1818@Tirana|提拉纳(TIA)|1352@Tokushima|德岛(TKS)|1172@Tokyo|东京(TYO)|228@Toronto|多伦多(YYZ)|461@Toulon|土伦(TLN)|1729@Toulouse|吐鲁兹(TLS)|1361@Tours|图尔斯(TUF)|1765@Townsville|汤斯维尔(TSV)|3357@Toyama|富山(TOY)|570@Trabzon|特拉布宗(TZX)|1760@Trang|董里河(TST)|1481@Traverse City|特拉弗斯城(TVC)|3305@Trengganu|瓜拉丁加奴(TGG)|72@Trieste|的里雅斯特(TRS)|1394@Tripoli|的黎波里(TIP)|790@Trondheim|特隆赫姆(TRD)|1734@Trujillo|特鲁希略(TRU)|1471@Tucson|图森(TUS)|1192@Tulsa|塔尔萨(TUL)|1857@Tunis|突尼斯(TUN)|1280@Turin|都灵(TRN)|1263@Turku|图尔库(TKU)|1795@Tuscaloosa|塔斯卡卢萨(TCL)|1773@Udon Thani|乌隆(UTH)|1478@Uerona|维罗纳(VRN)|1420@Ufa|乌法(UFA)|3902@Ulanbatar|乌兰巴托(ULN)|483@Ulsan|蔚山(USN)|3368@Vaasa|瓦萨(VAA)|1797@Valencia|瓦伦西亚(VLC)|1351@Valladolid|巴利阿多里德(VLL)|773@Van|凡城(VAN)|1750@Vancouver|温哥华(YVR)|476@Varna|瓦尔纳(VAR)|3303@Venice|威尼斯(VCE)|688@Viadivostok|符拉迪沃斯托克(VVO)|628@Victoria|维多利亚(YYJ)|1745@Vienna|维也纳(VIE)|651@Vientiane|万象(VTE)|486@Vigo|维哥(VGO)|1744@Vilnius|维尔纽斯(VNO)|786@Warsaw|华沙(WAW)|293@Washington|华盛顿(WAS)|676@Wellington|惠灵顿(WLG)|843@West Palm Beach|西棕榈滩(PBI)|1873@Winnipeg|温尼伯(YWG)|1434@Wroclaw|弗罗茨瓦夫(WRO)|1448@Yangon|仰光(RGN)|522@Yogyakarta|日惹(JOG)|741@Yuzhnosakhalins|南萨哈林斯克(UUS)|1780@Zagreb|萨格勒布(ZAG)|1418@Zurich|苏黎世(ZRH)|434@Oakland|奥克兰(OAK).US|1435@Kaohsiung|高雄(KHH)|720@Waterloo|滑铁卢(ALO)|4242@Wausau|沃索(AUW)|4240@Batam|巴淡岛(BTH)|3590@Chico|奇科(CIC)|4236@Daytona beach|代托纳比奇(DAB)|4239@Dothan|多森(DHN)|4234@Fairbanks|费尔班克斯(FAI)|4235@Jackson|杰克逊(JAN)|4238@San Juan|圣胡安(SJU)|4090@Nanaimo|纳奈莫(YCD)|4241@Moncton|蒙克顿(YQM)|4237@Krasnojarsk|克拉斯诺达尔(KJA)|4218@KAMLOOPS|坎卢普斯(YKA)|3440@George|乔治城(GRJ)|4250@Flagstaff|费拉格尔斯塔夫(FLG)|7543@Lucerne|卢塞恩(QLJ)|1483@Shizuoka city|静冈(FSZ)|1176@";

$$.module.address.source.fltInternationalStart="@Anting|安亭|594@Aletai|阿勒泰|175@Xingyi|兴义|1139@Baise|百色|1140@Ankang|安康|171@Akesu|阿克苏|173@Anshan|鞍山|178@Anqing|安庆|177@Anshun|安顺|179@Baotou|包头|141@Beihai|北海|189@Beijing|北京|1@Changdu|昌都|575@Baoshan|保山|197@Guangzhou|广州|32@Changde|常德|201@Zhengzhou|郑州|559@Changchun|长春|158@Chaoyang|朝阳|211@Jiuquan|酒泉|662@Chifeng|赤峰|202@Changzhi|长治|137@Chongqing|重庆|4@Changsha|长沙|206@Chengdu|成都|28@Changzhou|常州|213@Datong|大同|136@Daxian|达县|234@Dandong|丹东|221@Diqing|迪庆|93@Xianggelila|香格里拉|93@Zhongdian|中甸|93@Dalian|大连|6@Dali|大理|36@Dunhuang|敦煌|11@Dongying|东营|236@Eerduosi|鄂尔多斯|3976@Zhangjiajie|张家界|27@Enshi|恩施|245@Yanan|延安|110@Fuzhou|福州|258@Fuyang|阜阳|257@Guanghan|广汉|750@Geermu|格尔木|132@Haikou|海口|42@Handan|邯郸|275@Heihe|黑河|281@Huhehaote|呼和浩特|103@Hefei|合肥|278@Hangzhou|杭州|17@zhijiang|芷江|3229@Hong Kong|香港|58@Hailaer|海拉尔|142@Wulanhaote|乌兰浩特|484@Haerbin|哈尔滨|5@Zhoushan|舟山|19@Hetian|和田|294@Taizhou|台州|578@Huangyan|黄岩|578@Hanzhong|汉中|129@LIPING|黎平|3852@Yinchuan|银川|99@Qiemo|且末|399@Qingyang|庆阳|404@Jingdezhen|景德镇|305@Jiayuguan|嘉峪关|326@Jinggangshan|井冈山|307@Jinghong|景洪|35@Xishuangbanna|西双版纳|35@Jilin|吉林|159@Jiujiang|九江|24@jinjiang|晋江|1803@Quanzhou|泉州|1803@Shishi|石狮|1803@Jiamusi|佳木斯|317@Jinzhou|锦州|327@Quzhou|衢州|407@Jiuzhaigou|九寨沟|91@Kuche|库车|329@Kashi|喀什|109@Kaohsiung|高雄|720@Nanchang|南昌|376@Kanasi|喀纳斯|3326@Kunming|昆明|34@Ganzhou|赣州|268@Kuerle|库尔勒|330@Kelamayi|克拉玛依|166@Guiyang|贵阳|38@Guilin|桂林|33@LONGYAN|龙岩|348@Liancheng|连城|348@Guanghua|光化|746@Lanzhou|兰州|100@LiangPing|梁平|427@Lijiang|丽江|37@Yongzhou|永州|970@Lincang|临沧|1236@Dehong|德宏|365@Mangshi|芒市|365@Lasa|拉萨|41@Linxi|林西|744@Luoyang|洛阳|350@Lianyungang|连云港|353@Linyi|临沂|569@Liuzhou|柳州|354@Luzhou|泸州|355@Linzhi|林芝|108@Mudanjiang|牡丹江|150@macau|澳门|59@Mianyang|绵阳|370@Meixian|梅县|3053@Meizhou|梅州|3053@Nanchong|南充|377@Qiqihaer|齐齐哈尔|149@Ningbo|宁波|375@Nanjing|南京|12@Nalati|那拉提|3360@Nanning|南宁|380@Nanyang|南阳|385@Nantong|南通|82@Manzhouli|满洲里|1083@Panzhihua|攀枝花|1097@Shanghai|上海|2@Shenyang|沈阳|451@Qinhuangdao|秦皇岛|147@Shashi|沙市|442@Xian|西安|10@Shijiazhuang|石家庄|428@Shantou|汕头|447@Simao|思茅|435@Puer|普洱|435@Sanya|三亚|43@Shenzhen|深圳|30@Qingdao|青岛|7@Tacheng|塔城|455@Tongren|铜仁|1227@Tongliao|通辽|458@Jinan|济南|144@Taipei|台北|617@Tianjin|天津|3@Huangshan|黄山|23@Taiyuan|太原|105@Wulumuqi|乌鲁木齐|39@Yulin|榆林|527@Weifang|潍坊|475@Weihai|威海|479@Wenshan|文山|1342@Wenzhou|温州|491@Wuhai|乌海|1133@Wuhan|武汉|477@Wuyishan|武夷山|26@Wuxi|无锡|13@Wuzhou|梧州|492@Wanxian|万州|487@Xiangfan|襄樊|496@Xichang|西昌|494@Xilinhaote|锡林浩特|500@Xiamen|厦门|25@Xining|西宁|124@Xuzhou|徐州|512@Yibin|宜宾|514@Yuncheng|运城|140@Yichang|宜昌|515@Yining|伊宁|529@Yiwu|义乌|536@Yanji|延吉|523@Yantai|烟台|533@Yancheng|盐城|1200@Zhaotong|昭通|555@Zhanjiang|湛江|547@Zhuhai|珠海|31@Zunyi|遵义|558@";

$$.module.address.source.fltInternationalTicket="@Shaoxing|绍兴|22@Huzhou|湖州|86@Jiaxing|嘉兴|571@Anting|安亭|594@Aletai|阿勒泰|175@Xingyi|兴义|1139@Baise|百色|1140@Ankang|安康|171@Akesu|阿克苏|173@Anqing|安庆|177@Anshun|安顺|179@Baotou|包头|141@Beihai|北海|189@Beijing|北京|1@Changdu|昌都|575@Baoshan|保山|197@Guangzhou|广州|32@Changde|常德|201@Zhengzhou|郑州|559@Changchun|长春|158@Chaoyang|朝阳|211@Chifeng|赤峰|202@Changzhi|长治|137@Chongqing|重庆|4@Changsha|长沙|206@Chengdu|成都|28@Changzhou|常州|213@Datong|大同|136@Daxian|达县|234@Dandong|丹东|221@Dongguan|东莞|223@Diqing|迪庆|93@Xianggelila|香格里拉|93@Zhongdian|中甸|93@Dalian|大连|6@Dali|大理|36@Dunhuang|敦煌|11@Dongying|东营|236@Eerduosi|鄂尔多斯|3976@Zhangjiajie|张家界|27@Enshi|恩施|245@Yanan|延安|110@Fuzhou|福州|258@Fuyang|阜阳|257@Guanghan|广汉|750@Geermu|格尔木|132@Haikou|海口|42@Handan|邯郸|275@Heihe|黑河|281@Huhehaote|呼和浩特|103@Hefei|合肥|278@Hangzhou|杭州|17@zhijiang|芷江|3229@Hailaer|海拉尔|142@Wulanhaote|乌兰浩特|484@Haerbin|哈尔滨|5@Zhoushan|舟山|19@Hetian|和田|294@Huangyan|黄岩|578@Taizhou|台州|578@Hanzhong|汉中|129@LIPING|黎平|3852@Yinchuan|银川|99@Qiemo|且末|399@Qingyang|庆阳|404@Jingdezhen|景德镇|305@Jiayuguan|嘉峪关|326@Jinggangshan|井冈山|307@Jinghong|景洪|35@Xishuangbanna|西双版纳|35@Jilin|吉林|159@Jiujiang|九江|24@jinjiang|晋江|1803@Quanzhou|泉州|1803@Shishi|石狮|1803@Jiamusi|佳木斯|317@Jinzhou|锦州|327@Quzhou|衢州|407@Jiuzhaigou|九寨沟|91@Kuche|库车|329@Kashi|喀什|109@Nanchang|南昌|376@Kanasi|喀纳斯|3326@Kunming|昆明|34@Ganzhou|赣州|268@Kuerle|库尔勒|330@Kelamayi|克拉玛依|166@Guiyang|贵阳|38@Guilin|桂林|33@Liancheng|连城|348@LONGYAN|龙岩|348@Guanghua|光化|746@Lanzhou|兰州|100@LiangPing|梁平|427@Lijiang|丽江|37@Yongzhou|永州|970@Lincang|临沧|1236@Dehong|德宏|365@Mangshi|芒市|365@Lasa|拉萨|41@Linxi|林西|744@Luoyang|洛阳|350@Lianyungang|连云港|353@Linyi|临沂|569@Liuzhou|柳州|354@Luzhou|泸州|355@Linzhi|林芝|108@Mudanjiang|牡丹江|150@Mianyang|绵阳|370@Meixian|梅县|3053@Meizhou|梅州|3053@Nanchong|南充|377@Qiqihaer|齐齐哈尔|149@Ningbo|宁波|375@Nanjing|南京|12@Nalati|那拉提|3360@Nanning|南宁|380@Nanyang|南阳|385@Nantong|南通|82@Manzhouli|满洲里|1083@Panzhihua|攀枝花|1097@Shanghai|上海|2@Shenyang|沈阳|451@Qinhuangdao|秦皇岛|147@Shashi|沙市|442@Xian|西安|10@Shijiazhuang|石家庄|428@Shantou|汕头|447@Puer|普洱|435@Simao|思茅|435@Sanya|三亚|43@Suzhou|苏州|14@Shenzhen|深圳|30@Qingdao|青岛|7@Tacheng|塔城|455@Tongren|铜仁|1227@Tongliao|通辽|458@Jinan|济南|144@Tianjin|天津|3@Huangshan|黄山|23@Taiyuan|太原|105@Wulumuqi|乌鲁木齐|39@Yulin|榆林|527@Weifang|潍坊|475@Weihai|威海|479@Wenshan|文山|1342@Wenzhou|温州|491@Wuhai|乌海|1133@Wuhan|武汉|477@Wuyishan|武夷山|26@Wuxi|无锡|13@Wuzhou|梧州|492@Wanxian|万州|487@Xiangfan|襄樊|496@Xichang|西昌|494@Xilinhaote|锡林浩特|500@Xiamen|厦门|25@Xining|西宁|124@Xuzhou|徐州|512@Yibin|宜宾|514@Yuncheng|运城|140@Yichang|宜昌|515@Yining|伊宁|529@Yiwu|义乌|536@Yanji|延吉|523@Yantai|烟台|533@Yancheng|盐城|1200@Zhaotong|昭通|555@Zhanjiang|湛江|547@Zhuhai|珠海|31@";

$$.module.address.source.fltInternationalaa="@Tashkent|塔什干|TAS@Sofia|索非亚|SOF@Ottawa|渥太华|YOW@Abu Dhabi|阿布扎比|AUH@Adelaide|阿德莱德|ADL@Algiers|阿尔及尔|ALG@Ashgabat|阿什巴哈德|ASB@ISTANBUL|伊斯坦布尔|IST@ANKARA|安卡拉|ANK@Ahmedabad|艾哈迈达巴德|AMD@EDINBURGH|爱丁堡|EDI@Auckland|奥克兰|AKL@Sydney|悉尼|SYD@Macao|澳门|MFM@Baghdad|巴格达|BGW@Baku|巴库|BAK@MADRID|马德里|MAD@Bali|巴厘|DPS@Bahrain|巴林|BAH@BUCHAREST|布加勒斯特|BUH@BARCELONA|巴塞罗那|BCN@Colombo|科伦坡|CMB@Bangui|班吉|BGF@Bangalore|班加罗尔|BLR@KIEV|基辅|IEV@Belgrade|贝尔格莱德|BEG@Beirut|贝鲁特|BEY@Santiago|圣地亚哥|SCL@Mexico City|墨西哥城|MEX@Tel Aviv-yafo|特拉维夫|TLV@Phnom Penh|金边|PNH@PORTO|波尔图|OPO@LISBON|里斯本|LIS@Portland|波特兰（俄勒冈州）|PDX@BIRMINGHAM|伯明翰|BHX@Addis Ababa|亚的斯亚贝巴|ADD@BUDAPEST|布达佩斯|BUD@Prague|布拉格|PRG@Brisbane|布里斯班|BNE@Lima|利马|LIM@Nagasaki|长崎|NGS@Dar Es Salaam|达累斯萨拉姆|DAR@Damascus|大马士革|DAM@Taegu|大丘|TAE@ANTWERP|安特卫普|ANR@Tripoli|的黎波里|TIP@Dubai|迪拜|DXB@Detroit|底特律|DTW@DUBLIN|都柏林|DUB@Douala|杜阿拉|DLA@Dusseldorf|杜塞尔多夫|DUS@Doha|多哈|DOH@Kinshasa|金沙萨|FIH@Dammam|达曼|DMM@Philadelphia|费城|PHL@FLORENCE|佛罗伦萨|FLR@Fukushima|福岛|FKS@Fukuoka|福冈|FUK@OSLO|奥斯陆|OSL@Pusan|釜山|PUS@Hamburg|汉堡|HAM@Okayama|冈山|OKJ@Kaohsiung|高雄|KHH@Copenhagen|哥本哈根|CPH@Kota Kinabalu|哥打基纳巴鲁|BKI@Sao Paulo|圣保罗|SAO@Guam|关岛|GUM@Hiroshima|广岛|HIJ@BRUSSELS|布鲁塞尔|BRU@Atlanta|亚特兰大|ATL@Hyderabad|海得拉巴|HYD@Athens|雅典|ATH@HANOVER|汉诺威|HAJ@Buenos Aires|布宜诺斯艾利斯|BUE@Havana|哈瓦那|HAV@Hanoi|河内|HAN@Orlando|奥兰多|ORL@Helsinki|赫尔辛基|HEL@Ho Chi Minh City|胡志明市|SGN@WARSAW|华沙|WAW@Washington|华盛顿|IAD@Wellington|惠灵顿|WLG@Kuala Lumpur|吉隆坡|KUL@Jeju|济州岛|CJU@TUNIS|突尼斯|TUN@Chennai|金奈|MAA@San Francisco|旧金山|SFO@Kabul|喀布尔|KBL@Khartoum|喀土穆|KRT@Cairo|开罗|CAI@Cape Town|开普敦|CPT@Cairns|凯恩斯|CNS@Canberra|堪培拉|CBR@Cotonou|科托努|COO@Kuwait|科威特|KWI@Christchurch|基督城|CHC@Zurich|苏黎世|ZRH@Karachi|卡拉奇|KHI@Lahore|拉合尔|LHE@Reykjavik|雷克雅末克|REK@MUNICH|慕尼黑|MUC@Aruba|阿鲁巴|AUA@LYON|里昂|LYS@Rio De Janeiro|里约热内卢|RIO@Riyadh|利雅得|RUH@Lusaka|卢萨卡|LUN@LUXEMBOURG|卢森堡|LUX@MALTA|马耳他|MLA@Kagoshima|鹿儿岛|KOJ@TIJUANA|提华纳|TIJ@Washington|华盛顿|DCA@Boston|波士顿|BOS@Los Angeles|洛杉矶|LAX@VENICE|威尼斯|VCE@Male|马累|MLE@Maputo|马普托|MPM@Marseille|马赛|MRS@Mashhad|马什哈德|MHD@Cebu|宿务|CEB@Las Vegas|拉斯维加斯|LAS@MANCHESTER|曼彻斯特|MAN@Bangkok|曼谷|BKK@Tehran|德黑兰|THR@FRANKFURT|法兰克福|FRA@Ulaanbaatar|乌兰巴托|ULN@Monrovia|蒙罗维亚|MLW@Mumbai|孟买|BOM@Yangon|仰光|RGN@MINSK|明斯克|MSQ@Muenster|明斯特|FMO@SALZBURG|萨尔斯堡|SZG@Lagos|拉各斯|LOS@Casablanca|卡萨布兰卡|CAS@Okinawa|冲绳|OKA@NADI|楠迪|NAN@Manila|马尼拉|MNL@Amman|安曼|AMM@Kingston|金斯敦|KIN@Perth|佩斯|PER@Phuket|普吉|HKT@Dhaka|达卡|DAC@Nairobi|内罗毕|NBO@Chiang Rai|清莱|CEI@Chiang Mai|清迈|CNX@Cheong Ju|青州|CJJ@GENEVA|日内瓦|GVA@Zagreb|萨格勒布|ZAG@SARAJEVO|萨拉热窝|SJJ@Saipan|塞班|SPN@Saipan|塞班岛|SPN@Mahe Island|马埃岛|SEZ@Gaza|沙迦|SHJ@SAINT PETERSBURG|圣彼得堡|LED@Malabo|马拉博|SSG@Pyongyang|平壤|FNJ@STOCKHOLM|斯德哥尔摩|STO@Vienna|维也纳|VIE@STUTTGART|斯图加特|STR@AMSTERDAM|阿姆斯特丹|AMS@Matsuyama|松山|MYJ@Koh Samui|苏梅岛|USM@Taipei|台北|TPE@Kathmandu|加德满都|KTM@Berlin|柏林|BER@Phoenix|菲尼克斯（凤凰城）|PHX@Melbourne|墨尔本|MEL@Vientiane|万象|VTE@Vancouver|温哥华|YVR@Bandar Seri Begawan|斯里巴加湾|BWN@ROME|罗马|ROM@Caracas|加拉加斯|CCS@Mauritius|毛里求斯|MRU@Seattle|西雅图|SEA@Muscat|马斯喀特|MCT@Sendai|仙台|SDJ@Siem Reap|暹粒（吴哥窟）|REP@Hongkong|香港|HKG@Komatsu|小松|KMQ@Niigata|新泻|KIJ@Crescent City|新月市|CEC@ALEXANDRIA|亚历山大（埃及）|ALY@Islamabad|伊斯兰堡|ISB@Delhi|新德里|DEL@Dakar|达喀尔|DKR@Johannesburg|约翰内斯堡|JNB@Paramaribo|帕拉马里博|PBM@Singapore|新加坡|SIN@Nagoya|名古屋|NGO@Tirana|地拉那|TIA@San Juan|圣胡安|SJU@Luxor|卢克索|LXR@Asmara|阿斯马拉|ASM@CORK|科克|ORK@SHANNON|香农|SNN@Tallinn|塔林|TLL@Luanda|罗安达|LAD@GRAZ|格拉茨|GRZ@INNSBRUCK|因斯布卢克|INN@KLAGENFURT|克拉根福|KLU@LINZ|林茨|LNZ@Darwin|达尔文|DRW@Hobart|霍巴特|HBA@Launceston|郎塞斯顿|LST@Gold Coast|黄金海岸|OOL@Brasilia|巴西利亚|BSB@Bridgetown|布里奇敦|BGI@Port Moresby|莫尔斯比港|POM@Peshawar|白沙瓦|PEW@Rawalpindi|洛瓦平第|RWP@Asuncion|亚松森|ASU@Panama City|巴拿马城|PFN@Varna|瓦尔纳|VAR@GDANSK|格但斯克|GDN@Krakow|克拉科夫|KRK@KATOWICE|卡托维兹|KTW@POZNAN|波兹南|POZ@WROCLAW|弗罗茨瓦夫|WRO@La Paz|拉巴斯|LPB@Ouagadougou|瓦加杜古|OUA@Bujumbura|布琼布拉|BJM@Aalborg|奥尔堡|AAL@Billund|比伦|BLL@Munich Augsburg|奥格斯堡|AGB@Bremen|不来梅|BRE@COLOGNE|科隆|CGN@Dresden|德累斯顿|DRS@Dortmund|多特蒙德|DTM@Friedrichshafen|弗里的希哈芬|FDH@Leipzig-Halle|莱比锡-哈勒|LEJ@Nuremberg|纽伦堡|NUE@Saarbruecken|萨尔布吕肯|SCN@Lome|洛美|LFW@Punta Cana|蓬特卡那|PUJ@Santo Domingo|圣多明戈|SDQ@NIZHNIY NOVGOROD|下诺夫格罗德|GOJ@Irkutsk|伊尔库次克|IKT@Khabarovsk|哈巴罗夫斯克|KHV@Samara|萨马拉|KUF@KAZAN|喀山|KZN@Novosibirsk|新西伯利亚|OVB@PERM|彼尔姆|PEE@Vladivostok|符拉迪沃斯托克(海参崴)|VVO@Guayaquil|瓜亚基尔|GYE@Quito|基多|UIO@Asmara|阿斯马拉|ASM@Ajaccio|阿雅克肖|AJA@AVIGNON|阿维尼翁|AVN@Brest|布雷斯特|BES@Bastia|巴斯蒂亚|BIA@Biarritz|比亚丽兹|BIQ@Bordeauxtz|波尔多|BOD@Caen|卡昂|CFR@Calvi|卡尔维|CLY@Metz-Nancy|南锡-梅兹|ETZ@Grenoble|格勒诺布尔|GNB@Lannion|拉尼翁|LAI@Le Havre|勒阿弗尔|LEH@LILLE|里尔|LIL@Lorient|罗里昂|LRT@Montpellier|蒙彼利埃|MPL@Nice|尼斯|NCE@Annecy|阿讷西|NCY@Nantes|南特|NTE@Perpignan|佩皮尼昂|PGF@Pau|波城|PUF@Rodez|罗德兹|RDZ@Rennes|雷恩|RNS@Strasbourg|斯特拉斯堡|SXB@Toulouse|图卢兹|TLS@Tours|图尔|TUF@Cayenne|卡宴|CAY@Bacolod|巴科洛德|BCD@Butuan|武端|BXU@Cotabato|科塔巴托|CBO@Cagayan De Oro|卡加延-德奥罗|CGY@Dumaguete|杜马盖地|DGT@Dipolog|第波罗|DPL@Davao|达沃|DVO@General Santos|桑托斯将军城|GES@Iloilo|伊洛伊洛|ILO@Kalibo|卡里波|KLO@Laoag|佬沃|LAO@Legaspi|黎牙实比|LGP@Puerto Princesa|公主港|PPS@Roxas|罗哈斯|RXS@Tacloban|塔克洛班|TAC@Tagbilaran|塔比拉兰|TAG@Tuguegarao|土格加劳|TUG@Naga|那牙|WNP@Zamboanga|三宝颜|ZAM@Suva|苏 瓦|SUV@Kuopio|库奥皮奥|KUO@Oulu|奥卢|OUL@Rovaniemi|罗瓦涅米|RVN@Turku|土尔库|TKU@Tampere|坦佩雷|TMP@Vaasa|瓦萨|VAA@Banjul|班珠尔|BJL@Brazzaville|布拉柴维尔|BZV@Pointe Noire|黑角|PNR@Bogota|波哥达|BOG@Pereira|佩雷拉|PEI@San Jose|圣荷西|SJO@TBILISI|第比利斯|TBS@Pointe a Pitre|皮特瓜角|PTP@Georgetown|乔治敦|GEO@Almaty|阿拉木图|ALA@Atyrau|阿特劳|GUW@Karaganda|卡拉干达|KGF@Astana|阿斯塔纳|TSE@Port au Prince|太子港|PAP@EINDHOVEN|埃因霍温|EIN@Maastricht|马斯垂克|MST@ROTTERDAM|鹿特丹|RTM@Bonaire|博内尔|BON@Curacao|库腊索岛|CUR@Saint Maarten|圣马丁|SXM@Djibouti|吉布提|JIB@Bishkek|比什凯克|FRU@Conakry|科纳克里|CKY@Sault Ste-Marie|苏圣玛丽|YAM@Campbell River|坎贝尔河|YBL@Nanaimo|纳奈莫|YCD@Miramichi|米罗米奇|YCH@Deer Lake|鹿湖|YDF@Edmonton|艾德蒙顿|YEG@Fredericton|弗雷德里克顿|YFC@Kingston|金斯顿|YGK@Halifax|哈利法克斯|YHZ@Kamloops|甘露市|YKA@Kelowna|基隆拿|YLW@Prince Rupert|鲁伯特王子市|YPR@Quebec|魁北克|YQB@Windsor|温莎|YQG@Moncton|蒙克顿|YQM@Comox|康英克斯|YQQ@Regina|里贾纳|YQR@Thunder Bay|雷湾|YQY@Sudbury|萨德伯里|YSB@Saint John|圣约翰|YSJ@Toronto|多伦多|YTO@Montreal|蒙特利尔|YUL@Val d'or|瓦多尔|YVO@Winnipeg|温尼贝格|YWG@Saskatoon|萨斯卡通|YXE@Prince George|乔治王子城|YXS@Terrace|德瑞司|YXT@Calgary|卡尔加里|YYC@Penticton|潘提顿|YYF@Charlottetown|夏络特镇|YYG@Victoria|维多利亚|YYJ@Goose Bay|鹅湾|YYR@Saint,John's|圣约翰斯|YYT@Sarnia|松妮亚|YZR@Shamattawa|沙马塔瓦|ZTM@Las Palmas|拉斯帕尔马斯|LPA@Accra|阿克拉|ACC@Libreville|利伯维尔|LBV@Salisbury|索尔兹伯里|SBY@Victoria Falls|维多利亚大瀑布|VFA@Yaounde|雅温得|YAO@Moroni|莫罗尼|YVA@Abidjan|阿比让|ABJ@Dubrovnik|杜勃罗夫尼克|DBV@Split|斯普利特|SPU@ZAGREB|萨格勒布|ZAG@RIGA|里加|RIX@Luang Prabang|琅勃拉邦|LPQ@VILNIUS|维尔纽斯|VNO@Sintt Denis De La Reunion|圣但尼|RUN@Kigali|基加利|KGL@Antananarivo|塔那那利佛|TNR@Alor Setar|亚罗士打|AOR@Bintulu|民都鲁|BTU@Ipoh|怡保|IPH@Johor Bharu|新山|JHB@Kota Bharu|哥打巴鲁|KBR@Kuching|古晋（沙捞越）|KCH@Kuantan|关丹|KUA@Labuan|纳闽|LBU@Lahad Datu|拿笃|LDU@Langkawi|兰卡威|LGK@Miri|米里|MYY@Penang|槟城|PEN@Sibu|锡布|SBW@Sandakan|山打根|SDK@Kuala Terengganu|瓜拉丁加奴|TGG@Tawau|斗湖|TWU@Bamako|巴马科|BKO@SKOPJE|斯科普里|SKP@Fort de France|法兰西堡|FDF@Nouakchott|努瓦克肖特|NKC@Nouadhibou|努瓦蒂波|NDB@Allentown|亚林镇|ABE@Albuquerque|阿尔伯克基|ABQ@Aberdeen|阿伯丁|ABR@Nantucket|楠塔基特岛|ACK@Arcata|阿卡达|ACV@Atlantic City|大西洋城|AIY@Albany|奥尔巴尼|ALB@Waterloo|沃特卢|ALO@Walla Walla|瓦拉瓦|ALW@Amarillo|阿马里洛|AMA@Anchorage|安克雷奇|ANC@Aspen|白杨镇|ASE@Appleton|阿普尔顿|ATW@Watertown|沃特敦|ATY@Augusta|奥古斯塔|AUG@Austin|奥斯丁|AUS@Wilkes-Barre|威尔克斯—巴里|AVP@Wake Island|威克岛|AWK@Kalamazoo|卡拉马祖|AZO@Hartford|哈特福德|BDL@Bakersfield|贝克斯菲尔德|BFL@Binghamton|宾厄姆顿|BGM@Bangor|班戈|BGR@Birmingham|伯明翰|BHM@Billings|毕林斯|BIL@Bismarck|俾斯麦|BIS@Bemidji|伯米吉|BJI@Bellinghan|贝灵汉|BLI@Bloomington-Normal|布鲁明顿|BMI@Nashville|纳什维尔|BNA@Boise|博伊西|BOI@Brainerd|布锐内德|BRD@Butte|布特|BTM@Baton Rouge|巴吞鲁日|BTR@Burlington|伯灵顿|BTV@Buffalo|布法罗|BUF@Burbank|布班克|BUR@Baltimore|巴尔的摩|BWI@Bozeman|波兹曼|BZN@Columbia|哥伦比亚|CAE@Akron|阿克伦城|CAK@Chadron|内布拉斯加|CDR@Chattanooga|查塔努加|CHA@Charlottesville|弗吉尼亚|CHO@Charleston,SC|查理斯敦|CHS@Cedar Rapids|锡达拉皮兹|CID@San Diego|圣地亚哥|CLD@Cleveland|克里福兰|CLE@Port Angeles|安吉拉斯港|CLM@Charlotte|夏洛特|CLT@Columbus|哥伦布|CMH@Champaign|香槟市|CMI@Hancock|汉考克|CMX@Colorado Springs|科泉|COS@Charleston|查尔斯顿|CRW@Columbus（GA）|哥伦布（佐治亚洲)|CSG@Cincinnati|辛辛那提|CVG@Wausau|沃沙|CWA@Dayton|代顿|DAY@Dubugue|迪比克|DBQ@Washington|华盛顿|DCA@Denver|丹佛|DEN@Dallas|达拉斯|DFW@Dothan|多森|DHN@Duluth|德卢斯|DLH@Des Moines|得梅因|DSM@Wenatchee|韦纳奇|EAT@Eau Claire|奥克莱尔|EAU@Vail|威尔|EGE@Erie|伊利|ERI@Escanaba|埃斯卡纳巴|ESC@Alexandria|亚历山大|ESF@Eugene|犹吉尼|EUG@Evansville|爱文斯维尔|EVV@Newark|纽沃克|EWR@FAIRBANKS|费尔班克斯|FAI@Fargo|法戈|FAR@Fresno|弗列斯诺|FAT@Kalispell|卡利斯比|FCA@Fort Lauderdale|劳德代尔堡|FLL@Flint|弗林特|FNT@Fort Dodge|道奇堡|FOD@Sious Falls|苏福尔斯|FSD@Fort Smith|史密斯堡|FSM@Fort Wayne|韦恩堡|FWA@Fayetteville|菲也特维尔|FYV@Grand Canyon|科罗拉多大峡谷|GCN@Spokane|士波肯|GEG@Grand Forks|格蓝福克|GFK@Grand Junction|大章克申|GJT@Greenville|格林维尔|GLH@Gulfport|海湾港|GPT@Grand Rapids|大急流城|GPZ@Green Bay|绿湾|GRB@Grand Rapids|大急流城|GRR@Greensboro|北卡罗来纳|GSO@Spartanburg|斯巴达堡|GSP@Great Falls|大瀑布市|GTF@Columbus Golden Triangle（MS）|哥伦布（金三角，密西西比州）|GTR@Gunnison|刚尼森|GUC@Steamboat Springs Hayden Yampa Valley|斯廷博特斯普林斯|HDN@Hibbing|西宾|HIB@Helena|海伦娜|HLN@Honolulu|檀香山|HNL@Houston|休斯顿|HOU@Westchester County|威斯特郡|HPN@White Plains|白平原|HPN@Huntsville|汉斯维尔|HSV@Huntington|亨廷顿|HTS@Hyannis|海恩尼斯|HYA@Washington Dulles|华盛顿（杜勒斯机场）|IAD@Wichita|威奇塔|ICT@Idaho Falls|爱达华瀑布市|IDA@Indianapolis|印第安纳波利斯|IND@International Fall|国际瀑布市|INL@Imperial|Imperial|IPL@Islip|艾斯利珀(纽约长岛）|ISP@Inyokem|因纽肯|IYK@Jackson|杰克逊(密歇根州)|JAC@Jackson|杰克逊（密西西比州）|JAN@Jacksonville|杰克逊维尔|JAX@Joplin|乔普林|JLN@Kona|科纳岛|KOA@Lafayette|拉法叶|LAF@Lansing|兰辛|LAN@Lebanon|黎巴嫩|LEB@Lexington|列克星敦|LEX@Little Rock|小石城|LIT@Klamath Falls|克拉玛斯瀑布市|LMT@lincoln|林肯|LNK@La Crosse|拉可诺斯|LSE@Lewiston|莱维斯顿|LWS@Lynchburg|林奇堡|LYH@MANISTEE|马尼斯蒂|MBL@Saginaw|萨基诺|MBS@Kansas City|堪萨斯城|MCI@Orlando International|奥兰多（国际）|MCO@Mason City|麦孙城|MCW@Harrisburg|哈里斯堡|MDT@Meridian|迈越颠|MEI@Memphis|孟菲斯|MEM@Medford|梅德福|MFR@Montgomery|蒙哥马利|MGM@Manchester|曼彻斯特|MHT@Miami|迈阿密|MIA@Kansas city|堪萨斯|MKC@Milwaukee|密尔沃基|MKE@Muskegon|马斯克根|MKG@Jackson|杰克逊(田纳西州）|MKL@Moline|模林|MLI@Monroe|门罗|MLU@Mobile|莫比尔|MOB@Modesto|莫德斯托|MOD@Minot|迈诺特|MOT@Marquette|玛奎德|MQT@Monterey|蒙特利|MRY@Muscle Shoals|马斯尔肖尔斯|MSL@Madison|麦迪逊|MSN@Missoula|密苏拉|MSO@Minneapolis|明尼阿布利斯|MSP@New Orleans|新奥尔良|MSY@Montrose|密苏里|MTJ@Moses Lake|摩西莱克|MWH@Norfolk lsland|诺福可岛|NIK@Oakland|奥克兰(加利福尼亚州)|OAK@KAHULUI|卡胡卢伊|OGG@Oklahoma Ciyt|俄克拉荷马城|OKC@Omaha|奥马哈|OMA@Ontario|安大略|ONT@Norfolk|诺福克|ORF@North Bend|北本德|OTH@Owensboro|欧温斯波洛|OWB@Oxnard|欧克斯纳|OXR@Paducah|帕杜卡|PAH@West Palm Beach|西棕榈滩|PBI@Pendleton|彭德尔顿|PDT@Panama City|巴拿马城|PFN@Peoria|皮若亚|PIA@Laurel|劳雷尔|PIB@Pocatello|波卡特洛|PIH@Pierre|皮埃尔|PIR@Pittsburg|匹兹堡|PIT@Pellston|佩尔斯顿|PLN@Pensacola|彭萨克拉|PNS@Presque Isle|普雷斯克岛|PQI@Pasco|帕斯科|PSC@Palm Springs|棕榈泉|PSP@Pullman|蒲门|PUW@Providence|普罗维丹斯|PVD@Portland|波特兰（缅因州）|PWM@Rapid City|拉皮德城|RAP@Redding|雷丁(宾夕法尼亚州)|RDD@Redmond|雷德蒙|RDM@Raleigh|罗利|RDU@Rockford|洛克福德|RFD@Rhinelander|莱恩兰德|RHI@Richmond|里士满|RIC@Reno|里诺|RNO@Roanoke|罗阿诺克|ROA@Rochester|罗契斯特（纽约州）|ROC@Rochester|罗契斯特（明尼苏达州）|RST@Fort Myers|迈尔斯堡|RSW@San Diego|圣迪戈|SAN@San Antonio|圣安托万|SAT@Savannah|沙凡那港市|SAV@Santa Barbara|圣芭芭拉|SBA@South Bend|南本德|SBN@San Luis Obispo|圣路易斯-奥比斯波|SBP@State College|大学城|SCE@Louisville|路易斯维尔|SDF@Springfield|斯普林菲尔德|SGF@Sheridan|科罗拉多|SHR@Shreveport|什里夫波特|SHV@San Jose|圣何塞|SJC@Salt lake City|盐湖城|SLC@Salem|塞伦|SLE@Sacramento|萨克拉门托|SMF@Santa Maria|圣马利亚|SMX@Orange County|橘子郡|SNA@Springfield IL|斯普林菲尔德 IL|SPI@Saint. Cloud|圣克劳德|STC@Saint.Louis|圣路易斯|STL@Sun Valley|太阳谷|SUN@Superior|苏必利尔|SUW@Sioux City|苏城|SUX@Newburgh|纽波夫|SWF@Syracuse|锡拉库扎|SYR@Toledo|托莱多|TOL@Tampa|坦帕|TPA@Bristol|布里斯托尔|TRI@Tulsa|塔尔萨|TUL@Tupelo|吐丕洛|TUP@Tucson|图森|TUS@Traverse City|特拉佛斯城|TVC@Thief River Falls|小偷河瀑布市|TVF@Twins Falls|双子瀑布|TWF@Knoxville|诺克斯维尔|TYS@Quincy|昆西|UIN@Visalia|维沙利亚|VIS@Valparaiso|瓦尔帕莱索|VPS@Yakima|雅吉瓦|YKM@Youngstown|扬斯敦|YNG@Yuma|尤马|YUM@Chittagong|吉大港|CGP@CHISINAU|基辛那乌|KIV@Marrakech|马拉喀什|RAK@Rabat|拉巴特|RBA@Windhoek|温得和克|WDH@Port Elizabeth|伊丽莎白港|PLZ@Zadar|扎达尔|ZAD@Niamey|尼亚美|NIM@Abuja|阿布贾|ABV@Kano|卡诺|KAN@Port Harcourt|哈科特港|PHC@Bergen|卑尔根|BGO@STAVANGER|斯塔万格|SVG@TRONDHEIM|特隆赫姆|TRD@SANDEFJORD|散纳菲尤尔|TRF@Faro|法鲁|FAO@Funchal|丰沙尔|FNC@GOTHENBURG|歌德堡|GOT@Malmo|马尔穆|MMA@Altenrhein|艾尔特瑞恩|ACH@BERNE|伯尔尼|BRN@Basel|巴塞尔|BSL@San Salvador|圣萨尔瓦多|SAL@Pristina|普里什蒂纳|PRN@Podgorica|波德戈里察|TGD@Timisoara|蒂米什瓦拉|TSR@Freetown|费里敦|FNA@ERCAN|阿尔江|ECN@Larnaca|拉纳卡|LCA@Nicosia|尼克西亚|NIC@Paphos|帕福斯|PFO@Jeddah|吉达|JED@KOSICE|科西策|KSC@LJUBLJANA|卢布尔雅那|LJU@Mogadishu|摩加迪沙|MGQ@Hat Yai|合艾|HDY@Krabi|甲米|KBV@Khonkean|孔敬|KKC@Trang|董里|TST@Surat Thani|素叻|URT@Udon Thani|乌隆|UTH@Kilimanjaro|乞力马扎罗|JRO@Zanzibar|桑给巴尔|ZNZ@Adana|亚达那|ADA@Izmir Adnan Mende|伊兹米尔|ADB@Kayseri|开赛利|ASR@Antalya|安塔利亚|AYT@Bodrum Milas|博德鲁姆|BJV@Diyarbakir|迪亚巴克尔|DIY@Dalaman|达拉曼|DLM@Denizli|代尼兹利|DNZ@Edremit/Korfez|埃德米特|EDO@Erzurum|俄祖汝穆|ERZ@Gaziantep|加济安泰普|GZT@IZMIR|伊兹密尔|IZM@Konya|科尼亚|KYA@Malatya|马拉提亚|MLX@Sanliurfa|萨利乌尔法|SFQ@Samsun Carsamba|萨姆松|SZF@Trabzon|特拉布宗|TZX@Van|凡城|VAN@Guatemala City|危地马拉城|CUA@Entebbe/Kampala|恩德培/坎帕拉|EBB@Odessa|敖德萨|ODS@Simferopol|辛菲罗波尔|SIP@Montevideo|蒙得维的亚|MVD@LANZAROTE|兰萨罗特|ACE@MALAGA|马拉加|AGP@ALICANTE|阿利坎特|ALC@BILBAO|毕尔巴鄂|BIO@PUERTO DEL ROSARIO|福特弯图拉岛|FUE@IBIZA|伊比萨岛|IBZ@LA CORUNA|拉科鲁尼亚|LCG@LEON|雷翁|LEN@LAS PALMAS|拉斯帕尔马斯|LPA@MENORCA|梅诺卡岛|MAH@ASTURIAS|阿斯图利亚斯|OVD@PALMA MALLORCA|帕尔马（马略卡岛）|PMI@SANTIAGO DE COMPO|圣地亚哥|SCQ@SEVILLE|塞维利亚|SVQ@TENERIFE|特内里费|TCI@vigo|比戈|VGO@Valencia|巴伦西亚|VLC@Valladolid|巴利亚多利德|VLL@Apia|阿皮亚|APW@THESSALONIKI|塞萨洛尼基|SKG@Noumea|努梅阿|NOU@Dunedin|达尼丁|DUD@Queenstown|皇后镇|ZQN@YEREVAN|埃里温|EVN@Pico Island|皮克岛|PIX@Aden|亚 丁|ADE@Sanaa|萨那|SAH@Taiz|塔伊兹|TAI@Abadan|阿巴丹|ABD@Alghero|安齐奥（撒丁岛）|AHO@ANCONA|安科纳|AOI@Brindisi|布林迪西|BDS@BOLOGNA|博罗尼亚|BLQ@Bari|巴里|BRI@CAGLIARI|卡利亚里|CAG@Crotone|克罗托內|CRV@CATANIA|卡塔尼亚|CTA@GENOA|热那亚|GOA@NAPLES|那不勒斯|NAP@Perugia|佩鲁贾|PEG@Parma|帕尔马|PMF@Palermo|巴勒莫|PMO@Pisa|比萨|PSA@Pescara|佩斯卡拉|PSR@Reggio Calabria|雷焦卡拉布里亚|REG@RIMINI|里米尼|RMI@Lamezia Terme|拉默齐亚|SUF@TURIN|都灵|TRN@TRIESTE|的里雅斯特|TRS@Verona|维罗纳|VRN@Kozhikode|科泽科得|CCJ@Calcutta|加尔各答|CCU@Cochi|科钦|COK@Goa|果阿|GOI@Lucknow|勒克瑙|LKO@Thiruvananthapuram|特里凡得琅|TRV@Tiruchirapalli|蒂鲁吉拉伯利|TRZ@Mataram|马塔兰|AMI@Balikpapan|巴厘巴板|BPN@Yogyakarta|日惹|JOG@Manado|万鸦老|MDC@Medan|棉兰|MES@Padang|巴东|PDG@Palembang|巨港|PLM@Solo City|索洛|SOC@Semarang|三宝垄|SRG@Surabaya|泗水|SUB@Ujung Pandang|乌戎潘当|UPG@ABERDEEN|阿伯丁|ABZ@Belfast|贝尔法斯特|BFS@Belfast City Apt|贝尔法斯特（城市机场）|BHD@Bristol|布里斯托尔|BRS@CARDIFF|加的夫|CWL@GLASGOW|格拉斯哥|GLA@HUMBERSIDE|亨伯赛|HUY@LEEDS BRADFORD|利兹|LBA@Liverpool|利物浦|LPL@NEWCASTLE|纽卡斯尔|NCL@Norwich|诺里奇|NWI@SOUTHAMPTON|南安普顿|SOU@Ndola|恩多拉|NLA@Ndjamena|恩贾梅纳|NDJ@Gwangju|光州|KWJ@Sapporo|扎幌|SPK@Osaka|大阪|OSA@Seoul|首尔|SEL@Tokyo|东京|TYO@Jakarta|雅加达|JKT@Chicago|芝加哥|CHI@New York|纽约|NYC@PARIS|巴黎|PAR@MOSCOW|莫斯科|MOW@MILAN|米兰|MIL@London|伦敦|LON@";

$$.module.address.source.fltDomestic = "@Akesu|阿克苏|AKU@Aletai|阿勒泰|AAT@Ankang|安康|AKA @Anqing|安庆|AQG @Anshun|安顺|AVA@Baise|百色|AEB@Baoshan|保山|BSD@Baotou|包头|BAV@Beihai|北海|BHY@Beijing|北京|BJS@Changchun|长春|CGQ@Changde|常德|CGD@Changdu|昌都|BPX@Changsha|长沙|CSX@Changzhi|长治|CIH@Changzhou|常州|CZX@Chaoyang|朝阳|CHG@Chengdu|成都|CTU@Chifeng|赤峰|CIF@Chongqing|重庆|CKG@Dali|大理|DLU@Dalian|大连|DLC@Dandong|丹东|DDG@Datong|大同|DAT@Dazhou|达州|DAX@Dehongzhou|德宏州|LUM@Diqing|迪庆|DIG@Dongying|东营|DOY@Dunhuang|敦煌|DNH@Enshi|恩施|ENH@Fuyang|阜阳|FUG@Fuzhou|福州|FOC@Ganzhou|赣州|KOW@Geermu|格尔木|GOQ@Guanghan|广汉|GHN@Guanghua|光化|LHK@Guangzhou|广州|CAN@Guilin|桂林|KWL@Guiyang|贵阳|KWE@Haerbin|哈尔滨|HRB@Haikou|海口|HAK@Hailaer|海拉尔|HLD@Handan|邯郸|HDG@Hangzhou|杭州|HGH@Hanzhong|汉中|HZG@Hefei|合肥|HFE@Heihe|黑河|HEK@Hetian|和田|HTN@Huangshan|黄山|TXN@Huangyan|黄岩|HYN@Huhehaote|呼和浩特|HET@Jiamusi|佳木斯|JMU@Jiayuguan|嘉峪关|JGN@Jilin|吉林|JIL@Jinan|济南|TNA@Jingdezhen|景德镇|JDZ@Jinggangshan|井冈山|JGS@Jinghong|景洪|JHG@jinjiang|晋江|JJN@Jinzhou|锦州|JNZ@Jiujiang|九江|JIU@Jiuzhaigou|九寨沟|JZH@Kashi|喀什|KHG@Kelamayi|克拉玛依|KRY@Kuche|库车|KCA@Kuerle|库尔勒|KRL@Kunming|昆明|KMG@Lanzhou|兰州|LHW@Lasa|拉萨|LXA@LiangPing|梁平|LIA@Lianyungang|连云港|LYG@Lijiang|丽江|LJG@Lincang|临沧|LNJ@Linxi|林西|LXI@Linyi|临沂|LYI@Linzhi|林芝|LZY@LIPING|黎平|HZH@Liuzhou|柳州|LZH@LONGYAN|龙岩|LCX@Luoyang|洛阳|LYA@Luzhou|泸州|LZO@Mangshi|芒市|LUM@Manzhouli|满洲里|NZH@Meixian|梅县|MXZ@Mianyang|绵阳|MIG@Mudanjiang|牡丹江|MDG@Nanchang|南昌|KHN@Nanchong|南充|NAO@Nanjing|南京|NKG@Nanning|南宁|NNG@Nantong|南通|NTG@Nanyang|南阳|NNY@Ningbo|宁波|NGB@Panzhihua|攀枝花|PAI@Qingdao|青岛|TAO@Qingyang|庆阳|IQN@Qinhuangdao|秦皇岛|SHP@Qiqihaer|齐齐哈尔|NDG@Quanzhou|泉州|JJN@Quzhou|衢州|JUZ@Sanya|三亚|SYX@Shanghai|上海|SHA@Shantou|汕头|SWA@jingzhoushashi|荆州沙市|SHS@Shenyang|沈阳|SHE@Shenzhen|深圳|SZX@Shijiazhuang|石家庄|SJW@Simao|思茅|SYM@Tacheng|塔城|TCG@Taiyuan|太原|TYN@Tianjin|天津|TSN@Tongliao|通辽|TGO@Tongren|铜仁|TEN@Wanzhou|万州|WXN@Weifang|潍坊|WEF@Weihai|威海|WEH@Wenshan|文山|WNH@Wenzhou|温州|WNZ@Wuhai|乌海|WUA@Wuhan|武汉|WUH@Wulanhaote|乌兰浩特|HLH@Wulumuqi|乌鲁木齐|URC@Wuxi|无锡|WUX@Wuyishan|武夷山|WUS@Xiamen|厦门|XMN@Xian|西安|SIA@Xiangfan|襄樊|XFN@Xichang|西昌|XIC@Xilinhaote|锡林浩特|XIL@Xingyi|兴义|ACX@Xining|西宁|XNN@Xishuangbanna|西双版纳|JHG@Xuzhou|徐州|XUZ@Yanan|延安|ENY@Yancheng|盐城|YNZ@Yanji|延吉|YNJ@Yantai|烟台|YNT@Yibin|宜宾|YBP@Yichang|宜昌|YIH@Yinchuan|银川|INC@Yining|伊宁|YIN@Yiwu|义乌|YIW@Yongzhou|永州|LLF@Yulin|榆林|UYN@Yuncheng|运城|YCU@Zhangjiajie|张家界|DYG@Zhanjiang|湛江|ZHA@Zhaotong|昭通|ZAT@Zhengzhou|郑州|CGO@zhijiang|芷江|HJJ@Zhoushan|舟山|HSN@Zhuhai|珠海|ZUH@Wuzhou|梧州|WUZ@Eerduosi|鄂尔多斯|DSN@Nalati|那拉提|NLT@Jining|济宁|JNG";

$$.module.address.source.fltAll = "@yichun|伊春|LDS@daqing|大庆|DQA@Yushu|玉树|YUS@Kangding|康定|KGT@Mohe|漠河|OHE@Anshan|鞍山|AOG@Jiuquan|酒泉|CHW@Zunyi|遵义|ZYI@Taizhou|台州|HYN@Akesu|阿克苏|AKU@Aletai|阿勒泰|AAT@Ankang|安康|AKA@Anqing|安庆|AQG@Anshun|安顺|AVA@Anting|安亭|594@Baise|百色|AEB@Baoshan|保山|BSD@Baotou|包头|BAV@Beihai|北海|BHY@Beijing|北京|BJS@Beijing(Nanyuan)|北京(南苑)|BJS,NAY@Beijing(Shoudu)|北京(首都)|BJS,PEK@Changchun|长春|CGQ@Changde|常德|CGD@Changdu|昌都|BPX@Changsha|长沙|CSX@Changzhi|长治|CIH@Changzhou|常州|CZX@Chaoyang|朝阳|CHG@Chengdu|成都|CTU@Chifeng|赤峰|CIF@Chongqing|重庆|CKG@Dali|大理|DLU@Dalian|大连|DLC@Dandong|丹东|DDG@Datong|大同|DAT@Daxian|达县|DAX@Dehong|德宏|LUM@Diqing|迪庆|DIG@Dongying|东营|DOY@Dunhuang|敦煌|DNH@Enshi|恩施|ENH@Fuyang|阜阳|FUG@Fuzhou|福州|FOC@Ganzhou|赣州|KOW@Geermu|格尔木|GOQ@Guanghan|广汉|GHN@Guanghua|光化|LHK@Guangzhou|广州|CAN@Guilin|桂林|KWL@Guiyang|贵阳|KWE@Haerbin|哈尔滨|HRB@Haikou|海口|HAK@Hailaer|海拉尔|HLD@Hangzhou|杭州|HGH@Hanzhong|汉中|HZG@Hefei|合肥|HFE@Heihe|黑河|HEK@Hetian|和田|HTN@Huangshan|黄山|TXN@Huangyan|黄岩|HYN@Huhehaote|呼和浩特|HET@Jiamusi|佳木斯|JMU@Jiayuguan|嘉峪关|JGN@Jilin|吉林|JIL@Jinan|济南|TNA@Jingdezhen|景德镇|JDZ@Jinggangshan|井冈山|JGS@Jinghong|景洪|JHG@jinjiang|晋江|JJN@Jinzhou|锦州|JNZ@Jiujiang|九江|JIU@Jiuzhaigou|九寨沟|JZH@Kaohsiung|高雄|KHH@Kashi|喀什|KHG@Kelamayi|克拉玛依|KRY@Kuche|库车|KCA@Kuerle|库尔勒|KRL@Kunming|昆明|KMG@Lanzhou|兰州|LHW@Lasa|拉萨|LXA@LiangPing|梁平|LIA@Lianyungang|连云港|LYG@Lijiang|丽江|LJG@Lincang|临沧|LNJ@Linxi|林西|LXI@Linyi|临沂|LYI@Linzhi|林芝|LZY@LIPING|黎平|HZH@Liuzhou|柳州|LZH@LONGYAN|龙岩|LCX@Luoyang|洛阳|LYA@Luzhou|泸州|LZO@Mangshi|芒市|LUM@Manzhouli|满洲里|NZH@Meixian|梅县|MXZ@Mianyang|绵阳|MIG@Mudanjiang|牡丹江|MDG@Nanchang|南昌|KHN@Nanchong|南充|NAO@Nanjing|南京|NKG@Nanning|南宁|NNG@Nantong|南通|NTG@Nanyang|南阳|NNY@Ningbo|宁波|NGB@Panzhihua|攀枝花|PZI@Qingdao|青岛|TAO@Qingyang|庆阳|IQN@Qinhuangdao|秦皇岛|SHP@Qiqihaer|齐齐哈尔|NDG@Quanzhou|泉州|JJN@Quzhou|衢州|JUZ@Sanya|三亚|SYX@Shanghai|上海|SHA@Shanghai(Pudong)|上海(浦东)|SHA,PVG@Shanghai(Hongqiao)|上海(虹桥)|SHA,SHA@Shantou|汕头|SWA@Shashi|沙市|SHS@Shenyang|沈阳|SHE@Shenzhen|深圳|SZX@Shijiazhuang|石家庄|SJW@Shishi|石狮|JJN@Simao|思茅|SYM@Tacheng|塔城|TCG@Taiyuan|太原|TYN@Tianjin|天津|TSN@Tongliao|通辽|TGO@Tongren|铜仁|TEN@Wanxian|万州|WXN@Weifang|潍坊|WEF@Weihai|威海|WEH@Wenshan|文山|WNH@Wenzhou|温州|WNZ@Wuhai|乌海|WUA@Wuhan|武汉|WUH@Wulanhaote|乌兰浩特|HLH@Wulumuqi|乌鲁木齐|URC@Wuxi|无锡|WUX@Wuyishan|武夷山|WUS@Xiamen|厦门|XMN@Xian|西安|SIA|XIY@Xiangfan|襄樊|XFN@Xianggelila|香格里拉|DIG@Xichang|西昌|XIC@Xilinhaote|锡林浩特|XIL@Xingyi|兴义|ACX@Xining|西宁|XNN@Xishuangbanna|西双版纳|JHG@Xuzhou|徐州|XUZ@Yanan|延安|ENY@Yancheng|盐城|YNZ@Yanji|延吉|YNJ@Yantai|烟台|YNT@Yibin|宜宾|YBP@Yichang|宜昌|YIH@Yinchuan|银川|INC@Yining|伊宁|YIN@Yiwu|义乌|YIW@Yongzhou|永州|LLF@Yulin|榆林|UYN@Yuncheng|运城|YCU@Zhangjiajie|张家界|DYG@Zhanjiang|湛江|ZHA@Zhaotong|昭通|ZAT@Zhengzhou|郑州|CGO@zhijiang|芷江|HJJ@Zhongdian|中甸|DIG@Zhoushan|舟山|HSN@Zhuhai|珠海|ZUH@Wuzhou|梧州|WUZ@Eerduosi|鄂尔多斯|DSN@Handan|邯郸|HDG@Qiemo|且末|IQM@Nalati|那拉提|NLT@Kanasi|喀纳斯|KJI@Meizhou|梅州|MXZ@Puer|普洱|SYM@Liancheng|连城|LCX@Libo|荔波|LLB@Putuoshan|普陀山|HSN@" +
"Belem|贝伦(BEL)|768@Papeete|帕皮堤(PPT)|5646@Kingsville|金斯维尔(NQI)|7583@Nadi|楠迪(NAN)|791@Seville|塞维利亚(SVQ)|1350@Brasilia|巴西利亚(BSB)|1255@Rotterdam|鹿特丹(RTM)|718@Almaty|阿拉木图(ALA)|174@Aalborg|奥尔堡(AAL)|1441@Aarhus|奥胡斯(AAR)|3324@Aberdeen|阿伯丁(ABZ)|1195@Abidjan|阿比让(ABJ)|3265@Abudhabi|阿布扎比(AUH)|766@Abuja|阿布贾(ABV)|3244@Accra|阿克拉(ACC)|1274@Adana|阿达那(ADA)|1748@Addis Ababa|亚的斯亚贝巴(ADD)|635@Adelaide|阿德莱德(ADL)|1243@Ahmedabad|艾哈迈达巴德(AMD)|754@Aishalton|艾莎尔顿(AHL)|3336@Ajaccio|阿雅克肖(AJA)|1712@Akita|秋田(AXT)|3259@Akron/Canton|阿克伦/坎通(CAK)|3873@Albany|奥尔巴尼(ALB)|1865@Albuquerque|阿尔伯克基(ABQ)|1848@Alexandria|亚历山德里亚(ALY)|1489@Algiers|阿尔及尔(ALG)|1271@Alicante|阿里坎特(ALC)|1293@Alice Springs|艾丽斯斯普林斯(ASP)|3320@Allentown|阿伦敦(ABE)|1395@Altenrhein|阿尔滕莱茵(ACH)|1814@Amman|安曼(AMM)|1282@Amsterdam|阿姆斯特丹(AMS)|176@Anchorage|安克雷奇(ANC)|752@Ancona|安科纳(AOI)|1430@Angers|昂热(ANE)|1738@Angola|安哥拉城(ANQ)|3346@Ankara|安卡拉(ANK)|1218@Annecy|安奈斯(NCY)|1724@Antalya|安塔利亚(AYT)|1217@Ashgabat|阿什贾巴特(ASB)|3862@Asmara|阿斯马拉(ASM)|3325@Astana|阿斯塔纳(TSE)|3263@Asturias|阿斯图里亚斯(OVD)|1345@Asuncion|亚松森(ASU)|819@Athens|雅典(ATH)|710@Atlanta|亚特兰大(ATL)|704@Auckland|奥克兰(AKL).NZ|678@Augusta|奥古斯塔(AGS)|3280@Austin|奥斯汀(AUS)|1179@Avignon|亚维侬(AVN)|1713@Baghdad|巴格达(BGW)|822@Bahrain|巴林(BAH)|194@Baku|巴库(BAK)|650@Bali|巴厘岛(DPS)|723@Balikpapan|巴里巴班(BPN)|1378@Baltimore|巴尔的摩(BWI)|1460@Bandarseribeg|斯里巴加湾市(BWN)|638@Bangalore|班罗尔(BLR)|1355@Bangkok|曼谷(BKK)|359@Bangor|班戈(BGR)|3328@Barcelona|巴塞罗那(BCN)|707@Bari|巴里(BRI)|1431@Basle|巴塞尔(BSL)|806@Bastia|巴斯蒂亚(BIA)|1714@Baton Rouge|巴吞鲁日(BTR)|3363@Beaumont|博蒙特(BPT)|3364@Beida|拜达(LAQ)|797@Beirut|贝鲁特(BEY)|835@Belfast|贝尔法斯特(BFS)|777@Belgrade|贝尔格来德(BEG)|636@Benghazi|班加西(BEN)|820@Bergen|卑尔根(BGO)|821@Berlin|柏林(BER)|193@Berne|伯尔尼(BRN)|834@Biagoveschensk|布拉格维申斯科(BQS)|626@Biarritz|比亚里茨(BIQ)|1715@Bilbao|毕尔巴鄂(BIO)|772@Billund|毕朗(BLL)|1709@Birmingham|伯明翰(BHX).GB|1270@Birmingham|伯明翰(BHM).US|1465@Bishkek|比什凯克(FRU)|642@Bloomington-Normal|布卢明顿-诺马尔(BMI)|3304@Bodrummilasairp|博德鲁姆(BJV)|1761@Bogota|波哥大(BOG)|824@Boise|博伊西(BOI)|1781@Bologna|博洛尼亚(BLQ)|1240@Bombay|孟买(BOM)|724@Bonn|波恩(BNJ)|1450@Bordeaux|波尔多(BOD)|776@Boston|波士顿(BOS)|703@Bratsk|布拉茨克(BTK)|668@Brazzaville|布拉柴维尔(BZV)|808@Bremen|不来梅(BRE)|1359@Brest|布雷斯特(BES)|1739@Brisbane|布里斯班(BNE)|680@Bristol|布里斯托尔(BRS)|838@Brussels|布鲁塞尔(BRU)|196@Bucharest|布加勒斯特(BUH)|674@Budapest|布达佩斯(BUD)|637@Buenos Aires|布宜诺斯艾丽斯(BAI)|4140@Buenosaires|布宜诺斯艾利斯(BUE)|807@Buffalo|布法罗(BUF)|1298@Butte|波由特(BTM)|1404@Cagliari|卡利亚里(CAG)|1432@Cairns|凯恩斯(CNS)|728@Cairo|开罗(CAI)|332@Calcutta|加尔各答(CCU)|756@Calgary|卡尔加利(YYC)|761@Calvi|卡尔维(CLY)|1717@Canberra|堪培拉(CBR)|679@Cancun|坎昆(CUN)|812@Cape Town|开普敦(CPT)|683@Caracas|加拉加斯(CCS)|811@Cardiff|加帝夫(CWL)|1475@Carimagua|卡里马瓜(CCO)|3258@Casablanca|卡萨布兰卡(CAS)|809@Catania|卡塔尼亚(CTA)|1419@Cebu|宿雾(CEB)|1239@Cedar Rapids|锡达拉皮兹(CID)|3306@Champaign|尚佩恩(CMI)|3345@Charleston|查尔斯顿(CRW)|3240@Charlotte|夏洛特(CLT)|1459@Charlottetown|夏洛特敦(YYG)|3869@Chattanooga|查塔努加(CHA)|3356@Chennai|金奈(MAA)|1235@Cheong Ju|清州(CJJ)|736@Chiangmai|清迈(CNX)|623@Chicago|芝加哥(CHI)|549@Chisinau|卡恩(CFR)|1747@Chisinau|基希讷乌(KIV)|3307@Chittagong|吉大港(CGP)|1357@Christchurch|基督城(CHC)|7505@Christchurch|克赖斯特彻奇(CHC)|7505@Cincinnati|辛辛那提(CVG)|1184@Clermontferrand|克莱蒙费朗(CFE)|1716@Cleveland|克里夫兰(CLE)|1185@Cologne|科隆(CGN)|709@Colombo|科伦坡(CMB)|810@Coloradosprings|科罗拉多斯普林(COS)|1424@Columbia|哥伦比亚(CAE)|1426@Columbus|哥伦布(CMH)|1241@Conakry|科纳克里(CKY)|1275@Copenhagen|哥本哈根(CPH)|260@Cork|科克(ORK)|832@Cotonou|科托努(COO)|3251@Cuzco|库斯科(CUZ)|813@Dacca|达卡(DAC)|733@Dalaman|达拉曼(DLM)|1749@Dallas|达拉斯(DFW)|705@Damascus|大马士革(DAM)|839@Dammam|达曼(DMM)|3340@Daressalaam|达累斯萨拉姆(DAR)|814@Darwin|达尔文(DRW)|682@Dayton|代顿(DAY)|1211@Delhi|德里(DEL)|230@Denizli|代尼兹利(DNZ)|1762@Denver|丹佛(DEN)|699@Des Moines|德梅因(DSM)|1437@Detroit|底特律(DTT)|233@Dhahran|宰赫兰(DHA)|802@Diyarbakir|迪亚巴克尔(DIY)|1755@Dnepropetrovsk|第聂伯罗彼得罗夫斯克(DNK)|3297@Doha|多哈(DOH)|1401@Donetsk|多内茨克(DOK)|3903@Dortmund|多特蒙德(DTM)|1411@Douala|杜阿拉(DLA)|1272@Dresden|德雷斯顿(DRS)|1412@Dubai|迪拜(DXB)|220@Dublin|都柏林(DUB)|803@Dubrovnik|杜布罗夫尼克(DBV)|3901@Dunedin|达尼丁(DUD)|1297@Dusseldorf|杜塞尔多夫(DUS)|762@Edinburgh|爱丁堡(EDI)|706@Edmonton|埃特蒙顿(YEG)|1245@Edremit/Korfez|埃德米特(EDO)|1763@Eindhoven|爱因霍温(EIN)|1731@El Paso|埃尔帕索(ELP)|1178@Erevan|埃里温(EVN)|3245@Erfurt|爱尔福特(ERF)|3904@Erie|伊利(ERI)|3872@Erzurum|俄祖汝穆(ERZ)|1754@Eugene|尤金(EUG)|3896@Euroairportmulh|米卢斯(MLH)|1722@Evansville|埃文斯维尔(EVV)|3383@Faisalabad|费萨拉巴德(LYP)|817@Fargo|法戈(FAR)|3358@Faro|法鲁(FAO)|840@Fayetteville|费耶特维尔(FYV)|3278@Firenze|佛罗伦萨(FLR)|687@Fort Myers|迈尔斯堡(FMY)|1872@Fort St. John|圣约翰堡(YXJ)|3828@Fort Wayne|韦恩堡(FWA)|3900@Frankfurt|法兰克福(FRA)|250@Fredericton|弗雷德里克顿(YFC)|1403@Friedrichshafen|腓特烈港(FDH)|1413@Ft.Lauderdal|劳德代尔(FLL)|1874@Fukuoka|福冈(FUK)|248@Fukushima|福岛(FKS)|586@Funchal|丰沙尔(FNC)|3298@Gaborone|哈博罗内(GBE)|857@Gaziantep|加济安泰普(GZT)|1753@Gdansk|格但斯克(GDN)|1461@General Santos|桑托斯将军城(GES)|3283@Geneva|日内瓦(GVA)|666@Genoa|热那亚(GOA)|1433@Glasgow|格拉斯哥(GLA)|780@Goldcoast|黄金海岸(OOL)|1210@Gothenburg|哥德堡(GOT)|804@Grand Rapids|大急流城(GRR)|1858@Graz|格拉茨(GRZ)|805@Greensboro|格林斯伯勒(GSO)|1247@Greenville|格林威尔(GSP)|3239@Grenoble|格勒诺布尔(GNB)|1719@Guadalajara|瓜达拉哈拉(GDL)|1253@Guam|关岛(GUM)|753@Guatemalacity|危地马拉城(GUA)|841@Guayaquil|瓜亚基尔(GYE)|1482@Guernsey|根西岛(GCI)|779@Hakodate|函馆(HKD)|800@Halifax|哈里法克斯(YHZ)|1242@Hamburg|汉堡(HAM)|763@Hannover|汉诺威(HAJ)|1248@Hanoi|河内(HAN)|286@Harare|哈拉雷(HRE)|849@Harrisburg|哈里斯堡(HAR)|1867@Hartford|哈特福德(HFD)|1876@Hat Yai|合艾(HDY)|1480@Havana|哈瓦那(HAV)|690@Helsinki|赫尔辛基(HEL)|277@Hiroshima|广岛(HIJ)|262@Ho Chi Minh|胡志明市(SGN)|301@Hobart|霍巴特(HBA)|1446@Hof|霍夫(HOQ)|3840@Hong Kong|香港(HKG)|58@Honolulu|火奴鲁鲁(HNL)|757@Houston|休斯敦(HOU)|701@Humberside|汉伯塞(HUY)|1732@Huntsville|汉斯威尔(HSV)|3237@Hvderabad|海得拉巴(HYD)|1364@Ibiza|伊比萨(IBZ)|1768@Iguassu Falls|伊瓜苏福尔斯(IGU)|3260@Imam Khomeini|伊玛姆科梅尼(IKA)|3286@Indianapolis|印第安纳波利斯(IND)|1291@Innsbruck|因斯布鲁克(INN)|1451@Inverness|因纹内丝(INV)|1730@Irkutsk|伊尔库茨克(IKT)|672@Ishigaki|石垣(ISG)|1174@Islamabad|伊斯兰堡(ISB)|531@Isle Of Man|马恩岛(IOM)|3894@Istanbul|伊斯坦布尔(IST)|532@Ivalo|伊伐洛(IVL)|1783@Izmir|伊兹密尔(IZM).TR|1769@Izmiradnanmende|伊兹密尔(ADB).TR|1216@Jacksonville|杰克逊威尔(JAX)|1290@Jakarta|雅加达(JKT)|524@Jeddah|捷达(JED)|801@Jeju Island|济州岛(CJU)|737@Jersey|泽西(JER)|778@Joensuu|约恩苏(JOE)|1784@Johannesburg|约翰内斯堡(JNB)|684@Johor Bahru|新山(JHB)|1376@Joplin|乔普林(JLN)|3310@Jyvaskyla|于伐斯居拉(JYV)|1785@Kabul|喀布尔(KBL)|793@Kagoshima|鹿儿岛(KOJ)|735@Kahului|卡胡卢伊(OGG)|1863@Kajaani|卡尼亚(KAJ)|1786@Kalibo|卡利博(KLO)|1778@Kano|卡诺(KAN)|782@Kansas City|堪萨斯城(MKC)|1182@Karachi|卡拉奇(KHI)|334@Karup|卡鲁普(KRP)|3314@Kathmandu|加德满都(KTM)|304@Katowice|卡托维茨(KTW)|1410@Kayseri|开塞利(ASR)|1756@Kazan|喀山(KZN)|1770@Kelowna|科罗纳(YLW)|1398@Kemi|克米(KEM)|1788@Key West|基韦斯特(EYW)|1188@Khadarovsk|哈巴罗夫斯克(KHV)|273@Kharkov|哈尔科夫(HRK)|3299@Khartoum|喀土穆(KRT)|1279@Khon Kaen|孔敬(KKC)|1477@Kiel|基尔(KEL)|1408@Kiev|基辅(IEV)|306@Kingston|金斯敦(KIN)|794@Kinshasa|金沙萨(FIH)|845@Kisangani|基桑加尼(FKI)|846@Kita Kyushu|北九州(KKJ)|3234@Kittila|基蒂拉(KTT)|1790@Klagenfurt|克拉根福特(KLU)|795@Knoxville|诺克斯威尔(TYS)|3235@Kochi|库奇(COK)|1366@Koh Samui|苏梅岛(USM)|1229@Kokkola|科科拉(KOK)|1789@Komatsu|小松(KMQ)|1802@Konya|科尼亚(KYA)|1757@Kosice|科希策(KSC)|1815@Kota Kinabalu|哥打京那巴鲁(BKI)|1393@Krabi|甲米(KBV)|1405@Krakow|克拉特夫(KRK)|1343@Krasnodar|克拉斯诺达尔(KRR)|3300@Kristiansand|克里斯蒂安桑(KRS)|1476@Kuala Lumpur|吉隆坡(KUL)|315@Kuantan|关丹(KUA)|1249@Kuching|古晋(KCH)|1384@Kuopio|库奥皮欧(KUO)|1791@Kuusamo|库萨莫(KAO)|1787@Kuwait|科威特(KWI)|336@Kwangju|光州(KWJ)|738@Kyoto|京都(UKY)|734@La Cross|拉克鲁斯(LSE)|3313@Lafayette|拉菲特(LFT)|3370@Lagos|拉各斯(LOS)|783@Lahore|拉合尔(LHE)|799@Langkawi|兰卡威(LGK)|1225@Lannion|拉尼永(LAI)|1720@Lanzarote|兰萨罗特(ACE)|1766@Las Vegas|拉斯维加斯(LAS)|675@Launceston|朗塞斯顿(LST)|3827@Le Havre|勒阿弗尔(LEH)|1771@Le Mans|勒芒(LME)|1741@Leeds Bradford|利兹(LBA)|1733@Leipjig|莱比锡(LEJ)|1296@Lexington|莱克星顿(LEX)|1402@Libreville|利伯维尔(LBV)|1273@Lille|里尔(LIL)|1462@Lilongwe|利隆圭(LLW)|3352@Lima|利马(LIM)|837@Limoges|利摩日(LIG)|1740@Lincoln|林肯(LNK)|3842@Linkoping|林雪平(LPI)|3746@Linz|林茨(LNZ)|815@Lisbon|里斯本(LIS)|1231@Little Rock|小石城(LIT)|3236@Ljubljana|卢布尔雅那(LJU)|1266@Lombok|龙目岛(AMI)|1392@London|伦敦(LON)|338@Lorient|洛里昂(LRT)|1721@Los Angeles|洛杉矶(LAX)|347@Louisville|路易斯威尔(SDF)|1292@Luanda|罗安达(LAD)|842@Lubumbashi|卢本巴希(FBM)|3282@Lugano|卢加诺(LUG)|3319@Lusaka|卢萨卡(LUN)|816@Luxor|卢克索(LXR)|730@Lwo Lviv|里沃夫(LWO)|3296@Lyon|里昂(LYS)|713@Macau|澳门(MFM)|59@Madison|麦迪逊(MSN)|1397@Madrid|马德里(MAD)|357@Malaga|马拉加(AGP)|1268@Malatya|马拉提亚(MLX)|1752@Male|马累(MLE)|1207@Malta|马耳他(MLA)|1264@Manado|万鸦老(MDC)|1379@Manchester|曼彻斯特(MAN).GB|722@Manchester|曼彻斯特(MHT).US|1877@Mangole|满各里(MDL)|3253@Manila|马尼拉(MNL)|364@Manzini|曼齐尼(MTS)|3883@Maputo|马普托(MPM)|863@Mariehamn|玛丽港(MHQ)|1792@Marquette|马凯特(MQT)|3877@Marseille|马赛(MRS)|712@Maseru|马塞卢(MSU)|3359@Matsuyama|松山(MYJ)|1698@Mauritius|毛里求斯(MRU)|785@Mbandaka|姆班达卡(MDK)|844@Mcallen|迈克艾伦(MFE)|3366@Medan|棉兰(MES)|1380@Meekatharra|米卡萨拉(MKR)|3274@Melbourne|墨尔本(MEL)|358@Memphis|孟菲斯(MEM)|1234@Menorca|梅诺卡(MAH)|1772@Metz/Nancy|梅兹南希(ETZ)|1718@Mexico City|墨西哥城(MEX)|691@Miami|迈阿密(MIA)|702@Milan|米兰(MIL)|361@Milwaukee|密尔沃基(MKE)|1181@Minneapolis|明尼阿波利斯(MSP)|1238@Minsk|明斯克(MSQ)|854@Miri|米里(MYY)|3380@Miyazaki|宫崎(KMI)|1779@Moline|莫林(MLI)|1438@Mombasa|蒙巴萨(MBA)|818@Montevideo|蒙得维的亚(MVD)|770@Montgomery|蒙哥马利(MGM)|3347@Montpellier|蒙彼利埃(MPL)|1294@Montreal|蒙特利尔(YUL)|759@Moscow|莫斯科(MOW)|366@Muenster|蒙斯特(FMO)|1414@Munich|慕尼黑(MUC)|363@Munich Augsburg|奥格斯堡(AGB)|1415@Muscat|马斯卡特(MCT)|853@Muskegon|马斯基根(MKG)|3878@Nagasaki|长崎(NGS)|205@Nagoya|名古屋(NGO)|360@Naha|那霸(NAH)|1166@Nairobi|内罗毕(NBO)|825@Nantes|南特(NTE)|1484@Naples|那不勒斯(NAP)|1262@Nara|奈良(NAW)|1175@Nare|纳雷(NAR)|1812@Nashville|纳什维尔(BNA)|3228@Nassau|拿骚(NAS)|3330@New Orleans|新奥尔良(MSY)|1186@New York|纽约(NYC)|633@Newcastle|纽卡斯尔(NCL)|1289@Niamey|尼亚美(NIM)|864@Nice|尼斯(NCE)|775@Niigata|新泻(KIJ)|1163@Nizhniynovgorod|高尔基(GOJ)|1782@Norfolk|诺福克(ORF)|1423@Norwich|诺维奇(NWI)|1464@Novosibirsk|新西伯利亚(OVB)|168@Nuremberg|纽伦堡(NUE)|764@Odense|欧登塞(ODE)|781@Odessa|奥德萨(ODS)|3272@Oita|大分(OIT)|1286@Okayama|冈山(OKJ)|263@Okinawa|冲绳(OKA)|207@Oklahoma City|俄克拉何马城(OKC)|1440@Omaha|奥马哈(OMA)|1425@Ontario|安大略(ONT)|3820@Orlando|奥兰多(ORL)|1187@Osaka|大阪(OSA)|219@Oslo|奥斯陆(OSL)|827@Ottawa|渥太华(YOW)|760@Oulu|奥卢(OUL)|1793@Paderborn|帕特泊恩(PAD)|1416@Palembang|巨港(PLM)|1468@Palma De Mallor|帕尔马(PMI)|1267@Panama City|巴拿马城(PTY)|830@Pangkor|邦咯岛(PKG)|1486@Paphos|帕福斯(PFO)|3291@Paramaribo|帕拉马里博(PBM)|3267@Paris|巴黎(PAR)|192@Pau|波城(PUF)|1726@Penang|槟城(PEN)|625@Pensacola|彭萨科拉(PNS)|3322@Perm|彼尔姆(PEE)|1736@Perpignan|佩皮尼扬(PGF)|1725@Perth|珀斯(PER)|681@Peshawar|白沙瓦(PEW)|829@Philadelphia|费城(PHL)|1189@Phnom|金边(PNH)|303@Phoenix|凤凰城(PHX)|695@Phuket|普吉岛(HKT)|725@Pico Island|皮克岛(PIX)|1805@Pisa|比萨(PSA)|1347@Pittsburgh|匹兹堡(PIT)|771@Podgorica|波德戈里察(TGD)|3308@Pohang|普项(KPO)|3369@Poitiers|普瓦捷(PIS)|1742@Port Au Prince|太子港(PAP)|828@Port Harcourt|哈科特港(PHC)|784@Port Moresby|泊特莫尔斯比港(POM)|859@Portland|波特兰(PDX)|694@Porto|波尔图(OPO)|826@Portoviejo|达沃(DVO)|1458@Poznan|波兹南(POZ)|1463@Prague|布拉格(PRG)|1288@Pristina|普里什蒂纳(PRN)|1816@Providence|普罗维登斯(PVD)|1879@Puerto Obaldia|奥瓦尔迪亚港(PUE)|1746@Pusan|釜山(PUS)|253@Pyongyang|平壤(FNJ)|390@Quebec|魁北克(YQB)|3284@Queenstown|昆斯敦(ZQN)|1841@Quimper|坎佩尔(UIP)|1743@Quito|基多(UIO)|858@Rabat|拉巴特(RBA)|3685@Raleigh Durham|罗利(RDU)|1406@Regina|里贾纳(YQR)|3841@Rennes|雷恩(RNS)|1473@Reno|里诺(RNO)|1177@Reykjavik|雷克亚未克(REK)|831@Richmond|里士满(RIC)|1868@Riga|里加(RIX)|1470@Rimini|里米尼(RMI)|1429@Riodejaneiro|里约热内卢(GIG)|769@Riyadh|利雅得(RUH)|789@Roanoke|罗阿诺克(ROA)|3321@Rochester|罗切斯特(ROC)|1860@Rodez|罗德兹(RDZ)|1727@Rome|罗马(ROM)|343@Rostov|罗斯托夫(ROV)|3301@Rouyn|鲁安(YUR)|3843@Rovaniemi|罗瓦涅米(RVN)|1794@Saginaw|萨吉诺(MBS)|3362@Saint John\'S|圣约翰斯(YYT)|3316@Saipan|塞班(SPN)|1237@Salt Lake City|盐湖城(SLC)|700@Salzburg|萨尔茨堡(SZG)|739@Samara|萨马拉(KUF)|673@Samsuncarsambaa|萨姆松(SZF)|1758@San Antonio|圣安东尼奥(SAT)|1193@San Diego|圣迭戈(SAN)|698@San Francisco|旧金山(SFO)|313@San Jose|圣何塞(SJC)|1880@San Juan|圣胡安(WSJ)|1427@San Polo|圣保罗(SAO)|415@Sandefjord|山达霍得(TRF)|1735@Sanliurfa|萨利乌尔法(SFQ)|1751@Sanna|萨那(SAH)|850@Santa Ana|圣塔安那(SNA)|1396@Santa Barbara|圣巴巴拉(SBA)|1191@Santiago|圣地亚哥(SCL)|852@Santiagode|圣地亚哥德(SCQ)|774@Sapporo|札幌(SPK)|641@Saskatoo|萨斯卡通(YXE)|1442@Savannah|萨凡纳(SAV)|3939@Seattle|西雅图(SEA)|511@Semarang|三宝拢(SRG)|1488@Semera|瑟梅拉(SZE)|3261@Sendai|仙台(SDJ)|585@Seoul|首尔(SEL)|274@Shannon|香农(SNN)|3115@Sharjah|沙迦(SHJ)|742@Shreveport|什里夫波特(SHV)|3292@Sibiu|锡比乌(SBZ)|3302@Siem Reap|吴哥窟(REP)|362@Simferopol|辛菲罗波尔(SIP)|1800@Singapore|新加坡(SIN)|73@Sofia|索非亚(SOF)|792@Sokoto|索科托(SKO)|1799@South Bend|南本德(SBN)|3248@Southampton|南安普顿(SOU)|1728@Split|斯普利特(SPU)|3264@Spokane|斯波坎(GEG)|1400@Springfield|斯普林菲尔德(SPI)|3241@St Louis|圣路易斯(STL)|1183@St Petersburg|圣彼得堡(LED)|798@St. John|圣约翰(YSJ)|1439@State College|斯泰特科利奇(SCE)|1866@Stavanger|斯塔万格(SVG)|787@Stockholm|斯德哥尔摩(STO)|420@Strasbourg|斯特拉斯堡(SXB)|1354@Stuttgart|斯图加特(STR)|765@Sudbury|萨德伯里(YSB)|3312@Surabaya|泗水(SUB)|1244@Surakarta|苏位卡尔塔(SOC)|1469@Surat Thani|万伦(URT)|1479@Sydney|悉尼(SYD)|501@Sydney|悉尼(加拿大)(YQY)|3285@Syracuse|锡拉丘兹(SYR)|3281@Taegu|大邱(TAE)|1287@Taipei|台北(TPE)|617@Tallahassee|塔拉哈西(TLH)|3882@Tallinn|塔林(TLL)|1737@Tampa|坦帕(TPA)|1399@Tampere|坦佩雷(TMP)|1796@Tashkent|塔什干(TAS)|639@Tbilisi|第比利斯(TBS)|3266@Tehran|德黑兰(THR)|631@Telaviv|特拉维夫(TLV)|462@Tenerife|特内里费(TCI)|1774@Thessalioniki|萨罗尼奇(SKG)|1417@Thunder Bay|桑德贝(YQT)|3354@Tijuana|蒂华纳(TIJ)|788@Timisoara|蒂米什瓦拉(TSR)|1817@Tioman|刁曼(TOD)|1818@Tirana|提拉纳(TIA)|1352@Tokushima|德岛(TKS)|1172@Tokyo|东京(TYO)|228@Toronto|多伦多(YYZ)|461@Toulon|土伦(TLN)|1729@Toulouse|吐鲁兹(TLS)|1361@Tours|图尔斯(TUF)|1765@Townsville|汤斯维尔(TSV)|3357@Toyama|富山(TOY)|570@Trabzon|特拉布宗(TZX)|1760@Trang|董里河(TST)|1481@Traverse City|特拉弗斯城(TVC)|3305@Trengganu|瓜拉丁加奴(TGG)|72@Trieste|的里雅斯特(TRS)|1394@Tripoli|的黎波里(TIP)|790@Trondheim|特隆赫姆(TRD)|1734@Trujillo|特鲁希略(TRU)|1471@Tucson|图森(TUS)|1192@Tulsa|塔尔萨(TUL)|1857@Tunis|突尼斯(TUN)|1280@Turin|都灵(TRN)|1263@Turku|图尔库(TKU)|1795@Tuscaloosa|塔斯卡卢萨(TCL)|1773@Udon Thani|乌隆(UTH)|1478@Uerona|维罗纳(VRN)|1420@Ufa|乌法(UFA)|3902@Ulanbatar|乌兰巴托(ULN)|483@Ulsan|蔚山(USN)|3368@Vaasa|瓦萨(VAA)|1797@Valencia|瓦伦西亚(VLC)|1351@Valladolid|巴利阿多里德(VLL)|773@Van|凡城(VAN)|1750@Vancouver|温哥华(YVR)|476@Varna|瓦尔纳(VAR)|3303@Venice|威尼斯(VCE)|688@Viadivostok|符拉迪沃斯托克(VVO)|628@Victoria|维多利亚(YYJ)|1745@Vienna|维也纳(VIE)|651@Vientiane|万象(VTE)|486@Vigo|维哥(VGO)|1744@Vilnius|维尔纽斯(VNO)|786@Warsaw|华沙(WAW)|293@Washington|华盛顿(WAS)|676@Wellington|惠灵顿(WLG)|843@West Palm Beach|西棕榈滩(PBI)|1873@Winnipeg|温尼伯(YWG)|1434@Wroclaw|弗罗茨瓦夫(WRO)|1448@Yangon|仰光(RGN)|522@Yogyakarta|日惹(JOG)|741@Yuzhnosakhalins|南萨哈林斯克(UUS)|1780@Zagreb|萨格勒布(ZAG)|1418@Zurich|苏黎世(ZRH)|434@Oakland|奥克兰(OAK).US|1435@Kaohsiung|高雄(KHH)|720@Muan|雾安(MWX)|4012@Waterloo|滑铁卢(ALO)|4242@Wausau|沃索(AUW)|4240@Batam|巴淡岛(BTH)|3590@Chico|奇科(CIC)|4236@Daytona beach|代托纳比奇(DAB)|4239@Dothan|多森(DHN)|4234@Fairbanks|费尔班克斯(FAI)|4235@Jackson|杰克逊(JAN)|4238@San Juan|圣胡安(SJU)|4090@Nanaimo|纳奈莫(YCD)|4241@Moncton|蒙克顿(YQM)|4237@Krasnojarsk|克拉斯诺达尔(KJA)|4218@KAMLOOPS|坎卢普斯(YKA)|3440@George|乔治城(GRJ)|4250@Jining|济宁|JNG@Hami|哈密|HMI@Tengchong|腾冲|TCZ@Tianshui|天水|THQ@Zhongwei|中卫|ZHY@Guangyuan|广元|GYS@Flagstaff|费拉格尔斯塔夫(FLG)|7543@Lucerne|卢塞恩(QLJ)|1483@Shizuoka city|静冈(FSZ)|1176@";

$$.module.address.source.fltDomesticTicket="@yichun|伊春|LDS@daqing|大庆|DQA@Yushu|玉树|YUS@Mohe|漠河|OHE@Taizhou|台州|HYN@Jiaxing|嘉兴|571@Huzhou|湖州|086@Shaoxing|绍兴|022@Akesu|阿克苏|AKU@Aletai|阿勒泰|AAT@Ankang|安康|AKA@Anqing|安庆|AQG@Anshun|安顺|AVA@Anting|安亭|594@Baise|百色|AEB@Baoshan|保山|BSD@Baotou|包头|BAV@Beihai|北海|BHY@Beijing|北京|BJS@Changchun|长春|CGQ@Changde|常德|CGD@Changdu|昌都|BPX@Changsha|长沙|CSX@Changzhi|长治|CIH@Changzhou|常州|CZX@Chaoyang|朝阳|CHG@Chengdu|成都|CTU@Chifeng|赤峰|CIF@Chongqing|重庆|CKG@Dali|大理|DLU@Dalian|大连|DLC@Dandong|丹东|DDG@Datong|大同|DAT@Daxian|达县|DAX@Dehong|德宏|LUM@Diqing|迪庆|DIG@Dongying|东营|DOY@Dunhuang|敦煌|DNH@Enshi|恩施|ENH@Fuyang|阜阳|FUG@Fuzhou|福州|FOC@Ganzhou|赣州|KOW@Geermu|格尔木|GOQ@Guanghan|广汉|GHN@Guanghua|光化|LHK@Guangzhou|广州|CAN@Guilin|桂林|KWL@Guiyang|贵阳|KWE@Haerbin|哈尔滨|HRB@Haikou|海口|HAK@Hailaer|海拉尔|HLD@Hangzhou|杭州|HGH@Hanzhong|汉中|HZG@Hefei|合肥|HFE@Heihe|黑河|HEK@Hetian|和田|HTN@Huangshan|黄山|TXN@Huangyan|黄岩|HYN@Huhehaote|呼和浩特|HET@Jiamusi|佳木斯|JMU@Jiayuguan|嘉峪关|JGN@Jilin|吉林|JIL@Jinan|济南|TNA@Jingdezhen|景德镇|JDZ@Jinggangshan|井冈山|JGS@Jinghong|景洪|JHG@jinjiang|晋江|JJN@Jinzhou|锦州|JNZ@Jiujiang|九江|JIU@Jiuzhaigou|九寨沟|JZH@Kashi|喀什|KHG@Kelamayi|克拉玛依|KRY@Kuche|库车|KCA@Kuerle|库尔勒|KRL@Kunming|昆明|KMG@Lanzhou|兰州|LHW@Lasa|拉萨|LXA@LiangPing|梁平|LIA@Lianyungang|连云港|LYG@Lijiang|丽江|LJG@Lincang|临沧|LNJ@Linxi|林西|LXI@Linyi|临沂|LYI@Linzhi|林芝|LZY@LIPING|黎平|HZH@Liuzhou|柳州|LZH@LONGYAN|龙岩|LCX@Luoyang|洛阳|LYA@Luzhou|泸州|LZO@Mangshi|芒市|LUM@Manzhouli|满洲里|NZH@Meixian|梅县|MXZ@Mianyang|绵阳|MIG@Mudanjiang|牡丹江|MDG@Nanchang|南昌|KHN@Nanchong|南充|NAO@Nanjing|南京|NKG@Nanning|南宁|NNG@Nantong|南通|NTG@Nanyang|南阳|NNY@Ningbo|宁波|NGB@Panzhihua|攀枝花|PZI@Qingdao|青岛|TAO@Qingyang|庆阳|IQN@Qinhuangdao|秦皇岛|SHP@Qiqihaer|齐齐哈尔|NDG@Quanzhou|泉州|JJN@Quzhou|衢州|JUZ@Sanya|三亚|SYX@Shanghai|上海|SHA@Shantou|汕头|SWA@Shashi|沙市|SHS@Shenyang|沈阳|SHE@Shenzhen|深圳|SZX@Shijiazhuang|石家庄|SJW@Shishi|石狮|JJN@Simao|思茅|SYM@Tacheng|塔城|TCG@Taiyuan|太原|TYN@Tianjin|天津|TSN@Tongliao|通辽|TGO@Tongren|铜仁|TEN@Wanxian|万州|WXN@Weifang|潍坊|WEF@Weihai|威海|WEH@Wenshan|文山|WNH@Wenzhou|温州|WNZ@Wuhai|乌海|WUA@Wuhan|武汉|WUH@Wulanhaote|乌兰浩特|HLH@Wulumuqi|乌鲁木齐|URC@Wuxi|无锡|WUX@Wuyishan|武夷山|WUS@Xiamen|厦门|XMN@Xian|西安|SIA@Xiangfan|襄樊|XFN@Xianggelila|香格里拉|DIG@Xichang|西昌|XIC@Xilinhaote|锡林浩特|XIL@Xingyi|兴义|ACX@Xining|西宁|XNN@Xishuangbanna|西双版纳|JHG@Xuzhou|徐州|XUZ@Yanan|延安|ENY@Yancheng|盐城|YNZ@Yanji|延吉|YNJ@Yantai|烟台|YNT@Yibin|宜宾|YBP@Yichang|宜昌|YIH@Yinchuan|银川|INC@Yining|伊宁|YIN@Yiwu|义乌|YIW@Yongzhou|永州|LLF@Yulin|榆林|UYN@Yuncheng|运城|YCU@Zhangjiajie|张家界|DYG@Zhanjiang|湛江|ZHA@Zhaotong|昭通|ZAT@Zhengzhou|郑州|CGO@zhijiang|芷江|HJJ@Zhongdian|中甸|DIG@Zhoushan|舟山|HSN@Zhuhai|珠海|ZUH@Wuzhou|梧州|WUZ@Eerduosi|鄂尔多斯|DSN@Handan|邯郸|HDG@Qiemo|且末|IQM@Nalati|那拉提|NLT@Kanasi|喀纳斯|KJI@Meizhou|梅州|MXZ@Puer|普洱|SYM@Liancheng|连城|LCX@Dongguan|东莞|DGM@Suzhou|苏州|SZV@Tengchong|腾冲|TCZ@Tianshui|天水|THQ@Zhuzhou|株洲|ZUZ@Zhongwei|中卫|ZHY@";



function getRadioValue(obj){
	for (var i=0;i<obj.length;i++)
		if (obj[i].checked)
			return obj[i].value;
	return null;
}
function setRadioValue(obj,value){
	for (var i=0;i<obj.length;i++)
		if (obj[i].value==value)
			return obj[i].checked=true;
	return null;
}


$$.module.searchBox.funcList.push(function(){
	var airHotel=$("airHotel");
	var airHotelBtn=$("airHotelBtn");
	var airHotelFrame=$("airHotelFrame");
	var initFlag=false;
	if (!airHotel|!airHotelBtn)
		return;
	airHotelBtn.$r("click",function(){
		airHotel.style.display=airHotel.style.display?"":"none";
		if (airHotelFrame&&!initFlag){
			airHotelFrame.src=airHotelFrame.getAttribute("tagSrc");
			initFlag=true;
		}
	});
	var searchBoxUl=$("searchBoxUl");
	var airHotelClose=$("airHotelClose");
	if (airHotelClose){
		airHotelClose.$r("click",function(){
			airHotel.style.display="none";
		});
		setInterval(function(){
			if (searchBoxUl&&searchBoxUl.module.tab&&searchBoxUl.module.tab.index!=1)
				airHotel.style.display="none";
		},100);
	}
	___.$r("mousedown",function(e){
		e=$fixE(e);
		var obj=e.$target;
		if (obj==airHotelBtn)
			return;
		while (obj!=airHotel&&obj&&obj!=__.body)
			obj=obj.$parentNode();
		if (obj!=airHotel)
			airHotel.style.display="none";
	});
});

$$.module.pkgSearch={};
