﻿//http: //localhost:6104';
var cityFrom = "PEK";
var cityTo = "SHA";
var cityTransfer = "XMN";
outputDivTip(); //生成一个提示div,代替alert方式
var pageSize = 5; // 分页，每页显示5条记录
var tipGaiQian = 0; // 退改签规定 0：点击打开网页显示  1：直接tooltip显示
var topMenus = new Array("menuIndex", "menuTicket", "menuInterTicket", "menuIntroduce", "menuProducts", "menuContactUs", "menuTrain", "menuHotel", "menuUsualService", "menuPayCenter", "menuTravel", "menuTravelTool","menuSaleNets","menuRecharge","menuPays");

// 此函数等价于document.getElementById
function $(s) { if (document.getElementById) { return eval('document.getElementById("' + s + '")'); } else { return eval('document.all.' + s); } }

var isIE = (document.all) ? true : false; //document.all 只有ie支持此属性，因此也用来判断浏览器的种类
var ieVersion = 7; //IE版本，默认为7
if (isIE) {
    ieVersion = parseFloat(navigator.appVersion.split("MSIE")[1]);
}

// 构造类似StringBuilder的函数(连接多个字符串时用到，很方便)
function StringBuilder(str) {
    this.tempArr = new Array();
}
StringBuilder.prototype.Append = function(value) {
    this.tempArr.push(value);
    return this;
}
StringBuilder.prototype.Clear = function() {
    this.tempArr.length = 0;
}
StringBuilder.prototype.toString = function() {
    return this.tempArr.join('');
}

function chgStyle(oSpan) {
    oSpan.style.color = "red";
    oSpan.style.textDecoration = "underline";

}
function normalStyle(oSpan) {
    oSpan.style.color = "blue";
    oSpan.style.textDecoration = "none";
}

//加入收藏
function addFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle);
    }
    catch (e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "");
        }
        catch (e) {
            alert("加入收藏失败，请使用Ctrl+D进行添加");
        }
    }
}
//设为首页
function setHome(obj, vrl) {
    try {
        obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl);
    }
    catch (e) {
        if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }
            catch (e) {
                alert("此操作被浏览器拒绝！\n请在浏览器地址栏输入“about:config”并回车\n然后将[signed.applets.codebase_principal_support]设置为'true'");
            }
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
            prefs.setCharPref('browser.startup.homepage', vrl);
        }
    }
}

// 创建 XMLHttpRequest对象，以发送ajax请求 
function createXMLHTTP() {
    var xmlHttp = false;
    var arrSignatures = ["Microsoft.XMLHTTP", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"];
    for (var i = 0; i < arrSignatures.length; i++) {
        try {
            xmlHttp = new ActiveXObject(arrSignatures[i]);
            return xmlHttp;
        }
        catch (oError) {
            xmlHttp = false; //ignore
        }
    }
    // throw new Error("MSXML is not installed on your system."); 
    if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }
    return xmlHttp;
}


// top菜单初始化
function topUrlInitial(oNum) {
    switch (oNum) {
        case 0:
            if ($(topMenus[0]))
                $(topMenus[0]).className = "current";
            break;
        case 1:
            if ($(topMenus[1]))
                $(topMenus[1]).className = "current";
            break;
        case 2:
            if ($(topMenus[2]))
                $(topMenus[2]).className = "current";
            break;
        case 3:
            if ($(topMenus[3]))
                $(topMenus[3]).className = "current";
            break;
        case 4:
            if ($(topMenus[4]))
                $(topMenus[4]).className = "current";
            break;
        case 5:
            if ($(topMenus[5]))
                $(topMenus[5]).className = "current";
            break;
        case 6:
            if ($(topMenus[6]))
                $(topMenus[6]).className = "current";
            break;
        case 7:
            if ($(topMenus[7]))
                $(topMenus[7]).className = "current";
            break;
        case 8:
            if ($(topMenus[8]))
                $(topMenus[8]).className = "current";
            break;
        case 9:
            if ($(topMenus[9]))
                $(topMenus[9]).className = "current";
            break;
        case 10:
            if ($(topMenus[10]))
                $(topMenus[10]).className = "current";
            break;
        case 11:
            if ($(topMenus[11]))
                $(topMenus[11]).className = "current";
            break;
        case 12:
            if ($(topMenus[12]))
                $(topMenus[12]).className = "current";
            break;
        case 13:
            if ($(topMenus[13]))
                $(topMenus[13]).className = "current";
            break;
        case 14:
            if ($(topMenus[14]))
                $(topMenus[14]).className = "current";
            break;
    }
}

