﻿/*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|01@February|02@March|03@April|04@May|05@June|06@July|07@August|08@September|09@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\">上月<\/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\">01<\/a><\/td><td><a href=\"###\" class=\"over_day\">02<\/a><\/td><td><a href=\"###\" class=\"over_day\">03<\/a><\/td><td><a href=\"###\" class=\"over_day\">04<\/a><\/td><\/tr><tr><td><a href=\"###\" class=\"over_day\">05<\/a><\/td><td><a href=\"###\" class=\"over_day\">06<\/a><\/td><td><a href=\"###\" class=\"over_day\">07<\/a><\/td><td><a href=\"###\" class=\"over_day\">08<\/a><\/td><td><a href=\"###\" class=\"over_day\">09<\/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\">下月<\/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|北京(PEK)|1@Shanghai|上海(SHA)|2@Tianjin|天津(TSN)|3@Chongqing|重庆(CKG)|4@Haerbin|哈尔滨(HRB)|5@Dalian|大连(DLC)|6@Qingdao|青岛(TAO)|7@Xian|西安(XIY)|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@";
/*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|北京|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)|上海(浦东)|PVG@Shanghai(Hongqiao)|上海(虹桥)|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|西安|XIY|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|北京|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)|上海(浦东)|PVG@Shanghai(Hongqiao)|上海(虹桥)|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|西安|XIY|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@";
/*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|北京|PEK@Changchun|长春|CGQ@Changde|常德|CGD@Changdu|昌都|BPX@Changsha|长沙|CSX@Changzhi|长治|CIH@Changzhou|常州|CZX@Chaoyang|朝阳|CHG@Chengdu|成都|CTU@Chifeng|赤峰|CIF@Chongqing|重庆|CKG@Dali|大理|DLU@Dalian|大连|DLC@Dandong|丹东|DDG@Datong|大同|DAT@Daxian|达县|DAX@Dehong|德宏|LUM@Diqing|迪庆|DIG@Dongying|东营|DOY@Dunhuang|敦煌|DNH@Enshi|恩施|ENH@Fuyang|阜阳|FUG@Fuzhou|福州|FOC@Ganzhou|赣州|KOW@Geermu|格尔木|GOQ@Guanghan|广汉|GHN@Guanghua|光化|LHK@Guangzhou|广州|CAN@Guilin|桂林|KWL@Guiyang|贵阳|KWE@Haerbin|哈尔滨|HRB@Haikou|海口|HAK@Hailaer|海拉尔|HLD@Hangzhou|杭州|HGH@Hanzhong|汉中|HZG@Hefei|合肥|HFE@Heihe|黑河|HEK@Hetian|和田|HTN@Huangshan|黄山|TXN@Huangyan|黄岩|HYN@Huhehaote|呼和浩特|HET@Jiamusi|佳木斯|JMU@Jiayuguan|嘉峪关|JGN@Jilin|吉林|JIL@Jinan|济南|TNA@Jingdezhen|景德镇|JDZ@Jinggangshan|井冈山|JGS@Jinghong|景洪|JHG@jinjiang|晋江|JJN@Jinzhou|锦州|JNZ@Jiujiang|九江|JIU@Jiuzhaigou|九寨沟|JZH@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|西安|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@Dongguan|东莞|DGM@Suzhou|苏州|SZV@Tengchong|腾冲|TCZ@Tianshui|天水|THQ@Zhuzhou|株州|ZUZ@Zhongwei|中卫|ZHY@";

/*index*/

//机票
$$.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 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;
	}
});

