﻿$(function () {
    var searchError = $("#SearchError");
    var current_Date = new Date();
    var currentTime = current_Date.getFullYear() + "-" + (current_Date.getMonth() + 1) + "-" + current_Date.getDate();
    var next_Date = new Date(current_Date.getFullYear(), current_Date.getMonth(), current_Date.getDate() + 2);
    var nextTime = next_Date.getFullYear() + "-" + (next_Date.getMonth() + 1) + "-" + (next_Date.getDate());

    //显示快速搜索层
    $(".tagView").unbind('click').bind('click', function (event) {
        var hotelContent = $(".hotelContent");
        var ticketContent = $(".ticketContent");
        var vacationContent = $(".vacationContent");
        hotelContent.hide();
        ticketContent.hide();
        vacationContent.hide();
        $(".flight").removeClass("flight_active");
        $(".vacation").removeClass("vacation_active");
        $(".hotel").removeClass("hotel_active");
        if ($(this).hasClass('hotel')) {
            $(this).addClass("hotel_active");
            hotelContent.show();
        } else if ($(this).hasClass('flight')) {
            $(this).addClass("flight_active");
            ticketContent.show();
        } else if ($(this).hasClass('vacation')) {
            $(this).addClass("vacation_active");
            vacationContent.show();
        }
        searchError.hide();
    });
    /*------------------------ 机票 ----------------------------*/
    //机票航程选择
    $(".TripType").each(function (index) {
        $(this).unbind('click').bind('click', function (event) {
            event.stopPropagation();
            var tripType = $(this).val();
            var checked = $(this).attr("checked");
            if (checked != undefined && !checked) return;
            var tripTypeD = $(".TripTypeD");
            switch (tripType) {
                case "S":
                    tripTypeD.hide();
                    searchError.hide();
                    $(".FlightDepartureDateEnd").val('');
                    break;
                case "D":
                    tripTypeD.show();
                    searchError.hide();
                    break;
                default:
                    break;
            }
            $(this).blur();
        });
        if ($(this).attr("checked")) {
            $(this).click();
        }
    });
    //出发日期
    $(".FlightDepartureDate").val(currentTime).datepicker({
        numberOfMonths: 2,
        minDate: '0',
        maxDate: '+3M',
        showAnim: '',
        nextFocus: function (downwards, includeChild, setFocus) {
            var dateEnd = $(".FlightDepartureDateEnd");
            if (dateEnd.is(":visible") && $.trim(dateEnd.val()) == '') {
                dateEnd.val('').focus();
            }
        },
        onSelect: function (selected, inst) {
            searchError.hide();
        }
    });
    $(".FlightDepartureDateImg").click(function (event) {
        searchError.hide();
        $(".FlightDepartureDate").focus();
    });
    //返回日期
    $(".FlightDepartureDateEnd").val(nextTime).datepicker({
        numberOfMonths: 2,
        minDate: '',
        maxDate: '',
        showAnim: '',
        beforeShow: function (input, inst) {
            var FlightDepartureDate = $(".FlightDepartureDate");

            var date = FlightDepartureDate.datepicker('getDate');

            if (!date || date == null) {
                FlightDepartureDate.focus();
                return false;
            }

            var day = date.getDate();
            var month = date.getMonth() + 3;
            var year = date.getFullYear();
            var newDate = new Date(year, month, day);

            var arys = new Array();
            var arys = FlightDepartureDate.val().split('-');
            return { minDate: new Date(arys[0], arys[1] - 1, arys[2]), maxDate: newDate };
        },
        onSelect: function (selected, inst) {
            searchError.hide();
        }
    });
    $(".FlightDepartureDateEndImg").click(function (event) {
        searchError.hide();
        $(".FlightDepartureDateEnd").focus();
    });
    //出发城市
    $(".FlightOriginalCity").val('中文/拼音/首字母').addClass('hui')
    .unbind('focus')
    .bind('focus', function () {
        if ($.trim($(this).val()) == '中文/拼音/首字母')
            $(this).val("").removeClass('hui');
    })
    .unbind('blur')
    .bind('blur', function () {
        if ($.trim($(this).val()) == '') {
            $(this).val("中文/拼音/首字母").addClass('hui');
            $(".FlightOriginal").val('');
        }
        searchError.hide();
    }).autocomplete({
        defaultText: "城市中文/拼音/首字母或↑↓选择",
        queryText: "<span>{0}</span> ,按代码排序",
        defaultClientSort: false,
        clientSort: false,
        clientCache: false,
        remoteData: function (queryText, inst) {
            searchError.hide();
            return '/Resources/StaticResources.aspx?Type=AirPort&Text=' + queryText;
        },
        onSelect: function (selected, inst) {
            $(".FlightOriginalCity").removeClass('hui');
            $(".FlightOriginal").val(selected[2]);
        },
        onClose: function (selected, inst) {
            //往返
            if ($.trim($(".DestinationCity").val()) == '') {
                $(".FlightDestination").val('');
                $(".FlightDestinationCity").val('').focus();
            }

        }
    });
    //目的城市
    $(".FlightDestinationCity").val('中文/拼音/首字母').addClass('hui')
    .unbind('focus')
    .bind('focus', function () {
        if ($.trim($(this).val()) == '中文/拼音/首字母')
            $(this).val("").removeClass('hui');
    })
    .unbind('blur')
    .bind('blur', function () {
        if ($.trim($(this).val()) == '') {
            $(this).val("中文/拼音/首字母").addClass('hui');
            $(".FlightDestination").val('');
        }
        searchError.hide();
    }).autocomplete({
        defaultText: "城市中文/拼音/首字母或↑↓选择",
        queryText: "<span>{0}</span> ,按代码排序",
        defaultClientSort: false,
        clientSort: false,
        clientCache: false,
        remoteData: function (queryText, inst) {
            searchError.hide();
            return '/Resources/StaticResources.aspx?Type=AirPort&Text=' + queryText;
        },
        onBeforeShow: function (queryText, inst) {
            if ($(".FlightOriginal").val() == '') {
                $(".FlightOriginalCity").focus();
                return false;
            }
        },
        onSelect: function (selected, inst) {
            $(".FlightDestinationCity").removeClass('hui');
            $(".FlightDestination").val(selected[2]);
        },
        onClose: function (selected, inst) {
            var depDate = $(".FlightDepartureDate");
            if ($.trim(depDate.val()) == '') {
                depDate.val('').focus();
            }
        }
    });

    //送票城市
    $(".FlightTicketSendCity").autocomplete({
        defaultText: "输入城市中文/代码或↑↓选择",
        queryText: "<span>{0}</span> ,按代码排序",
        defaultClientSort: false,
        clientSort: false,
        clientCache: false,
        remoteData: function (queryText, inst) {
            searchError.hide();
            return '/Resources/StaticResources.aspx?Type=AirPort&Text=' + queryText;
        },
        onSelect: function (selected, inst) {
            $(".FlightTicketSent").val(selected[2]);
        }
    });
    //机票按钮验证
    $(".BtnFlightSearch").click(function (event) {
        searchError.hide();
        //出发城市
        var FlightOriginalCity = $(".FlightOriginalCity");
        var OriginalCity = $.trim(FlightOriginalCity.val());
        var Original = $.trim($(".FlightOriginal").val());
        //目的城市
        var FlightDestinationCity = $(".FlightDestinationCity");
        var DestinationCity = $.trim(FlightDestinationCity.val());
        var Destination = $.trim($(".FlightDestination").val());
        //出发时间
        var FlightDepartureDate = $(".FlightDepartureDate");
        var DepartureDate = $.trim(FlightDepartureDate.val());
        var startDate = FlightDepartureDate.datepicker('getDate');
        //当前时间
        var currentDate = new Date(new Date() - 24 * 60 * 60 * 1000);
        if (OriginalCity == '' || Original == '') {
            searchError.text('请选择出发城市');
            searchError.css({
                left: FlightOriginalCity.position().left + FlightOriginalCity.outerWidth() + 5,
                top: FlightOriginalCity.position().top - 4
            }).show();
            return false;
        }
        if (DestinationCity == '' || Destination == '') {
            searchError.text('请选择目的城市');
            searchError.css({
                left: FlightDestinationCity.position().left + FlightDestinationCity.outerWidth() + 5,
                top: FlightDestinationCity.position().top - 4
            }).show();
            return false;
        }

        if (DepartureDate == '') {
            searchError.text('请选择出发日期');
            searchError.css({
                left: FlightDepartureDate.position().left + FlightDepartureDate.outerWidth() + 5,
                top: FlightDepartureDate.position().top - 4
            }).show();
            return false;
        }

        if (currentDate > startDate) {
            searchError.text('日期错误，航程日期不能早于当天');
            searchError.css({
                left: FlightDepartureDate.position().left + FlightDepartureDate.outerWidth() + 5,
                top: FlightDepartureDate.position().top - 4
            }).show();
            return false;
        }
        //验证出发城市和到达城市是否相同
        if (OriginalCity == DestinationCity || Original == Destination) {
            searchError.text('目的城市不能与出发城市相同');
            searchError.css({
                left: FlightOriginalCity.position().left + FlightOriginalCity.outerWidth() + 5,
                top: FlightOriginalCity.position().top - 4
            }).show();
            return false;
        }

        //往返
        if ($(".TripTypeD:visible").length > 0 && $(".FlightDepartureDateEnd:visible").length > 0) {
            var DepartureDateEnd = $(".FlightDepartureDateEnd");
            var FlightDepartureDateEnd = $.trim(DepartureDateEnd.val());

            if (FlightDepartureDateEnd == '') {
                searchError.text('请选择返回日期');
                searchError.css({
                    left: DepartureDateEnd.position().left + DepartureDateEnd.outerWidth() + 5,
                    top: DepartureDateEnd.position().top - 4
                }).show();
                return false;
            }
            var EndDate = DepartureDateEnd.datepicker('getDate');

            if (currentDate > EndDate) {
                searchError.text('日期错误，航程日期不能早于当天');
                searchError.css({
                    left: DepartureDateEnd.position().left + DepartureDateEnd.outerWidth() + 5,
                    top: DepartureDateEnd.position().top - 4
                }).show();
                return false;
            }

            if (startDate > EndDate) {
                searchError.text('请重新选择返回日期');
                searchError.css({
                    left: DepartureDateEnd.position().left + DepartureDateEnd.outerWidth() + 5,
                    top: DepartureDateEnd.position().top - 4
                }).show();
                return false;
            }
        }
        return true;
    });



    /*------------------------- 酒店 ---------------------------*/
    //入住日期
    $(".Hotel_InDate").val(currentTime).datepicker({
        numberOfMonths: 2,
        minDate: '0',
        maxDate: '+3M',
        nextFocus: function (downwards, includeChild, setFocus) {
            var Hotel_OutDate = $(".Hotel_OutDate");
            if ($.trim(Hotel_OutDate.val()) == '') {
                Hotel_OutDate.val('');
                Hotel_OutDate.focus();
            }
        },
        onSelect: function (selected, inst) {
            searchError.hide();
        }
    });
    //退房日期
    $(".Hotel_OutDate").val(nextTime).datepicker({
        numberOfMonths: 2,
        minDate: '',
        maxDate: '',
        beforeShow: function (input, inst) {
            var Hotel_InDate = $(".Hotel_InDate");
            var date = Hotel_InDate.datepicker('getDate');

            if (!date || date == null) {
                Hotel_InDate.focus();
                return false;
            }

            var day = date.getDate() + 1;
            var month = date.getMonth() + 1;
            var year = date.getFullYear();
            var newDate = new Date(year, month, day);

            var arys = new Array();
            var arys = Hotel_InDate.val().split('-');
            return { minDate: new Date(year, month - 1, day), maxDate: newDate };
        },
        onSelect: function (selected, inst) {
            searchError.hide();
        }
    });

    $(".Hotel_InDateImg").click(function (event) {
        $(".Hotel_InDate").focus();
        searchError.hide();
    });

    $(".Hotel_OutDateImg").click(function (event) {
        $(".Hotel_OutDate").focus();
        searchError.hide();
    });

    //酒店名称
    $(".Hotel_HotelName").val('中文/拼音首字母').addClass('hui')
    .unbind('focus')
    .bind('focus', function () {
        if ($.trim($(this).val()) == '中文/拼音首字母')
            $(this).val("").removeClass('hui');
    })
    .unbind('blur')
    .bind('blur', function () {
        if ($.trim($(this).val()) == '') {
            $(this).val("中文/拼音首字母").addClass('hui');
        }
        searchError.hide();
    });

    //入住城市
    $(".Hotel_City").val('中文/拼音/首字母').addClass('hui')
    .unbind('focus')
    .bind('focus', function () {
        if ($.trim($(this).val()) == '中文/拼音/首字母')
            $(this).val("").removeClass('hui');
    })
    .unbind('blur')
    .bind('blur', function () {
        if ($.trim($(this).val()) == '') {
            $(this).val("中文/拼音/首字母").addClass('hui');
            $(".Hotel_Pcr").val('');
        }
        searchError.hide();
    })
    .autocomplete({
        defaultText: "输入城市中文/拼音或↑↓选择",
        queryText: "<span>{0}</span> ",
        defaultClientSort: false,
        clientSort: false,
        clientCache: false,
        remoteData: function (queryText, inst) {
            //            searchError.hide();
            return '/Resources/StaticResources.aspx?Type=City&Text=' + queryText;
        },
        onSelect: function (selected, inst) {
            $(".Hotel_City").removeClass('hui');
            $(".Hotel_Pcr").val(selected[2]);
            searchError.hide();
        },
        onClose: function (selected, inst) {
            var Hotel_InDate = $(".Hotel_InDate");
            if ($.trim(Hotel_InDate.val()) == '') {
                Hotel_InDate.val('').focus();
            }
        }
    });
    //$(".Hotel_Pcr").val('0221');


    //酒店按钮验证
    $(".BtnHotelSearch").click(function (event) {
        //城市
        var Hotel_City = $(".Hotel_City");
        var Hotel_InDate = $(".Hotel_InDate");
        var Hotel_OutDate = $(".Hotel_OutDate");

        var city = $.trim(Hotel_City.val());
        var inDate = $.trim(Hotel_InDate.val());
        var outDate = $.trim(Hotel_OutDate.val());
        var pcr = $.trim($(".Hotel_Pcr").val());
        reg = /\d{4}-\d{1,2}-\d{1,2}/;
        if (city == '' || city == '中文/拼音/首字母') {
            searchError.text('请选择城市');
            searchError.css({
                left: Hotel_City.position().left + Hotel_City.outerWidth() + 5,
                top: Hotel_City.position().top - 4
            }).show();
            return false;
        }
        if (inDate == '') {
            searchError.text('请选择入住日期');
            searchError.css({
                left: Hotel_InDate.position().left + Hotel_InDate.outerWidth() + 5,
                top: Hotel_InDate.position().top - 4
            }).show();
            return false;
        }
        if (outDate == '') {
            searchError.text('请选择退房日期');
            searchError.css({
                left: Hotel_OutDate.position().left + Hotel_OutDate.outerWidth() + 5,
                top: Hotel_OutDate.position().top - 4
            }).show();
            return false;
        }
        if (pcr == '') {
            searchError.text('请重新选择城市');
            searchError.css({
                left: Hotel_City.position().left + Hotel_City.outerWidth() + 5,
                top: Hotel_City.position().top - 4
            }).show();
            return false;
        }
        if (!reg.test(inDate)) {
            searchError.text('请输入正确的入住日期');
            searchError.css({
                left: Hotel_InDate.position().left + Hotel_InDate.outerWidth() + 5,
                top: Hotel_InDate.position().top - 4
            }).show();
            return false;
        }
        if (!reg.test(outDate)) {
            searchError.text('请输入正确的离店日期');
            searchError.css({
                left: Hotel_OutDate.position().left + Hotel_OutDate.outerWidth() + 5,
                top: Hotel_OutDate.position().top - 4
            }).show();
            return false;
        }

        var InDate = Hotel_InDate.datepicker('getDate');
        var OutDate = Hotel_OutDate.datepicker('getDate');
        var currentDate = new Date(new Date() - 24 * 60 * 60 * 1000);
        if (currentDate > InDate) {
            searchError.text('入住日期最早为今天');
            searchError.css({
                left: Hotel_InDate.position().left + Hotel_InDate.outerWidth() + 5,
                top: Hotel_InDate.position().top - 4
            }).show();
            return false;
        }
        if (currentDate > OutDate) {
            searchError.text('离店日期最早为入住日期的后一天');
            searchError.css({
                left: Hotel_OutDate.position().left + Hotel_OutDate.outerWidth() + 5,
                top: Hotel_OutDate.position().top - 4
            }).show();
            return false;
        }
        if (InDate > OutDate) {
            searchError.text('入住日期应早于离店日期');
            searchError.css({
                left: Hotel_InDate.position().left + Hotel_InDate.outerWidth() + 5,
                top: Hotel_InDate.position().top - 4
            }).show();
            return false;
        }

        var txtName = $(".Hotel_HotelName");
        if ($.trim(txtName.val()) == '中文/拼音首字母') {
            txtName.val("");
        }

        return true;
    });
    //-------------------------------------------------- 度假 -------------------------------------------

    $(".BtnVacationSearch").click(function () {
        var Vacation_StartCity = $(".Vacation_StartCity");
        var Vacation_DestCity = $(".Vacation_DestCity");
        var startCity = $.trim(Vacation_StartCity.val());
        var destCity = $.trim(Vacation_DestCity.val());
        var startCityCode = $.trim($(".Vacation_StartCityCode").val());
        var destCityCode = $.trim($(".Vacation_DestCityCode").val());
        if (startCity == '' || startCityCode == '') {
            searchError.text('请选择出发地');
            searchError.css({
                left: Vacation_StartCity.position().left + Vacation_StartCity.outerWidth() + 5,
                top: Vacation_StartCity.position().top - 4
            }).show();
            return false;
        }

        if (destCityCode == '' || destCity == '') {
            searchError.text('请选择目的地');
            searchError.css({
                left: Vacation_DestCity.position().left + Vacation_DestCity.outerWidth() + 5,
                top: Vacation_DestCity.position().top - 4
            }).show();
            return false;
        }

        return true;
    });

    $(".Vacation_StartCity").blur(function () {
        searchError.hide();
    });

    $(".Vacation_DestCity").blur(function () {
        searchError.hide();
    });

    //自动 出发城市
    $(".Vacation_StartCity").autocomplete({
        defaultText: "输入出发城市或↑↓选择",
        queryText: "<span>{0}</span> ",
        defaultClientSort: false,
        clientSort: false,
        clientCache: false,
        remoteData: function (queryText, inst) {
            var freeType = 'gnl';
            $('.vacation-type:checked').each(function (index) {
                if (this.checked) {
                    freeType = this.value;
                }
            });
            var uri = '/Resources/StaticResources.aspx?Type=Free100&SubType=StartCity';
            return uri + '&Text=' + queryText + '&FreeType=' + freeType;
        },
        onSelect: function (selected, inst) {
            $(".Vacation_StartCityCode").val(selected[3]);
        },
        onClose: function (selected, inst) {
            $(".Vacation_DestCity").focus();
        }
    });
    //自动 目的城市
    $(".Vacation_DestCity").autocomplete({
        defaultText: "输入到达城市或↑↓选择",
        queryText: "<span>{0}</span> ",
        defaultClientSort: false,
        clientSort: false,
        clientCache: false,
        onBeforeShow: function (queryText, inst) {
            var startCity = $(".Vacation_StartCityCode").val();
            if (startCity == '') {
                $(".Vacation_StartCity").focus();
                return false;
            }
            return true;
        },
        remoteData: function (queryText, inst) {
            var startCity = $(".Vacation_StartCityCode").val();
            var freeType = 'gnl';

            $('.vacation-type:checked').each(function (index) {
                if (this.checked) {
                    freeType = this.value;
                }
            });
            var uri = '/Resources/StaticResources.aspx?Type=Free100&SubType=DestCity';
            return uri + '&Text=' + queryText + '&FreeType=' + freeType + '&Start=' + startCity;
        },
        onSelect: function (selected, inst) {
            $(".Vacation_DestCityCode").val(selected[3]);
        }
    });
    $('.vacation-type').unbind('click').bind('click', function (event) {
        $(".Vacation_StartCity").val('');
        $(".Vacation_StartCityCode").val('');
        $(".Vacation_DestCity").val('');
        $(".Vacation_DestCityCode").val('');
    });

    //-------------------------------------------------- 酒店展示 ------------------------------------------

    //初始化
    $('.hotel-view-tab').each(function (index) {
        var tab = $(this);
        var type = tab.attr('type');
        var city = $('.hotel-view-tabpage-' + type + ' > li:first> a').attr('code');
        $('.hotel-view-list-tabpage-' + type + ' > div[_mod_city=' + type + '-' + city + ']').show();
        $('.hotel-view-tabpage-' + type + ' > li > a:first').addClass('current');
        tab.unbind('click').bind('click', function () {
            $('.hotel-view-tab').removeClass('current');
            $(this).addClass('current');
            $('.city > ul').hide();
            $('.hotelList > div').hide();
            $('.hotel-view-tabpage-' + type).show();
            $('.hotel-view-list-tabpage-' + type).show();
            $(this).blur();
        });

        $('.hotel-view-tabpage-' + type + ' > li > a').unbind('click').bind('click', function (event, args) {
            var link = $(this);
            var type = link.attr('type');
            var city = link.attr('code');

            $('.hotel-view-list-tabpage-' + type + ' > div').hide();
            $('.hotel-view-list-tabpage-' + type + ' > div[_mod_city=' + type + '-' + city + ']').show();

            $('.hotel-view-tabpage-' + type + ' > li > a').removeClass('current');
            link.addClass('current');
            link.blur();
        });
    });
    //--------------------------------------------------- 机票信息 -------------------------------------------
    $('.tab-flight-info').each(function (index) {
        var tab = $(this);
        $('.tab-flight-info:first').addClass('current');
        tab.unbind('click').bind('click', function () {
            $('.tab-flight-info').removeClass('current');
            $(this).addClass('current');
            var cityCode = $(this).attr("city");
            $('.flight-info').hide();
            $('.info-startcity-' + cityCode).show();
            $(this).blur();
        });
    });

    $('.flight-ticket').each(function (index) {
        var flight = $(this);
        flight.unbind('click').bind('click', function () {
            var startCity = flight.attr('startcity');
            var startCode = flight.attr('startcode');
            var endCity = flight.attr('endCity');
            var endcode = flight.attr('endcode');
            var date = flight.attr('date');

            $('.TripType').val("S");
            $('.FlightOriginalCity').val(startCity);
            $('.FlightOriginal').val(startCode);
            $('.FlightDestinationCity').val(endCity);
            $('.FlightDestination').val(endcode);
            $('.FlightDepartureDate').val(date);
            $('.FlightDepartureDateEnd').val("");
            $('.FlightTicketSendCity').val("");
            $('.FlightTicketSent').val("");
            $('.FlightPersonCount').val("1");
            $('.marginRight5').val("ADU");
            $("#flightForm").submit();
        });
    });

    //---------------------------------------------------  积分兑换  --------------------------------------------------
    scrollPoint();



    updateLoginStatus();
});