var currentMenu;

function overMenu(oLink) {
    var oLinks = isIE ? document.anchors : document.getElementsByTagName("a");
    var tempArr = new Array();
    for (var i = 0; i <= oLinks.length; i++) {
        if (typeof (oLinks[i]) != "undefined" && oLinks[i].id != null) {
            if (oLinks[i].id.indexOf("menu") != -1) {
                tempArr.push(oLinks[i]);
            }
        }
    }
    for (var j = 0; j < tempArr.length; j++) {
        if (tempArr[j].className == "current") {
            currentMenu = tempArr[j];
            break;
        }
    }
    for (var jj = 0; jj < tempArr.length; jj++) {
        tempArr[jj].className = "";
    }
    switch (oLink.id.toString()) {
        case topMenus[0]:
            topUrlInitial(0);
            break;
        case topMenus[1]:
            topUrlInitial(1);
            break;
        case topMenus[2]:
            topUrlInitial(2);
            break;
        case topMenus[3]:
            topUrlInitial(3);
            break;
        case topMenus[4]:
            topUrlInitial(4);
            break;
        case topMenus[5]:
            topUrlInitial(5);
            break;
        case topMenus[6]:
            topUrlInitial(6);
            break;
        case topMenus[7]:
            topUrlInitial(7);
            break;
        case topMenus[8]:
            topUrlInitial(8);
            break;
        case topMenus[9]:
            topUrlInitial(9);
            break;
        case topMenus[10]:
            topUrlInitial(10);
            break;
        case topMenus[11]:
            topUrlInitial(11);
            break;
        case topMenus[12]:
            topUrlInitial(12);
            break;
        case topMenus[13]:
            topUrlInitial(13);
            break;
        case topMenus[14]:
            topUrlInitial(14);
            break;
    }
}

function outMenu() {
    var oLinks = isIE ? document.anchors : document.getElementsByTagName("a");
    var tempArr = new Array();
    for (var i = 0; i <= oLinks.length; i++) {
        if (typeof (oLinks[i]) != "undefined" && oLinks[i].id != null) {
            if (oLinks[i].id.indexOf("menu") != -1) {
                tempArr.push(oLinks[i]);
            }
        }
    }
    for (var jj = 0; jj < tempArr.length; jj++) {
        tempArr[jj].className = "";
    }
    if (currentMenu) {
        currentMenu.className = "current";
    }
}


// 去掉字符串两端的空白字符
String.prototype.Trim = function() {
    return this.replace(/(^\s+)|(\s+$)/g, "");
}

// 数字比较大小 (num输入为string或int类型，较长数字比较)
function compareNumber(num1, num2) {
    if (isNaN(num1) || num1.length == 0) {
        return "num1输入非数字";
    }
    if (isNaN(num1) || num1.length == 0) {
        return "num2输入非数字";
    }
    if (num1.length > num2.length) {
        return true;
    }
    if (num1.length < num2.length) {
        return false;
    }
    for (var i = 0; i < num1.length; i++) {
        var charNum1 = num1.toString().charAt(i);
        var charNum2 = num2.toString().charAt(i);
        if (parseInt(charNum1) > parseInt(charNum2)) {
            return true;
        }
        if (parseInt(charNum2) > parseInt(charNum1)) {
            return false;
        }
    }
}

//自定义时间比较函数(8为数字比较)
function dateDiff(d1, d2) {
    /*
    作用:比较日期大小
    参数:d1 d2 (string类型)
    字符串型: 年-月-日  类型,如 2008-10-10
    返回值: -1/0/1 
    数字型
    d1>d2 返回1
    d1=d2 返回0
    d1<d2 返回-1
    */
    d1 = d1.split("-");
    d2 = d2.split("-");
    //将时间转换为标准时间表达式：  2008-10-10，2008-01-10，2008-10-01
    if (d1[1].length == 1)
        d1[1] = "0" + d1[1].toString();
    if (d2[1].length == 1)
        d2[1] = "0" + d2[1].toString();
    if (d1[2].length == 1)
        d1[2] = "0" + d1[2].toString();
    if (d2[2].length == 1)
        d2[2] = "0" + d2[2].toString();
    var dateStr1 = d1[0].toString() + d1[1].toString() + d1[2].toString();
    var dateStr2 = d2[0].toString() + d2[1].toString() + d2[2].toString();
    if (parseInt(dateStr1) > parseInt(dateStr2)) return 1;
    if (parseInt(dateStr1) == parseInt(dateStr2)) return 0;
    if (parseInt(dateStr1) < parseInt(dateStr2)) return -1;
}


