1/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */ 2Drupal.behaviors.bannerClose={attach:function(e){"use strict";const t=[];document.querySelectorAll(".banner-close").forEach((e)=>{const o=e.closest(".banner"),n=o.getAttribute("data-drupal-hide-banner");t.push(n),e.addEventListener("click",function(e){o.style.setProperty("display","none"),"hideSlopesAndLiftsNoticeBanner"===n?sessionStorage.setItem(n,!0):localStorage.setItem(n,!0);});}),t.forEach((e)=>{let t="";t="hideSlopesAndLiftsNoticeBanner"===e?sessionStorage.getItem(e):localStorage.getItem(e),t&&"true"===t||document.querySelector(`[data-drupal-hide-banner="${e}"]`).style.setProperty("display","block");}),document.body.classList.contains("logged-out")&&localStorage.setItem("hideOwnerCustomerBanner",!1);}};; 3(function($,Drupal){Drupal.behaviors.consent_banner={attach:function(context){('use strict');$('body').on('click','.coi-consent-banner__read-more-button',function(){$('.summary-texts__description__text').addClass('summary-texts__description__text__show-all');$('.coi-consent-banner__read-more-button').css('display','none');});}};})(jQuery,Drupal);; 4(function($,Drupal){Drupal.behaviors.datalayer={attach:function(context){'use strict';if(window.location.pathname.includes('complete')&&$('.checkout-pane-order-summary')){const orderID=window.location.pathname.split('/')[3];const items=getItemsFromCart();let totalPrice=items.reduce(function(acc,order){return acc+parseInt(order.price);},0);totalPrice=priceFormatter(totalPrice);const arrivalAndDepartureDates=getArrivalAndDepartureDates();dataLayer.push({ecommerce:null});dataLayer.push({event:'purchase',ecommerce:{transaction_id:orderID,currency:'EUR',terms:arrivalAndDepartureDates,value:totalPrice,items}});}if($('.review--item')&&window.location.pathname.includes('review')){window.onpageshow=(event)=>{if(event.persisted){const $form=$('.commerce-checkout-flow-multistep-default');$form.removeAttr('data-drupal-form-submit-last');}let perfEntries=performance.getEntriesByType("navigation");if(perfEntries[0].type==="back_forward")window.location.reload(true);};const orderID=window.location.pathname.split('/')[3];const items=getItemsFromCart();let totalPrice=items.reduce(function(acc,order){return acc+parseInt(order.price);},0);totalPrice=priceFormatter(totalPrice);let payment_type='';if($('#edit-custom-review-payment-information').first().contents().eq(2).text().toLowerCase().includes('paytrail'))payment_type='paytrail';else payment_type='klarna';dataLayer.push({ecommerce:null});dataLayer.push({event:'add_payment_info',ecommerce:{transaction_id:orderID,currency:'EUR',payment_type,value:totalPrice,items}});dataLayer.push({ecommerce:null});dataLayer.push({event:'add_shipping_info',ecommerce:{transaction_id:orderID,currency:'EUR',value:totalPrice,items}});}if($('.view-commerce-cart-form'))$('.delete-order-item').on('click',function(event){const orderID=$('[id*="views-form-commerce-cart-form-default-"]').attr('id').split('-').pop();const product=$(this).closest('li');const items=removeItemFromCart(product);dataLayer.push({ecommerce:null});dataLayer.push({event:'remove_from_cart',ecommerce:{transaction_id:orderID,currency:'EUR',items}});});if(drupalSettings.user.uid!==0&&drupalSettings.user.combined_id!==undefined)dataLayer.push({user_id:drupalSettings.user.combined_id,'event':'login'});$('.js-form-submit').not('.delete-order-item').on('click',function(event){event.stopPropagation();event.stopImmediatePropagation();if(window.location.pathname.includes('cart')){const items=getItemsFromCart();let totalPrice=items.reduce(function(acc,order){return acc+parseInt(order.price);},0);totalPrice=priceFormatter(totalPrice);const orderID=$('[id*="views-form-commerce-cart-form-default-"]').attr('id').split('-').pop();dataLayer.push({ecommerce:null});dataLayer.push({event:'begin_checkout',ecommerce:{transaction_id:orderID,currency:'EUR',value:totalPrice,items}});}});if($('.view-commerce-cart-form')&&window.location.pathname.includes('cart')){const items=getItemsFromCart();let totalPrice=items.reduce(function(acc,order){return acc+parseInt(order.price);},0);totalPrice=priceFormatter(totalPrice);const orderID=$('[id*="views-form-commerce-cart-form-default-"]').attr('id').split('-').pop();dataLayer.push({ecommerce:null});dataLayer.push({event:'view_cart',ecommerce:{transaction_id:orderID,currency:'EUR',value:totalPrice,items}});}}};})(jQuery,Drupal);function removeItemFromCart(productElement){const item_name=productElement.find('.cart
4--item-attributes').text().split(',')[0];const orderDataFromDrupalSettings=drupalSettings.orders.find((order)=>order.title.includes(item_name.split(' ')[0]));const departmentName=orderDataFromDrupalSettings.departmentName;const housingType=orderDataFromDrupalSettings.housingType;const price=parseFloat(orderDataFromDrupalSettings.price);return {item_name:`Ski-Inn ${item_name}`,item_brand:'Ski-Inn',item_category:`Ski-Inn ${departmentName}`,item_category2:`Ski-Inn ${housingType}`,affiliation:'Ski-Inn',currency:'EUR',price};}function getItemsFromCart(){let items=[];drupalSettings.orders.forEach((order)=>{items.push({item_name:`Ski-Inn ${order.title}`,item_brand:'Ski-Inn',item_category:`Ski-Inn ${order.departmentName}`,item_category2:`Ski-Inn ${order.housingType}`,affiliation:'Ski-Inn',currency:'EUR',price:priceFormatter(order.price),quantity:1});});return items;}function getArrivalAndDepartureDates(){const order=drupalSettings.orders[0];const arrivalDate=order.arrivalDate.split('-').reverse().join('-');const departureDate=order.departureDate.split('-').reverse().join('-');let dates={start_date:arrivalDate,end_date:departureDate};return dates;}function priceFormatter(price){return (Math.round(price*100)/100).toFixed(2);}; 5Drupal.behaviors.languageDropdown={attach:function(e){"use strict";const t=document.querySelector("div.main-nav--blocks #dropdown-language"),n=document.querySelector("div.main-nav--blocks #dropdown-toggle-language"),d=document.querySelector("div.main-nav--blocks #dropdown-profile"),o=document.querySelector("div.main-nav--blocks #dropdown-toggle-profile"),a=document.getElementById("dropdown-language"),r=document.getElementById("dropdown-toggle-language"),l=document.getElementById("dropdown-profile"),i=document.getElementById("dropdown-toggle-profile");let c=null,s=null;function u(e,t){c&&c.id!==t.id&&(c.classList.remove("open"),s.setAttribute("aria-expanded",!1)),c=t,s=e;const n="true"===e.getAttribute("aria-expanded")||!1;e.setAttribute("aria-expanded",!n),t.classList.toggle("open"),t.querySelectorAll(".dropdown-link").length>0&&t.querySelectorAll(".dropdown-link")[0].focus();}function p(e){const {target:t}=e;c&&!t.matches(`#${s.id}`)&&(c.classList.remove("open"),s.setAttribute("aria-expanded",!1));}r.addEventListener("click",()=>u(r,a)),r.addEventListener("tap",()=>u(r,a)),i&&i&&(i.addEventListener("click",()=>u(i,l)),i.addEventListener("tap",()=>u(i,l))),n.addEventListener("click",()=>u(n,t)),n.addEventListener("tap",()=>u(n,t)),o&&o&&(o.addEventListener("click",()=>u(o,d)),o.addEventListener("tap",()=>u(o,d))),document.addEventListener("click",(e)=>p(e)),document.addEventListener("tap",(e)=>p(e));}};;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.