function SubmitForm() {
	var patternDate = /^(\d{4})(\d{2})(\d{2})$/;
	with (document.QueryForm) {
	    
		if (Startcity01.value == "中文/拼音") {
		    alert("请选择出发城市");
			Startcity01.focus();
			return;
		}
		if (EndCity01.value == "中文/拼音") {
		    alert("请选择到达城市");
			EndCity01.focus();
			return;
		}
	    
		if (EndCity01.value == Startcity01.value) {
			alert("去程和回程的目的地不能相同，请重新选择！");
			if (EndCity01.value == "中文/拼音") {
				Startcity01.focus();
			}
			else {
				EndCity01.focus();
			}

			return;
		}

		if (StrDate01.value == "yyyy-mm-dd" || StrDate01.value == "") {
			alert("请选择您要出发的日期");
			StrDate01.focus();
			return;
		}

		if (ordertype[1].checked) {
			if (StrDate02.value == "yyyy-mm-dd" || StrDate02.value == "") {
				alert("请选择您要返回的日期");
				StrDate02.focus();
				return;
			}
			
			var d1 = new Date(StrDate01.value.replace(/\-/g, "\/"));
		    var d2 = new Date(StrDate02.value.replace(/\-/g, "\/"));
		    if(d1 >= d2) {
		    alert("返程日期需大于出发日期！");
		    StrDate02.focus();
            return ;
            }
		}
		if(document.getElementById("ifromcity") == null)
		{
		setcookie("Date01", StrDate01.value);
		setcookie("City01", Startcity01.value);
		setcookie("City02", EndCity01.value);
		}
	}
	
	document.QueryForm.searchbtn.value="查询中…";
	document.QueryForm.searchbtn.disabled="disabled";
	document.QueryForm.submit();
}

function SubmitForm2() {
	var patternDate = /^(\d{4})(\d{2})(\d{2})$/;
	with (document.QueryForm) {
	    
		if (Startcity01.value == "中文/拼音") {
		    alert("请选择出发城市");
			Startcity01.focus();
			return;
		}
		if (EndCity01.value == "中文/拼音") {
		    alert("请选择到达城市");
			EndCity01.focus();
			return;
		}
	    
		if (EndCity01.value == Startcity01.value) {
			alert("去程和回程的目的地不能相同，请重新选择！");
			if (EndCity01.value == "中文/拼音") {
				Startcity01.focus();
			}
			else {
				EndCity01.focus();
			}

			return;
		}

		if (StrDate01.value == "yyyy-mm-dd" || StrDate01.value == "") {
			alert("请选择您要出发的日期");
			StrDate01.focus();
			return;
		}
		
		var _index = ordertype.selectedIndex;
        var _value = ordertype.options[_index].value
        if( _value ==2)
        {
           if (StrDate02.value == "yyyy-mm-dd" || StrDate02.value == "") {
				alert("请选择您要返回的日期");
				StrDate02.focus();
				return;
			}
			
			var d1 = new Date(StrDate01.value.replace(/\-/g, "\/"));
		    var d2 = new Date(StrDate02.value.replace(/\-/g, "\/"));
		    if(d1 >= d2) {
		    alert("返程日期需大于出发日期！");
		    StrDate02.focus();
            return ;
            }
        }
		
		if(document.getElementById("ifromcity") == null)
		{
		setcookie("Date01", StrDate01.value);
		setcookie("City01", Startcity01.value);
		setcookie("City02", EndCity01.value);
		}
	}
	
	document.QueryForm.searchbtn.value="查询中…";
	document.QueryForm.searchbtn.disabled="disabled";
	document.QueryForm.submit();
}


