String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
};

if (!$.isFunction(formSubmit))
{
    var formSubmit = function(val)
    {

        var oldactionvalue = window.document.forms[0].action;
        var actionvalue = oldactionvalue.split("/");

        if (actionvalue[1] == 'muecard')
        {
            if (actionvalue[1] != null)
            {
                //alert("/" + actionvalue[1] + val);
                window.document.forms[0].action = "/" + actionvalue[1] + val;
                window.document.forms[0].submit();
            }
            else
            {
                alert("The request path is error!");
            }
        }
        else
        {
            //If we are user the ROOT directory,do not add any prefix
            window.document.forms[0].action = val;
            window.document.forms[0].submit();
        }
    }
}

// 当前日期
Date.prototype.getShortDateStr = function()
{
    var str = this.getFullYear().toString();
    if (this.getMonth() < 9)
    {
        str += "0";
    }
    str += (this.getMonth() + 1).toString();
    if (this.getDate() < 10)
    {
        str += "0";
    }
    str += this.getDate().toString();
    return str;
};

// 当前日期
Date.prototype.to_Str = function()
{
    var str = this.getFullYear().toString();
    str = str + '-';
    if (this.getMonth() < 9)
    {
        str += "0";
    }
    str += (this.getMonth() + 1).toString();
    str = str + '-';
    if (this.getDate() < 10)
    {
        str += "0";
    }
    str += this.getDate().toString();
    return str;
};

//航班信息查询
function checkUrl(url)
{

    var patternDate = /^(\d{4})-(\d{2})-(\d{2})$/;
    if ($("#fromcity").attr('_3CODE') == "" || (typeof $("#fromcity").attr('_3CODE') === 'undefined') || $.trim($("#fromcity").val()) == '' || $.trim($("#fromcity").val()) == '支持中文/拼音')
    {
        alert("出发城市不能为空！");
        $("#fromcity").focus();
        return;
    }

    if ($("#tocity").attr('_3CODE') == "" || (typeof $("#tocity").attr('_3CODE') === 'undefined') || $.trim($("#tocity").val()) == '' || $.trim($("#tocity").val()) == '支持中文/拼音')
    {
        alert("到达城市不能为空！");
        $("#tocity").focus();
        return;
    }

    if ($("#go_time").val() == "")
    {
        alert("出发日期不能为空！");
        $("#go_time").focus();
        return;
    }

    if (!patternDate.test($("#go_time").val()))
    {
        alert("您填写的日期格式不正确，应该是yyyy-mm-dd");
        $("#go_time").focus();
        return;
    }

    var depdate = $("#go_time").val().split("-");
    if (depdate[0] + depdate[1] + depdate[2] < (new Date()).getShortDateStr())
    {
        alert("您选择的出发日期必须大于当前日期，请重新填写！");
        $("#go_time").focus();
        return;
    }

    // 回程日期的判断
    if ($("#two").attr("checked") == true)
    {
        if ($("#return_time").val() == "")
        {
            alert("回程日期不能为空！");
            $("#return_time").focus();
            return;
        }
        if (!patternDate.test($("#return_time").val()))
        {
            alert("回程日期格式不正确，正确格式为：yyyy-mm-dd , 请检查后重新填写!");
            $("#return_time").focus();
            return;
        }
        if ($("#go_time").val() > $("#return_time").val())
        {
            alert("回程日期不能早于出发日期，请重新填写！");
            $("#go_time").focus();
            return;
        }
    }

    var adtnum = Number($("#adult_select").val());
    var chdnumnum = Number($("#child_select").val());
    var infnum = Number($("#baby_select").val());

    if ($("#out").attr("checked") == true)
    {
        infnum = 0;
    }

    if (adtnum + chdnumnum + infnum > 9)
    {
        alert("查询的总人数不能大于9人！");
        return;
    }

    if (infnum > adtnum)
    {
        alert("婴儿数量不能大于成人数量！");
        return;
    }

    var $dep = $('#fromcity');
    var $arr = $('#tocity');
    var dep = $dep.val();
    var arr = $arr.val();
    $dep.val($dep.attr('_3CODE'));
    $arr.val($arr.attr('_3CODE'));
    $('#flightBooking').submit(); //(url);
    $dep.val(dep);
    $arr.val(arr);
}
//值机查询
function submitCuss(oldUrl)
{

    var querypassName, queryidNo, querymobileNo, fromcity, city3Code;

    querypassName = $.trim($("#passenger").val());
    queryidNo = $.trim($("#IDCaard").val());
    querymobileNo = $.trim($("#cellphone").val());
    fromcity = $.trim($("#fromPlane2").val());
    var fromWhere = "cussQueryFromIndex";

    if (querypassName == "")
    {
        alert("请输入您的旅客姓名！");
        $("#passenger").focus();
        return;
    }
    if (queryidNo == "")
    {
        alert("请输入您的证件号码！");
        $("#IDCaard").focus();
        return;
    }
    if (querymobileNo == "")
    {
        alert("请输入您的手机号码！");
        $("#cellphone").focus();
        return;
    }
    if (!isValidCellPhoneNumber(querymobileNo))
    {
        alert("手机号码只能是数字!");
        $("#cellphone").focus();
        return;
    }
    if (fromcity == "" || $("#fromPlane2").attr("_3CODE") == '' || $("#fromPlane2").attr("_3CODE") == null)
    {
        alert("请输入您的起飞城市！");
        $("#fromPlane2").focus();
        return;
    }
    city3Code = $("#fromPlane2").attr("_3CODE");

    var url = oldUrl + "?from=" + fromWhere + "&querypassName=" + encodeURIComponent(querypassName) + "&queryidNo=" + queryidNo + "&querymobileNo=" + querymobileNo + "&fromcity=" + encodeURIComponent(fromcity) + "&city3Code=" + city3Code;
    window.location.href = url;

}

