{"version":3,"sources":["app.js","global.js","header.js","cart.js","chosen.js","config.js","form.js","mobile-menu.js","page-selector.js","popup.js","slideshow.js","sticky-footer.js","viewer.js"],"names":["isTabletWidth","$","is","headerUpdate","css","window","scrollTop","height","jQuery","hostname","location","reloadTable","date","ajax","url","done","data","basketBoxHtml","find","html","length","menuItemBasketHtml","basketHtml","clearCart","type","parent","on","event","$target","target","id","options","formData","productId","success","fail","_console","_len","arguments","args","Array","_key","console","error","apply","concat","alert","isEnter","which","blur","newValue","val","quantity","_console2","_len2","_key2","undefined","$forms","change","e","prices","map","index","element","toArray","sum","reduce","a","b","text","show","hide","each","i","form","$form","hasClass","valid","$cartIcon","$spinnerIcon","stop","delay","join","cloneCurrentSlideImageAnimation","$slideshow","currentSlideIndex","slick","$currentSlide","$currentSlideImage","$currentSlideImageClone","clone","$menuItemBasket","position","top","offset","left","zIndex","width","outerWidth","outerHeight","appendTo","animate","fadeOut","remove","$body","pageYOffset","complete","showInvoicePayment","removeClass","showInvoicePaymentCompany","attr","showInvoicePaymentPrivatePerson","hideInvoicePayment","addClass","hideInvoicePaymentCompany","hideInvoicePaymentPrivatePerson","$countrySelector","selected","this","value","region","_console3","_len3","_key3","valueToSelect","trigger","invoicePaymentActive","currentCustomerType","chosenBrowserIsSupported","test","navigator","userAgent","appName","document","documentMode","initializeChosen","chosen","disable_search_threshold","inherit_select_classes","placeholder","option","first","FontAwesomeConfig","searchPseudoElements","validator","addMethod","positiveNumberRegex","forms","validate","errorClass","errorElement","focusInvalid","invalidHandler","numberOfInvalids","errorList","Math","max","abs","ignore","errorPlacement","$error","$element","chosenEnabled","$errorElement","siblings","insertBefore","insertAfter","getMessage","identifier","extend","messages","required","email","$formElement","$workIndicatorElement","$successElement","serialize","PaymentWindow","response","Completed","accepturl","salt","merchantnumber","amount","TotalPriceIncludingShipping","currency","orderid","PageId","cancelurl","callbackurl","protocol","host","tmp","Object","keys","key","hash","CryptoJS","MD5","paymentwindow","open","redirectUrl","resize","burger","openMobileMenu","mobileMenu","isActive","toggleClass","click","$pageSelectors","href","magnificPopup","midClick","removalDelay","mainClass","dots","autoplay","autoplaySpeed","arrows","slide","appendDots","oldHeight","onResize","footer","footerHeight","innerHeight","marginBottom","updateHeight","slideHeight","$viewerMain","$viewerNav","slidesToShow","slidesToScroll","draggable","infinite","asNavFor","centerMode","focusOnSelect","swipe","responsive","breakpoint","settings"],"mappings":"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","file":"app.js","sourcesContent":["\"use strict\";\n\nvar $ = window.jQuery;\n\nvar hostname = window.location.hostname === \"localhost\" ? \"http://www.uni.gl\" : \"\";\n\nvar reloadTable = function reloadTable(date) {\n $.ajax({\n url: \"?update=true\"\n }).done(function (data) {\n var basketBoxHtml = $(data).find(\".basket--box\").html();\n if (basketBoxHtml != null && basketBoxHtml.length > 0) {\n $(\".basket--box\").html(basketBoxHtml);\n }\n\n var menuItemBasketHtml = $(data).find(\".menu-item--basket\").html();\n if (menuItemBasketHtml != null && menuItemBasketHtml.length > 0) {\n $(\".menu-item--basket\").html(menuItemBasketHtml);\n }\n\n var basketHtml = $(data).find(\".basket\").html();\n if (basketHtml != null && basketHtml.length > 0) {\n $(\".basket\").html(basketHtml);\n }\n });\n};\n\nwindow.clearCart = function () {\n return $.ajax({\n type: \"POST\",\n url: hostname + \"/umbraco/surface/Webshop/ClearCurrentOrder\",\n data: {}\n });\n};\n\n$(function () {\n $(\".basket\").parent().on(\"click\", \"*[data-remove-cart-item]\", function (event) {\n var $target = $(event.target);\n var id = $target.data(\"remove-cart-item\");\n var options = $target.data(\"remove-cart-item-options\");\n\n var formData = {\n productId: id,\n options: options\n };\n\n $.ajax({\n type: \"POST\",\n url: hostname + \"/umbraco/surface/Webshop/RemoveProductFromCart/\",\n data: formData,\n success: function success() {\n reloadTable();\n }\n }).fail(function () {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // This should never happen\n (_console = console).error.apply(_console, [\"Could not POST\"].concat(args));\n window.alert(\"Error - please try again\");\n });\n\n return false;\n });\n});\n\n$(function () {\n $(\".basket\").parent().on(\"keypress\", function (event) {\n var isEnter = event.which === 13;\n if (isEnter) {\n $(\"input\").blur();\n return false;\n }\n });\n\n $(\".basket\").parent().on(\"change\", \"*[data-update-quantity]\", function (event) {\n var $target = $(event.target);\n var id = $target.data(\"update-quantity\");\n var newValue = $target.val();\n var options = $target.data(\"update-quantity-options\");\n\n if (newValue == null || newValue <= 0) {\n newValue = 0;\n $target.val(newValue);\n }\n\n var formData = {\n productId: id,\n quantity: newValue || 0,\n options: options || \"\"\n };\n\n $.ajax({\n type: \"POST\",\n url: hostname + \"/umbraco/surface/Webshop/SetProductQuantityInCart/\",\n data: formData,\n success: function success() {\n reloadTable();\n }\n }).fail(function () {\n var _console2;\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // This should never happen\n (_console2 = console).error.apply(_console2, [\"Could not POST\"].concat(args));\n $target.val(undefined);\n window.alert(\"Error - please try again\");\n });\n\n return false;\n });\n});\n\n$(function () {\n var $forms = $(\"form[data-cart-action]\");\n\n $('#conf-product #conf-form [name=\"options\"]').change(function (e) {\n var prices = $(\"#conf-form\").find('[name=\"options\"]:checked, [name=\"options\"] option:selected').map(function (index, element) {\n return $(element).data(\"price\");\n }).toArray();\n var sum = prices.reduce(function (a, b) {\n return a + b;\n }, 0);\n $(\".details-price\").text(\"kr. \" + sum);\n\n if (prices.length > 0) {\n $(\".submit-button\").show();\n } else {\n $(\".submit-button\").hide();\n }\n });\n\n $forms.each(function (i, form) {\n var $form = $(form);\n\n $form.on(\"submit\", function (e) {\n if ($form.hasClass(\"validate\") && !$form.valid()) {\n return; // Only submit valid forms\n }\n\n var $cartIcon = $(\".cart-icon\");\n var $spinnerIcon = $(\".spinner-icon\");\n\n $cartIcon.stop().delay(100).hide(0);\n $spinnerIcon.stop().delay(100).show(0);\n\n // const formData = $form.serialize()\n var formData = \"options=\" + $(\"#conf-form\").find('[name=\"options\"]:checked, [name=\"options\"] option:selected').map(function (index, element) {\n return $(element).val();\n }).toArray().join();\n formData += \"&quantity=\" + $(\"#conf-form\").find('[name=\"quantity\"]').val();\n formData += \"&productId=\" + $(\"#conf-form\").find('[name=\"productId\"]').val();\n\n $.ajax({\n type: \"POST\",\n url: $form.data(\"cart-action\"),\n data: formData,\n success: function success() {\n var cloneCurrentSlideImageAnimation = function cloneCurrentSlideImageAnimation() {\n var $slideshow = $(\".viewer-main\");\n var currentSlideIndex = $slideshow.slick(\"slickCurrentSlide\");\n var $currentSlide = $slideshow.find(\".slick-slide:nth-child(\" + (currentSlideIndex + 1) + \")\");\n var $currentSlideImage = $currentSlide.find(\"img\");\n var $currentSlideImageClone = $currentSlideImage.clone();\n\n var $menuItemBasket = $(\".menu-item--basket\");\n\n $currentSlideImageClone.css({\n position: \"absolute\",\n top: $currentSlideImage.offset().top,\n left: $currentSlideImage.offset().left,\n zIndex: 9999,\n width: $currentSlideImage.outerWidth(),\n height: $currentSlideImage.outerHeight()\n });\n\n $currentSlideImageClone.appendTo(\"body\");\n\n $currentSlideImageClone.animate({\n top: $menuItemBasket.offset().top + $menuItemBasket.outerHeight() / 3,\n left: $menuItemBasket.offset().left + $menuItemBasket.outerWidth() / 2,\n width: 10,\n height: 10\n }, 800, function () {\n $currentSlideImageClone.fadeOut().remove();\n reloadTable();\n });\n };\n\n var $body = $(\"html, body\");\n if ($body.outerWidth() <= 480) {\n $body.animate({\n scrollTop: 0\n }, window.pageYOffset, function () {\n cloneCurrentSlideImageAnimation();\n });\n } else {\n cloneCurrentSlideImageAnimation();\n }\n },\n complete: function complete() {\n $cartIcon.stop().show(0);\n $spinnerIcon.stop().hide(0);\n }\n }).fail(function () {\n // This should never happen\n window.alert(\"Error - please try again\");\n });\n\n // Prevent default behaviour\n return false;\n });\n });\n});\n\n$(function () {\n var $countrySelector = $(\"select.country-selector\");\n\n $countrySelector.on(\"change\", function () {\n var selected = this.value;\n var $spinnerIcon = $(\".spinner-icon\");\n\n $spinnerIcon.delay(100).show(0);\n\n $.ajax({\n type: \"POST\",\n url: hostname + \"/umbraco/surface/Webshop/UpdateOrderRecipientInformationRegion/\",\n data: { region: selected },\n success: function success() {\n reloadTable();\n },\n complete: function complete() {\n $spinnerIcon.stop().hide(0);\n }\n }).fail(function () {\n var _console3;\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n // This should never happen\n (_console3 = console).error.apply(_console3, [\"Could not POST\"].concat(args));\n window.alert(\"Error - please try again\");\n });\n });\n if ($(\".has-conference-product\").length > 0) {\n $(\"#delivery-area-wrapper\").hide();\n var valueToSelect = $(\"#delivery-area-wrapper select option:first\").val();\n if (valueToSelect === \"\" || valueToSelect === undefined) {\n valueToSelect = $(\"#delivery-area-wrapper select option:eq(1)\").val();\n }\n $(\"#delivery-area-wrapper select\").val(valueToSelect).trigger(\"chosen:updated\").change();\n }\n\n hideInvoicePayment();\n $(\"#InvoicePayment\").change(function (event) {\n var invoicePaymentActive = $(event.target).is(\":checked\");\n if (invoicePaymentActive) {\n showInvoicePayment();\n } else {\n hideInvoicePayment();\n }\n });\n\n $(\"#invoice-payment select\").change(function (event) {\n var currentCustomerType = $(event.target).val();\n\n switch (currentCustomerType) {\n case \"Privatperson\":\n showInvoicePaymentPrivatePerson();\n hideInvoicePaymentCompany();\n break;\n case \"Virksomhed\":\n showInvoicePaymentCompany();\n hideInvoicePaymentPrivatePerson();\n break;\n }\n });\n\n function showInvoicePayment() {\n $(\"#invoice-payment *[required]\").removeClass(\"ignore\");\n $(\"#invoice-payment\").show();\n $(\"#invoice-payment select\").change();\n $(\"#submit-button\").text($(\"#submit-button\").data(\"text-invoice-payment\"));\n }\n\n function showInvoicePaymentCompany() {\n $(\"#company-org *[required]\").removeClass(\"ignore\");\n $(\"#company-org\").show();\n $(\"#company-name-not-required-info\").hide();\n $(\"#company-name-field\").attr(\"required\", true);\n }\n\n function showInvoicePaymentPrivatePerson() {\n $(\"#private-person *[required]\").removeClass(\"ignore\");\n $(\"#private-person\").show();\n }\n\n function hideInvoicePayment() {\n $(\"#invoice-payment *[required]\").addClass(\"ignore\");\n $(\"#invoice-payment\").hide();\n hideInvoicePaymentCompany();\n hideInvoicePaymentPrivatePerson();\n $(\"#submit-button\").text($(\"#submit-button\").data(\"text-online-payment\"));\n }\n\n function hideInvoicePaymentCompany() {\n $(\"#company-org *[required]\").addClass(\"ignore\");\n $(\"#company-org\").hide();\n $(\"#company-name-not-required-info\").show();\n $(\"#company-name-field\").attr(\"required\", false);\n }\n\n function hideInvoicePaymentPrivatePerson() {\n $(\"#private-person *[required]\").addClass(\"ignore\");\n $(\"#private-person\").hide();\n }\n});\n'use strict';\n\nvar $ = window.jQuery;\n\nwindow.chosenBrowserIsSupported = function () {\n if (/iP(od|hone)/i.test(window.navigator.userAgent)) {\n return false;\n }\n if (/Android/i.test(window.navigator.userAgent)) {\n if (/Mobile/i.test(window.navigator.userAgent)) {\n return false;\n }\n }\n if (/IEMobile/i.test(window.navigator.userAgent)) {\n return false;\n }\n if (/Windows Phone/i.test(window.navigator.userAgent)) {\n return false;\n }\n if (/BlackBerry/i.test(window.navigator.userAgent)) {\n return false;\n }\n if (/BB10/i.test(window.navigator.userAgent)) {\n return false;\n }\n if (window.navigator.appName === 'Microsoft Internet Explorer') {\n return document.documentMode >= 8;\n }\n\n return true;\n};\n\nwindow.initializeChosen = function () {\n $('select').chosen({\n disable_search_threshold: 10,\n inherit_select_classes: true\n });\n\n if (!window.chosenBrowserIsSupported()) {\n $('select').each(function () {\n var placeholder = $(this).data('placeholder');\n\n var option = $(this).find('option').first();\n option.val(0);\n option.text(placeholder);\n option.attr('disabled', true);\n option.attr('selected', 'selected');\n });\n }\n};\n\n$(function () {\n window.initializeChosen();\n});\n\"use strict\";\n\nwindow.FontAwesomeConfig = {\n searchPseudoElements: true\n};\n'use strict';\n\nvar $ = window.jQuery;\n\nif ($.validator != null) {\n $.validator.addMethod('positive-number-greater-than-zero', function (value) {\n var positiveNumberRegex = /^[1-9][0-9]*$/;\n return value != null && positiveNumberRegex.test(value);\n }, $('body').data('msg-positive-number-greater-than-zero'));\n}\n\n$(function () {\n if (window.initializeChosen) {\n window.initializeChosen();\n }\n\n var forms = $('form.validate');\n\n forms.each(function (i, form) {\n var $form = $(form);\n\n $form.validate({\n errorClass: 'error',\n errorElement: 'span',\n focusInvalid: false,\n invalidHandler: function invalidHandler(form, validator) {\n if (validator.numberOfInvalids() <= 0) {\n return;\n }\n\n if ($('html, body').outerWidth() <= 480) {\n var scrollTop = $(validator.errorList[0].element).offset().top - ($('.header').outerHeight() + 50);\n $('html, body').animate({\n scrollTop: scrollTop\n }, Math.max(200, Math.abs(scrollTop - window.pageYOffset)));\n }\n },\n ignore: '.ignore', // Don't ignore hidden fields (chosen)\n\n errorPlacement: function errorPlacement($error, $element) {\n var chosenEnabled = window.chosenBrowserIsSupported();\n var $errorElement = $element;\n\n if (chosenEnabled && $element.is('select')) {\n $errorElement = $element.siblings('.chosen-container');\n }\n\n if ($element.attr('type') === 'checkbox') {\n $error.insertBefore($errorElement);\n } else {\n $error.insertAfter($errorElement);\n }\n\n $errorElement.addClass('error');\n },\n\n success: function success(error, element) {\n var chosenEnabled = window.chosenBrowserIsSupported();\n var $element = $(element);\n\n var $errorElement = $element;\n if (chosenEnabled && $element.is('select')) {\n $errorElement = $element.siblings('.chosen-container');\n }\n\n error.remove();\n $errorElement.removeClass('error');\n }\n });\n });\n});\n\n$(function () {\n var $body = $('body');\n\n var getMessage = function getMessage(identifier) {\n if (!$body.attr('data-msg-' + identifier)) {\n console.error('Missing translation-data on body-element: data-msg-' + identifier + '=\"\\xB7\\xB7\\xB7\"');\n }\n\n return $body.data('msg-' + identifier);\n };\n\n $.extend($.validator.messages, {\n required: getMessage('required'),\n email: getMessage('email')\n });\n});\n\n$(function () {\n var $forms = $('form[data-form-action]');\n\n $forms.each(function (i, form) {\n var $form = $(form);\n\n $form.on('submit', function () {\n if ($form.hasClass('validate') && !$form.valid()) {\n return; // Only submit valid forms\n }\n\n var $formElement = $form.find('.form');\n var $workIndicatorElement = $form.find('.work-indicator');\n var $successElement = $form.find('.success');\n\n $formElement.hide();\n $workIndicatorElement.show();\n\n var formData = $form.serialize();\n\n $.ajax({\n type: 'POST',\n url: $form.data('form-action'),\n data: formData,\n success: function success() {\n if (window.PaymentWindow != null) {\n\n $.ajax({\n type: 'POST',\n url: hostname + '/umbraco/surface/Webshop/SaveCurrentOrder/',\n data: {},\n success: function success(response) {\n if (response.Completed) {\n window.location = window.accepturl;\n return;\n }\n var salt = 'sedquamerat';\n var options = {\n merchantnumber: '1030745', // development: 8030745\n amount: '' + response.TotalPriceIncludingShipping * 100,\n currency: 'DKK',\n orderid: '' + response.PageId,\n accepturl: window.accepturl,\n cancelurl: window.cancelurl,\n callbackurl: window.location.protocol + '//' + window.location.host + '/umbraco/surface/Webshop/PaymentCallback/'\n };\n\n var tmp = \"\";\n Object.keys(options).map(function (key) {\n return tmp += options[key];\n });\n options.hash = CryptoJS.MD5(tmp + salt);\n\n var paymentwindow = new PaymentWindow(options);\n paymentwindow.open();\n }\n }).fail(function () {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // This should never happen\n (_console = console).error.apply(_console, ['Could not POST'].concat(args));\n window.alert('Error - please try again');\n });\n } else {\n var redirectUrl = $form.data('form-success-redirect');\n if (!(redirectUrl == null)) {\n window.location = redirectUrl;\n } else {\n $workIndicatorElement.hide();\n $successElement.show();\n }\n }\n }\n }).fail(function () {\n // This should never happen\n $workIndicatorElement.hide();\n $formElement.show();\n window.alert('Error - please try again');\n });\n\n // Prevent default behaviour\n return false;\n });\n });\n});\n'use strict';\n\nfunction isTabletWidth() {\n return $('.mediaquery--tablet').is(':visible');\n}\n'use strict';\n\nvar $ = window.jQuery;\n\nfunction headerUpdate() {\n if (!isTabletWidth()) {\n if ($(window).scrollTop() > $('.header-bar').height()) {\n $('.header').css('top', $('.header-bar').height() * -1);\n } else {\n $('.header').css('top', $(window).scrollTop() * -1);\n }\n } else {\n $('.header').css('top', '0');\n }\n}\n\n$(window).on('scroll', headerUpdate);\n\n$(window).resize(function () {\n headerUpdate();\n});\n\n$(function () {\n\n headerUpdate();\n});\n'use strict';\n\nvar $ = window.jQuery;\n\n$(function () {\n var burger = $('.header-burger');\n var html = $('html');\n\n window.openMobileMenu = function () {\n var mobileMenu = $('.mobilemenu');\n var isActive = mobileMenu.hasClass('mobilemenu--active');\n\n if (isActive) {\n burger.removeClass('header-burger--active');\n html.removeClass('mobilemenu--isopen');\n } else {\n burger.addClass('header-burger--active');\n html.addClass('mobilemenu--isopen');\n }\n\n mobileMenu.toggleClass('mobilemenu--active');\n\n return false;\n };\n\n burger.click(window.openMobileMenu);\n});\n'use strict';\n\nvar $ = window.jQuery;\n\n$(function () {\n var $pageSelectors = $('.page-selector');\n\n $pageSelectors.on('change', function () {\n window.location.href = $(this).val();\n });\n});\n'use strict';\n\nvar $ = window.jQuery;\n\n$(function () {\n\n $('.popup-trigger').magnificPopup({\n type: 'inline',\n midClick: true,\n removalDelay: 300,\n mainClass: 'mfp-zoom-in'\n });\n});\n'use strict';\n\nvar $ = window.jQuery;\n\n$(function () {\n $('.slideshow').slick({\n dots: true,\n autoplay: true,\n autoplaySpeed: 5000,\n arrows: false,\n slide: '.slideshow-slide',\n appendDots: $('.slideshow-controls')\n });\n});\n'use strict';\n\nvar $ = window.jQuery;\n\n$(function () {\n var oldHeight = -1;\n\n var onResize = function onResize() {\n var footer = $('footer.footer');\n var footerHeight = footer.innerHeight();\n if (oldHeight === footerHeight) {\n return; // skip if the height has not changed since last time\n }\n\n $('.sticky-footer-page-content-wrapper').css({ marginBottom: +(footerHeight * -1) + 'px' });\n $('#sticky-footer-styling').remove();\n\n $('').appendTo('head');\n };\n\n $(window).resize(onResize);\n onResize();\n});\n'use strict';\n\nvar $ = window.jQuery;\n\nvar updateHeight = function updateHeight() {\n var $element = $('.viewer-main .slick-slide');\n\n $element.height('auto');\n var slideHeight = $('.viewer-main .slick-track').height();\n $element.css('height', slideHeight);\n};\n\n$(function () {\n var $viewerMain = $('.viewer-main');\n var $viewerNav = $('.viewer-nav');\n\n $viewerMain.on('init', function () {\n updateHeight();\n $(window).resize(updateHeight);\n });\n\n $viewerMain.on('beforeChange', function () {\n $('.slick-active').removeClass('slick-active');\n });\n\n $viewerMain.slick({\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: false,\n draggable: true,\n infinite: false,\n asNavFor: '.viewer-nav'\n });\n\n $viewerNav.slick({\n centerMode: false,\n infinite: false,\n slidesToShow: 5,\n slidesToScroll: 5,\n arrows: false,\n asNavFor: '.viewer-main',\n focusOnSelect: true,\n draggable: false,\n swipe: false,\n responsive: [{\n breakpoint: 720,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 1\n }\n }]\n });\n});","function isTabletWidth() {\n return $('.mediaquery--tablet').is(':visible');\n}\n","const $ = window.jQuery\n\nfunction headerUpdate() {\n if(!isTabletWidth()) {\n if($(window).scrollTop() > $('.header-bar').height()){\n $('.header').css('top', $('.header-bar').height() * -1);\n }else{\n $('.header').css('top', $(window).scrollTop() * -1);\n }\n } else {\n $('.header').css('top', '0');\n }\n}\n\n$(window).on( 'scroll', headerUpdate);\n\n$( window ).resize(function() {\n headerUpdate();\n});\n\n$(() => {\n\n headerUpdate();\n\n})\n","const $ = window.jQuery\n\nconst hostname =\n window.location.hostname === \"localhost\" ? \"http://www.uni.gl\" : \"\"\n\nconst reloadTable = (date) => {\n $.ajax({\n url: `?update=true`,\n }).done(function (data) {\n const basketBoxHtml = $(data).find(\".basket--box\").html()\n if (basketBoxHtml != null && basketBoxHtml.length > 0) {\n $(\".basket--box\").html(basketBoxHtml)\n }\n\n const menuItemBasketHtml = $(data).find(\".menu-item--basket\").html()\n if (menuItemBasketHtml != null && menuItemBasketHtml.length > 0) {\n $(\".menu-item--basket\").html(menuItemBasketHtml)\n }\n\n const basketHtml = $(data).find(\".basket\").html()\n if (basketHtml != null && basketHtml.length > 0) {\n $(\".basket\").html(basketHtml)\n }\n })\n}\n\nwindow.clearCart = () => {\n return $.ajax({\n type: \"POST\",\n url: `${hostname}/umbraco/surface/Webshop/ClearCurrentOrder`,\n data: {},\n })\n}\n\n$(() => {\n $(\".basket\")\n .parent()\n .on(\"click\", \"*[data-remove-cart-item]\", (event) => {\n const $target = $(event.target)\n const id = $target.data(\"remove-cart-item\")\n const options = $target.data(\"remove-cart-item-options\")\n\n const formData = {\n productId: id,\n options: options,\n }\n\n $.ajax({\n type: \"POST\",\n url: `${hostname}/umbraco/surface/Webshop/RemoveProductFromCart/`,\n data: formData,\n success: () => {\n reloadTable()\n },\n }).fail((...args) => {\n // This should never happen\n console.error(\"Could not POST\", ...args)\n window.alert(\"Error - please try again\")\n })\n\n return false\n })\n})\n\n$(() => {\n $(\".basket\")\n .parent()\n .on(\"keypress\", (event) => {\n const isEnter = event.which === 13\n if (isEnter) {\n $(\"input\").blur()\n return false\n }\n })\n\n $(\".basket\")\n .parent()\n .on(\"change\", \"*[data-update-quantity]\", (event) => {\n const $target = $(event.target)\n const id = $target.data(\"update-quantity\")\n let newValue = $target.val()\n const options = $target.data(\"update-quantity-options\")\n\n if (newValue == null || newValue <= 0) {\n newValue = 0\n $target.val(newValue)\n }\n\n const formData = {\n productId: id,\n quantity: newValue || 0,\n options: options || \"\",\n }\n\n $.ajax({\n type: \"POST\",\n url: `${hostname}/umbraco/surface/Webshop/SetProductQuantityInCart/`,\n data: formData,\n success: () => {\n reloadTable()\n },\n }).fail((...args) => {\n // This should never happen\n console.error(\"Could not POST\", ...args)\n $target.val(undefined)\n window.alert(\"Error - please try again\")\n })\n\n return false\n })\n})\n\n$(() => {\n const $forms = $(\"form[data-cart-action]\")\n\n $('#conf-product #conf-form [name=\"options\"]').change((e) => {\n const prices = $(\"#conf-form\")\n .find('[name=\"options\"]:checked, [name=\"options\"] option:selected')\n .map((index, element) => $(element).data(\"price\"))\n .toArray()\n const sum = prices.reduce((a, b) => a + b, 0)\n $(\".details-price\").text(\"kr. \" + sum)\n\n if (prices.length > 0) {\n $(\".submit-button\").show()\n } else {\n $(\".submit-button\").hide()\n }\n })\n\n $forms.each((i, form) => {\n const $form = $(form)\n\n $form.on(\"submit\", (e) => {\n if ($form.hasClass(\"validate\") && !$form.valid()) {\n return // Only submit valid forms\n }\n\n const $cartIcon = $(\".cart-icon\")\n const $spinnerIcon = $(\".spinner-icon\")\n\n $cartIcon.stop().delay(100).hide(0)\n $spinnerIcon.stop().delay(100).show(0)\n\n // const formData = $form.serialize()\n let formData =\n \"options=\" +\n $(\"#conf-form\")\n .find('[name=\"options\"]:checked, [name=\"options\"] option:selected')\n .map((index, element) => $(element).val())\n .toArray()\n .join()\n formData += \"&quantity=\" + $(\"#conf-form\").find('[name=\"quantity\"]').val()\n formData +=\n \"&productId=\" + $(\"#conf-form\").find('[name=\"productId\"]').val()\n\n $.ajax({\n type: \"POST\",\n url: $form.data(\"cart-action\"),\n data: formData,\n success: () => {\n const cloneCurrentSlideImageAnimation = () => {\n const $slideshow = $(\".viewer-main\")\n const currentSlideIndex = $slideshow.slick(\"slickCurrentSlide\")\n const $currentSlide = $slideshow.find(\n `.slick-slide:nth-child(${currentSlideIndex + 1})`\n )\n const $currentSlideImage = $currentSlide.find(\"img\")\n const $currentSlideImageClone = $currentSlideImage.clone()\n\n const $menuItemBasket = $(\".menu-item--basket\")\n\n $currentSlideImageClone.css({\n position: \"absolute\",\n top: $currentSlideImage.offset().top,\n left: $currentSlideImage.offset().left,\n zIndex: 9999,\n width: $currentSlideImage.outerWidth(),\n height: $currentSlideImage.outerHeight(),\n })\n\n $currentSlideImageClone.appendTo(\"body\")\n\n $currentSlideImageClone.animate(\n {\n top:\n $menuItemBasket.offset().top +\n $menuItemBasket.outerHeight() / 3,\n left:\n $menuItemBasket.offset().left +\n $menuItemBasket.outerWidth() / 2,\n width: 10,\n height: 10,\n },\n 800,\n () => {\n $currentSlideImageClone.fadeOut().remove()\n reloadTable()\n }\n )\n }\n\n const $body = $(\"html, body\")\n if ($body.outerWidth() <= 480) {\n $body.animate(\n {\n scrollTop: 0,\n },\n window.pageYOffset,\n () => {\n cloneCurrentSlideImageAnimation()\n }\n )\n } else {\n cloneCurrentSlideImageAnimation()\n }\n },\n complete: () => {\n $cartIcon.stop().show(0)\n $spinnerIcon.stop().hide(0)\n },\n }).fail(() => {\n // This should never happen\n window.alert(\"Error - please try again\")\n })\n\n // Prevent default behaviour\n return false\n })\n })\n})\n\n$(() => {\n const $countrySelector = $(\"select.country-selector\")\n\n $countrySelector.on(\"change\", function () {\n const selected = this.value\n const $spinnerIcon = $(\".spinner-icon\")\n\n $spinnerIcon.delay(100).show(0)\n\n $.ajax({\n type: \"POST\",\n url: `${hostname}/umbraco/surface/Webshop/UpdateOrderRecipientInformationRegion/`,\n data: { region: selected },\n success: () => {\n reloadTable()\n },\n complete: () => {\n $spinnerIcon.stop().hide(0)\n },\n }).fail((...args) => {\n // This should never happen\n console.error(\"Could not POST\", ...args)\n window.alert(\"Error - please try again\")\n })\n })\n if ($(\".has-conference-product\").length > 0) {\n $(\"#delivery-area-wrapper\").hide()\n let valueToSelect = $(\"#delivery-area-wrapper select option:first\").val()\n if (valueToSelect === \"\" || valueToSelect === undefined) {\n valueToSelect = $(\"#delivery-area-wrapper select option:eq(1)\").val()\n }\n $(\"#delivery-area-wrapper select\")\n .val(valueToSelect)\n .trigger(\"chosen:updated\")\n .change()\n }\n\n hideInvoicePayment()\n $(\"#InvoicePayment\").change((event) => {\n const invoicePaymentActive = $(event.target).is(\":checked\")\n if (invoicePaymentActive) {\n showInvoicePayment()\n } else {\n hideInvoicePayment()\n }\n })\n\n $(\"#invoice-payment select\").change((event) => {\n const currentCustomerType = $(event.target).val()\n\n switch (currentCustomerType) {\n case \"Privatperson\":\n showInvoicePaymentPrivatePerson()\n hideInvoicePaymentCompany()\n break\n case \"Virksomhed\":\n showInvoicePaymentCompany()\n hideInvoicePaymentPrivatePerson()\n break\n }\n })\n\n function showInvoicePayment() {\n $(\"#invoice-payment *[required]\").removeClass(\"ignore\")\n $(\"#invoice-payment\").show()\n $(\"#invoice-payment select\").change()\n $(\"#submit-button\").text($(\"#submit-button\").data(\"text-invoice-payment\"))\n }\n\n function showInvoicePaymentCompany() {\n $(\"#company-org *[required]\").removeClass(\"ignore\")\n $(\"#company-org\").show()\n $(\"#company-name-not-required-info\").hide()\n $(\"#company-name-field\").attr(\"required\", true)\n }\n\n function showInvoicePaymentPrivatePerson() {\n $(\"#private-person *[required]\").removeClass(\"ignore\")\n $(\"#private-person\").show()\n }\n\n function hideInvoicePayment() {\n $(\"#invoice-payment *[required]\").addClass(\"ignore\")\n $(\"#invoice-payment\").hide()\n hideInvoicePaymentCompany()\n hideInvoicePaymentPrivatePerson()\n $(\"#submit-button\").text($(\"#submit-button\").data(\"text-online-payment\"))\n }\n\n function hideInvoicePaymentCompany() {\n $(\"#company-org *[required]\").addClass(\"ignore\")\n $(\"#company-org\").hide()\n $(\"#company-name-not-required-info\").show()\n $(\"#company-name-field\").attr(\"required\", false)\n }\n\n function hideInvoicePaymentPrivatePerson() {\n $(\"#private-person *[required]\").addClass(\"ignore\")\n $(\"#private-person\").hide()\n }\n})\n","const $ = window.jQuery\n\nwindow.chosenBrowserIsSupported = function () {\n if (/iP(od|hone)/i.test(window.navigator.userAgent)) {\n return false\n }\n if (/Android/i.test(window.navigator.userAgent)) {\n if (/Mobile/i.test(window.navigator.userAgent)) {\n return false\n }\n }\n if (/IEMobile/i.test(window.navigator.userAgent)) {\n return false\n }\n if (/Windows Phone/i.test(window.navigator.userAgent)) {\n return false\n }\n if (/BlackBerry/i.test(window.navigator.userAgent)) {\n return false\n }\n if (/BB10/i.test(window.navigator.userAgent)) {\n return false\n }\n if (window.navigator.appName === 'Microsoft Internet Explorer') {\n return document.documentMode >= 8\n }\n\n return true\n}\n\nwindow.initializeChosen = function () {\n $('select').chosen({\n disable_search_threshold: 10,\n inherit_select_classes: true\n })\n\n if (!window.chosenBrowserIsSupported()) {\n $('select').each(function () {\n let placeholder = $(this).data('placeholder')\n\n let option = $(this).find('option').first()\n option.val(0)\n option.text(placeholder)\n option.attr('disabled', true)\n option.attr('selected', 'selected')\n })\n }\n}\n\n$(() => {\n window.initializeChosen()\n})\n","window.FontAwesomeConfig = {\r\n searchPseudoElements: true\r\n}\r\n","const $ = window.jQuery\n\nif ($.validator != null) {\n $.validator.addMethod('positive-number-greater-than-zero', (value) => {\n const positiveNumberRegex = /^[1-9][0-9]*$/\n return value != null && positiveNumberRegex.test(value)\n }, $('body').data('msg-positive-number-greater-than-zero'))\n}\n\n$(() => {\n if (window.initializeChosen) {\n window.initializeChosen()\n }\n\n const forms = $('form.validate')\n\n forms.each((i, form) => {\n const $form = $(form)\n\n $form.validate({\n errorClass: 'error',\n errorElement: 'span',\n focusInvalid: false,\n invalidHandler: (form, validator) => {\n if (validator.numberOfInvalids() <= 0) {\n return\n }\n\n if ($('html, body').outerWidth() <= 480) {\n const scrollTop = $(validator.errorList[0].element).offset().top - ($('.header').outerHeight() + 50)\n $('html, body').animate({\n scrollTop: scrollTop\n }, Math.max(200, Math.abs(scrollTop - window.pageYOffset)))\n }\n },\n ignore: '.ignore', // Don't ignore hidden fields (chosen)\n\n errorPlacement: ($error, $element) => {\n const chosenEnabled = window.chosenBrowserIsSupported()\n let $errorElement = $element\n\n if (chosenEnabled && $element.is('select')) {\n $errorElement = $element.siblings('.chosen-container')\n }\n\n if ($element.attr('type') === 'checkbox') {\n $error.insertBefore($errorElement)\n } else {\n $error.insertAfter($errorElement)\n }\n\n $errorElement.addClass('error')\n },\n\n success: (error, element) => {\n const chosenEnabled = window.chosenBrowserIsSupported()\n const $element = $(element)\n\n let $errorElement = $element\n if (chosenEnabled && $element.is('select')) {\n $errorElement = $element.siblings('.chosen-container')\n }\n\n error.remove()\n $errorElement.removeClass('error')\n }\n })\n })\n})\n\n$(() => {\n const $body = $('body')\n\n const getMessage = (identifier) => {\n if (!$body.attr(`data-msg-${identifier}`)) {\n console.error(`Missing translation-data on body-element: data-msg-${identifier}=\"ยทยทยท\"`)\n }\n\n return $body.data(`msg-${identifier}`)\n }\n\n $.extend($.validator.messages, {\n required: getMessage('required'),\n email: getMessage('email')\n })\n})\n\n$(() => {\n const $forms = $('form[data-form-action]')\n\n $forms.each((i, form) => {\n const $form = $(form)\n\n $form.on('submit', () => {\n if ($form.hasClass('validate') && !$form.valid()) {\n return // Only submit valid forms\n }\n\n const $formElement = $form.find('.form')\n const $workIndicatorElement = $form.find('.work-indicator')\n const $successElement = $form.find('.success')\n\n $formElement.hide()\n $workIndicatorElement.show()\n\n const formData = $form.serialize()\n\n $.ajax({\n type: 'POST',\n url: $form.data('form-action'),\n data: formData,\n success: () => {\n if (window.PaymentWindow != null) {\n\n $.ajax({\n type: 'POST',\n url: `${hostname}/umbraco/surface/Webshop/SaveCurrentOrder/`,\n data: { },\n success: (response) => {\n if (response.Completed) {\n window.location = window.accepturl\n return\n }\n const salt = 'sedquamerat'\n const options = {\n merchantnumber: '1030745', // development: 8030745\n amount: `${response.TotalPriceIncludingShipping * 100}`,\n currency: 'DKK',\n orderid: `${response.PageId}`,\n accepturl: window.accepturl,\n cancelurl: window.cancelurl,\n callbackurl: `${window.location.protocol}//${window.location.host}/umbraco/surface/Webshop/PaymentCallback/`\n }\n\n let tmp = \"\"\n Object.keys(options).map(key => tmp += options[key])\n options.hash = CryptoJS.MD5(tmp + salt)\n\n const paymentwindow = new PaymentWindow(options);\n paymentwindow.open()\n }\n }).fail((...args) => { // This should never happen\n console.error('Could not POST', ...args)\n window.alert('Error - please try again')\n })\n } else {\n const redirectUrl = $form.data('form-success-redirect')\n if (!(redirectUrl == null)) {\n window.location = redirectUrl\n } else {\n $workIndicatorElement.hide()\n $successElement.show()\n }\n }\n }\n }).fail(() => { // This should never happen\n $workIndicatorElement.hide()\n $formElement.show()\n window.alert('Error - please try again')\n })\n\n // Prevent default behaviour\n return false\n })\n })\n})\n","const $ = window.jQuery\r\n\r\n$(() => {\r\n const burger = $('.header-burger')\r\n const html = $('html')\r\n\r\n window.openMobileMenu = () => {\r\n const mobileMenu = $('.mobilemenu')\r\n const isActive = mobileMenu.hasClass('mobilemenu--active')\r\n\r\n if (isActive) {\r\n burger.removeClass('header-burger--active')\r\n html.removeClass('mobilemenu--isopen')\r\n } else {\r\n burger.addClass('header-burger--active')\r\n html.addClass('mobilemenu--isopen')\r\n }\r\n\r\n mobileMenu.toggleClass('mobilemenu--active')\r\n\r\n return false\r\n }\r\n\r\n burger.click(window.openMobileMenu)\r\n})\r\n","const $ = window.jQuery\n\n$(() => {\n const $pageSelectors = $('.page-selector')\n\n $pageSelectors.on('change', function () {\n window.location.href = $(this).val()\n })\n})\n","const $ = window.jQuery\n\n$(() => {\n\n $('.popup-trigger').magnificPopup({\n type:'inline',\n midClick: true,\n removalDelay: 300,\n mainClass: 'mfp-zoom-in'\n });\n\n})\n","const $ = window.jQuery\n\n$(() => {\n $('.slideshow').slick({\n dots: true,\n autoplay: true,\n autoplaySpeed: 5000,\n arrows: false,\n slide: '.slideshow-slide',\n appendDots: $('.slideshow-controls')\n })\n})\n","const $ = window.jQuery\r\n\r\n$(() => {\r\n let oldHeight = -1\r\n\r\n const onResize = function () {\r\n const footer = $('footer.footer')\r\n const footerHeight = footer.innerHeight()\r\n if (oldHeight === footerHeight) {\r\n return // skip if the height has not changed since last time\r\n }\r\n\r\n $('.sticky-footer-page-content-wrapper').css({ marginBottom: +(footerHeight * -1) + 'px' })\r\n $('#sticky-footer-styling').remove()\r\n\r\n $(``).appendTo('head')\r\n }\r\n\r\n $(window).resize(onResize)\r\n onResize()\r\n})\r\n","const $ = window.jQuery\n\nconst updateHeight = () => {\n const $element = $('.viewer-main .slick-slide')\n\n $element.height('auto')\n let slideHeight = $('.viewer-main .slick-track').height()\n $element.css('height', slideHeight)\n}\n\n$(() => {\n const $viewerMain = $('.viewer-main')\n const $viewerNav = $('.viewer-nav')\n\n $viewerMain.on('init', () => {\n updateHeight()\n $(window).resize(updateHeight)\n })\n\n $viewerMain.on('beforeChange', () => {\n $('.slick-active').removeClass('slick-active')\n })\n\n $viewerMain.slick({\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: false,\n draggable: true,\n infinite: false,\n asNavFor: '.viewer-nav'\n })\n\n $viewerNav.slick({\n centerMode: false,\n infinite: false,\n slidesToShow: 5,\n slidesToScroll: 5,\n arrows: false,\n asNavFor: '.viewer-main',\n focusOnSelect: true,\n draggable: false,\n swipe: false,\n responsive: [\n {\n breakpoint: 720,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 1\n }\n }\n ]\n })\n})\n"]}