﻿/*tuna_071206.js*/
var $topWin = window;
(function() {
    try {
        while (true) {
            var a = $topWin.parent;
            if (a && a != $topWin && a.$Ctrip) $topWin = a;
            else return
        }
    } catch(e) {}
})();
window.$Ctrip = function(h) {
    this.Variable = function() {
        this._ = h;
        this.__ = h.document;
        this.___ = h.__.documentElement;
        h.__.write("<div id=\"jsContainer\"><input id=\"jsSaveStatus\" type=\"text\" style=\"display:none;\" \/><div id=\"tuna_jmpinfo\" style=\"display:none;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>");
        this.$$ = new
        function() {
            this.status = new
            function() {
                this.domReady = false;
                this.busy = 0;
                this.dealt = {};
                this.regEventCount = 0;
                this.regEventHash = {};
                this.charset = (((h.__.charset ? h.__.charset: h.__.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 = h.__.getElementById("tuna_alert");
                this.container = h.__.getElementById("jsContainer");
                this.saveStatus = h.__.getElementById("jsSaveStatus");
                this.back = false;
                this.pageValue = {};
                this.globalValue = {};
                this.today = new Date().toStdString()
            };
            this.module = {
                iframe: [],
                list: {
                    address: "tuna_address_071206",
                    calendar: "tuna_calendar_071206"
                },
                tab: {},
                selectAll: {},
                checkInput: {},
                address: {
                    source: {}
                },
                calendar: {},
                jmpInfo: {
                    count: 0,
                    page: {},
                    array: {}
                },
                init: []
            };
            with(navigator) {
                with(userAgent) {
                    this.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)
                    }
                }
            }
            this.string = {
                "zh-cn": {
                    weekday: "日一二三四五六",
                    display: "@▲|▼@显示|隐藏@"
                },
                "zh-tw": {
                    weekday: "日一二三四五六",
                    display: "@▲|▼@顯示|隱藏@"
                },
                "en": {
                    weekday: "SMTWTFS",
                    display: "@Show|Hidden@"
                }
            } [this.status.version];
            this.access = {}
        }
    };
    this.window = function() {
        this.$fixE = function(a) {
            a = h.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
        };
        this.$stopEvent = function(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)
        };
        this.$getUid = function() {
            return "uid_" + (new Date()).getTime() + Math.random().toString().substr(2, 5)
        };
        this.$c = this.$createElement = function(a) {
            if (a.constructor == Array) return $(h.__.createTextNode(a.join("\n")));
            else return $(h.__.createElement(a))
        };
        this.$pageValue = function() {
            return h.$pageValue.get.apply(h, arguments)
        };
        (function w() {
            var f = h.$$.status.saveStatus.value;
            if (f) $$.status.back = true;
            h.$$.status.saveStatus.value.replace(/\|([^:\|]+):([^:\|]*)\|/g,
            function(a, c, d) {
                h.$$.status.pageValue[unescape(c)] = unescape(d)
            });
            x()
        })();
        function x() {
            var a = [];
            for (var c in h.$$.status.pageValue) a.push(escape(c) + ":" + escape(h.$$.status.pageValue[c]));
            h.$$.status.saveStatus.value = "|" + a.join("|") + "|"
        }
        this.$pageValue.set = function(a, c) {
            h.$$.status.pageValue[a] = c
        };
        this.$pageValue.get = function(a) {
            return h.$$.status.pageValue[a]
        };
        this.$pageValue.del = function(a) {
            delete h.$$.status.pageValue[a]
        };
        this.$globalValue = function() {};
        this.$getQuery = function(a) {
            var c = (location.search || "").match(new RegExp("[\\?&]" + a + "=([^&]+)", "i"));
            return c ? unescape(c[1]) : null
        };
        this.$loadJs = function(a, c, d) {
            var f = arguments.callee;
            var g = f.queue || (f.queue = {});
            c = c || h.$$.status.charset;
            a = a.replace('{$charset}', c);
            if (a in g) {
                if (d) {
                    if (g[a]) g[a].push(d);
                    else d()
                }
                return
            }
            g[a] = d ? [d] : [];
            var i = h.__.createElement("script");
            i.type = "text/javascript";
            i.charset = c;
            i.onload = i.onreadystatechange = function() {
                if (i.readyState && i.readyState != "loaded" && i.readyState != "complete") return;
                i.onreadystatechange = i.onload = null;
                while (g[a].length) g[a].shift()();
                g[a] = null
            };
            i.src = a;
            h.__.getElementsByTagName("head")[0].appendChild(i)
        };
        this.$loadCss = function(a, c) {
            if ($$.browser.IE) h.__.createStyleSheet(a).charset = c || h.$$.status.charset;
            else {
                var d = h.__.createElement("link");
                with(d) {
                    type = "text\/css";
                    rel = "stylesheet";
                    href = a
                }
                h.__.$("head")[0].appendChild(d)
            }
        };
        this.$getCookie = function(a, c) {
            var d = h.__.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
        };
        this.$delCookie = function(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) {
                    h.__.cookie = encodeURIComponent(a) + "=" + d;
                    return
                }
            }
            var f = new Date();
            f.setTime(f.getTime() - 1);
            h.__.cookie = encodeURIComponent(a) + "=;expires=" + f
        };
        this.$setCookie = function(a, c, d) {
            if (!d) {
                d = c;
                c = null
            }
            if (c) {
                var f = $getCookie(a, false) || "";
                if (f) f = (f + "&").replace(new RegExp("(^|&)\\s*" + encodeURIComponent(c) + "=[^&]+&"), "$1");
                h.__.cookie = encodeURIComponent(a) + "=" + f + encodeURIComponent(c) + "=" + encodeURIComponent(d)
            } else h.__.cookie = encodeURIComponent(a) + "=" + encodeURIComponent(d)
        };
        this.$init = function(a) {
            if (a) $topWin.$$.module.init.push(a);
            else $topWin.$$.module.init.each()
        };
        this.$parserRe = function(d) {
            var f = [];
            var g = /<[^>]+\smod=[\'\"]?([\w|]+)[^>]+/g;
            var i = /\smod_jmpInfo_page=[\'\"]?([^\'\"\s]+)/;
            var j = /id=[\'\"]?([\w\-]+)/i;
            var k = null;
            var m = null;
            var l = null;
            (d && d.innerHTML ? d: h.__.body).innerHTML.replace(g,
            function(a, c) {
                try {
                    if (c == "jmpInfo") {
                        if (k = a.match(i)) Ctrip.module.jmpInfo(k[1])
                    } else if ((m = a.match(j)) && (l = $(m[1]))) {
                        if (c in Ctrip.module) new Ctrip.module[c](l);
                        else f.push(l)
                    }
                } catch(e) {
                    $t("parserRe函数错误:" + func.toString().slice(0, 50) + "...", "red")
                };
                return ""
            });
            var n = setInterval(function() {
                var a = f.shift();
                if (a) $topWin.$d(a);
                else clearInterval(n)
            },
            50)
        };
        this.$d = this.$dealElement = function(c) { ($(c).getAttribute("mod") || "").replace(/\w+/ig,
            function(a) {
                if ($topWin.$$.module.list[a]) {
                    if (!$topWin.$$.module[a].list) {
                        $topWin.$$.module[a].list = [];
                        $topWin.$loadJs("http:\/\/webresource.ctrip.com\/code\/js\/" + $topWin.$$.module.list[a] + ".js", "utf-8")
                    }
                    $topWin.$$.module[a].list.push(c);
                    $topWin.$init()
                } else if (Ctrip.module[a]) {
                    if (a == 'jmpInfo') Ctrip.module[a](c);
                    else new Ctrip.module[a](c)
                }
                return ''
            })
        };
        this.$i = function(i) {
            var j = h.$$.access[i];
            if (j) return j;
            else {
                j = new
                function() {
                    var f = [],
                    g = [];
                    this.get = function() {
                        var a = j.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 j.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 h.$$.access[i] = j
        };
        this.$fixElement = function(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 j(a) {
                if (!a) a = window.event;
                return a.srcElement || a.target
            }
            function k(a) {
                var c = a._0;
                if (c) {
                    a.htmlFor = c.id || (c.id = $getUid());
                    a._0 = null
                }
                var d = a.style;
                d.borderBottom = '#aaa 1px dashed';
                d.paddingBottom = '0px';
                d.color = '#1E1A75'
            }
            function m(a) {
                var c = a.style;
                c.borderBottom = '';
                c.paddingBottom = '';
                c.color = ''
            }
            f = f && f.nodeType ? f: h.__;
            if ($$.browser.IE6) {
                var l = f.getElementsByTagName("label");
                for (var n = 0; n < l.length; n++) {
                    var o = i(l[n]);
                    if (o && /checkbox|radio/.test(o.type))(function(lbl, box) {
                        lbl._0 = box;
                        g(lbl, 'mouseover',
                        function() {
                            k(lbl)
                        });
                        g(lbl, 'mouseout',
                        function() {
                            m(lbl)
                        })
                    })(l[n], o)
                }
            }
            if ($$.browser.IE) {
                var t = f.getElementsByTagName("select");
                for (var n = 0; n < t.length; n++) t[n].onmousewheel = function() {
                    return false
                }
            }
        };
        this.$removeTextNode = function(a) {
            if (!a) return;
            var c = a.firstChild,
            d;
            while (c) {
                d = c.nextSibling;
                if (c.nodeType == 3) a.removeChild(c);
                else $removeTextNode(c);
                c = d
            }
            return a
        };
        this.$ajax = function(a, c, d) {
            var f = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"],
            g;
            try {
                g = new XMLHttpRequest()
            } catch(e) {
                for (var i = 0; i < f.length; i++) try {
                    g = new ActiveXObject(f[i]);
                    break
                } catch(e) {}
            }
            if (!g) return;
            g.open(c ? "POST": "GET", a || h.location.href, !!d);
            g.setRequestHeader("Content-Type", "application\/x-www-form-urlencoded");
            g.setRequestHeader("If-Modified-Since", new Date(0));
            if (d) g.onreadystatechange = function() {
                if (g.readyState == 4) {
                    var j = g.status == 200 ? (/xml/i.test(g.getResponseHeader("content-type")) ? g.responseXML: g.responseText) : null;
                    if (d(j) === true) {
                        setTimeout(function() {
                            h.$ajax(a, c, d)
                        },
                        1000)
                    }
                }
            };
            g.send(c || '');
            return d ? g: (g.status == 200 ? (/xml/i.test(g.getResponseHeader("content-type")) ? g.responseXML: g.responseText) : null)
        };
        function y(a) {
            var c = a.keyCode || a.charCode;
            if ($$.status.debug && c == 192) {
                var d = r();
                if (d && (d = d.frameElement)) d.style.display = d.style.display == "" ? "none": ""
            }
        }
        function r() {
            var a = $topWin.frames["Ctrip_debug"];
            if (a) return a;
            with(a = $topWin.$c("iframe")) {
                frameBorder = 0;
                id = name = "Ctrip_debug";
                style.border = "1px solid red";
                style.width = "600px";
                style.height = "300px";
                style.position = $$.browser.IE6 ? "absolute": "fixed";
                style.bottom = style.right = "10px"
            }
            $topWin.$$.status.container.appendChild(a);
            if ($$.browser.IE6) $topWin.$r("scroll",
            function() {
                with($("Ctrip_debug").style) {
                    zoom = 1;
                    zoom = 0
                }
            });
            with((a = r()).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", y);
            return a
        }
        this.$t = function(a, c, d) {
            if (!$topWin.$$.status.debug) return;
            if (h != $topWin) return $topWin.$t(a, c);
            var f = r();
            var g = new Date().getTime() % (1E7);
            var i = "<font id=\"msg_" + g + "\" color=\"" + c + "\"> " + a + "<\/font>";
            var j = f.document.createElement("div");
            if (c) j.style.color = c;
            if (d) j.title = d;
            j.innerHTML = "<font style=\"color:blue;\">" + g + "<\/font> " + i;
            with(f.document.body) {
                if (firstChild) insertBefore(j, firstChild);
                else appendChild(j)
            }
            return a
        };
        this.$alert = function(a, c, d, f, g) {
            a = $(a);
            var i = $("alertInfo"),
            j = $("alertTable"),
            k = 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 m() {
                a.className = a.className.replace("pubGlobal_checkinfo_input01", "");
                $topWin.$$.status.alertDiv.style.display = "none";
                $topWin.$$.status.alertDiv.$clearIframe();
                a.$ur("onblur", m);
                h.__.body.$ur("onmousedown", m);
                a.clearAlert = null;
                h.$alert.element = null
            }
            if (a.disabled) k = 0;
            else setTimeout(function() {
                try {
                    a.focus()
                } catch(e) {
                    k = 0
                }
            },
            0);
            if (k) a.$r("onblur", m);
            else h.__.body.$r("onmousedown", m);
            h.$alert.element = a;
            a.clearAlert = m
        };
        this.checkinfo = this.$alert;
        this.$fix_height = function() {};
        this.c_linklist = {};
        this.c_allyes_text = {};
        this.c_allyes_delay = 1000
    };
    function p(a) {
        return (a.toString().match(/function([^\{]+)/i) || ["", "anonymous"])[1].replace(/\(\)/, "").trim() || "anonymous"
    }
    function s(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 += " " + p(a.func);
        return c
    }
    function q(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(s(c[f]) + " (" + (typeof d == "undefined" ? "无返回值": d.toString().slice(0, 100)) + ")", null, c[f].func);
                        if (d === false) break
                    } catch(a) {
                        $t(s(c[f]) + " (执行错误)", "red", c[f].func)
                    }
                } else {
                    c.splice(f, 1);
                    f--
                }
            }
            return d
        }
    };
    function N(a, c) {
        if (typeof a == "object") return Ctrip.Object.apply(a);
        var d;
        if (c) {
            var f = h.___.innerHTML.match(new RegExp("\\sid=([\\\'\\\"]?)([\\w$]+?[_$]" + a.toReString() + ")\\1"), "g");
            if (f) {
                for (var g = 0; g < f.length; g++) {
                    d = h.$(f[g]);
                    if (d) return d
                }
            }
            return h.$(a)
        } else d = h.__.getElementById(a);
        return d ? $(d) : null
    };
    function C(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
    };
    function u() {
        return ! this.value.trim()
    };
    function z(a) {
        for (var c = 0; c < this.options.length; c++) {
            if (this.options[c].value == a) {
                this.selectedIndex = c;
                return true
            }
        }
        return false
    };
    function v(a) {
        return typeof this.attributes[a] != "undefined"
    };
    function A(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
    };
    function D() {
        return $(this.firstChild)
    };
    function F() {
        return $(this.lastChild)
    };
    function G() {
        var a = this.childNodes;
        for (var c = 0; c < a.length; c++) $(a[c]);
        return a
    };
    function H() {
        return $(this.nextSibling)
    };
    function I() {
        return $(this.previousSibling)
    };
    function J() {
        if (this.click) this.click();
        else {
            var a = __.createEvent("MouseEvents");
            a.initMouseEvent("click", true, true, h, 0, 0, 0, 0, 0, false, false, false, false, 0, this);
            this.dispatchEvent(a)
        }
    };
    function O(a) {
        var c = this.currentStyle || h.getComputedStyle(this, null);
        return a ? c[a] : c
    };
    function K() {
        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
    };
    function P(i, j, k, m) {
        m = m || 50;
        if (arguments.length == 3 && typeof k == "number") {
            m = k;
            k = null
        }
        var l = this;
        if (i.constructor != Array) i = [i];
        if (j.constructor != Array) j = [j];
        i.each(function(g) {
            j.each(function(d) {
                g = g.replace(/^(on)?/i, "");
                g = g == "DOMContentLoaded" ? "domready": g.toLowerCase();
                if (g == "domready") l = h;
                var f = {
                    enabled: true,
                    obj: l,
                    event: g,
                    func: d,
                    hash: k,
                    level: m,
                    id: h.$$.status.regEventCount++
                };
                if (g == "domready" && h.$$.status.domReady) d();
                else {
                    if (! (g in l.module.event)) {
                        l.module.event[g] = [];
                        if (l.attachEvent) l.attachEvent("on" + g, q(l));
                        else l.addEventListener(g, q(l), false)
                    }
                    l.module.event[g].push(f);
                    l.module.event[g].sort(function(a, c) {
                        return (a.level - c.level) || (a.id - c.id)
                    })
                }
                if (k) {
                    if (! (k in h.$$.status.regEventHash)) h.$$.status.regEventHash[k] = [];
                    h.$$.status.regEventHash[k].push(f)
                }
            })
        })
    };
    function Q(g, i, j) {
        var k = 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, "").toLowerCase();
                f = f == "DOMContentLoaded" ? "domready": f.toLowerCase();
                if (f == "domready") k = h;
                if (f in k.module.event) {
                    var c = k.module.event[f];
                    for (var d = 0; d < c.length; d++) {
                        if (c[d].enabled && c[d].func == a && (!j || c[d].hash == j)) {
                            c[d].enabled = false;
                            break
                        }
                    }
                }
            })
        })
    };
    function L(a) {
        var c = this;
        if (a in h.$$.status.regEventHash) {
            var d = h.$$.status.regEventHash[a],
            f;
            while (f = d.shift()) f.obj.$ur(f.event, f.func, a);
            delete h.$$.status.regEventHash[a]
        }
    };
    function R() {
        var a = this.ownerDocument;
        return a.parentWindow || a.defaultView
    };
    function B(x) {
        function y(k, m) {
            var l = [],
            n = k.match(/^([\.\#]*)([a-zA-Z0-9\-_*]+)(.*)$/i);
            if (!n) return [];
            if (n[1] == "#") {
                var o = $(n[2]);
                if (o) l.push(o)
            } else if (n[1] == ".") m.each(function(obj) {
                $each(obj.$("*"),
                function(a) {
                    if (a.className.match(new RegExp("\\b" + n[2] + "\\b"))) l.push($(a))
                })
            });
            else for (var t = 0; t < m.length; t++) {
                var o = m[t].$(n[2]);
                if (o) for (var w = 0; w < o.length; w++) l.push(o[w])
            }
            n[3].replace(/\[([^!=]+)(=|!=)([^\]]*)\]/gi,
            function(d, f, g, i) {
                var j = l.slice(0);
                l = [];
                j.each(function(a) {
                    f = {
                        _3: "className",
                        _0: "htmlFor"
                    } ["_" + f] || f;
                    var c = a[f] || a.getAttribute(f);
                    if (g != "=" ^ c == i) l.push($(a))
                })
            });
            return l
        }
        var r = [this == h ? h.__.body: this];
        x.replace(/(#|\*)/gi, " $1").replace(/([^\^ ])\.(\w+)/gi, "$1[className=$2]").trim().split(/\s+/g).each(function(a) {
            r = y(a, r)
        });
        return r.length == 0 ? null: r
    };
    function M() {
        var f = this,
        g = this,
        i, j = [0, 0],
        k,
        m = {
            "thin": 2,
            "medium": 4,
            "thick": 6
        };
        function l() {
            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 m[c] || parseInt(c, 10) || 0
            }
            j[0] += d("Left");
            j[1] += d("Top")
        }
        do {
            i = $(g).$getWin();
            if (g.tagName.match(/^(iframe|frameset)$/i)) l();
            k = -1;
            do {
                j[0] += g.offsetLeft - g.scrollLeft;
                j[1] += g.offsetTop - ($$.browser.Safari && g == i.document.body ? 0 : g.scrollTop);
                switch (g.$getStyle("position")) {
                case "absolute":
                    l();
                    break;
                case "fixed":
                    k = 1;
                    break
                }
            } while ( g . offsetParent && g != g . offsetParent && ( g = $ ( g . offsetParent )) && g != h.___);
            if ($$.browser.Safari) {
                j[0] += i.__.body.leftMargin || 0;
                j[1] += i.__.body.topMargin || 0
            }
            if (k == 1 || i != $topWin) {
                j[0] += i.___.scrollLeft * k;
                j[1] += i.___.scrollTop * k
            }
        } while ( g = i . frameElement );
        return j
    };
    function S(k, m, l) {
        function n(g, i) {
            function j(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 j(m.match(g), this, j(l.match(g), k, o[i], 1), -1) + "px"
        }
        var o = k.$getPos();
        m = m || "lt";
        l = l || "lb";
        this.style.left = n.call(this, /[lcr]/i, 0);
        this.style.top = n.call(this, /[tmb]/i, 1)
    };
    function T(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
    };
    function U() {
        var a = this.module.iframe;
        if (a) {
            a.style.display = "none";
            this.module.iframe = null
        }
        return a
    };
    function ba(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)
    }
    function V(a) {
        var c = this,
        d = c.firstChild || c.nextSibling;
        if (!d) do {
            c = c.parentNode;
            if (c == h.__.body) return null;
            d = c.nextSibling
        } while (! d );
        return $($abs(d, a, arguments.callee))
    };
    function W(a) {
        if (this == h.__.body) return null;
        var c = this.previousSibling;
        if (c) {
            while (c.lastChild) c = c.lastChild
        } else c = this.parentNode;
        return $($abs(c, a, arguments.callee))
    };
    function X() {
        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
        }
    };
    function Y() {
        var a = this.$getPos();
        with($topWin.___) {
            scrollLeft = a[0] - 80;
            scrollTop = a[1] - 80
        }
    };
    function Z() {
        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
    };
    this.Object = function() {
        if (!this || this.nodeType == 3 || this.$) return this;
        if (this.__) this.$ = N;
        else this.$ = C;
        this.module = {};
        this.module.event = {};
        if (this.nodeType == 1) {
            if (this.tagName == "INPUT" && /^(text|hidden)$/i.test(this.type) || this.tagName == "TEXTAREA") this.isNull = u;
            if (/^SELECT$/.test(this.tagName)) this.$setValue = z
        }
        if (!this.hasAttribute) this.hasAttribute = v;
        this.$parentNode = A;
        this.$firstChild = D;
        this.$lastChild = F;
        this.$childNodes = G;
        this.$nSib = this.$nextSibling = H;
        this.$pSib = this.$previousSibling = I;
        this.$click = J;
        this.$getStyle = O;
        this.$getPara = K;
        this.$r = this.$regEvent = P;
        this.$ur = this.$unregEvent = Q;
        this.$urh = this.$unregEventHash = L;
        this.$getWin = R;
        this.$g = this.$selNode = B;
        this.$getPos = M;
        this.$setPos = S;
        this.$setIframe = T;
        this.$clearIframe = U;
        this.$nAbs = V;
        this.$pAbs = W;
        this.$focusNext = X;
        this.$setDisplay = Y;
        this.$isDisplay = Z;
        return this
    };
    this.Array = 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
        }
    };
    this.Number = 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
        }
    };
    this.String = 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() {
            var a = h.$$.status.version.match(/^zh-/) ? this: this.replace(/^(\d{1,2})-(\d{1,2})-(\d{4})$/, "$3-$1-$2");
            var c = a.match(/^((19|20)\d{2})-(\d{1,2})-(\d{1,2})$/);
            if (!c) return false;
            for (var d = 1; d < 5; d++) c[d] = parseInt(c[d], 10);
            if (c[3] < 1 || c[3] > 12 || c[4] < 1 || c[4] > 31) return false;
            var f = new Date(c[1], c[3] - 1, c[4]);
            return f.getDate() == c[4] ? f: 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() {
            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",
            d = this.replace(/[ \-,\.\/]+/g, "-").replace(/(^|-)0+(?=\d+)/g, "$1").replace(/[a-z]{3,}/i,
            function(a) {
                return (_1 = c.match(new RegExp("(^|@)" + a + "[^\\|]*\\|(\\d+)", "i"))) ? _1[2] : a
            }).replace(/^([^-]{1,2}-[^-]{1,2})-([^-]{4})$/, "$2-$1");
            return d.isDateTime() ? 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]
        }
    };
    this.Date = 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()
        }
    };
    this.module = new
    function() {
        this.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 || '_2'
                })
            }
            a.innerHTML = f.join('')
        };
        this.allyes = function(f) {
            var g = n("user") || n("mod_allyes_user");
            if (!g) {
                var i = n('mod_allyes_buttons', window);
                var j = n('mod_allyes_text', window.c_allyes_text);
                if (!i && !j) return
            }
            var k = '<div class="pubGlobal_ad140x60" style="height:{$height}px">{$iframe}<\/div>';
            var m = '<div class="pubGlobal_adtxt140">{$text}<\/div>';
            var l = '<iframe marginheight="0" width="100%" height="100%" marginwidth="0" frameborder="0" scrolling="no" src="http://allyes.ctrip.com/main/adfshow?user={$user}&db=ctrip&border=0&local=yes"><\/iframe>';
            setTimeout(function() {
                if (g) {
                    if (g.indexOf('@') > -1) g = o(g.split('@'));
                    f.innerHTML = l.replace('{$user}', g)
                } else {
                    var a = [];
                    if (i) a = i.map(function(b) {
                        b.button = b.button || ';';
                        return k.replace('{$height}', b.height).replace('{$iframe}', l.replace('{$user}', b.user))
                    });
                    if (j) a.push(m.replace('{$text}', $s2t(j)));
                    f.innerHTML = a.join('')
                }
            },
            window.c_allyes_delay);
            function n(a, c) {
                var d = f.getAttribute(a);
                if (!d) return null;
                if (c) return c[d] || null;
                else return d
            }
            function o(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]
            }
        };
        this.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)
                });
                h.$r("beforeunload", a.module.notice.check)
            }
            a.module.notice.check()
        };
        this.tab = function(g) {
            var i = h.$g(g.getAttribute("mod_tab_button") || "");
            var j = h.$g(g.getAttribute("mod_tab_panel") || "");
            var k = parseInt(g.getAttribute("mod_tab_select") || 1, 10);
            var m = ((g.getAttribute("mod_tab_event") || "").match(/^mouseover$/i) || "click").toString();
            if (!i || !j) return;
            g.module.tab = new
            function() {
                this.funcListHash = {};
                this.select = function(a) {
                    if (this.funcListHash[a - 1]) this.funcListHash[a - 1]()
                }
            };
            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 (j[c]) j[c].style.display = (f == c) ? "": "none"
                    })
                };
                d.$r(m, g.module.tab.funcListHash[f])
            });
            g.module.tab.select(k)
        };
        this.display = function(j) {
            var k = j.$getPara("mod_display_panel"),
            m = [];
            k.each(function(a) {
                a = h.$(a) || h.$selNode(a);
                if (a) {
                    if (a.length) a.each(function(a) {
                        m.push(a)
                    });
                    else m.push(a)
                }
            });
            j.$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])
                        }
                    }
                })(j);
                m.each(function(a) {
                    a.style.display = a.$getStyle("display") == "none" ? "": "none"
                })
            })
        };
        this.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
                })
            })
        };
        this.validate = function(a) {
            var c = h.$(a.getAttribute("mod_validate_true") || "");
            var d = h.$(a.getAttribute("mod_validate_false") || "");
            var f = a.getAttribute("mod_validate_function") || "";
            if (!f) return;
            var g = f.match(/^\/(.*?[^\\])\/([gmi]*?)$/);
            var i, j, k;
            f = h[f];
            if (g || f) {
                a.module.validate = new
                function() {
                    this.check = function() {
                        if (a.value || !c && !d) k = !(j = f ? f(a.value, a) : a.value.match(new RegExp(g[1], g[2])));
                        else j = k = false;
                        if (c) c.style.display = j ? "": "none";
                        if (d) d.style.display = k ? "": "none"
                    }
                };
                a.$r("focus",
                function() {
                    i = setInterval(a.module.validate.check, 200)
                });
                a.$r("blur",
                function() {
                    a.module.validate.check();
                    clearInterval(i)
                })
            }
        }
    };
    this.debug = new
    function() {};
    this.Date.apply(h.Date.prototype);
    this.Variable.apply(h);
    this.Number.apply(h.Number.prototype);
    this.String.apply(h.String.prototype);
    this.Array.apply(h.Array.prototype);
    this.window.apply(h);
    this.Object.apply(h);
    this.Object.apply(h.__);
    this.Object.apply(h.___);
    this.Object.apply(h.$$.status.alertDiv);
    this.init = new
    function() {
        var d = __.domain;
        if (/\.ctrip(travel)?\.com$/i.test(d)) {
            d = /travel\.com$/i.test(d) ? d.split('.').slice(1).join('.') : 'ctrip.com';
            __.write("<script src=\"http:\/\/www." + d + "\/rp\/uiScript.asp\"><\/script>")
        }
        if (h.$$.status.charset == 'big5') __.write("<script src=\"http:\/\/webresource.ctrip.com\/code\/js\/public\/public_s2t.js\" charset=\"utf-8\"><\/script>");
        else h.$s2t = function(a) {
            return a
        };
        if ($$.browser.IE6) try {
            __.execCommand("BackgroundImageCache", false, true)
        } catch(e) {};
        h.$$.status.debug = /\$debug\$/i.test($topWin.name) || /^(true|1)$/.test($getQuery("debug"));
        h.$$.status.debugEvent = /\$debugEvent\$/i.test($topWin.name) || /^(true|1)$/.test($getQuery("debugEvent"));
        h.$$.status.alertDiv.innerHTML = h.$$.status.version.match(/^zh-/) ? "<table id=\"alertTable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"alert_tl\"></td><td class=\"alert_tc\"><div><\/div><\/td><td class=\"alert_tr\"><\/td><\/tr><tr><td class=\"alert_ml\"><div><\/div><\/td><td id=\"alertInfo\" class=\"alert_mc\">这里是内容<\/td><td class=\"alert_mr\"><div><\/div><\/td><\/tr><tr><td class=\"alert_bl\"><\/td><td class=\"alert_bc\"><div><\/div><\/td><td class=\"alert_br\"><\/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 f(a) {
            var c;
            h.$$.status.domReady = true;
            if ("domready" in h.module.event) {
                while (c = h.module.event["domready"].shift()) if (c.enabled) try {
                    c.func(a)
                } catch(a) {
                    $t("domReady函数错误:" + c.func.toString().slice(0, 100) + "...", "red", c.func)
                }
            }
        }
        if ($$.browser.Moz || $$.browser.Opera) __.addEventListener("DOMContentLoaded", f, false);
        else if ($$.browser.IE) {
            if (!h.frameElement)(function() {
                try {
                    h.___.doScroll("left")
                } catch(e) {
                    setTimeout(arguments.callee, 50);
                    return
                }
                f()
            })()
        } else if ($$.browser.Safari) {
            var g = setInterval(function() {
                if (h.__.readyState == "loaded" || h.__.readyState == "complete") {
                    clearInterval(g);
                    f()
                }
            },
            10)
        }
        h.$r("domready", [function() {
            $(h.__.body)
        },
        h.$parserRe, h.$fixElement]);
        h.$r("load",
        function() {
            if (!h.$$.status.domReady) f()
        })
    }
};
var Ctrip = new $Ctrip(window);
this.jmpInfo = (function() {
    var d = "http:\/\/webresource.ctrip.com\/styles\/control\/tuna_071206\/control_jmpinfo_tuna_071206.css";
    var f = "\/webresource\/ui\/jmpinfo_tuna\/";
    var g = "http:\/\/webresource.ctrip.com\/code\/js\/resource\/jmpinfo_tuna\/";
    var i = $("tuna_jmpinfo");
    function j() {
        /*$loadCss(d);*/
        _.___.$r("mouseover",
        function(a) {
            var c = $fix(E).$target;
            if (c) k(c)
        })
    }
    i.$("mouseover",
    function() {});
    i.$("mouseout",
    function() {});
    function k(a) {}
    function m(a) {}
    return function(a) {
        if (!$$.module.jmpInfo.count) j();
        $$.module.jmpInfo.count++
    }
})();
Ctrip.module.jmpInfo = (function() {
    var o = '\/webresource\/ui\/jmpinfo_tuna\/';
    var t = 'http:\/\/webresource.ctrip.com\/styles\/control\/tuna_071206\/control_jmpinfo_tuna_071206.css';
    var w = {
        CraftType: 'http:\/\/webresource.ctrip.com\/code\/js\/resource\/jmpinfo_tuna/CraftType_{$charset}.js'
    };
    var x = {
        "align-center": "cbct",
        "align-left": "lblt",
        "corner-left": "rblt",
        "align-right": "rbrt",
        "corner-right": "lbrt",
        "above-align-left": "ltlb",
        "above-align-right": "rtrb"
    };
    var y = '__jpi_';
    var r = 200;
    var h = 400;
    var p = null,
    s = null,
    q = null,
    N = 0,
    C = null,
    u = null,
    z = {},
    v = {},
    A = {},
    D = false;
    window.$r('domReady', F);
    return function(a) {
        F();
        if (a.nodeType == 1) {
            if (!a.id) a.id = y + N++;
            L(a)
        } else {
            M(a)
        }
    };
    function F() {
        if (D) return;
        D = true;
        /*$loadCss(t)*/
        ;
        p = document.createElement("div");
        p.id = 'tuna_jmpinfo';
        p.style.cssText = 'visibility:hidden;position:absolute;z-index:120;overflow:hidden';
        $$.status.container.appendChild(p);
        p = $(p.id);
        var a = document.documentElement;
        if (a.attachEvent) a.attachEvent('onmouseover', G);
        else a.addEventListener('mouseover', G, false)
    }
    function G(a) {
        var c = P(a),
        d = null;
        if (!c) return;
        if (c.id && (c.id in z)) {
            if (c != s && c != q) {
                q = c;
                clearTimeout(u);
                u = setTimeout(J, h)
            }
        } else if ((d = c.getAttribute('mod')) == 'jmpInfo') {
            L(c);
            if (c != s && c != q) {
                q = c;
                clearTimeout(u);
                u = setTimeout(J, h)
            }
        } else if (s) {
            if (K(c, s, p)) clearTimeout(C);
            else C = setTimeout(O, r)
        } else if (q) {
            if (!K(c, q)) {
                clearTimeout(u);
                q = null
            }
        }
    }
    function H(a) {
        if (!a.$getPos) $(a);
        var c = a.$getPos();
        return {
            left: c[0],
            top: c[1]
        }
    }
    function I(a, c) {
        var d = a.style;
        if (!c) {
            d.visibility = 'hidden';
            d.left = d.top = '-500px';
            a.$clearIframe()
        } else {
            var d = a.style;
            d.left = c.left + 'px';
            d.top = c.top + 'px';
            d.visibility = 'visible';
            a.$setIframe()
        }
    }
    function J() {
        if (!q) return;
        var a = R(q);
        if (!a) return;
        s = q;
        q = null;
        p.innerHTML = v[a.page];
        for (var c = 1; el = document.getElementById('para' + c); c++) el.innerHTML = a.content[c - 1] || '';
        for (var c = 1; el = document.getElementById('array' + c); c++) el.innerHTML = a.para[c - 1] || '';
        I(p, Q(s, a.position))
    }
    function O() {
        s = null;
        I(p, null)
    }
    function K(a, c, d) {
        while (a && a != c && a != d) a = a.parentNode;
        return !! a
    }
    function P(a) {
        a = a || window.event;
        return a.srcElement || a.target
    }
    function Q(a, c) {
        var d = H(a);
        var f = a.offsetWidth,
        g = a.offsetHeight;
        var i = p.offsetWidth,
        j = p.offsetHeight;
        var k = {
            l: 0,
            c: f >> 1,
            r: f
        };
        var m = {
            t: 0,
            c: g >> 1,
            b: g
        };
        var l = {
            l: 0,
            c: i >> 1,
            r: i
        };
        var n = {
            t: 0,
            c: j >> 1,
            b: j
        };
        d.left += k[c[0]] - l[c[2]];
        d.top += m[c[1]] - n[c[3]];
        return d
    }
    function L(a) {
        var c = B(a, 'mod_jmpInfo_page', 'default_normal.asp');
        var d = M(c);
        var f = B(a, 'mod_jmpInfo_position', '');
        if (!f || !(f in x)) {
            f = 'lblt'.split('');
            var g = H(a);
            if (g.left > 500) f[0] = f[2] = 'r'
        } else {
            f = x[f].split('')
        }
        d.position = f;
        d.content = B(a, 'mod_jmpInfo_content', '').split('|');
        z[a.id] = d
    }
    function R(a) {
        var c = z[a.id];
        if (!v[c.page]) return null;
        if (c.search) c.para = c.search.hash[c.search.key] || [];
        return c
    }
    function B(a, c, d) {
        return a.getAttribute(c) || d || ''
    }
    function M(a) {
        var c = a,
        d = null;
        var f = a.indexOf('?');
        if (f >= 0) {
            c = a.slice(0, f).trim();
            d = T(a.slice(f + 1))
        }
        if (! (c in v)) S(c);
        return {
            page: c,
            search: d
        }
    }
    function S(c) {
        v[c] = false;
        $ajax(o + c, null,
        function(a) {
            if (a) v[c] = a.replace(/\n/g, '').replace(/^[\s\S]*<body.*?>|<\/body>[\s\S]*$/gi, '')
        })
    }
    function T(a) {
        var c = a.indexOf('=');
        if (c == -1) return null;
        var d = a.slice(0, c);
        var f = a.slice(c + 1);
        if (! (d in A)) U(d);
        return {
            hash: A[d],
            key: f
        }
    }
    function U(f) {
        var g = A[f] = {};
        $loadJs(w[f], null,
        function() {
            var a = $$.module.jmpInfo.array[f].slice(1, -1).split('@');
            for (var c = 0; c < a.length; c++) {
                var d = a[c].split('|');
                g[d[0]] = d
            }
        })
    }
})();
/*初始化list列表*/
$$.module.address.list = [];
$$.module.calendar.list = [];
$ur("domReady", $parserRe);
$$.module.searchBox = {
    init: function() {
        this.funcList.each();
    },
    funcList: [function() {
        $parserRe($("searchBox"));
    }]
};
/*tuna_address_071206.js*/
$$.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": ["http://scriptres.ctrip.com/hoteladdress/HotelCityAddress{$charset}.aspx", "utf-8"],
    "hotelAll": ["http://scriptres.ctrip.com/hoteladdress/HotelCityAddress{$charset}.aspx", "utf-8"]
};
/*$loadCss("http://webresource.ctrip.com/styles/control/tuna_071206/control_address_tuna_071206.css");*/
function sortFunc(c, b) {
    var e = c.match(/^[^\|]+/),
    f = b.match(/^[^\|]+/);
    return e > f ? 1 : (e == f ? 0 : -1)
} (function c_address() {
    var G = $c("div");
    with(G.style) {
        width = "0px";
        height = "0px"
    }
    G.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(G);
    var j = $("tuna_address");
    $$.module.address.source["default"] = "@@";
    var L = $("address_warp"),
    u = $('address_message'),
    A = $('address_list'),
    v = [$('address_p'), $('address_p1'), $('address_p2'), $('address_p3'), $('address_p4'), $('address_p5')],
    B = $('address_arrowl'),
    C = $('address_arrowr'),
    h = A.getElementsByTagName("a"),
    R = [];
    for (var D = 0; D < h.length; D++) R[D] = h[D].cloneNode(true);
    function M() {
        function Q(d) {
            var n = 0,
            r, s = d.$getWin();
            var a = d.module.address = {};
            var S, w, g = null,
            t, p = [];
            d.setAttribute("autoComplete", "off");
            $r("beforeunload",
            function() {
                d.setAttribute("autoComplete", "on")
            });
            a.focusNext = d.getAttribute("mod_address_focusNext");
            a.focusNext = /^(1|true)$/i.test(a.focusNext || "");
            a.reference = d.getAttribute("mod_address_reference");
            var m = d.getAttribute("mod_address_cookie");
            if (m) {
                m = s.$(m);
                if (!m) {
                    var H = s.$c("input");
                    with(H) {
                        type = "hidden";
                        id = name = m
                    }
                    m = H;
                    d.parentNode.insertBefore(m, d)
                }
            }
            if (a.reference) a.reference = s.$(a.reference) || s.$(a.reference, true);
            var x = d.getAttribute("mod_address_suggest");
            var I = d.getAttribute("mod_address_cookieSuggest");
            a.suggest = [];
            if (I) {
                a.suggest = I.match(/[^@]+@/gi);
                if (x) a.suggest._0(x.match(/[^@]+@/gi))
            } else if (x) a.suggest = x.match(/[^@]+@/gi);
            if (a.suggest.length > 12) a.suggest = a.suggest.slice(0, 12);
            a.source = d.getAttribute("mod_address_source") || "default";
            if (!$$.module.address.source[a.source]) {
                $$.module.address.source[a.source] = "@@";
                if ($$.module.address.sourceMap[a.source]) $loadJs($$.module.address.sourceMap[a.source][0].replace(/\{\$charset\}/gi, $$.status.charset), ($$.module.address.sourceMap[a.source][1] || "").replace(/\{\$charset\}/gi, $$.status.charset) || $$.status.charset);
                else $loadJs("http://webresource.ctrip.com/code/js/resource/address_tuna/" + a.source + "_" + $$.status.charset + ".js", $$.status.charset)
            }
            a.auto = d.getAttribute("mod_address_auto");
            a.auto = a.auto && a.auto.match(/^(false|0)$/i) ? false: true;
            a.redraw = function() {
                if (w) F()
            };
            a.hook = {};
            (d.getAttribute("mod_address_hook") || "").replace(/(on)?([^;:]+):([^;]+)/gi,
            function(c, b, e, f) {
                a.hook[e.toLowerCase()] = s[f]
            });
            function N() {
                if (n) {
                    n = 0;
                    return
                }
                r = false;
                A.style.display = u.style.display = v[0].style.display = "none";
                function e(b) {
                    h[b].onmousedown = function(c) {
                        z(b);
                        $stopEvent(c);
                        if (h[b].outerHTML) h[b].outerHTML = h[b].outerHTML + "";
                        d.blur()
                    }
                }
                j.onmousedown = function() {
                    n = 1
                };
                for (var f = 0; f < h.length; f++) new e(f);
                B.onmousedown = C.onmousedown = y;
                for (var f = 1; f < v.length; f++) v[f].onmousedown = y;
                t = null;
                if (g !== null) h[g].className = "address_selected";
                if (a.hook["focus"]) a.hook["focus"](d);
                setTimeout(F, 0);
                w = setInterval(F, 150)
            }
            function y(c) {
                n = 1;
                if (c) $stopEvent(c);
                switch (this) {
                case B:
                    k.m_get(k.page - 1);
                    break;
                case C:
                    k.m_get(k.page + 1);
                    break;
                default:
                    k.m_get(parseInt(this.firstChild.nodeValue))
                }
            }
            var k = new
            function() {
                var o;
                this.page = 1;
                this.pagelist;
                this.maxpage = 1;
                this.m_get = function(c) {
                    if (!o || !c || c < 1 || c > this.maxpage) return null;
                    this.page = c;
                    this.pagelist = o.slice((c - 1) * 12, Math.min(c * 12, o.length));
                    for (var b = 0; b < h.length; b++) {
                        if (b < this.pagelist.length) {
                            h[b].style.display = "block";
                            var e = this.pagelist[b].replace(/@/g, "").split("|");
                            h[b].lastChild.nodeValue = e[1];
                            h[b].firstChild.firstChild.nodeValue = e[0];
                            p[b] = e
                        } else {
                            h[b].style.display = "none";
                            p[b] = null
                        }
                    }
                    if (g !== null) {
                        if (g >= this.pagelist.length) {
                            h[g].className = "";
                            g = this.pagelist.length - 1;
                            h[g].className = "address_selected"
                        }
                    } else {
                        g = 0;
                        h[0].className = "address_selected"
                    }
                    l.call(this);
                    A.style.display = u.style.display = "";
                    if (!r) {
                        j.style.display = "";
                        j.$setPos(d);
                        j.$setIframe();
                        r = true
                    }
                    E.call(this)
                };
                this.m_set = function(c) {
                    o = c;
                    this.maxpage = Math.ceil(c.length / 12);
                    this.page = 1;
                    this.m_get(1)
                };
                function l() {
                    var c = this.maxpage < 6 || this.page < 3 ? 1 : this.page > this.maxpage - 2 ? this.maxpage - 4 : this.page - 2;
                    var b = Math.min(c + 4, this.maxpage);
                    var e;
                    B.style.display = this.page == 1 ? "none": "";
                    C.style.display = this.page == this.maxpage ? "none": "";
                    for (var f = c; f < c + 5; f++) {
                        e = v[f - c + 1];
                        if (f <= b) {
                            e.firstChild.nodeValue = f;
                            e.className = f == this.page ? "address_current": "";
                            e.style.display = ""
                        } else e.style.display = "none"
                    }
                    v[0].style.display = this.maxpage > 1 ? "block": "none"
                }
            };
            function E() {
                with(j.style) {
                    width = L.offsetWidth + "px";
                    height = L.offsetHeight + "px"
                }
                j.$setIframe()
            }
            function J() {
                if (a.suggest.length == 0) {
                    j.style.display = "none";
                    if (g !== null) {
                        h[g].className = "";
                        g = null
                    }
                    return
                }
                k.m_set(a.suggest);
                u.lastChild.nodeValue = $$.status.version.match(/^zh-/) ? $$.string.address.i + (d.module.notice ? d.module.notice.tip: $$.string.address.k) + $$.string.address.j: $$.string.address.b
            }
            function F() {
                var b = d.value.trim();
                if (b === t) return;
                t = b;
                b = b.replace(/([\(\)\\\[\]\.\+\?\*\|\^\$])/gi, "\\$1").replace(/@|\|/gi, "");
                if (!b) {
                    J();
                    E();
                    return
                }
                j.style.display = "";
                var e = $$.module.address.source[a.source];
                var f = new RegExp("@([^@]*\\|)?" + b + "[^@]*", "gi");
                var o = new RegExp("@[^@]*" + b + "[^@]*", "gi");
                var l = [],
                i = [];
                e = e.replace(f,
                function(c) {
                    l.push(c);
                    return ""
                });
                if (l) l.sort(sortFunc);
                e = e.replace(o,
                function(c) {
                    i.push(c);
                    return ""
                });
                if (i) i.sort(sortFunc);
                if (l && i) arr = l.concat(i);
                else arr = l || i;
                if (!arr || !arr.length) {
                    u.lastChild.nodeValue = a.auto ? ($$.string.address.s + ($$.status.version == "en" ? "": d.value)) : ($$.string.address.h + d.value + ", " + $$.string.address.o);
                    if (!a.auto) {
                        j.style.display = "none";
                        if (g !== null) {
                            h[g].className = "";
                            g = null
                        }
                    }
                    if (A.style.display == "none") J();
                    E()
                } else {
                    u.lastChild.nodeValue = $$.string.address.h + d.value + ", " + $$.string.address.o;
                    k.m_set(arr)
                }
            }
            function O(c) {
                var b = c ? c.keyCode: event.charCode;
                var e = "|" + b + "|";
                if (g == null) {
                    if ("|13|".indexOf(e) != -1) {
                        $stopEvent(c, 1);
                        if (a.focusNext) setTimeout(function() {
                            d.$focusNext()
                        },
                        1)
                    }
                    return true
                }
                if ("|13|".indexOf(e) != -1) {
                    $stopEvent(c, 1);
                    z(g);
                    d.blur()
                }
                if ("|33|37|109|188|219|".indexOf(e) != -1) {
                    y.call(B);
                    $stopEvent(c, 1)
                }
                if ("|34|39|61|190|221|".indexOf(e) != -1) {
                    y.call(C);
                    $stopEvent(c, 1)
                }
                if ("|38|40|".indexOf(e) != -1) {
                    h[g].className = "";
                    g += k.pagelist.length - 39 + b;
                    g %= k.pagelist.length;
                    h[g].className = "address_selected";
                    $stopEvent(c, 1)
                }
            }
            function z(c, b) {
                n = 2;
                d.value = p[c][1] || p[c][0];
                if (a.reference) a.reference.value = p[c][2];
                if (m) m.value = p.join("|");
                if (a.hook["change"]) a.hook["change"](d);
                if (b !== false && a.focusNext) setTimeout(function() {
                    d.$focusNext()
                },
                1)
            }
            function P() {
                if (n == 1) {
                    setTimeout(function() {
                        d.focus()
                    },
                    1);
                    return
                }
                clearInterval(w);
                w = null;
                j.$clearIframe();
                j.style.display = "none";
                if (g !== null) {
                    if (d.value && n != 2 && a.auto) z(g, false);
                    h[g].className = "";
                    g = null
                }
                n = 0;
                j.onmousedown = null
            }
            a.check = function() {
                var b = d.value.trim();
                if (d.isNull && d.isNull()) b = "";
                if (b === t) return;
                var e;
                t = b;
                b = b.replace(/([\(\)\\\[\]\.\+\?\*\|\^\$])/gi, "\\$1").replace(/@|\|/gi, "");
                if (b) {
                    var f = $$.module.address.source[a.source];
                    var o = new RegExp("@([^@]*\\|)?" + b + "[^@]*", "gi");
                    var l = new RegExp("@[^@]*" + b + "[^@]*", "gi");
                    var i = [],
                    q = [];
                    f = f.replace(o,
                    function(c) {
                        i.push(c);
                        return ""
                    });
                    if (i) i.sort(sortFunc);
                    f = f.replace(l,
                    function(c) {
                        q.push(c);
                        return ""
                    });
                    if (q) q.sort(sortFunc);
                    if (i && q) e = i.concat(q);
                    else e = i || q;
                    if (e && e.length) {
                        r = true;
                        k.m_set(e);
                        r = false;
                        z(0, false);
                        n = 0
                    }
                }
                if (d.module.notice) d.module.notice.check();
                return !! e
            };
            d.$r("onfocus", N);
            d.blur();
            d.$r("onblur", P);
            d.$r("onkeydown", O);
            if (a.hook["load"]) a.hook["load"](d)
        }
        var K;
        while ((K = $$.module.address.list.shift()) != null) new Q(K)
    }
    $init(M);
    M()
})();
/*tuna_calendar_071206.js*/
$$.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];
String.prototype.parseDate = function() {
    var b, d = (new Date()).dateValue(),
    f = $$.status.version.match(/^zh-/) ? this: this.replace(/^(\d{1,2})-(\d{1,2})-(\d{4})$/, "$3-$1-$2");
    b = f.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/);
    if (!b) return d;
    for (var g = 1; g < 4; g++) b[g] = parseInt(b[g], 10);
    if (b[1] < 1000 || b[1] > 9999) b[1] = d.getFullYear();
    if (b[2] < 1 || b[2] > 12) b[2] = d.getMonth() + 1;
    if (b[3] < 1 || b[3] > 31 || (new Date(b[1], b[2] - 1, 1)).getMonth() != (new Date(b[1], b[2] - 1, b[3])).getMonth()) b[3] = d.getDate();
    return new Date(b[1], b[2] - 1, b[3])
};
String.prototype.engMonthConvert = function() {
    if ($$.status.version.match(/^zh-/)) return this;
    var b = $$.string.calendar.b.split("|"),
    d = this;
    for (var f = 0; f < b.length; f++) d = d.replace((new RegExp(b[f], "gi")), f + 1);
    return d
};
Date.prototype.addDate = function(b) {
    return new Date(this.getFullYear(), this.getMonth(), this.getDate() + b)
};
Date.prototype.toStdString = function() {
    return this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + this.getDate()
};
/*$loadCss("http://webresource.ctrip.com/styles/control/tuna_071206/control_calendar_tuna_071206.css");*/
(function c_calendar() {
    var z = $c("div");
    with(z.style) {
        width = "0px";
        height = "0px"
    }
    z.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(z);
    var j = $("tuna_calendar");
    var k, G;
    var o = new Date();
    var P = $("calendar_title1"),
    Q = $("calendar_title2");
    var R = $("calendar_month1"),
    S = $("calendar_month2");
    var H = j.getElementsByTagName("th");
    for (var p = 0; p < H.length; p++) if (p % 8 > 0) H[p].firstChild.nodeValue = $$.string.weekday.charAt(p % 8 - 1);
    function I() {
        function O(c) {
            var y = 0,
            n = 1;
            var a = c.module.calendar = {};
            c.setAttribute("autoComplete", "off");
            $r("beforeunload",
            function() {
                c.setAttribute("autoComplete", "on")
            });
            c.value = c.value || c.getAttribute("value") || "";
            a.focusNext = c.getAttribute("mod_calendar_focusNext");
            a.focusNext = a.focusNext && a.focusNext.match(/^(1|true)$/i);
            a.rangeStart = c.getAttribute("mod_calendar_rangeStart");
            a.rangeStart = (!a.rangeStart) ? null: a.rangeStart.parseDate().dateValue();
            a.rangeEnd = c.getAttribute("mod_calendar_rangeEnd");
            a.rangeEnd = (!a.rangeEnd) ? null: a.rangeEnd.parseDate().dateValue();
            a.rangeException = c.getAttribute("mod_calendar_rangeException");
            a.rangeException = (!a.rangeException) ? null: a.rangeException.replace(/-0?/gi, "-").split("|");
            a.permit = c.getAttribute("mod_calendar_permit");
            a.permit = (!a.permit) ? null: a.permit.replace(/-0?/gi, "-").split("|");
            a.weekday = c.getAttribute("mod_calendar_weekday") || "1234567";
            a.prohibit = c.getAttribute("mod_calendar_prohibit");
            a.prohibit = (!a.prohibit) ? null: a.prohibit.replace(/-0?/gi, "-").split("|");
            a.reference = c.getAttribute("mod_calendar_reference");
            a.reference = (!a.reference) ? null: c.$getWin().$(a.reference);
            a.redraw = function() {
                n = 1
            };
            a.check = function(b) {
                var d = (c.isNull && c.isNull() ? "": c.value).trim();
                if (!d) return arguments.length ? b: false;
                var f = (d.parseStdDate() || "").isDateTime();
                if (!f) return false;
                var g = f.toStdString();
                if (a.rangeStart && f < a.rangeStart || a.rangeEnd && f > a.rangeEnd) return false;
                return ("|" + (a.rangeException || []).join("|") + "|").indexOf("|" + g + "|") == -1 && ("|" + (a.prohibit || []).join("|") + "|").indexOf("|" + g + "|") == -1 && a.weekday.indexOf(f.getDay() || "7") != -1 || ("|" + (a.permit || []).join("|") + "|").indexOf("|" + g + "|") != -1
            };
            a.hook = {};
            (c.getAttribute("mod_calendar_hook") || "").replace(/(on)?([^;:]+):([^;]+)/gi,
            function(b, d, f, g) {
                a.hook[f.toLowerCase()] = _[g]
            });
            function M() {
                if (c == G && !n) {
                    j.style.display = "";
                    j.$setIframe();
                    if (k) k.className = k.className.replace(/selected_day/gi, "");
                    k = $("d_" + c.value.engMonthConvert().replace(/-0?/gi, "-").replace(/^(\d{1,2}_\d{1,2})_(\d{4})$/, "$2-$1"));
                    if (k) k.className += " selected_day";
                    return
                }
                if (c.module.notice) {
                    c.module.notice.enabled = false;
                    c.style.color = "";
                    if (c.value == c.module.notice.tip) c.value = ""
                }
                n = 0;
                G = c;
                j.style.display = "";
                $("calendar_lastmonth").onmousedown = $("calendar_nextmonth").onmousedown = function() {
                    n = 0;
                    a.currentDate = new Date(a.currentDate.getFullYear(), a.currentDate.getMonth() + (/last/.test(this.id) ? -2 : 2), 1);
                    D()
                };
                j.$setPos(c);
                j.$setIframe();
                a.currentDate = ((c.isNull && c.isNull() ? "": c.value).trim().parseStdDate() || "").isDateTime();
                if (!a.currentDate) {
                    a.currentDate = a.rangeStart || new Date();
                    if (a.reference) {
                        var b = ((a.reference.isNull && a.reference.isNull() ? "": a.reference.value).trim().parseStdDate() || "").isDateTime();
                        if (b > a.currentDate) a.currentDate = b
                    }
                    while (true) {
                        var d = a.currentDate.toStdString();
                        if (("|" + (a.rangeException || []).join("|") + "|").indexOf("|" + d + "|") == -1 && ("|" + (a.prohibit || []).join("|") + "|").indexOf("|" + d + "|") == -1 && a.weekday.indexOf(a.currentDate.getDay() || "7") != -1 || ("|" + (a.permit || []).join("|") + "|").indexOf("|" + d + "|") != -1) {
                            break
                        }
                        if (!a.rangeEnd || a.rangeEnd && a.currentDate < a.rangeEnd) a.currentDate = a.currentDate.addDate(1);
                        else {
                            a.currentDate = new Date();
                            break
                        }
                    }
                }
                a.currentDate = new Date(a.currentDate.getFullYear(), a.currentDate.getMonth(), 1);
                D();
                j.onmousedown = function() {
                    y = 1
                }
            }
            function C(r, s, J) {
                function t(b, d, f, g) {
                    var l = d ? d.getDate() : "",
                    q = l ? "d_" + r + "-" + (s + 1) + "-" + l: "",
                    h = g && d ? (a.weekday.indexOf(d.getDay() || 7) != -1) : 1;
                    b = b.firstChild;
                    if (b.lastChild) b.lastChild.nodeValue = l;
                    else b.appendChild(__.createTextNode(l));
                    b.date = d;
                    b.id = q;
                    b.className = h ? f: "limit_day";
                    b.onmousedown = g && h ? E: null;
                    if (b.replaceNode) {
                        b.bak = null;
                        b.bak = b.cloneNode(true)
                    }
                }
                var u = J.getElementsByTagName("td");
                J.rows[1].className = r == o.getFullYear() && s == o.getMonth() ? "currentmonth01": "";
                var K = new Date(r, s, 1),
                L = new Date(r, s + 1, 0),
                A = L.getDate(),
                v = K.getDay(),
                m,
                B,
                w,
                x;
                for (var i = 0; i < v; i++) t(u[i], null, "blank_day", 0);
                w = a.reference && (B = a.reference.value.engMonthConvert()).isDateTime() ? B.parseDate() : null;
                for (var i = 0; i < A; i++) {
                    m = new Date(r, s, i + 1);
                    x = (!a.rangeStart || m >= a.rangeStart) && (!a.rangeEnd || m <= a.rangeEnd);
                    t(u[i + v], m, x ? (w && m <= w ? "cue_day": "enable_day") : "over_day", x)
                }
                for (var i = A + v; i < 42; i++) t(u[i], null, "blank_day", 0)
            }
            function D() {
                var b = new Date(a.currentDate.getFullYear(), a.currentDate.getMonth() + 1, 1),
                d;
                var f = a.currentDate.getFullYear(),
                g = a.currentDate.getMonth();
                var l = b.getFullYear(),
                q = b.getMonth();
                P.innerHTML = $$.status.version.match(/^zh-/) ? (f + $$.string.calendar.a + (g + 1) + $$.string.calendar.b) : ($$.string.calendar.b.split("|")[g] + " " + f);
                Q.innerHTML = $$.status.version.match(/^zh-/) ? (l + $$.string.calendar.a + (q + 1) + $$.string.calendar.b) : ($$.string.calendar.b.split("|")[q] + " " + l);
                C(f, g, R);
                C(l, q, S);
                if (a.rangeException) for (var h = 0; h < a.rangeException.length; h++) if (d = $("d_" + a.rangeException[h])) {
                    d.className = "over_day";
                    d.onmousedown = null
                }
                if (a.permit) for (var h = 0; h < a.permit.length; h++) if (d = $("d_" + a.permit[h])) {
                    d.className = "enable_day";
                    d.onmousedown = E
                }
                if (a.prohibit) for (var h = 0; h < a.prohibit.length; h++) if (d = $("d_" + a.prohibit[h])) {
                    d.className = "limit_day";
                    d.onmousedown = null
                }
                if (d = $("d_" + o.getFullYear() + "-" + (o.getMonth() + 1) + "-" + o.getDate())) d.className += " current_day";
                if (k) k.className = k.className.replace(/selected_day/gi, "");
                if (d = $("d_" + c.value.engMonthConvert().replace(/-0?/gi, "-").replace(/^(\d{1,2}_\d{1,2})_(\d{4})$/, "$2-$1"))) {
                    d.className += " selected_day";
                    k = d
                }
                j.$setIframe()
            }
            function E(b) {
                c.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());
                n = 1;
                if (this.outerHTML) this.outerHTML = this.outerHTML + ' ';
                if (a.hook["change"]) a.hook["change"](c);
                c.blur();
                $stopEvent(b);
                if (a.focusNext) setTimeout(function() {
                    c.$focusNext()
                },
                10)
            }
            function N() {
                if (y == 1) {
                    y = 0;
                    setTimeout(function() {
                        c.focus()
                    },
                    0);
                    return true
                }
                j.style.display = "none";
                j.$clearIframe();
                if (c.module.notice) c.module.notice.enabled = true
            }
            c.$r("focus", M);
            c.$r("blur", N)
        }
        var F;
        while ((F = $$.module.calendar.list.shift()) != null) new O(F)
    }
    $init(I);
    I();
    try {
        top.__.body.focus()
    } catch(e) {}
})();
/*fltInternational_gb2312.js*/
$$.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@";
$$.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|基督城(CAC)|727@Christchurch|克赖斯特彻奇(CHC)|1284@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@";
/*fltInternationalStart_gb2312.js*/
$$.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@";
/*fltInternationalTicket_gb2312.js*/
$$.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@";
/*fltDomestic_gb2312.js*/
$$.module.address.source.fltDomestic = "@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@XiangGang|香港|HKG@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@macau|澳门|MFM@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@Taipei|台北|TPE@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@Jining|济宁|JNG@Hami|哈密|HMI@Tengchong|腾冲|TCZ@Tianshui|天水|THQ@Zhongwei|中卫|ZHY@";
/*fltAll_gb2312.js*/
$$.module.address.source.fltAll = "@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@Hong Kong|香港|HKG@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@macau|澳门|MFM@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@" + "Nadi|楠迪(NAN)|791@Seville|塞维利亚(SVQ)|1350@Aomori|青森(AOJ)|1352@Shizuoka|静冈(FSZ)|1353@Noumea|努美阿(NOU)|1353@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|基督城(CAC)|727@Christchurch|克赖斯特彻奇(CHC)|1284@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@";
/*fltDomesticTicket_gb2312.js*/
$$.module.address.source.fltDomesticTicket = "@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@";