//是否是闰年
function isLeapYear(oYear) {
    return ((parseInt(oYear) % 4 == 0 && parseInt(oYear) % 100 != 0) || parseInt(oYear) % 400 == 0);
}

// 去掉字符串两端的空白字符
String.prototype.Trim = function() {
    return this.replace(/(^\s+)|(\s+$)/g, "");
}

//检查字符串是否由数字组成
String.prototype.isDigit = function() {
    var str = this.Trim();
    if (str.length == 0)
        return false;
    return (str.replace(/\d/g, "").length == 0);
}


// 校验字符串是否为浮点型
function isDouble(oTxt) {
    //如果为空，则不通过校验
    var str = oTxt.value;
    if (str == "")
        return false;
    //如果是整数，则校验整数的有效性
    if (str.indexOf(".") == -1) {
        return str.isDigit();
    }
    else {
        if (/^(\-?)(\d+)(.{1})(\d+)$/g.test(str))
            return true;
        else
            return false;
    }
}

function isLegalCIdNum(strValue) {//身份证号码
    var cIdNum = /^((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}[X0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))$/;
    return (cIdNum.test(strValue.Trim()));
}

/*
设置合法的时间格式  
参数说明：
oTxt,输入时间的文本，值形如 "2008-8-8"
dtSeperator  年月日之间的分隔符，如 "-" 
*/
function setValidateLegalDateTime(oTxt, dtSeperator) {
    var dtInput = oTxt.value.Trim();
    var dtYearMonthDayArr = dtInput.split(dtSeperator);
    if (dtYearMonthDayArr.length == 3) {
        var dtYear = dtYearMonthDayArr[0];
        var dtMonth = dtYearMonthDayArr[1];
        var dtDay = dtYearMonthDayArr[2];
        if (dtYear.isDigit() && dtMonth.isDigit() && dtDay.isDigit()) { //输入的年月日都是数字
            if (dtYear.length == 4) {
                var outputMonth = "";
                var outputDay = "";
                var febDays = isLeapYear(dtYear) ? 29 : 28;
                var daysArr = new Array(31, febDays, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
                var monthDayArr = new Array(); //月 1～12,日 31,28/29,...
                for (var i = 0; i < 12; i++) {
                    monthDayArr[i] = new Array();
                    monthDayArr[i].push(daysArr[i]);
                }
                var curMonth = 0;
                var curDays = 0;
                try {
                    curMonth = parseInt(dtMonth, 10);
                    curDays = parseInt(dtDay, 10);
                }
                catch (e) {
                    curMonth = 1;
                    curDays = 1;
                }
                if (curMonth <= 0) {
                    outputMonth = "01"; //如果月份小于1，输出1
                }
                else if (curMonth > monthDayArr.length) {
                    outputMonth = monthDayArr.length.toString(); //如果月份大于12，输出12
                }
                else {
                    var monthLen = curMonth.toString().length;
                    outputMonth = ((monthLen == 2) ? curMonth.toString() : ("0" + curMonth.toString()));
                }

                if (curDays <= 0) {
                    outputDay = "01"; //如果日小于1，输出01
                }
                else if (curDays > monthDayArr[parseInt(outputMonth, 10) - 1][0]) {
                    outputDay = monthDayArr[parseInt(outputMonth, 10) - 1][0].toString();
                }
                else {
                    var len = curDays.toString().length;
                    outputDay = ((len == 2) ? curDays.toString() : ("0" + curDays.toString()));
                }
                oTxt.value = dtYear + dtSeperator + outputMonth + dtSeperator + outputDay;
            }
            else if (dtYear.length == 2) {
                var outputDt = "20" + dtYear + dtSeperator + dtYearMonthDayArr[1] + dtSeperator + dtYearMonthDayArr[2];
                var msg = "年份必须是4位,请尝试" + outputDt;
                //showWarningTip(msg, oTxt);
                setTxtDtCurrentDate(oTxt);
            }
            else {
                //showWarningTip("日期格式不正确，年份必须是4位", oTxt);
                setTxtDtCurrentDate(oTxt);
            }
        }
        else {
            //showWarningTip("日期格式不正确", oTxt);
            setTxtDtCurrentDate(oTxt);
        }
    }
    else { //年月日输入不完整
        //showWarningTip("日期格式不正确", oTxt);
        setTxtDtCurrentDate(oTxt);
    }
}

//设置不合法的日期输入为当前日期加一天
function setTxtDtCurrentDate(oTxt) {
    var curDate = new Date();
    var oYear = curDate.getFullYear();
    var oMonth = curDate.getMonth() + 1;
    if (String(oMonth).length == 1) { oMonth = "0" + oMonth; }
    var oDay = parseInt(curDate.getDate(), 10) + 1;
    if (String(oDay).length == 1) { oDay = "0" + oDay; }
    var dtStr = oYear + '-' + oMonth + '-' + oDay;
    oTxt.value = dtStr;
}

function chgUlStyle(oUl, oStr) {
//    if (oStr == "over") {
//        oUl.style.background = "#ECF9FF";
//    }
//    else {
//        oUl.style.background = "";
//    }
}

/* 关于位置 (前面两种常用) */

//1.取鼠标的位置(Coordinate 坐标x和y) 兼容IE,FF和其他主流浏览器 (onmouseover="getMouseCoordinate(event)")
function getMouseCoordinate(ev) {
    var e = ev ? ev : (window.event ? window.event : null);
    if (e.pageX || e.pageY) {
        return e.pageX + "-" + e.pageY;
        //alert("x:" + e.pageX + "--y:" + e.pageY);
    }
    else {
        return event.x + "-" + event.y;
        //alert("x:" + event.x + "--y:" + event.y);
    }
}

//2.通过控件获取控件在页面的位置 (oControl是控件)
function getControlCoordinateByControl(oControl) {
    var leftPos = oControl.offsetLeft;
    var topPos = oControl.offsetTop;
    var height = oControl.offsetHeight;
    while (oControl = oControl.offsetParent) {
        leftPos += oControl.offsetLeft;
        topPos += oControl.offsetTop;
    }
    //alert("x:" + leftPos + "--y:" + topPos);
    return leftPos + "-" + topPos;
}

//3.通过控件自身取得控件的宽和高,返回width和height
function getControlWidthAndHeightByControl(oControl) {
    //var width = oControl.style.width;
    //var height = oControl.style.height;
    var width = oControl.offsetWidth;
    var height = oControl.offsetHeight;
    //alert("width:" + width + "--height:" + height);
    return width + "-" + height;
}

//ie6 选择某个弹出层下面的所有select控件(隐藏select控件专用)
function getAllSelectsByPos(oControl) {
    var divWidth = parseFloat(oControl.style.width, 10); //选择层宽度
    var divHidth = parseFloat(oControl.style.height, 10); //选择层高度
    if (!divWidth && oControl.offsetWidth)
        divWidth = parseFloat(oControl.offsetWidth, 10); //选择层宽度
    if (!divHidth && oControl.offsetHeight)
        divHidth = parseFloat(oControl.offsetHeight, 10); //选择层高度
    var posArr = getControlCoordinateByControl(oControl).split("-");
    var posX = parseFloat(posArr[0]); //x
    var posY = parseFloat(posArr[1]); //y
    var oSelects = document.getElementsByTagName("select");
    var selectArr = new Array();
    for (var i = 0; i < oSelects.length; i++) {
        var selectWidth = parseFloat(getControlWidthAndHeightByControl(oSelects[i]).split("-")[0]);
        var posSelectArr = getControlCoordinateByControl(oSelects[i]).split("-");
        var selectX = parseFloat(posSelectArr[0]); //x
        var selectY = parseFloat(posSelectArr[1]); //y
        if (selectX + selectWidth >= posX && selectX < posX + divWidth && selectY <= posY + divHidth && selectY > posY) selectArr.push(oSelects[i]);
    }
    return selectArr;
}

//ie6 关闭弹出层时，设置div下面的select控件可用
function setSelectControlVisible(oControl) {
    // if (isIE && ieVersion < 7) {  //将所有select置为可用
    var oSelects = getAllSelectsByPos(oControl);
    for (var i = 0; i < oSelects.length; i++) {
        oSelects[i].disabled = false;
        oSelects[i].style.visibility = "visible";
    }
    // }
}

//ie7以下版本  隐藏div下的select控件
function setSelectControlHidden(oDiv) {
    // if (isIE && ieVersion < 7) { //将所有select置为不可用
    var oSelects = getAllSelectsByPos(oDiv);
    for (var i = 0; i < oSelects.length; i++) {
        oSelects[i].disabled = false;
        oSelects[i].style.visibility = "hidden";
    }
    //}
}

//显示一个提示层，不用重新控制样式即可使用
function outputDivTip() {
    document.write("<div  title=\"单击关闭\" onclick=\"this.style.display='none';\" id=\"divMyTipLayer\" style=\"display:none;cursor:pointer; position: absolute; z-index:20; min-width: 150px; min-height:20px; background:#FAF0C5;color:#FB7024;border:1px solid #FAD31F;\"></div>");
}

function showWarningTip(oMsg, oControl) {
    $("divMyTipLayer").innerHTML = "";
    var xyArr = getControlCoordinateByControl(oControl).split("-");
    var ckArr = getControlWidthAndHeightByControl(oControl).split("-");
    var cWidth = parseFloat(ckArr[0]);
    var cHeight = parseFloat(ckArr[1]);
    $("divMyTipLayer").style.left = (parseFloat(xyArr[0]) + cWidth) + "px";
    $("divMyTipLayer").style.top = (parseFloat(xyArr[1]) - 2) + "px";
    $("divMyTipLayer").style.display = "";
    //$("divMyTipLayer").style.height = cHeight.toString() + "px"; //去掉之后，div可以按照字数字段换行显示
    $("divMyTipLayer").innerHTML = oMsg;
    var delaySec = 2000; //两秒自动隐藏
    if (arguments.length > 2) delaySec = parseInt(arguments[2], 10);
    setTimeout("$(\"divMyTipLayer\").style.display = \"none\"", delaySec);
}

//设置宽和高，在控件旁显示一个提示层 (可扩展)
function setWHAndShowCommonMsgTip(oMsg, oControl, oLeftPos, oTopPos, oDivWidth, oDivHeight) {
    $("divMyTipLayer").innerHTML = "";
    if (oDivWidth > 0) $("divMyTipLayer").style.width = oDivWidth + "px";
    if (oDivHeight > 0) $("divMyTipLayer").style.height = oDivHeight + "px";
    var xyArr = getControlCoordinateByControl(oControl).split("-");
    var ckArr = getControlWidthAndHeightByControl(oControl).split("-");
    var cWidth = parseFloat(ckArr[0]);
    var cHeight = parseFloat(ckArr[1]);
    var styleLeft = "";
    var styleTop = "";

    switch (oLeftPos) {
        case "right": //控件右边
            styleLeft = (parseFloat(xyArr[0]) + cWidth) + "px";
            break;
        case "left": //控件左边
            styleLeft = (parseFloat(xyArr[0]) - oDivWidth) + "px";
            break;
    }
    switch (oTopPos) {
        case "self": //与控件齐平
            styleTop = (parseFloat(xyArr[1]) - 2) + "px";
            break;
        case "top": //控件上边
            styleTop = parseFloat((parseFloat(xyArr[1]) - 2) - oDivHeight) + "px";
            break;
        case "bottom": //控件下边
            styleTop = parseFloat((parseFloat(xyArr[1]) - 2 + cHeight)) + "px";
            break;
    }

    $("divMyTipLayer").style.left = styleLeft;
    $("divMyTipLayer").style.top = styleTop

    $("divMyTipLayer").style.display = "";
    $("divMyTipLayer").innerHTML = oMsg;
    var delaySec = 5000; //5秒自动隐藏
    if (arguments.length > 6) delaySec = parseInt(arguments[6], 10);
    setTimeout("$(\"divMyTipLayer\").style.display = \"none\"", delaySec);
}

//机票查询结果  隐藏浮动查询框 (也可以隐藏浮动qq)
function closeFlightsFloatDiv() {
    if ($("floatDiv")) {
        $("floatDiv").style.display = "none";
        if ($("airlineFloatLayer")) {
            $("airlineFloatLayer").style.display = "none";
        }
        if ($("cityFloatLayer")) {
            $("cityFloatLayer").style.display = "none";
        }
    }
    if ($("floatQQ") && arguments.length > 0) {
        $("floatQQ").style.display = "none";
    }
}

function getFromToBy6Letters(oLetters) {
    var retStr = "";
    if (oLetters.length < 6) {
        retStr = "暂无匹配城市对";
    }
    else {
        var fromCitySzm = oLetters.toString().substr(0, 3);
        var toCitySzm = oLetters.toString().substr(3, 3);
        retStr = getCityByThreeWord(fromCitySzm, citys) + "/" + getCityByThreeWord(toCitySzm, citys);
        if (retStr.length <= 1)
            retStr = "暂无匹配城市对";
    }
    var tmpStr = "";
    var cityArr = retStr.split("/");
    if (cityArr[0]) tmpStr = ((cityArr[0] == "北京") ? "北京首都" : ((cityArr[0] == "上海") ? "上海虹桥" : cityArr[0]));
    if (cityArr[1]) tmpStr += "/" + ((cityArr[1] == "北京") ? "北京首都" : ((cityArr[1] == "上海") ? "上海虹桥" : cityArr[1]));
    retStr = tmpStr;
    return retStr;
}

function isCellPhone(oTelNum) {
    var cellPhoneReg = /^(1[3,5,8])+(\d{9})$/;
    return cellPhoneReg.test(oTelNum);
}

//js事件 添加 EventUtil.addEvent(dom元素,事件名称,事件触发的函数名) 移除EventUtil.removeEvent(dom元素,事件名称,事件触发的函数名)
var EventUtil = new eventManager();

//js事件通用管理器 dom元素 添加或者移除事件
function eventManager() {
    //添加事件
    //oDomElement:dom元素,如按钮,文本,document等; ****** oEventType:事件名称(如:click,如果是ie浏览器,自动将click转换为onclick);****** oFunc:事件触发的函数名
    this.addEvent = function(oDomElement, oEventType, oFunc) {
        //ie
        if (oDomElement.attachEvent) {
            oDomElement.attachEvent("on" + oEventType, oFunc);
        }
        //ff,safari等
        else if (oDomElement.addEventListener) {
            oDomElement.addEventListener(oEventType, oFunc, false);
        }
        //其他
        else {
            oDomElement["on" + oEventType] = oFunc;
        }
    }

    this.removeEvent = function(oDomElement, oEventType, oFunc) {
        //ie
        if (oDomElement.detachEvent) {
            oDomElement.detachEvent("on" + oEventType, oFunc);
        }
        //ff,safari等
        else if (oDomElement.removeEventListener) {
            oDomElement.removeEventListener(oEventType, oFunc, false);
        }
        //其他
        else {
            oDomElement["on" + oEventType] = null;
        }
    }
}

//根据输入的szm组合(不限长度，必须是3的整数倍长度)，取中文汉字
function getFromToByInputLetters(inputLetters) {
    var oLetters = String(inputLetters).replace("-", "");
    var retStr = "";
    if (oLetters.Trim().length % 3 != 0) {
        retStr = "暂无匹配城市对";
    }
    else {
        var sb = new StringBuilder("");
        for (var i = 0; i < oLetters.Trim().length / 3; i++) {
            var citySzm = oLetters.toString().substr(i * 3, 3);
            sb.Append(getCityByThreeWord(citySzm, citys) + "/");
        }
        if (sb.toString().length > 0) retStr = String(sb.toString()).substr(0, sb.toString().length - 1);
    }
    var sbTmp = new StringBuilder("");
    var cityArr = retStr.split("/");
    for (var ii = 0; ii < cityArr.length; ii++) {
        sbTmp.Append(((cityArr[ii] == "北京") ? "北京首都" : ((cityArr[ii] == "上海") ? "上海虹桥" : cityArr[ii])) + "/");
    }
    if (sbTmp.toString().length > 0) retStr = String(sbTmp.toString()).substr(0, sbTmp.toString().length - 1);
    else retStr = sb.toString();
    return retStr;
}

function getAirportBySzm(oSzm) {
    var airPort = "";
    try {
        for (var i = 0; i < oAllAirportArr.length; i++) {
            var oIndex = i * 2;
            if (String(oAllAirportArr[oIndex]).toUpperCase() == oSzm.toUpperCase()) {
                airPort = oAllAirportArr[oIndex + 1];
                break;
            }
        }
    }
    catch (e) {
        airPort = "暂无机场";
    }
    return airPort;
}