﻿// 初始化页面,显示初始化数据
var suggest;
var isSearchFlight = ($("btnChooseAirline") == null) ? false : true;
if ($("dst") && !isSearchFlight) { //城市
    suggest = new city_suggest(); //初始化
}
var dt = new Date();
$("startdate").value = DateDemo(addDate(dt, 1)); //出发日期
$("backdate").value = DateDemo(addDate(dt, 3)); // 返程/联程第二程日期
$("orgCity").value = getCityByThreeWord(cityFrom, citys); //citys是autocomplete里的二维数组
$("dstCity").value = getCityByThreeWord(cityTo, citys);
$("transferCity").value = getCityByThreeWord(cityTransfer, citys);
//$("org").value = cityFrom;
//$("dst").value = cityTo;

$("hfSearchType").value = 0; ; // 往返:1 单程:0

// 航程类型切换，显示不同选项
function funflytype(val) {
    switch (val) {
        case 0:
            $('liBack').style.display = "none";
            $("hfSearchType").value = 0;
            $('liBack').style.display = "none";
            $('liTransfer').style.display = "none";
            $("lblFirstFlightDt").innerHTML = "起飞时间";
            break;
        case 1:
            $('liBack').style.display = "block";
            $("hfSearchType").value = 1;
            $("lblFirstFlightDt").innerHTML = "去程时间";
            $("spanDtBackOrTransfer").innerHTML = "返程时间";
            $('liTransfer').style.display = "none";
            break;
        case 2:
            $('liBack').style.display = "block";
            $("hfSearchType").value = 2;
            $("lblFirstFlightDt").innerHTML = "一程时间";
            $("spanDtBackOrTransfer").innerHTML = "二程时间";
            $('liTransfer').style.display = "block";
    }
}

// 时间函数,用于产生新的日期,在当前日期date的基础上加上numDay天后的日期
function addDate(date, numDay) { var time = date.getTime(); var newTime = time + numDay * 24 * 60 * 60 * 1000; return new Date(newTime); }
// 时间函数,返回格式：YYYY-MM-DD
function DateDemo(newdate) { var dy = newdate.getFullYear(); var dm = newdate.getMonth() + 1; if (String(dm).length == 1) { dm = "0" + dm; } var dd = newdate.getDate(); if (String(dd).length == 1) { dd = "0" + dd; } return (dy + '-' + dm + '-' + dd); }

function setSearchForm(oFromChinese, oToChinese) {
    $("org").value = getThreeWordByCity(oFromChinese, citys);
    $("dst").value = getThreeWordByCity(oToChinese, citys);
    $("hfFromCity").value = getCnCityByCityOrPinyin(oFromChinese, citys);
    $("hfToCity").value = getCnCityByCityOrPinyin(oToChinese, citys);
    $("hfFromCityPinyin").value = getPinyinByCnCity(oFromChinese, citys);
    $("hfToCityPinyin").value = getPinyinByCnCity(oToChinese, citys);
    //是联程查询
    if (arguments.length == 3) {
        $("hfTransferSzm").value = getThreeWordByCity(arguments[2], citys);
        $("hfTransferCity").value = getCnCityByCityOrPinyin(arguments[2], citys);
        $("hfTransferCityPinyin").value = getPinyinByCnCity(arguments[2], citys);
    }
    if (isSearchFlight) $("airline").value = getEzmByAirCompany($("txtAirCompanys").value, airCompanyToSelectArr);
    var oForm = document.forms[0];
    oForm.method = "post";
    oForm.action = "/GuoNeiTicket/Flights.aspx?action=prevSearch";
    oForm.submit();
    //createDivOverLayer(530, 150, false, false, "<img title=\"机票查询处理中...\" alt=\"机票查询处理中...\" src=\"/images/loader.gif\" />", 580, 196, -1);
    createDivOverLayer(420, 150, false, false, "<img title=\"机票查询处理中...\" alt=\"机票查询处理中...\" src=\"/images/" + oSearchingPic + "\" />", 400, 180, -1);
}

function hotCityFlightSearch(oCityFrom, oCityTo, oDate) {
    $("startdate").value = oDate; //出发日期
    $("backdate").value = oDate; // 返程日期
    $("orgCity").value = getCityByThreeWord(oCityFrom.Trim(), citys);
    $("dstCity").value = getCityByThreeWord(oCityTo.Trim(), citys);
    $("hfSearchType").value = 0; ; // 往返:1 单程:0
    setSearchForm($("orgCity").value, $("dstCity").value);
}