function isValidCellPhoneNumber(querymobileNo)
{
    var rule = /^\d+$/;
    if (rule.test(querymobileNo))
    {
        return true;
    }
    else
    {
        return false;
    }
}

//航班查询
function flightStatusCheck()
{
    var $dep = $("#queryDepartPort");
    var $arr = $("#queryArrivalPot");
    var $pot = $('input[name="queryByType"]');

    //判断航班查询类型是否选中
    var queryTypeRadios = $("input[name='queryByType']:checked");
    if (queryTypeRadios.length <= 0)
    {
        alert("请选择航班查询类型!");
        return false;
    }

    if ($pot.eq(1).attr('checked') == false)
    {
        //判断国内国际是否选中
        var homeOrAbroadRadios = $("input[name='queryAreaType']:checked");
        if (homeOrAbroadRadios.length <= 0)
        {
            alert("请选择国内或国际航班!");
            return false;
        }

        //判断查询日期是否选中
        var dateSelection = $("#flightTime option:selected");
        if (dateSelection.length <= 0)
        {
            alert("请选择航班日期!");
            return false;
        }

        if ($dep.attr('_3CODE') == '' || typeof $dep.attr('_3CODE') == 'undefined' || $.trim($dep.val()) == '' || $.trim($dep.val()) == '支持中文/拼音')
        {
            alert('请输入出发城市！');
            $dep.focus();
            return false;
        }
        if ($arr.attr('_3CODE') == '' || typeof $arr.attr('_3CODE') == 'undefined' || $.trim($arr.val()) == '' || $.trim($arr.val()) == '支持中文/拼音')
        {
            alert('请输入到达城市！');
            $arr.focus();
            return false;
        }
    }
    else
    {
        if ($('#aoc_manager_queryFlightStatus_cond_queryFlightno').val() == '')
        {
            alert('请输入航班号！');
            $('#aoc_manager_queryFlightStatus_cond_queryFlightno').focus();
            return false;
        }
    }

    //判断航班号是否只包含数字
    var rule = /^\d+$/;
    if (($("#queryByFlightNo").attr("checked") == true) && (!rule.test($.trim($("#aoc_manager_queryFlightStatus_cond_queryFlightno").val()))))
    {
        alert("航班号只能为数字！");
        return false;
    }

    var dep = $dep.val();
    var arr = $arr.val();
    $dep.val($dep.attr('_3CODE'));
    $arr.val($arr.attr('_3CODE'));

    var url = '/mu/front/aoc/aoc-manager!queryFlightStatus.shtml';
    var queryType;
    if ($("#queryByFlightNo").attr("checked") == true)
    {
        queryType = 0;
    }
    else
    {
        queryType = 1;
    }
    var queryArea;
    if ($("#queryAtHome").attr("checked") == true)
    {
        queryArea = 0;
    }
    else
    {
        queryArea = 1;
    }
    var queryDate;
    queryDate = $("select#flightTime option:selected").val();

    var depCity = $("#queryDepartPort").val();
    var arrCity = $("#queryArrivalPot").val();
    var flightNo = $.trim($("#aoc_manager_queryFlightStatus_cond_queryFlightno").val());

    if (depCity.indexOf("支持中文/拼音") >= 0)
    {
        depCity = "";
    }
    if (arrCity.indexOf("支持中文/拼音") >= 0)
    {
        arrCity = "";
    }
    if (flightNo.indexOf("支持中文/拼音") >= 0)
    {
        flightNo = "";
    }

    url = url + "?cond.queryByType=" + queryType + "&cond.queryAreaType=" + queryArea + "&cond.queryFlightDate=" + queryDate + "&cond.queryDepartPort=" + depCity + "&cond.queryArrivalPot=" + arrCity + "&cond.queryFlightno=" + flightNo;

    $('#flightStatusForm').attr('action', url);
    $('#flightStatusForm').submit();
    $dep.val(dep);
    $arr.val(arr);
}