function scrollPoint() {
    var timeout = null;
    var interval = null;

    timeout = setTimeout(function () {
        $('.point-scroll').css("margin-top", "0px");
        interval = setInterval(autoPlay, 1000);
    }, 0);
}

function autoPlay() {
    var marginTop = $('.point-scroll').css("margin-top");
    var pointTop = $('.point').height();
    var scrollTop1 = $('.point-table1').height();
    var scrollTop2 = $('.point-table2').height();
    if ((parseInt(marginTop) - parseInt(pointTop) + parseInt(scrollTop1) + parseInt(scrollTop2)) <= 0)
        $('.point-scroll').css("margin-top", "0px");
    else
        $('.point-scroll').css("margin-top", (parseInt(marginTop) - 20) + "px");

}



//{{START: 检查登录状态
function updateLoginStatus() {
    $.post("/Hotels/StaticResources.aspx",
		{ Type: 'LoginStatus' },
		function (data) {
		    if (data.indexOf('true') == 0)
		        $('.online-status').html('<span style="display:block; float:left; width: 144px; overflow: hidden;">你好！' + data.slice(4) + '</span>&nbsp;┆&nbsp;<a href="/Member/Logout.aspx" target="_blank">退&nbsp;出</a>');
		    else
		        $('.online-status').html('<a href="../Member/Login.aspx" target="_blank" class="islogin">登&nbsp;录</a>&nbsp;┆&nbsp;<a href="../Member/Join.aspx" target="_blank">注&nbsp;册</a>');
		});
}
//}}END: 检查登录状态