function nopricecoma(){$J("span.price").each(function(){var n=$J(this);n.html(n.html().replace(/(\d+),(?=\d{3}(\D|$))/g,"$1"))})}var specialOnce=!1;VYG.checkavailability={elGlobal:$J(".find-tour-wrapper.uxchange"),isAccSpecial:$J(".accommodation-details.special").length>0?!0:!1,checkinDates:[],duration:[],roomNumber:[],totalAdult:[],totalChild:[],delimitedChildAges:[],checkAvailabilityInProgress:[],calendarStartDate:[],AjaxRequest:[],AjaxRequestNumber:0,AjaxRequestComplete:0,AjaxRequestAbort:[],RoomsAvailability:[],roomTitle:[],policySummary:[],termsAndConditions:[],cancellationPolicy:[],totalCostTaxInfo:[],inclusion:[],isBrowse:[],upi:{},objectSelectedCalendar:[],objectSelectedCalendarBedding:[],objectOptionalExtra:[],objectOptionalExtraOrigin:[],productItineraries:[],checkAvailData:"",idClicked:"",headerActionsTemplate:'<th><span class="prev-next-wrap"><a href="javascript:void(0);" title="Prev" class="icon-prev">Prev<\/a><a href="javascript:void(0);" title="Next" class="icon-next">Next<\/a><\/span><\/th>',today:function(){var n=new Date;return new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0,0,0)},getQueryVariable:function(n){for(var i,u=window.location.search.substring(1),r=u.split("&"),t=0;t<r.length;t++)if(i=r[t].split("="),i[0]==n)return i[1];return!1},init:function(){var t,n,i;VYG.checkavailability.compileTemplates();VYG.checkavailability.setProductIds();VYG.checkavailability.setActionAccommodation();VYG.checkavailability.initEditUserProductItinerary();t=$J(window).width();t>=768&&(n=document.querySelector(".js-check-dates"),i=$J("#availability-panel"),n!=null&&n.addEventListener("click",function(){VYG.checkavailability.animatePosition(i,110)},!1));VYG.exchangeRateConversion.initExchangeRateSelection()},initEditUserProductItinerary:function(){var t=window.location.href.indexOf("?checkmode=on")>-1,i=window.location.href.indexOf("upi=")>-1,n;t&&i&&(n=$J("#UserProductItineraryData"),VYG.checkavailability.upi.productId=$J(n).attr("data-userproductitinerary-productid"),VYG.checkavailability.upi.date=$J(n).attr("data-userproductitinerary-date"),VYG.checkavailability.upi.duration=parseInt($J(n).attr("data-userproductitinerary-duration")),VYG.checkavailability.upi.id=$J(n).attr("data-userproductitinerary-id"),VYG.checkavailability.upi.adults=parseInt($J(n).attr("data-userproductitinerary-adults")),VYG.checkavailability.upi.children=parseInt($J(n).attr("data-userproductitinerary-children")),VYG.checkavailability.upi.qty=parseInt($J(n).attr("data-userproductitinerary-qty")))},initResetEditProductItinerary:function(){var t=window.location.href.indexOf("?checkmode=on")>-1,i=window.location.href.indexOf("upi=")>-1,n;t&&i&&(n=window.location.href.split("?"),history.replaceState("","",n[0]),VYG.checkavailability.upi.productId="",VYG.checkavailability.upi.date="",VYG.checkavailability.upi.duration="",VYG.checkavailability.upi.id="",VYG.checkavailability.upi.adults="",VYG.checkavailability.upi.children="",VYG.checkavailability.upi.qty="",currentProductId="")},createProductIdKey:function(n){var t=[];return(t.currentProductId=n,!t.currentProductId)?t:(t.currentProductIdModified=t.currentProductId.toString().replace(/,/g,"-"),t.currentProductContainer=VYG.checkavailability.isAccSpecial?$J('.accordion-body[data-product-ids="'+t.currentProductId+'"]').parents("div[id^='accordion_grandparent_id_']"):$J('.accordion-body[data-product-ids="'+t.currentProductId+'"]').parents("div[id^='accordion_acc_detail_']"),t.currentRoomTypeShortId=$J(t.currentProductContainer).find("div[id^='accordion_acc_detail_view_room_']").data("room-type-shortid"),t)},setActionAccommodation:function(){$J(".accordion button.add-wishlist").on("click",function(n){var t=$J(this).data("product-item-id");VYG.wishlist&&VYG.wishlist.addToWishList(t);n.preventDefault()});$J(".accommodation-details").on("click",".find-tour-table-wrap table.find-tour-table td:not(table.find-tour-table tr:last-child td, td.disabled, td.room-config, td:nth-child(1))",function(){VYG.checkavailability.onSelectedCalendarCell($J(this));var n=parseInt($J(VYG.checkavailability.elGlobal).find("#bookingbar_select_room_qty").val()),t=parseInt($J(this).parents(".find-tour-table").attr("data-room-index"));n==t+1?$J(this).parents(".accordion-body").find(".addtoitinerary-wraper").show():$J(this).parents(".accordion-body").find(".addtoitinerary-wraper").hide()});$J(VYG.checkavailability.elGlobal).on("click",".check-avail",function(){$J(".addtoitinerary-wraper").hide()});$cont=VYG.checkavailability.isAccSpecial?$J("div[id^='accordion_grandparent_id_']").find($J("div[id^='accordion_acc_detail_view_room_']")):$J("div[id^='accordion_acc_detail_view_room_']");$cont.length==0&&$J(VYG.checkavailability.elGlobal).hide();$cont.each(function(){var n=$J(this).data("product-ids")?$J(this).data("product-ids"):null,t=VYG.checkavailability.createProductIdKey(n)});$J(".add-to-itinerary-btn").on("click",function(){var n=$J(this).data("product-ids"),t=VYG.checkavailability.createProductIdKey(n);VYG.checkavailability.onAddItineraryClicked(t)});$J(".add-book-now-button").on("click",function(){var n=$J(this).data("product-ids"),t=VYG.checkavailability.createProductIdKey(n);VYG.checkavailability.onAddItineraryClicked(t,!0)});$J("body").on("click","a.checkout-button",function(){var n,t,i;event.preventDefault();n=$J(this).data("product-ids");t=VYG.checkavailability.createProductIdKey(n);idClicked=$J(this).data("product-sub-code");i=!0;VYG.checkavailability.onAddItineraryClicked(t,i)});$J("body").on("click","a.add-to-basket-button",function(){event.preventDefault();var n=$J(this).data("product-ids"),t=VYG.checkavailability.createProductIdKey(n);idClicked=$J(this).data("product-sub-code");VYG.checkavailability.onAddItineraryClicked(t)});$J(".button-book").on("click",function(){var n=$J(this).parents("div[id^='accordion_acc_detail_'].accordion-group").find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),t=VYG.checkavailability.createProductIdKey(n);if(VYG.checkavailability.resetCalendarStyle(t),$J(this).hasClass("js-data-added")&&!$J(this).hasClass("is-opened")){$J(this).addClass("is-opened");var o=$J(this),s=$J(this).attr("data-target"),i=$J(this).attr("data-parent"),r=$J(this).attr("data-night-stay"),u=$J(i).find(".room-availabilities .accordion-group"),f=JSON.parse($J.cookie("check-avail-data")),e=moment(f.checkinDate,"DD/MM/YYYY").format("YYYY-MM-DD"),n=$J(i).find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),t=VYG.checkavailability.createProductIdKey(n);u.each(function(){var f=$J(this).find("tbody tr:not(:empty)"),n=[],i=[],u;f.each(function(){if(parseInt($J(this).attr("data-min-nights"))<=r){var t=$J(this).find("[data-date-group='"+e+"']");n.push(t);i.push(t.data("total-cost"))}});Array.min=function(n){return n.indexOf(Math.min.apply(Math,n))};u=Array.min(i);VYG.checkavailability.resetCalendarStyle(t);VYG.checkavailability.onSelectedCalendarCell(n[u])})}$J(this).hasClass("is-opened")&&$J(this).removeClass("is-opened")});$J("body").on("click","a.product-availability-warning-close",function(){var n=$J("#product-availability-warning");n&&n.hide()});$J("body").on("click",".accommodation_prices a.prev_date, .accommodation_prices a.next_date",function(n){n.preventDefault();VYG.loading();var t=JSON.parse($J.cookie("check-avail-data")||null),r=t.duration,i=$J(this).data("next-available-date"),t={accommodation:t.accommodation,checkinDate:i,checkinDateTour:t.checkinDateTour,duration:t.duration,roomNumber:t.roomNumber,roomData:t.roomData,tourData:t.tourData,promoCode:t.promoCode,currencyCode:t.currencyCode,triggerShowPrice:!0};$J.cookie("check-avail-data",JSON.stringify(t),{expires:30,path:"/"});window.location.href=window.location.href});$J("body").on("click","a.from-total",function(){$J(this).hide();$J(this).closest("div").find(".rates").slideToggle("slow");$J(this).parents(".accordion-heading").find(".title-cont a.icon-collapse").show();event.preventDefault()});$J("body").on("click","a.icon-collapse",function(){$J(this).parents(".accordion-heading").find(".search_results_wrap div.rates").slideToggle("slow");$J(this).hide();$J(this).parents(".accordion-heading").find(".search_results_wrap a.from-total").slideToggle("slow");event.preventDefault()});$J("body").on("click",".js-auto-select",function(){var n=$J(this).parents(".jq-targets").data(),t=$J(this).data(),i=$J(n.parent).find("[data-room-type='"+t.productName+"']"),r=JSON.parse($J.cookie("check-avail-data")),u=moment(r.checkinDate,"DD/MM/YYYY").format("YYYY-MM-DD"),f=$J(n.parent).find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),e=VYG.checkavailability.createProductIdKey(f);toggAccordions(n.target,n.parent,$J(this));VYG.checkavailability.resetCalendarStyle(e);i.each(function(){var n=$J(this).find("[data-date-group='"+u+"']");VYG.checkavailability.onSelectedCalendarCell(n)})});$J(".popinfo-default-price").popover("destroy");$J(".popinfo-default-price").popover({container:"body",trigger:"hover",placement:"bottom",html:!0,content:function(){return $J(this).data("content")},template:'<div class="popover acco popover-inclusion"><div class="arrow"><\/div><div class="close close-popover"><\/div><div class="popover-inner"><h3 class="popover-title"><\/h3><div class="popover-content"><\/div><\/div><\/div>'});$J(window).scroll(function(){$J(".wrap-white-button button").popover("hide")})},compileTemplates:function(){VYG.checkavailability.compileRoomTypePriceTemplate();VYG.checkavailability.compileRoomFormTemplate();VYG.checkavailability.compileHeaderDateTemplate();VYG.checkavailability.compileBodyTemplate();VYG.checkavailability.compileRoomAvailabilitiesTemplate();VYG.checkavailability.compileRoomSummaryTemplate();VYG.checkavailability.compileRoomBeddingTemplate();VYG.checkavailability.compileRoomOptionalExtrasTemplate();VYG.checkavailability.compileRoomAmountTotalDefaultTemplate();VYG.checkavailability.compileRoomAmountTotalTemplate();VYG.checkavailability.compileOptionalServiceTemplate();VYG.checkavailability.compileOptionalServiceSummaryTemplate();VYG.checkavailability.compileExtraPersonChargeTemplate();VYG.checkavailability.compileUpgradePanelTemplate();VYG.checkavailability.compileNextPrevRoomTemplate()},roomTypeFirstFromPriceAmountTemplateCompiled:{},roomTypeFirstFromPriceAmountTemplateCompiledSpecial:{},roomTypeSecondFromPriceAmountTemplateCompiled:{},roomTypeSecondFromPriceAmountTemplateCompiledSpecial:{},roomTypeThirdFromPriceAmountTemplateCompiled:{},roomTypeThirdFromPriceAmountTemplateCompiledSpecial:{},compileRoomTypePriceTemplate:function(){VYG.checkavailability.roomTypeFirstFromPriceAmountTemplateCompiled=Hogan.compile('<li class="{{Class}} js-auto-select prices-item" data-duration="{{Duration}}" data-product-name="{{RoomType}}"><div class=" popinfo" data-toggle="popover" data-original-title="" data-content="{{Inclusion}}"><span class="room-type">{{RoomType}}<\/span><span class="price price-2ndstyle"><span class="from">From<\/span> <span class="price" data-price="{{Price}}">{{PriceText}}<\/span><span class="info-icon"><\/span><span class="per-night">per night, {{DurationText}}<\/span><\/span>{{{KeySellingPoint}}}<\/div><\/li>');VYG.checkavailability.roomTypeFirstFromPriceAmountTemplateCompiledSpecial=Hogan.compile('<li class="{{Class}} prices-item" data-duration="{{Duration}}" data-product-name="{{RoomType}}"><a href="" class="special-link jq-special-link" target="_blank"><div class=" popinfo" data-toggle="popover" data-original-title="" data-content="{{Inclusion}}"><span class="room-type">{{RoomType}}<\/span><span class="price price-2ndstyle"><span class="from">From<\/span> <span class="price" data-price="{{Price}}">{{PriceText}}<\/span><span class="info-icon"><\/span><span class="per-night">per night, {{DurationText}}<\/span><\/span>{{{KeySellingPoint}}}<\/div><\/a><\/li>');VYG.checkavailability.roomTypeSecondFromPriceAmountTemplateCompiled=Hogan.compile('<li class="{{Class}} js-auto-select prices-item" data-duration="{{Duration}}" data-product-name="{{RoomType}}"><div class=" popinfo" data-toggle="popover" data-original-title="" data-content="{{Inclusion}}"><span class="room-type"><span class="price-icon"><\/span>{{RoomType}}<\/span><span class="price price-2ndstyle"><span class="from">From<\/span><span class="price" data-price="{{Price}}">{{PriceText}}<\/span><span class="info-icon"><\/span><span class="per-night">per night, {{DurationText}}<\/span><\/span>{{{KeySellingPoint}}}<\/div><\/li>');VYG.checkavailability.roomTypeSecondFromPriceAmountTemplateCompiledSpecial=Hogan.compile('<li class="{{Class}} prices-item" data-duration="{{Duration}}" data-product-name="{{RoomType}}"><a href="" class="special-link jq-special-link" target="_blank"><div class=" popinfo" data-toggle="popover" data-original-title="" data-content="{{Inclusion}}"> <span class="room-type"><span class="price-icon"><\/span>{{RoomType}}<\/span><span class="price price-2ndstyle"><span class="from">From<\/span><span class="price" data-price="{{Price}}">{{PriceText}}<\/span><span class="info-icon"><\/span><span class="per-night">per night, {{DurationText}}<\/span><\/span>{{{KeySellingPoint}}}<\/div><\/a><\/li>');VYG.checkavailability.roomTypeThirdFromPriceAmountTemplateCompiled=Hogan.compile('<li class="{{Class}} js-auto-select prices-item" data-duration="{{Duration}}" data-product-name="{{RoomType}}"><div class=" popinfo" data-toggle="popover" data-original-title="" data-content="{{Inclusion}}"><span class="room-type best-price"><span class="price-icon"><\/span>best value <span>{{RoomType}}<\/span><\/span><span class="price price-2ndstyle"><span class="from">From<\/span><span class="price" data-price="{{Price}}">{{PriceText}}<\/span><span class="info-icon"><\/span><span class="per-night">per night, {{DurationText}}<\/span><\/span>{{{KeySellingPoint}}}<\/div><\/li>');VYG.checkavailability.roomTypeThirdFromPriceAmountTemplateCompiledSpecial=Hogan.compile('<li class="{{Class}} prices-item" data-duration="{{Duration}}" data-product-name="{{RoomType}}"><a href="" class="special-link jq-special-link" target="_blank"><div class=" popinfo" data-toggle="popover" data-original-title="" data-content="{{Inclusion}}"> <span class="room-type best-price"><span class="price-icon"><\/span>best value <span>{{RoomType}}<\/span><\/span><span class="price price-2ndstyle"><span class="from">From<\/span><span class="price" data-price="{{Price}}">{{PriceText}}<\/span><span class="info-icon"><\/span><span class="per-night">per night, {{DurationText}}<\/span><\/span>{{{KeySellingPoint}}}<\/div><\/a><\/li>');VYG.checkavailability.roomTypeSpecialFromPriceAmountTemplateCompiled=Hogan.compile('<li class="{{Class}} prices-item"><a href="" class="special-link"><div class=" popinfo" data-toggle="popover" data-original-title="" data-content="{{Inclusion}}"><span class="from best-price"><span class="price-icon"><\/span><span>{{RoomType}}<\/span><\/span><span class="price" data-price="{{Price}}">{{PriceText}}<\/span><span class="info-icon"><\/span><span class="per-unit">{{{InfoDetail}}}<\/span><\/div><\/a><\/li>')},headerDateTemplateCompiled:{},compileHeaderDateTemplate:function(){VYG.checkavailability.headerDateTemplateCompiled=Hogan.compile('<th data-iso-date="{{dateISO}}" class="{{classAttribute}}"><div class="rate">{{date}}<\/div><\/th>')},productNameColumnTemplateCompiled:{},productPricesColumnTemplateCompiled:{},productUnavailableTemplateCompiled:{},productNoPricesColumnTemplateCompiled:{},productConfigurationTemplateCompiled:{},productNameUnavailableColumnTemplateCompiled:{},compileBodyTemplate:function(){VYG.checkavailability.productNameColumnTemplateCompiled=Hogan.compile('<td class="js-popover-rates" data-inclusion="{{Inclusion}}" data-toggle="popover"><span class="product-name" style="font-size: 14px;padding-bottom: 0;">{{{IconBestValue}}}{{ProductName}}<\/span><span class="duration" style="padding-top: 3px;font-size: 12px;color: #a3261c;">Min. {{MinNights}} night rate  <span class="info-icon"><\/span><\/span>{{{KeySellingPoint}}}<\/td>');VYG.checkavailability.productPricesColumnTemplateCompiled=Hogan.compile('<td data-product-configs="{{ProductConfigs}}" data-toggle="popover" data-isAvailable="{{IsAvailable}}" data-duration="{{Duration}}" data-original-title="{{SpecialOffersTitle}}" data-content="{{TermsAndConditions}}" data-inclusion="{{Inclusion}}" data-policy="{{CancellationPolicy}}" data-source-id="{{SourceId}}" data-product-sub-code="{{ProductSubCode}}" data-product-id="{{ProductId}}" data-product-name="{{ProductName}}" data-adult="{{AdultQuantity}}" data-child="{{ChildQuantity}}" data-date-group="{{DateGroup}}" data-total-cost={{TotalCost}} data-adult-cost={{AdultCost}} data-child-cost={{ChildCost}} data-extra-pax-applied={{IsExtraPersonApplied}} data-extra-pax-cost={{ExtraPersonCost}} data-promotion-applied="{{IsPromotionApplied}}" data-room-index={{RoomIndex}} class="{{ClassAttribute}} {{ClassAttributePopover}}"><div class="rate {{ClassBestValue}}"><div class="rate-inner"><strong><span class="was"><span class="price" style="text-decoration: line-through;" data-price="{{ComparisonRateTotalCost}}">{{ComparisonRateTotalCostText}}<\/span><\/span><span class="price" data-price="{{TotalCost}}">{{TotalCostText}}<\/span><\/strong>{{{BextBestValue}}}<span class="rooms-left">{{RoomsLeft}}<\/span><\/div><\/div><\/td>');VYG.checkavailability.productNoPricesColumnTemplateCompiled=Hogan.compile('<td class="disabled {{ClassAttribute}}" data-isAvailable="false" data-date-group="{{DateGroup}}" data-product-id="{{ProductId}}">{{ContactInfo}}<\/td>');VYG.checkavailability.productUnavailableTemplateCompiled=Hogan.compile('<td class="disabled" data-isAvailable="false" data-date-group="{{DateGroup}}" data-product-id="{{ProductId}}" data-product-sub-code="{{ProductSubCode}}">SOLD OUT<\/td>');VYG.checkavailability.productConfigurationTemplateCompiled=Hogan.compile('<div class="controls"><input type="radio" id="config_product_id_{{RoomIndex}}{{ProductId}}" name="configProduct_{{RoomIndex}}" data-product-id="{{ProductId}}" data-product-name="{{ProductName}}"/><label for="config_product_id_{{RoomIndex}}{{ProductId}}">{{Title}}<\/label><\/div>');VYG.checkavailability.productNameUnavailableColumnTemplateCompiled=Hogan.compile('<td><span style="padding-top: 10px;font-size: 13px;padding-bottom: 0;">{{Title}}<\/span><\/td>')},roomFormTemplateCompiled:{},compileRoomFormTemplate:function(){VYG.checkavailability.roomFormTemplateCompiled=Hogan.compile('<div class="row-fluid{{ClassAttribute}}"><div class="span3 find-avail-date"><\/div><div class="span1 find-avail-nights"><\/div><div class="span1 find-avail-rooms"><span class="label-text">{{RoomCounter}}<\/span><\/div><div class="span1 find-avail-adults"><div class="control-group"><label class="control-label" for="{{SelectAdultId}}">Adults<\/label><div class="controls"><select id="{{SelectAdultId}}" data-placeholder="0" class="selAdult"><option value="1" selected>1<\/option><option value="2">2<\/option><option value="3">3<\/option><option value="4">4<\/option><option value="5">5<\/option><option value="6">6<\/option><\/select><\/div><\/div><\/div><div class="span1 find-avail-children select-children"><div class="control-group"><label class="control-label" for="{{SelectChildId}}">Children<\/label><div class="controls"><select id="{{SelectChildId}}" data-product-id="{{ProductId}}" class="selChild"><option value="0">0<\/option><option value="1">1<\/option><option value="2">2<\/option><option value="3">3<\/option><option value="4">4<\/option><option value="5">5<\/option><\/select><\/div><\/div><\/div><div class="span1 find-avail-disability"><div class="control-group disabled hide"><div class="controls check-disability pos-relative"><label for="{{HelpDisabilityId}}">Help disability<\/label><input type="checkbox" id="{{HelpDisabilityId}}"><span class="">  <span class="info-icon"><\/span><\/span><span class=" popinfo" data-toggle="popover" data-original-title="" data-content="Check to filter rooms that cater disability">  <span class="info-icon"><\/span><\/span><\/div><\/div><\/div><div class="span3 find-avail-check-avail"><\/div><\/div>')},availabilitiesRoomTemplateCompiled:{},availabilitiesRoomTemplateDefaultCompiled:{},availabilitiesRoomTemplateErrorTemplateCompiled:{},compileRoomAvailabilitiesTemplate:function(){VYG.checkavailability.availabilitiesRoomTemplateCompiled=Hogan.compile('<div class="accordion-group" data-room-index={{RoomIndex}}><div id="{{AccordionHeaderId}}" class="accordion-heading" data-product-id="{{ProductId}}" data-adult="{{TotalAdult}}" data-child="{{TotalChild}}"><div class="accordion-header in"><div class="row-fluid"><div class="span12"><h4 class="room-title">{{SelectRoomRate}}<font color="black">{{PromoCode}}<\/font><\/h4><\/div><\/div><\/div><\/div><div id="{{AccordionBodyId}}" class="accordion-body collapse in"><div class="accordion-inner"><div class="find-tour-error clearfix"><span class="alert-icon span1"><\/span><div class="warning-text span11"><h4>Please Amend The Following Errors<\/h4><div class="error-items">Please select number of person<\/div><\/div><\/div><div id="{{TableWrapperId}}" class="find-tour-table-wrap"><table class="find-tour-table" data-room-index="{{RoomIndex}}"><thead><tr><\/tr><\/thead><tbody><\/tbody><\/table><\/div><div class="row-fluid room-summary"><\/div><div class="row-fluid room-bedding"><\/div><div class="row-fluid room-optional-extras"><\/div><div class="row-fluid room-amount-total"><\/div><div class="row-fluid next-prev-room"><\/div><\/div><\/div><\/div>');VYG.checkavailability.availabilitiesRoomTemplateDefaultCompiled=Hogan.compile('<div class="row-fluid"><div class="span12"><div class="wyswyg-cont"><p>To see available rooms &amp; prices, complete the CHECK AVAILABILITY panel above and click GO<\/p><\/div><\/div><\/div>');VYG.checkavailability.availabilitiesRoomTemplateErrorTemplateCompiled=Hogan.compile('<div class="find-tour-error clearfix" style=""><span class="alert-icon span1"><\/span><div class="warning-text span11"><h4>{{Title}}<\/h4><div class="error-items">{{{Message}}}<\/div><\/div><\/div>')},roomSummaryTemplateCompiled:{},roomTermCancellationTemplateCompiled:{},compileRoomSummaryTemplate:function(){VYG.checkavailability.roomSummaryTemplateCompiled=Hogan.compile('<div class="span6"><span class="tour-name room-index">{{RoomIndex}}<\/span><ul class="list-plain"><li>{{RoomTitle}}<\/li><li>{{TotalNight}}<\/li><li class="{{Class}}">{{TotalAdult}}<\/li><li class="{{Class}}">{{TotalChild}}<\/li><li>{{ProductName}}<\/li><li>{{ProductTitle}}<\/li><\/ul><\/div>');VYG.checkavailability.roomTermCancellationTemplateCompiled=Hogan.compile('<div class="span8 terms-cancellation-wrap">{{{cancellationInfo}}}<div class="terms-cancellation {{classTermsCancellation}}"><a href="#" class="global-terms-n-condition terms" data-content="{{{termsContent}}}">Offer Terms &amp; Conditions<\/a> | <a href="#" class="global-cancellation-policy terms" data-content="{{{cancellationContent}}}">Cancellation Policy<\/a><div class="intro">{{{introText}}}<\/div><\/div><\/div><div class="span4 amount-sub-wrap"><span class="amount-sub-tax-text pos-relative"><span class="popinfo i-block" data-toggle="popover" data-original-title="" data-content="{{InfoPopOverText}}"><span class="amount-sub">${{amoutSubTotal}}<\/span><span class="info-icon"><\/span> {{InfoText}}<\/span><\/span><\/div>')},roomBeddingTemplateCompiled:{},roomBeddingSingleTemplateCompiled:{},compileRoomBeddingTemplate:function(){var n;VYG.checkavailability.roomBeddingTemplateCompiled=Hogan.compile('<div class="span12"><h3>Choose Bedding<\/h3><div class="intro">Select your bedding preference<\/div><select id="{{BeddingId}}" class="select2 select-bedding" data-placeholder="No Preference">{{{BeddingOptions}}}<\/select><\/div>');n='<div class="span12"><h3>BEDDING CONFIGURATION<\/h3><span class="bedding-title">- {{titleBedding}}<\/span><div class="select-bedding-wrap"><select id="{{BeddingId}}" class="select2 select-bedding" data-placeholder="No Preference">{{{BeddingOptions}}}<\/select><\/div><\/div>';VYG.checkavailability.roomBeddingSingleTemplateCompiled=Hogan.compile(n)},roomOptionalExtrasTemplateCompiled:{},roomOptionalExtrasTemplateRawCompiled:{},compileRoomOptionalExtrasTemplate:function(){VYG.checkavailability.roomOptionalExtrasTemplateCompiled=Hogan.compile('<div class="span12"><h3>ADD optional extras<\/h3><div class="intro">Select from any of the items below to add to your itinerary.<\/div><\/div>');VYG.checkavailability.roomOptionalExtrasTemplateRawCompiled=Hogan.compile("<div class='additional-product-wrapper' data-ratedescriptorid='{{rateDescriptorId}}'><div class='additional-product-scroller'><table class='additional-product-table'><thead><tr><th class='additional-product-sticky-col'><span class='prev-next-wrap {{classNavigation}}'><a href='javascript:void(0);' title='Prev' class='icon-prev-optional disabled' data-page-active='1' data-page-total='{{totalPage}}'>Prev<\/a><a href='javascript:void(0);' title='Next' class='icon-next-optional' data-page-active='1' data-page-total='{{totalPage}}'>Next<\/a><\/span><\/th>{{#OptionsSelected}}<th class='{{class}} daycount'>Day <\/th>{{/OptionsSelected}}<\/tr><\/thead><tbody>{{#Products}}<tr class='{{class}}'><td class='additional-product-sticky-col'>{{Title}} <span class='total-price red'><\/span> {{{optionKeySellingPoint}}}<\/td>{{#ProductOptions}}<td class='{{class}}'><div class='controls' style='width:135px;margin: 0 auto;'>{{#IsAvailable}}<label for='chk_{{{DayIndex}}}_{{ProductId}}_{{currentRoomTypeShortId}}_{{roomTypeIndex}}_{{roomIndex}}' class='control-label' data-ratedescriptorid='{{rateDescriptorId}}' data-currentRoomTypeShortId='{{currentRoomTypeShortId}}' data-currentRoomTypeShortId='{{currentRoomTypeShortId}}'><span class='price' data-price='{{{AdultPrice}}}'>{{{AdultDisplayPrice}}}<\/span>{{{AdultPriceText}}}<br /><span class='price' data-price='{{{ChildPrice}}}'>{{{ChildDisplayPrice}}}<\/span>{{{ChildPriceText}}}<\/label><input class='pretty-checkable cb-price' type='checkbox' data-currentRoomTypeShortId='{{currentRoomTypeShortId}}' id='chk_{{{DayIndex}}}_{{ProductId}}_{{currentRoomTypeShortId}}_{{roomTypeIndex}}_{{roomIndex}}' value='1' data-product-price='{{{AdultPrice}}}' data-product-price-child='{{{ChildPrice}}}' data-productid='{{ProductId}}' data-day-index='{{{DayIndex}}}' data-order-date='{{{OrderDate}}}'>{{/IsAvailable}}<\/div><\/td>{{/ProductOptions}}<\/tr>{{/Products}}<\/tbody><\/table><\/div><\/div>")},roomAmountTotalDefaultTemplateCompiled:{},compileRoomAmountTotalDefaultTemplate:function(){VYG.checkavailability.roomAmountTotalDefaultTemplateCompiled=Hogan.compile('<div class="span12 amount-total-wrap"><span class="amount-total-tax-text pos-relative"><span class="popinfo i-block" data-toggle="popover" data-original-title="" data-content="{{infoPopOverText}}"><span class="amount-total" data-amountopex="{{amountopex}}" data-amounttotal="{{amountTotal}}">{{amountTotalFormat}}<\/span><span class="info-icon"><\/span> {{infoText}}<\/span><\/span><div class="currency-note hide"><p>Foreign currency conversions are given as guidance only and are non-binding. All reservations, regardless of their origin, are payable in AUD.<\/p><\/div><\/div>')},roomAmountTotalTemplateCompiled:{},compileRoomAmountTotalTemplate:function(){VYG.checkavailability.roomAmountTotalTemplateCompiled=Hogan.compile('<div class="span12 amount-total-wrap"><span class="amount-total-tax-text pos-relative"><span class="popinfo i-block" data-toggle="popover" data-original-title="" data-content="{{infoPopOverText}}"><span class="amount-total" data-amountopex="{{amountopex}}" data-amounttotal="{{amountTotal}}">{{amountTotalFormat}}<\/span><span class="info-icon"><\/span> {{infoText}}<\/span><\/span><div class="currency-note"><p>Foreign currency conversions are given as guidance only and are non-binding. All reservations, regardless of their origin, are payable in AUD.<\/p><\/div><\/div>')},optionalServiceOptionTemplateCompiled:{},optionalServiceTemplateCompiled:{},compileOptionalServiceTemplate:function(){var n;VYG.checkavailability.optionalServiceTemplateCompiled=Hogan.compile('<li><div class="control-group"><div class="controls"><select id="Room{{RoomIndex}}_optional_{{OptionalServiceIndex}}" class="select2 opt-service-number" data-subproduct-id="{{SubproductId}}" data-room-index={{RoomIndex}} data-price={{Price}}><option value="0" selected>0<\/option>{{{options}}}<\/select><label class="control-label" for="Room{{RoomIndex}}_optional_{{OptionalServiceIndex}}">{{Title}} <span class="price" data-price="{{Price}}">${{PriceText}}<\/span><\/label><\/div><\/div><\/li>');n='<option value="{{Quantity}}">{{Quantity}}<\/option>';VYG.checkavailability.optionalServiceOptionTemplateCompiled=Hogan.compile(n)},nextRoomButtonTemplateCompiled:{},optionalServiceSummaryTemplateCompiled:{},compileOptionalServiceSummaryTemplate:function(){var n;VYG.checkavailability.optionalServiceSummaryTemplateCompiled=Hogan.compile('<div class="room-total"><span class="amount" data-room-index="{{RoomIndex}}">${{PricePerRoom}}.00<\/span><span class="amount-sub">Room Total<\/span>{{{ExtraCharge}}}{{{NextRoomButtonHTML}}}<\/div >');n='<a id="{{NextRoomButtonId}}" href="javascript:void(0);" class="button dark nextRoom">Next Room<\/a>';VYG.checkavailability.nextRoomButtonTemplateCompiled=Hogan.compile(n)},extraPersonChargeTemplateCompiled:{},compileExtraPersonChargeTemplate:function(){VYG.checkavailability.extraPersonChargeTemplateCompiled=Hogan.compile('<span class="amount-sub-info">extra person rate applied<br><span class="amount-sub-info2">${{ExtraPersonRate}}.00 per person<\/span><\/span>')},upgradePanelTemplateCompiled:{},compileUpgradePanelTemplate:function(){VYG.checkavailability.upgradePanelTemplateCompiled=Hogan.compile('<h4>Select any Additional Extras You Would like:<\/h4><div class="row-fluid"><div class="span8 optional-service-container">{{{OptionalServices}}}<\/div><div class="span4">{{{RoomSummary}}}<\/div>')},nextPrevRoomTemplateCompiled:{},compileNextPrevRoomTemplate:function(){VYG.checkavailability.nextPrevRoomTemplateCompiled=Hogan.compile('<a id="" href="javascript:void(0);" class="button dark {{classButton}} clearfix">{{titleButton}}<\/a><\/div>')},triggerGetAccommodationData:function(){var n=$J(window).width(),i=$J(window).scrollTop(),t;i==0?n<768?VYG.checkavailability.animatePosition($J(".accommodation-details .row-fluid .currency-wrap"),0):VYG.checkavailability.animatePosition($J(".accommodation-details .row-fluid .currency-wrap"),110):VYG.checkavailability.animatePosition($J(".accommodation-details .row-fluid .currency-wrap"),70);VYG.checkavailability.AjaxRequestComplete=0;VYG.checkavailability.AjaxRequestNumber=0;VYG.checkavailability.renderSelectRoomInfo();VYG.checkavailability.resetDataPost(!0);$cont=VYG.checkavailability.isAccSpecial?$J("div[id^='accordion_grandparent_id_']").find($J("div[id^='accordion_acc_detail_view_room_']")):$J("div[id^='accordion_acc_detail_view_room_']");t=$cont.length-1;$cont.each(function(i){var u=$J(this).data("product-ids")?$J(this).data("product-ids"):null,r=VYG.checkavailability.createProductIdKey(u),f,e,o;r.currentProductId&&(VYG.checkavailability.AjaxRequest[r.currentRoomTypeShortId]&&(VYG.checkavailability.AjaxRequestAbort[r.currentRoomTypeShortId]=!0,VYG.checkavailability.AjaxRequest[r.currentRoomTypeShortId].abort()),f=VYG.checkavailability.elGlobal,e=$J(f).find("#bookingbar_selected_checkin").val(),$J(r.currentProductContainer).find(".button-book").attr("data-checkin-date",e),VYG.checkavailability.isBrowse[r.currentRoomTypeShortId]=!1,o="#FFF",VYG.loadingLiteAcco($J(r.currentProductContainer).find(".prices-cont"),"loading_"+r.currentRoomTypeShortId,o),$J(r.currentProductContainer).find(".button-book").attr("disabled","disabled").addClass("disabled"),$J(r.currentProductContainer).find(".prices-cont ul.prices-default").find(".price-info-text").hide(),VYG.checkavailability.hideCalendarError(r),VYG.checkavailability.getAccommodationData(u),t==i&&window.location.href.indexOf("?productsubcode")>-1&&specialOnce==!1&&(specialOnce=!0),n<768&&$J(r.currentProductContainer).find(".title-cont a.i-icon").removeClass().addClass("mn-sec-button"))});VYG.exchangeRateConversion.updateAllPricesWithExchangeRate()},setPrevNextEvent:function(){$J(document).off("click",".accordion-body .prev-next-wrap .icon-prev:not(.icon-prev.disabled)").on("click",".accordion-body .prev-next-wrap .icon-prev:not(.icon-prev.disabled)",function(){VYG.checkavailability.prevAction($J(this))});$J(document).off("click",".accordion-body .prev-next-wrap .icon-next:not(.icon-next.disabled)").on("click",".accordion-body .prev-next-wrap .icon-next:not(.icon-next.disabled)",function(){VYG.checkavailability.nextAction($J(this))})},resetBookData:function(n){var t=$J(n.currentProductContainer).find(".button-book");t.removeAttr("data-duration data-rate-index data-rate-row disabled").removeClass("disabled")},nextAction:function(n){var i=$J(n).parents("div[id^='accordion_acc_detail_'].accordion-group").find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),t=VYG.checkavailability.createProductIdKey(i),f=$J(t.currentProductContainer).find(".find-tour-table:eq(0) thead th:last").data("iso-date"),r=moment(f).add("days",1).format("DD/MM/YYYY"),u;$J(t.currentProductContainer).find(".button-book").attr("data-browse-date",r);VYG.checkavailability.isBrowse[t.currentRoomTypeShortId]=!0;u="#FFF";VYG.loadingLiteAcco($J(t.currentProductContainer).find(".accordion-body-book-room-availabilities"),"loading_"+t.currentRoomTypeShortId,u);$J(t.currentProductContainer).find(".accordion-body-book-room-availabilities .icon-arrow-up").css("opacity","0.2");VYG.checkavailability.getAccommodationData(i,r,"next")},prevAction:function(n){var r=$J(n).parents("div[id^='accordion_acc_detail_'].accordion-group").find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),t=VYG.checkavailability.createProductIdKey(r),u=$J(t.currentProductContainer).find(".find-tour-table:eq(0) thead th:nth-child(2)").data("iso-date"),e=moment(u).subtract("days",7)<moment(VYG.checkavailability.today()).add("days",3),i=moment(u).subtract("days",7).format("DD/MM/YYYY"),f;e&&(i=moment(VYG.checkavailability.today()).add("days",3).format("DD/MM/YYYY"));$J(t.currentProductContainer).find(".button-book").attr("data-browse-date",i);VYG.checkavailability.isBrowse[t.currentRoomTypeShortId]=!0;f="#FFF";VYG.loadingLiteAcco($J(t.currentProductContainer).find(".accordion-body-book-room-availabilities"),"loading_"+t.currentRoomTypeShortId,f);$J(t.currentProductContainer).find(".accordion-body-book-room-availabilities .icon-arrow-up").css("opacity","0.2");VYG.checkavailability.getAccommodationData(r,i)},setDisablePrev:function(n){var t=$J(n.currentProductContainer).find(".find-tour-table thead tr th:nth-child(2)").data("iso-date"),i=t==moment(VYG.checkavailability.today()).add("days",3).format("YYYY-MM-DD");$J(n.currentProductContainer).find(".prev-next-wrap .icon-prev").addClass(i?"disabled":"")},getAccommodationData:function(n,t){var h=$J("input#PredefinedParameters").data("product-sub-code")||"",f=VYG.checkavailability.elGlobal,ft=$J(f).find("#bookingbar_selected_checkin").val(),c=ft.split("/"),et=new Date(parseInt(c[2]),parseInt(c[1])-1,parseInt(c[0]),0,0,0,0),ot=n,i=VYG.checkavailability.createProductIdKey(ot),st=VYG.checkavailability.isSoldPerBedProduct(i),ht=$J(f).find("#bookingbar_promo_code").val(),ct=$J(f).find("#bookingbar_currency_code").val(),lt,r,u,o,g,nt,tt,l,s,a,it,rt,ut,v;VYG.checkavailability.checkinDates[i.currentRoomTypeShortId]=moment(et).format("DD/MM/YYYY");VYG.checkavailability.isBrowse[i.currentRoomTypeShortId]||(VYG.checkavailability.duration[i.currentRoomTypeShortId]=parseInt(f.find("#bookingbar_select_night_qty").val()),VYG.checkavailability.roomNumber[i.currentRoomTypeShortId]=$J(f).find("#bookingbar_select_room_qty").val()=="10+"?10:$J(f).find("#bookingbar_select_room_qty").val(),VYG.checkavailability.totalAdult[i.currentRoomTypeShortId]=0,VYG.checkavailability.totalChild[i.currentRoomTypeShortId]=0,VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId]="");lt=VYG.checkavailability.isAccSpecial?$J("div[id^='accordion_grandparent_id_']").find($J("div[id^='accordion_acc_detail_view_room_']")):$J("div[id^='accordion_acc_detail_view_room_']");VYG.checkavailability.checkAvailabilityInProgress[i.currentRoomTypeShortId]=!0;var y=!1,p=moment(VYG.checkavailability.checkinDates[i.currentRoomTypeShortId],"DD/MM/YYYY"),w=moment(VYG.initDatePicker.defaultDate),b=moment(VYG.initDatePicker.startDate),e=Math.abs(w.diff(p,"days"))!=0?moment(p):w;for(VYG.checkavailability.calendarStartDate[i.currentRoomTypeShortId]=t?moment(t,"DD/MM/YYYY"):e.diff(b,"days")>=2?e.subtract(1,"days"):e.diff(b,"days")>=1?e.subtract(1,"days"):e,r={DelimitedProductIds:n,StartDate:VYG.checkavailability.calendarStartDate[i.currentRoomTypeShortId].format(),EndDate:moment(VYG.checkavailability.calendarStartDate[i.currentRoomTypeShortId]).add("days",11).format(),TotalAdult:VYG.checkavailability.totalAdult[i.currentRoomTypeShortId],TotalChild:VYG.checkavailability.totalChild[i.currentRoomTypeShortId],Duration:VYG.checkavailability.duration[i.currentRoomTypeShortId],DelimitedChildAges:VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId],RoomQuantity:VYG.checkavailability.roomNumber[i.currentRoomTypeShortId],RoomTypeShortId:i.currentRoomTypeShortId,ProductSubCode:h,PromoCode:ht,currencyCode:ct,__RequestVerificationToken:$J('input[name="__RequestVerificationToken"]').val()},r.IsSupportDisability=!1,r.RoomConfigurations=[],u=0;u<VYG.checkavailability.roomNumber[i.currentRoomTypeShortId];u++){var k=VYG.checkavailability.checkAvailData.roomData[u].adult,d=VYG.checkavailability.checkAvailData.roomData[u].child,at=u+1;for(o=0;o<VYG.checkavailability.checkAvailData.roomData[u].childData.length;o++)g=VYG.checkavailability.checkAvailData.roomData[u].childData[o],VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId]+=","+g;VYG.checkavailability.isBrowse[i.currentRoomTypeShortId]||(VYG.checkavailability.totalAdult[i.currentRoomTypeShortId]+=parseInt(k),VYG.checkavailability.totalChild[i.currentRoomTypeShortId]+=parseInt(d));r.RoomConfigurations.push({RoomIndex:at,AdultQuantity:k,ChildQuantity:d,IsHelpDisability:y})}r.RoomConfigurationString=JSON.stringify(r.RoomConfigurations);VYG.checkavailability.isBrowse[i.currentRoomTypeShortId]||(r.TotalAdult=VYG.checkavailability.totalAdult[i.currentRoomTypeShortId],r.TotalChild=VYG.checkavailability.totalChild[i.currentRoomTypeShortId],VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId]&&VYG.checkavailability.totalChild[i.currentRoomTypeShortId]>0&&(VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId]=VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId].substring(1),r.DelimitedChildAges=VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId]));st&&(VYG.checkavailability.roomNumber[i.currentRoomTypeShortId]=1,VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId]="",r.RoomQuantity=VYG.checkavailability.roomNumber[i.currentRoomTypeShortId],r.TotalChild=VYG.checkavailability.totalChild[i.currentRoomTypeShortId],r.DelimitedChildAges=VYG.checkavailability.delimitedChildAges[i.currentRoomTypeShortId],r.RoomConfigurations=[],r.RoomConfigurations.push({RoomIndex:1,AdultQuantity:r.TotalAdult,ChildQuantity:r.TotalChild,IsHelpDisability:y}),r.RoomConfigurationString=JSON.stringify(r.RoomConfigurations));VYG.checkavailability.roomConfigurations=r.RoomConfigurations;VYG.checkavailability.checkAvailabilityData=r;VYG.cookie.create("TRAVELSTARTDATE",moment(VYG.checkavailability.checkInDate,"DD/MM/YYYY").format("YYYY-MM-DD"),1);VYG.checkavailability.isBrowse[i.currentRoomTypeShortId]||(nt=JSON.parse($J.cookie("check-avail-data")),$J(i.currentProductContainer).find(".button-book").attr("data-night-stay",nt.duration).attr("data-origin-date",VYG.checkavailability.calendarStartDate[i.currentRoomTypeShortId].format("DD/MM/YYYY")).addClass("js-data-added"));tt=window.location.href.indexOf("?productsubcode")>-1;tt&&specialOnce!=!0&&(h=VYG.checkavailability.getQueryVariable("productsubcode"),r.ProductSubCode=h);r!=null&&(l="/checkavailability/CheckAccommodationCalendar",s=$J(window).width(),s<768&&($J(".search_results_wrap").find(".startDate").html()==""&&(a=$J(".search_results_wrap").show(),it=r.Duration+(r.Duration>1?" Nights":" Night"),$J(a).find(".startDate").html(moment(r.StartDate).add(1,"days").format("DD MMM YYYY")+" - "+it),rt=r.TotalAdult+(r.TotalAdult>1?" Adults":" Adult"),ut=r.TotalChild>0?" - "+r.TotalChild+(r.TotalChild>1?" Children":" Child"):"",$J(a).find(".config").html(rt+ut)),l="/checkavailability/CheckMobileAccommodationAvailability"),VYG.checkavailability.AjaxRequestAbort[i.currentRoomTypeShortId]=!1,VYG.checkavailability.AjaxRequestNumber++,VYG.checkavailability.AjaxRequest[i.currentRoomTypeShortId]=$J.ajax({url:l,data:r,global:!1,type:"POST",dataType:"json"}),v=$J("#product-availability-warning"),v&&v.hide(),VYG.checkavailability.AjaxRequest[i.currentRoomTypeShortId].done(function(t){var ft=$J(i.currentProductContainer).find(".button-book"),et=JSON.parse($J.cookie("check-avail-data")),y,p,f,nt,tt,it,rt,ut,w,u,h,b,o,k;if(VYG.checkavailability.isBrowse[i.currentRoomTypeShortId]?(VYG.unloading($J(i.currentProductContainer).find(".accordion-body-book-room-availabilities")),$J(i.currentProductContainer).find(".accordion-body-book-room-availabilities .icon-arrow-up").css("opacity","1")):(VYG.unloading($J(i.currentProductContainer).find(".prices-cont")),ft.removeAttr("disabled").removeClass("disabled")),t&&t.IsSucceed){if(VYG.checkavailability.isAccSpecial)if(s<768){if(y=$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .prices-cont .button-book").attr("href"),$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .prices-cont").hide(),$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .accordion-header").after(t.ActionMessage),p=$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .search_results_wrap a").attr("href"),p=="#")$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .search_results_wrap a").attr("href",y.replace("?productsubcode={productsubcode}",""));else if($J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .search_results_wrap a").attr("href",y.replace("{productsubcode}",p)),f=JSON.parse($J.cookie("check-avail-data")||null),f!=null){var c=f.currencyCode?f.currencyCode:"AUD",d=currencySymbols[c],g=exchangeRates[c];$J("[data-product-ids='"+i.currentProductId+"']").parent().find("span[class='price']").each(function(n,t){var i=$J(t).attr("data-price"),r;i!=null&&i>0&&(r=d+Math.round(i*g),$J(t).text(r))})}}else VYG.checkavailability.renderAccommodationSpecialData(t,i);else if(s<768){if($J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .prices-cont").remove(),$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .title-cont a.mn-sec-button").show(),$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".search_results_wrap").show(),$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".search_results_wrap").html(t.ActionMessage),f=JSON.parse($J.cookie("check-avail-data")||null),f!=null){var c=f.currencyCode?f.currencyCode:"AUD",d=currencySymbols[c],g=exchangeRates[c];$J("[data-product-ids='"+i.currentProductId+"']").parent().find("span[class='price']").each(function(n,t){var i=$J(t).attr("data-price"),r;i!=null&&i>0&&(r=d+Math.round(i*g),$J(t).text(r))})}nt=$J(".accordion-inner .wyswyg-cont").html();$J("[data-product-ids='"+i.currentProductId+"']").parent().find(".accordion-heading .title-cont a").data("target",nt)}else tt=VYG.checkavailability.checkRoomIsAvailable(t,et),VYG.checkavailability.renderAccommodationData(t,i,tt),it=window.location.href.indexOf("?checkmode=on")>-1,rt=window.location.href.indexOf("upi=")>-1,it&&rt&&(ut=$J("#UserProductItineraryData"),w=$J(ut).attr("data-userproductitinerary-productid"),w!=null&&w==n&&setTimeout(function(){$J(i.currentProductContainer).find("button.button-book").trigger("click")},2500));if($J("span.price").each(function(){$J(this).html($J(this).html().replace(/,/g,""))}),u=$J("#product-availability-warning"),u&&u.length!=0){var l=moment(r.StartDate.slice(0,-1).split("T"),"YYYY-MM-DD").valueOf(),a=moment(r.EndDate.slice(0,-1).split("T"),"YYYY-MM-DD").valueOf(),ot=u.data("startdate"),st=u.data("enddate"),e=ot.split("-"),v=new Date(e[0],e[1]-1,e[2]);if(e=st.split("-"),h=new Date(e[0],e[1]-1,e[2]),t.AccommodationCalendars&&(b=t.AccommodationCalendars[0].RateAvailabilities,b.length>0&&(o=b[0].Availabilities,o.length>0))){var ht=o.length<=7?o.length:7,l=moment(o[0].Date.slice(0,-1).split("T"),"YYYY-MM-DD").valueOf(),a=moment(o[ht-1].Date.slice(0,-1).split("T"),"YYYY-MM-DD").valueOf();l>=v&&l<=h||a>=v&&a<=h?u.show():u.hide()}l>=v&&l<=h||a>=v&&a<=h?u.show():u.hide()}}else k={Title:t.TitleOverlay,ActionMessage:t.ActionMessage,BookingReferenceId:t.BookingReferenceId,ErrorCode:t.ErrorCode},VYG.checkavailability.isBrowse[i.currentRoomTypeShortId]?VYG.checkavailability.showCalendarError(k,i):VYG.checkavailability.showCalendarError(k,i,"ErrorMessageOne"),$J(i.currentProductContainer).find(".room-availabilities .accordion-group").each(function(n){var t=n;VYG.checkavailability.renderBookingElement(i,t,"hide")}),VYG.checkavailability.isAccSpecial&&$J(i.currentProductContainer).find(".prices-cont ul.prices-default").show().find(".price-info-text").html("NO VALID RATE CODE FOUND").show();VYG.checkavailability.AjaxRequestComplete++}),VYG.checkavailability.AjaxRequest[i.currentRoomTypeShortId].fail(function(){var t=$J(i.currentProductContainer).find(".button-book"),n;VYG.checkavailability.AjaxRequestAbort[i.currentRoomTypeShortId]||(VYG.checkavailability.AjaxRequestComplete++,VYG.unloading($J(i.currentProductContainer).find(".prices-cont")),t.removeAttr("disabled").removeClass("disabled"),n={Title:"Failed in processing your enquiry",ActionMessage:"",BookingReferenceId:"",ErrorCode:""},VYG.checkavailability.isBrowse[i.currentRoomTypeShortId]?VYG.checkavailability.showCalendarError(n,i):VYG.checkavailability.showCalendarError(n,i,"ErrorMessageOne"))}))},checkRoomIsAvailable:function(n,t){var s=moment(t.checkinDate,"DD/MM/YYYY").valueOf(),r=t.duration,l=t.roomNumber,h=n,c=h.AccommodationCalendars[0].RateAvailabilities,f,u,e,o=!0;for(f=c[0].Availabilities,$J.each(f,function(n,t){s==moment(t.Date)&&(u=n)}),r>1?(r=r,e=u+parseInt(r)):e=u+1,i=u;i<e;i++)f[i].RoomAvailabilities.length<1&&(o=!1);return o},checkRoomIsSellingOut:function(n,t){var s=moment(t.checkinDate,"DD/MM/YYYY").valueOf(),r=t.duration,l=t.roomNumber,h=n,c=h.AccommodationCalendars[0].RateAvailabilities,u,f,e,o;for($J.each(c,function(n,t){u=t.Availabilities}),$J.each(u,function(n,t){s==moment(t.Date)&&(f=n)}),r>1?(r=r,e=f+parseInt(r)):e=f+1,o=0,i=f;i<e;i++)u[i].RoomAvailabilities.length>0&&(o=u[i].RoomAvailabilities[0].AvailableQuantity);return o<15?!1:!0},resetDataPost:function(n){$J(".wrap-white-button .popover-sunccess").remove();$cont=VYG.checkavailability.isAccSpecial?$J("div[id^='accordion_grandparent_id_']").find($J("div[id^='accordion_acc_detail_view_room_']")):$J("div[id^='accordion_acc_detail_view_room_']");$cont.each(function(){var i=$J(this).data("product-ids")?$J(this).data("product-ids"):null,t=VYG.checkavailability.createProductIdKey(i);t.currentProductId&&(VYG.checkavailability.AjaxRequest[t.currentRoomTypeShortId]&&(VYG.checkavailability.AjaxRequestAbort[t.currentRoomTypeShortId]=!0,VYG.checkavailability.AjaxRequest[t.currentRoomTypeShortId].abort()),VYG.checkavailability.objectSelectedCalendar[t.currentRoomTypeShortId]=[],VYG.checkavailability.objectSelectedCalendarBedding[t.currentRoomTypeShortId]=[],VYG.checkavailability.checkinDates[t.currentRoomTypeShortId]="",VYG.checkavailability.duration[t.currentRoomTypeShortId]=0,VYG.checkavailability.roomNumber[t.currentRoomTypeShortId]=0,VYG.checkavailability.totalAdult[t.currentRoomTypeShortId]=0,VYG.checkavailability.totalChild[t.currentRoomTypeShortId]=0,VYG.checkavailability.delimitedChildAges[t.currentRoomTypeShortId]="",VYG.checkavailability.resetBookData(t),n||($J(t.currentProductContainer).find(".prices-cont ul.prices-default").removeClass("hide").find(".price-info-text").show(),$J(t.currentProductContainer).find(".prices-cont ul.prices-dynamic").html("").addClass("hide")),$J(t.currentProductContainer).find(".prices-cont ul.prices-default").removeClass("hide"),$J(t.currentProductContainer).find(".button-book").removeClass("hide js-data-added"),$J(t.currentProductContainer).find(".room-availabilities").html(VYG.checkavailability.availabilitiesRoomTemplateDefaultCompiled.render()),$J(t.currentProductContainer).find(".accordion-body-book-room-availabilities").removeClass("in").hide(),$J(t.currentProductContainer).find(".accordion-body-view-room-detail").removeClass("in").hide(),$J(t.currentProductContainer).find(".jq-noavail-dates").addClass("collapse"),$J(t.currentProductContainer).find(".jq-noavail-dates").removeClass("hide"))})},renderAccommodationSpecialData:function(n,t){VYG.checkavailability.RoomsAvailability[t.currentRoomTypeShortId]=n.AccommodationCalendars;VYG.checkavailability.roomTitle[t.currentProductId]=n.RoomTitle;VYG.checkavailability.policySummary[t.currentRoomTypeShortId]=n.PolicySummary||"";VYG.checkavailability.termsAndConditions[t.currentRoomTypeShortId]=n.TermsAndConditions||"";VYG.checkavailability.cancellationPolicy[t.currentRoomTypeShortId]=n.CancellationPolicy||"";VYG.checkavailability.totalCostTaxInfo[t.currentRoomTypeShortId]=n.TaxInfo||"";VYG.checkavailability.inclusion[t.currentRoomTypeShortId]=n.Inclusion||"";VYG.checkavailability.renderFromPriceData(t,0)},renderAccommodationData:function(n,t,i){VYG.checkavailability.RoomsAvailability[t.currentRoomTypeShortId]=n.AccommodationCalendars;VYG.checkavailability.roomTitle[t.currentProductId]=n.RoomTitle;VYG.checkavailability.policySummary[t.currentRoomTypeShortId]=n.PolicySummary||"";VYG.checkavailability.termsAndConditions[t.currentRoomTypeShortId]=n.TermsAndConditions||"";VYG.checkavailability.cancellationPolicy[t.currentRoomTypeShortId]=n.CancellationPolicy||"";VYG.checkavailability.totalCostTaxInfo[t.currentRoomTypeShortId]=n.TaxInfo||"";VYG.checkavailability.inclusion[t.currentRoomTypeShortId]=n.Inclusion||"";availData=JSON.parse($J.cookie("check-avail-data"));var r=VYG.checkavailability.checkRoomIsSellingOut(n,availData);VYG.checkavailability.renderData(t,i,r);VYG.checkavailability.renderOptionalExtra(t);VYG.checkavailability.isBrowse[t.currentRoomTypeShortId]||(VYG.checkavailability.renderFromPriceData(t,0),VYG.checkavailability.renderSummary(t),VYG.checkavailability.renderBedding(t),VYG.checkavailability.renderNextPrevRoom(t),VYG.checkavailability.renderAmountTotal(t),VYG.checkavailability.setPrevNextEvent());VYG.checkavailability.setDisablePrev(t);VYG.checkavailability.isBrowse[t.currentRoomTypeShortId]&&VYG.checkavailability.initSelectedCalendarCell(t)},getPriceData:function(n,t,i){var v=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),e=parseInt(VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]),c=parseInt(VYG.checkavailability.totalChild[n.currentRoomTypeShortId]),u=parseInt(VYG.checkavailability.duration[n.currentRoomTypeShortId]),r=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][t],b=VYG.checkavailability.isSoldPerBedProduct(n),d=moment($J(VYG.checkavailability.elGlobal).find("#bookingbar_selected_checkin").val(),"DD/MM/YYYY"),f=0,o=0,l="",s=0,y="",h="",a="",k,p,w;if(r.RateAvailabilities[i]!=undefined&&(u=u<r.RateAvailabilities[i].Duration?r.RateAvailabilities[i].Duration:u,s=u,l=r.RateAvailabilities[i].RoomType,y=VYG.checkavailability.renderKeySellingPoint(r.RateAvailabilities[i]),$J(r.RateAvailabilities[i].Availabilities).each(function(n,t){if(t.RoomAvailabilities.length>0&&t.RoomAvailabilities[0].TotalCost!=undefined){var i=moment(t.Date);i>=d&&s>0&&(f+=b?t.RoomAvailabilities[0].TotalCost*e:t.RoomAvailabilities[0].TotalCost,o==0&&(o=n),s--)}if(s==0)return!1}),h=r.RateAvailabilities[i].Availabilities[0].Rate?r.RateAvailabilities[i].Availabilities[o].Rate.Inclusion:""),s!=0&&r.RateAvailabilities[i]!=undefined&&(u=u<r.RateAvailabilities[i].Duration?r.RateAvailabilities[i].Duration:u,l=r.RateAvailabilities[i].RoomType,y=VYG.checkavailability.renderKeySellingPoint(r.RateAvailabilities[i]),$J(r.RateAvailabilities[i].Availabilities).each(function(n,t){if(t.RoomAvailabilities.length>0&&t.RoomAvailabilities[0].TotalCost!=undefined)return f=b?t.RoomAvailabilities[0].TotalCost*e:t.RoomAvailabilities[0].TotalCost,o=n,!1}),f=f*u,h=r.RateAvailabilities[i].Availabilities[0].Rate?r.RateAvailabilities[i].Availabilities[o].Rate.Inclusion:""),k=f.toLocaleString().split("."),a=VYG.checkavailability.getMoneyValue(f),k.length>1&&(a=VYG.checkavailability.getMoneyValue(f,2)),p=h?"":"hide-inclusion",w={RoomType:l,Price:f,PriceText:a,Duration:u,KeySellingPoint:y,Inclusion:h,Class:p},VYG.checkavailability.isAccSpecial){var g=e>1?e+" Adults, ":e+" Adult, ",nt=c>1?c+" Children, ":c==1?c+" Child, ":"",tt=v>1?v+" rooms, ":v+" room, ",it=u>1?" <br /> min. "+u+" nights stay":" <br /> min. "+u+" night stay",rt=tt+g+nt+it;w={RoomType:l,Price:f,PriceText:a,Duration:u,Inclusion:h,Class:p,InfoDetail:rt}}return{price:f,data:w}},getFromPriceData:function(n,t,i){var w=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),a=parseInt(VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]),b=parseInt(VYG.checkavailability.totalChild[n.currentRoomTypeShortId]),k=parseInt(VYG.checkavailability.duration[n.currentRoomTypeShortId]),u=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][t],v=VYG.checkavailability.isSoldPerBedProduct(n),d=moment($J(VYG.checkavailability.elGlobal).find("#bookingbar_selected_checkin").val(),"DD/MM/YYYY"),r=0,h="",f=0,c="",o="",s="",l=0,e;u.RateAvailabilities[i]!=undefined&&(f=u.RateAvailabilities[i].Duration,h=u.RateAvailabilities[i].RoomType,c=VYG.checkavailability.renderKeySellingPoint(u.RateAvailabilities[i]),l=u.RateAvailabilities[i].MinRate,$J(u.RateAvailabilities[i].Availabilities).each(function(n,t){if(t.RoomAvailabilities.length>0&&t.RoomAvailabilities[0].TotalCost!=undefined){var i=0;i=v?t.RoomAvailabilities[0].TotalCost*a:t.RoomAvailabilities[0].TotalCost;r==0?r=i:r>i&&(r=i)}}),o=u.RateAvailabilities[i].Availabilities[0].Rate?u.RateAvailabilities[i].Availabilities[0].Rate.Inclusion:"");e=r.toLocaleString().split(".");s=VYG.checkavailability.getMoneyValue(r);e.length>1&&e[e.length-1]!="00"&&(s=VYG.checkavailability.getMoneyValue(r,2));var y=o?"":"hide-inclusion",p={RoomType:h,Price:r,PriceText:s,MinRate:l,Duration:f,DurationText:f>1?"min "+f+" nights":"min "+f+" night",KeySellingPoint:c,Inclusion:o,Class:y};return{price:r,data:p}},getFromPriceFirstIndex:function(n,t){var s=parseInt(VYG.checkavailability.duration[n.currentRoomTypeShortId]),f=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][t],r=0,e=0,h=$J(f.RateAvailabilities).length-1,u,o;for(i=h;i>=0;i--)u=$J(f.RateAvailabilities[i])[0].MinRate,o=$J(f.RateAvailabilities[i])[0].Duration,r==0&&o<=s&&(r=u,e=i),u<=r&&o<=s&&(r=u,e=i);return e},renderFromPriceData:function(n,t){var w=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),b=parseInt(VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]),k=parseInt(VYG.checkavailability.totalChild[n.currentRoomTypeShortId]),d=parseInt(VYG.checkavailability.duration[n.currentRoomTypeShortId]),a=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][t],g=VYG.checkavailability.isSoldPerBedProduct(n),y,l,p;if(a.RateAvailabilities.length>0){var r=a.RateAvailabilities.length-1,u="",o=0,s=0,v=0,i,h,f,c,e=VYG.checkavailability.getFromPriceFirstIndex(n,t);h=VYG.checkavailability.getFromPriceData(n,t,e);o=h.price;f=VYG.checkavailability.getFromPriceData(n,t,e+1);s=f.price;c=VYG.checkavailability.getFromPriceData(n,t,r);v=c.price;o&&(i=h.data,u+=VYG.checkavailability.isAccSpecial?VYG.checkavailability.roomTypeFirstFromPriceAmountTemplateCompiledSpecial.render(i):VYG.checkavailability.roomTypeFirstFromPriceAmountTemplateCompiled.render(i));r>0&&e!=r&&(r==1||e+1==r?s&&(i=f.data,u+=VYG.checkavailability.isAccSpecial?VYG.checkavailability.roomTypeThirdFromPriceAmountTemplateCompiledSpecial.render(i):VYG.checkavailability.roomTypeThirdFromPriceAmountTemplateCompiled.render(i)):(s&&(i=f.data,u+=VYG.checkavailability.isAccSpecial?VYG.checkavailability.roomTypeSecondFromPriceAmountTemplateCompiledSpecial.render(i):VYG.checkavailability.roomTypeSecondFromPriceAmountTemplateCompiled.render(i)),v&&VYG.checkavailability.isAccSpecial==!1&&(i=c.data,u+=VYG.checkavailability.roomTypeThirdFromPriceAmountTemplateCompiled.render(i))));o?(VYG.checkavailability.isAccSpecial&&(y=$J("input#PredefinedParameters").data("product-sub-code")||"",l=$J(n.currentProductContainer).find(".button-book").attr("href").replace("{productsubcode}",y),$J(n.currentProductContainer).find(".button-book").attr("href",l),$J(n.currentProductContainer).find(".button-book").show()),$J(n.currentProductContainer).find(".prices-cont ul.prices-default").hide(),$J(n.currentProductContainer).find(".prices-cont ul.prices-dynamic").html(u).removeClass("hide"),$J(n.currentProductContainer).find(".popinfo").popover({container:"body",trigger:"manual",animation:!1,placement:"bottom",html:!0,content:function(){return $J(this).data("content")},template:'<div class="popover acco popover-inclusion"><div class="arrow"><\/div><div class="close close-popover"><\/div><div class="popover-inner"><h3 class="popover-title"><\/h3><div class="popover-content"><\/div><\/div><\/div>'}),VYG.checkavailability.isAccSpecial&&(p=$J(n.currentProductContainer).find(".jq-special-link"),p.each(function(){$J(this).attr("href",l)})),VYG.checkavailability.resetPopOver(n.currentProductContainer)):($J(n.currentProductContainer).find(".prices-cont ul.prices-default").show().find(".price-info-text").addClass("hide"),$J(n.currentProductContainer).find(".prices-cont ul.prices-dynamic").html("").addClass("hide"))}else VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||($J(n.currentProductContainer).find(".prices-cont ul.prices-default").show().find(".price-info-text").addClass("hide"),$J(n.currentProductContainer).find(".prices-cont ul.prices-dynamic").html("").addClass("hide"),VYG.checkavailability.isAccSpecial&&($J(n.currentProductContainer).find(".button-book").hide(),$J(n.currentProductContainer).find(".prices-cont ul.prices-default").show().find(".price-info-text").html("NO VALID RATE CODE FOUND").show()))},renderPriceData:function(n,t){var a=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),v=parseInt(VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]),y=parseInt(VYG.checkavailability.totalChild[n.currentRoomTypeShortId]),p=parseInt(VYG.checkavailability.duration[n.currentRoomTypeShortId]),c=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][t],w=VYG.checkavailability.isSoldPerBedProduct(n);if(c.RateAvailabilities.length>0){var e=c.RateAvailabilities.length-1,r="",o=0,s=0,l=0,i,u,f,h;u=VYG.checkavailability.getPriceData(n,t,0);o=u.price;f=VYG.checkavailability.getPriceData(n,t,1);s=f.price;h=VYG.checkavailability.getPriceData(n,t,e);l=h.price;o&&(i=u.data,r+=VYG.checkavailability.roomTypeFirstFromPriceAmountTemplateCompiled.render(i));e>0&&(e==1?s&&(i=f.data,r+=VYG.checkavailability.roomTypeThirdFromPriceAmountTemplateCompiled.render(i)):(s&&(i=f.data,r+=VYG.checkavailability.roomTypeSecondFromPriceAmountTemplateCompiled.render(i)),l&&(i=h.data,r+=VYG.checkavailability.roomTypeThirdFromPriceAmountTemplateCompiled.render(i))));VYG.checkavailability.isAccSpecial&&(o?(i=u.data,r=VYG.checkavailability.roomTypeSpecialFromPriceAmountTemplateCompiled.render(i)):r="",$J(n.currentProductContainer).find(".prices-cont ul.prices-dynamic").addClass("prices-special"));$J(n.currentProductContainer).find(".prices-cont ul.prices-default").hide();$J(n.currentProductContainer).find(".prices-cont ul.prices-dynamic").html(r).removeClass("hide");$J(n.currentProductContainer).find(".").popover({container:"body",trigger:"hover",placement:"bottom",html:!0,content:function(){return $J(this).data("content")},template:'<div class="popover acco popover-inclusion"><div class="arrow"><\/div><div class="close close-popover"><\/div><div class="popover-inner"><h3 class="popover-title"><\/h3><div class="popover-content"><\/div><\/div><\/div>'});VYG.checkavailability.resetPopOver(n.currentProductContainer)}else VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||($J(n.currentProductContainer).find(".prices-cont ul.prices-default").show().find(".price-info-text").hide(),$J(n.currentProductContainer).find(".prices-cont ul.prices-dynamic").html("").addClass("hide"))},renderKeySellingPoint:function(n){if(n!=null){var t='<ul class="prices-info">';return n.KeySellingPoint1!=""&&n.KeySellingPoint1!=undefined&&(t+="<li>"+n.KeySellingPoint1+"<\/li>"),n.KeySellingPoint2!=""&&n.KeySellingPoint2!=undefined&&(t+="<li>"+n.KeySellingPoint2+"<\/li>"),t+"<\/ul>"}},renderKeyMinNights:function(n){var t=1;return $J(n.Availabilities).each(function(n,i){i.RoomAvailabilities.length>0&&i.RoomAvailabilities[0].MinNights!=undefined&&t==1&&(t=i.RoomAvailabilities[0].MinNights)}),t},renderSelectRoomInfo:function(){if(VYG.checkavailability.checkAvailData=JSON.parse($J.cookie("check-avail-data")||null),VYG.checkavailability.checkAvailData){var n=0,t=0,i="",r="",u="";VYG.checkavailability.checkAvailData.roomNumber>1?($J(VYG.checkavailability.checkAvailData.roomData).each(function(i,r){t+=parseInt(r.adult);n+=parseInt(r.child)}),i=t>1?" <em>.<\/em> "+t+" Adults ":" <em>.<\/em> "+t+" Adult ",r=n>1?" <em>.<\/em> "+n+" Children ":n==1?" <em>.<\/em> "+n+" Child ":"",u="<p><strong>Select room(s) & rate<\/strong> "+VYG.checkavailability.checkAvailData.roomNumber+" Rooms "+i+r+"<\/p>"):(n=VYG.checkavailability.checkAvailData.roomData[0].child,t=VYG.checkavailability.checkAvailData.roomData[0].adult,i=t>1?" <em>.<\/em> "+t+" Adults ":" <em>.<\/em> "+t+" Adult ",r=n>1?" <em>.<\/em> "+n+" Children ":n==1?" <em>.<\/em> "+n+" Child ":"",u="<p><strong>Select room(s) & rate<\/strong> Room "+VYG.checkavailability.checkAvailData.roomNumber+i+r+"<\/p>");$J(VYG.checkavailability.elGlobal).find(".find-avail-info .span12").html(u)}},resetSelectRoomInfo:function(){$J(VYG.checkavailability.elGlobal).find(".find-avail-info .span7").html("<strong>Tell us your travel dates &amp; who is travelling and click GO<\/strong>")},renderData:function(n,t,i){var nt=n.currentProductId,tt=n.currentProductIdModified,v=n.currentRoomTypeShortId,y="#room_availabilities_"+n.currentRoomTypeShortId,e=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),p="Room ",s="Select Room Rate",w,u,h,c,a;for(VYG.checkavailability.isSoldPerBedProduct(n)&&(e=1,p="Adult ",s="Select Bed Rate"),w=!1,VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||$J(n.currentProductContainer).find(".room-availabilities").empty(),u=1;u<=e;u++){var o=VYG.checkavailability.checkAvailData.roomData[u-1].adult,f=VYG.checkavailability.checkAvailData.roomData[u-1].child,r=VYG.checkavailability.RoomsAvailability[v][u-1];adultText=o>1?" - "+o+" Adults ":" - "+o+" Adult ";childText=f>1?" - "+f+" Children ":f==1?" - "+f+" Child ":"";e>1&&(s="Select Room Rate For Room "+u+adultText+childText);h=$J("#bookingbar_promo_code").val();c="";h.length>0&&(c=" - Promo Code: "+h);var b={SelectRoomRate:s,PromoCode:c,RoomIndex:r.RoomIndex-1,ProductId:r.ProductId,ProductName:r.Title,ParentId:y,AccordionBodyId:"availContent_"+n.currentRoomTypeShortId+"_"+(r.RoomIndex-1),TableWrapperId:"availabilitiesList_"+n.currentRoomTypeShortId+"_"+(r.RoomIndex-1),AccordionHeaderId:"availHeader_"+n.currentRoomTypeShortId+"_"+(r.RoomIndex-1),Index:r.RoomIndex,TotalAdult:o,TotalChild:f},k=_(r.RateAvailabilities).map(function(n){return n.Availabilities}).flatten().map(function(n){return n.RoomAvailabilities}).flatten().size()>0,d=VYG.checkavailability.headerRendererEx(n),g=r&&k?VYG.checkavailability.bodyRenderer(r,n):VYG.checkavailability.bodyRendererUnavailable(n,r.RateAvailabilities[0].RoomType),l;l=VYG.checkavailability.availabilitiesRoomTemplateCompiled.render(b);VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||(a=$J.parseHTML(l),$J(n.currentProductContainer).find(".room-availabilities").append(a));$J(n.currentProductContainer).find(".room-availabilities").find("#availabilitiesList_"+n.currentRoomTypeShortId+"_"+(u-1)+" .find-tour-table thead tr").empty().append(d);$J(n.currentProductContainer).find(".room-availabilities").find("#availabilitiesList_"+n.currentRoomTypeShortId+"_"+(u-1)+" .find-tour-table tbody").empty().append(g);VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]&&VYG.checkavailability.resetCalendarStyle(n)}e>1&&($J(n.currentProductContainer).find(".room-availabilities .accordion-group").hide(),$J(n.currentProductContainer).find(".room-availabilities .accordion-group:eq(0)").show());t==!1?$J(n.currentProductContainer).find(".jq-noavail-dates").removeClass("collapse"):$J(n.currentProductContainer).find(".jq-noavail-dates").addClass("collapse");$J(n.currentProductContainer).find(".accordion-sell-out").addClass("hide");i==!1&&$J(n.currentProductContainer).find(".accordion-sell-out").removeClass("hide");VYG.initPopoverFindAvailTbl()},resetCalendarStyle:function(n,t){var i=".find-tour-table-wrap";t&&(i=".find-tour-table-wrap:eq("+t+")");$J(n.currentProductContainer).find(i).find("thead tr th").not("thead tr th:eq(0)").width("101px");$J(n.currentProductContainer).find(i).find("thead tr th").not("thead tr th:eq(0)").each(function(){$J(this).width($J(this).width())});$J(n.currentProductContainer).find(".find-tour-table-wrap").find("tbody tr").each(function(){if($J(this).find('td[data-isAvailable="true"]').length>0){$J(this).find("td .rate").css("padding-top","24px");$J(this).find("td .rate").css("padding-top","24px");var t=$J(this).height(),i=$J(this).find('td[data-isAvailable="true"]:eq(0) .rate').outerHeight(),n=(t-i)/2;$J(this).find("td .rate").css("padding-top",n+30+"px");$J(this).find("td .rate").css("padding-bottom",n+30+"px")}})},initSelectedCalendarCell:function(n){for(var a=VYG.checkavailability.elGlobal,r=$J(n.currentProductContainer).find(".button-book"),f=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),u=0;u<f;u++){var t=u,h=r.attr("data-checkin-date-"+t),e=r.attr("data-browse-date"),c=r.attr("data-origin-date"),l=r.attr("data-overlap-date"),o=parseInt(r.attr("data-rate-row-"+t)),i=moment(h,"DD/MM/YYYY").format("YYYY-MM-DD"),s=VYG.checkavailability.getObjectSelectedCalendar(n,t);(VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||t<f)&&(e==c?$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+o+') td[data-date-group="'+i+'"]').trigger("click"):s!=undefined&&moment(l,"DD/MM/YYYY")<=moment(e,"DD/MM/YYYY")&&$J(s).each(function(r,u){if(u[0]!=undefined)i=moment(u[0].Date).format("YYYY-MM-DD"),$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+o+') td[data-date-group="'+i+'"]').addClass("selected"),$J(n.currentProductContainer).find(".find-tour-table:eq("+t+') thead th[data-iso-date="'+i+'"]').addClass("active");else{i=moment(i,"YYYY-MM-DD").add("days",1);i=moment(i).format("YYYY-MM-DD");$J(n.currentProductContainer).find(".find-tour-table:eq("+t+') thead th[data-iso-date="'+i+'"]').addClass("active");var f={Title:overlapTitle!=undefined&&overlapTitle!=""?overlapTitle:"The range of rooms you selected were overlapping unavailable date",ActionMessage:overlapDesc!=undefined&&overlapDesc!=""?overlapDesc:"Please select other date.",BookingReferenceId:"",ErrorCode:""};VYG.checkavailability.showCalendarError(f,n);VYG.checkavailability.renderBookingElement(n,t,"hide");VYG.checkavailability.animatePosition($J(n.currentProductContainer),50)}}))}},onSelectedCalendarCell:function(n){var r=$J(n).parents("div[id^='accordion_acc_detail_'].accordion-group").find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),t=VYG.checkavailability.createProductIdKey(r),u=moment($J(n).data("date-group")).format("DD/MM/YYYY"),i=parseInt($J(n).closest(".find-tour-table").attr("data-room-index"));$J(t.currentProductContainer).find(".button-book").attr("data-checkin-date-"+i,u);VYG.checkavailability.isBrowse[t.currentRoomTypeShortId]&&(VYG.checkavailability.objectOptionalExtraOrigin[t.currentRoomTypeShortId]=VYG.checkavailability.objectOptionalExtra[t.currentRoomTypeShortId]);VYG.checkavailability.isBrowse[t.currentRoomTypeShortId]=!1;VYG.checkavailability.markSelectedCalendarCell(n,t,i);VYG.checkavailability.updateSummaryProduct(t,n)},markSelectedCalendarCell:function(n,t,i){var p=VYG.checkavailability.isSoldPerBedProduct(t),f=$J(n).nextAll(),a=$J(n).closest(".accordion-group").find("h4.room-title").attr("data-selected-row")||$J(t.currentProductContainer).find(".button-book").attr("data-rate-row-"+i),r=$J(n).closest(".accordion-group:not(.unavailable-room)").find(".find-tour-table"),w=$J(n).closest(".accordion-group.unavailable-room"),o=n,s=r[0]===$J(o).closest(".find-tour-table")[0]?$J(o).closest("tr").attr("data-row-number"):r.find("tr td.selected").length>0?r.find("tr td.selected").closest("tr").attr("data-row-number"):a,h=$J(o).parents("tr").attr("data-ratedescriptorid"),u,e,c,l;for(currentDuration=$J(n).data("duration"),duration=currentDuration<VYG.checkavailability.duration[t.currentRoomTypeShortId]?VYG.checkavailability.duration[t.currentRoomTypeShortId]:currentDuration,nextToMark=parseInt(duration),nextDaysNum=f.length<nextToMark?f.length:nextToMark-1,elementHeight=parseInt($J(n).height())+3,r.find("tr td").removeClass("selected"),r.find("tr td").removeClass("unavailable-bedding"),r.find("tr td").find(".rate").removeClass("hide"),r.find("tr td").find(".unavailable-bedding-text").remove(),r.find("tr th").removeClass("active"),r.find(".rate").css("height","auto"),$J(n).addClass("selected"),n!=undefined&&r.find("th").eq(n[0].cellIndex).addClass("active"),u=0;u<nextDaysNum;u++)f[u]&&($J(f[u]).addClass("selected"),r.find("th").eq(f[u].cellIndex).addClass("active"));var v=$J(n).parents("tr").find("td").index(n)-1,b=s,y=v;$J(t.currentProductContainer).find(".button-book").attr("data-duration-"+i,duration);$J(t.currentProductContainer).find(".button-book").attr("data-rate-index-"+i,y);$J(t.currentProductContainer).find(".button-book").attr("data-rate-row-"+i,s);nextDaysNum<nextToMark-1&&(overlapDate=moment($J(t.currentProductContainer).find(".find-tour-table thead th:last").data("iso-date")).add("days",1).format("DD/MM/YYYY"),$J(t.currentProductContainer).find(".button-book").attr("data-overlap-date",overlapDate));VYG.checkavailability.showBestPriceRow(t,i);e=VYG.checkavailability.isValidSelectedCalendarCell(t,i);e?(VYG.checkavailability.updateBedding(t,e,i),VYG.checkavailability.renderOptionalExtraList(t,h,i,duration),VYG.checkavailability.renderBookingElement(t,i),VYG.checkavailability.updateAmountSub(t,e,i),VYG.checkavailability.updateAmountTotal(t),VYG.checkavailability.resetOptionalExtraCol(t,h,i),c=VYG.checkavailability.isValidBeddingSelectedCalendarCell(t,i),c&&VYG.checkavailability.hideCalendarError(t)):(l={Title:overlapTitle!=undefined&&overlapTitle!=""?overlapTitle:"The range of rooms you selected were overlapping unavailable date",ActionMessage:overlapDesc!=undefined&&overlapDesc!=""?overlapDesc:"Please select other date.",BookingReferenceId:"",ErrorCode:""},VYG.checkavailability.showCalendarError(l,t),VYG.checkavailability.renderBookingElement(t,i,"hide"),VYG.checkavailability.animatePosition($J(t.currentProductContainer),50))},showBestPriceRow:function(n,t){var o=$J(n.currentProductContainer).find(".button-book").attr("data-duration-"+t),f=0,s=$J(n.currentProductContainer).find(".button-book").attr("data-rate-row-"+t),u=$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr").length,r,e;for($J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr .rate-best-value").removeClass("show"),r="",s!=u-1&&$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr td.selected").each(function(){r=$J(this).attr("data-date-group");$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+(u-2)+') td[data-date-group="'+r+'"] .rate-best-value').addClass("show");f=$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+(u-2)+') td[data-date-group="'+r+'"]').attr("data-duration")}),i=0;i<parseInt(f)-o;i++)e=moment(r,"YYYY-MM-DD").add("days",i+1).format("YYYY-MM-DD"),$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+(u-2)+') td[data-date-group="'+e+'"]').find(".rate-best-value").addClass("show")},isValidSelectedCalendarCell:function(n,t){var h,f;if(n.currentRoomTypeShortId!=undefined){var c=$J(n.currentProductContainer).find(".button-book").attr("data-duration-"+t),l=$J(n.currentProductContainer).find(".button-book").attr("data-rate-index-"+t),r=$J(n.currentProductContainer).find(".button-book").attr("data-rate-row-"+t),u=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][t],e=!0,o=[],s=VYG.checkavailability.objectSelectedCalendar[n.currentRoomTypeShortId];if(u.RateAvailabilities[r].Availabilities.length>0)for(h=1,i=l;i<u.RateAvailabilities[r].Availabilities.length;i++){if(o.push(u.RateAvailabilities[r].Availabilities[i].RoomAvailabilities),u.RateAvailabilities[r].Availabilities[i].RoomAvailabilities.length==0&&(e=!1),h==c)break;h++}else e=!1;return f=[],f.push({roomIndex:t,roomData:o}),s!=undefined&&s.length>0&&$J(s).each(function(n,i){i.roomIndex!=t&&f.push(i)}),VYG.checkavailability.objectSelectedCalendar[n.currentRoomTypeShortId]=f,e?o:void 0}},headerRendererEx:function(n){for(var u,r="",t,i=0;i<7;i++)t=moment(VYG.checkavailability.calendarStartDate[n.currentRoomTypeShortId],"DD/MM/YYYY").add("days",i),u={dateISO:moment(t).format("YYYY-MM-DD"),date:moment(t).format("ddd DD MMM"),classAttribute:""},r+=VYG.checkavailability.headerDateTemplateCompiled.render(u);return VYG.checkavailability.headerActionsTemplate+r},bodyRenderer:function(n,t){for(var r,y,w,u,l,a,o,h,v=VYG.checkavailability.isSoldPerBedProduct(t),s="",i={},b,k,e=n.RateAvailabilities.length-1,f=0;f<n.RateAvailabilities.length;f++){r=n.RateAvailabilities[f].Availabilities||[];y=r.length<=7?r.length:7;i.Duration=n.RateAvailabilities[f].Duration;i.ProductName=n.RateAvailabilities[f].RoomType;i.KeySellingPoint=VYG.checkavailability.renderKeySellingPoint(n.RateAvailabilities[f]);var d=n.RateAvailabilities[f].RateDescriptorId||"RateDescriptorId-"+(parseInt(f)+1),g=n.RateAvailabilities[f].NonCancellable,nt=n.RateAvailabilities[f].BookingDisclaimerText?n.RateAvailabilities[f].BookingDisclaimerText:"",c="",p="";for(e>=1&&f==e&&(c=e>=1&&f==e?'<em class="icon-best-value"><\/em>':"",p="rate-best-value"),w=VYG.checkavailability.getFromPriceFirstIndex(t,0),e>=1&&f<e&&(c=e>1&&f==w+1?'<em class="icon-price-value"><\/em>':""),i.IconBestValue=c,i.MinNights=VYG.checkavailability.renderKeyMinNights(n.RateAvailabilities[f]),i.Inclusion=r[0].Rate?r[0].Rate.Inclusion:"",s+='<tr data-row-number="'+f+'" data-disclaimer="'+nt+'" data-noncancellable="'+g+'" data-ratedescriptorid="'+d+'" data-code="'+n.RateAvailabilities[f].ProductSubCode+'" data-room-isprepayable="'+n.RateAvailabilities[f].IsPrepayable+'" data-room-type="'+n.RateAvailabilities[f].RoomType+'" data-min-nights="'+n.RateAvailabilities[f].Duration+'">'+VYG.checkavailability.productNameColumnTemplateCompiled.render(i),u=0;u<y;u++)if(i.DateGroup=moment(r[u].Date).format("YYYY-MM-DD"),l=!1,a=0,r[u].RoomAvailabilities.length>0){for(l=!0,i.ProductConfigs=[],o=0;o<r[u].RoomAvailabilities.length;o++)h={},h.ProductId=r[u].RoomAvailabilities[o].ProductId,h.IsAvailable=r[u].RoomAvailabilities[o].IsAvailable,h.AvailableQty=r[u].RoomAvailabilities[o].AvailableQuantity,a+=r[u].RoomAvailabilities[o].AvailableQuantity,i.ProductConfigs.push(JSON.stringify(h));i.IsAvailable=l;i.AdultQuantity=b;i.ChildQuantity=k;i.ProductSubCode=r[u].RoomAvailabilities[0].ProductSubCode;i.SourceId=r[u].RoomAvailabilities[0].SourceId;i.SpecialOfferTitle="Offer Includes";i.SpecialOfferContent=r[u].RoomAvailabilities[0].SpecialOfferContent;i.TotalCost=v?r[u].RoomAvailabilities[0].TotalCost*VYG.checkavailability.totalAdult[t.currentRoomTypeShortId]:r[u].RoomAvailabilities[0].TotalCost;i.TotalCostText="";i.ComparisonRateTotalCost=v?r[u].RoomAvailabilities[0].ComparisonRateTotalCost*VYG.checkavailability.totalAdult[t.currentRoomTypeShortId]:r[u].RoomAvailabilities[0].ComparisonRateTotalCost;i.ComparisonRateTotalCostText="";i.AdultCost=r[u].RoomAvailabilities[0].AdultCost;i.ChildCost=r[u].RoomAvailabilities[0].ChildCost;i.IsPromotionApplied=r[u].IsPromotionApplied;i.IsExtraPersonApplied=r[u].RoomAvailabilities[0].IsExtraPersonApplied;i.ExtraPersonCost=r[u].RoomAvailabilities[0].ExtraPersonCost;i.RoomIndex=r[u].RoomAvailabilities[0].RoomIndex;i.Currency=r[u].RoomAvailabilities[0].Currency||"$";i.TermsAndConditions=r[u].Rate?r[u].Rate.TermsAndConditions:"";i.CancellationPolicy=r[u].Rate?r[u].Rate.CancellationPolicy:"";i.Inclusion=r[u].Rate?r[u].Rate.Inclusion:"";i.ClassAttributePopover=i.Inclusion==""?"popover-disabled":"";i.Duration=r[u].Duration;i.BextBestValue='<span class="text-best-value">Best Value<\/span>';i.ClassBestValue=p;i.RoomsLeft=a<15?"Nearly sold out!":"";r[u].RoomAvailabilities[0].HasNoPriceInformationAvailable?(i.ContactInfo=$J(".header").find(".mn-sec-emph:nth-child(1)").text()!=""?$J(".header").find(".mn-sec-emph:nth-child(1)").text():"SOLD OUT",i.ClassAttribute="date-no-price",s+=VYG.checkavailability.productNoPricesColumnTemplateCompiled.render(i)):(i.TotalCost=Math.ceil(i.TotalCost),i.TotalCostText=VYG.checkavailability.getMoneyValue(i.TotalCost),i.ComparisonRateTotalCost>0&&(i.ComparisonRateTotalCost=Math.ceil(i.ComparisonRateTotalCost),i.ComparisonRateTotalCostText=VYG.checkavailability.getMoneyValue(i.ComparisonRateTotalCost)),i.AdultCost=Math.ceil(i.AdultCost),i.ChildCost=Math.ceil(i.ChildCost),s+=VYG.checkavailability.productPricesColumnTemplateCompiled.render(i))}else i.ContactInfo=$J(".header").find(".mn-sec-emph:nth-child(1)").text()!=""?$J(".header").find(".mn-sec-emph:nth-child(1)").text():"SOLD OUT",s+=VYG.checkavailability.productUnavailableTemplateCompiled.render(i);s+="<\/tr>"}return s+"<tr><\/tr>"},bodyRendererUnavailable:function(n,t){for(var u,i="",r={},e,f=0;f<1;f++){for(i+='<tr data-row-number="'+f+'"><td><span style="padding-top: 10px;font-size: 13px;padding-bottom: 0;">'+t+"<\/span><\/td>",u=0;u<7;u++)e=moment(VYG.checkavailability.calendarStartDate[n.currentRoomTypeShortId],"DD/MM/YYYY").add("days",u),r.DateGroup=moment(e).format("YYYY-MM-DD"),r.ContactInfo=$J(".header").find(".mn-sec-emph:nth-child(1)").text()!=""?$J(".header").find(".mn-sec-emph:nth-child(1)").text():"SOLD OUT",r.ClassAttribute="date-no-price",i+=VYG.checkavailability.productNoPricesColumnTemplateCompiled.render(r);i+="<\/tr>"}return i+"<tr><\/tr>"},renderSummary:function(n){VYG.checkavailability.renderSummaryProduct(n);var t=$J(n.currentProductContainer).find('.find-tour-table tbody tr:eq(0) td[data-isavailable="true"]:eq(0)');VYG.checkavailability.updateSummaryProduct(n,t);VYG.checkavailability.updateAmountSubDefault(n,0)},renderSummaryProduct:function(n){var t="cancellation-false",i,r;!1&&(t="");i={cancellationInfo:'<h4 class="info-cancellation"><\/h4>',classTermsCancellation:t,termsContent:"",cancellationContent:"",introText:"",amoutSubTotal:"0.00",InfoPopOverText:"Total cost including tax",InfoText:"TOTAL INC GST"};r=VYG.checkavailability.roomTermCancellationTemplateCompiled.render(i);$J(n.currentProductContainer).find(".room-summary").html(r);VYG.checkavailability.resetPopOver($J(n.currentProductContainer).find(".room-summary"));VYG.checkavailability.registerPoliciesEvent(n)},updateSummaryProduct:function(n,t){var u=parseInt($J(t).parents(".find-tour-table").attr("data-room-index")),f=$J(t).data("content")||"N/A",e=$J(t).data("policy")||"N/A",o=$J(t).parents("tr").data("disclaimer")||"N/A",s=$J(t).parents("tr").data("noncancellable"),h=$J(n.currentProductContainer).find(".button-book").attr("data-checkin-date"),i=$J(n.currentProductContainer).find(".button-book").attr("data-checkin-date-"+u);i=i?moment(i,"DD/MM/YYYY"):moment(h,"DD/MM/YYYY");var c=moment(VYG.checkavailability.today()).add("days",0),l=i.diff(c,"days")>=8,a=moment(i).subtract("days",8).format("DD/MM/YYYY"),r=a.split("/"),v=parseInt(r[0]),y=$J(t).parents("tr").data("room-isprepayable"),p=parseInt(r[1])-1,w=r[2],b=new Date(w,p,v,0,0,0,0),k=moment(b).format("DD MMMM YYYY");$J(n.currentProductContainer).find(".terms-cancellation-wrap .info-cancellation").hide();$J(n.currentProductContainer).find(".terms-cancellation-wrap .intro").hide();$J(n.currentProductContainer).find(".terms-cancellation-wrap .terms-cancellation").addClass(".cancellation-false");s?($J(n.currentProductContainer).find(".terms-cancellation-wrap .info-cancellation").hide(),$J(n.currentProductContainer).find(".terms-cancellation-wrap .terms-cancellation").addClass(".cancellation-false")):l&&(y||($J(n.currentProductContainer).find(".terms-cancellation-wrap .info-cancellation").text("FREE cancellation before "+k),$J(n.currentProductContainer).find(".terms-cancellation-wrap .info-cancellation").show(),$J(n.currentProductContainer).find(".terms-cancellation-wrap .terms-cancellation").removeClass(".cancellation-false")));$J(n.currentProductContainer).find(".terms-cancellation-wrap .intro").show();$J(n.currentProductContainer).find(".terms-cancellation-wrap .intro").html(o);$J(n.currentProductContainer).find(".terms-cancellation-wrap .global-terms-n-condition").data("content",f);$J(n.currentProductContainer).find(".terms-cancellation-wrap .global-cancellation-policy").data("content",e)},updateAmountSubDefault:function(n,t){var e=parseInt(VYG.checkavailability.duration[n.currentRoomTypeShortId]),u=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][t],o,i,r,f;u.RateAvailabilities.length>0&&(o=u.RateAvailabilities.length-1,i=0,$J(u.RateAvailabilities[0].Availabilities).each(function(n,t){t.RoomAvailabilities.length>0&&t.RoomAvailabilities[0].TotalCost!=undefined&&i==0&&(i=t.RoomAvailabilities[0].TotalCost)}),i&&(r=i*e,VYG.checkavailability.isSoldPerBedProduct(n)&&(r=r*VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]),f=VYG.checkavailability.getMoneyValue(r,2),$J(n.currentProductContainer).find(".room-summary:eq("+t+") .amount-sub").text(f),$J(n.currentProductContainer).find(".room-summary:eq("+t+") .amount-sub").data("amountsub",r)))},updateAmountSub:function(n,t,i){var r=0,u,f;$J(t).each(function(n,t){r+=t[0].TotalCost});VYG.checkavailability.isSoldPerBedProduct(n)&&(r=r*VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]);u=VYG.checkavailability.getMoneyValue(r,2);$J(n.currentProductContainer).find(".room-summary:eq("+i+") .amount-sub").text(u);$J(n.currentProductContainer).find(".room-summary:eq("+i+") .amount-sub").attr("data-amountsub",r);f=$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+")").css("display");$J(n.currentProductContainer).find(".room-summary:eq("+i+") .amount-sub-wrap").addClass("hide");f=="block"&&$J(n.currentProductContainer).find(".room-summary:eq("+i+") .amount-sub-wrap").removeClass("hide")},registerPoliciesEvent:function(n){$J(n.currentProductContainer).off("click","a.global-terms-n-condition").on("click","a.global-terms-n-condition",function(){var n=$J(this).data("content");return bootbox.dialog(n,[{label:"Ok","class":"",callback:function(){$J(".modal").modal("hide")}}],{header:"Terms &amp; Conditions"}),$J("body").addClass("static"),setTimeout(function(){$J(".bootbox.modal.fade").addClass("in")},1e3),!1});$J(n.currentProductContainer).off("click","a.global-cancellation-policy").on("click","a.global-cancellation-policy",function(){var n=$J(this).data("content");return bootbox.dialog(n,[{label:"Ok","class":"",callback:function(){$J(".modal").modal("hide")}}],{header:"Cancellation Policy"}),$J("body").addClass("static"),setTimeout(function(){$J(".bootbox.modal.fade").addClass("in")},1e3),!1});$J(document).on("hidden.bs.modal",".bootbox.modal",function(){$J("body").removeClass("static")})},renderBedding:function(n){var t="<option><\/option>",i,r;t+='<option value="298235" data-product-name="Superior Room - 1 King Bed">1 King Bed<\/option>';t+='<option value="298233" Superior Room - 2 Queen Beds>2 Queen Beds<\/option>';i={BeddingId:"bedding_"+n.currentRoomTypeShortId,BeddingOptions:t};r=VYG.checkavailability.roomBeddingTemplateCompiled.render(i);$J(n.currentProductContainer).find(".room-bedding").html(r);$J(n.currentProductContainer).find(".room-bedding select").each(function(){$J(this).addClass("select2");$J(this).select2({minimumResultsForSearch:-1})})},updateBedding:function(n,t,r){var y=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][r].Configurations,s="<option><\/option>",f=0,h="",c="",p=$J(n.currentProductContainer).find(".room-bedding:eq("+r+") select.select-bedding option:selected").val(),l="",a=[],e=VYG.checkavailability.objectSelectedCalendarBedding[n.currentRoomTypeShortId],o,v,u;$J(y).each(function(n,r){var u=r.ProductId,k=r.ProductName,y=r.Title,o=0,w="",b=[],v,e;for(i=0;i<t.length;i++){for(v=!1,e=t[i],ii=0;ii<e.length;ii++)w=e[ii].Date,u==e[ii].ProductId&&(o++,v=!0);b.push({currentDate:w,availableCurrentBedding:v})}a.push({productIdBedding:u,availableBedding:o,selectedCalendar:b});o==t.length&&(l=p==u?'selected="selected"':"",s+="<option "+l+' value="'+u+'" data-product-name="'+k+'">'+y+"<\/option>",f++,h=y,c=u)});o={BeddingId:"bedding_"+n.currentRoomTypeShortId+"_"+r,BeddingOptions:s,titleBedding:h};v=f==1?VYG.checkavailability.roomBeddingSingleTemplateCompiled.render(o):VYG.checkavailability.roomBeddingTemplateCompiled.render(o);$J(n.currentProductContainer).find(".room-bedding:eq("+r+")").html(v);$J(n.currentProductContainer).find(".room-bedding:eq("+r+") select").each(function(){$J(this).addClass("select2");$J(this).select2({minimumResultsForSearch:-1})});f==1&&$J(n.currentProductContainer).find("select.select-bedding:eq("+r+")").select2("val",c);u=[];u.push({roomIndex:r,beddingData:a});e!=undefined&&e.length>0&&$J(e).each(function(n,t){t.roomIndex!=r&&u.push(t)});VYG.checkavailability.objectSelectedCalendarBedding[n.currentRoomTypeShortId]=u},isValidBeddingSelectedCalendarCell:function(n,t){var r=$J(n.currentProductContainer).find("select.select-bedding:eq("+t+") option").length,i;return r==1?(i={Title:noBeddingTitle!=undefined&&noBeddingTitle!=""?noBeddingTitle:"The number of rooms you selected were not available for the bedding",ActionMessage:noBeddingDesc!=undefined&&noBeddingDesc!=""?noBeddingDesc:"Please select less number of rooms or select other date.",BookingReferenceId:"",ErrorCode:""},VYG.checkavailability.showCalendarError(i,n),VYG.checkavailability.renderBookingElement(n,t,"hide"),VYG.checkavailability.animatePosition($J(n.currentProductContainer),50),VYG.checkavailability.setUnavailableBedding(n,t),!1):!0},setUnavailableBedding:function(n,t){var r=$J(n.currentProductContainer).find(".button-book").attr("data-rate-row-"+t),i="";if($J(VYG.checkavailability.objectSelectedCalendarBedding[n.currentRoomTypeShortId]).each(function(n,r){if(r.roomIndex==t)return i=r.beddingData,!1}),i!=""){var e=$J(i).length,u=0,f=0;$J(i).each(function(n,t){t.availableBedding>u&&(u=t.availableBedding,f=n)});$J(i[f]).each(function(i,u){var e=u.productIdBedding,f=u.selectedCalendar;$J(f).each(function(i,u){var o=u.currentDate,s=u.availableCurrentBedding,e,f;s||(e='<span class="unavailable-bedding-text">Unavailable Bedding<\/span>',f=moment(o).format("YYYY-MM-DD"),$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+r+') td[data-date-group="'+f+'"]').addClass("unavailable-bedding"),$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+r+') td[data-date-group="'+f+'"]').find(".rate").addClass("hide"),$J(n.currentProductContainer).find(".find-tour-table:eq("+t+") tbody tr:eq("+r+') td[data-date-group="'+f+'"]').append(e))})})}},renderOptionalExtra:function(n){var e=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),t,i,r,u,f;for(VYG.checkavailability.objectOptionalExtra[n.currentRoomTypeShortId]=[],VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||(VYG.checkavailability.objectOptionalExtraOrigin[n.currentRoomTypeShortId]=[]),t=0;t<e;t++)i=t,r=VYG.checkavailability.RoomsAvailability[n.currentRoomTypeShortId][i],r.RateAvailabilities.length>0&&(VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||(u={},f=VYG.checkavailability.roomOptionalExtrasTemplateCompiled.render(u),$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+")").html(f)),$J(r.RateAvailabilities).each(function(t,r){var u=r.RateDescriptorId,f=t,e=r.Duration;VYG.checkavailability.getOptionalExtraList(n,u,i,f)}))},getOptionalExtraList:function(n,t,i,r){var o=n.currentProductId,u=$J(n.currentProductContainer).find(".find-tour-table:eq(0) thead th:nth-child(2)").data("iso-date"),s=16,f,h,e;u=moment(u).subtract("days",1).format("YYYY-MM-DD");f=t;o&&u&&s&&(h="/common/RenderAdditionalProductMatrix?productId="+o+"&startDate="+u+"&duration="+s+"&rateDescriptorId="+f,e=$J.ajax({url:h,global:!1,type:"GET",dataType:"json"}),e.done(function(t){var u;if(t.IsExist){u=f||"RateDescriptorId-"+(parseInt(r)+1);t.roomIndex=i;t.rateDescriptorId=u;t.roomTypeIndex=r;VYG.checkavailability.objectOptionalExtra[n.currentRoomTypeShortId].push(t);VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]||VYG.checkavailability.objectOptionalExtraOrigin[n.currentRoomTypeShortId].push(t);var e=$J(n.currentProductContainer).find(".button-book").attr("data-duration-"+i),o=$J(n.currentProductContainer).find(".find-tour-table:eq("+i+') tr[data-ratedescriptorid="'+u+'"] td.selected').length,s=$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+') .additional-product-wrapper[data-ratedescriptorid="'+u+'"]').length;o>0&&s==0&&!VYG.checkavailability.isBrowse[n.currentRoomTypeShortId]&&(VYG.checkavailability.renderOptionalExtraListSelected(t,n,u,i,e),VYG.checkavailability.resetOptionalExtraCol(n,u,i))}}),e.fail(function(){}))},renderOptionalExtraList:function(n,t,i,r){$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+")").hide();$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+") .additional-product-wrapper").remove();$J(VYG.checkavailability.objectOptionalExtraOrigin[n.currentRoomTypeShortId]).each(function(u,f){f.rateDescriptorId==t&&f.roomIndex==i&&VYG.checkavailability.renderOptionalExtraListSelected(f,n,t,i,r)})},renderOptionalExtraListSelected:function(n,t,i,r,u){var e=[],o=moment($J(t.currentProductContainer).find(".button-book").attr("data-checkin-date-"+r),"DD/MM/YYYY"),h=moment(o).add("days",u),f=n,s;if(f.Options.length==0){$J(t.currentProductContainer).find(".room-optional-extras:eq("+r+")").hide();return}if(f.KeySellingPoint="",f.currentRoomTypeShortId=t.currentRoomTypeShortId,f.rateDescriptorId=i,s=!1,$J(f.Products).each(function(n,t){var r=VYG.checkavailability.renderKeySellingPoint(t),i;f.Products[n].optionKeySellingPoint=r;f.Products[n].class="";t.MinPrice==0?f.Products[n].class="hide":s=!0;i=[];$J(t.AdditionalProductOptions).each(function(n,t){t.AdultDisplayPrice=VYG.checkavailability.getMoneyValue(t.AdultPrice);t.ChildDisplayPrice=VYG.checkavailability.getMoneyValue(t.ChildPrice);var r=moment(moment(t.OrderDate).format("DD/MM/YYYY"),"DD/MM/YYYY");r>=o&&r<h&&i.push(t)});t.ProductOptions=i}),f.classNavigation="hide",$J(f.Options).each(function(n,t){var i=moment(moment(t.OrderDate).format("DD/MM/YYYY"),"DD/MM/YYYY");t.DateText=moment(t.OrderDate).add("days",1).format("DD MMM");i>=o&&i<h&&(t.class="page-1",e.length+1>10?t.class="page-3":e.length+1>5&&(t.class="page-2"),e.push(t))}),e.length>5&&(f.classNavigation=""),f.totalPage=parseInt(e.length/5)+1,e.length==10&&(f.totalPage=2),f.OptionsSelected=e,f.OptionsSelected.length>0&&s){HTML=VYG.checkavailability.roomOptionalExtrasTemplateRawCompiled.render(f);$J(t.currentProductContainer).find(".room-optional-extras:eq("+r+")").show();$J(t.currentProductContainer).find(".room-optional-extras:eq("+r+") .additional-product-wrapper").remove();$J(t.currentProductContainer).find(".room-optional-extras:eq("+r+")").append(HTML);$J(t.currentProductContainer).find(".room-optional-extras:eq("+r+') .additional-product-wrapper[data-ratedescriptorid="'+i+'"] input[type=checkbox]').prettyCheckable({color:"blue"});$J(t.currentProductContainer).find(".room-optional-extras:eq("+r+') .additional-product-wrapper[data-ratedescriptorid="'+i+'"]').show();VYG.checkavailability.onSelectOptionalExtras(t,r);VYG.checkavailability.resetSelectOptionalExtras(t,r);VYG.checkavailability.nextPrevOptionalExtras(t,r);$J(t.currentProductContainer).find(".room-summary:eq("+r+") .amount-sub-wrap").removeClass("hide")}else $J(t.currentProductContainer).find(".room-optional-extras:eq("+r+")").hide()},resetOptionalExtraCol:function(n,t,i){if($J(n.currentProductContainer).find(".room-optional-extras:eq("+i+') .additional-product-wrapper[data-ratedescriptorid="'+t+'"]').length>0){var r=$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+') .additional-product-wrapper[data-ratedescriptorid="'+t+'"] tbody td.additional-product-sticky-col');$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+') .additional-product-wrapper[data-ratedescriptorid="'+t+'"] tbody td.additional-product-sticky-col').each(function(){$J(this).height("auto");$J(this).height()<55&&$J(this).height(55);$J(this).parents("tr").find("td").height($J(this).height())})}},onSelectOptionalExtras:function(n,t){$J(n.currentProductContainer).off("click",".room-optional-extras:eq("+t+") .prettycheckbox").on("click",".room-optional-extras:eq("+t+") .prettycheckbox",function(){var e;$J(this).toggleClass("checked");$J(this).hasClass("checked")?$J(this).find("a").addClass("checked"):$J(this).find("a").removeClass("checked");var t=$J(this).closest(".accordion-group").attr("data-room-index"),o=$J(this).parents(".additional-product-wrapper").data("ratedescriptorid"),s=$J(this).parents("div[id^='accordion_acc_detail_'].accordion-group").find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),n=VYG.checkavailability.createProductIdKey(s),r=0,u=0;$J(n.currentProductContainer).find(".room-optional-extras:eq("+t+') .additional-product-wrapper[data-ratedescriptorid="'+o+'"] .prettycheckbox.checked').each(function(n,t){r+=$J(t).find("input").data("product-price");u+=$J(this).find("input").data("product-price-child")});var l=parseInt($J(n.currentProductContainer).find(".accordion-body-view-room-detail").attr("data-product-child-max-age")),h=VYG.checkavailability.totalChild[n.currentRoomTypeShortId],f=0,c=parseInt(VYG.checkavailability.checkAvailData.roomData[t].adult);for(i=0;i<h;i++)e=parseInt(VYG.checkavailability.checkAvailData.roomData[t].childData[i]),e>=13&&f++;$J(n.currentProductContainer).find(".room-amount-total:eq("+t+") .amount-total").attr("data-amountopex",r*(c+0)+u*f);VYG.checkavailability.updateAmountTotal(n)})},resetSelectOptionalExtras:function(n,t){$J(n.currentProductContainer).find(".room-amount-total:eq("+t+") .amount-total").attr("data-amountopex",0)},nextPrevOptionalExtras:function(n,t){$J(n.currentProductContainer).find(".room-optional-extras:eq("+t+") .icon-prev-optional, .room-optional-extras:eq("+t+") .icon-next-optional").off("click").on("click",function(){var i,u,r;$J(this).hasClass("disabled")||($J(n.currentProductContainer).find(".room-optional-extras:eq("+t+") .icon-prev-optional, .room-optional-extras .icon-next-optional").removeClass("disabled"),i=parseInt($J(this).attr("data-page-active")),u=parseInt($J(this).attr("data-page-total")),$J(this).hasClass("icon-prev-optional")?(i=parseInt($J(this).attr("data-page-active"))-1,i==1&&$J(this).addClass("disabled")):$J(this).hasClass("icon-next-optional")&&(i=parseInt($J(this).attr("data-page-active"))+1,i==u&&$J(this).addClass("disabled")),r=$J(this).parents(".room-optional-extras"),$J(r).find("th, td").addClass("hide"),$J(r).find("th.additional-product-sticky-col, td.additional-product-sticky-col").removeClass("hide"),$J(r).find("th.page-"+i+", td.page-"+i).removeClass("hide"),$J(r).find(".icon-prev-optional, .icon-next-optional").attr("data-page-active",i))})},renderNextPrevRoom:function(n){var t=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]);if(t!=1&&!VYG.checkavailability.isSoldPerBedProduct(n)){var r="";for(i=0;i<t;i++)r=i+1==1?VYG.checkavailability.nextPrevRoomTemplateCompiled.render({titleButton:"Next Room",classButton:"next-room"}):i+1==t?VYG.checkavailability.nextPrevRoomTemplateCompiled.render({titleButton:"Prev Room",classButton:"prev-room"}):VYG.checkavailability.nextPrevRoomTemplateCompiled.render({titleButton:"Next Room",classButton:"next-room"})+VYG.checkavailability.nextPrevRoomTemplateCompiled.render({titleButton:"Prev Room",classButton:"prev-room"}),$J(n.currentProductContainer).find(".room-availabilities .accordion-group:eq("+i+") .next-prev-room").html(r);$J(".next-room").off("click").on("click",function(){var r=$J(this).parents("div[id^='accordion_acc_detail_'].accordion-group").find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),u=VYG.checkavailability.createProductIdKey(r),t=220,n,i;$J(this).closest(".accordion-group").hide();$J(this).closest(".accordion-group").next().fadeIn();n=$J(this).closest($J("div[id^='accordion_acc_detail_book_room_availabilities_']"));$J(this).closest(".accordion-group").next().next().length==0&&$J(this).closest(".accordion-group").next().find(".next-prev-room").css("display")!="none"&&$J(n).find(".addtoitinerary-wraper").show();VYG.checkavailability.isAccSpecial&&(t=200);VYG.checkavailability.animatePosition(n,t);i=parseInt($J(this).closest(".accordion-group").next().attr("data-room-index"));VYG.checkavailability.resetCalendarStyle(u,i)});$J(".prev-room").off("click").on("click",function(){var r=$J(this).parents("div[id^='accordion_acc_detail_'].accordion-group").find("div[id^='accordion_acc_detail_view_room_']").data("product-ids"),u=VYG.checkavailability.createProductIdKey(r),t=220,n,i;$J(this).closest(".accordion-group").hide();$J(this).closest(".accordion-group").prev().fadeIn();n=$J(this).closest($J("div[id^='accordion_acc_detail_book_room_availabilities_']"));$J(n).find(".addtoitinerary-wraper").hide();VYG.checkavailability.isAccSpecial&&(t=200);VYG.checkavailability.animatePosition(n,t);i=parseInt($J(this).closest(".accordion-group").prev().attr("data-room-index"));VYG.checkavailability.resetCalendarStyle(u,i)})}},renderAmountTotal:function(n){var t="Room total cost including tax",i="ROOM TOTAL INCL GST";!0&&(t="Room total cost + Selected optional extras cost including tax",i="ROOM TOTAL + SELECTED OPTIONAL EXTRAS  INCL GST");var r={amountTotalFormat:VYG.checkavailability.getMoneyValue(145500,2),infoPopOverText:t,infoText:i},u=VYG.checkavailability.roomAmountTotalDefaultTemplateCompiled.render(r),f=$J("#bookingbar_currency_code :selected");f.length>0&&(selectedCurrencyCode=f.val(),selectedCurrencyCode!="AUD"&&(u=VYG.checkavailability.roomAmountTotalTemplateCompiled.render(r)));$J(n.currentProductContainer).find(".room-amount-total").html(u);VYG.checkavailability.resetPopOver($J(n.currentProductContainer).find(".room-amount-total"))},updateAmountTotal:function(n){var t=0,i,r,u;optionalExtraPrice=!1;$J(n.currentProductContainer).find(".room-summary .amount-sub").each(function(){var n=parseFloat($J(this).attr("data-amountsub"));n&&(t+=parseFloat(n))});$J(n.currentProductContainer).find(".room-amount-total .amount-total").each(function(){var n=parseFloat($J(this).attr("data-amountopex"));n&&(t+=parseFloat(n),optionalExtraPrice=!0)});i="Room total cost including tax";r="ROOM TOTAL INCL GST";optionalExtraPrice&&(i="Room total cost + Selected optional extras cost including tax",r="ROOM TOTAL + SELECTED OPTIONAL EXTRAS  INCL GST");u=VYG.checkavailability.getMoneyValue(t,2);$J(n.currentProductContainer).find(".room-amount-total .amount-total").each(function(f){var h=$J(this).attr("data-amountopex")?$J(this).attr("data-amountopex"):0,e={amountTotal:t,amountTotalFormat:u,infoPopOverText:i,infoText:r,amountopex:h},o=VYG.checkavailability.roomAmountTotalDefaultTemplateCompiled.render(e),s=$J("#bookingbar_currency_code :selected");s.length>0&&(selectedCurrencyCode=s.val(),selectedCurrencyCode!="AUD"&&(o=VYG.checkavailability.roomAmountTotalTemplateCompiled.render(e)));$J(n.currentProductContainer).find(".room-amount-total:eq("+f+")").html(o);VYG.checkavailability.resetPopOver($J(n.currentProductContainer).find(".room-amount-total"))})},getStartEndDate:function(n){var h=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),f=$J(window).width(),e=f<768?parseInt($J("#"+n.currentProductId+"_"+idClicked).attr("data-duration")):parseInt($J(n.currentProductContainer).find(".button-book").attr("data-duration-0")),t=f<768?moment($J("#"+n.currentProductId+"_"+idClicked).attr("data-checkin-date"),"DD/MM/YYYY").format():moment($J(n.currentProductContainer).find(".button-book").attr("data-checkin-date-0"),"DD/MM/YYYY").format(),i=moment(t).add("days",e),r=moment(t),o=[],u;if(f>=768)for(u=1;u<h;u++){var s=u,t=moment($J(n.currentProductContainer).find(".button-book").attr("data-checkin-date-"+s),"DD/MM/YYYY").format("YYYY-MM-DD"),e=parseInt($J(n.currentProductContainer).find(".button-book").attr("data-duration-"+s));r=moment(t)<r?moment(t):r;i=moment(t).add("days",e)>i?moment(t).add("days",e):i}return o.push({startDate:r,endDate:i}),o},getSelectedRoomConfigs:function(n){var r=[],f=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),u,t;for(VYG.checkavailability.isSoldPerBedProduct(n)&&(f=1),u=0;u<f;u++){var t=u,e=moment($J(n.currentProductContainer).find(".button-book").attr("data-checkin-date-"+t),"DD/MM/YYYY").format("YYYY-MM-DD"),c=$J(n.currentProductContainer).find(".button-book").attr("data-rate-row-"+t),l=$J(n.currentProductContainer).find(".button-book").attr("data-rate-index-"+t),h=$J(n.currentProductContainer).find(".button-book").attr("data-duration-"+t),o=VYG.checkavailability.getObjectSelectedCalendar(n,t),s=$J(n.currentProductContainer).find("select.select-bedding:eq("+t+") option:selected").val()||o[0][0].ProductId;if($J(n.currentProductContainer).find("select.select-bedding:eq("+t+")").select2("val",s),$J.each(o,function(u,f){var o,c,l;for(i=0;i<f.length;i++)if(f[i].ProductId==s&&moment(f[i].Date).format("YYYY-MM-DD")==e)if(o=VYG.checkavailability.getChildData(n,t,"perRoom"),f[i].DelimitedChildAges=o.DelimitedChildAges,f[i].StartDate=moment(e).format(),f[i].Duration=parseInt(h),f[i].childData=o.ChildData,f[i].ChildDataString=o.ChildDataString,VYG.checkavailability.isSoldPerBedProduct(n))for(c=parseInt(VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]),iii=0;iii<c;iii++)l=$J.extend(!0,{},f[i]),r.push(l);else r.push(f[i])}),VYG.checkavailability.isSoldPerBedProduct(n))for(i=0;i<r.length;i++)t=i+1,r[i].RoomIndex=t}return r},getMobileSelectedRoomConfigs:function(n){for(var r,t=[],u=0;u<1;u++){var r=u,s=parseInt($J("#"+n.currentProductId+"_"+idClicked).data("duration")),f=moment($J("#"+n.currentProductId+"_"+idClicked).data("checkin-date"),"DD/MM/YYYY").format("YYYY-MM-DD"),e=VYG.checkavailability.getObjectSelectedMobile(n),o=$J(n.currentProductContainer).find("select.select-bedding:eq("+r+") option:selected").val()||e[0][0].ProductId;if($J(n.currentProductContainer).find("select.select-bedding:eq("+r+")").select2("val",o),$J.each(e,function(u,e){var h,c,l;for(i=0;i<e.length;i++)if(e[i].ProductId==o&&moment(e[i].Date).format("YYYY-MM-DD")==f)if(h=VYG.checkavailability.getChildData(n,r,"perRoom"),e[i].DelimitedChildAges=h.DelimitedChildAges,e[i].StartDate=moment(f).format(),e[i].Duration=parseInt(s),e[i].childData=h.ChildData,e[i].ChildDataString=h.ChildDataString,VYG.checkavailability.isSoldPerBedProduct(n))for(c=parseInt(VYG.checkavailability.totalAdult[n.currentRoomTypeShortId]),iii=0;iii<c;iii++)l=$J.extend(!0,{},e[i]),t.push(l);else t.push(e[i])}),VYG.checkavailability.isSoldPerBedProduct(n))for(i=0;i<t.length;i++)r=i+1,t[i].RoomIndex=r}return t},getChildData:function(n,t,i){var f,r=[],e="",u="";return $J(VYG.checkavailability.checkAvailData.roomData).each(function(n,f){var e,o,s;if(i=="perRoom"){if(n==t)for(e=0;e<f.childData.length;e++)o=parseInt(f.childData[e]),s=moment(VYG.checkavailability.today()).subtract("year",o).format(),r.push({FirstName:"",LastName:"",BirthDate:s,Age:o,GroupIndex:1}),u+=","+o}else for(e=0;e<f.childData.length;e++)o=parseInt(f.childData[e]),s=moment(VYG.checkavailability.today()).subtract("year",o).format(),r.push({FirstName:"",LastName:"",BirthDate:s,Age:o,GroupIndex:1}),u+=","+o}),u!=""&&(u=u.substring(1)),f={ChildData:r,ChildDataString:JSON.stringify(r),DelimitedChildAges:u},VYG.checkavailability.isSoldPerBedProduct(n)&&(r=[],e=JSON.stringify(r),u="",f={ChildData:r,ChildDataString:JSON.stringify(r),DelimitedChildAges:u}),f},getObjectSelectedCalendar:function(n,t){var i="";return $J(VYG.checkavailability.objectSelectedCalendar[n.currentRoomTypeShortId]).each(function(n,r){r.roomIndex==t&&(i=r.roomData)}),i},getObjectSelectedMobile:function(n){var f=[],t=$J("#"+n.currentProductId+"_"+idClicked),h=n.currentProductId+"_"+idClicked,a=$J(t).data("product-sitecore-short-id"),e,r,s;$J(t).parent().find(".bedding .beddy_select").length>0&&(e=$J(t).parent().find(".bedding .beddy_select option:selected").data("product-id"),e!=""&&(h=e,a=$J(t).parent().find(".bedding .beddy_select option:selected").data("product-sitecore-short-id")));var c=parseInt($J(t).data("duration")),l=parseInt($J(t).data("min-nights")),v=c>l?c:l;for(r=1;r<=v;r++){var i=$J("#"+h+"_"+r),u=[],o={AdultCost:$J(i).data("adult-cost"),AdultQuantity:$J(t).data("adult"),AvailableQuantity:$J(i).data("available-qty"),ChildCost:$J(i).data("child-cost"),ChildQuantity:$J(t).data("child"),Currency:"",Date:$J(i).data("group-date"),DelimitedChildAges:VYG.checkavailability.getChildData(n).DelimitedChildAges,Duration:0,ExtraPersonCost:$J(i).data("extra-pax-cost"),HasNoPriceInformationAvailable:!1,IsAvailable:!0,IsExtraPersonApplied:$J(i).data("extra-pax-applied"),IsHelpDisability:!1,MinNights:$J(t).data("min-nights"),ProductId:n.currentProductId,ProductName:null,ProductSitecoreShortId:$J(t).data("product-sitecore-short-id"),ProductSubCode:$J(t).data("product-sub-code"),RoomIndex:1,SourceId:$J(t).data("source-id"),SpecialOfferCancellationPolicy:null,SpecialOfferContent:null,SpecialOfferTermsAndCondition:null,StartDate:$J(t).data("checkin-date"),TotalCost:$J(i).data("total-cost")};if(VYG.checkavailability.isSoldPerBedProduct(n))for(s=0;s<parseInt(o.AdultQuantity);s++)u.push(o),f.push(u);else u.push(o),f.push(u)}return f},renderBookingElement:function(n,t,i){var r=parseInt(VYG.checkavailability.roomNumber[n.currentRoomTypeShortId]),u;i=="hide"?($J(n.currentProductContainer).find(".room-summary:eq("+t+")").hide(),$J(n.currentProductContainer).find(".room-bedding:eq("+t+")").hide(),$J(n.currentProductContainer).find(".room-optional-extras:eq("+t+")").hide(),$J(n.currentProductContainer).find(".next-prev-room:eq("+t+")").hide(),$J(n.currentProductContainer).find(".room-amount-total:eq("+t+")").hide(),$J(n.currentProductContainer).find(".addtoitinerary-wraper").hide(),u=VYG.checkavailability.getMoneyValue(0,2),$J(n.currentProductContainer).find(".room-summary .amount-sub").text(u),$J(n.currentProductContainer).find(".room-summary .amount-sub").attr("data-amountsub",0)):$J(n.currentProductContainer).find(".room-bedding:hidden").length>0&&($J(n.currentProductContainer).find(".room-summary:eq("+t+")").show(),$J(n.currentProductContainer).find(".room-bedding:eq("+t+")").show(),$J(n.currentProductContainer).find(".next-prev-room:eq("+t+")").show(),$J(n.currentProductContainer).find(".room-amount-total:eq("+t+")").show(),(r==t+1&&r==1||VYG.checkavailability.isSoldPerBedProduct(n))&&$J(n.currentProductContainer).find(".addtoitinerary-wraper").show())},onAddItineraryClicked:function(n,t){var s=VYG.checkavailability.elGlobal,r=$J(window).width(),h=r<768?parseInt($J("#"+n.currentProductId+"_"+idClicked).data("duration")):parseInt($J(n.currentProductContainer).find(".button-book").attr("data-duration-0")),c=r<768?moment($J("#"+n.currentProductId+"_"+idClicked).data("checkin-date"),"DD/MM/YYYY").format():moment($J(n.currentProductContainer).find(".button-book").attr("data-checkin-date-0"),"DD/MM/YYYY").format(),u=VYG.checkavailability.getStartEndDate(n),f=r<768?VYG.checkavailability.getMobileSelectedRoomConfigs(n):VYG.checkavailability.getSelectedRoomConfigs(n),e=VYG.checkavailability.getChildData(n),i={AccommodationDataString:JSON.stringify(f),AccommodationData:f,StartDate:u[0].startDate.format(),EndDate:u[0].endDate.format(),PromotionCode:$J(s).find("#bookingbar_promo_code").val(),ItineraryId:VYG.vars.getCurrentItineraryId(),IsNew:!1,Duration:h,ChildData:e.ChildData,ChildDataString:e.ChildDataString},o;i.productIdKey=n;i.triggerBookNow=t;VYG.checkavailability.upi.id?(i.IsEdit=!0,i.UserProductItineraryShortId=VYG.checkavailability.upi.id,o="<p>Are you sure you want to update your itinerary?<\/p>",bootbox.dialog(o,[{label:"Proceed","class":"",callback:function(){VYG.checkavailability.confirmSave(i)}},{label:"Cancel","class":"",callback:function(){$J(".modal").modal("hide")}}],{header:"Confirm Update"})):VYG.checkavailability.confirmSave(i)},confirmSave:function(n){var i=new VYG.types.callback,t;i.callbackArg=Object.create(n);i.callbackFunction=VYG.checkavailability.addAccommodationData;t=new VYG.types.callback;t.callbackArg=Object.create(n);t.callbackArg.IsNew=!0;t.callbackFunction=VYG.checkavailability.addAccommodationData;VYG.checkavailability.addExistingCallback=i;VYG.checkavailability.addNewCallback=t;VYG.myItinerary.addToWhichItinerary(t,i)},addAccommodationData:function(n){var i;VYG.unloading(".accordion-body-book-room-availabilities");VYG.unloading(".prices-cont");VYG.loading();i=n;i.__RequestVerificationToken=$J('input[name="__RequestVerificationToken"]').val();var t=n.productIdKey,r=n.triggerBookNow,f=n.IsNew||!1,u=$J.ajax({url:"/MyItinerary-api/AddAccommodationItinerary",data:i,global:!1,type:"POST",dataType:"json",traditional:!0});u.done(function(n){var u,e,c,i,l,a,v,y;if(VYG.utils.log(n),n&&n.HasConflict){var o=n.ConflictProductText||"a product",s={label:"Proceed &amp; Add","class":"",callback:function(){$J(".modal").modal("hide");VYG.checkavailability.addExistingCallback.callbackArg.Overwrite=!1;VYG.checkavailability.addExistingCallback.callbackArg.ConflictConfirmed=!0;VYG.executeCallback(VYG.checkavailability.addExistingCallback)}},p={label:"Proceed &amp; Remove","class":"",callback:function(){$J(".modal").modal("hide");VYG.checkavailability.addExistingCallback.callbackArg.Overwrite=!0;VYG.checkavailability.addExistingCallback.callbackArg.ConflictConfirmed=!0;VYG.executeCallback(VYG.checkavailability.addExistingCallback)}},h={label:"Cancel","class":"",callback:function(){$J(".modal").modal("hide")}};VYG.vars.isBookedItinerary()||!n.AllowReplace?bootbox.dialog("The time that you are trying to add is already enlisted with "+o+" in your current itinerary",[s,h],{header:"Conflicting item"}):bootbox.dialog("The time that you are trying to add is already enlisted with "+o+" in your current itinerary",[s,p,h],{header:"Conflicting item"});return}u={Title:n.TitleOverlay,ActionMessage:n.ActionMessage,BookingReferenceId:n.BookingReferenceId,ErrorCode:n.ErrorCode};n&&n.IsSucceed?($J("#my_itinerary.my-itinerary-empty").length>0&&$J("#my_itinerary.my-itinerary-empty").removeClass("my-itinerary-empty"),e=$J("#DetailSitecoreItemId").val(),$J(t.currentProductContainer).find(".add-to-itinerary-btn").attr("data-parent-product-itemid",n.ParentProductItemId),$J(t.currentProductContainer).find(".addtoitinerary-wraper").hide(),VYG.checkavailability.productItineraries=n.ProductItineraries,$J("input#my_itinerary_panel_id").val(n.ItineraryId),$J("input#is_itinerary_exist_flag").val("true"),$J(t.currentProductContainer).find(".additional-product-wrapper .prettycheckbox.checked").length>0?VYG.checkavailability.saveOptionalExtra(t,r,e):VYG.checkavailability.loadMyItinryPanel(t,r,e),VYG.checkavailability.initResetEditProductItinerary(),VYG.checkavailability.trackAddToCart(t),c=$J(window).width(),c<768&&(i=$J(".header-responsive .shopping-panel-wrapper"),i.is(":hidden")&&(VYG.checkavailability.animatePosition($J(".header-responsive"),0),a=$J("#"+t.currentProductId+"_"+idClicked).parents(".accordion-heading").find(".title-room").html(),v=$J("#"+t.currentProductId+"_"+idClicked).parents(".content-main").find(".title-main").html(),$J(i).find(".basket_wrapper li").html(a+" "+v),f?$J(".navigation-header .fa-shopping-bag .item-count").html("1"):(y=parseInt($J(".navigation-header .fa-shopping-bag .item-count").html())+1,$J(".navigation-header .fa-shopping-bag .item-count").html(y)),r||(clearTimeout(l),i.slideDown(500),l=setTimeout(function(){i.slideUp(500)},5e3))))):n&&!n.IsSucceed?(setTimeout(function(){VYG.unloading()},500),VYG.globalNotification.showAjaxError(u)):VYG.checkavailability.showCalendarError(u,t)});u.fail(function(){setTimeout(function(){VYG.unloading()},500);VYG.checkavailability.showCalendarError({Title:"Failed in processing your enquiry",ActionMessage:"",BookingReferenceId:"",ErrorCode:""},t)})},saveOptionalExtra:function(n,t,i){var u=VYG.checkavailability.isSoldPerBedProduct(n),e=$J(n.currentProductContainer).find(".add-to-itinerary-btn").attr("data-parent-product-itemid"),f=_(VYG.checkavailability.productItineraries).map(function(t,i){u&&(i=0);var r={Products:[],ItineraryId:t.itineraryId,NumberAdult:t.totalAdult,NumberChildren:t.totalChild,ParentProductItemId:t.ParentProductItemId};return VYG.checkavailability.upi.id&&(r.IsEdit=!0),$J(n.currentProductContainer).find(".room-optional-extras:eq("+i+") .prettycheckbox.checked").each(function(n,t){var i={},u=$J(t).find("input");i.OrderDate=moment($J(u).attr("data-order-date")).utc().format();i.ProductId=$J(u).attr("data-productid");r.Products.push(i)}),r}).value(),r=$J.ajax({url:"/common/SaveAdditionalProductMatrix",data:{additionalProducts:JSON.stringify(f),__RequestVerificationToken:$J('input[name="__RequestVerificationToken"]').val()},global:!1,type:"POST",dataType:"json"});r.done(function(r){VYG.utils.log(r);var u={Title:r.TitleOverlay,ActionMessage:r.ActionMessage,BookingReferenceId:r.BookingReferenceId,ErrorCode:r.ErrorCode};r.IsSucceed?VYG.checkavailability.trackAddToCartOptionalExtra(n):(VYG.unloading(),VYG.globalNotification.showAjaxError(u));VYG.checkavailability.loadMyItinryPanel(n,t,i)});r.fail(function(n){VYG.unloading();VYG.utils.log(n)})},renderPopOverIsSucceed:function(){$J(".wrap-white-button .popover-sunccess").remove();$J(".wrap-white-button").append('<div class="popover popover-sunccess fade top in" style="" data-original-title="" title=""><a href="#" class="icon-close">×<\/a><div class="arrow"><\/div><div class="popover-inner"><h3 class="popover-title"><\/h3><div class="popover-content"><h3>SUCCESS!<\/h3>THE HOTEL HAS BEEN ADDED <br> TO YOUR ITINERARY<\/div><\/div><\/div>');$J(".popover-sunccess .icon-close").on("click",function(){return $J(".popover-sunccess").remove(),!1});$J(".heading-cont .book-now.pull-right").addClass("hide");$J(".wrap-white-button button").on("click",function(){$J(".popover-sunccess").remove();var n=$J(".wrap-white-button button").data("add-to-itinerary");n&&($J(".wrap-white-button button").data("add-to-itinerary",!1),$J(".link-my-itinerary").not(".menu-trigger").trigger("click"),$J(".popover-sunccess").remove(),$J(".wrap-white-button button").popover("destroy"),$cont=VYG.checkavailability.isAccSpecial?$J("div[id^='accordion_grandparent_id_']").find($J("div[id^='accordion_acc_detail_view_room_']")):$J("div[id^='accordion_acc_detail_view_room_']"),$cont.each(function(){var n=$J(this).data("product-ids")?$J(this).data("product-ids"):null,t=VYG.checkavailability.createProductIdKey(n);VYG.checkavailability.resetDataPost();VYG.checkavailability.resetSelectRoomInfo()}))});$J(".wrap-white-button button").data("add-to-itinerary",!0);$J(".wrap-white-button").removeClass("hide");$J(".wrap-white-button button").popover("show")},loadMyItinryPanel:function(n,t,i){var r=".container-itineraries",u="#my_itinerary",f={DetailSitecoreItemId:i},e=$J.ajax({url:"/MyItinerary-api/RenderItineraryPanel",global:!0,type:"POST",data:f,dataType:"html"}).done(function(n){var r,f,e,i;$J(u).html(n);r=$J("#itinry_total_amount_id").attr("data-itinry-total-amount");f=VYG.utils.formatCurrency(r);$J("#my_itinerary_counter").html(f);$J("#my_itinerary_counter").attr("data-itinry-total-amount",r);$J(".link-my-itinerary.menu-trigger .popover-box-content").length>0&&($J(".link-my-itinerary.menu-trigger .popover-box-content").attr("data-itinry-total-amount",r),$J(".link-my-itinerary.menu-trigger .popover-box-content").html(f));VYG.exchangeRateConversion.initMyItineraryExchangeRateSelection();VYG.exchangeRateConversion.updateAllPricesWithExchangeRate();$J(".footer-cont .book-now").removeClass("disabled");$J(".heading-cont .book-now").removeClass("disabled");t?($J("#my_itinerary div.error-row").length>0&&($J(".link-my-itinerary").not(".menu-trigger").trigger("click"),$J("#my_itinerary div.error-row:first").parent($J(".accordion-body")).parent().not(".in").siblings($J(".accordion-heading")).find($J(".accordion-toggle")).trigger("click")),$J("button.book-now-button").prop("disabled",!1),$J("button.book-now-button:not(.disabled)").trigger("click")):(VYG.unloading(),e=$J(window).width(),e>=768&&(i=$J(".suggestions-panel.square-panel").not(".mini-panel"),i.length?VYG.checkavailability.animatePosition(i,70):(i=$J("#parallax_suggested-wrap"),i.length&&VYG.checkavailability.animatePosition(i,70)),setTimeout(function(){VYG.checkavailability.renderPopOverIsSucceed()},600)));VYG.initSocialBtn();initAccordionIndicator();initAccordionCollapseNext();VYG.initAddToDd();VYG.myItinerary.getRecommendTourData();VYG.itineraryPanel.displayRecommendToggle()}).fail(function(){VYG.unloading(r)})},isSoldPerBedProduct:function(n){return $J(n.currentProductContainer).find("div[data-room-type-shortid='"+n.currentRoomTypeShortId+"']").attr("data-is-sold-per-bed")=="True"?!0:!1},resetPopOver:function(n){$J(n).find(".popinfo").mouseover(function(){$J(this).popover("show")});$J(n).find(".popinfo").mouseleave(function(){$J(this).popover("hide")})},getMoneyValue:function(n){var t="AUD",i=JSON.parse($J.cookie("check-avail-data")||null);i!=null&&(t=i.currencyCode?i.currencyCode:"AUD");var r=currencySymbols[t],u=exchangeRates[t];return r+Math.round(n*u)},trackAddToCart:function(n){var t=$J(n.currentProductContainer).find("select.select-bedding option:selected"),i=$J(n.currentProductContainer).find(".room-amount-total .amount-total").attr("data-amounttotal"),r=[{name:t.data("product-name"),id:t.data("product-id"),price:i,brand:$J("h2.title-main").text(),category:"Accommodation",variant:$J(n.currentProductContainer).find(".find-avail-wrapper").parents(".accordion-group").find(".title-cont h3").text(),quantity:parseInt($J(n.currentProductContainer).find(".button-book").attr("data-duration"))}];dataLayer&&window.google_tag_manager&&dataLayer.push({event:"addToCart",ecommerce:{currencyCode:"AUD",add:{products:r}}})},trackAddToCartOptionalExtra:function(n){var t=[];$J(n.currentProductContainer).find(".additional-product-wrapper tbody tr").each(function(){var n=$J(this).find(".prettycheckbox.checked input"),r=n.data("productid"),i=n.length,u=$J(this).find(".additional-product-sticky-col").text();i>0&&t.push({name:u,id:r,brand:$J("h2.title-main").text(),category:"Misc",quantity:i})});dataLayer&&window.google_tag_manager&&dataLayer.push({event:"addToCart",ecommerce:{currencyCode:"AUD",add:{products:t}}})},setProductIds:function(){var n="",t=[];$J("div[id^='accordion_acc_detail_collapsible_']").each(function(i){var u=i+1===$J("div[id^='accordion_acc_detail_collapsible_']").length?"":",",r=$J(this).data("product-ids");n+=r+u;t.push(r)});$J("#selectedFindAccommodationProduct").val(n)},showCalendarError:function(n,t,i){var r=n.Title?n.Title:"Failed in processing your enquiry",e=n.ActionMessage&&n.ActionMessage.trim()?"<span>"+n.ActionMessage+"<\/span>":"<span>"+VYG.vars.getDefaultErrorProcessMessage()+"<\/span>",o=n.BookingReferenceId&&n.BookingReferenceId.trim()?"<span>Booking Reference : "+n.BookingReferenceId+"<\/span>":"",s=n.ErrorCode&&n.ErrorCode.trim()?"<span>Error Code :"+n.ErrorCode+"<\/span>":"",u=e+o+s,f;i=="ErrorMessageOne"?(f={Title:r,Message:u},$J(t.currentProductContainer).find(".jq-prices-error").html(VYG.checkavailability.availabilitiesRoomTemplateErrorTemplateCompiled.render(f)),$J(t.currentProductContainer).find(".find-tour-error").css("display")!="block"&&$J(t.currentProductContainer).find(".find-tour-error").fadeIn(),VYG.checkavailability.isBrowse[t.currentRoomTypeShortId]||($J(t.currentProductContainer).find(".prices-cont ul.prices-default").addClass("hide"),$J(t.currentProductContainer).find(".prices-cont ul.prices-dynamic").html("").addClass("hide"),$J(t.currentProductContainer).find(".jq-prices-error").removeClass("hide"),$J(t.currentProductContainer).find(".button-book").addClass("hide"))):($J(t.currentProductContainer).find(".find-tour-error h4").text(r),$J(t.currentProductContainer).find(".find-tour-error .error-items").empty().html(u),$J(t.currentProductContainer).find(".find-tour-error").css("display")!="block"&&$J(t.currentProductContainer).find(".find-tour-error").fadeIn())},hideCalendarError:function(n){$J(n.currentProductContainer).find(".find-tour-error").fadeOut()},animatePosition:function(n,t){if($J(n).length>0){var i=$J(n).offset().top;$J("html, body").animate({scrollTop:Math.ceil(i-t)},500)}}};$J(document).ready(function(){VYG.checkavailability.init()})