function changeQueryType()
{
    var radios = document.getElementsByName("queryByType");
    if (radios[1].checked == true)
    {
        $('.searchbyflight').show();
        $('.searchbydate').hide();
    }
    else
    {
        $('.searchbydate').show();
        //$('#aoc_manager_queryFlightStatus_cond_queryAreaType0').click();
        $('.searchbyflight').hide();
    }
}

function flightStatusSubmit(val)
{

    var oldactionvalue = window.document.forms[2].action;
    var actionvalue = oldactionvalue.split("/");

    if (actionvalue[1] == 'muecard')
    {
        if (actionvalue[1] != null)
        {
            //alert("/" + actionvalue[1] + val);
            window.document.forms[2].action = "/" + actionvalue[1] + val;
            window.document.forms[2].submit();
        }
        else
        {
            alert("The request path is error!");
        }
    }
    else
    {
        //If we are user the ROOT directory,do not add any prefix
        window.document.forms[2].action = val;
        window.document.forms[2].submit();
    }
}

function setDefaultDate4FlightStatus()
{
    var today = new Date();
    var strToday = "今日" + today.to_Str();
    today.setDate(Number(today.getDate()) - 1);
    var strYesterday = "昨日" + today.to_Str();
    today.setDate(Number(today.getDate()) + 2);
    var strTomorrow = "明日" + today.to_Str();
    var flightTimeHtml = $("<select name='queryFlightDate' id='flightTime'><option value='0'>" + strYesterday + "</option><option value='1'>" + strToday + "</option><option value='2'>" + strTomorrow + "</option></select>");
    $("#flightTime").replaceWith(flightTimeHtml);
    $("#flightTime").val(1); //默认选中今日
}