//机票
$$.module.searchBox.funcList.push(function() {
    var form = __.forms["flightForm"];
    var flightway = Ctrip.Object.apply(form["flightway"]);
    //var flightBackFlag=$("flightBackFlag");
    var homecity = form["homecity_name"],
    destcity1 = form["destcity1_name"],
    ticketagency_list = form["ticketagency_list"];
    var HomeCityID = form["HomeCityID"],
    destcityID = form["destcityID"],
    ticketagencyID = form["ticketagencyID"];
    var DDatePeriod1 = form["DDatePeriod1"],
    ADatePeriod1 = form["ADatePeriod1"],
    today = form["today"];
    /*
	function changeFlightType(){
		flightBackFlag.style.visibility=flightway.value=="Single"?"hidden":"";
	};
	flightway.onchange=changeFlightType;
	changeFlightType();
	*/
    form.onsubmit = function() {
        if (homecity.isNull()) {
            $alert(homecity, $s2t("请选择您的出发地"));
            return false;
        }
        if (destcity1.isNull()) {
            $alert(destcity1, $s2t("请选择您的目的地"));
            return false;
        }
        if (homecity.value == destcity1.value) {
            $alert(destcity1, $s2t("您选择的出发地点与目的地相同,请重新选择"));
            return false;
        }
        if (DDatePeriod1.isNull()) {
            $alert(DDatePeriod1, $s2t("请选择您的出发日期"));
            return false;
        }
        var d1 = DDatePeriod1.value.isDateTime();
        if (!d1) {
            $alert(DDatePeriod1, $s2t("出发日期不符合格式规范或无效的日期"));
            return false;
        }
        var d3 = today.value.isDateTime();
        if (d3 > d1) {
            $alert(DDatePeriod1, $s2t("出发日期不能早于") + today.value);
            return false;
        }
        if (ADatePeriod1.isNull() && flightway.value == "Double") {
            flightway.value = "Single";
            changeFlightType();
        }
        if (flightway.value == "Double") {
            var d2 = ADatePeriod1.value.isDateTime();
            if (!d2) {
                $alert(DDatePeriod1, $s2t("返回日期不符合格式规范或无效的日期"));
                return false;
            }
            if (d2 < d1) {
                $alert(DDatePeriod1, $s2t("返回日期不能早于出发日期") + DDatePeriod1.value);
                return false;
            }
        }
        if (ticketagency_list.isNull()) {
            if ($("homecity").value == "HKG" || $("homecity").value == "MFM" || $("homecity").value == "TPE" || $("homecity").value == "KHH") ticketagency_list.value = "上海";
            else ticketagency_list.value = homecity.value.replace(/\(.*$/, "");
            ticketagency_list.module.notice.check();
        }
        //国际机票判断
        var destcity1Code = $("destcity1");
        var childtype = form["childtype"],
        PType = form["PType"];
        var flightclass = form["flightclass"];
        var re = new RegExp($s2t("^香港"));
        if (re.test(homecity) || re.test(destcity1) || destcity1Code.value.match(/^(\d+)$/) && destcity1Code.value != "594") {
            PType.value = childtype.value == "ADU" ? "NOR": "CHD";
            if (ADatePeriod1.isNull()) ADatePeriod1.value = "";
            flightclass.value = "I";
            //出发城市
            if (!fillCode("fltInternationalStart", homecity, HomeCityID)) {
                $alert(homecity, $s2t("你选择的出发城市没有前往") + destcity1.value + $s2t("的航班，请重新选择"));
                return false;
            }
            //目的城市
            if (!fillCode("fltInternational", destcity1, destcityID)) {
                $alert(destcity1, $s2t("你选择的出发城市没有前往该目的城市的航班，请重新选择"));
                return false;
            }
            //送票城市
            if (!fillCode("fltInternationalTicket", ticketagency_list, ticketagencyID)) {
                $alert(ticketagency_list, $s2t("您选择的城市不在我们的送票服务范围，请重新选择"));
                return false;
            }
            form.action = "http://flights." + getDomain() + "/International/ShowFareFirst.aspx";
        }
        return true;
    };
    function getDomain() {
        var arr = location.hostname.match(/(ctrip\.com|([^\.]+).sh.ctriptravel.com)$/);
        return arr && !/^local$/i.test(arr[2]) ? arr[0] : "ctrip.com1";
    }
    function fillCode(sourceName, fromObj, toObj) {
        var source = $$.module.address.source[sourceName];
        if (!source) return false;
        var re = new RegExp("@[^\\|]*\\|" + fromObj.value.replace(/([\.\\\/\+\*\?\[\]\{\}\(\)\^\$\|])/g, "\\$1") + "[^@]*", "i");
        var arr = source.match(re);
        if (!arr) return false;
        toObj.value = arr[0].match(/^@[^\|]*\|[^\|]*\|([^\|@]*)/)[1];
        return true;
    }
});
