var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
var sel_room_id_global;
var sel_room_type;
var localCache = {
data: {},
remove: function (url) {
delete localCache.data[url];
},
exist: function (url) {
return localCache.data.hasOwnProperty(url) && localCache.data[url] !== null;
},
get: function (url) {
return localCache.data[url];
},
set: function (option,id,url, cachedData, callback) {
localCache.remove(url);
localCache.data[url] = cachedData;
if ($.isFunction(callback)) callback(option,id,cachedData);
}
};
function get_hotel_details_ajax(hdnInDate,hdnOutDate)
{
var check_in_date=$('#datepickercheckin').val();
var check_out_date=$('#datepickercheckout').val();
var in_dates=check_in_date.split("/");
var out_dates=check_out_date.split("/");
var checkin_date=in_dates[2]+'-'+in_dates[1]+'-'+in_dates[0];
var checkout_date=out_dates[2]+'-'+out_dates[1]+'-'+out_dates[0];
var checkin_date_month_number=parseInt(in_dates[1])-1;
var checkout_date_month_number=parseInt(out_dates[1])-1;
var date_string=in_dates[0]+' '+monthNames[checkin_date_month_number]+' - '+out_dates[0]+' '+monthNames[checkout_date_month_number];
if(check_in_date!=hdnInDate || check_out_date!=hdnOutDate)
{
$.ajax({
url: 'ajax.php',
data: {action: 'gethoteldetailsopera',checkin_date:checkin_date,checkout_date:checkout_date},
type: 'post',
beforeSend: function(){
$('#hotel_listing_ajax_div').css('opacity',0.2);
$('#loaderDiv').show();
},
success: function(output) {
//replace new result with old hotel list
$('#selected_dates').html(date_string);
$('#change_booking_dates').hide();
$('#selected_booking_dates').show();
$('#loaderDiv').hide();
$('#hotel_listing_ajax_div').html(output);
bindJcarouselSlider();
// $('#loadingDiv').hide();
$('#booking_new_dates').attr("onclick","get_hotel_details_ajax('"+check_in_date+"','"+check_out_date+"')");
$('#hotel_listing_ajax_div').css('opacity',1);
},
error:function()
{
$('#change_booking_dates').show();
$('#selected_booking_dates').hide();
}
});
}
else
{
$('#selected_dates').html(date_string);
$('#change_booking_dates').hide();
$('#selected_booking_dates').show();
}
}
function hide_booking_date_div()
{
$('#change_booking_dates').hide();
$('#selected_booking_dates').show();
}
function change_booking_dates()
{
$('#change_booking_dates').show();
$('#selected_booking_dates').hide();
}
function call_toggle_description(hotel_id)
{
$( ".toggle-hotel-description-"+hotel_id ).toggle();
}
function call_toggle_description_room_content(hotel_id, rate_rule_id, room_type_id)
{
$(".toggle-room-description-"+hotel_id+"_"+rate_rule_id).toggle();
//$(".toggle-room-description-"+hotel_id+"_"+rate_rule_id).toggle();
}
function get_room_list_of_this_rate_rule(e,t,n,r,i,s,o)
{
if(!$(".rate_rule_"+r+"_"+i).hasClass("active"))
{
//var u=$("#datepickercheckin").val();
//var a=$("#datepickercheckout").val();
var u = $("#check_in_date").val();
var a = $("#check_out_date").val();
var promo_code = $("#promotion_code_change").val();
var f=u.split("/");
var l=a.split("/");
var c=f[2]+"-"+f[1]+"-"+f[0];
var h=l[2]+"-"+l[1]+"-"+l[0];
$.ajax({
url:"ajax.php",
data:{action:"get_room_details_rate_rule_wise",checkin_date:c,checkout_date:h,hotel_pms_code:t,pms_rate_rule_id:n,rate_rule_id:r,rate_rule_type:i,hotel_id:s,promo_code:promo_code},
type:"post",
beforeSend:function(){
$("#room_list_ajax_div").css("opacity",.2);
$("#loaderDiv").show();
$("#all_rate_rule_block li.active").removeClass("active");
$(".rate_rule_"+r+"_"+i).addClass("active");
if(o!="-1"){var e=o+1;
var t=$("#all_rate_rule_block li.active").index();
$("#jcarousel_all_rate_rule_block").jcarousel("scroll",t)}
},
success:function(e){
$("#loaderDiv").hide();
$("#room_list_ajax_div").replaceWith(e);
$("#room_list_ajax_div").css("opacity",1);
$("#check_in_date").val(u);
$("#check_out_date").val(a);
bindJcarouselSlider()
},
error:function(){}
})
}
}
function show_room_for_selection(show_room_div)
{
//$('.room_'+show_room_div).show();
$('.room_'+show_room_div).slideDown("slow");
}
function modifyCookie() {
var room_detail_obj1 = unescape(readCookie("room_detail_info"));
if(room_detail_obj1 != 'null' && room_detail_obj1 != null)
{
var obj = $.parseJSON(room_detail_obj1);
if($('#CheckboxAmendRoom').length > 0)
{
var sel_room_id = $('#CheckboxAmendRoom').val();
if($("#CheckboxAmendRoom").is(':checked')) {} else {
delete obj['room_unique_id_'+sel_room_id];
modify_this_room_in_cookie(sel_room_id, 0, 0);
update_tooltip_content();
}
}
}
}
var selectRoomFromSelectbox = function(room_select, max_adults){
var no_of_rooms = room_select.value;
var unique_id = room_select.id;
unique_id = unique_id.replace('room_select_', '');
if(no_of_rooms>0) {
select_this_room(unique_id);
create_room_vs_adult_section(room_select,max_adults);
$("#continue-btn"+unique_id).addClass("btntoggle");
}
else{
unselect_this_room(unique_id);
create_room_vs_adult_section(room_select,max_adults);
$("#continue-btn"+unique_id).removeClass("btntoggle");
}
}
function create_room_vs_adult_section(room_select,max_adults)
{
var no_of_rooms = room_select.value;
var unique_id = room_select.id;
unique_id = unique_id.replace('room_select_', '');
unique_id_string = "'" + unique_id + "'";
var adult_ul_class = "adult_" + room_select.id;
no_of_rooms = parseInt(no_of_rooms);
max_adults = parseInt(max_adults);
var room_adult_html = '';
if (no_of_rooms > 0) {
var select_html = '';
var room_no_start = 1;
for (var nor = no_of_rooms; nor > 0; nor--) {
room_adult_html += '
Room '
+ room_no_start
+ '';
room_adult_html += select_html;
room_adult_html += '';
room_no_start++;
}
$('ul.' + adult_ul_class + ' li').remove();
$('ul.' + adult_ul_class).append(room_adult_html).show('slow');
// create cookie
store_this_room_in_cookie(unique_id, no_of_rooms);
}
else {
$('ul.' + adult_ul_class + ' li').remove();
store_this_room_in_cookie(unique_id, no_of_rooms);
}
updateTotalPrice();
}
function select_this_room(sel_room_id,updateToolTip)
{
updateToolTip = typeof updateToolTip !== 'undefined' ? updateToolTip : 0;
sel_room_id_global = sel_room_id;
sel_room_type = 'select';
// $('#'+sel_room_id).val("UNSELECT ROOM");
$('#'+sel_room_id).removeClass("btn_continue");
$('#'+sel_room_id).addClass("btn_unselect");
// $('.room_'+sel_room_id).removeClass("hide", 200, 'easeInQuint');
$('.room_' + sel_room_id+',.rooms-adults-'+sel_room_id).slideDown(300);
$("#" + sel_room_id).val("UNSELECT ROOM");
$("#" + sel_room_id).closest('li').addClass('active');
$(".room-offer-" + sel_room_id).addClass('active');
var no_of_rooms = 1;
var adults_in_room = '';
// store selected room data in cookie
if (document.cookie.indexOf("room_detail_info") != -1) {
var room_detail_obj1 = unescape(readCookie("room_detail_info"));
if (room_detail_obj1 != 'null' && room_detail_obj1 != null) {
var obj = $.parseJSON(room_detail_obj1);
if (obj['room_unique_id_' + sel_room_id] != undefined) {
no_of_rooms = 2;
adults_in_room = obj['room_unique_id_' + sel_room_id].adult_per_room;
}
}
}
store_this_room_in_cookie(sel_room_id, no_of_rooms, adults_in_room);
if(updateToolTip)
{
$("#" + sel_room_id).attr("onclick", "unselect_this_room('" + sel_room_id + "',1)");
update_tooltip_content(sel_room_id);
}else{
$("#" + sel_room_id).attr("onclick", "unselect_this_room('" + sel_room_id + "')");
updateTotalPrice();
}
}
function unselect_this_room(unsel_room_id,updateToolTip) {
updateToolTip = typeof updateToolTip !== 'undefined' ? updateToolTip : 0;
sel_room_id_global = unsel_room_id;
sel_room_type = 'unselect';
var adult_ul_class = 'adult_room_select_' + unsel_room_id;
var room_dd = 'room_select_' + unsel_room_id;
// $('#'+unsel_room_id).val("SELECT ROOM");
$('#'+unsel_room_id).addClass("btn_continue");
$('#'+unsel_room_id).removeClass("btn_unselect");
$('.room_' + unsel_room_id+',.rooms-adults-'+unsel_room_id).slideUp(300);
$("#" + unsel_room_id).val("SELECT ROOM");
$("#" + unsel_room_id).closest('li').removeClass('active');
$(".room-offer-" + unsel_room_id).removeClass('active');
// remove all dropdwon except first and select 1 room by default;
$('ul.' + adult_ul_class + ' li:not(:first)').remove();
// delete unselected room data in cookie
store_this_room_in_cookie(unsel_room_id, 0);
if(updateToolTip)
{
$("#" + unsel_room_id).attr("onclick", "select_this_room('" + unsel_room_id + "',1)");
$('.' + room_dd).val(1);
update_tooltip_content();
}
else{
$("#" + unsel_room_id).attr("onclick", "select_this_room('" + unsel_room_id + "')");
$('.' + room_dd).val(0);
updateTotalPrice();
}
// update_tooltip_content();
}
function change_adults_in_this_room(sel_room_id) {
// get no of rooms in that dropdwon in which user changing the adults
var no_of_rooms = $('.room_select_' + sel_room_id).val();
no_of_rooms = parseInt(no_of_rooms);
store_this_room_in_cookie(sel_room_id, no_of_rooms);
// update_tooltip_content();
}
function store_this_room_in_cookie(sel_room_id, no_of_rooms, adults_in_room) {
var isModify = false;
if (adults_in_room === undefined || adults_in_room == '')
isModify = false;
else
isModify = true;
var room_info = sel_room_id.split("_");
var rate_rul_id = room_info[0];
var rate_rule_type = room_info[1];
var room_type_id = room_info[2];
var adults = new Array();
var totalNights = $('#booking_nights').val();
if (no_of_rooms > 0) {
// get adults in each room
$("ul.adult_room_select_" + sel_room_id + " .adult_selection_room")
.each(function(index) {
var adult = $(this).val();
adults.push(adult);
});
if (isModify){
adults.push(adults_in_room);
}
if($('#actual_room_price_GBP').length>0){
var chk=$('#CheckboxAmendRoom').prop("checked");
var theme = $.trim($("#theme").val());
modify_room_sel_id= $.trim($("#CheckboxAmendRoom").val());
if(chk){
if(sel_room_id===modify_room_sel_id && theme!='rateplan'){
adult = $("#adult_room_select_"+sel_room_id).text();
no_of_rooms = parseInt(no_of_rooms)+1;
}
}
}
/** ****************get all room type details***************** */
var rate_rule_name = $('#rate_rule_name_'+rate_rul_id+'_'+rate_rule_type).val();
var included_packages = $('#included_packages_'+rate_rul_id+'_'+rate_rule_type).val();
var applied_rate_rule_id = $('#def_raterule_id').val();
var max_adult_in_room = $('#room_select_' + sel_room_id).attr(
'max-adults');
var room_type_name = $('#room_select_' + sel_room_id).attr('room-name');
var pms_rate_rule_code = $('#room_select_' + sel_room_id).attr(
'pms-rate-rule-code');
/** ****************end get all room type details***************** */
var room_detail_cookie_arr = '{"room_unique_id_' + sel_room_id
+ '":{"rate_rule_id":"' + rate_rul_id + '","rate_rule_name":"'
+ rate_rule_name + '","included_packages":"'
+ included_packages + '","max_adults":"' + max_adult_in_room
+ '","applied_rate_rule_id":"' + applied_rate_rule_id
+ '","pms_rate_rule_id":"' + pms_rate_rule_code
+ '","room_type_name":"' + room_type_name
+ '","rate_rule_type":"' + rate_rule_type
+ '","room_type_id":"' + room_type_id + '","room_units":"'
+ no_of_rooms + '","adult_per_room":[' + adults + ']}}';
var objnew = $.parseJSON(room_detail_cookie_arr);
var room_detail_object_1 = readCookie("room_detail_info");
var room_detail_obj1 = unescape(room_detail_object_1);
if (room_detail_obj1 != 'null' && room_detail_obj1 != null) {
var obj = $.parseJSON(room_detail_obj1);
$.extend(obj, objnew);
// 1/48 mean cookie will enable for 15 mins
createCookie("room_detail_info", JSON.stringify(obj), (1 / 48));
} else {
// 1/48 mean cookie will enable for 15 mins
createCookie("room_detail_info", JSON.stringify(objnew), (1 / 48));
}
} else {
var room_detail_obj1 = unescape(readCookie("room_detail_info"));
if (room_detail_obj1 != 'null' && room_detail_obj1 != null) {
var obj = $.parseJSON(room_detail_obj1);
if ($('#CheckboxAmendRoom').length == 0
|| $('#CheckboxAmendRoom').val() != sel_room_id) {
delete obj['room_unique_id_' + sel_room_id];
} else if ($('#CheckboxAmendRoom').length
&& $('#CheckboxAmendRoom').val() == sel_room_id) {
var adults = $('#AmendRoomAdult').val();
var isChk = $('#CheckboxAmendRoom').attr("checked");
if (isChk)
no_of_rooms = 1;
else
no_of_rooms = 0;
//modify_this_room_in_cookie(sel_room_id, no_of_rooms, adults);
}
if (jQuery.isEmptyObject(obj)) {
deleteCookie("room_detail_info", "");
} else {
// 1/48 mean cookie will enable for 15 mins
if ($('#CheckboxAmendRoom').length == 0
|| $('#CheckboxAmendRoom').val() != sel_room_id) {
createCookie("room_detail_info", JSON.stringify(obj),
(1 / 48));
}
}
}
}
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function deleteCookie(name,value)
{
createCookie(name, '', -1);
}
function store_selected_addons(addon_id,nights, hdnHotelID, hdnDateIn, hdnDateOut)
{
$('#addons_1_div').css('opacity',0.4);
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype,rate_rule_id,rate_rule_type,room_type_id;
var essubtotal = 0;
var esNArr=new Array();
var esNArr_without_qty=new Array();
var adddon_unique_id;
var addon_unique_id_without_qty;
var addon_unique_id_arr=new Array();
var atleastoneselected=0;
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("estaychkdItems"));
if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
var esNArr=sel_enhance.split(",");
for(var aid=0; aid0)
{
createCookie("estaychkdItems",esNArr,(1/48));
}
else
{
deleteCookie("estaychkdItems");
}
if(atleastoneselected)
{
$('#addon_'+addon_id).val('Add/Remove');
$('#addon_'+addon_id).removeClass('btn_enhance_add');
$('#addon_'+addon_id).addClass('btn_enhance_remove');
}
else
{
$('#addon_'+addon_id).val('Add');
$('#addon_'+addon_id).removeClass('btn_enhance_remove');
$('#addon_'+addon_id).addClass('btn_enhance_add');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut);
setTimeout(function()
{
$('#addons_1_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
}
$(document).ready(function(){
$(".fragrance_class").click(function() {
if($(this).hasClass('btn_enhance_remove_small'))
{
$('.fragrance_class').removeClass('btn_enhance_remove_small');
$('.fragrance_class').addClass('btn_enhance_add_small');
$('.fragrance_class').text('ADD');
$("input[name='selFragrance']").attr('checked', false);
$('.show_aroma').html("");
return false;
}
else if($(this).hasClass('btn_enhance_add_small'))
{
$('.fragrance_class').addClass('btn_enhance_add_small');
$('.fragrance_class').removeClass('btn_enhance_remove_small');
$('.fragrance_class').text('ADD');
$(this).text('REMOVE');
$(this).addClass('btn_enhance_remove_small');
$('.show_aroma').html('Aroma: '+$(this).prev("input[type='radio']").val());
}
});
$(".pillow_class").click(function() {
if($(this).hasClass('btn_enhance_remove_small'))
{
$('.pillow_class').removeClass('btn_enhance_remove_small');
$('.pillow_class').addClass('btn_enhance_add_small');
$('.pillow_class').text('ADD');
$("input[name='selPillow']").attr('checked', false);
$('.show_pillow').html("");
return false;
}
else if($(this).hasClass('btn_enhance_add_small'))
{
$('.pillow_class').addClass('btn_enhance_add_small');
$('.pillow_class').removeClass('btn_enhance_remove_small');
$('.pillow_class').text('ADD');
$(this).text('REMOVE');
$(this).addClass('btn_enhance_remove_small');
$('.show_pillow').html('Pillow: '+$(this).prev("input[type='radio']").val());
}
});
///Attach event in Room Listing Page. For loading rooms onclicking the whole div of raterule/offer
$(".choose-a-plan-li").on('click',choose_a_plan);
var choose_a_plan = function(e)
{
if($(e.target).is('a'))
{
e.preventDefault();
}
//$(this).find('input').click();// Trigger click event
}
$(".btn-aroma").off("click");
$(".btn-aroma").on("click",function(){
$('.aroma_room_list').load($(this).data('href'),function(){
var leftPos = $("#aroma_block").find("h3").offset().left;
var topPos = $("#aroma_block").find("h3").offset().top;
window.scrollTo(leftPos, topPos);
});
});
$(".btn-aroma-single-room").off("click");
$(".btn-aroma-single-room").on("click",function(){
var $this = $(this);
store_selected_aroma_for_single_room($this.data('hotel-id'), $this.data('date-in'), $this.data('date-out'),$this.text(),$this);
});
$(".btn-pillow").off("click");
$(".btn-pillow").on("click",function(){
$('.pillow_room_list').load($(this).data('href'),function(){
var leftPos = $("#pillows_block").find("h3").offset().left;
var topPos = $("#pillows_block").find("h3").offset().top;
window.scrollTo(leftPos, topPos);
});
});
$(".btn-pillow-single-room").off("click");
$(".btn-pillow-single-room").on("click",function(){
var $this = $(this);
store_selected_pillows_for_single_room($this.data('hotel-id'), $this.data('date-in'), $this.data('date-out'),$this);
});
$(".clickable_text").click(function () {
$(this).parent().find("ul").toggleClass("full_view_size");
var leftPos = $(this).parent().find("ul").parent('.amentbox').offset().left;
var topPos = $(this).parent().find("ul").parent('.amentbox').offset().top;
window.scrollTo(leftPos, topPos);
$(this).text("show all" == $(this).text() ? "show less" : "show all")
})
});
function go_to_checkout()
{
document.addEventListener("click",handler,true);
setTimeout(function(){$(".aroma_continue").hide();}, 5000);
$('.addon_continue').show();
$(".your_stay_content .btn_back_01").show();
var selpillow=$( "input[name='selPillow']:checked" ).val();
var selFragrance=$( "input[name='selFragrance']:checked" ).val();
if(typeof selpillow !=="undefined")
createCookie("selPillow",selpillow,(1/48));
if(typeof selFragrance !=="undefined")
createCookie("selFragrance",selFragrance,(1/48));
//1/48 mean cookie will enable for 15 mins
setTimeout(function()
{
document.removeEventListener("click",handler,true);
}
, 1800
);
$('#enhancement_form').submit();
}
// New
function get_raterule_room_list_on_edit_dates_old(hdnInDate, hdnOutDate, hotel_id, rate_rule_id, special_offer_id) {
var check_in_date = $('#datepickercheckin').val();
var check_out_date = $('#datepickercheckout').val();
var rate_rule_id_pack = rate_rule_id;
var special_offer_id_pack = special_offer_id;
var lstRooms = getQueryVariable("lstRooms");
var adults = getQueryVariable("adults");
var in_dates = check_in_date.split("/");
var out_dates = check_out_date.split("/");
var checkin_date = in_dates[2] + '-' + in_dates[1] + '-' + in_dates[0];
var checkout_date = out_dates[2] + '-' + out_dates[1] + '-' + out_dates[0];
var checkin_date_month_number = parseInt(in_dates[1]) - 1;
var checkout_date_month_number = parseInt(out_dates[1]) - 1;
var date_string = in_dates[0] + ' ' + monthNames[checkin_date_month_number] + ' - ' + out_dates[0] + ' ' + monthNames[checkout_date_month_number];
var hdnHotelID = $('#hotel_id').val();
if (check_in_date != hdnInDate || check_out_date != hdnOutDate || hdnHotelID != hotel_id) {
$.ajax({
url: 'ajax.php',
data: {
action: 'get_raterule_room_list_on_edit_dates',
checkin_date: check_in_date,
checkout_date: check_out_date,
hdnHotelID: hotel_id,
lstRooms: lstRooms,
adults: adults,
raterule: rate_rule_id_pack,
splofferID: special_offer_id_pack
},
type: 'post',
beforeSend: function() {
$('#rate_rule_rooms_div').css('opacity', 0.2);
$('#loaderDiv').show();
},
success: function(output) {
//replace new result with old room list
$('#selected_dates').html(date_string);
$('#set_new_booking_dates').attr("onclick", "get_raterule_room_list_on_edit_dates('" + check_in_date + "','" + check_out_date + "','" + hotel_id + "','" + rate_rule_id_pack + "','" + special_offer_id_pack + "')");
$('#loaderDiv').hide();
$('#rate_rule_rooms_div').replaceWith(output);
bindJcarouselSlider();
$('#change_booking_dates').hide();
$('#selected_booking_dates').show();
$('#rate_rule_rooms_div').css('opacity', 1);
$('#hotel_id').val(hotel_id);
tb_init('a.thickbox, area.thickbox, input.thickbox');
},
error: function() {
}
});
} else {
$('#selected_dates').html(date_string);
$('#change_booking_dates').hide();
$('#selected_booking_dates').show();
}
}
function get_raterule_room_list_on_edit_dates(hdnInDate,hdnOutDate,hotel_id, rate_rule_id, special_offer_id)
{
var check_in_date = $('#datepickercheckin').val();
var check_out_date = $('#datepickercheckout').val();
var rate_rule_id_pack = rate_rule_id;
var special_offer_id_pack = special_offer_id;
var lstRooms = getQueryVariable("lstRooms");
var adults = getQueryVariable("adults");
var in_dates = check_in_date.split("/");
var out_dates = check_out_date.split("/");
var checkin_date = in_dates[2] + '-' + in_dates[1] + '-' + in_dates[0];
var checkout_date = out_dates[2] + '-' + out_dates[1] + '-' + out_dates[0];
var checkin_date_month_number = parseInt(in_dates[1]) - 1;
var checkout_date_month_number = parseInt(out_dates[1]) - 1;
var date_string = in_dates[0] + ' ' + monthNames[checkin_date_month_number]
+ ' - ' + out_dates[0] + ' '
+ monthNames[checkout_date_month_number];
var defaultSelectedHotelId = $("#hotel_id").val();
var selectedHotelId = $("#change_hotel").val();
var price_calendar = unescape(readCookie("price_calendar"));
var prev_checked_price_calendar = (price_calendar == "1") ? true : false;
var checked_price_calendar = false;
if($("#price_calendar").prop( "checked" ) == true)
{
createCookie("price_calendar", 1, (1 / 48));
checked_price_calendar = true;
}
else
{
deleteCookie("price_calendar", "");
}
if(checkout_date <= checkin_date || checkout_date == checkin_date)
{
alert("Check out date must be greater than check in date");
$("#datepickercheckout").addClass("error_room");
return false;
}
if ($.trim(check_in_date) != $.trim(hdnInDate) || $.trim(check_out_date) != $.trim(hdnOutDate) || $.trim(checked_price_calendar) != $.trim(prev_checked_price_calendar))
{
document.location = "/index.php?option=reservation&task=hoteldetails&hdnHotelID="+defaultSelectedHotelId+"&adults="+adults+"&firstSearch=yes&hdnDateIn="+encodeURIComponent(check_in_date)+"&hdnDateOut="+encodeURIComponent(check_out_date)+"&lstRooms="+lstRooms;
} else {
//$('#selected_dates').html(date_string);
//$('#change_booking_dates').hide();
//$('#selected_booking_dates').show();
}
}
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i')
.show();
if (localCache.exist(key)) {
showDetailsTab(option, id, localCache.get(key));
return false;
}
return true;
},
complete : function(jqXHR, textStatus) {
var data_url = this.url + "?" + this.data;
var id = room_type_id;
var key = this.url +'#';
switch(option)
{
//Cases That do not vary according to room type
case 'room_amenities':
case 'room_description':
case 'hotel_location':
key = key + option + '#' + room_type_id;
break;
//Cases That do not vary according to room type
case 'hotel_facilities':
case'near_by_attractions':
case 'booking_charter':
case 'tv_channels':
default:
key = key + option ;
break;
}
$('.' + option + '_' + room_type_id).addClass("active");
localCache.set(option, id, key, jqXHR, showDetailsTab);
}
});
}
function showDetailsTab(option,id,data)
{
$('#room_more_information_option_'+id).html(data.responseText).show();
$('.tabs_link').removeClass("active");
$('.'+option+'_'+id).addClass("active");
}
function show_hide_more_info_about_room(hotel_id, rate_rule_id, room_type_id)
{
if($('#see_more_info__' + room_type_id).hasClass('closed'))
{
$('#see_more_info__' + room_type_id).text("<a').not('.closed').click();
$('#see_more_info__' + room_type_id).removeClass('closed');
$('#see_more_info__' + room_type_id).focus();
// call_toggle_description_room_content(hotel_id, room_type_id);
get_room_details_by_single_option('room_description', hotel_id, rate_rule_id, room_type_id);
$('.room_more_info__' + room_type_id).slideDown(300);
}
else
{
$('#see_more_info__' + room_type_id).text("SEE MORE INFORMATION >>")
$('.room_more_info__' + room_type_id).slideUp(300);
$('#see_more_info__' + room_type_id).addClass('closed');
get_room_details_by_single_option('room_description', hotel_id, rate_rule_id, room_type_id);
// call_toggle_description_room_content(hotel_id, room_type_id);
}
}
function show_complements_div()
{
$('#addons_2_div').css('opacity',1);
$('#addons_1_div').css('opacity',0.5);
document.addEventListener("click",handler,true);
$('#loaderDiv').show();
$('.aroma_continue').show();
$('.addon_continue').hide();
$('html,body').animate({ scrollTop: 550 }, 'slow');
$('#addons_1_div').delay(2000).fadeOut(300);
$('#addons_2_div').delay(2000).fadeIn(300);
$('#loaderDiv').delay(2000).fadeOut();
setTimeout(function()
{
document.removeEventListener("click",handler,true);
}
, 1800
);
}
function show_addons_section()
{
$('#addons_1_div').css('opacity',1);
$('#addons_2_div').css('opacity',0.5);
$('#loaderDiv').show();
$('html,body').animate({ scrollTop: 550 }, 'slow');
$('#addons_2_div').delay(2000).fadeOut(300);
$('#addons_1_div').delay(2000).fadeIn(300);
$('#loaderDiv').delay(2000).fadeOut();
//$('#addons_2_div').delay(2000).css('opacity',1);
}
function change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut, callFromAromaPage)
{
$('#loaderDiv').show();
$.ajax({
url: '/ajax.php',
data: {action: 'change_reserv_summary', hdnHotelID:hdnHotelID, hdnDateIn:hdnDateIn, hdnDateOut:hdnDateOut},
type: 'post',
async:true,
beforeSend: function(){
//$('.your_stay', window.parent.document).html('Loading....');
$('#loaderDiv').show();
},
success: function(output) {
$('.your_stay', window.parent.document).html(output);
$('#loaderDiv').hide();
if(callFromAromaPage == 'YES')
{
$('.aroma_continue').show();
$('.addon_continue').hide();
}
//$(".saving_msg").hide();
$('.aroma_room_list>div').hide();
$('.pillow_room_list>div').hide();
booking.attachYourStayScrollBar();
},
error: function(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
}
function close_package_slider()
{
$('#package_slider').fadeOut(500, function(){
$(this).remove();
});
}
function sort_hotel_list(hotelattr)
{
if(hotelattr.value=='')
return;
$('#loaderDiv').show();
$('.hotel_sorting_list').css('opacity',0.5);
var $wrapper = $('.hotel_sorting_list');
setTimeout(function(){
if(hotelattr.value=='price_desc')
{
$wrapper.find('.sort_hotel').sort(function (a, b) {
return b.getAttribute('data-price') - a.getAttribute('data-price');
})
.appendTo( $wrapper );
createCookie("hotel_price_sort",'price_desc');
}
else if(hotelattr.value=='price_asc')
{
$wrapper.find('.sort_hotel').sort(function (a, b) {
return a.getAttribute('data-price') - b.getAttribute('data-price');
})
.appendTo( $wrapper );
createCookie("hotel_price_sort",'price_asc');
}
else if(hotelattr.value=='star_desc')
{
$wrapper.find('.sort_hotel').sort(function (a, b) {
return b.getAttribute('data-star-rank') - a.getAttribute('data-star-rank');
})
.appendTo( $wrapper );
createCookie("hotel_star_rank_sort",'star_desc');
}
else if(hotelattr.value=='star_asc')
{
$wrapper.find('.sort_hotel').sort(function (a, b) {
return a.getAttribute('data-star-rank') - b.getAttribute('data-star-rank');
})
.appendTo( $wrapper );
createCookie("hotel_star_rank_sort",'star_asc');
}
$('#loaderDiv').hide();
$('.hotel_sorting_list').css('opacity',1);
//your code to be executed after 1 seconds
},200);
}
function sort_room_listing(sortby)
{
if(sortby=='')
return;
$('#loaderDiv').show();
$('.sort_room_list_section').css('opacity',0.5);
var $wrapper = $('.sort_room_list_section');
setTimeout(function(){
if(sortby=='price_desc')
{
$wrapper.find('.sort_room_list').sort(function (a, b) {
return b.getAttribute('data-price') - a.getAttribute('data-price');
})
.appendTo( $wrapper );
createCookie("room_price_sort",'price_desc');
}
else if(sortby=='price_asc')
{
$wrapper.find('.sort_room_list').sort(function (a, b) {
return a.getAttribute('data-price') - b.getAttribute('data-price');
})
.appendTo( $wrapper );
createCookie("room_price_sort",'price_asc');
}
$('#loaderDiv').hide();
$('.sort_room_list_section').css('opacity',1);
//your code to be executed after 1 seconds
},200);
}
function bindJcarouselSlider()
{
var jcarousel = $('.jcarousel');
jcarousel
.on('jcarousel:reload jcarousel:create', function () {
var width = jcarousel.innerWidth();
if (width >= 600) {
width = width / 3;
} else if (width >= 350) {
width = width / 2;
}
jcarousel.jcarousel('items').css('width', width + 'px');
})
.jcarousel({
wrap: 'circular'
});
$('.jcarousel-control-prev')
.jcarouselControl({
target: '-=1'
});
$('.jcarousel-control-next')
.jcarouselControl({
target: '+=1'
});
$('.jcarousel-pagination')
.on('jcarouselpagination:active', 'a', function() {
$(this).addClass('active');
})
.on('jcarouselpagination:inactive', 'a', function() {
$(this).removeClass('active');
})
.on('click', function(e) {
e.preventDefault();
})
.jcarouselPagination({
perPage: 1,
item: function(page) {
return '' + page + '';
}
});
}
function convert_hotel_list_acc_currency(convert_currency)
{
if(convert_currency.value=='')
return;
var prices = new Array();
var currency_factors = convert_currency.value.split("_");
var currency_id = currency_factors[0];
var currency_abbr = currency_factors[1];
var currency_value = parseFloat(currency_factors[2]);
var length = $('.show_price_abbr').length;
for(var i=1; i<=length; i++)
{
var hotel_price = parseInt($("#actual_hotel_price_GBP_"+i).text());
var converted_price = hotel_price*currency_value;
converted_price = converted_price.toFixed(2);
$("#show_price_abbr_"+i).text(currency_abbr);
$("#show_price_value_"+i).text(converted_price);
}
deleteCookie("currencyAbbr");
createCookie("currencyAbbr",currency_abbr,(1/48));
}
function convert_room_list_acc_currency(convert_currency)
{
if (convert_currency.value == '')
return;
var prices = new Array();
var currency_factors = convert_currency.value.split("_");
var currency_id = currency_factors[0];
var currency_abbr = currency_factors[1];
var currency_value = parseFloat(currency_factors[2]);
var length = $('.show_price_abbr').length;
// alert(length);
for (var i = 1; i <= length; i++)
{
var room_price = parseFloat($("#actual_room_price_GBP_" + i).text());
var converted_price = room_price * currency_value;
converted_price = converted_price.toFixed(2);
$("#show_price_abbr_" + i).text(currency_abbr);
$("#show_price_value_" + i).text(converted_price);
if($("#bar_actual_room_price_GBP_" + i))
{
var bar_room_price = parseFloat($("#bar_actual_room_price_GBP_" + i).text());
var bar_converted_price = bar_room_price * currency_value;
bar_converted_price = bar_converted_price.toFixed(2);
$("#bar_show_price_abbr_" + i).text(currency_abbr);
$("#bar_show_price_value_" + i).text(bar_converted_price);
}
}
$('.total-price-currency').html(currency_abbr);
$('.total-price-amount').each(function(){
var total_price = $(this).data('price-gbp');
var converted_price = total_price * currency_value;
converted_price = converted_price.toFixed(2);
$(this).html(converted_price);
});
///////////Set price calendar's currency & prices///////////////////
$('.calendar-price').each(function(){
var price_gbp = 0.0;
var price_converted = 0.0;
if($(this).data('price-gbp'))
{
price_gbp = $(this).data('price-gbp');
//console.log("Price GBP : "+price_gbp);
}
else
{
price_gbp = parseFloat($(this).text());
$(this).data('price-gbp', $(this).text());
//console.log("Price gbp : "+price_gbp);
}
//console.log("exchange rate : "+currency_value);
price_converted = price_gbp * currency_value;
price_converted = price_converted.toFixed(2);
//console.log("final rate : "+price_converted);
$(this).html(price_converted);
});
$('.calendar-currency').each(function(){
$(this).html(currency_abbr);
});
$('.badge').each(function(){
var price_gbp = 0.0;
var price_converted = 0.0;
if($(this).data('price-gbp'))
{
price_gbp = $(this).data('price-gbp');
//console.log("Price GBP : "+price_gbp);
}
else
{
price_gbp = parseFloat($(this).text());
$(this).data('price-gbp', $(this).text());
//console.log("Price gbp : "+price_gbp);
}
//console.log("exchange rate : "+currency_value);
price_converted = price_gbp * currency_value;
price_converted = price_converted.toFixed(2);
//console.log("final rate : "+price_converted);
$(this).html(price_converted);
});
///////////END Set price calendar's currency & prices///////////////////
for (var i=1; i <= length; i++)
{
var roomPrice = parseFloat($("#actual_room_price_GBP_" + i).text());
var convertedPrice = roomPrice * currency_value;
convertedPrice = convertedPrice.toFixed(2);
$(".room_selection_dropdown_"+i+" option").each(function()
{
var val = $(this).val();
if(val > 0)
{
var roomPriceWithQty = parseFloat(val*convertedPrice);
roomPriceWithQty = roomPriceWithQty.toFixed(2);
var dropDownText = val + '\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0('+currency_abbr+' '+roomPriceWithQty+')';
$(this).text(dropDownText);
}
});
}
changeCurrencyForPriceCalendar(currency_abbr, currency_value);
deleteCookie("currencyAbbr");
createCookie("currencyAbbr", currency_abbr, (1 / 48));
return true;
}
var checkRoomSelection = function()
{
var total_price = 1.00 * $('.total-price-amount').text();
if(total_price>0)
{
return true;
}
alert('Please select a room to continue booking');
return false;
}
var store_selected_aroma_for_single_room = function(hdnHotelID, hdnDateIn, hdnDateOut,btnTxt,$this)
{
$('#addons_2_div').css('opacity',0.4);
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype;
var aroma_name, aroma_unique_id, rate_rule_id,rate_rule_type,room_type_id;
var esNArr=new Array();
var atleastoneselected=0;
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("selAromas"));
sel_enhance = sel_enhance.replace(/\+/g, " ");
/*if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
esNArr=sel_enhance.split(",");
}*/
aroma_name = $this.attr("title");
btnTxt = $.trim(btnTxt);
if(btnTxt=="Add")
{
esNArr.push(aroma_name+":"+$this.data("rate-type-room")+":1");
}
if(esNArr.length>0)
{
createCookie("selAromas",esNArr,(1/48));
}
else
{
deleteCookie("selAromas");
}
if($.trim($this.text())=="Add")
{
$(".btn-aroma-single-room").text('Add').removeClass('btn_enhance_remove_small').addClass('btn_enhance_add_small');
$this.text('Remove');
$this.removeClass('btn_enhance_add_small');
$this.addClass('btn_enhance_remove_small');
}
else
{
$(".btn-aroma-single-room").text('Add').removeClass('btn_enhance_remove_small').addClass('btn_enhance_add_small');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut, 'YES');
setTimeout(function()
{
$('#addons_2_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
//return false;
}
function store_selected_aroma(hdnHotelID, hdnDateIn, hdnDateOut)
{
$('#addons_2_div').css('opacity',0.4)
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype;
var aroma_name, aroma_unique_id, rate_rule_id,rate_rule_type,room_type_id;
var esNArr=new Array();
var atleastoneselected=0;
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("selAromas"));
sel_enhance = sel_enhance.replace(/\+/g, " ");
if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
var esNArr=sel_enhance.split(",");
}
for (var i=0; i0)
{
createCookie("selAromas",esNArr,(1/48));
}
else
{
deleteCookie("selAromas");
}
if(atleastoneselected)
{
$('#aroma_'+aroma_name.replace(/\s/g,"_")).text('Add/Remove');
$('#aroma_'+aroma_name.replace(/\s/g,"_")).removeClass('btn_enhance_add_small');
$('#aroma_'+aroma_name.replace(/\s/g,"_")).addClass('btn_enhance_remove_small');
}
else
{
$('#aroma_'+aroma_name.replace(/\s/g,"_")).text('Add');
$('#aroma_'+aroma_name.replace(/\s/g,"_")).removeClass('btn_enhance_remove_small');
$('#aroma_'+aroma_name.replace(/\s/g,"_")).addClass('btn_enhance_add_small');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut, 'YES');
setTimeout(function()
{
$('#addons_2_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
}
var store_selected_pillows_for_single_room = function(hdnHotelID, hdnDateIn, hdnDateOut,$this)
{
$('#addons_2_div').css('opacity',0.4);
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype;
var pillow_name, pillow_unique_id, rate_rule_id,rate_rule_type,room_type_id;
var esNArr=new Array();
var atleastoneselected=0;
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("selPillows"));
sel_enhance = sel_enhance.replace(/\+/g, " ");
/*if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
var esNArr=sel_enhance.split(",");
}
*/
pillow_name = $this.attr("title");
if($.trim($this.text())=="Add")
{
esNArr.push(pillow_name+":"+$this.data("rate-type-room")+":1");
}
if(esNArr.length>0)
{
createCookie("selPillows",esNArr,(1/48));
}
else
{
deleteCookie("selPillows");
}
if($.trim($this.text())=="Add")
{
$(".btn-pillow-single-room").text('Add').removeClass('btn_enhance_remove_small').addClass('btn_enhance_add_small');
$this.text('Remove');
$this.removeClass('btn_enhance_add_small');
$this.addClass('btn_enhance_remove_small');
}
else
{
$(".btn-pillow-single-room").text('Add').removeClass('btn_enhance_remove_small').addClass('btn_enhance_add_small');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut, 'YES');
setTimeout(function()
{
$('#addons_2_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
}
function store_selected_pillows(hdnHotelID, hdnDateIn, hdnDateOut)
{
$('#addons_2_div').css('opacity',0.4);
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype;
var pillow_name, pillow_unique_id, rate_rule_id,rate_rule_type,room_type_id;
var esNArr=new Array();
var atleastoneselected=0;
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("selPillows"));
sel_enhance = sel_enhance.replace(/\+/g, " ");
if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
var esNArr=sel_enhance.split(",");
}
for (var i=0; i0)
{
createCookie("selPillows",esNArr,(1/48));
}
else
{
deleteCookie("selPillows");
}
if(atleastoneselected)
{
$('#pillow_'+pillow_name.replace(/\s/g,"_")).text('Add/Remove');
$('#pillow_'+pillow_name.replace(/\s/g,"_")).removeClass('btn_enhance_add_small');
$('#pillow_'+pillow_name.replace(/\s/g,"_")).addClass('btn_enhance_remove_small');
}
else
{
$('#pillow_'+pillow_name.replace(/\s/g,"_")).text('Add');
$('#pillow_'+pillow_name.replace(/\s/g,"_")).removeClass('btn_enhance_remove_small');
$('#pillow_'+pillow_name.replace(/\s/g,"_")).addClass('btn_enhance_add_small');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut, 'YES');
setTimeout(function()
{
$('#addons_2_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
}
function enhancedetailshow(rate_rule_id, room_type_id)
{
if(rate_rule_id !=0 && rate_rule_id !="") {
var str = rate_rule_id+'_'+room_type_id;
document.getElementById('room_addons'+str).style.display="block";
document.getElementById('stay_more_info_show_'+str).style.display="none";
document.getElementById('stay_more_info_hide_'+str).style.display="block";
}
}
function enhancedetailhide(rate_rule_id, room_type_id)
{
if(rate_rule_id !=0 && rate_rule_id !="") {
var str = rate_rule_id+'_'+room_type_id;
document.getElementById('room_addons'+str).style.display="none";
document.getElementById('stay_more_info_show_'+str).style.display="block";
document.getElementById('stay_more_info_hide_'+str).style.display="none";
}
}
function update_tooltip_content(id)
{
$.ajax({
url: '/ajax.php',
data: {action: 'update_tooltip_content'},
type: 'post',
beforeSend: function(){
},
success: function(output) {
$('#tool_tip_content_'+id).html(output);
},
});
}
function show_tooltip(e,row_id)
{
var mouseX;
var mouseY;
mouseX = e.pageX-350;
mouseY = e.pageY-260;
mouseY = mouseY;
//alert(row_id);
//$('#tool_tip_content_'+row_id).css({'display':'block', 'top':mouseY, 'left': mouseX}).fadeIn('slow');
$('#tool_tip_content_'+row_id).css({'display':'block'}).fadeIn('slow');
}
function hide_tooltip(e,row_id)
{
$('#tool_tip_content_'+row_id).css({'display':'none'});
}
function store_selected_addons_one_room(addon_id,nights, hdnHotelID, hdnDateIn, hdnDateOut, valueToStoreInCookie)
{
//$('#saving_msg_'+addon_id).show();
$('#addons_1_div').css('opacity',0.4);
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype,rate_rule_id,rate_rule_type,room_type_id;
var essubtotal = 0;
var esNArr=new Array();
var esNArr_without_qty=new Array();
var adddon_unique_id;
var addon_unique_id_without_qty;
var addon_unique_id_arr=new Array();
var btnValue = $('#addon_'+addon_id).val();
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("estaychkdItems"));
if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
var esNArr=sel_enhance.split(",");
for(var aid=0; aid0)
{
createCookie("estaychkdItems",esNArr,(1/48));
}
else
{
deleteCookie("estaychkdItems");
}
if(btnValue == 'Add')
{
$('#addon_'+addon_id).val('Remove');
$('#addon_'+addon_id).removeClass('btn_enhance_add');
$('#addon_'+addon_id).addClass('btn_enhance_remove');
}
else
{
$('#addon_'+addon_id).val('Add');
$('#addon_'+addon_id).removeClass('btn_enhance_remove');
$('#addon_'+addon_id).addClass('btn_enhance_add');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut);
setTimeout(function()
{
$('#addons_1_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
}
function store_selected_addons_DB(addon_id,nights, hdnHotelID, hdnDateIn, hdnDateOut)
{
//$('#saving_msg_'+addon_id).show();
$('#addons_1_div').css('opacity',0.4);
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype,rate_rule_id,rate_rule_type,room_type_id;
var essubtotal = 0;
var esNArr=new Array();
var esNArr_without_qty=new Array();
var adddon_unique_id;
var addon_unique_id_without_qty;
var addon_unique_id_arr=new Array();
var atleastoneselected=0;
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("estaychkdItems"));
if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
var esNArr=sel_enhance.split(",");
for(var aid=0; aid0)
{
createCookie("estaychkdItems",esNArr,(1/48));
}
else
{
deleteCookie("estaychkdItems");
}
if(atleastoneselected)
{
$('#addon_'+addon_id).val('Add/Remove');
$('#addon_'+addon_id).removeClass('btn_enhance_add');
$('#addon_'+addon_id).addClass('btn_enhance_remove');
}
else
{
$('#addon_'+addon_id).val('Add');
$('#addon_'+addon_id).removeClass('btn_enhance_remove');
$('#addon_'+addon_id).addClass('btn_enhance_add');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut);
setTimeout(function()
{
$('#addons_1_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
//self.parent.tb_remove();
}
function store_selected_addons_DB_one_room(addon_id,nights, hdnHotelID, hdnDateIn, hdnDateOut, valueToStoreInCookie)
{
//$('#saving_msg_'+addon_id).show();
$('#addons_1_div').css('opacity',0.4);
document.addEventListener("click",handler,true);
var idprice, esid, esprice, qtyid, esqty,packagetype,rate_rule_id,rate_rule_type,room_type_id;
var essubtotal = 0;
var esNArr=new Array();
var esNArr_without_qty=new Array();
var adddon_unique_id;
var addon_unique_id_without_qty;
var addon_unique_id_arr=new Array();
var btnValue = $('#addon_'+addon_id).val();
// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT
var sel_enhance=unescape(readCookie("estaychkdItems"));
if(sel_enhance!='null' && sel_enhance!=null && sel_enhance!='')
{
var esNArr=sel_enhance.split(",");
for(var aid=0; aid0)
{
createCookie("estaychkdItems",esNArr,(1/48));
}
else
{
deleteCookie("estaychkdItems");
}
if(btnValue == 'Add')
{
$('#addon_'+addon_id).val('Remove');
$('#addon_'+addon_id).removeClass('btn_enhance_add');
$('#addon_'+addon_id).addClass('btn_enhance_remove');
}
else
{
$('#addon_'+addon_id).val('Add');
$('#addon_'+addon_id).removeClass('btn_enhance_remove');
$('#addon_'+addon_id).addClass('btn_enhance_add');
}
change_reserv_summary_div(hdnHotelID, hdnDateIn, hdnDateOut);
setTimeout(function()
{
$('#addons_1_div').css('opacity',1)
document.removeEventListener("click",handler,true);
}
, 1800
);
}
function handler(e){
e.stopPropagation();
e.preventDefault();
}
function call_spa_toggle_description()
{
$( ".toggle-spa-description").toggle();
}
/*
$(document).ready( function(){
$("input[name='CheckboxAmendRoom']").change( function() {
if(sel_room_type == 'select') {
unselect_this_room(sel_room_id_global);
//update_tooltip_content();
}
if(sel_room_type == 'unselect') {
select_this_room(sel_room_id_global);
//update_tooltip_content();
}
});
});
*/
var updateTotalPrice = function()
{
var total_price = 0.00;
var converted_total_price = 0.00;
var total_rooms_count = 0;
var convert_currency = $('#convert_currency').val();
convert_currency = convert_currency ==''?'1_GBP _1':convert_currency;
var prices = new Array();
var currency_factors = convert_currency.split("_");
var currency_value = parseFloat(currency_factors[2]);
var totalNights = $('#booking_nights').val();
$('.room-offer.active, .room-offer-modify.active')
.find('span[id^="actual_room_price_GBP"]')
.each(function(){
var room_price = $(this).text();
var converted_room_price = room_price * currency_value;
var qty = $(this).closest('.room-offer.active, .room-offer-modify').find('select[id^="room_select_"], select[id="select_modify_room"]').val();
total_price += 1.00 * room_price * qty;
converted_total_price += 1.00 * converted_room_price * qty;
total_rooms_count += parseInt(qty);
});
total_price = total_price * totalNights;
converted_total_price = converted_total_price * totalNights;
total_price = total_price.toFixed(2);
converted_total_price = converted_total_price.toFixed(2);
$('.total-price-amount').html(converted_total_price).data('price-gbp',total_price);
$('.roomfor').html(total_rooms_count+' Rooms For' + totalNights + ' nights');
}
/**
* Start the js for price calander || Need to include this if on the site flexi calander is implemented
*/
$(document).ready(function ()
{
callNextPrevPriceCalendar();
});
function orderByRoomTypeView()
{
deletePriceCalendarCookie();
//window.location.href = window.location.href;
}
function deletePriceCalendarCookie()
{
deleteCookie("price_calendar", "");
}
function orderByRateTypeView()
{
deletePriceCalendarCookie();
//window.location.href = window.location.href;
}
function flexibleDateView()
{
createCookie("price_calendar", 1, (1 / 48));
window.location.href = window.location.href;
}
function callNextPrevPriceCalendar()
{
//$('ul.week-days li:first').click(function(){
$('#rate_rule_rooms_div').on('click','.control-prev',function(){
fetchCalendarPrevious();
});
$('#rate_rule_rooms_div').on('click','.control-next',function(){
fetchCalendarNext();
});
}
function formatDate(date) {
var d = new Date(date),
month = '' + (d.getMonth() + 1),
day = '' + d.getDate(),
year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
return [year, month, day].join('-');
}
function DateFromString(str){
str = str.split('-');
str = new Date(str[0],(str[1]-1),str[2]);
console.log("DateFromString = "+str);
return YYYYMMDD(str);
}
function YYYYMMDD(str) {
var ndateArr = str.toString().split(' ');
var Months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec';
return ndateArr[3]+"-"+(parseInt(Months.indexOf(ndateArr[1])/4)+1)+'-'+ndateArr[2];
}
function changeDatesForNextAndPrev(changedate, totaldays) {
var changedate = changedate.toString();
changedate = changedate.split('-').join("/");
var newdate = new Date(changedate);
//console.log("changedate = "+changedate+" newdate = "+newdate);
newdate.setDate(newdate.getDate() + totaldays);
var dd = newdate.getDate();
if(dd < 10)
{
dd = "0"+dd;
}
var mm = newdate.getMonth() + 1;
if(mm < 10)
{
mm = "0"+mm;
}
var yyyyy = newdate.getFullYear();
var someFormattedDate = yyyyy + '-' + mm + '-' + dd;
return someFormattedDate;
}
function applyDaysOnWeekDays(selectedDate)
{
var dayNames = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
for(var i = 1; i <= 7; i++)
{
var selectedDate = selectedDate.toString();
selectedDate = selectedDate.split('-').join("/");
var nData = new Date(selectedDate);
$(".weekdays"+i).html(dayNames[nData.getDay()]+''+nData.getDate()+' '+ monthNames[nData.getMonth()]+'');
selectedDate = changeDatesForNextAndPrev(selectedDate, 1);
}
}
var goback_calendar = true;
var fetchCalendarPrevious = function(){
//theme wise change be below code
var rateCode = '';
/* var strStartDate = $('.day-price li:first-child').data('calendar-date');
var dateParts = strStartDate.split('-'); // Y-m-d
dateParts[1] = dateParts[1] - 1;
var nextStartDate = new Date(dateParts[0],dateParts[1],dateParts[2]);
nextStartDate.setDate(nextStartDate.getDate()-7);
console.log(" Prev nextStartDate = "+nextStartDate);
var arrNextStartDate = Array(0,0,0);
arrNextStartDate[0] = nextStartDate.getFullYear();
arrNextStartDate[1] = 1 * nextStartDate.getMonth() + 1;
arrNextStartDate[1] = arrNextStartDate[1]>=9 ? '' : '0' + arrNextStartDate[1];
arrNextStartDate[2] = nextStartDate.getDate();
strNextStartDate = arrNextStartDate.join('-');
//console.log(strNextStartDate);*/
rateCode = $('#all_rate_rule_block li.active').data('rate-code');
if("undefined" == typeof rateCode)
{
rateCode ='';
}
abortMultiCallPriceCalendarReq();
var hotelCode = $("#hotelCode").val();
var numNights = $("#numNights").val();
var hotel_id = $("#hotel_id").val();
var strSelFirstDate = $("#SelFirstDate").val();
var strNextStartDate = $("#SelStartDate").val();
var today_date = new Date();
var today_date_time = new Date(formatDate(today_date)).getTime();
var strNextStartDateTime = new Date(strNextStartDate).getTime();
var strSelFirstDateTime = new Date(strSelFirstDate).getTime();
if(goback_calendar == false)
{
return false;
}
if(strSelFirstDateTime == strNextStartDateTime)
{
goback_calendar = false;
$(".control-prev").css({cursor:"default"});
return false;
}
if(today_date_time == strSelFirstDateTime)
{
goback_calendar = false;
$(".control-prev").css({cursor:"default"});
}
var SelStartDate = changeDatesForNextAndPrev(strNextStartDate, -7);
//Avinash check if it less than today then set today date in SelStartDate
var strSelStartDate = (new Date(SelStartDate)).getTime();
if(strSelStartDateul>li").each(function() {
daily_li_id[i] = $(this).attr("id");
i++;
});
//if(date_array.length > 0)
//{
//console.log("date_array = "+calendar_price_data);
//}
var i = 0;
var price_check = 0;
var price_found = true;
for(var j = 0; j < daily_li_id.length; j++)
{
//console.log(daily_li_id);
var new_current_li_id = $("#"+daily_li_id[j]).attr("id"); // Get Current li Id
var rate_plan_code = $("#"+new_current_li_id).attr("data-rate-plan-code");
console.log(rate_plan_code);
var room_plan_code = $("#"+new_current_li_id).attr("data-room-type-code");
room_plan_code = jQuery.trim(room_plan_code);
room_plan_code = room_plan_code.toString();
var room_current_price = $("#"+new_current_li_id).attr("data-price-gbp");
var current_room_unique_id = $("#"+new_current_li_id).attr("data-room-unique-id");
//AMCRO_DD_2016-06-13
//2016-06-13_PMOT4_DD_406
var exp_new_current_li_id = new_current_li_id.split("_");
exp_new_current_li_id.pop();
var new_current_li_id = exp_new_current_li_id.join('_');
var match_rateplan_with_date = new_current_li_id+"_"+dates_array[i]; // New li id
//var match_rateplan_with_date = exp_new_current_li_id[4]+'_'+exp_new_current_li_id[2]+'_'+exp_new_current_li_id[3];
var date_raterule_roomtype = dates_array[i]+"_"+rate_plan_code+"_"+room_plan_code;
if($.inArray(rate_plan_code, ratecode_exp) == -1)
{
}
else
{
//console.log(match_rateplan_with_date+ " = "+ date_raterule_roomtype+" = "+parseFloat(date_array[date_raterule_roomtype]));
var current_li_datetime = new Date(dates_array[i]).getTime();
var li_price = parseFloat(date_array[date_raterule_roomtype]);
$("#"+new_current_li_id).removeClass("no-price");
$("#"+new_current_li_id).addClass("inactive-box");
$("#"+new_current_li_id).addClass("price-calendar-box");
if(current_li_datetime < today_date_time)
{
price_update_html = 'X';
$("#"+new_current_li_id).addClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
price_found = false;
}
else if(li_price > 0)
{
price_update_html = 'GBP';
price_update_html += ''+li_price.toFixed(2)+'';
$("#"+new_current_li_id).removeClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).addClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
$("#"+new_current_li_id).addClass("price-calendar-box");
price_found = true;
}
else if(li_price < 1)
{
price_update_html = 'X';
$("#"+new_current_li_id).addClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
price_found = false;
}
else
{
price_update_html = 'X';
$("#"+new_current_li_id).addClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
price_found = false;
}
if(price_found == false)
{
price_check++;
}
$("#"+new_current_li_id).html(price_update_html);
if(i == 6)
{
//console.log(" js price_check = "+price_check);
if(price_found == false && price_check == 7)
{
//$(".room-offer-"+current_room_unique_id).hide();
}
else
{
//$(".room-offer-"+current_room_unique_id).show();
}
}
}
i++;
if(i == 7)
{
i = 0;
price_check = 0;
price_found = true;
}
}
var currencyStr = $("#convert_currency").val();
var currencyArr = currencyStr.split("_");
var currencyId = currencyArr[0];
var currencyAbbr = currencyArr[1];
var currencyValue = currencyArr[2];
changeCurrencyForPriceCalendar(currencyAbbr, currencyValue);
var rateCodes = $("#SelNextRatePlan").val();
if(rateCodes != '')
{
$(".nextloadingrateplan").show();
var currentRateCodesExp = rateCodes.split(",");
var newRateCodes = '';
var remainingRateCodes = '';
var i = 0;
for(var j = 0; j < currentRateCodesExp.length; j++)
{
if(j < 4)
{
newRateCodes += currentRateCodesExp[j]+',';
}
else
{
remainingRateCodes += currentRateCodesExp[j]+',';
}
}
//$("#SelRatePlan").val("Rajesh"+remainingRateCodes);
//var remainingRateCodes = remainingRateCodes.substr(0, remainingRateCodes.length);
remainingRateCodes = remainingRateCodes.substr(0, (remainingRateCodes.length - 1));
$("#SelNextRatePlan").val(remainingRateCodes);
//multiCallPriceCalendar(calendarStartDate, newRateCodes, hotelCode,numNights);
}
else
{
$(".nextloadingrateplan").hide();
$('ul[id^="noRoomFlexiMsg_"]').each(function() {
var room_id = $(this).data('room-type-id');
var roomOfferLenght = $('.day-price-room-id_'+room_id+':visible').length;
if(roomOfferLenght)
{
$(this).hide();
}
else{
$(this).show();
}
});
}
},
error:function (jqXHR, textStatus, errorThrown ){
//console.log('Error : ');
//console.log(textStatus);
}
});
}
var udapteCalendar = function (calendarStartDate, rateCode, hotelCode,hotel_id,numNights){
singleCallReq = $.ajax({
url: "/ajax.php",
data:{
action: "getPriceCalendar",
startDate: calendarStartDate,
hotelCode: hotelCode,
hotel_id: hotel_id,
rateCode : rateCode,
numNights: numNights
},
dataType: "json",
type: "post",
async: !0,
success:function (response){
$("#nextloadingrateplan").hide();
$('.price-calendar-box').removeClass('active-box').addClass('inactive-box');
//var response_array = response.split('[BRK]');
$(".week-days").html(response['calHeader']);
var today_date_time = new Date();
var today_date_time = new Date(formatDate(today_date_time)).getTime();
//console.log(today_date_time);
var dates_array = response['calDates'];
$("#SelDateArray").val(response['calDatesString']);
$("#SelFirstDate").val(response['SelFirstDate']);
$("#SelStartDate").val(response['SelStartDate']);
$("#SelEndDate").val(response['SelEndDate']);
//var calendar_price_data = $.trim(response_array[2]).split("####");
if(document.getElementById("SelNextRatePlan"))
{
//console.log("Response Rate Plan: "+$.trim(response_array[3]));
//var nextRatePlanExp = $.trim(response_array[3]).split("@@@@");
var nextRatePlanExp = response['rateCode'];
var nextRatePlan = '';
var curRatePlanExp = $("#SelRatePlan").val().split(",");
for(var i = 0; i < nextRatePlanExp.length; i++)
{
if($.inArray(nextRatePlanExp[i], curRatePlanExp) == -1)
{
nextRatePlan += nextRatePlanExp[i]+",";
}
}
$("#SelNextRatePlan").val(nextRatePlan);
}
var date_array = new Array();
if(response['priceData'])
{
date_array = response['priceData'];
}
/*
$.each(calendar_price_data, function(key, val) {
var split_cal_price_data = val.split("_");
date_array[split_cal_price_data[0]+"_"+split_cal_price_data[1]+"_"+split_cal_price_data[2]] = split_cal_price_data[3];
//console.log(split_cal_price_data[0]);
//console.log(split_cal_price_data[1]);
//console.log(split_cal_price_data[2]);
//console.log(split_cal_price_data[3]);
});
*/
daily_li_id = new Array();
var i = 0;
$(".day-price>ul>li").each(function() {
daily_li_id[i] = $(this).attr("id");
i++;
});
//console.log(date_array);
var i = 0;
var price_check = 0;
var price_found = true;
for(var j = 0; j < daily_li_id.length; j++)
{
var current_li_id = $("#"+daily_li_id[j]).attr("id"); // Get Current li Id
curr_li_id_array = new Array();
var curr_li_id_array = current_li_id.split("_"); // Chunk into pieces for making new id
curr_li_id_array.pop();
var new_current_li_id = curr_li_id_array.join('_');
new_current_li_id = new_current_li_id+"_"+dates_array[i]; // New li id
$("#"+daily_li_id[j]).attr("id", new_current_li_id); // New li id replace
$("#"+new_current_li_id).attr("data-calendar-date", dates_array[i]);
var rate_plan_code = $("#"+new_current_li_id).attr("data-rate-plan-code");
var room_plan_code = $("#"+new_current_li_id).attr("data-room-type-code");
var current_room_unique_id = $("#"+new_current_li_id).attr("data-room-unique-id");
var date_raterule_roomtype = dates_array[i]+"_"+rate_plan_code+"_"+room_plan_code;
var current_li_datetime = new Date(dates_array[i]).getTime();
var li_price = parseFloat(date_array[date_raterule_roomtype]);
$("#"+new_current_li_id).removeClass("no-price");
$("#"+new_current_li_id).addClass("inactive-box");
$("#"+new_current_li_id).addClass("price-calendar-box");
if(current_li_datetime < today_date_time)
{
price_update_html = 'X';
$("#"+new_current_li_id).addClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
price_found = false;
}
else if(li_price > 0)
{
price_update_html = 'GBP';
price_update_html += ''+li_price.toFixed(2)+'';
$("#"+new_current_li_id).removeClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).addClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
$("#"+new_current_li_id).addClass("price-calendar-box");
price_found = true;
}
else if(li_price < 1)
{
price_update_html = 'X';
$("#"+new_current_li_id).addClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
price_found = false;
}
else
{
price_update_html = 'X ';
$("#"+new_current_li_id).addClass("no-price");
$("#"+new_current_li_id).removeClass("inactive-box");
$("#"+new_current_li_id).removeClass("price-calendar-box");
price_found = false;
}
if(price_found == false)
{
price_check++;
}
$("#"+new_current_li_id).html(price_update_html);
if(i == 6)
{
//console.log("js 2price_check = "+price_check);
if(price_found == false && price_check == 7)
{
$(".room-offer-"+current_room_unique_id).hide();
}
else
{
$(".room-offer-"+current_room_unique_id).show();
}
}
i++;
if(i == 7)
{
i = 0;
price_check = 0;
var price_found = true;
}
}
$(".pc_loading").hide();
//console.log(calendar_price_data);
// Change Currency for price calendar
var currencyStr = $("#convert_currency").val();
var currencyArr = currencyStr.split("_");
var currencyId = currencyArr[0];
var currencyAbbr = currencyArr[1];
var currencyValue = currencyArr[2];
changeCurrencyForPriceCalendar(currencyAbbr, currencyValue);
if(document.getElementById("SelNextRatePlan"))
{
var rateCodes = $("#SelNextRatePlan").val();
if(rateCodes != '')
{
$(".nextloadingrateplan").show();
var currentRateCodesExp = rateCodes.split(",");
var newRateCodes = '';
var remainingRateCodes = '';
var i = 0;
for(var j = 0; j < currentRateCodesExp.length; j++)
{
if(j < 4)
{
newRateCodes += currentRateCodesExp[j]+',';
}
else
{
remainingRateCodes += currentRateCodesExp[j]+',';
}
}
//$("#SelRatePlan").val($("#SelRatePlan").val()+"Kumar"+currentRateCodesExp);
var remainingRateCodes = remainingRateCodes.substr(0, (remainingRateCodes.length - 2));
$("#SelNextRatePlan").val(remainingRateCodes);
//multiCallPriceCalendar(calendarStartDate, newRateCodes, hotel_id,numNights);
$('ul[id^="noRoomFlexiMsg_"]').each(function() {
var room_id = $(this).data('room-type-id');
var roomOfferLenght = $('.day-price-room-id_'+room_id+':visible').length;
if(roomOfferLenght)
{
$(this).hide();
}
else{
$(this).show();
}
});
}
else{
$('ul[id^="noRoomFlexiMsg_"]').each(function() {
var room_id = $(this).data('room-type-id');
var roomOfferLenght = $('.day-price-room-id_'+room_id+':visible').length;
if(roomOfferLenght)
{
$(this).hide();
}
else{
$(this).show();
}
});
}
}
else
{
$('ul[id^="noRoomFlexiMsg_"]').each(function() {
var room_id = $(this).data('room-type-id');
var roomOfferLenght = $('.day-price-room-id_'+room_id+':visible').length;
if(roomOfferLenght)
{
$(this).hide();
}
else{
$(this).show();
}
});
}
$("#nextloadingrateplan").hide();
},
error:function (jqXHR, textStatus, errorThrown ){
//console.log('Error : ');
//console.log(textStatus);
}
});
}
var addRooms = function(roomUniqueId)
{
var room_info = roomUniqueId.split("_");
var rate_rule_id = room_info[0];
var rate_rule_type = room_info[1];
var room_type_id = room_info[2];
var adults = new Array();
var no_of_rooms = $("#total_rooms_"+roomUniqueId).val();
no_of_rooms = parseInt(no_of_rooms);
var max_adults= $("#total_rooms_"+roomUniqueId).attr("data-max-adults");
max_adults = parseInt(max_adults);
if (no_of_rooms > 0)
{
// get adults in each room
for(var i = 0; i < no_of_rooms; i++)
{
adults.push(max_adults);
}
/** ****************get all room type details***************** */
var rate_rule_name = $("#room_details_"+roomUniqueId).attr("data-rate-rule-name");
var included_packages = '';
var applied_rate_rule_id = $('#def_raterule_id').val();
var room_type_name = $("#room_details_"+roomUniqueId).attr("data-room-name");
var pms_rate_rule_code = $("#room_details_"+roomUniqueId).attr("data-pms-rate-rule-code");
/** ****************end get all room type details***************** */
var room_detail_cookie_arr = '{"room_unique_id_' + roomUniqueId
+ '":{"rate_rule_id":"' + rate_rule_id + '","rate_rule_name":"'
+ rate_rule_name + '","included_packages":"'
+ included_packages + '","max_adults":"' + max_adults
+ '","applied_rate_rule_id":"' + applied_rate_rule_id
+ '","pms_rate_rule_id":"' + pms_rate_rule_code
+ '","room_type_name":"' + room_type_name
+ '","rate_rule_type":"' + rate_rule_type
+ '","room_type_id":"' + room_type_id + '","room_units":"'
+ no_of_rooms + '","adult_per_room":[' + adults + ']}}';
var objnew = $.parseJSON(room_detail_cookie_arr);
// 1/48 mean cookie will enable for 15 mins
deleteCookie("room_detail_info", "");
createCookie("room_detail_info", JSON.stringify(objnew), (1 / 48));
}
else
{
alert("No room selected");
return false;
}
}
var changeCurrencyForPriceCalendar = function(currencyAbbr, currencyValue)
{
$(".calendar_box_currency_abbr, .price-calendar-box_currency").each(function()
{
$(this).html(currencyAbbr)
});
$(".price-calendar-box_amount").each(function()
{
var priceForDateInGBP = parseFloat($(this).attr("data-price-gbp"));
var convertedPriceForDate = priceForDateInGBP * currencyValue;
convertedPriceForDate = convertedPriceForDate.toFixed(2);
$(this).html(convertedPriceForDate);
});
$(".calendar_box_total_price").each(function()
{
var totalPriceGBP = parseFloat($(this).attr("data-price-gbp"));
var convertedTotalCalendarBoxPrice = totalPriceGBP * currencyValue;
convertedTotalCalendarBoxPrice = convertedTotalCalendarBoxPrice.toFixed(2);
$(this).html(convertedTotalCalendarBoxPrice);
});
}
var xmlHTTPRequest = null;
$(document).ready(function()
{
$("#room_list_ajax_div, #rate_rule_rooms_div").on("click", ".price-calendar-box", function(event)
{
var checkInDate = $(this).attr("data-calendar-date");
var totalNights = $(this).attr("data-total-nights");
totalNights = parseInt(totalNights);
var hotelId = $("#hotel_id").val();
var room_unique_id = $(this).attr("data-room-unique-id");
var arrRoomUniqueId = room_unique_id.split('_');
var rate_rule_unique_id = $(this).attr("data-rate-plan-code");
var arrRateUniqueId = rate_rule_unique_id.split('_');
var rateRuleID= arrRateUniqueId[0];
var rate_rule_type= arrRateUniqueId[1];
var roomTypeID = $(this).attr("data-room-type-code");
var minimumStay = $(this).attr("data-minimumStay");
var boxId = $(this).attr("id");
var room_unique_type_arr = room_unique_id.split('_');
var checkInDateArr = checkInDate.split('-');
var rateRuleCodeOpera = $(this).attr("data-rate-plan-code");
var checkOutDate = checkInDate;
var checkOutDateArr = checkOutDate.split('-').join("/");
var checkOutDateForFetchPricesObj = new Date(checkOutDateArr);
var minimumNights = $("#minimumNights_"+rate_rule_unique_id).val();
checkOutDateForFetchPricesObj.setDate(checkOutDateForFetchPricesObj.getDate()+14);
var checkOutDateForFetchPricesYear = checkOutDateForFetchPricesObj.getFullYear();
var checkOutDateForFetchPricesMonth = checkOutDateForFetchPricesObj.getMonth();
checkOutDateForFetchPricesMonth = checkOutDateForFetchPricesMonth+1;
if(checkOutDateForFetchPricesMonth < 10)
{
checkOutDateForFetchPricesMonth = "0"+checkOutDateForFetchPricesMonth;
}
var checkOutDateForFetchPricesDay = checkOutDateForFetchPricesObj.getDate();
if(checkOutDateForFetchPricesDay < 10)
{
checkOutDateForFetchPricesDay = "0"+checkOutDateForFetchPricesDay;
}
checkOutDateForFetchPrices = checkOutDateForFetchPricesYear+"-"+checkOutDateForFetchPricesMonth+"-"+checkOutDateForFetchPricesDay;
// New Code
var checkOutDateObj = new Date(checkOutDateArr);
checkOutDateObj.setDate(checkOutDateObj.getDate()+totalNights);
var checkOutDateYear = checkOutDateObj.getFullYear();
var checkOutDateMonth = checkOutDateObj.getMonth();
checkOutDateMonth = checkOutDateMonth+1;
if(checkOutDateMonth < 10)
{
checkOutDateMonth = "0"+checkOutDateMonth;
}
var checkOutDateDay = checkOutDateObj.getDate();
if(checkOutDateDay < 10)
{
checkOutDateDay = "0"+checkOutDateDay;
}
checkOutDate = checkOutDateYear+"-"+checkOutDateMonth+"-"+checkOutDateDay;
var formatedCheckInDate = checkInDateArr[2]+'-'+checkInDateArr[1]+'-'+checkInDateArr[0];
var formatedCheckOutDate = checkOutDateDay+"-"+checkOutDateMonth+"-"+checkOutDateYear;
// New Code
if(xmlHTTPRequest != null)
{
console.log("call abort");
xmlHTTPRequest.abort();
xmlHTTPRequest = null;
}
xmlHTTPRequest = $.ajax({
url: '/ajax.php',
data: {
action: 'getPriceCalendarForCheckin',
checkInDate: checkInDate,
checkOutDate: checkOutDate,
room_unique_type: room_unique_type_arr[1],
checkOutDateForFetchPrices: checkOutDateForFetchPrices,
hotelId: hotelId,
rateRuleCodeOpera: rateRuleCodeOpera,
rateRuleID: rateRuleID,
rate_rule_type: rate_rule_type,
roomTypeID: roomTypeID,
//minimumNights: minimumNights,
minimumStay: minimumStay,
totalNights: totalNights
},
dataType: "json",
type: 'post',
async: true,
beforeSend: function()
{
$('.price-calendar-detail-container').addClass('hide');
$('#price_calendar_detail_container_'+room_unique_id).removeClass('hide');
$('#loader_div_'+room_unique_id).removeClass('hide');
$('#calender_part_'+room_unique_id).addClass('hide');
$('.price-calendar-box').removeClass('active-box').addClass('inactive-box');
$("#"+boxId).removeClass('inactive-box').addClass('active-box');
},
success: function(output)
{
if(output['success']==1)
{
//var outputArr = output.split('[BRK]');
$('#total_nights_'+room_unique_id).html(output['nightsDropDownHtml']);
$('#total_rooms_'+room_unique_id).html(output['roomsDropDownHtml']);
$('#calendar_box_currency_abbr_'+room_unique_id).html(output['cookie_currency_abbr']);
$('#calendar_box_total_price_'+room_unique_id).html(output['totalPrice']);
$('#calendar_box_total_price_single_room_'+room_unique_id).html(output['totalPrice']);
$('#calendar_box_single_night_price_single_room_'+room_unique_id).html(output['averagePrice']);
$('#btn_book_now_'+room_unique_id).attr("href", output['bookNowButtonLink']);
$('#calendar_box_total_price_'+room_unique_id).attr("data-price-gbp", output['totalPriceGBP']);
$('#calendar_box_single_night_price_single_room_'+room_unique_id).attr("data-price-gbp", output['averagePriceGBP']);
$('#checkin_box_'+room_unique_id).html(formatedCheckInDate);
totalNights = $("#total_nights_" + room_unique_id).val();
totalNights = parseInt(totalNights);
if (totalNights) {
var newCheckOutDateObj = new Date(checkInDate);
newCheckOutDateObj.setDate(newCheckOutDateObj.getDate() +
totalNights);
var newcheckOutDateYear = newCheckOutDateObj.getFullYear();
var newcheckOutDateMonth = newCheckOutDateObj.getMonth();
newcheckOutDateMonth = newcheckOutDateMonth + 1;
var newcheckOutDateDay = newCheckOutDateObj.getDate();
if (newcheckOutDateMonth < 10) newcheckOutDateMonth = "0" + newcheckOutDateMonth;
if (newcheckOutDateDay < 10) newcheckOutDateDay = "0" + newcheckOutDateDay;
formatedCheckOutDate = newcheckOutDateDay + "-" + newcheckOutDateMonth + "-" + newcheckOutDateYear
}
$('#checkout_box_'+room_unique_id).html(formatedCheckOutDate);
$('#total_nights_'+room_unique_id).attr("data-calendar-date", checkInDate);
$('#loader_div_'+room_unique_id).addClass('hide');
$('#calender_part_'+room_unique_id).removeClass('hide');
if($('#error_message_'+room_unique_id))
{
$('#error_message_'+room_unique_id).remove();
}
if(output['roomsDropDownHtml'] == '')
{
$('#btn_book_now_'+room_unique_id).addClass('hide');
$('#total_rooms_'+room_unique_id).html('');
$('#calender_part_'+room_unique_id).addClass('hide');
var error_message = ''+output['error_message']+'
';
$('#calender_part_'+room_unique_id).after(error_message);
}
else if(output['nightsDropDownHtml'] == '')
{
$('#btn_book_now_'+room_unique_id).addClass('hide');
$('#calender_part_'+room_unique_id).addClass('hide');
var error_message = ''+output['error_message']+'
';
$('#calender_part_'+room_unique_id).after(error_message);
}
else
{
$('#btn_book_now_'+room_unique_id).removeClass('hide');
}
}
}
});
return false;
});
$("#room_list_ajax_div, #rate_rule_rooms_div").on("change", ".calendar-box-total-nights", function(event)
{
var checkInDate = $(this).attr("data-calendar-date");
var totalNights = $(this).val();
totalNights = parseInt(totalNights);
var hotelId = $("#hotel_id").val();
var room_unique_id = $(this).attr("data-room-unique-id");
//var rateRuleID = $(this).attr("data-rate-plan-code");
var roomTypeID = $(this).attr("data-room-type-code");
var room_unique_type_arr = room_unique_id.split('_');
var checkInDateArr = checkInDate.split('-');
var rate_rule_unique_id = $(this).attr("data-rate-plan-code");
var minimumStay = $(this).attr("data-minimumStay");
var arrRateUniqueId = rate_rule_unique_id.split('_');
var rateRuleID= arrRateUniqueId[0];
var rate_rule_type= arrRateUniqueId[1];
var noOfRooms = $('#total_rooms_'+room_unique_id).val();
var rateRuleCodeOpera = $(this).attr("data-rate-plan-code");
var checkOutDate = checkInDate;
var checkOutDateArr = checkOutDate.split('-').join("/");
var checkOutDateForFetchPricesObj = new Date(checkOutDateArr);
var minimumNights = $("#minimumNights_"+rate_rule_unique_id).val();
checkOutDateForFetchPricesObj.setDate(checkOutDateForFetchPricesObj.getDate()+14);
var checkOutDateForFetchPricesYear = checkOutDateForFetchPricesObj.getFullYear();
var checkOutDateForFetchPricesMonth = checkOutDateForFetchPricesObj.getMonth();
checkOutDateForFetchPricesMonth = checkOutDateForFetchPricesMonth+1;
if(checkOutDateForFetchPricesMonth < 10)
{
checkOutDateForFetchPricesMonth = "0"+checkOutDateForFetchPricesMonth;
}
var checkOutDateForFetchPricesDay = checkOutDateForFetchPricesObj.getDate();
if(checkOutDateForFetchPricesDay < 10)
{
checkOutDateForFetchPricesDay = "0"+checkOutDateForFetchPricesDay;
}
checkOutDateForFetchPrices = checkOutDateForFetchPricesYear+"-"+checkOutDateForFetchPricesMonth+"-"+checkOutDateForFetchPricesDay;
// New Code
var checkOutDateObj = new Date(checkOutDateArr);
checkOutDateObj.setDate(checkOutDateObj.getDate()+totalNights);
var checkOutDateYear = checkOutDateObj.getFullYear();
var checkOutDateMonth = checkOutDateObj.getMonth();
checkOutDateMonth = checkOutDateMonth+1;
if(checkOutDateMonth < 10)
{
checkOutDateMonth = "0"+checkOutDateMonth;
}
var checkOutDateDay = checkOutDateObj.getDate();
if(checkOutDateDay < 10)
{
checkOutDateDay = "0"+checkOutDateDay;
}
checkOutDate = checkOutDateYear+"-"+checkOutDateMonth+"-"+checkOutDateDay;
var formatedCheckInDate = checkInDateArr[2]+'-'+checkInDateArr[1]+'-'+checkInDateArr[0];
var formatedCheckOutDate = checkOutDateDay+"-"+checkOutDateMonth+"-"+checkOutDateYear;
// New Code
$.ajax({
url: '/ajax.php',
data: {
action: 'getPriceCalendarForCheckin',
checkInDate: checkInDate,
checkOutDate: checkOutDate,
room_unique_type: room_unique_type_arr[1],
checkOutDateForFetchPrices: checkOutDateForFetchPrices,
hotelId: hotelId,
rateRuleCodeOpera: rateRuleCodeOpera,
rateRuleID: rateRuleID,
rate_rule_type: rate_rule_type,
roomTypeID: roomTypeID,
totalNights: totalNights,
//minimumNights: minimumNights,
minimumStay: minimumStay,
noOfRooms: noOfRooms
},
dataType: "json",
type: 'post',
async: true,
beforeSend: function()
{
$('.price-calendar-detail-container').addClass('hide');
$('#price_calendar_detail_container_'+room_unique_id).removeClass('hide');
$('#loader_div_'+room_unique_id).removeClass('hide');
$('#calender_part_'+room_unique_id).addClass('hide');
},
success: function(output)
{
if(output['success']==1)
{
//var outputArr = output.split('[BRK]');
$('#total_nights_'+room_unique_id).html(output['nightsDropDownHtml']);
$('#total_rooms_'+room_unique_id).html(output['roomsDropDownHtml']);
$('#calendar_box_currency_abbr_'+room_unique_id).html(output['cookie_currency_abbr']);
$('#calendar_box_total_price_'+room_unique_id).html(output['totalPrice']);
$('#calendar_box_total_price_single_room_'+room_unique_id).html(output['totalPrice']);
$('#calendar_box_single_night_price_single_room_'+room_unique_id).html(output['averagePrice']);
$('#btn_book_now_'+room_unique_id).attr("href", output['bookNowButtonLink']);
$('#calendar_box_total_price_'+room_unique_id).attr("data-price-gbp", output['totalPriceGBP']);
$('#calendar_box_single_night_price_single_room_'+room_unique_id).attr("data-price-gbp", output['averagePriceGBP']);
$('#checkin_box_'+room_unique_id).html(formatedCheckInDate);
$('#checkout_box_'+room_unique_id).html(formatedCheckOutDate);
$('#total_nights_'+room_unique_id).attr("data-calendar-date", checkInDate);
$('#loader_div_'+room_unique_id).addClass('hide');
$('#calender_part_'+room_unique_id).removeClass('hide');
if($('#error_message_'+room_unique_id))
{
$('#error_message_'+room_unique_id).remove();
}
if(output['roomsDropDownHtml'] == '')
{
$('#btn_book_now_'+room_unique_id).addClass('hide');
$('#total_rooms_'+room_unique_id).html('');
$('#calender_part_'+room_unique_id).addClass('hide');
var error_message = ''+output['error_message']+'
';
$('#calender_part_'+room_unique_id).after(error_message);
}
else if(output['nightsDropDownHtml'] == '')
{
$('#btn_book_now_'+room_unique_id).addClass('hide');
$('#calender_part_'+room_unique_id).addClass('hide');
var error_message = ''+output['error_message']+'
';
$('#calender_part_'+room_unique_id).after(error_message);
}
else
{
$('#btn_book_now_'+room_unique_id).removeClass('hide');
}
}
}
});
});
$("#room_list_ajax_div, #rate_rule_rooms_div").on("change", ".calendar-box-total-rooms", function(event)
{
var room_unique_id = $(this).attr("id");
room_unique_id = room_unique_id.replace('total_rooms_', '');
room_unique_id = room_unique_id.replace('total_nights_', '');
var selectedRooms = $("#total_rooms_"+room_unique_id).val();
selectedRooms = parseInt(selectedRooms);
var selectedNights = $("#total_nights_"+room_unique_id).val();
selectedNights = parseInt(selectedNights);
/*
var singleNightPrice = $("#calendar_box_single_night_price_single_room_"+room_unique_id).html();
singleNightPrice = parseFloat(singleNightPrice);
var totalPrice = singleNightPrice*selectedRooms*selectedNights;
totalPrice = totalPrice.toFixed(2);
$("#calendar_box_total_price_"+room_unique_id).html(totalPrice);
*/
var singleNightPriceGBP = $("#calendar_box_single_night_price_single_room_"+room_unique_id).attr("data-price-gbp");
singleNightPriceGBP = parseFloat(singleNightPriceGBP);
var totalPriceGBP = singleNightPriceGBP*selectedRooms*selectedNights;
totalPriceGBP = totalPriceGBP.toFixed(2);
$("#calendar_box_total_price_"+room_unique_id).html(totalPriceGBP);
$("#calendar_box_total_price_"+room_unique_id).attr("data-price-gbp", totalPriceGBP);
// Change Currency for price calendar
var currencyStr = $("#convert_currency").val();
var currencyArr = currencyStr.split("_");
var currencyId = currencyArr[0];
var currencyAbbr = currencyArr[1];
var currencyValue = currencyArr[2];
changeCurrencyForPriceCalendar(currencyAbbr, currencyValue);
});
})
var show_hide_more_info_about_ratetype = function(e, o, t,firstTab) {
firstTab = typeof firstTab !== 'undefined' ? firstTab : 'room_description';
$("#see_more_info_" + t).hasClass("closed") ? ($("#see_more_info_" + t).text("<< HIDE INFORMATION"), $("#see_more_info_" + t).removeClass("closed"), $("#see_more_info_" + t).focus(), get_room_details_by_single_option(firstTab, e, o, t), $(".room_more_info_" + t).slideDown(300)) : ($("#see_more_info_" + t).text("SEE MORE INFORMATION >>"), $(".room_more_info_" + t).slideUp(300), $("#see_more_info_" + t).addClass("closed"), get_room_details_by_single_option(firstTab, e, o, t))
}
/**
* End the js for price calander
*/
var booking = {
attachYourStayScrollBar : function()
{
$(".your_stay_content").customScrollbar();
$(".stay_more_info").click(function ()
{
$(".your_stay_content").customScrollbar("resize", true);
});
$(window).scroll();
}
};
function repositionStayPannel()
{
var top1 = $('#stay-section').offset().top - parseFloat($('#stay-section').css('marginTop').replace(/auto/, 0));
var footTop = $('#bannerwrapper1').offset().top - parseFloat($('#bannerwrapper1').css('marginTop').replace(/auto/, 0));
var maxY = footTop - $('#stay-section').outerHeight();
var leftHeight = $('#stay-section').outerHeight();
var y = $(window).scrollTop();
if (y > top1) {
if (y < maxY) {
$('#stay-section').addClass('fixed').removeAttr('style');
} else {
$('#stay-section').removeClass('fixed').css({
position: 'absolute',
top: (maxY - top1) + 'px'
});
}
} else {
$('#stay-section').removeClass('fixed').removeAttr('style');
}
//console.log(" Top:"+ top1 + " footTop:"+ footTop+ " maxY:"+ maxY+"leftPanel:"+leftHeight+"y:"+y);
}