$(document).ready(function()
{
    $('#header_changecity').hide();
    var _3CODE = $.cookie('_3CODE');
    var city = $.cookie('city');
    if (_3CODE == null || _3CODE == 'null')
    {
        city = '主站';
        $.cookie('city', '主站', {
            expires: 365,
            path: '/'
        });
        $.cookie('_3CODE', 'NULL', {
            expires: 365,
            path: '/'
        });
    }
    $('#header_changecity_lable').text(city + '：');

    //初始化菜单栏
    $(".mainmenu").jMainMenu({
        actionType: "mouseover",
        defaultSelectedMenu: "menu_1"
    });

    $(".promotion").jTab({
        actionType: "mouseover",
        defaultSelectedTab: "tabs_1",
        clearradio: false
    });
    $(".subtabs_1").jTab({
        actionType: "click",
        defaultSelectedTab: "subtabs_1",
        clearradio: false
    });
    $(".tool").jTab({
        actionType: "click",
        defaultSelectedTab: "tabs_1",
        selectedClassSuffix: "selected",
        transitionType: "fade",
        clearradio: false
    });

    //初始化城市选择器
    $("#fromcity").jSelectCity({
        tips: "支持中文/拼音",
        $international: $('#out')
    });
    $("#tocity").jSelectCity({
        tips: "支持中文/拼音",
        $from: $('#fromcity'),
        $international: $('#out')
    });
    
    
    $("#toadd").jSelectCity({
        tips: "支持中文/拼音",
        $from: $('#fromsddd')
    });
    $("#fromsddd").jSelectCity({
        tips: "支持中文/拼音"
    });
    $("#fromPlane2").jSelectCity({
        tips: "支持中文/拼音"
    });
    $("#fromCity2").jSelectCity({
        tips: "支持中文/拼音"
    });
    $("#toCity2").jSelectCity({
        tips: "支持中文/拼音",
        $from: $('#fromCity2')
    });

    //初始化登录模块
    $("#logon").jLoginPopUp();

    if ($("#out").attr("checked") == true)
    {
        $('#infantField1').hide();
        $('#infantField2').hide();
    }

    $("#aoc_manager_queryFlightStatus_cond_queryFlightno").click(function()
    {
        $("#aoc_manager_queryFlightStatus_cond_queryFlightno").val("");
    });

    changeQueryType();
    $("#queryDepartPort").jSelectCity({
        tips: "支持中文/拼音",
        $international: $("#queryAbroad")
    });
    $("#queryArrivalPot").jSelectCity({
        tips: "支持中文/拼音",
        $from: $("#queryDepartPort"),
        $international: $("#queryAbroad")
    });

	$("#_hotelTab").one("click", function(){
        $.ajax({
            type: "GET",
            url: '/mu/images/jquery.CEA.selectHotelcity.js',
            cache:true,
            dataType: 'script',
            success:function(){$("#selectHotelCity").jSelectHotelCity({tips: "支持中文/拼音"});}
        });
	});


    //初始化日期选择器
    var max = new Date();
    max.setFullYear(max.getFullYear() + 1);
    var min = new Date();
    var dateconfig = {
        dateFormat: 'yy-mm-dd',
        showButtonPanel: true,
        buttonImage: '/mu/images/icon_calendar.gif',
        buttonImageOnly: true,
        numberOfMonths: 2,
        closeText: "关闭",
        currentText: '今天',
        monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
        monthNamesShort: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],
        dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
        dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
        dayNamesMin: ['日', '一', '二', '三', '四', '五', '六'],
        duration: 0,
        showAnim: 'show',
        minDate: min,
        maxDate: max
    };
    var dep = {
        onClose: function(date)
        {
            setTimeout(function()
            {
                $('#return_time:visible').datepicker('setDate', new Date($("#go_time").datepicker('getDate').valueOf() + 24 * 60 * 60 * 1000));
                $('#return_time:visible').datepicker('show');
                $('#return_time:visible').change();
            },
            1);
        }
    };
    dep = $.extend(dep, dateconfig);
    $("#go_time").datepicker(dep);
    $("#return_time").datepicker(dateconfig);
    $("#checkInTime").datepicker(dateconfig);
    $("#checkInTime").val(travelsky.tss.hotel.Tool.getAddDayDateStr(1));
    $("#checkOutTime").datepicker(dateconfig);
    $("#checkOutTime").val(travelsky.tss.hotel.Tool.getAddDayDateStr(2));
    $("#state_time").datepicker(dateconfig);
    $("#vftime").datepicker(dateconfig);
    $("#vttime").datepicker(dateconfig);
    if ($("#go_time").val() == '')
    {
        var today = new Date();
        today.setDate(Number(today.getDate()) + 1);
        $("#go_time").val(today.to_Str());
        today.setDate(Number(today.getDate()) + 1);
        $("#return_time").val(today.to_Str());
    }
    setDefaultDate4FlightStatus();
    
    //校验酒店查询提交
    $('#hotelSearchForm').submit(hotelSearchFormSubmit);
    $('input[type="text"]').live('keydown', clearerrorkeydown);
    $('form').keydown(function(event)
    {
        try
        {
            if (event.keyCode === 13)
            {
                return false;
            }
        }
        catch(e)
        {}
    });
});