function checkmail(obj)
{
     var email=obj;
     var pattern=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
     flag=pattern.test(email);
     if (flag)
     {return true;}
     else
         {
         return false;
         }
}
function Submityuyue() {
	var patternDate = /^(\d{4})(\d{2})(\d{2})$/;
	with (document.yuyueForm) {
		
		if (EndCity01.value == Startcity01.value) {
			alert("去程和回程的目的地不能相同，请重新选择！");
			if (EndCity01.value == "中文/拼音") {
				Startcity01.focus();
			}
			else {
				EndCity01.focus();
			}

			return;
		}
		if (Startcity01.value == "中文/拼音") {
		    alert("请选择出发城市");
			Startcity01.focus();
			return;
		}
		if (EndCity01.value == "中文/拼音") {
		    alert("请选择到达城市");
			EndCity01.focus();
			return;
		}
		

		if (StrDate01.value == "yyyy-mm-dd" || StrDate01.value == "") {
			alert("请选择您要预约时段的起始日期");
			StrDate01.focus();
			return;
		}
		if (StrDate02.value == "yyyy-mm-dd" || StrDate02.value == "") {
				alert("请选择您要预约时段的结束日期");
				StrDate02.focus();
				return;
		}
		var d1 = new Date(StrDate01.value.replace(/\-/g, "\/"));
		var d2 = new Date(StrDate02.value.replace(/\-/g, "\/"));
		if(d1 > d2) {
		alert("结束日期不能早于起始日期！");
		StrDate02.focus();
        return ;
        } 

		if(ytype[1].checked)
		{
		   if(price.value == "")
		   {
		        alert("请填写预约的价格！");
				price.focus();
				return;
		   }
		   else
		   {
		        var e=price.value;
                var pattern=/^[0-9]*$/;
                var flag=pattern.test(e);
                if (!flag)
                {
		           alert("请输入正确的数字！确保没有其他符号"); 
		           price.focus();
                   return; 
		        }
		   }		   
		}
		if (mphone.value == "") {
				alert("请填写您的手机号码。");
				mphone.focus();
				return;
		}
		else
		{
		var phone = mphone.value;
		var tmp = /^1[3,5,8]\d{9}$/;     //支持11位手机号码验证   
        var flag=tmp.test(phone);
           if(!flag){
             alert("手机号输入不合法"); 
		     mphone.focus();
             return;   
           } 
		}
		if(email.value != "")
		{
		  var e=email.value;
          var pattern=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
          flag=pattern.test(e);
          if (!flag)
          {
		     alert("邮箱地址输入不正确"); 
		     email.focus();
             return; 
		  }
		}

		setcookie("StrDate01", StrDate01.value);
		setcookie("StrDate02", StrDate02.value);
		setcookie("Startcity", Startcity01.value);
		setcookie("EndCity", EndCity01.value);
		setcookie("yprice", price.value);
		setcookie("yzhekou", zhekou.value);
		setcookie("ymphone", mphone.value);
		setcookie("yemail", email.value);
	}
	document.yuyueForm.searchbtn.value="预约提交中……";
	document.yuyueForm.searchbtn.disabled="disabled";
	document.yuyueForm.submit();
}

function Submitquxiao(){
   with (document.quxiaoForm) {
      if (lianxi.value == "") {
           alert("请填写您的手机号码或邮件地址。");
		   lianxi.focus();
		   return false;
	  }
	  else
	  {
	      var mlianxi = lianxi.value;
	      if(mlianxi.indexOf("@")>1)
		  {
               var pattern=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
               var flag=pattern.test(mlianxi);
               if (!flag)
               {
		          alert("邮箱地址输入不正确"); 
		          lianxi.focus();
                  return false; 
		       }
          }
          else{
             var tmp = /^1[3,5,8]\d{9}$/;     //支持11位手机号码验证   
             var flag=tmp.test(mlianxi);
             if(!flag){
                 alert("手机号输入不合法"); 
		         lianxi.focus();
                 return false;   
             }
          }
       }
    }
    document.quxiaoForm.quxiaobtn.value="提交中……";
	document.quxiaoForm.quxiaobtn.disabled="disabled";
	return true;
	//document.quxiaoForm.submit();
}

function setcookie(cname, cvalue) {
	document.cookie = cname + "=" + cvalue;
}

function readCookie(name) {

	var cookieValue = "";

	var search = name + "=";

	if (document.cookie.length > 0) {

		offset = document.cookie.indexOf(search);

		if (offset != -1) {

			offset += search.length;

			end = document.cookie.indexOf(";", offset);

			if (end == -1) end = document.cookie.length;

			cookieValue = unescape(document.cookie.substring(offset, end))

		}

	}

	return cookieValue;

}  
