var _fromCRM_Info, _fromCRM_UserId, _fromCRM_DeptCode, _fromCRM_MemberID; if (window.location.href.indexOf("CrmParam") > 0) { var _fromCRM_Info = window.location.href; _fromCRM_Info = _fromCRM_Info.substring(_fromCRM_Info.indexOf("CrmParam"), _fromCRM_Info.length); _fromCRM_Info = _fromCRM_Info.substring(_fromCRM_Info.indexOf("=") + 1, _fromCRM_Info.indexOf("&")); if (_fromCRM_Info.split('_').length > 2) { _fromCRM_UserId = _fromCRM_Info.split('_')[0]; _fromCRM_DeptCode = _fromCRM_Info.split('_')[1]; _fromCRM_MemberID = _fromCRM_Info.split('_')[2]; } } var arrayObj = new Array(); var isSetCurrNavigator = false; //判断导航菜单是否是通过点击事件定位 $(function () { var IsValid = $('#hidIsValid').val(); if (IsValid == "1") { bindPriceCalendar(); var priceDate = $('#hidSelDate').val(); $('#aprice' + priceDate).click(); $('#aprice' + priceDate).addClass("clicks"); } if (IsValid == "0") { _RemoveYuding(); } if (IsValid == "2") { _RemoveYuding(); } var obj = $('.hook_a'); var menuYloc = $(obj[0]).offset().top; var defTop = $('#sider').offset().top; for (var i = 0; i < obj.length; i++) { arrayObj[i] = $(obj[i]).offset().top; } //回到顶部 setSiderTop(menuYloc, arrayObj, defTop); Beginscroll(menuYloc, arrayObj, defTop); setCurrNavigator(); $(".fxts").live("hover", function () { $(this).find(".tishi").toggle(); }); $(".yw").live("hover", function () { $(this).find(".yw_con").toggle(); }); var tabH = $(".yuding2_tab").height() < 120 ? 120 : $(".yuding2_tab").height(); $("#yuding2_con").height(tabH); $('.ay-icon-question').live("mouseover", function () { $('.ay-question-blue').show(); }).live("mouseout", function () { $('.ay-question-blue').hide(); }); }); //点击导航菜单,设置当前样式 function setCurrNavigator() { $(".nav_li").click(function () { $(this).siblings().removeClass("now"); $(this).addClass("now"); isSetCurrNavigator = true; }); } function Beginscroll(menuYloc, arrayObj, defTop) { $(window).scroll(function () { setSiderTop(menuYloc, arrayObj, defTop); }); } //导航和回到顶部 function setSiderTop(menuYloc, arrayObj, defTop) { //ie6 if (!window.XMLHttpRequest) { var scrolltop = $(document).scrollTop(); $('div.nav_side').css("top", document.documentElement.scrollTop + window.screen.height / 2); if (scrolltop > menuYloc) { offset = scrolltop + "px"; var html = $('html'); if (html.css('backgroundAttachment') != 'fixed') { html.css('backgroundAttachment', 'fixed'); } var domThis = $('#sider')[0]; var objThis = $('#sider'); var top = parseInt(offset) - $('html').scrollTop(); var left = $(".sec_tese").offset().left; objThis.css('position', 'absolute'); domThis.style.top = document.documentElement.scrollTop + top + "px"; domThis.style.left = left + "px"; } else { var objThis = $('#sider'); objThis.attr("class", "nav"); objThis.removeAttr("style"); } } else { //其他浏览器 if ($('#sider').offset().top <= $(window).scrollTop()) { $('#sider').attr("class", "nav1"); $('#sider').css("top", "0px"); } if ($(window).scrollTop() <= defTop) { $('#sider').attr("class", "nav"); $('#sider').css("top", defTop); } } if (!isSetCurrNavigator) { //动态化菜单条样式 var textNotes = $('.hook_a'); $(".nav_li").siblings().removeClass("now"); var scrolltop = $(window).scrollTop() + 61; if (defTop <= scrolltop) { for (var i = textNotes.length - 1; i >= 0; i--) { if (arrayObj[i] < scrolltop) { $(".nav_li").eq(i).addClass("now"); break; } } } } else { isSetCurrNavigator = false; } //右侧置顶 if ($(document).scrollTop() > 0) { $('div.nav_side').removeClass("hidden"); } else { $('div.nav_side').addClass("hidden"); } } function _RemoveYuding() { $('#btnBooking').css("display", "none"); //右侧预定按钮不显示 $('#divBookingInfo').css("display", "none"); //价格日历舱位等不显示 $('#divBookingInfo .hook_a').css("display", "none"); $('#liBooking').css("display", "none"); //导航条,预定不显示 $('#liBooking').removeClass("now"); //导航条,预定去掉当前 $('#liXC').addClass("now"); //导航条,行程加上当前选中 $('#btnBooking2').css("display", "none"); //下面的预定按钮不显示 $('#divoffline').removeClass("hidden"); //显示产品已经下线 } //验证码换一张 function ChangeCheckCode() { $('#ImgCheckCode').attr('src', "/cruise/CodeImg.aspx?time=" + new Date()); } //保存评论 function AddDiscuss() { //点击后解绑onclick $('.comment .pop_btn').attr('onclick', ''); var content = $("#content_txt").val(); var code = $('#I_CCode').val(); if (content != '' && content.length > 140) { $("#discuss_msg").html('  评论最多长度为140字!'); return; } if (code == '') { $("#discuss_msg").html('  请输入验证码!'); return; } if (content == '' || content == '快来说两句吧,最多可以输入140字哦!') { $("#discuss_msg").html('  请输入评论内容!'); return; } $.ajax({ type: "Post", url: "/cruise/adddiscuss.aspx", data: { Content: escape(content), Code: code, ForeignID: $('#lblAttrID').html(), PlateType: $('#lblAttrType').html(), Title: escape($('#lblAttrTitle').html() + '景点评论') }, success: function (data) { ChangeCheckCode(); if (data == "0") { $("#discuss_msg").html('  保存失败'); } else if (data == "-1") { $("#discuss_msg").html('  验证码错误'); } else { //$("#content_txt").val('快来说两句吧,最多可以输入140字哦!'); $("#content_txt").val(''); $('#I_CCode').val(''); $("#discuss_msg").html('  提交成功,请耐心等待我们的审核'); } }, error: function (XMLHttpRequest, textStatus, errorThrown) { $("#discuss_msg").html('  系统繁忙,请稍后重试!'); } }); //执行完 重写绑定 $('.comment .pop_btn').attr('onclick', 'AddDiscuss()'); } //弹出客服 function openwin() { window.open("http://www.aoyou.com/leyoo.htm?refurl=" + encodeURIComponent(window.location.href), "newwindow", "height=450, width=680, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") } //加入收藏夹 function addfavorite() { var a = document.URL; var b = document.title; try { if (document.all) { window.external.AddFavorite(a, b) } else if (window.sidebar) { window.sidebar.addPanel(b, a, "") } else { alert("对不起,您的浏览器不支持此操作!\n请您使用菜单栏或Ctrl+D收藏本页。") } } catch (e) { alert("对不起,您的浏览器不支持此操作!\n请您使用菜单栏或Ctrl+D收藏本页。") } } //绑定价格日历 function bindPriceCalendar() { var ProductID = $('#hidProductID').val(); var IsCharter = $('#hidischarter').val(); var InterFlag = $('#hidInterFlag').val(); $.ajax({ type: "Get", url: "/cruise/bindPriceCalendar.ashx?productid=" + ProductID + "&ischarter=" + IsCharter + "&interFlag=" + InterFlag + "&s=" + Date().toLocaleString(), dataType: "json", jsonp: "callback", cache: false, async: false, success: function (json) { var editHtml = json.priceinfo; var cCount = parseInt(json.cCount); if (cCount > 0) { var departCode = json.yudingDepartDate; var priceCode = json.yudingPriceCode; $(editHtml).insertBefore($('#hidgroupid')); $('#divBeginDate').html("出发日期:" + departCode); $('#divYudingPrice').html(priceCode); //保存浏览记录 var aoyou_browse_history = new AoyouBrowseHistory('aoyou_browse_history'); var picUrl = $("#hotelContent0").children("span").attr("sourcesrc"); var proUrl = document.URL; var proTitle = $(".h1_tt").html(); var price = $(".des_online").children("span").children("span[class='num']").html(); aoyou_browse_history.add(picUrl, proUrl, proTitle, price); } else {//如果没有加载到价格日历,那么预定信息都不显示! _RemoveYuding(); } } }); } function CheckPrice(groupid, ischarter, begindate, returndate, confirmflag) { $('#hidSelectedTabId').val("0"); $('#hidSelectedSeatId').val("0"); $('#hidDate1').val(begindate); $('#hidDate2').val(returndate); //赋值预定信息 $('#hidGroupID').val(groupid); $('#hidDepartDete').val(begindate); //赋值绑定舱位信息 $('#hidgroupid').val(groupid); //赋值团号 $('#hidconfirmflag').val(confirmflag); //赋值是否二次确认 //取值 var startingPrice = $("#startingPrice").text(); bindSeats(groupid, ischarter, confirmflag, begindate, returndate, startingPrice); $('.delbtn').click(); } var canBooking = true; var personError = false; var addProductPrice = 0; //绑定舱位信息 function bindSeats(groupid, ischarter, confirmflag, begindate, returndate, startingPrice) { $.ajax({ type: "Get", url: "/cruise/bindSeatsInfo.ashx?groupid=" + groupid + "&ischarter=" + ischarter + "&confirmflag=" + confirmflag + "&begindate=" + begindate + "&returndate=" + returndate + "&s=" + Date().toLocaleString() + "&startingPrice=" + startingPrice, dataType: "json", jsonp: "callback", cache: false, async: false, error: function (XMLHttpRequest, textStatus, errorThrown) { var st = XMLHttpRequest.status; var rst = XMLHttpRequest.readyState; var tst = textStatus $('#divYudingOther').css("display", "none"); canBooking = false; }, success: function (json) { canBooking = true; if (parseInt(json.Inventory) <= 0) { if (json.errorInfo != "") { $('#yuding3error').html(json.errorInfo).removeClass("hidden"); } else { $('#yuding3error').html("当前出发日期,此产品已全部售罄!").removeClass("hidden"); } $('#divYudingOther').css("display", "none"); $('#divYudingSeats').addClass("hidden"); $('.yuding_total .price').addClass("hidden"); $('#spanSum').text("¥0"); $('#btnBooking').css("display", "none"); $('#btnBooking2').css("display", "none"); canBooking = false; } else { canBooking = true; if (parseInt(json.servicePrice) > 0) { addProductPrice = parseInt(json.servicePrice); $('#divYudingOther').css("display", "block"); } else { $('#divYudingOther').css("display", "none"); } $('#divMustServiece').html(json.mustServiceInfo); $('#yuding3error').addClass("hidden"); $('#divYudingSeats').removeClass("hidden"); $('#btnBooking').css("display", "block"); $('#btnBooking2').css("display", "block"); $("#divYudingSeats").html(json.seatsInfo); $('#spanSum').text("¥" + (parseInt(json.servicePrice))); //预定值 $('#hidCabinID').val(json.cabinId); //舱位ID $('#hidSumPrice').val(parseInt(0)); //总价 $('#hidRoomCount').val(1); } defaultSelTab(json.SelTab); } }); } //点击舱位类型页签 function checkTab(divid) { $('.yuding2_tab').css("display", "none"); $('.seat_tab_a').removeClass("now"); $('#divSeats' + divid).css("display", ""); $('#CharterTab' + divid).addClass("now"); var tabH = $('#divSeats' + divid).height() < 120 ? 120 : $('#divSeats' + divid).height(); $("#yuding2_con").height(tabH); //var $xuanze = $('#divSeats' + divid).find('.xuanze a.sel'); //if ($xuanze.length > 0) { // $xuanze.addClass("disNone"); // $xuanze.click(); //} $('#hidSelectedTabId').val(divid); } //$(".searchnav1 a").click(function () { // var $this = $(this); // var index = $this.index(); // var tabH1 = $("#yuding2_con .yuding2_tab").eq(index).height(); // $("#yuding2_con").height(tabH1); // $this.addClass('now').stop().siblings().removeClass('now'); // $("#yuding2_con .yuding2_tab").eq(index).show().siblings().hide(); //}); function defaultSelTab(tabid) { var selTabId = $('#hidSelectedTabId').val(); var havaTab = $('#CharterTab' + selTabId).attr("id"); if (selTabId != "0" && havaTab != undefined) { $('#CharterTab' + selTabId).click(); } else { $('#CharterTab' + tabid).click(); } var selSeatId = $('#hidSelectedSeatId').val(); var havaSeat = $('#btnSeats' + selSeatId).attr("id"); if (selSeatId != "0" && havaSeat != undefined) { $('#btnSeats' + selSeatId).click(); } } //预定 function bookingCruise(id) { var ret = true; if (!canBooking) { return false; } else { if ($('.queren_selected').length == 0) { ret = false; if (id == "btnBooking") { $("html,body").animate({ scrollTop: $(".yuding1").offset().top - 85 }, 1000); } } else if (personError) { ret = false; if (id == "btnBooking") { alert("出行人信息不正确,请修正!"); $("html,body").animate({ scrollTop: $(".yuding1").offset().top - 85 }, 1000); } } } if (!ret) { return false; } $("#btnBooking2").hide(); $("#btnBooking").hide(); $("#imgwaiting").show(); $("#imgwaiting2").show(); var productid = $("#hidProductID").val(); var groupid = $('#hidGroupID').val(); var cabinid = $('#hidCabinID').val(); var adult = parseInt($('#hidAdultCount').val()); var child = parseInt($('#hidChildCount').val()); var room = parseInt($('#hidRoomCount').val()); var date = $("#hidDepartDete").val(); var price = $("#hidSumPrice").val(); //神策监测代码 - 点击_产品详情页 sensor.track('ProductDetaiPageClick', { start_city: $("#hidDepartCityText").val(), destination_city: $("#hidDestinationCityText").val(), click_content: '立即预订', product_id: parseInt($("#hidProductID").val()), product_name: $("#hidProductName").val(), product_type: "邮轮" }); montageXML(cabinid, productid, groupid, adult, child, room, date, price); bookCruise(); } function montageXML(cabinid, productid, groupid, adult, child, room, date, price) { var xml = ""; xml += "" + productid + ""; xml += "" + groupid + ""; xml += "" + cabinid + ""; xml += "" + date + ""; xml += "" + room + ""; xml += "" + adult + ""; xml += "" + child + ""; xml += "" + price + ""; if (_fromCRM_UserId != undefined && _fromCRM_UserId != "") { xml += "" + _fromCRM_UserId + ""; } if (_fromCRM_DeptCode != undefined && _fromCRM_DeptCode != "") { xml += "" + _fromCRM_DeptCode + ""; } if (_fromCRM_MemberID != undefined && _fromCRM_MemberID != "") { xml += "" + _fromCRM_MemberID + ""; } xml += ""; document.getElementById("bookinginfo").value = escape(xml); } ////////轮播图Begin/////////////// var scroll_Size = 69; //一个小图片占用的高度(不是本身高度是全部高度) var scroll_SizeX = 125; //调整横向宽度 var scroll_PageSize = 4; //显示的小图片格个数 var scroll_Time = 17; //一次滑动速度(毫秒) var scroll_Distance = 0.2; //一次滑动距离() var scroll_CycleID; //(内部使用,不要动) var scroll_CycleIDX; //(内部使用,不要动) var scroll_EndLocation; //(内部使用,不要动) var scroll_EndLocationX; //(内部使用,不要动) var scroll_CurrentLocation = 0; //(内部使用,不要动) var scroll_CurrentLocationX = 0; //(内部使用,不要动) var scroll_ElementId; //(内部使用,不要动) var scroll_ElementIdX; //(内部使用,不要动) var select_CurrentLocation = 0; var select_EndLocation; ///////////////////竖向滚动 function scroll_Filter(li) { var myArray = new Array(); var index = 0; for (i = 0; i < li.length; i++) { if (li[i].nodeType == 1) { myArray[index] = li[i]; index++; } } return myArray; } function select_scroll(elementId, ContentId) { scroll_ElementId = elementId; select_EndLocation = Math.ceil(select_CurrentLocation + 1); var lis = document.getElementById(elementId); var li = lis.childNodes; var myArray = scroll_Filter(li); if (myArray.length > 0) { if (select_EndLocation >= myArray.length) { scroll_GotoStartX(elementId); SelTag(elementId, ContentId, ContentId + 0, 0); select_CurrentLocation = 0; } else if (select_EndLocation >= scroll_PageSize) { scroll_right(elementId, ContentId); SelTag(elementId, ContentId, ContentId + select_EndLocation, select_EndLocation); select_CurrentLocation++; } else { SelTag(elementId, ContentId, ContentId + select_EndLocation, select_EndLocation); select_CurrentLocation++; } } } //右按钮 function scroll_right(elementId, ContentId) { scroll_ElementIdX = elementId; scroll_EndLocationX = Math.ceil(scroll_CurrentLocationX + 1); var lis = document.getElementById(elementId); var li = lis.childNodes; var myArray = scroll_Filter(li); if (myArray.length > 0) { if (scroll_EndLocationX >= myArray.length) { scroll_GotoStartX(elementId); SelTag(elementId, ContentId, ContentId + 0, 0); return; } else { SelTag(elementId, ContentId, ContentId + scroll_EndLocationX, scroll_EndLocationX); } self.clearInterval(scroll_CycleIDX); scroll_CycleIDX = self.setInterval("scroll_AddX(scroll_Distance,scroll_ElementIdX)", scroll_Time); } } //左按钮 function scroll_left(elementId, ContentId) { scroll_ElementIdX = elementId; scroll_EndLocationX = Math.floor(scroll_CurrentLocationX - 1); var lis = document.getElementById(elementId); var li = lis.childNodes; var myArray = scroll_Filter(li); if (myArray.length > 0) { if (scroll_EndLocationX <= -1) { scroll_GotoEndX(elementId); SelTag(elementId, ContentId, ContentId + (myArray.length - 1), myArray.length - 1); return; } else { SelTag(elementId, ContentId, ContentId + scroll_EndLocationX, scroll_EndLocationX); } self.clearInterval(scroll_CycleIDX); scroll_CycleIDX = self.setInterval("scroll_AddX(-scroll_Distance,scroll_ElementIdX)", scroll_Time); } } function SelTag(Id, ContentId, showContent, show) { var tag = document.getElementById(Id).getElementsByTagName("li"); var taglength = tag.length; for (i = 0; i < taglength; i++) { tag[i].className = ""; } tag[show].className = "on"; for (i = 0; j = document.getElementById(ContentId + i) ; i++) { j.style.display = "none"; } document.getElementById(showContent).style.display = "block"; } function scroll_GotoStartX(elementId) { var lis = document.getElementById(elementId); var li = lis.childNodes; var myArray = scroll_Filter(li); scroll_CurrentLocationX = 0; lis.style.left = 0; return; } function scroll_GotoEndX(elementId) { var lis = document.getElementById(elementId); var li = lis.childNodes; var myArray = scroll_Filter(li); //if (myArray.length > 1) { scroll_CurrentLocationX = myArray.length - 1; lis.style.left = -(myArray.length - 1) * scroll_SizeX + "px"; //} // else { // scroll_CurrentLocation = 0; // } return; } ///////////////横向滚动 function scroll_AddX(quantity, elementId) { var lis = document.getElementById(elementId); var li = lis.childNodes; var myArray = scroll_Filter(li); lis.style.left = -(scroll_CurrentLocationX + quantity) * scroll_SizeX + "px"; scroll_CurrentLocationX = scroll_CurrentLocationX + quantity; if (quantity > 0) { if (scroll_EndLocationX < scroll_CurrentLocationX) { scroll_CurrentLocationX = scroll_EndLocationX; lis.style.left = -scroll_EndLocationX * scroll_SizeX + "px"; self.clearInterval(scroll_CycleIDX); } } else { if (scroll_EndLocationX > scroll_CurrentLocationX) { scroll_CurrentLocationX = scroll_EndLocationX; lis.style.left = -scroll_EndLocationX * scroll_SizeX + "px"; self.clearInterval(scroll_CycleIDX); } } } function hotelTag(Id, ContentId, showContent, selfObj) { } //处理ie8图片问题 jQuery("#Hotel li").click(function () { jQuery("#Hotel li").removeClass("on"); jQuery(this).addClass("on"); $(".list_box").children("div").hide(); $(".list_box").children("div:eq(" + $("#Hotel li").index($(this)[0]) + ")").show(); }); ////////////////轮播图End/////////////////////////////////// $(document).ready(function () { setInterval("picauto();", 5000) }); function picauto() { select_scroll("Hotel", "hotelContent"); } ///////////////价格日历////////////////////////////////// $(document).ready(function () { var num = 8; var current = 0; var myarray = $("#jgrl_slide a"); function clicks() { /*给对应的元素以显示*/ for (var i = 0; i < myarray.length; i++) { if ((i >= current) && (i < current + num)) { myarray[i].style.display = "inline-block"; }; }; /*控制左边的元素状态*/ if (current == 0) { $("#jgrl_left").addClass("btn_left_disable"); } else { $("#jgrl_left").removeClass("btn_left_disable"); } /*控制右边的元素状态*/ if ((current + num) == myarray.length) { $("#jgrl_right").addClass("btn_right_disable"); } else { $("#jgrl_right").removeClass("btn_right_disable"); } } clicks(); /*左边的元素点击*/ $("#jgrl_left").click(function () { if (current > 0) { current = current - 1; clicks(); myarray[current + num].style.display = "none"; } }); /*右边的元素点击*/ $("#jgrl_right").click(function () { if (current < (myarray.length - num)) { current = current + 1; clicks(); myarray[current - 1].style.display = "none"; } }); }) ///////////////价格日历End////////////////////////////////// //////////////其他样式///////////////////////////////// $(document).ready(function () { $(".nav_a").click(function () { var href = $(this).attr("href"); var pos = $(href).offset().top; $("html,body").animate({ scrollTop: pos }, 1000); return false; }); $("#des_xiangqing_youhui").hover( function () { $("#youhuitip").removeClass("hidden"); }, function () { $("#youhuitip").addClass("hidden"); } ); $(".nav_li").hover( function () { $(this).parents(".sf-menu").find(".nav_li").removeClass("now"); $(this).addClass("now"); }); $(".des_online .des_a").mouseover(function () { $(this).next(".tip").css("display", "block"); }) $(".des_online .des_a").mouseout(function () { $(this).next(".tip").css("display", "none"); }); $(".jiage .mingxi").mouseover(function () { $(this).parents(".each").css("position", "relative"); $(this).parents(".each").find(".tip").css("display", "block"); }); $(".jiage .mingxi").mouseout(function () { $(this).parents(".each").css("position", "inherit"); $(this).parents(".each").find(".tip").css("display", "none"); }); $(".yuding_date").hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); }); $(".inner_date").click( function () { $(this).parents(".tc").find(".yuding_date").removeClass("clicks"); $(this).parents(".yuding_date").addClass("clicks"); }); $(".booking .list").last().addClass("noborder"); $(".pop_yuding").width($(document).width()); $(".pop_yuding").height($(document).height()); $(".pop_yuding").find("iframe").width($(document).width()); $(".pop_yuding").find("iframe").height($(document).height()); $(".close_a").click(function () { $(".pop_yuding").addClass("hidden"); $(".popup_hxt").addClass("hidden"); }); $(".hxt_a").click(function () { $(".pop_yuding").removeClass("hidden"); $(".popup_hxt").removeClass("hidden"); }); $(".yuding2 .yuding_select").change(function () { $(".yuding_save").removeClass("hidden"); }); $(".yuding_save").click(function () { $(this).addClass("hidden"); $(".yuding_save_span").addClass("hidden"); }); $(".login_close").click(function () { $(this).parents(".inner_pop").addClass("hidden"); }); $(".comment_a").click(function () { $(this).parents(".mt").find(".inner_pop").removeClass("hidden"); ChangeCheckCode(); }); $(".pop_yuding").click(function () { $(".popup_hxt").addClass("hidden"); $(".pop_yuding").addClass("hidden"); }); $(".days_cont_img .imgs:last-child").addClass("mymargin"); }); ///////////////////////其他样式End//////////////////////////////// function tored() { $(".hidden .yuding_save").css("border-color", "#FE4209"); $(".hidden .yuding_save").css("box-shadow", "0 0 3px 1px rgba(255, 58, 0, 0.8)"); } function towhite() { $(".hidden .yuding_save").css("border-color", "#b0b0b0"); $(".hidden .yuding_save").css("box-shadow", "none"); } //优惠异步 $(document).ready(function () { var productId = $('#des_xiangqing_youhui').attr('data-productId'); $.get("/domesticgroup/PreferentialAsy.ashx", { pId: productId }, function (data) { try { var firstStr = data.substring(0, 1); if (firstStr == '1') { $('#des_xiangqing_youhui').html(data.substr(1)); } else { $('#des_xiangqing_youhui').remove(); } } catch (e) { $('#des_xiangqing_youhui').remove(); } }); }) //营销Criteo产品页代码 $(document).ready(function () { window.criteo_q = window.criteo_q || []; window.criteo_q.push( { event: "setAccount", account: 17292 }, //{ event: "setHashedEmail", email: "#MD5-hashed email address#" }, { event: "setSiteType", type: "d" }, { event: "viewItem", item: $('#hidProductID').val(), nbra: "0", nbrc: "0" } //{ event: "viewSearch", checkin_date: "#YYYY-MM-DD#", checkout_date: "#YYYY-MM-DD#" } ); }); //选中舱位 $('.xuanze').live("click", function () { var $this = $(this); //点击后选择 if ($(this).find("a").hasClass("disNone")) { if ($this.attr("pr") == "true") { $this.parents('tr').find(".xuanze_tk").html($this.attr("prs")); setTimeout(function () { $this.parents('tr').find(".xuanze_tk").html(""); }, 5000); return false; } //var sumPrice = _getPrice2($this) || 0; //if (sumPrice <= 0) { return false; } $this.parents(".yuding2_tab").find('.xuanze a').addClass("disNone").removeClass("sel"); $('.xuanze_tk').html("");//去掉所有错误提示 $('.delbtn').click();//删除其他所有选中确认预订信息 $this.find("a").removeClass("disNone").addClass("sel");//移除a标签其他选中样式 $this.parents(".yuding2_tab").find('.selected').removeClass("selected");//移除行其他选中样式 $this.parents("tr").addClass("selected");//当前行添加选择样式 $('#btnBooking2').removeClass("defbtn").addClass('btn');//预订按钮可用 _addQueren($this); $.each($('.ydnum'), function () { var $xuanz_on = $(this).parents('tr').find('.xuanze_on'); var val = $(this).val(); var minval = $(this).prev(".anBtn").attr("minperson"); if (!$xuanz_on.hasClass("sel")) { var datatype = $(this).parents("td").attr("data-type"); if (datatype == "AdultNum" && val != minval) { $(this).val(minval); _setPersonNum($(this)); } else if (datatype == "ChildNum" && val != "0") { $(this).val("0"); _setPersonNum($(this)); } $(this).parents("tr").find(".roomcount").html("1间"); $xuanz_on.parents('.xuanze').attr("pr", "false").attr("prs", ""); } }); _setPersonNum($this); } else {//点击后删除 $this.find("a").addClass("disNone").removeClass("sel"); $this.parents("tr").removeClass("selected"); var seatID = $this.attr("data").split("_")[7]; if ($('#queren_selected_' + seatID)) { $('#queren_selected_' + seatID + " .delbtn").click(); } } }); //添加确认预订信息 function _addQueren(event) { var roomCount = _getRoomCount(event) || 0; var sumPrice = _getPrice2(event) || 0; if (sumPrice <= 0) { return false; } var seatId = event.attr("data").split('_')[7]; var adultNum = event.parents("tr").find(":text").eq(0).val(); var childNum = event.parents("tr").find(":text").eq(1).val(); $(".queren_dingdan").removeClass("hidden"); if ($('#divMustServiece .each').length > 0) { $(".queren_dingdan").addClass("queren_dingdan_border"); } var querenHtml = "
" + "
" + event.parents("tr").find("p.name").html() + "
" + "
入住" + adultNum + "成人," + childNum + "儿童
" + "
房间数" + roomCount + "间
" + "¥" + sumPrice + "" + "删除" + "
"; $('.queren_dingdan .tc').html(""); $('.queren_dingdan .tc').html(querenHtml); var servicePrice = 0; if ($('#hidServicePrice').val()) { servicePrice = parseInt($('#hidServicePrice').val()) || 0; } $('#spanSum').text("¥" + (parseInt(sumPrice) + servicePrice)); event.parents("tr").find(".roomcount").html(roomCount + "间"); //赋值预定 $('#hidCabinID').val(seatId); $('#hidSumPrice').val(sumPrice); $('#hidRoomCount').val(roomCount); $('#hidSelectedSeatId').val(seatId); $('#hidAdultCount').val(adultNum); $('#hidChildCount').val(childNum); } //删除确认信息 $('.delbtn').live("click", function () { var id = $(this).attr("delId"); $('#xuanz_a_' + id).addClass("disNone").removeClass("sel"); $("#queren_selected_" + id).remove(); //默认值设置 personError = false; var $targettr = $('#xuanz_a_' + id).parents("tr"); $targettr.removeClass("selected"); $targettr.find(".ydnum").eq(0).val($targettr.find(".anBtn").eq(0).attr("minperson")); $targettr.find(".ydnum").eq(1).val(0); $targettr.find('.roomcount').html("1间"); $targettr.find(".xuanze_tk").html(""); $targettr.find(".xuanze").attr("pr", false); $targettr.find(".xuanze").attr("prs", ""); _setPersonNum($targettr.find(".ydnum").eq(0)); //附加产品价格计算 var $addProduct = $('#hidServicePrice'); var addProductVal = parseInt($addProduct.val() || "0"); var servicePrice = 0; if ($addProduct.length > 0 && addProductVal > 0) { $('#hidServicePrice').val(addProductPrice); $('#divMustServiece .fenshu').html("份数/1"); $('#divMustServiece .zongjia b').html("¥" + addProductPrice); servicePrice = parseInt($('#hidServicePrice').val()) || 0; } //计算总价 $('#spanSum').text("¥" + (servicePrice)); if ($('.queren_selected').length == 0) { $(".queren_dingdan").addClass("hidden"); $('#hidSumPrice').val(0); $('#hidRoomCount').val(0); $('#hidSelectedSeatId').val(0); $('#hidAdultCount').val(0); $('#hidChildCount').val(0); $('#btnBooking2').removeClass("btn").addClass('defbtn'); } }); //减人数 $(".jianBtn").live("click", function () { $(this).next(":text").val(parseInt($(this).next(":text").val()) - 1); _setPersonNum($(this)); }); //加人数 $(".jiaBtn").live("click", function () { $(this).prev(":text").val(parseInt($(this).prev(":text").val()) + 1); _setPersonNum($(this)); }); //文本框修改人数 $('.ydnum').live("change", function () { var num = parseInt($(this).val()); var dataType = $(this).parents("td").attr("data-type"); if (isNaN(num)) { if (dataType == "AdultNum") { $(this).val($(this).parents("tr").find(".anBtn").eq(0).attr("minperson")); } else { $(this).val("0"); } } $(this).val(num); _setPersonNum($(this)); }); //修改人数 function _setPersonNum(event) { event.parents('tr').find(".xuanze_tk").html(""); event.parents("tr").find(".xuanze").attr("pr", false); event.parents("tr").find(".xuanze").attr("prs", ""); var dataType = event.parents("td").attr("data-type"); var $adultText = event.parents("tr").find(".ydnum").eq(0); var $childText = event.parents("tr").find(".ydnum").eq(1); var adultNum = parseInt($adultText.val()) || 0;//成人数 var childNum = parseInt($childText.val()) || 0;//儿童数 var $adultJiaBtn = event.parents("tr").find(".anBtn").eq(1);//成人 + 按钮 var $adultJianBtn = event.parents("tr").find(".anBtn").eq(0);//成人 - 按钮 var $childJiaBtn = event.parents("tr").find(".anBtn").eq(3);//儿童 + 按钮 var $childJianBtn = event.parents("tr").find(".anBtn").eq(2);//儿童 - 按钮 var $xuanze = event.parents("tr").find('.xuanze'); var querenData = $xuanze.attr("data").split('_'); var maxPerson = parseInt(querenData[5]); var minPerson = parseInt(querenData[6]); var spareStocks = parseInt(querenData[4]);//剩余库存 var seatID = parseInt(querenData[7]); var allPerson = maxPerson * spareStocks;//剩余库存可入住人数 var roomCount = _getRoomCount($xuanze); //儿童-按钮设置 if (childNum <= 0) { $childJianBtn.removeClass("jianBtn").addClass("defBtn");//儿童- No $childText.val(0); } else if ($childJianBtn.hasClass("defBtn")) { $childJianBtn.removeClass("defBtn").addClass("jianBtn");//儿童 -Yes } //成人-按钮设置 if (adultNum <= 1) { $adultJianBtn.removeClass("jianBtn").addClass("defBtn");//成人- No $adultText.val(1); } else if ($adultJianBtn.hasClass("defBtn")) { $adultJianBtn.removeClass("defBtn").addClass("jianBtn");//成人 -Yes } adultNum = parseInt($adultText.val()) || 0;//成人数 childNum = parseInt($childText.val()) || 0;//儿童数 //儿童单独入住 if (roomCount > adultNum) { //$childText.val(adultNum * (maxPerson - 1)); //event.parents('tr').find(".xuanze_tk").html("此房间" + adultNum + "位成人最多可带" + (adultNum * (maxPerson - 1)) + "名儿童入住"); //setTimeout(function () { event.parents('tr').find(".xuanze_tk").html(""); }, 5000); event.parents("tr").find(".xuanze").attr("pr", true); event.parents("tr").find(".xuanze").attr("prs", "此房间" + adultNum + "位成人最多可带" + (adultNum * (maxPerson - 1)) + "名儿童入住"); $childJiaBtn.removeClass("jiaBtn").addClass("defBtn");//儿童+ No } else if (spareStocks > 0 && allPerson - adultNum - childNum <= 0) {//人数大于库存 if (allPerson - adultNum - childNum < 0) { event.parents("tr").find(".xuanze").attr("pr", true); event.parents("tr").find(".xuanze").attr("prs", "所选人数已超出房间库存"); } $adultJiaBtn.removeClass("jiaBtn").addClass("defBtn");//成人 + No $childJiaBtn.removeClass("jiaBtn").addClass("defBtn");//儿童 + No } else { if (roomCount * (maxPerson - 1) <= childNum) { $childJiaBtn.removeClass("jiaBtn").addClass("defBtn");//儿童+ No } else if ($childJiaBtn.hasClass("defBtn")) { $childJiaBtn.removeClass("defBtn").addClass("jiaBtn");//儿童+ Yes } //成人数,+ 按钮可用 if ($adultJiaBtn.hasClass("defBtn")) { $adultJiaBtn.removeClass("defBtn").addClass("jiaBtn");//成人 + Yes } if (adultNum + childNum < minPerson) { //event.parents('tr').find(".xuanze_tk").html("还需" + parseInt(minPerson - (adultNum + childNum)) + "人才能入住此房间"); event.parents("tr").find(".xuanze").attr("pr", true); event.parents("tr").find(".xuanze").attr("prs", "还需" + parseInt(minPerson - (adultNum + childNum)) + "人才能入住此房间"); } else if ((adultNum + childNum) % minPerson > 0) { //event.parents('tr').find(".xuanze_tk").html("还需" + parseInt(minPerson - ((adultNum + childNum) % minPerson)) + "人才能入住此房间"); event.parents("tr").find(".xuanze").attr("pr", true); event.parents("tr").find(".xuanze").attr("prs", "还需" + parseInt(minPerson - ((adultNum + childNum) % minPerson)) + "人才能入住此房间"); } } $xuanze.parents("tr").find(".roomcount").html(roomCount + "间"); if ($xuanze.find(".xuanze_on").hasClass("sel")) { var roomCount = _getRoomCount($xuanze); var price = _getPrice2($xuanze); if (price == 0 && $xuanze.attr("pr") == "false") { event.parents("tr").find(".xuanze").attr("pr", true); event.parents("tr").find(".xuanze").attr("prs", "当前选择人数无法预订此房间"); } if ($xuanze.attr("pr") == "false" && price > 0) { if ($('#queren_selected_' + seatID).length > 0) { $('#queren_selected_' + seatID).find('.fangshu').html(roomCount + "间"); $('#queren_selected_' + seatID).find('.zongjia').html("¥" + price); $('#queren_selected_' + seatID).find('.renshu').html("入住" + adultNum + "成人," + childNum + "儿童"); } //附加产品价格计算 var $addProduct = $('#hidServicePrice'); var addProductVal = parseInt($addProduct.val() || "0"); var servicePrice = 0; if ($addProduct.length > 0 && addProductVal > 0) { $('#hidServicePrice').val(addProductPrice * (adultNum + childNum)); $('#divMustServiece .fenshu').html("份数/" + (adultNum + childNum)); $('#divMustServiece .zongjia b').html("¥" + addProductPrice * (adultNum + childNum)); servicePrice = parseInt($('#hidServicePrice').val()) || 0; } //总结计算 $('#spanSum').text("¥" + (parseInt(price) + servicePrice)); $('#hidAdultCount').val(adultNum); $('#hidChildCount').val(childNum); $('#hidSumPrice').val(price); $('#hidRoomCount').val(roomCount); $('#btnBooking2').removeClass("defbtn").addClass('btn'); personError = false; } else { personError = true; event.parents('tr').find(".xuanze_tk").html(event.parents("tr").find(".xuanze").attr("prs")); $('#btnBooking2').removeClass("btn").addClass('defbtn'); } } } //计算房间数 function _getRoomCount(event) { var roomCount = 1; var adultNum = parseInt(event.parents("tr").find(":text").eq(0).val()) || 0; var childNum = parseInt(event.parents("tr").find(":text").eq(1).val()) || 0; var allPerson = adultNum + childNum; var querenData = event.attr("data").split('_'); var MaxPerson = parseInt(querenData[5]); if (allPerson > 1)//单人出行 { roomCount = MaxPerson > 0 ? Math.ceil(allPerson / MaxPerson) : 1;//房间总数 } return roomCount; } //满足入住,最优价格计算方式 function _getPrice2(event) { var roomCount = 0; var Price = 0; var adultNum = parseInt(event.parents("tr").find(":text").eq(0).val()) || 0; var childNum = parseInt(event.parents("tr").find(":text").eq(1).val()) || 0; var allPerson = adultNum + childNum; var querenData = event.attr("data").split('_'); var OnePrice = parseInt(querenData[0]) || 0; var TwoPrice = parseInt(querenData[1]); var FourAdultPrice = parseInt(querenData[2]); var FourChildPrice = parseInt(querenData[3]); var SpareStocks = parseInt(querenData[4]); var MaxPerson = parseInt(querenData[5]); var MinPerson = parseInt(querenData[6]); if (allPerson == 1 || MaxPerson == 1)//单人出行 { if (MinPerson == 1) { roomCount = MaxPerson > 0 ? Math.ceil(allPerson / MaxPerson) : 1;//房间总数 Price = OnePrice * roomCount; } } else {//多人出行 roomCount = MaxPerson > 0 ? Math.ceil(allPerson / MaxPerson) : 1;//房间总数 var remainChild = childNum;//剩余儿童 var remainAdult = adultNum;//剩余成人 var remainAllPerson = allPerson;//剩余总人数 if (MaxPerson == 2)//双人间算法 { if (MinPerson <= 2) { if (adultNum >= childNum) { if (allPerson % 2 == 0) { Price = (TwoPrice * 2) * roomCount; } else { Price = (TwoPrice * 2) * (roomCount - 1) + OnePrice; } } } } else { //多人间循环房间 for (var r = 1; r <= roomCount; r++)//循环房间总数 { var liveAdult = 0;//已经入住成人 var liveChild = 0;//已经入住儿童 //只有儿童,跳出循环 if (remainAdult <= 0 || (remainAdult + remainChild) < MinPerson) { Price = 0; break; } else if (remainAdult > 0 && remainChild > 0)//有儿童有成人 { // 包船多人出行有儿童OK var threeFourPerson = (remainAllPerson > MaxPerson) ? MaxPerson - 2 : remainAllPerson - 2;//第三四人数 if (threeFourPerson == 0)//如果没有第三四人,直接用第一二人价格 { if (TwoPrice > 0) { Price += TwoPrice * 2; liveAdult = 1; liveChild = 1; } } else { if (adultNum >= 2 * roomCount)//儿童用34儿童价格就可以入住 { if (remainChild >= threeFourPerson) { if (FourChildPrice > 0) { Price += TwoPrice * 2 + FourChildPrice * threeFourPerson; } else { Price += TwoPrice * 2 + FourAdultPrice * threeFourPerson; } liveAdult = 2; liveChild = threeFourPerson; } else { if (FourChildPrice > 0 && FourAdultPrice > 0) { Price += TwoPrice * 2 + FourChildPrice * remainChild + FourAdultPrice * (threeFourPerson - remainChild); liveAdult = 2 + (threeFourPerson - remainChild); liveChild = remainChild; } } } else { if (remainChild >= threeFourPerson) { Price += TwoPrice * 2 + FourChildPrice * threeFourPerson; if (remainChild > threeFourPerson) { liveAdult = 1; liveChild = 1 + threeFourPerson; } else { liveAdult = 2; liveChild = threeFourPerson; } } else { Price += TwoPrice * 2 + FourChildPrice * remainChild + FourAdultPrice * (threeFourPerson - remainChild); liveAdult = 2 + (threeFourPerson - remainChild); liveChild = remainChild; } } } } else//只剩下大人 { // 多人出行只有大人OK if (remainAdult == 1) { Price += OnePrice; liveAdult = 1; liveChild = 0; } else { if (FourAdultPrice > 0) { var threeFourPerson = (remainAllPerson > MaxPerson) ? MaxPerson - 2 : remainAllPerson - 2; Price += TwoPrice * 2 + FourAdultPrice * threeFourPerson; liveAdult = 2 + threeFourPerson; liveChild = 0; } } } remainAdult = remainAdult - liveAdult; remainChild = remainChild - liveChild; remainAllPerson = remainAdult + remainChild; } } } return parseInt(Price); } function AoyouBrowseHistory(key) { this.limit = 10; // 最多10条记录 this.key = key || 'aoyou_browse_history'; // 键值 this.jsonData = null; // 数据缓存 this.cacheTime = 24; // 24 小时 this.path = '/'; // cookie path } AoyouBrowseHistory.prototype = { constructor: History, setCookie: function (name, value, expiresHours, options) { options = options || {}; var cookieString = name + '=' + encodeURIComponent(value); //判断是否设置过期时间 if (undefined != expiresHours) { var date = new Date(); date.setTime(date.getTime() + expiresHours * 3600 * 1000); cookieString = cookieString + '; expires=' + date.toUTCString(); } var other = [ options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : '' ].join(''); document.cookie = cookieString + other; }, getCookie: function (name) { // cookie 的格式是个个用分号空格分隔 var arrCookie = document.cookie ? document.cookie.split('; ') : []; var cookieVal = ''; var tmpArr = ''; for (var i = 0; i < arrCookie.length; i++) { tmpArr = arrCookie[i].split('='); tmpArr[0] = tmpArr[0].replace(' ', ''); // 去掉空格 if (tmpArr[0] == name) { cookieVal = decodeURIComponent(tmpArr[1]); break; } } return cookieVal.toString(); }, deleteCookie: function (name) { this.setCookie(name, '', -1, { "path": this.path }); }, initRow: function (picUrl, productUrl, productName, price) { return '{"picUrl":"' + picUrl + '", "productUrl":"' + productUrl + '", "productName":"' + productName + '", "price":"' + price + '"}'; }, parseToJson: function (jsonStr) { var json = []; try { json = JSON.parse(jsonStr); } catch (e) { json = eval(jsonStr); } return json; }, add: function (picUrl, productUrl, productName, price) { picUrl = picUrl.split("?")[0]; var jsonStr = this.getCookie(this.key); if ("" != jsonStr) { this.jsonData = this.parseToJson(jsonStr); var beHave = true; // 排重 for (var x = 0; x < this.jsonData.length; x++) { if (productUrl == this.jsonData[x]['productUrl']) { beHave = false; } } if (beHave) { // 重新赋值 组装 json 字符串 jsonStr = '[' + this.initRow(picUrl, productUrl, productName, price) + ','; for (var i = 0; i < this.limit - 1; i++) { if (undefined != this.jsonData[i]) { jsonStr += this.initRow(this.jsonData[i]['picUrl'], this.jsonData[i]['productUrl'], this.jsonData[i]['productName'], this.jsonData[i]["price"]) + ','; } else { break; } } jsonStr = jsonStr.substring(0, jsonStr.lastIndexOf(',')); jsonStr += ']'; } } else { jsonStr = '[' + this.initRow(picUrl, productUrl, productName, price) + ']'; } this.jsonData = this.parseToJson(jsonStr); this.setCookie(this.key, jsonStr, this.cacheTime, { "path": this.path, "domain": ".aoyou.com" }); }, getList: function () { // 有缓存直接返回 if (null != this.jsonData) { return this.jsonData; // Array } // 没有缓存从 cookie 取 var jsonStr = this.getCookie(this.key); if ("" != jsonStr) { this.jsonData = this.parseToJson(jsonStr); } return this.jsonData; }, clearHistory: function () { this.deleteCookie(this.key); this.jsonData = null; } };