1var Shop={debug:!1,filter:{tags:[]},basketEventsBound:!1,initialize:function(){var shopContainer=jQuery('.tx-shop');if(shopContainer.length>0){Shop.debug=(shopContainer.attr('data-shop-debug')==='1');if(Shop.debug){Logger.enableLogger()} 2this.initializeProductBasketEvents();this.animateSpinner();this.alignCategoryAndTagsCheckboxes();Shop.updateBasketButtonQuantity(parseInt(jQuery('.basket-item-count').html(),10));var deliveryAddressEnabledCheckbox=jQuery('#checkout_deliveryAddressEnabled');if(deliveryAddressEnabledCheckbox.length){deliveryAddressEnabledCheckbox.change(function(){var deliveryAddressFields=jQuery('.shop-basketorder-checkout .deliveryAddress');if(jQuery(this).prop('checked')){deliveryAddressFields.slideDown(250)}else{deliveryAddressFields.slideUp(250)}});if(!deliveryAddressEnabledCheckbox.prop('checked')){jQuery('.shop-basketorder-checkout .deliveryAddress').slideUp(0)}} 3var createFrontendUserEnabledCheckbox=jQuery('#checkout_createFrontendUser');if(createFrontendUserEnabledCheckbox.length){createFrontendUserEnabledCheckbox.change(function(){var passwordFields=jQuery('.shop-basketorder-checkout .password');if(jQuery(this).prop('checked')){passwordFields.slideDown(250)}else{passwordFields.slideUp(250)}});if(!createFrontendUserEnabledCheckbox.prop('checked')){jQuery('.shop-basketorder-checkout .password').slideUp(0)}}} 4jQuery('.shop-basketorder-confirm-order button[type=\'submit\']').on('click',function(){jQuery(this).prop('disabled',!0);jQuery(this).closest('form').submit()});jQuery('button[name="tx_shop_products[reset]"]').on('click',function(){jQuery('input[name="tx_shop_products[submit]"]').attr('name','tx_shop_products[reset]');jQuery(this).closest('form').submit()});this.bookmarks.initialize();var basketContent=jQuery('.basket-item-list.table');if(basketContent.length>0){var editable=basketContent.attr('data-editable');this.initializeBasket(editable)} 5this.isotope.instance=jQuery('.tx-shop [data-isotope]');if(this.isotope.instance.length>0){Shop.isotope.initialize()}else{var sortBy=jQuery('#product-list-sort-by');if(sortBy.length>0){sortBy.on('change',function(){jQuery(this).closest('form').submit()})} 6var sortOrder=jQuery('#product-list-sort-order');if(sortOrder.length>0){sortOrder.on('change',function(){jQuery(this).closest('form').submit()})}} 7this.initProductListLazyLoad();this.initPayPalPlus();this.initKlarna();this.initStripe()},initializeProductBasketEvents:function(){jQuery('*[data-add-to-basket]').off().on('click',function(){var button=jQuery(this);var wrapper=button.closest('.product-add-to-basket');var productUid=parseInt(button.attr('data-add-to-basket'),10);var field=wrapper.find('.product-add-to-basket-quantity');var quantity=parseInt(field.val(),10);Shop.addToBasket(productUid,quantity)})},initProductListLazyLoad:function(){const self=this;const $productsWrapper=jQuery('#product-list');const $productSearchForm=jQuery('#product-searchform');if($productsWrapper.length!==0&&$productSearchForm.length!==0){if($productsWrapper.data('endless-scrolling')){const params=$productsWrapper.data('params');if(params){let isLoading=!1;const scrollListener=function(){const productsWrapperBottom=$productsWrapper.offset().top+$productsWrapper.outerHeight();const currentScrollPosition=window.scrollY;const viewportHeight=window.innerHeight;if(currentScrollPosition+viewportHeight>=productsWrapperBottom&&!isLoading){params.offset=$productsWrapper.find('.product-item').length;params.json=1;data={};for(const key of Object.keys(params)){if(key==='controller'){data[key]=params[key]}else{data['tx_shop_products['+key+']']=params[key]}} 8jQuery('#product-load-spinner').show();isLoading=!0;jQuery.ajax({type:'GET',url:$productSearchForm.attr('action'),data:data,success:function(html,textStatus,request){jQuery('#product-load-spinner').hide();const $elementsToAppend=jQuery(html).find('[data-endless-scrolling-element]') 9const $endlessScrollWrapper=$productsWrapper.find('[data-endless-scroll-wrapper]');if(Shop.isotope.instance[0]===$endlessScrollWrapper[0]){$endlessScrollWrapper.append($elementsToAppend).isotope('appended',$elementsToAppend)}else{$endlessScrollWrapper.append($elementsToAppend)}
10jQuery('#product-load-spinner').appendTo($productsWrapper.find('[data-endless-scroll-wrapper]'));isLoading=!1;if($elementsToAppend.length===0){window.removeEventListener('scroll',scrollListener)} 11setTimeout(()=>{self.initializeProductBasketEvents();self.bookmarks.initialize();jQuery.event.trigger('shop.after_list_lazy_load_items')},200)}})}} 12window.addEventListener('scroll',scrollListener)}}}},initPayPalPlus:function(){var pppWrapper=jQuery('#ppplus-wrapper');if(pppWrapper.length!==0){var loaderWrapper=pppWrapper.find('.loader-wrapper');var doCheckoutButton=jQuery('#ppp-do-checkout-button');var approvalUrl=pppWrapper.data('approval-url');var mode=pppWrapper.data('pay-pal-plus-sandbox')===1?'sandbox':'live';var country=pppWrapper.data('country-code');var ppp=PAYPAL.apps.PPP({"approvalUrl":approvalUrl,"placeholder":"ppplus","buttonLocation":"outside","mode":mode,"country":country?country:"DE","language":country?country:"DE",'onLoad':function(){loaderWrapper.remove();doCheckoutButton.removeClass('disabled')}})}},initStripe:function(){var stripeWrapper=jQuery('#stripe-wrapper');var loaderWrapper=stripeWrapper.find('.loader-wrapper');loaderWrapper.remove() 13if(stripeWrapper.length!==0){const options={clientSecret:stripeWrapper.attr('data-stripe-client-secret'),};var stripe=Stripe(stripeWrapper.attr('data-stripe-public-key'),options);var elements=stripe.elements(options);const paymentElement=elements.create('payment');paymentElement.mount('#payment-element');var form=jQuery('#payment-form');form.on('submit',function(event){event.preventDefault();stripeWrapper.append(loaderWrapper) 14form.find('button').prop('disabled',!0);stripe.confirmPayment({elements,confirmParams:{return_url:stripeWrapper.attr('data-stripe-return-url'),},}).then(function(result){if(result.error){const messageContainer=stripeWrapper.find('#error-message');messageContainer.text(result.error.message);loaderWrapper.remove() 15form.find('button').prop('disabled',!1)}else{const messageContainer=stripeWrapper.find('#error-message');messageContainer.text('')}})})}},initKlarna:function(){var klarnaWrapper=jQuery('#klarna-wrapper');if(klarnaWrapper.length!==0){var initFunction=function(){var locale=jQuery('html').attr('lang');if(typeof locale!=='string'||locale===''){locale='en-US'} 16Klarna.Payments.init({client_token:klarnaWrapper.attr('data-klarna-client-token')}) 17Klarna.Payments.load({container:'#klarna-payments-container',payment_method_category:klarnaWrapper.attr('data-klarna-payment-method-category')},{locale:locale},function(res){if(!(typeof res.error==='undefined')){FlashMessage.push(res.error,'danger','#shop-flash-messages')} 18if(res.show_form){jQuery('#klarna-do-checkout-button').removeClass('disabled')}})} 19if(klarnaWrapper.attr('data-klarna-async-callback')==='waiting'){window.klarnaAsyncCallback=initFunction}else{initFunction()}}},confirmKlarna:function(){var klarnaWrapper=jQuery('#klarna-wrapper');try{Klarna.Payments.authorize({payment_method_category:klarnaWrapper.attr('data-klarna-payment-method-category')},function(res){if(res.approved&&!(typeof res.authorization_token==='undefined')){var authorizationTokenField=jQuery('#authorization-token');if(authorizationTokenField.length>0){authorizationTokenField.val(res.authorization_token);authorizationTokenField.closest('form').submit()}else{FlashMessage.push('#authorization-token field not found!','danger','#shop-flash-messages')}}else{FlashMessage.push('Klarna authorization failed!','danger','#shop-flash-messages')}})}catch(e){FlashMessage.push('Klarna authorization error!','danger','#shop-flash-messages')}},bindBasketEvents:function(){jQuery('input.basket-item-quantity').on('keydown',function(event){if(event.key==='Enter'){return!1}}).on('keyup',function(event){var basketItem=jQuery(this).closest('tr.basket-item');if(event.key==='Enter'){var product=basketItem.data('product-uid');var quantity_input=jQuery('input.basket-item-quantity',basketItem);var quantity=quantity_input.val();quantity=parseInt(quantity,10);if(isNaN(quantity)||quantity===0){FlashMessage.push(quantity_input.attr('data-quantity-empty-message'),'danger','#shop-flash-messages');return!1} 20Shop.updateBasketItemQuantity(product,quantity);this.blur()}else{Shop.checkQuantityChanged(basketItem)} 21return!1}).on('blur',function(){var basketItem=jQuery(this).closest('tr.basket-item');Shop.checkQuantityChanged(basketItem);return!1});jQuery('.basket-item-unit-save').on('click',function(){var basketItem=jQuery(this).closest('tr.basket-item');var product=basketItem.data('product-uid');
21var quantity_input=jQuery('input.basket-item-quantity',basketItem);var quantity=quantity_input.val();quantity=parseInt(quantity,10);if(isNaN(quantity)||quantity===0){FlashMessage.push(quantity_input.attr('data-quantity-empty-message'),'danger','#shop-flash-messages');return!1} 22Shop.updateBasketItemQuantity(product,quantity,quantity_input);return!1});jQuery('input.basket-item-custom-information').on('keydown',function(event){if(event.key==='Enter'){return!1}}).on('keyup',function(event){var basketItem=jQuery(this).closest('tr.basket-item');if(event.key==='Enter'){var product=basketItem.data('product-uid');var customInformation_input=jQuery('input.basket-item-custom-information',basketItem);var customInformation=customInformation_input.val();if(customInformation===''){FlashMessage.push(customInformation_input.attr('data-custom-information-empty-message'),'danger','#shop-flash-messages');return!1} 23Shop.updateBasketItemCustomInformation(product,customInformation,customInformation_input);this.blur()}else{Shop.checkCustomInformationChanged(basketItem)} 24return!1}).on('blur',function(){var basketItem=jQuery(this).closest('tr.basket-item');Shop.checkCustomInformationChanged(basketItem);return!1});jQuery('.basket-item-custom-information-save').on('click',function(){var basketItem=jQuery(this).closest('tr.basket-item');var product=basketItem.data('product-uid');var customInformation_input=jQuery('input.basket-item-custom-information',basketItem);var customInformation=customInformation_input.val();if(customInformation===''){FlashMessage.push(customInformation_input.attr('data-custom-information-empty-message'),'danger','#shop-flash-messages');return!1} 25Shop.updateBasketItemCustomInformation(product,customInformation,customInformation_input);return!1})},initializeBasket:function(editable){var data={tx_shop_jsonapi:{initialize:1,editable:editable}};jQuery.ajax({url:jQuery('.tx-shop').attr('data-shop-update-basket-item-json-api'),data:data,dataType:'json',method:'GET',success:function(json){if(json.status==='success'){var html=atob(json.html);html=decodeURIComponent(escape(html));jQuery('.basket-item-list.table').text('').replaceWith(html);Shop.bindBasketEvents();Shop.updateBasketOrderButtons(json)}else{FlashMessage.push(json.messages.danger,'danger','#shop-flash-messages')}},error:function(){}})},updateBasketItemQuantity:function(product,quantity,quantity_input){var data={tx_shop_jsonapi:{quantity:quantity,product:product,editable:1}};jQuery.ajax({url:jQuery('.tx-shop').attr('data-shop-update-basket-item-json-api'),dataType:'json',data:data,method:'GET',success:function(json){if(typeof quantity_input!=='undefined'){quantity_input.val(json.quantity)} 26if(json.status==='success'){var html=atob(json.html);html=decodeURIComponent(escape(html));jQuery('.basket-item-list.table').text('').replaceWith(html);Shop.bindBasketEvents();Shop.updateBasketOrderButtons(json);FlashMessage.push(json.messages.ok,'success','#shop-flash-messages')}else{FlashMessage.push(json.messages.danger,'danger','#shop-flash-messages')}},error:function(){}});return!1},updateBasketItemCustomInformation:function(product,customInformation,customInformation_input){var data={tx_shop_jsonapi:{customInformation:customInformation,product:product,editable:1}};jQuery.ajax({url:jQuery('.tx-shop').attr('data-shop-update-basket-item-json-api'),dataType:'json',data:data,method:'GET',success:function(json){if(json.status==='success'){FlashMessage.push(json.messages.ok,'success','#shop-flash-messages')}else{FlashMessage.push(json.messages.danger,'danger','#shop-flash-messages')}},error:function(){}});return!1},updateBasketOrderButtons:function(json){if(!json.minimumOrderValueReached){jQuery('.btn-order').addClass('disabled')}else{jQuery('.btn-order').removeClass('disabled')} 27jQuery.each(jQuery('.btn-order'),function(){var orderButton=jQuery(this);var minimumOrderValue=parseInt(orderButton.data('minimum-order-value'),10);var maximumOrderValue=parseInt(orderButton.data('maximum-order-value'),10);if(minimumOrderValue>0||maximumOrderValue>0){if(json.orderValue<minimumOrderValue||json.orderValue>maximumOrderValue){orderButton.addClass('disabled')}else{orderButton.removeClass('disabled')}}})},checkQuantityChanged:function(basketItem){var quantityField=jQuery('input.basket-item-quantity',basketItem).val();var quantity=parseInt(quantityField,10);var quantityOriginalField=jQuery('input.basket-item-quantity-original',basketItem).val();var quantityOriginal=parseInt(quantityOriginalField,10);if(quantity!==quantityOriginal&&quantity>0){jQuery('.basket-item-unit',basketItem).hide();jQuery('.basket-item-unit-save',basketItem).show()}},checkCustomInformationChanged:function(basketItem){var customInformation_input=jQuery('input.basket-item-custom-information',basketItem);var customInformation=customInformation_input.val();var customInformationOriginal=jQuery('input.basket-item-custom-information-original',basketItem).val();if(customInformation_input.attr('data-custom-information-type')==='int'){var customInformation=parseInt(customInformation,10);var customInformationOriginal=parseInt(customInformationOriginal,10);if(customInformation!==customInformationOriginal&&customInformation>0){jQuery('.basket-item-custom-information-save',basketItem).removeAttr('disabled');
27if(customInformation_input.attr('data-custom-information-required')==='1'){customInformation_input.removeClass('border-danger')}}else{if(customInformation_input.attr('data-custom-information-required')==='1'){customInformation_input.addClass('border-danger')}}}else{if(customInformation!==customInformationOriginal&&customInformation!==''){jQuery('.basket-item-custom-information-save',basketItem).removeAttr('disabled');if(customInformation_input.attr('data-custom-information-required')==='1'){customInformation_input.removeClass('border-danger')}}else{if(customInformation_input.attr('data-custom-information-required')==='1'){customInformation_input.addClass('border-danger')}}}},addToBasket:function(product,quantity){if(isNaN(quantity)||quantity===0){FlashMessage.push('Bitte geben Sie erst eine Anzahl ein!','error','#shop-flash-messages');return!1} 28var data={tx_shop_jsonapi:{quantity:quantity,product:product}};jQuery.ajax({url:jQuery('.tx-shop').attr('data-shop-add-basket-item-json-api'),dataType:'json',data:data,method:'GET',success:function(json){Shop.updateBasketButtonQuantity(parseInt(json.basketItemQuantity,10));if(json.status==='success'){FlashMessage.push(json.messages.ok,'success','#shop-flash-messages')}else{FlashMessage.push(json.messages.danger,'danger','#shop-flash-messages')}},error:function(){}});return!1},updateBasketButtonQuantity:function(quantity){if(isNaN(quantity)||quantity===0){quantity=0} 29if(quantity===1){jQuery('.basket-item-label.singular').show();jQuery('.basket-item-label.plural').hide()}else{jQuery('.basket-item-label.singular').hide();jQuery('.basket-item-label.plural').show()} 30const $countElement=jQuery('.basket-item-count') 31$countElement.html(quantity);$countElement.attr('data-count',quantity)},goBackAndRefresh:function(){if('referrer' in document){window.location=document.referrer}else{window.history.back()}},animateSpinner:function(){const dots=document.querySelectorAll('.preloader-dots .dot');const duration=1800;const delayBetweenDots=200;function animate(timestamp){dots.forEach((dot,index)=>{const delay=delayBetweenDots*index;const progress=((timestamp+delay)%duration)/duration;const scale=Math.abs(Math.sin(progress*Math.PI));dot.style.transform=`scale(${scale})`});requestAnimationFrame(animate)} 32requestAnimationFrame(animate)},alignCategoryAndTagsCheckboxes:function(){const categoryCheckboxes=$('input[type="checkbox"][id*="product-category"]');for(let categoryCheckbox of categoryCheckboxes){const mainDiv=$(categoryCheckbox).closest('.product-filter-tag-categorized');let allCheckboxesChecked=!0;const tagCheckboxes=mainDiv.find('input[type="checkbox"][id*="product-tag"]');if(tagCheckboxes){for(let checkbox of tagCheckboxes){if(!checkbox.checked){allCheckboxesChecked=!1;break}} 33categoryCheckbox.checked=allCheckboxesChecked}} 34categoryCheckboxes.on("change",function(){const isChecked=$(this).is(":checked");const mainDiv=$(this).closest('.product-filter-tag-categorized');const tagCheckboxes=mainDiv.find('input[type="checkbox"][id*="product-tag"]');for(let checkbox of tagCheckboxes){checkbox.checked=isChecked}});const tagCheckboxes=$('input[type="checkbox"][id*="product-tag"]');tagCheckboxes.on("change",function(){const isChecked=$(this).is(":checked");const mainDiv=$(this).closest('.product-filter-tag-categorized');const categoryCheckbox=mainDiv.find('input[type="checkbox"][id*="product-category"]')[0];if(categoryCheckbox){if(!isChecked){categoryCheckbox.checked=!1}else{const tagCheckboxesOfCategory=mainDiv.find('input[type="checkbox"][id*="product-tag"]');let allCheckboxesChecked=!0;for(let checkbox of tagCheckboxesOfCategory){if(!checkbox.checked){allCheckboxesChecked=!1;break}} 35categoryCheckbox.checked=allCheckboxesChecked}}})},isotope:{instance:null,sortBy:'title',sortOrder:'asc',initialize:function(){Logger.log('Shop.isotope.initialize');var tagCheckboxes=jQuery('[data-product-tag] input[type=\'checkbox\']');if(tagCheckboxes.length>0){jQuery.each(tagCheckboxes,function(){var checkbox=jQuery(this);if(checkbox.prop('checked')){var parent=0;var categorized=checkbox.closest('.product-filter-tag-categorized');var filterConcatenation=checkbox.attr('data-filter-concatenation');Logger.log('Tag checkbox filter concatenation: ',filterConcatenation,', categorized: ',categorized);if(categorized.length>0){var tagCategory=jQuery('.product-tag-category input[type=\'checkbox\']',categorized);parent=parseInt(tagCategory.val(),10);tagCategory.prop('checked',!0)} 36Shop.isotope.filter.activate(checkbox.val(),filterConcatenation,parent,!1)}});Shop.isotope.refresh();tagCheckboxes.change(function(){var checkbox=jQuery(this);var parent=0;var categorized=checkbox.closest('.product-filter-tag-categorized');var filterConcatenation=checkbox.attr('data-filter-concatenation');Logger.log('Tag checkbox filter concatenation: ',filterConcatenation,', categorized: ',categorized);if(categorized.length>0){var tagCategory=jQuery('.product-tag-category input[type=\'checkbox\']',categorized);Logger.log('tagCategory',tagCategory);parent=parseInt(tagCategory.val(),10);if(jQuery('[data-product-tag] input[type=\'checkbox\']:checked',categorized).length>0){tagCategory.prop('checked',!0)}else{tagCategory.prop('checked',!1)}} 37if(checkbox.prop('checked')){Shop.isotope.filter.activate(checkbox.val(),filterConcatenation,parent,!0)}else{var category=checkbox.closest('.product-filter-tag-category');category=jQuery('[data-product-tag-category] input[type=\'checkbox\']',category);if(category.length>0){if(category.prop('checked')){category.prop('checked',!1)}} 38Shop.isotope.filter.deactivate(checkbox.val(),parent,!0)}})} 39var tagCategoryCheckboxes=jQuery('[data-product-tag-category] input[type=\'checkbox\']');
39if(tagCategoryCheckboxes.length>0){jQuery.each(tagCategoryCheckboxes,function(){var checkbox=jQuery(this);if(checkbox.prop('checked')){Shop.isotope.filter.selected.push('.product-tag-category-'+checkbox.val())}});tagCategoryCheckboxes.change(function(){var filter=jQuery(this);var parent=0;var categorized=filter.closest('.product-filter-tag-categorized');if(filter.prop('checked')){jQuery.each(jQuery('[data-product-tag] input[type=\'checkbox\']',categorized),function(){jQuery(this).prop('checked',!0).trigger('change',!1)})}else{jQuery.each(jQuery('[data-product-tag] input[type=\'checkbox\']',categorized),function(){jQuery(this).prop('checked',!1).trigger('change',!1)})} 40Shop.isotope.refresh()})} 41Shop.isotope.filter.selected=jQuery.unique(Shop.isotope.filter.selected);Shop.isotope.filter.selectedString=Shop.isotope.filter.selected.join(', ');var sortBy=jQuery('#product-list-sort-by');if(sortBy.length>0){sortBy.change(Shop.isotope.refresh)} 42var sortOrder=jQuery('#product-list-sort-order');if(sortOrder.length>0){sortOrder.change(Shop.isotope.refresh)}},refresh:function(){var sortBy=jQuery('#product-list-sort-by');var sortOrder=jQuery('#product-list-sort-order');Logger.log('Shop.isotope.refresh: ',sortBy,sortOrder);if(sortOrder.length>0&&sortBy.length>0){Logger.log('Shop.isotope.refresh: ',sortBy.val(),', order asc: ',(sortOrder.val()==='asc'));Shop.isotope.instance.isotope({filter:Shop.isotope.filter.get(),getSortData:{title:'[data-isotope-sortby-title]',product_no:'[data-isotope-sortby-product-no]',price:function(item){return parseFloat(jQuery(item).find(".product-price").attr('data-isotope-sortby-price'))},sorting:function(item){return parseInt(jQuery(item).attr('data-isotope-sortby-sorting'),10)}},sortBy:sortBy.val(),sortAscending:(sortOrder.val()==='asc')});Shop.isotope.instance.isotope('updateSortData').isotope()}else{Shop.isotope.instance.isotope({filter:Shop.isotope.filter.get()})}},filter:{activated:{},activatedString:'',selected:[],selectedString:'',activate:function(value,concatenation,parent,refresh){Logger.log('Shop.isotope.filter.activate: ',value,concatenation,parent);if(typeof Shop.isotope.filter.activated[parent]==='undefined'){Shop.isotope.filter.activated[parent]={concatenation:'',items:{}}} 43Shop.isotope.filter.activated[parent].concatenation=concatenation;Shop.isotope.filter.activated[parent].items[value]=value;if(refresh)Shop.isotope.refresh();},deactivate:function(value,parent,refresh){Logger.log('Shop.isotope.filter.deactivate: ',value,parent);if(typeof Shop.isotope.filter.activated[parent]!=='undefined'){delete Shop.isotope.filter.activated[parent].items[value];if(jQuery.isEmptyObject(Shop.isotope.filter.activated[parent].items)){delete Shop.isotope.filter.activated[parent]}} 44if(refresh)Shop.isotope.refresh();},get:function(){Logger.log('Shop.isotope.filter.get: ',Shop.isotope.filter);Shop.isotope.filter.activatedArray={};Shop.isotope.filter.activatedString='';var first=!0;var tempArray=[];jQuery.each(Shop.isotope.filter.activated,function(key,value){if(value.concatenation==='and'){jQuery.each(value.items,function(itemKey){if(typeof Shop.isotope.filter.activatedArray[key]==='undefined'){Shop.isotope.filter.activatedArray[key]='.product-tag-'+itemKey}else{Shop.isotope.filter.activatedArray[key]=Shop.isotope.filter.activatedArray[key]+'.product-tag-'+itemKey}})}else{if(first){jQuery.each(value.items,function(itemKey){tempArray[tempArray.length]='.product-tag-'+itemKey});first=!1}else{var newTempArray=[];jQuery.each(value.items,function(itemKey){jQuery.each(tempArray,function(tempKey,tempValue){newTempArray[newTempArray.length]=tempValue+'.product-tag-'+itemKey})});tempArray=newTempArray} 45Shop.isotope.filter.activatedArray=tempArray}});Shop.isotope.filter.activatedArray=jQuery.map(Shop.isotope.filter.activatedArray,function(e){return e});Shop.isotope.filter.activatedString=Shop.isotope.filter.activatedArray.join(', ');Logger.log('Shop.isotope.filter.get: ',Shop.isotope.filter.activatedString);var data={tx_shop_jsonapi:{action:'filter',remind:!0,isotope:Shop.isotope.filter.activatedString}};jQuery.ajax({url:jQuery('.tx-shop').attr('data-shop-filter-isotope-json-api'),dataType:'json',data:data,method:'GET',success:function(json){Logger.log(json)},error:function(){}});return Shop.isotope.filter.activatedString}}},bookmarks:{initialize:function(){var bookmarkItems=jQuery('[data-product-bookmark-item-uid]:not(.initialized)');if(bookmarkItems.length>0){jQuery.each(bookmarkItems,function(){jQuery(this).addClass('initialized');
45jQuery(this).change(Shop.bookmarks.change)})}},clear:function(){var data={tx_shop_jsonapi:{clear:!0}};jQuery.ajax({url:jQuery('.tx-shop').attr('data-shop-bookmark-json-api'),dataType:'json',data:data,method:'GET',success:function(json){var bookmarkButton=jQuery('.bookmarks-button');var bookmarkButtonCount=jQuery('.bookmarks-item-count');if(bookmarkButtonCount.length>0){bookmarkButtonCount.html(json.bookmarks.count);json.bookmarks.count=parseInt(json.bookmarks.count,10);if(json.bookmarks.count===0){bookmarkButton.addClass('disabled');jQuery('[data-product-bookmark-item-uid]').prop('checked',!1)}else{bookmarkButton.removeClass('disabled')}} 46if(typeof json.messages.info!=='undefined'){FlashMessage.push(json.messages.info,'info','#shop-flash-messages')}},error:function(){}});return!1},change:function(){var data={tx_shop_jsonapi:{remind:!1,product:parseInt(jQuery(this).val(),10)}};if(jQuery(this).prop('checked')){data.tx_shop_jsonapi.remind=!0} 47jQuery.ajax({url:jQuery('.tx-shop').attr('data-shop-bookmark-json-api'),dataType:'json',data:data,method:'GET',success:function(json){var bookmarkButton=jQuery('.bookmarks-button');var bookmarkButtonCount=jQuery('.bookmarks-item-count');if(bookmarkButtonCount.length>0){bookmarkButtonCount.html(json.bookmarks.count);json.bookmarks.count=parseInt(json.bookmarks.count,10);if(json.bookmarks.count===0){bookmarkButton.addClass('disabled')}else{bookmarkButton.removeClass('disabled')}} 48var compareButton=jQuery('.product-compare-button');if(compareButton.length>0){json.bookmarks.count=parseInt(json.bookmarks.count,10);jQuery('.bookmarks-count',compareButton).html(json.bookmarks.count);if(json.bookmarks.count===0){jQuery('.bookmarks-available',compareButton).hide();jQuery('.no-bookmarks-available',compareButton).show()}else if(json.bookmarks.count===1){jQuery('.bookmarks-available',compareButton).show();jQuery('.no-bookmarks-available',compareButton).hide();jQuery('.bookmarks-count-single',compareButton).show();jQuery('.bookmarks-count-multiple',compareButton).hide()}else{jQuery('.bookmarks-available',compareButton).show();jQuery('.no-bookmarks-available',compareButton).hide();jQuery('.bookmarks-count-single',compareButton).hide();jQuery('.bookmarks-count-multiple',compareButton).show()}} 49if(typeof json.messages.info!=='undefined'){FlashMessage.push(json.messages.info,'info','#shop-flash-messages')} 50if(typeof json.messages.danger!=='undefined'){FlashMessage.push(json.messages.danger,'danger','#shop-flash-messages');jQuery('.product-bookmarks input').prop('checked',!1);jQuery.each(json.bookmarks.items,function(key){jQuery('#product-bookmark-button_'+key).prop('checked',!0)})}},error:function(){}});return!1}}};jQuery(document).ready(function(){Shop.initialize()})
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.