function chkInfo() {
    if ($("orgCity").value == "") {
        showWarningTip("出发城市和到达城市必须都填写!", $("orgCity"));
        return;
    }
    if ($("dstCity").value == "") {
        showWarningTip("出发城市和到达城市必须都填写!", $("dstCity"));
        return;
    }
    if ($("orgCity").value == "中文/拼音/代码") {
        showWarningTip("出发城市和到达城市必须都填写!", $("orgCity"));
        return;
    }
    if ($("dstCity").value == "中文/拼音/代码") {
        showWarningTip("出发城市和到达城市必须都填写!", $("dstCity"));
        return;
    }

    if ($("orgCity").value == $("dstCity").value) {
        showWarningTip("出发城市和到达城市不能相同!", $("dstCity"));
        return;
    }

    var obj = document.getElementsByName("flytype");
    var tempDt = new Date();
    var strToday = DateDemo(addDate(tempDt, 0)); // 今天日期

    if (obj[0].checked) { // 单程
        if ($("startdate").value == "") {
            showWarningTip("起飞时间不能晚于当天日期!", $("startdate"));
            $("startdate").focus;
            return;
        }
        else if (dateDiff($("startdate").value, strToday) < 0) {
            showWarningTip("起飞时间不能晚于当天日期!", $("startdate"));
            $("startdate").focus;
            return;
        }
        else {
            setSearchForm($("orgCity").value, $("dstCity").value);
        }
    }
    if (obj[1].checked) { // 往返
        if ($("startdate").value.length == 0 || $("backdate").value.length == 0) {
            if ($("startdate").value == "") {
                showWarningTip("起飞时间不能为空!", $("startdate"));
                return;
            }
            else if ($("backdate").value == "") {
                showWarningTip("返程时间不能为空!", $("backdate"));
                return;
            }
        }
        else {
            if (dateDiff($("startdate").value, $("backdate").value) == 1) {
                showWarningTip("起飞时间不能晚于返程日期!", $("backdate"));
                // $("backdate").focus();
                return;
            }
            else if (dateDiff($("startdate").value, strToday) < 0 || dateDiff($("backdate").value, strToday) < 0) {
                if (dateDiff($("startdate").value, strToday) < 0) {
                    showWarningTip("起飞时间不能晚于当天日期!", $("startdate"));
                    return;
                }
                if (dateDiff($("backdate").value, strToday) < 0) {
                    showWarningTip("返程时间不能晚于当天日期!", $("backdate"));
                    return;
                }
            }
            else
                setSearchForm($("orgCity").value, $("dstCity").value);
        }
    }
    if (obj[2].checked) { // 联程
        if (($("startdate").value == "") || ($("backdate").value == "")) {
            if ($("startdate").value == "") {
                showWarningTip("起飞时间不能为空!", $("startdate"));
                return;
            }
            else if ($("backdate").value == "") {
                showWarningTip("联程出发时间不能为空!", $("backdate"));
                return;
            }
        }
        else if (dateDiff($("startdate").value, strToday) < 0 || dateDiff($("backdate").value, strToday) < 0) {
            if (dateDiff($("startdate").value, strToday) < 0) {
                showWarningTip("起飞时间不能晚于当天日期!", $("startdate"));
                return;
            }
            if (dateDiff($("backdate").value, strToday) < 0) {
                showWarningTip("联程出发时间不能晚于当天日期!", $("backdate"));
                return;
            }
        }
        else if (dateDiff($("startdate").value, $("backdate").value) == 1) {
            showWarningTip("第一程起飞时间不能比联程出发时间晚!", $("backdate"));
            return;
        }
        else if ($("transferCity").value == "" || $("transferCity").value == "中文/拼音/代码") {
            showWarningTip("联程第二城市必须填写!", $("transferCity"));
            return;
        }
        else if (($("transferCity").value == $("orgCity").value) || ($("transferCity").value == $("dstCity").value)) {
            showWarningTip("第二城市不能和出发城市、到达城市的任一个相同!", $("transferCity"));
            return;
        }
        else setSearchForm($("orgCity").value, $("dstCity").value, $("transferCity").value);
    }
}

function isPnr(oStr) {
    return /^[a-zA-Z\d]{5,6}$/.test(oStr.Trim());
}

function pnrOp() {
    var oTxt = $("pnrTxt");
    if (oTxt.value.length == 0) {
        //alert("pnr输入为空！");
        showWarningTip("pnr输入为空！", oTxt);
        oTxt.focus();
    }
    else if (!isPnr(oTxt.value)) {
        //alert("PNR输入格式有误！");
        showWarningTip("pnr输入格式有误！", oTxt);
        oTxt.focus();
    }
    else {
        var oForm = document.forms[0];
        oForm.method = "post";
        oForm.action = "MainForm.aspx?action=pnrOp";
        oForm.submit();
    }
}

function pnrOpPreview() {
    var oTxt = $("pnrTxt");
    if (oTxt.value.length == 0) {
        //alert("pnr输入为空！");
        showWarningTip("pnr输入为空！", oTxt);
        oTxt.focus();
    }
    else if (!isPnr(oTxt.value)) {
        //alert("PNR输入格式有误！");
        showWarningTip("pnr输入格式有误！", oTxt);
        oTxt.focus();
    }
    else {
        var oForm = document.forms[0];
        oForm.method = "post";
        oForm.action = "PNRPreview.aspx?action=pnrOp";
        oForm.submit();
    }
}