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;
}
};