function InitializeClickEvents(){var n=$(".basket-product.js--basket-product"),t;if(n){n.find(".quantity__inner").each(function(){$(this).find("a.button").first().unbind("click").on("click",function(){BasketRemoveProduct(this,"basket")});$(this).find("a.button").last().unbind("click").on("click",function(){BasketAddProduct(this,1,"basket")})});n.find(".button.button--icon.js--remove-product").unbind("click").on("click",function(){BasketDeleteProduct(this,"basket")})}$(".mini-basket-product__inner").find(".quantity__inner").each(function(){$(this).find("a.button").first().unbind("click").on("click",function(){BasketRemoveProduct(this,"mini basket")});$(this).find("a.button").last().unbind("click").on("click",function(){BasketAddProduct(this,1,"mini basket")})});$(".mini-basket-product.js--mini-basket-product").find(".button.button--icon.js--remove-product").unbind("click").on("click",function(){BasketDeleteProduct(this,"mini basket")});if(AddProductSearchPageDOMs(),t=$(".product-details.js--product-details"),t)t.find("#addProductButton").unbind("click").on("click",function(){var n=$(".product-details.js--product-details").find("#productQuantity");n&&BasketAddProduct(this,parseInt(n.text()),"product detail")});$(".button.button--nav.button--nav--basket.js--mini-basket-trigger").on("click",function(){setTimeout(function(){$(".button.button--nav.button--nav--basket.js--mini-basket-trigger").hasClass("is-active")&&(miniBasketShowActiveChoice?(dataLayer.push(miniBasketShowImpression1),dataLayer.push(miniBasketShowImpression2)):miniBasketShowActiveChoice=!0)},1e3)})}function AddProductSearchPageDOMs(){var t=$("#categoryTitle").text().toLowerCase(),n;if(t)$(".product-grid").find(".product-tile.js--product-tile").find("a.button").unbind("click").on("click",function(){BasketAddProduct(this,parseInt($(this).attr("data-quantity")),t)});else if(n=$("#hiddenSearchTerm").text(),n)$(".product-grid").find(".product-tile.js--product-tile").find("a.button").unbind("click").on("click",function(){BasketAddProduct(this,parseInt($(this).attr("data-quantity")),n)})}function AddProductCarousel(n){$(n).unbind("click").bind("click",AddProductCarousel);var t=$(n).parents(".rr-block");return t.length>0?BasketAddProduct(n,parseInt($(n).attr("data-quantity")),"rr - "+t.attr("data-value")):BasketAddProduct(n,parseInt($(n).attr("data-quantity")),"solr - carousel"),!1}function SetupAddProductCarouselListeners(){var n=$(".product-list__item").find("a.button");$(".product-list__item").find("a.button").unbind("click").on("click",function(){var n=$(this).parents(".rr-block");n.length>0?BasketAddProduct(this,parseInt($(this).attr("data-quantity")),"rr - "+n.attr("data-value")):BasketAddProduct(this,parseInt($(this).attr("data-quantity")),"solr - carousel")});return!1}function BasketAddProduct(n,t,i){var r=$(n),u,f,e,o;if(n.dataset!==null&&!r.hasClass("is-disabled")&&(u=r.data().isdisabled,u!=="true")){f=Boolean(r.data().reloadpageonadd)===!0;ActivateSpinner();var h=r.data().productid,c=r.data().variantid,l=r.data().cartid,a=r.data().cartlanguage,s=1;return t&&(s=t),e=r.data().rrurl,o={BasketItems:basketItemsObject,CartId:l,ProductId:h,ProductVariantId:c,Quantity:s,ListName:i,Language:a},$.post("/api/ProductCart/AddProduct",o).done(function(t){if(t!==null&&t.BasketItems!==null){var i=$(".UpdateTotalQuantity").first().text();i==="0"&&($("#openMiniCart")[0].click(),miniBasketShowActiveChoice=!1,dataLayer.push(t.MiniBasketShowGTMObject1),dataLayer.push(t.MiniBasketShowGTMObject2),t.DestinationIsSet||$("#destinationModal")[0].click());basketItemsObject=t.BasketItems;UpdateProducts(t);UpdateViolationModal(t);UpdateCheckoutAccess(t);UpdateMiniTotal(t);UpdataTotalQuantity(t.TotalCartQuantity);addProductAnimation(n);richAddToBasket(t,e,n.dataset.variantid);UpdateTotal(t.Language).always(function(){f?location.reload():DeactivateSpinner()});miniBasketShowImpression1=t.MiniBasketShowGTMObject1Extra;miniBasketShowImpression2=t.MiniBasketShowGTMObject2;t.GTMObject&&dataLayer.push(t.GTMObject)}else DeactivateSpinner(),UpdateBasketErrorModal(JSON.parse(t.ErrorMessage).info.message),$("#hiddenBasketErrorButton")[0].click()}).fail(function(n){console.log("add product failed");console.log(n)}).always(function(){DeactivateSpinner()}),!1}}function ValidateDestinationModal(){var t=$("#flightDateInputModal"),i,r,u,n;return t.length<1?!1:(i=t.val(),i&&toggleHighlightInvalid(t,i,t.data().errormessage),r=$("#iataCodeInputModal"),u=r.attr("data-valid")==="true",u&&toggleHighlightInvalid(r,u,r.data().errormessage),n=$("#destinationMiniCartSubmit"),u&&i?(n.removeClass("is-disabled"),n.removeAttr("disabled"),n.addClass("js--close-modal"),!0):(n.addClass("is-disabled"),n.attr("disabled"),!1))}function IsDestinationReadyForSubmission(){var t=$("#flightDateInputModal"),r,i,u,n;return t.length<1?!1:(r=t.val(),toggleHighlightInvalid(t,r,t.data().errormessage),i=$("#iataCodeInputModal"),u=i.attr("data-valid")==="true",toggleHighlightInvalid(i,u,i.data().errormessage),n=$("#destinationMiniCartSubmit"),u&&r?(n.removeClass("is-disabled"),n.removeAttr("disabled"),n.addClass("js--close-modal"),!0):(n.addClass("is-disabled"),n.attr("disabled"),!1))}function toggleHighlightInvalid(n,t,i){var r=n.parent();return t?(r.removeClass("is-invalid"),r.find(".form__notice").remove(),!0):(r.addClass("is-invalid"),r.find(".form__notice").remove(),n.next().after('<span class="form__notice">'+i+"<\/span>"),!1)}function UseRichClickUrl(n){$("#isSearchPage").text()==="False"&&$(n).data().rrurl!==""&&$.post($(n).data().rrurl)}function richAddToBasket(n,t,i){if(t&&t.indexOf("richrelevance")!==-1&&$.post(t),typeof r3=="function"&&typeof R3_COMMON.addPlacementType=="function"){typeof R3_ITEM!="undefined"&&(R3_ITEM=undefined);typeof R3_SEARCH!="undefined"&&(R3_SEARCH=undefined);R3_COMMON.placementTypes="";R3_COMMON.categoryHintIds="";R3_COMMON.itemIds="";R3_COMMON.addPlacementType("add_to_cart_page");var r=new r3_addtocart;r.addItemIdToCart(i);r3()}}function BasketRemoveProduct(n,t){var i=$(n);ActivateSpinner();var u=i.data().productid,r=i.data().variantid,f=$(n).next(".quantity"+r).text()-1,e=i.data().cartid,o=i.data().cartlanguage,s={BasketItems:basketItemsObject,CartId:e,ProductId:u,ProductVariantId:r,Quantity:f,ListName:t,Language:o};return $.post("/api/ProductCart/RemoveProduct",s).done(function(n){n!=="null"&&n.BasketItems!==null&&(basketItemsObject=n.BasketItems,UpdateProducts(n),UpdateViolationModal(n),UpdateCheckoutAccess(n),UpdateMiniTotal(n),UpdataTotalQuantity(n.TotalCartQuantity),UpdateTotal(n.Language).always(function(){DeactivateSpinner()}),miniBasketShowImpression1=n.MiniBasketShowGTMObject1Extra,miniBasketShowImpression2=n.MiniBasketShowGTMObject2,n.GTMObject&&dataLayer.push(n.GTMObject))}).always(function(){DeactivateSpinner()}),!1}function BasketDeleteProduct(n,t){var r=$(n);ActivateSpinner();var f=r.data().productid,i=r.data().variantid,u=$(n).next().find(".quantity"+i).text();u===""&&(u=$(n).next().next().find(".quantity"+i).text());var e=r.data().cartid,o=r.data().cartlanguage,s={BasketItems:basketItemsObject,CartId:e,ProductId:f,ProductVariantId:i,Quantity:parseInt(u),ListName:t,Language:o};return $.post("/api/ProductCart/DeleteProduct",s).done(function(n){n!=="null"&&n.BasketItems!==null&&($(".mini-basket-item-"+i).remove(),$(".mini-violation-warning-"+i).remove(),basketItemsObject=n.BasketItems,UpdateProducts(n),UpdateViolationModal(n),UpdateCheckoutAccess(n),UpdateMiniTotal(n),$(document).trigger("basket:removedProduct",n),UpdataTotalQuantity(n.TotalCartQuantity),RemoveDeletedViolation(i),UpdateTotal(n.Language).always(function(){DeactivateSpinner()}),miniBasketShowImpression1=n.MiniBasketShowGTMObject1Extra,miniBasketShowImpression2=n.MiniBasketShowGTMObject2,n.GTMObject&&dataLayer.push(n.GTMObject))}).always(function(){DeactivateSpinner()}),!1}function RemoveDeletedViolation(n){$("#mini-violation-warning-"+n).remove()}function UpdataTotalQuantity(n){$(".UpdateTotalQuantity").text(n)}function UpdateProducts(n){n.TotalCartQuantity===0||n.TotalCartQuantity===null||n.TotalCartQuantity===undefined?$(".mini-basket__item.empty-minibasket").show():$(".mini-basket__item.empty-minibasket").hide();n.MiniBasketItemView&&InsertMiniBasketItem(n.MiniBasketItemView);$.each(n.BasketItems,function(n,t){UpdateQuantity(t);UpdateViolationWarning(t);UpdateMiniCartViolationWarning(t);$("."+t.VariantId+"sum").html(t.TotalPrice)});AdjustBasketPage(n.BasketItems)}function AdjustBasketPage(n){n.length===0&&($("#emptyCartBasketHeader").removeAttr("style"),$("#FilledBasket").html(""))}function InsertMiniBasketItem(n){$(".mini-basket__list.js--mini-basket-list").append(n);$(".mini-basket-product__inner").find(".quantity__inner").each(function(){$(this).find("a.button").first().unbind("click").on("click",function(){BasketRemoveProduct(this,1,"mini basket")});$(this).find("a.button").last().unbind("click").on("click",function(){BasketAddProduct(this,1,"mini basket")})});$(".mini-basket-product.js--mini-basket-product").find(".button.button--icon.js--remove-product").unbind("click").on("click",function(){BasketDeleteProduct(this,"mini basket")})}function UpdateQuantity(n){var i=n.Quantity,t=n.VariantId;$(".quantity"+t).html(i);i>1?($(".minus"+t).removeClass("is-disabled"),$(".basket-product.js--basket-product").find('.button.button--step[data-variantid="'+t+'"]').first().removeClass("is-disabled")):($(".minus"+t).addClass("is-disabled"),$(".basket-product.js--basket-product").find('.button.button--step[data-variantid="'+t+'"]').first().addClass("is-disabled"));i<99?($(".minus"+t).parent().children().last().removeClass("is-disabled"),$(".basket-product.js--basket-product").find('.button.button--step[data-variantid="'+t+'"]').last().removeClass("is-disabled")):($(".minus"+t).parent().children().last().addClass("is-disabled"),$(".basket-product.js--basket-product").find('.button.button--step[data-variantid="'+t+'"]').last().addClass("is-disabled"))}function UpdateViolationWarning(n){var t=n.VariantId,u=$("#violation-warning-"+t),i=$("#violaton-warning-inner-"+t),r=n.Restriction;r&&r.length>0?(i.length===0?u.html('<div class="basket-notice basket-notice--warning violation-warning" id="violation-warning-'+t+'"><div class="basket-notice__inner" id="violaton-warning-inner-'+t+'"><\/div ><\/div >'):i.empty(),i=$("#violaton-warning-inner-"+t),i.length!==0&&$.each(r,function(n,t){i.append('<p><span class="icon"><svg class="svg-icon svg-icon--warning"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/dist/svg/symbols.svg#svg-warning">&nbsp;<\/use><\/svg><\/span><span class="text">'+t.RestrictionText+"<\/span><\/p>")})):i.length!==0&&u.html('<div id="violation-warning-'+t+'"><\/div>')}function OpenViolationModal(){$("#pressToTriggerViolationModal")[0].click()}function UpdateMiniCartViolationWarning(n){var t=n.VariantId,u=$("#mini-violation-warning-"+t),i=$("#mini-violaton-warning-inner-"+t),r=n.Restriction;r&&r.length>0?(i.length===0?u.html('<div class="basket-notice mini-basket__notice basket-notice--slim basket-notice--warning" id="mini-violation-warning-'+t+'"><div class="basket-notice__inner" id="mini-violaton-warning-inner-'+t+'"><\/div ><\/div >'):i.empty(),i=$("#mini-violaton-warning-inner-"+t),i.length!==0&&$.each(r,function(n,t){i.append('<p><span class="icon"><svg class="svg-icon svg-icon--warning"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/dist/svg/symbols.svg#svg-warning">&nbsp;<\/use><\/svg><\/span><span class="text">'+t.RestrictionText+"<\/span><\/p>")})):i.length!==0&&u.html('<div id="mini-violation-warning-'+t+'"><\/div>')}function UpdateTotal(n,t){var r=$(document.body).data("currentpage"),i=$("li.is-active").find("#checkoutFlow").text(),f=i==="departure"||i==="arrival",u={ContentLink:r,Language:n,FreightCost:t};return $.post("/api/ProductCart/UpdateTotal",u).done(function(n){$("div.basket-total__inner").each(function(){$(this).remove()});$("div.basket-total").each(function(){$(this).prepend(n.Data.newTotalInner)});$('.options__item.js--option-item[data-tabid="2"]').find("div.basket-total__inner").remove();$('.options__item.js--option-item[data-tabid="2"]').find("div.basket-total").prepend(n.Data.newTotalInnerWithFreight)})}function UpdateMiniTotal(n){n.IsSubTotal!==!0?($("p.mini-basket__calc__subtotal").attr("style","display:none"),$("p.mini-basket__calc__savings").attr("style","display:none")):($("p.mini-basket__calc__subtotal").removeAttr("style"),$("p.mini-basket__calc__savings").removeAttr("style"),$("#miniSubTotalPrice").html(n.PriceSubTotal),$("#miniSavingsPrice").html(n.PriceDiscountTotal));$("#miniTotalPrice").html(n.PriceTotal);n.IsAuthenticated?($("p.mini-basket__calc__advantage").removeAttr("style"),$("#miniPointsEarned").html(n.TotalPointsEarned)):$("p.mini-basket__calc__advantage").attr("style","display:none")}function UpdateCheckoutAccess(n){var i=n.RestrictionMessage,r=n.DestinationIsSet,t=$(".checkout-button");r===null||r===!1?$(t).each(function(n,t){$(t).addClass("js--open-modal");$(t).attr("href","javascript:");$(t).attr("data-template","travelInfoModalTemplate");$(t).attr("onclick","ChangeStatusForRedirect(true)")}):i!==null&&i.length>0?$(t).each(function(n,t){$(t).addClass("js--open-modal");$(t).attr("href","javascript:OpenViolationModal()");$(t).attr("data-template","violationModalTemplate");$(t).attr("onclick","DeactivateSpinner()")}):$(t).each(function(n,t){$(t).attr("href",t.dataset.checkoutlink);$(t).removeClass("js--open-modal");$(t).attr("data-template","");$(t).removeAttr("onclick")})}function ChangeStatusForRedirect(n){$("#redirectToCheckout").text(n)}function UpdateDestination(n){var t=$("#flightDateInput").val(),r=$("#iataCodeInput").val(),i;if($(n).attr("data-iata",r),$(n).attr("data-flightdate",t),i=VerifyIATAFromBasket(n),i&&t!==""){ActivateSpinner();var u=n.dataset.cartid,f=n.dataset.iata,e=n.dataset.flightdate,o={CartId:u,IataCode:f,FlightDate:e};$.post("/api/ProductCart/AddOrUpdateDestinationInfoAsync",o,function(){DispatchGtmEvent("inline");location.reload()}).always(function(){DeactivateSpinner()})}}function DispatchGtmEvent(n){var t=$("#gaData"),i={country:$(t).data("country"),city:$(t).data("city"),isEu:$(t).data("is-eu"),type:n},r=new CustomEvent("destination:updated",{detail:i});window.dispatchEvent(r)}function VerifyIATA(){var t=$("#iataCodeInputModal").val(),i=t.length,n;return i!==3?($("#iataCodeInputModal").closest("div.form__field.form__field--text").addClass("is-invalid"),n='<span class="form__notice">IATA er altid 3 bogstaver langt.<\/span>',$("#iataCodeInputModal").next("label.form__label").next("span.form__notice").remove(),$("#iataCodeInputModal").next("label.form__label").after(n),!1):($("#iataCodeInputModal").next("label.form__label").next("span.form__notice").remove(),$("#iataCodeInputModal").closest("div.form__field.form__field--text").removeClass("is-invalid"),!0)}function VerifyIATAFromBasket(){var t=$("#iataCodeInput").val(),i=t.length,n;return i!==3?($("#iataCodeInput").closest("div.form__field.form__field--text").addClass("is-invalid"),n='<span class="form__notice">IATA er altid 3 bogstaver langt.<\/span>',$("#iataCodeInput").next("label.form__label").next("span.form__notice").remove(),$("#iataCodeInput").next("label.form__label").after(n),!1):($("#iataCodeInput").next("label.form__label").next("span.form__notice").remove(),$("#iataCodeInput").closest("div.form__field.form__field--text").removeClass("is-invalid"),!0)}function UpdateDestinationModal(n,t){var i,r,u;if(t=t||!1,i=$("#flightDateInputModal").val(),r=$("#iataCodeInputModal").val(),$(n).attr("data-iata",r),$(n).attr("data-flightdate",i),u=$(".checkout-button").data().checkoutlink,IsDestinationReadyForSubmission()){ActivateSpinner();var f=n.dataset.cartid,e=n.dataset.iata,o=n.dataset.flightdate,s={CartId:f,IataCode:e,FlightDate:o};$.post("/api/ProductCart/AddOrUpdateDestinationInfoAsync",s,function(){DispatchGtmEvent("modal");t==="true"?document.location.href=u:(HandleMiniBasketStateOnReload(),location.reload())}).always(function(){DeactivateSpinner()})}}function HandleMiniBasketStateOnReload(){console.log("page reloading UpdateDestinationModal..");$(".mini-basket.js--mini-basket.is-active").length>0&&Cookies.set("Cph.Website.Header.BasketState","open")}function UpdateViolationModal(n){var t=n.RestrictionMessage;if(t!==null&&t!==undefined&&t.length>0)$(window).on("modal:render",function(n){$(n.detail.modal.el).find("#insertViolationHere").text(t)})}function UpdateBasketErrorModal(n){if(n!==null&&n!==undefined&&n.length>0)$(window).on("modal:render",function(t){$(t.detail.modal.el).find("#insertErrorHere").text(n)});window.dispatchEvent(new Event("modal:init"))}function addProductAnimation(n){var t=$(n),i=t.find(".text"),r=t.find(".text2");this.stayTime=n.getAttribute("data-staytime")*1e3;i.removeClass("is-active");t.addClass("is-active");r.addClass("is-active");setTimeout(function(){i.addClass("is-active");t.removeClass("is-active");r.removeClass("is-active")}.bind(n),this.stayTime)}function applyfulltilessearch(n){var t=$(".fulltilesinput").val(),i=n+t;window.location.href=i}function UpdateAccordions(){window.dispatchEvent(new Event("accordion:init"));setTimeout(function(){window.dispatchEvent(new Event("accordion:updateheight"))},200)}$(function(){InitializeClickEvents()});var miniBasketShowActiveChoice=!0;$(function(){var n=Cookies.get("Cph.Website.Header.BasketState");n==="open"&&($("#openMiniCart")[0].click(),Cookies.remove("Cph.Website.Header.BasketState"))});$(function(){var n=$("#flightDateInputModal").val(),t=$("#iataCodeInput").val();n&&n.length===3&&$("#flightDateInputModal").attr("data-valid",!0);t&&t.length===3&&$("#iataCodeInput").attr("data-valid",!0)});$(function(){UpdataTotalQuantity($("#InitCartCount").attr("value"))})