VYG.additionalProducts={init:function(){VYG.additionalProducts.additionalProductsTemplate()},productItineraries:[],currentProductId:"",startDate:"",duration:1,additionalProductsTemplateCompiled:{},additionalProductsTemplate:function(){VYG.additionalProducts.additionalProductsTemplateCompiled=Hogan.compile("<div class='additional-product-wrapper'><div class='additional-product-scroller'><table class='additional-product-table'><thead><tr><th class='additional-product-sticky-col'>&nbsp;<\/th>{{#Options}}<th>{{DateText}}<\/th>{{/Options}}<\/tr><\/thead><tbody>{{#Products}}<tr><td class='additional-product-sticky-col'>{{Title}} <span class='total-price red'><\/span> {{{in}}}<\/td>{{#Options}}<td><div class='controls'><label for='chk_{{DayIndex}}_{{ProductId}}' class='control-label'>{{#MinPrice}}${{MinPrice}}{{/MinPrice}}<\/label><input class='pretty-checkable cb-price' type='checkbox' id='chk_{{DayIndex}}_{{ProductId}}' value='1' data-product-price='{{#MinPrice}}{{MinPrice}}{{/MinPrice}}' data-productid='{{ProductId}}' data-day-index='{{DayIndex}}' data-order-date='{{OrderDate}}'><\/div><\/td>{{/Options}}<\/tr>{{/Products}}<\/tbody><\/table><\/div><\/div>")},renderAdditionalProducts:function(n){var i=VYG.additionalProducts.currentProductId,r=moment(VYG.additionalProducts.startDate,"DD/MM/YYYY").format("YYYY-MM-DD"),u=VYG.additionalProducts.duration||1,f,t;i&&r&&u?(f="/common/RenderAdditionalProductMatrix?productId="+i+"&startDate="+r+"&duration="+u,t=$J.ajax({url:f,global:!1,type:"GET",dataType:"json"}),t.done(function(t){if(t.IsExist){$J(".save-additional-panel").show();$J(n).find("div.additional-product-scroller").remove();var i=VYG.additionalProducts.additionalProductsTemplateCompiled.render(t);$J(n).find("div.actions-row").before(i);$J(n).off("click",".save-additional-panel:not(.disabled)").on("click",".save-additional-panel:not(.disabled)",function(){VYG.additionalProducts.saveAdditionalProducts($J(this))});VYG.initPrettyCheckable();VYG.additionalProducts.sumSelectedItemsPrice()}else $J(".save-additional-panel").hide()}),t.fail(function(){$J(".save-additional-panel").hide()})):$J(".save-additional-panel").hide()},trackAddToCart:function(){var n=[];$J(".additional-product-table tbody tr").each(function(){var t=$J(this).find("input[type='checkbox']:checked"),r=t.data("productid"),i=t.length,u=$J(this).find(".additional-product-sticky-col").text();i>0&&n.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:n}}})},saveAdditionalProducts:function(){var e=VYG.additionalProducts.currentProductId,n=$J('.accordion-body[data-product-ids="'+e+'"]'),t=$J(n).data("room-type-shortid"),r,u,f,i;VYG.loading();r="/common/SaveAdditionalProductMatrix";u={Products:[],ItineraryId:VYG.vars.getCurrentItineraryId(),NumberAdult:$J("#select_adult_qty_"+t).val(),NumberChildren:$J("#select_child_qty_"+t).val(),ParentProductItemId:$J("input#currently_added_product_itemid_"+t).val()};$J(n).find(".booking-confirma-cont").css("display")=="block"&&$J(n).find(".booking-confirma-cont input:checked").each(function(){var n={};n.OrderDate=moment($J(this).attr("data-order-date")).utc().format();n.ProductId=$J(this).attr("data-productid");u.Products.push(n)});f=_(VYG.additionalProducts.productItineraries).map(function(t){var i={Products:[],ItineraryId:t.itineraryId,NumberAdult:t.totalAdult,NumberChildren:t.totalChild,ParentProductItemId:t.ParentProductItemId};return $J(n).find(".booking-confirma-cont").css("display")=="block"&&$J(n).find('.booking-confirma-cont input[type="checkbox"]:checked').each(function(){var n={};n.OrderDate=moment($J(this).attr("data-order-date")).utc().format();n.ProductId=$J(this).attr("data-productid");i.Products.push(n)}),i}).value();i=$J.ajax({url:r,data:{additionalProducts:JSON.stringify(f),__RequestVerificationToken:$J('input[name="__RequestVerificationToken"]').val()},global:!1,type:"POST",dataType:"json"});i.done(function(t){VYG.unloading();t.IsSucceed?(VYG.additionalProducts.trackAddToCart(),$J(n).find(".booking-confirma-cont:visible .view-itinerary-panel").trigger("click")):(VYG.globalNotification.showAjaxError(t.ActionMessage),VYG.utils.log(t))});i.fail(function(n){VYG.unloading();VYG.utils.log(n)})},productid:[],sumSelectedItemsPrice:function(){function i(){var n=0,t=$J(this).closest(".booking-confirma-cont").find(".button.save-additional-panel");_.flatten(VYG.additionalProducts.productid);$J.each(VYG.additionalProducts.productid,function(t,i){for(var s=$J('input[type="checkbox"][data-productid="'+i+'"]'),r=$J('input[type="checkbox"][data-productid="'+i+'"]:checked'),f=0,o=_.isEmpty(r)?s.closest("tr").find("td.additional-product-sticky-col"):r.closest("tr").find("td.additional-product-sticky-col"),e=0;e<r.length;e++)f+=r.eq(e).data("product-price")*u,n++;f!=0?o.find(".total-price").text(" - $"+f):o.find(".total-price").text("")});n<=0?t.addClass("disabled"):t.removeClass("disabled")}var n,t,r=_(VYG.checkavailability.roomConfigurations).map(function(n){return parseInt(n.AdultQuantity)+parseInt(n.ChildQuantity)}),u=r.reduce(function(n,t){return n+t});$J('input[type="checkbox"].cb-price').each(function(){$J(this).attr("data-productid")!==undefined&&(n=$J(this).attr("data-productid"),_.indexOf(VYG.additionalProducts.productid,n)<0&&VYG.additionalProducts.productid.push(n),t=this);$J(this).change(function(){i.call(this)})});i.call(t)}};$J(document).ready(function(){VYG.additionalProducts.init()})