function clearerrorkeydown(event)
{
    switch (event.keyCode)
    {
    case 188:
        //<
    case 190:
        //>
    case 51:
        //#
    case 52:
        //$
    case 55:
        //&
        {
            if (event.shiftKey == true)
            {
                return false;
            }
            break;
        }
    case 222:
        //',"
        {
            return false;
        }
    }
}
function hotelSearchFormSubmit()
{
    //验证城市
    if ($('#selectHotelCity').val() == '' || $('#selectHotelCity').val() == '支持中文/拼音')
    {
        alert('请选择酒店所在地');
        $('#selectHotelCity').focus();
        return false;
    }
    //验证入住日期
    if ($('#checkInTime').val() == '')
    {
        alert('请选择入住日期');
        $('#checkInTime').focus();
        return false;
    }
    if (!/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test($('#checkInTime').val()))
    {
        alert('日期格式应为yyyy-MM-dd');
        $('#checkInTime').focus();
        return false;
    }
    if (travelsky.tss.hotel.Tool.compareDate(travelsky.tss.hotel.Tool.getAddDayDateStr(0), $('#checkInTime').val()))
    {
        alert('入住日期不得早于今天');
        $('#checkInTime').focus();
        return false;
    }
    //验证离店日期
    if ($('#checkOutTime').val() == '')
    {
        alert('请选择离店日期');
        $('#checkOutTime').focus();
        return false;
    }
    if (!/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test($('#checkOutTime').val()))
    {
        alert('日期格式应为yyyy-MM-dd');
        $('#checkOutTime').focus();
        return false;
    }
    if (travelsky.tss.hotel.Tool.compareDate(travelsky.tss.hotel.Tool.getAddDayDateStr(0), $('#checkOutTime').val()))
    {
        alert('离店日期不得早于今天');
        $('#checkOutTime').focus();
        return false;
    }
    if (!travelsky.tss.hotel.Tool.compareDate($('#checkOutTime').val(), $('#checkInTime').val()))
    {
        alert('离店日期应晚于入住日期');
        $('#checkOutTime').focus();
        return false;
    }
    //验证最高最低价
    if (jQuery.trim($('#start_price').val()) != '' && !(/^[1-9]\d*$/.test(jQuery.trim($('#start_price').val()))))
    {
        alert('请输入大于0的整数!');
        $('#start_price').focus();
        return false;
    }
    if (jQuery.trim($('#to_price').val()) != '' && !(/^[1-9]\d*$/.test(jQuery.trim($('#to_price').val()))))
    {
        alert('请输入大于0的整数!');
        $('#to_price').focus();
        return false;
    }
    if (jQuery.trim($('#to_price').val()) != '' && jQuery.trim($('#start_price').val()) != '' && (parseFloat(jQuery.trim($('#start_price').val())) > parseFloat(jQuery.trim($('#to_price').val()))))
    {
        alert('最高价不得低于最低价');
        $('#to_price').focus();
        return false;
    }

}

jQuery.dom = function(id)
{
    return document.getElementById(id);
};

//首页右下角小图片切换模块
$(function()
{
    var list = $('#line2 .adv');
    var length = list.length;
    var showdiv = $('#line2 .adv:visible').length - 1;
    var n = list.filter(':visible').length;
    setInterval(function()
    {
        /*
        list.filter(':visible').hide(function()
        {
           showdiv=(showdiv+1)%length;
           list.eq(showdiv).show();
        });
        */
        list.filter(':visible').hide();
        for (var i = 0; i < n; i++)
        {
            showdiv = (showdiv + 1) % length;
            list.eq(showdiv).show();
        }
    },
    5000);
});