{"version":3,"file":"jwsdw-tentGuide.js","sources":["../../../../../../../temp/ngAnnotate/assets/jwsdw-tentGuide.js"],"sourcesContent":["'use strict';\r\n\r\n(function ($, Swiper, Promise) {\r\n var $productSlider = $('#jwsdw-tentGuide-productSlider'),\r\n $productSearchResult = $('#jwsdw-tentGuide-searchResult'),\r\n $productDetail = $('#jwsdw-tentGuide-productDetail'),\r\n $productSlideTemplate = $('#jwsdw-tentGuide-productSlide-template'),\r\n $productDetailTemplate = $('#jwsdw-tentGuide-productDetail-template'),\r\n $technologyLogoTemplate = $('#jwsdw-tentGuide-technologyLogo-template'),\r\n $productMobileCompareTemplate = $('#jwsdw-tentGuide-productDetail-mobile-compare-template'),\r\n $productSlidePlaceholderTemplate = $('#jwsdw-tentGuide-placeholder-template'),\r\n $typeSelect = $('.jwsdw-tentGuide-type'),\r\n $activitySelectWrapper = $('#jwsdw-tentGuide-activitySelect'),\r\n $activitySelect = $('.jwsdw-tentGuide-activity'),\r\n $capacitySelectWrapper = $('#jwsdw-tentGuide-capacitySelect'),\r\n $capacitySelect = $('.jwsdw-tentGuide-capacity'),\r\n _cache = {},\r\n _selectedProduct,\r\n _compareWith,\r\n _disableAutoScroll = false,\r\n _offset = 0,\r\n sliders = {\r\n 'product': null,\r\n 'productImage': {}\r\n },\r\n sliderOptions = {\r\n 'productSlider': {\r\n 'init': false,\r\n 'loop': false,\r\n 'freeMode': true,\r\n 'preloadImages': false,\r\n 'slidesPerView': 2,\r\n 'spaceBetween': 10,\r\n 'centerInsufficientSlides': true,\r\n // Responsive breakpoints\r\n 'breakpoints': {\r\n // when window width is >= 600px\r\n '600': {\r\n 'slidesPerView': 3,\r\n 'spaceBetween': 15\r\n },\r\n // when window width is >= 767px\r\n '767': {\r\n 'slidesPerView': 4,\r\n 'spaceBetween': 20\r\n },\r\n // when window width is >= 1200px\r\n '1200': {\r\n 'slidesPerView': 4,\r\n 'spaceBetween': 20\r\n }\r\n },\r\n 'navigation': {\r\n 'nextEl': '.jwsdw-tentGuide-searchResult-slider-wrapper .swiper-button-next',\r\n 'prevEl': '.jwsdw-tentGuide-searchResult-slider-wrapper .swiper-button-prev'\r\n }\r\n },\r\n 'productImageSlider': {\r\n 'init': false,\r\n 'loop': true,\r\n 'freeMode': false,\r\n 'preloadImages': false,\r\n 'slidesPerView': 1,\r\n 'spaceBetween': 0,\r\n 'navigation': {\r\n 'nextEl': '.jwsdw-tentGuide-productImage-container .swiper-button-next',\r\n 'prevEl': '.jwsdw-tentGuide-productImage-container .swiper-button-prev'\r\n },\r\n 'pagination': {\r\n 'el': '.jwsdw-tentGuide-swiper-pagination',\r\n 'renderBullet': function (index, className) {\r\n return '
';\r\n },\r\n 'clickable': true\r\n }\r\n }\r\n },\r\n transforms = {\r\n 'slider': {\r\n 'scaleWidth': 360,\r\n 'scaleHeight': 525,\r\n 'format': 'jpg'\r\n },\r\n 'productDetail': {\r\n 'scaleWidth': 600,\r\n 'scaleHeight':874,\r\n 'format': 'jpg'\r\n }\r\n },\r\n filterHitCountXhrs = [],\r\n xhrs = [];\r\n\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, true, true);\r\n\r\n $('a[href^=\"#\"]').click(function(e) {\r\n var $element = $($(this).attr('href'));\r\n e.preventDefault();\r\n\r\n if ($element.length === 1) {\r\n scrollTop($element, -55);\r\n }\r\n });\r\n\r\n $('.jwsdw-productFinder-infoWrapper').click(function() {\r\n window.jwsdwMediator.publish('openPicker', 'infoPicker', {\r\n 'content': $(this).data('info')\r\n });\r\n });\r\n\r\n $typeSelect.on('change', function () {\r\n _disableAutoScroll = true;\r\n $('#jwsdw-tentGuide-activity-none').removeAttr('disabled').click();\r\n $('#jwsdw-tentGuide-capacity-none').removeAttr('disabled').click();\r\n _disableAutoScroll = false;\r\n $('.jwsdw-tentGuide-activity').attr('disabled', 'disabled');\r\n $('.jwsdw-tentGuide-capacity').attr('disabled', 'disabled');\r\n $('.jwsdw-tentGuide-activity').next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').removeClass('jws-hidden');\r\n $('.jwsdw-tentGuide-capacity').next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').removeClass('jws-hidden');\r\n\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, true, true);\r\n if (!_disableAutoScroll) {\r\n setTimeout(function() {\r\n scrollTop($activitySelectWrapper, -55);\r\n }, 500);\r\n }\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'ce.advice',\r\n 'eventCategory': 'Advice',\r\n 'eventAction': 'Tent Finder',\r\n 'eventLabel': '1',\r\n 'eventValue': undefined,\r\n 'nonInteraction': false,\r\n 'selection': $('#jwsdw-tentGuide-typeSelect input:checked').val()\r\n });\r\n });\r\n\r\n $activitySelect.on('change', function () {\r\n _disableAutoScroll = true;\r\n $('#jwsdw-tentGuide-capacity-none').removeAttr('disabled').click();\r\n _disableAutoScroll = false;\r\n $('.jwsdw-tentGuide-capacity').attr('disabled', 'disabled');\r\n $('.jwsdw-tentGuide-capacity').next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').removeClass('jws-hidden');\r\n\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, false, true);\r\n if (!_disableAutoScroll) {\r\n setTimeout(function() {\r\n scrollTop($capacitySelectWrapper, -55);\r\n }, 500);\r\n }\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'ce.advice',\r\n 'eventCategory': 'Advice',\r\n 'eventAction': 'Tent Finder',\r\n 'eventLabel': '2',\r\n 'eventValue': undefined,\r\n 'nonInteraction': false,\r\n 'selection': $('#jwsdw-tentGuide-activitySelect input:checked').val()\r\n });\r\n });\r\n\r\n $capacitySelect.on('change', function () {\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, false, false);\r\n if (!_disableAutoScroll) {\r\n setTimeout(function() {\r\n scrollTop($productSearchResult, -55);\r\n }, 500);\r\n }\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'ce.advice',\r\n 'eventCategory': 'Advice',\r\n 'eventAction': 'Tent Finder',\r\n 'eventLabel': 'finished',\r\n 'eventValue': undefined,\r\n 'nonInteraction': false,\r\n 'selection': $('#jwsdw-tentGuide-capacitySelect input:checked').val()\r\n });\r\n });\r\n\r\n\r\n $(document).on('click', '#jwsdw-tentGuide-productSlider .jwsdw-tentGuide-productSlide', function() {\r\n _selectedProduct = $(this).attr('data-product-id');\r\n\r\n $('#jwsdw-tentGuide-productSlider .jwsdw-tentGuide-productSlide').removeClass('jwsdw-selected');\r\n $(this).addClass('jwsdw-selected');\r\n\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product').each(function(i, el) {\r\n if ($(el).attr('data-product-id') === _selectedProduct) {\r\n $(el).removeClass('jws-visuallyHidden');\r\n } else {\r\n $(el).find('.jwsdw-tentGuide-compare-remove').click();\r\n $(el).addClass('jws-visuallyHidden');\r\n }\r\n });\r\n\r\n setTimeout(function() {\r\n sliders.productImage[_selectedProduct].update();\r\n });\r\n });\r\n\r\n $(document).on('click', '#jwsdw-tentGuide-productSlider-prev', function() {\r\n $productSlider.find('.swiper-button-prev').click();\r\n });\r\n $(document).on('click', '#jwsdw-tentGuide-productSlider-next', function() {\r\n $productSlider.find('.swiper-button-next').click();\r\n });\r\n\r\n $(document).on('click', '#jwsdw-tentGuide-productImage-slider-prev', function() {\r\n var productId = $(this).attr('product-id');\r\n $(\"#jwsdw-tentGuide-productImage-slider-\" + productId).find('.swiper-button-prev').click();\r\n });\r\n $(document).on('click', '#jwsdw-tentGuide-productImage-slider-next', function() {\r\n var productId = $(this).attr('product-id');\r\n $(\"#jwsdw-tentGuide-productImage-slider-\" + productId).find('.swiper-button-next').click();\r\n });\r\n\r\n\r\n $(document).on('click', '.jwsdw-tentGuide-shopNow', function () {\r\n window.jwsdwMediator.publish('openPicker', 'productDetailPicker', {\r\n 'productId': $(this).data('product-id'),\r\n 'showRefinements': false\r\n });\r\n });\r\n\r\n $(document).on('click', '.jwsdw-tentGuide-compare', function () {\r\n let $comparePickerContent = $('#jwsdw-tentGuide-comparePicker-template').clone(),\r\n cgids = [],\r\n allResults;\r\n\r\n window.jwsdwMediator.publish('openPicker', 'infoPicker', {\r\n 'content': '
'\r\n });\r\n\r\n if ($('.jwsdw-tentGuide-type:checked').val()) {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type:checked').val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n )\r\n ];\r\n } else {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(0).val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n ),\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(1).val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n )\r\n ];\r\n }\r\n\r\n allResults = cgids\r\n .map(function (cgid) {\r\n let data = cgid,\r\n offsets,\r\n result;\r\n\r\n if ($('.jwsdw-tentGuide-capacity:checked').val()) {\r\n data += '-' + $('.jwsdw-tentGuide-capacity:checked').val();\r\n }\r\n\r\n offsets = Array.from({ 'length': Math.floor(_offset / 10) }, (_, i) => i * 10);\r\n\r\n offsets.forEach((start) => {\r\n let currentSearch = data + (start ? '-' + start : ''),\r\n cachedSearch = _cache[currentSearch];\r\n\r\n if (cachedSearch) {\r\n if (!result) {\r\n result = Object.assign({}, cachedSearch);\r\n } else {\r\n result.productSearchHits = result.productSearchHits.concat(cachedSearch.productSearchHits);\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n })\r\n .filter(Boolean);\r\n\r\n let productSearchHits;\r\n\r\n productSearchHits = allResults.reduce(function (arr, result) {\r\n if (!result.categoryId) {\r\n return arr;\r\n }\r\n return arr.concat(result.productSearchHits);\r\n }, []);\r\n\r\n productSearchHits\r\n .filter(function (product) {\r\n return product.ID !== _selectedProduct && product.pricing.standard;\r\n })\r\n .forEach(function (product) {\r\n var $productTile = $productSlideTemplate.clone();\r\n $productTile.removeClass('jws-hidden').removeAttr('id');\r\n\r\n $productTile\r\n .attr('data-product-id', product.ID)\r\n .addClass('jws-grid-small-column-6');\r\n\r\n $productTile\r\n .find('.jwsdw-productTile-image')\r\n .attr(\r\n 'data-src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, 0, transforms.slider, 'bone5')\r\n )\r\n .attr('alt', product.displayedName || product.name);\r\n\r\n $productTile.find('.jwsdw-productName').text(product.displayedName || product.name);\r\n\r\n if (product.pricing.sale && product.pricing.sale < product.pricing.standard) {\r\n // has sale price\r\n $productTile.find('.jwsdw-productListPrice')\r\n .addClass('jwsdw-lineThrough jws-copy1 jws-colorGrey3')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n $productTile.find('.jwsdw-productSalePrice')\r\n .removeClass('jws-hidden')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.sale));\r\n } else {\r\n $productTile.find('.jwsdw-productListPrice').text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n }\r\n $comparePickerContent.find('.jwsdw-tentGuide-comparePicker-products').append($productTile);\r\n });\r\n\r\n setTimeout(function() {\r\n $('.jwsdw-tentGuide-compare-container').html($comparePickerContent.html());\r\n $('.jwsdw-tentGuide-compare-container').scrollTop(0);\r\n }, 150);\r\n });\r\n\r\n\r\n $(document).on('click', '.jwsdw-tentGuide-comparePicker-products .jwsdw-tentGuide-productSlide', function() {\r\n _compareWith = $(this).attr('data-product-id');\r\n\r\n $('.jwsdw-tentGuide-comparePicker-products .jwsdw-tentGuide-productSlide').removeClass('jwsdw-selected');\r\n $(this).addClass('jwsdw-selected');\r\n\r\n $('.jwsdw-tentGuide-comparePicker-compare:visible').addClass('jws-buttonYellow');\r\n $('.jwsdw-tentGuide-comparePicker-compare:visible').removeClass('jws-buttonGrey5');\r\n $('.jwsdw-tentGuide-comparePicker-compare:visible').removeAttr('disabled');\r\n $('.jwsdw-tentGuide-comparePicker-compare:visible').find('span').eq(0).addClass('jws-hidden');\r\n $('.jwsdw-tentGuide-comparePicker-compare:visible').find('span').eq(1).removeClass('jws-hidden');\r\n });\r\n\r\n $(document).on('click', '.jwsdw-tentGuide-comparePicker-compare', function() {\r\n var $mobileDetails,\r\n $tech1,\r\n $tech2,\r\n $detail1,\r\n $detail2,\r\n $selectedProductElement,\r\n $compareProductElement,\r\n $image1,\r\n $image2,\r\n $selectedProduct = {},\r\n $compareProduct = {},\r\n $selectedProductButtons,\r\n $compareProductButtons;\r\n\r\n if (window.innerWidth >= 900) {\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product').addClass('jwsdw-tentGuide-productDetail-compare');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product[data-product-id=' + _compareWith + ']').removeClass('jws-visuallyHidden');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product')\r\n .removeClass('jws-grid-small-column-12')\r\n .addClass('jws-grid-small-column-6');\r\n $productDetail.find('.jwsdw-tentGuide-productImage-container').removeClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-container').removeClass('jws-grid-medium-column-6').removeClass('jws-grid-medium-shift-3');\r\n $productDetail.find('.jws-headline3, .jws-headline4').addClass('jws-textAlignCenter');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabTitle').addClass('jwsdw-justifyContentStretch');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabLink').addClass('jwsdw-width100');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabLink:last-child').addClass('jws-textAlignRight');\r\n $productDetail.find('.jwsdw-tengGuide-productDetail-buttons').addClass('jwsdw-justifyContentCenter');\r\n\r\n $('.jwsdw-tentGuide-compare').addClass('jws-hidden');\r\n $('.jwsdw-tentGuide-compare-remove').removeClass('jws-hidden');\r\n\r\n setTimeout(function() {\r\n Object.keys(sliders.productImage).forEach(function(productId) {\r\n sliders.productImage[productId].update();\r\n });\r\n });\r\n\r\n window.jwsdwMediator.publish('closePicker', 'infoPicker', true);\r\n } else {\r\n $mobileDetails = $productMobileCompareTemplate.clone();\r\n $selectedProductElement = $productDetail.find('.jwsdw-tentGuide-productDetail-product[data-product-id=' + _selectedProduct + ']');\r\n $compareProductElement = $productDetail.find('.jwsdw-tentGuide-productDetail-product[data-product-id=' + _compareWith + ']');\r\n $detail1 = $selectedProductElement.find('.jwsdw-tentGuide-productDetail-tabContent').eq(0).clone();\r\n $detail2 = $compareProductElement.find('.jwsdw-tentGuide-productDetail-tabContent').eq(0).clone();\r\n $tech1 = $selectedProductElement.find('.jwsdw-tentGuide-productDetail-tabContent').eq(1).clone();\r\n $tech2 = $compareProductElement.find('.jwsdw-tentGuide-productDetail-tabContent').eq(1).clone();\r\n $image1 = $selectedProductElement.find('.jwsdw-tentGuide-productImage').eq(0).find('img').clone();\r\n $image2 = $compareProductElement.find('.jwsdw-tentGuide-productImage').eq(0).find('img').clone();\r\n $selectedProduct.name = $selectedProductElement.find('.jwsdw-productName').clone(),\r\n $selectedProduct.price = $selectedProductElement.find('.jws-headline4').clone();\r\n $compareProduct.name = $compareProductElement.find('.jwsdw-productName').clone(),\r\n $compareProduct.price = $compareProductElement.find('.jws-headline4').clone();\r\n $selectedProductButtons = $selectedProductElement.find('.jwsdw-tengGuide-productDetail-buttons').clone();\r\n $compareProductButtons = $compareProductElement.find('.jwsdw-tengGuide-productDetail-buttons').clone();\r\n\r\n $productDetail.setState = function () {\r\n // get the selected product and the compare product and make the elements visible only from medium screens and up\r\n $selectedProductElement.addClass('jws-hideFromSmall jws-showFromLarge');\r\n $compareProductElement.addClass('jws-hideFromSmall jws-showFromLarge');\r\n // keeping the js for resizing the hidden elements in case the user changes the width of the windows\r\n $compareProductElement.removeClass('jws-visuallyHidden');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product').addClass('jwsdw-tentGuide-productDetail-compare');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product')\r\n .removeClass('jws-grid-small-column-12')\r\n .addClass('jws-grid-small-column-6');\r\n $productDetail.find('.jwsdw-tentGuide-productImage-container').removeClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-container').removeClass('jws-grid-medium-column-6').removeClass('jws-grid-medium-shift-3');\r\n $productDetail.find('.jws-headline3, .jws-headline4').addClass('jws-textAlignCenter');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabTitle').addClass('jwsdw-justifyContentStretch');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabLink').addClass('jwsdw-width100');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabLink:last-child').addClass('jws-textAlignRight');\r\n\r\n // append the images of the 2 products\r\n $mobileDetails.find('.jwsdw-tentGuide-productImage-container').eq(0).append($image1);\r\n $mobileDetails.find('.jwsdw-tentGuide-productImage-container').eq(1).append($image2);\r\n\r\n // append the name and the price\r\n $mobileDetails.find('.jwsdw-tentGuide-productImage-container').eq(0).append($selectedProduct.name);\r\n $mobileDetails.find('.jwsdw-tentGuide-productImage-container').eq(1).append($compareProduct.name);\r\n $selectedProduct.price.removeClass('jws-headline4');\r\n $compareProduct.price.removeClass('jws-headline4');\r\n $selectedProduct.price.addClass('jws-copy1Bold jws-textAlignLeft');\r\n $compareProduct.price.addClass('jws-copy1Bold jws-textAlignLeft');\r\n $mobileDetails.find('.jwsdw-tentGuide-productImage-container').eq(0).append($selectedProduct.price);\r\n $mobileDetails.find('.jwsdw-tentGuide-productImage-container').eq(1).append($compareProduct.price);\r\n $selectedProduct.name.addClass('jws-copy1Bold jws-textAlignLeft');\r\n $compareProduct.name.addClass('jws-copy1Bold jws-textAlignLeft');\r\n\r\n // append the selected product and compare product details and technologies\r\n $mobileDetails.find('.jws-mobile-details').append($detail1);\r\n $mobileDetails.find('.jws-mobile-details').append($detail2);\r\n $mobileDetails.find('.jws-mobile-technologies').append($tech1);\r\n $mobileDetails.find('.jws-mobile-technologies').append($tech2);\r\n\r\n $tech1.addClass('jws-grid-small-column-6');\r\n $tech2.addClass('jws-grid-small-column-6');\r\n $detail1.addClass('jws-grid-small-column-6');\r\n $detail2.addClass('jws-grid-small-column-6');\r\n $tech1.removeClass('jws-hidden');\r\n $tech2.removeClass('jws-hidden');\r\n $detail1.removeClass('jws-hidden');\r\n $detail2.removeClass('jws-hidden');\r\n\r\n // append buttons\r\n $mobileDetails.find('.jwsdw-tentGuide-mobileButtons-1').append($selectedProductButtons);\r\n $mobileDetails.find('.jwsdw-tentGuide-mobileButtons-2').append($compareProductButtons);\r\n $mobileDetails.find('.jwsdw-tentGuide-compare-remove').removeClass('jws-margin-left-4');\r\n $mobileDetails.find('.jwsdw-tentGuide-compare-remove').removeClass('jwsdw-buttonGrey4');\r\n $mobileDetails.find('.jwsdw-tentGuide-compare-remove').addClass('jws-textlink jws-textAlignLeft jws-margin-top-3');\r\n\r\n $productDetail.append($mobileDetails);\r\n $mobileDetails.removeClass('jws-visuallyHidden');\r\n };\r\n\r\n $productDetail.setState();\r\n\r\n $('.jwsdw-tentGuide-compare').addClass('jws-hidden');\r\n $('.jwsdw-tentGuide-compare-remove').removeClass('jws-hidden');\r\n\r\n setTimeout(function() {\r\n Object.keys(sliders.productImage).forEach(function(productId) {\r\n sliders.productImage[productId].update();\r\n });\r\n });\r\n\r\n window.jwsdwMediator.publish('closePicker', 'infoPicker', true);\r\n }\r\n });\r\n\r\n $(document).on('click', '.jwsdw-tentGuide-compare-remove', function() {\r\n var productId = $(this).attr('data-product-id');\r\n\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product[data-product-id=' + _selectedProduct + ']').removeClass('jws-hideFromSmall');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product[data-product-id=' + _selectedProduct + ']').removeClass('jws-showFromLarge');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product[data-product-id=' + _compareWith + ']').removeClass('jws-hideFromSmall');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product[data-product-id=' + _compareWith + ']').removeClass('jws-showFromLarge');\r\n $productDetail.parent().find('.jwsdw-tentGuide-productDetail-product-mobile').remove();\r\n\r\n if (_selectedProduct === productId) {\r\n _selectedProduct = _compareWith;\r\n }\r\n _compareWith = null;\r\n\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product').removeClass('jwsdw-tentGuide-productDetail-compare');\r\n $productDetail.find('#jwsdw-tentGuide-productDetail-product-' + productId).addClass('jws-visuallyHidden');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-product')\r\n .removeClass('jws-grid-small-column-6')\r\n .addClass('jws-grid-small-column-12');\r\n $productDetail.find('.jwsdw-tentGuide-productImage-container').addClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-container').addClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jws-headline3, .jws-headline4').removeClass('jws-textAlignCenter');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabTitle').removeClass('jwsdw-justifyContentStretch');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabLink').removeClass('jwsdw-width100');\r\n $productDetail.find('.jwsdw-tentGuide-productDetail-tabLink:last-child').removeClass('jws-textAlignRight');\r\n $productDetail.find('.jwsdw-tengGuide-productDetail-buttons').removeClass('jwsdw-justifyContentCenter');\r\n\r\n $('.jwsdw-tentGuide-compare').removeClass('jws-hidden');\r\n $('.jwsdw-tentGuide-compare-remove').addClass('jws-hidden');\r\n\r\n setTimeout(function() {\r\n Object.keys(sliders.productImage).forEach(function(pid) {\r\n sliders.productImage[pid].update();\r\n });\r\n });\r\n });\r\n\r\n $(window).on('resize', window.jwsdwUtil.debounce(300, function() {\r\n if (/small/.test(window.jwsdwUtil.uiUtils.getViewport())) {\r\n $('.jwsdw-tentGuide-productDetail-product').not('.jws-visuallyHidden').find('.jwsdw-tentGuide-compare-remove').eq(1).click();\r\n }\r\n }));\r\n\r\n /**\r\n * @description Method to build cateogry Id based on user inputs\r\n * @param {String} type tent type\r\n * @param {String} [activity] activity\r\n * @returns {String} cateogry Id\r\n */\r\n function buildCategoryId(type, activity) {\r\n var parts = [\r\n 'Ausruestung-Beratung-Zeltefinder',\r\n type\r\n ];\r\n\r\n if (activity) {\r\n parts.push(activity);\r\n }\r\n return parts.join('-');\r\n }\r\n\r\n /**\r\n * @description Method to trigger product search\r\n * @param {Function} callback callback function\r\n * @param {Boolean} updateFrontend if true show loading animation on frontend\r\n * @param {Integer} [offset] offset for product search. Used for pagination\r\n * @returns {void}\r\n */\r\n function search(callback, updateFrontend, offset) {\r\n var cgids,\r\n _xhrs = [];\r\n\r\n xhrs.forEach(function (xhr) {\r\n if (xhr && xhr.hasOwnProperty('abort')) {\r\n xhr.abort();\r\n }\r\n });\r\n\r\n if (updateFrontend) {\r\n $productSearchResult.find('.jwsdw-spinner').removeClass('jws-hidden');\r\n $productSearchResult.find('.jwsdw-tentGuide-searchResult-slider-wrapper').addClass('jws-hidden');\r\n $productSearchResult.find('.jwsdw-tentGuide-triangle-container').addClass('jws-hidden');\r\n }\r\n\r\n if ($('.jwsdw-tentGuide-type:checked').val()) {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type:checked').val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n )\r\n ];\r\n } else {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(0).val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n ),\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(1).val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n )\r\n ];\r\n }\r\n\r\n Promise\r\n .all(cgids.map(function (cgid) {\r\n return new Promise(function (resolve) {\r\n let _currentSearch = cgid,\r\n data = {\r\n 'cgid': cgid\r\n };\r\n\r\n if ($('.jwsdw-tentGuide-capacity:checked').val()) {\r\n data.prefn5 = 'refinementPersonen';\r\n data.prefv5 = $('.jwsdw-tentGuide-capacity:checked').val();\r\n _currentSearch += '-' + data.prefv5;\r\n }\r\n\r\n if (offset) {\r\n data.start = offset;\r\n _currentSearch += '-' + offset;\r\n }\r\n\r\n if (_cache[_currentSearch]) {\r\n resolve(_cache[_currentSearch]);\r\n return;\r\n }\r\n\r\n _xhrs.push($.ajax({\r\n 'url': window.jwsdwSettings.baseUrl + '/Search-searchProducts',\r\n 'data': data,\r\n 'success': function (response) {\r\n _cache[_currentSearch] = response;\r\n resolve(response);\r\n }\r\n }));\r\n });\r\n }))\r\n .then(function(data) {\r\n let productSearchResult = data.reduce(function(obj, result) {\r\n if (!result.categoryId) {\r\n return obj;\r\n }\r\n\r\n let productMap = new Map(),\r\n combinedProductSearchHits = (obj.productSearchHits || []).concat(result.productSearchHits),\r\n uniqueProductSearchHits;\r\n\r\n combinedProductSearchHits.forEach(hit => {\r\n productMap.set(hit.ID, hit);\r\n });\r\n\r\n uniqueProductSearchHits = Array.from(productMap.values());\r\n\r\n return {\r\n 'pagingModels': (obj.pagingModels || []).concat(result.pagingModel),\r\n 'productSearchHits': uniqueProductSearchHits\r\n };\r\n }, {});\r\n\r\n _offset = productSearchResult.pagingModels[0].pageEnd + 1;\r\n\r\n // if \"no type preference\" is selected randomize results\r\n if (!$('.jwsdw-tentGuide-type:checked').val()) {\r\n productSearchResult.productSearchHits = productSearchResult.productSearchHits.sort( (a, b) => 0.5 - Math.random() ); //eslint-disable-line\r\n }\r\n\r\n callback(productSearchResult, updateFrontend);\r\n });\r\n\r\n if (updateFrontend) {\r\n xhrs = _xhrs;\r\n }\r\n }\r\n\r\n /**\r\n * @description Method to get filter hit count of search\r\n * @param {Function} callback callback function\r\n * @param {Boolean} updateActivities if true update activity tiles as well\r\n * @param {Boolean} updateCapacities if true update capacity tiles as well\r\n * @returns {void}\r\n */\r\n function getFilterHitCount(callback, updateActivities, updateCapacities) {\r\n var cgids,\r\n _filterHitCountXhrs = [];\r\n\r\n filterHitCountXhrs.forEach(function (xhr) {\r\n if (xhr && xhr.hasOwnProperty('abort')) {\r\n xhr.abort();\r\n }\r\n });\r\n\r\n if ($('.jwsdw-tentGuide-type:checked').val()) {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type:checked').val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n )\r\n ];\r\n } else {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(0).val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n ),\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(1).val(),\r\n $('.jwsdw-tentGuide-activity:checked').val()\r\n )\r\n ];\r\n }\r\n\r\n Promise\r\n .all(cgids.map(function (cgid) {\r\n return new Promise(function (resolve) {\r\n var data = {\r\n 'cgid': cgid\r\n };\r\n\r\n\r\n if ($('.jwsdw-tentGuide-capacity:checked').val()) {\r\n data.prefn5 = 'refinementPersonen';\r\n data.prefv5 = $('.jwsdw-tentGuide-capacity:checked').val();\r\n }\r\n\r\n if (_cache['filterHitCount-' + cgid + '-' + data.prefv5]) {\r\n resolve(_cache['filterHitCount-' + cgid + '-' + data.prefv5]);\r\n return;\r\n }\r\n\r\n _filterHitCountXhrs.push($.ajax({\r\n 'url': window.jwsdwSettings.baseUrl + '/Search-FilterHitCount',\r\n 'data': data,\r\n 'success': function (response) {\r\n _cache['filterHitCount-' + cgid + '-' + data.prefv5] = response;\r\n resolve(response);\r\n }\r\n }));\r\n });\r\n }))\r\n .then(function(data) {\r\n var filterHitCount = data.reduce(function(obj, result) {\r\n var refinementCategory = result.refinements.find(function(refinement) {\r\n return refinement.id === 'refinementKategorie';\r\n }),\r\n refinementPersonen = result.refinements.find(function(refinement) {\r\n return refinement.id === 'refinementPersonen';\r\n });\r\n\r\n if (updateActivities) {\r\n if (!obj.refinementCategory && refinementCategory) {\r\n obj.refinementCategory = refinementCategory;\r\n } else if (refinementCategory) {\r\n refinementCategory.refinementValues.forEach(function(refinementValue) {\r\n var exists = obj.refinementCategory.refinementValues.some(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n if (!exists) {\r\n obj.refinementCategory.refinementValues.push(refinementValue);\r\n }\r\n });\r\n obj.refinementCategory.refinementValues = obj.refinementCategory.refinementValues.map(function(refinementValue) {\r\n var value = refinementCategory.refinementValues.find(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n\r\n if (value) {\r\n refinementValue.hitCount += value.hitCount;\r\n }\r\n return refinementValue;\r\n });\r\n }\r\n }\r\n if (updateCapacities) {\r\n if (!obj.refinementPersonen && refinementPersonen) {\r\n obj.refinementPersonen = refinementPersonen;\r\n } else if (refinementPersonen) {\r\n refinementPersonen.refinementValues.forEach(function(refinementValue) {\r\n var exists = obj.refinementPersonen.refinementValues.some(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n if (!exists) {\r\n obj.refinementPersonen.refinementValues.push(refinementValue);\r\n }\r\n });\r\n obj.refinementPersonen.refinementValues = obj.refinementPersonen.refinementValues.map(function(refinementValue) {\r\n var value = refinementPersonen.refinementValues.find(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n\r\n if (value) {\r\n refinementValue.hitCount += value.hitCount;\r\n }\r\n return refinementValue;\r\n });\r\n }\r\n }\r\n return obj;\r\n }, {\r\n 'refinementCategory': null,\r\n 'refinementPersonen': null\r\n });\r\n\r\n callback(filterHitCount);\r\n });\r\n\r\n filterHitCountXhrs = _filterHitCountXhrs;\r\n }\r\n\r\n /**\r\n * @description Method for productdetail tabs\r\n * @returns {void}\r\n */\r\n $(document).on('click', '.jwsdw-tentGuide-productDetail-tabLink', function () {\r\n var $container = $(this).parents('.jwsdw-tentGuide-productDetail-tabContainer'),\r\n tabId = $(this).attr('data-tab-id');\r\n\r\n $container.find('.jwsdw-tentGuide-productDetail-tabLink').removeClass('jwsdw-borderYellow-2px-bottom jwsdw-borderGrey4-bottom');\r\n $container.find('.jwsdw-tentGuide-productDetail-tabLink').addClass('jwsdw-borderGrey4-bottom');\r\n $container.find('.jwsdw-tentGuide-productDetail-tabContent').addClass('jws-hidden');\r\n\r\n $(this).addClass('jwsdw-borderYellow-2px-bottom jwsdw-borderGrey4-bottom');\r\n $(this).removeClass('jwsdw-borderGrey4-bottom');\r\n\r\n $container.find('.jwsdw-tentGuide-productDetail-tabContent[data-tab-id=' + tabId + ']').removeClass('jws-hidden');\r\n });\r\n\r\n /**\r\n * @description Method to build the HTML on the page\r\n * @param {Object[]} productSearchResult search results\r\n * @returns {void}\r\n */\r\n function buildHTML(productSearchResult) {\r\n let productSearchHits = productSearchResult.productSearchHits,\r\n pagingModels = productSearchResult.pagingModels;\r\n\r\n if (sliders.product) {\r\n sliders.product.destroy();\r\n }\r\n\r\n sliders.productImage = {};\r\n\r\n $productSlider.find('.swiper-wrapper').html('');\r\n $productDetail.html('');\r\n $productSearchResult.find('.jwsdw-spinner').addClass('jws-hidden');\r\n\r\n productSearchHits = _updateProductSlider(productSearchHits, pagingModels);\r\n\r\n if (productSearchHits.length === 0) {\r\n $productSearchResult.find('.jwsdw-tentGuide-searchResult-no-results').removeClass('jws-hidden');\r\n\r\n return;\r\n }\r\n\r\n if (productSearchHits.length === 1) {\r\n $productDetail.find('.jwsdw-tentGuide-compare').addClass('jws-hidden');\r\n }\r\n\r\n $productSearchResult.find('.jwsdw-tentGuide-searchResult-no-results').addClass('jws-hidden');\r\n\r\n $productSearchResult.find('.jwsdw-tentGuide-searchResult-slider-wrapper').removeClass('jws-hidden');\r\n $productSearchResult.find('.jwsdw-tentGuide-triangle-container').removeClass('jws-hidden');\r\n\r\n sliders.product = new Swiper('#' + $productSlider.attr('id'), sliderOptions.productSlider);\r\n\r\n $productSlider.removeClass('jws-hidden');\r\n sliders.product.on('init', _updateFakeArrows);\r\n sliders.product.on('slideChange', _updateFakeArrows);\r\n sliders.product.on('reachEnd', _loadMore);\r\n sliders.product.on('resize', window.jwsdwUtil.debounce(300, _updateFakeArrows));\r\n\r\n sliders.product.init();\r\n\r\n setTimeout(function() {\r\n Object.keys(sliders.productImage).forEach(function(pid) {\r\n sliders.productImage[pid].init();\r\n });\r\n });\r\n\r\n $('#jwsdw-tentGuide-productSlider .jwsdw-tentGuide-productSlide').eq(0).click();\r\n }\r\n\r\n /**\r\n * @description Method to deactivate refinement tiles that don't yield results\r\n * @param {Object} filterHitCount filter hit count result\r\n * @returns {void}\r\n */\r\n function deactivateEmptyRefinements(filterHitCount) {\r\n if (filterHitCount.refinementCategory) {\r\n $activitySelect.each(function() {\r\n var cgids,\r\n hitCount;\r\n\r\n if ($('.jwsdw-tentGuide-type:checked').val()) {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type:checked').val(),\r\n this.value\r\n )\r\n ];\r\n } else {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(0).val(),\r\n this.value\r\n ),\r\n buildCategoryId(\r\n $('.jwsdw-tentGuide-type').eq(1).val(),\r\n this.value\r\n )\r\n ];\r\n }\r\n\r\n hitCount = cgids.reduce(function (count, cgid) {\r\n var value = filterHitCount.refinementCategory.refinementValues.find(function (refinementValue) {\r\n return refinementValue.value === cgid;\r\n });\r\n\r\n if (!value) {\r\n return count;\r\n }\r\n return count + value.hitCount;\r\n }, 0);\r\n\r\n if (hitCount > 0) {\r\n $(this).removeAttr('disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon').addClass('jwsdw-fillColorGrey1').removeClass('jwsdw-fillColorBone3');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-descriptionText').addClass('jws-colorBlack').removeClass('jws-colorBone3');\r\n } else {\r\n if ($(this).is(':checked')) {\r\n $('#jwsdw-tentGuide-activity-none').prop('checked', true);\r\n }\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon').addClass('jwsdw-fillColorBone3').removeClass('jwsdw-fillColorGrey1');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-descriptionText').addClass('jws-colorBone3').removeClass('jws-colorBlack');\r\n $(this).attr('disabled', 'disabled');\r\n }\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').addClass('jws-hidden');\r\n });\r\n } else {\r\n $activitySelect.each(function () {\r\n if ($(this).is(':checked')) {\r\n $('#jwsdw-tentGuide-activity-none').prop('checked', true);\r\n }\r\n $(this).attr('disabled', 'disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon').addClass('jwsdw-fillColorBone3').removeClass('jwsdw-fillColorGrey1');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-descriptionText').addClass('jws-colorBone3').removeClass('jws-colorBlack');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').addClass('jws-hidden');\r\n });\r\n }\r\n\r\n if (filterHitCount.refinementPersonen) {\r\n $capacitySelect.each(function () {\r\n var regex = new RegExp(this.value),\r\n value = filterHitCount.refinementPersonen.refinementValues.find(function(refinementValue) {\r\n return regex.test(refinementValue.value);\r\n });\r\n\r\n if (value && value.hitCount > 0) {\r\n $(this).removeAttr('disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-tentGuide-persons').addClass('jws-colorBlack').removeClass('jws-colorBone3');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-tentGuide-capacity-icon').addClass('jws-colorBlack').removeClass('jws-colorBone3');\r\n } else {\r\n if ($(this).is(':checked')) {\r\n $('#jwsdw-tentGuide-capacity-none').prop('checked', true);\r\n }\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-tentGuide-persons').addClass('jws-colorBone3').removeClass('jws-colorBlack');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-tentGuide-capacity-icon').addClass('jws-colorBone3').removeClass('jws-colorBlack');\r\n $(this).attr('disabled', 'disabled');\r\n }\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').addClass('jws-hidden');\r\n });\r\n } else {\r\n $capacitySelect.each(function () {\r\n if ($(this).is(':checked')) {\r\n $('#jwsdw-tentGuide-capacity-none').prop('checked', true);\r\n }\r\n $(this).attr('disabled', 'disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-tentGuide-persons').addClass('jws-colorBone3').removeClass('jws-colorBlack');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-tentGuide-capacity-icon').addClass('jws-colorBone3').removeClass('jws-colorBlack');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').addClass('jws-hidden');\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * @description Method to update product slider fake arrows\r\n * @returns {void}\r\n * @private\r\n */\r\n function _updateFakeArrows() {\r\n setTimeout(function() {\r\n if ($productSlider.find('.swiper-button-prev.swiper-button-disabled').length > 0) {\r\n $('#jwsdw-tentGuide-productSlider-prev').addClass('swiper-button-disabled');\r\n } else {\r\n $('#jwsdw-tentGuide-productSlider-prev').removeClass('swiper-button-disabled');\r\n }\r\n if ($productSlider.find('.swiper-button-next.swiper-button-disabled').length > 0) {\r\n $('#jwsdw-tentGuide-productSlider-next').addClass('swiper-button-disabled');\r\n } else {\r\n $('#jwsdw-tentGuide-productSlider-next').removeClass('swiper-button-disabled');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @description Method to scroll to the top of an element. Additionally an offset can be passed.\r\n * @param {Object} element jQuery element for which offset.top defines the scroll position\r\n * @param {Integer} [offset] optional offset\r\n * @returns {void}\r\n */\r\n function scrollTop(element, offset) {\r\n offset = offset || 0;\r\n $('html, body').animate({\r\n 'scrollTop': element.offset().top + offset\r\n });\r\n }\r\n\r\n /**\r\n * @description Method to load more product results\r\n * @returns {undefined}\r\n * @private\r\n */\r\n function _loadMore() {\r\n if ($productSlider.find('.jwsdw-placeholderSlide').length) {\r\n search(\r\n (productSearchResult) => {\r\n let productSearchHits = productSearchResult.productSearchHits,\r\n pagingModels = productSearchResult.pagingModels;\r\n\r\n $productSlider.find('.jwsdw-placeholderSlide').remove();\r\n\r\n _updateProductSlider(productSearchHits, pagingModels);\r\n sliders.product.update();\r\n _updateFakeArrows();\r\n },\r\n false,\r\n _offset\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * @description Helper function to add product search hits to swiper slides.\r\n * @param {*} productSearchHits - Array of product search hits.\r\n * @param {*} pagingModels - Array of product search result paging models.\r\n * @returns {Object[]} an array of product search hits.\r\n */\r\n function _updateProductSlider(productSearchHits, pagingModels) {\r\n let pHits = productSearchHits\r\n .filter(function(product) {\r\n return product.pricing.standard;\r\n })\r\n .map(function (product) {\r\n let $productSlide = $productSlideTemplate.clone(),\r\n $productDetailProduct = $productDetailTemplate.clone(),\r\n $productImageSlider = $productDetailProduct.find('.jwsdw-tentGuide-productImage-slider'),\r\n $productImageTemplate = $productDetailProduct.find('.jwsdw-tentGuide-productImage').detach(),\r\n $productImageSliderControlPrev = $productDetailProduct.find('.jwsdw-tentGuide-productImage-slider-prev'),\r\n $productImageSliderControlNext = $productDetailProduct.find('.jwsdw-tentGuide-productImage-slider-next'),\r\n images = product.allVariations.attributes[0].vals[0].images.meta;\r\n\r\n $productSlide.removeClass('jws-hidden').removeAttr('id');\r\n\r\n $productSlide.attr('data-product-id', product.ID);\r\n $productSlide.find('.jwsdw-productTile-image').attr(\r\n 'src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, 0, transforms.slider, 'Bone5')\r\n );\r\n $productSlide.find('.jwsdw-productName').text(product.displayedName || product.name);\r\n\r\n if (product.pricing.sale && product.pricing.sale < product.pricing.standard) {\r\n // has sale price\r\n $productSlide.find('.jwsdw-productListPrice')\r\n .addClass('jwsdw-lineThrough jws-copy1 jws-colorGrey3')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n $productSlide.find('.jwsdw-productSalePrice')\r\n .removeClass('jws-hidden')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.sale));\r\n } else {\r\n $productSlide.find('.jwsdw-productListPrice').text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n }\r\n\r\n $productSlider.find('.swiper-wrapper').append($productSlide);\r\n\r\n $productDetailProduct.attr('data-product-id', product.ID);\r\n $productDetailProduct.attr('id', 'jwsdw-tentGuide-productDetail-product-' + product.ID);\r\n\r\n $productImageSlider.attr('id', 'jwsdw-tentGuide-productImage-slider-' + product.ID);\r\n\r\n $productImageSliderControlPrev.attr('product-id', product.ID);\r\n $productImageSliderControlNext.attr('product-id', product.ID);\r\n images.forEach(function(index) {\r\n let $imageSlide = $productImageTemplate.clone();\r\n\r\n $imageSlide.find('img').attr(\r\n 'src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, index, transforms.productDetail, 'Bone5')\r\n );\r\n $imageSlide.appendTo($productImageSlider.find('.swiper-wrapper'));\r\n });\r\n\r\n $productDetailProduct.find('.jwsdw-productName').text(product.displayedName || product.name);\r\n\r\n if (product.pricing.sale && product.pricing.sale < product.pricing.standard) {\r\n // has sale price\r\n $productDetailProduct.find('.jwsdw-productListPrice')\r\n .addClass('jwsdw-lineThrough jws-copy1 jws-colorGrey3')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n $productDetailProduct.find('.jwsdw-productSalePrice')\r\n .removeClass('jws-hidden')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.sale));\r\n } else {\r\n $productDetailProduct.find('.jwsdw-productListPrice').text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n }\r\n\r\n $productDetailProduct.find('.jwsdw-tentGuide-shopNow, .jwsdw-tentGuide-compare, .jwsdw-tentGuide-compare-remove').attr('data-product-id', product.ID);\r\n\r\n product.info.forEach(function (info) {\r\n $productDetailProduct.find('.jwsdw-pdp-detailList').append(\r\n $('
  • ' + info + '
  • ')\r\n );\r\n });\r\n\r\n product.technology.forEach(function (technology) {\r\n let $technologyLogo = $technologyLogoTemplate.clone();\r\n\r\n $technologyLogo.removeAttr('id').removeClass('jws-hidden');\r\n if (technology.cid) {\r\n $technologyLogo.find('.jwsdw-badgeContainer').addClass('jws-cursorPointer');\r\n $technologyLogo.find('.jwsdw-badgeContainer').attr('data-picker-options', JSON.stringify({\r\n 'cid': technology.cid,\r\n 'introduction': technology.excerpt,\r\n 'width': 1\r\n }));\r\n } else {\r\n $technologyLogo.find('.jwsdw-badge').remove();\r\n }\r\n $technologyLogo.find('.jwsdw-techLogo').attr('src', technology.imageUrl);\r\n $productDetailProduct.find('.jwsdw-tentGuide-productDetail-technologies').append($technologyLogo);\r\n });\r\n\r\n $productDetail.append($productDetailProduct);\r\n\r\n sliders.productImage[product.ID] = new Swiper(\r\n '#jwsdw-tentGuide-productImage-slider-' + product.ID,\r\n sliderOptions.productImageSlider\r\n );\r\n\r\n return product;\r\n });\r\n\r\n if (pagingModels.some((pagingModel) => pagingModel.hasNextPage)) {\r\n let $productSlide = $productSlidePlaceholderTemplate.clone();\r\n $productSlide.removeAttr('id').removeClass('jws-hidden');\r\n $productSlider.find('.swiper-wrapper').append($productSlide);\r\n }\r\n\r\n return pHits;\r\n }\r\n\r\n if (!!window.navigator.userAgent.match(/Trident/g) || !!window.navigator.userAgent.match(/MSIE/g)) {\r\n // IE11 fix to remove second scrollbar when search results loaded\r\n $('#jwsdw-body').css('overflow', 'visible');\r\n }\r\n}(jQuery, Swiper, Promise)); // eslint-disable-line no-undef\r\n"],"names":["$","Swiper","Promise","_selectedProduct","_compareWith","$productSlider","$productSearchResult","$productDetail","$productSlideTemplate","$productDetailTemplate","$technologyLogoTemplate","$productMobileCompareTemplate","$productSlidePlaceholderTemplate","$typeSelect","$activitySelectWrapper","$activitySelect","$capacitySelectWrapper","$capacitySelect","_cache","_disableAutoScroll","_offset","sliders","product","productImage","sliderOptions","productSlider","init","loop","freeMode","preloadImages","slidesPerView","spaceBetween","centerInsufficientSlides","breakpoints","600","767","1200","navigation","nextEl","prevEl","productImageSlider","pagination","el","renderBullet","index","className","clickable","transforms","slider","scaleWidth","scaleHeight","format","productDetail","filterHitCountXhrs","xhrs","buildCategoryId","type","activity","parts","push","join","search","callback","updateFrontend","offset","cgids","_xhrs","forEach","xhr","hasOwnProperty","abort","find","removeClass","addClass","val","eq","all","map","cgid","resolve","let","_currentSearch","data","prefn5","prefv5","start","ajax","url","window","jwsdwSettings","baseUrl","success","response","then","productSearchResult","reduce","obj","result","categoryId","productMap","Map","combinedProductSearchHits","productSearchHits","concat","uniqueProductSearchHits","hit","set","ID","Array","from","values","pagingModels","pagingModel","pageEnd","sort","a","b","Math","random","getFilterHitCount","updateActivities","updateCapacities","_filterHitCountXhrs","filterHitCount","refinementCategory","refinements","refinement","id","refinementPersonen","refinementValues","refinementValue","some","currentRefinementValue","value","hitCount","buildHTML","destroy","html","_updateProductSlider","length","attr","on","_updateFakeArrows","_loadMore","jwsdwUtil","debounce","setTimeout","Object","keys","pid","click","deactivateEmptyRefinements","each","this","count","removeAttr","next","is","prop","regex","RegExp","test","scrollTop","element","animate","top","remove","update","pHits","filter","pricing","standard","$productSlide","clone","$productDetailProduct","$productImageSlider","$productImageTemplate","detach","$productImageSliderControlPrev","$productImageSliderControlNext","images","allVariations","attributes","vals","meta","urlUtils","imageUrl","text","displayedName","name","sale","formatPrice","append","$imageSlide","appendTo","info","technology","$technologyLogo","cid","JSON","stringify","introduction","excerpt","width","hasNextPage","e","$element","preventDefault","jwsdwMediator","publish","content","dataLayer","event","eventCategory","eventAction","eventLabel","eventValue","undefined","nonInteraction","selection","document","i","productId","showRefinements","$comparePickerContent","floor","_","currentSearch","cachedSearch","assign","Boolean","arr","$productTile","$mobileDetails","$tech1","$tech2","$detail1","$detail2","$selectedProductElement","$compareProductElement","$image1","$image2","$selectedProductButtons","$compareProductButtons","$selectedProduct","$compareProduct","innerWidth","price","setState","parent","uiUtils","getViewport","not","$container","parents","tabId","navigator","userAgent","match","css","jQuery"],"mappings":"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"}