1jQuery(function($){let cuw_data=cuw_template.data;let cuw_i18n=cuw_template.i18n;let cuw_is_rtl=cuw_template.is_rtl;window.cuw_offer={init:function(){this.event_listeners();if($("#cuw-ppu-offer").length){cuw_offer.update_ppu_totals($("#cuw-ppu-offer"))}},update_price:function(select,section){let variant=select.find('option:selected');section.find('.cuw-product-price, .cuw-page-product-price, .cuw-ppu-product-price').html(variant.data('price_html'));section.find('.cuw-ppu-order-totals').data('price',variant.data('price')).data('tax',variant.data('tax'));section.find('.cuw-qty').prop('max',variant.data('stock_qty'));if(variant.data('image')){section.find('.cuw-product-image, .cuw-page-product-image, .cuw-ppu-product-image').html(variant.data('image'))}},update_quantity:function(button){let wrapper=button.parent();let input=wrapper.find('input'),val=parseFloat(input.val())||0,max=parseFloat(input.attr('max'))||'',min=parseFloat(input.attr('min'))||0,step=parseFloat(input.attr('step'))||1;if(button.is('.cuw-plus')){if(max&&(val>=max))input.val(max);else input.val(val+step)}else{if(min&&(val<=min))input.val(min);else if(val>0)input.val(val-step)} 2val=parseFloat(input.val());wrapper.find('.cuw-minus').css('opacity',min===val?0.6:1);wrapper.find('.cuw-plus').css('opacity',max===val?0.6:1);input.trigger('change')},check_quantity:function(input){let product_quantity=parseInt(input.val());let max_quantity=parseInt(input.prop('max'));if(product_quantity>max_quantity){input.val(max_quantity)} 3input.closest('.quantity-input').find('.cuw-plus').css('opacity',product_quantity>=max_quantity?0.6:1);input.closest('.cuw-offer, .cuw-page, .cuw-product, .cuw-product-row').find('.variant-select').trigger('change')},update_ppu_totals:function(section){let qty=section.find(".cuw-ppu-product-quantity .cuw-qty").val();if(qty===undefined){qty=section.find(".cuw-ppu-order-totals").data('qty')} 4let product_price=section.find(".cuw-ppu-order-totals").data('price');let tax=section.find(".cuw-ppu-order-totals").data('tax');let order_total=section.find(".cuw-ppu-order-totals").data('order_total');let subtotal=parseFloat(product_price)*parseFloat(qty);let subtotal_tax=parseFloat(tax)*parseFloat(qty);let updated_order_total=parseFloat(order_total)+subtotal+subtotal_tax;section.find(".cuw-ppu-subtotal").html(cuw_helper.format_price(subtotal));section.find(".cuw-ppu-tax").html(cuw_helper.format_price(subtotal_tax));section.find(".cuw-ppu-total").html(cuw_helper.format_price(updated_order_total))},event_listeners:function(){$(document).on("click",".cuw-offer .quantity-input .cuw-plus, .cuw-offer .quantity-input .cuw-minus",function(){cuw_offer.update_quantity($(this))});$(document).on("click",".cuw-page .quantity-input .cuw-plus, .cuw-page .quantity-input .cuw-minus",function(){cuw_offer.update_quantity($(this))});$(document).on("change",".cuw-offer .variant-select",function(){cuw_offer.update_price($(this),$(this).closest('.cuw-offer'))});$(document).on("input",'.cuw-offer .cuw-qty, #cuw-ppu-offer .cuw-qty',function(){cuw_offer.check_quantity($(this))});$(document).on("change",'#cuw-ppu-offer .cuw-qty',function(){cuw_offer.update_ppu_totals($("#cuw-ppu-offer"))});$(document).on("change",".cuw-page .variant-select",function(){cuw_offer.update_price($(this),$(this).closest('.cuw-page'));cuw_offer.update_ppu_totals($("#cuw-ppu-offer"))})},} 5window.cuw_products={init:function(){this.event_listeners();this.load_sections()},load_sections:function(){$(".cuw-products").each(function(index,section){cuw_products.load_section($(section))})},load_section:function(section){section.find('.variant-select').trigger('change');cuw_products.update_prices(section)},get_all_products:function(section){let products=[];section.find('.cuw-product').each(function(index,product){if($(product).find(".cuw-product-checkbox").length||$(product).data('key')){products.push($(product))}});return products},get_chosen_products:function(section){let products=[];section.find('.cuw-product').each(function(index,product){if($(product).find(".cuw-product-checkbox").prop("checked")||$(product).data('key')){products.push($(product))}});return products},update_product_row:function(section,product_row){let price_column=product_row.find('.cuw-product-price');let product_id=product_row.data('product_id'),variant_id;if(!product_id){product_id=product_row.data('id')} 6let product=section.find('.cuw-product[data-id="'+product_id+'"]').first();let variant_select=product_row.find('.variant-select').first();if(variant_select&&variant_select.length){variant_id=variant_select.val();let variant=variant_select.find('option[value="'+variant_id+'"]').first();product.data('regular_price',variant.data('regular_price'));product.data('price',variant.data('price'));if(product_id){product.closest('.cuw-products').find('.cuw-product[data-id="'+product_id+'"]').data('regular_price',variant.data('regular_price'));product.closest('.cuw-products').find('.cuw-product[data-id="'+product_id+'"]').data('price',variant.data('price'))} 7product.find('.cuw-product-variation-id').val(variant_id);product.find('.cuw-product-variation-attributes-json').val(JSON.stringify(variant_select.data('chosen_attributes')));product_row.find('.cuw-product-variation-id').val(variant_id);product_row.find('.cuw-qty').prop('max',variant.data('stock_qty'));if(variant.data('image')){if(section.data('change_image')!='only_row'){product.find('.cuw-product-image').html(variant.data('image'))} 8product_row.find('.cuw-product-image').html(variant.data('image'))} 9price_column.html(variant.data('price_html'))}else if(price_column.html()===''){price_column.html(product.find('.cuw-product-price').html())}},update_prices:function(section,data={}){if(section.closest('.cuw-modal').length>0){section=section.closest('.cuw-modal')} 10let regular_price_total=0,price_total=0,items=0,main_price=0,main_item=0,addons_price=0,addon_items=0;let total_items=this.get_all_products(section).length;let main_product_id=parseInt(section.find('[name="main_product_id"]').val());
10this.get_chosen_products(section).forEach(function(product){let quantity=1;if(product.find('.quantity-input .cuw-qty').length>0){quantity=parseFloat(product.find('.quantity-input .cuw-qty').first().val())}else if(product.data('quantity')){quantity=parseFloat(product.data('quantity'))} 11if(main_product_id===product.data('id')){main_price=parseFloat(product.data('price'))*quantity;main_item=1}else{addons_price+=parseFloat(product.data('price'))*quantity;addon_items++} 12regular_price_total+=parseFloat(product.data('regular_price'))*quantity;price_total+=parseFloat(product.data('price'))*quantity;items++});let total_savings=regular_price_total-price_total;let at_least_items=parseInt(section.find(".cuw-buy-section").find(".cuw-add-to-cart").data('at_least_items'))||1;if(items>=at_least_items){section.find(".cuw-buy-section .cuw-message").hide();if(section.find(".cuw-buy-section .cuw-actions").first().data('inactive')==='disable'){section.find(".cuw-buy-section .cuw-actions").show();section.find(".cuw-buy-section .cuw-actions").find(":input").prop('disabled',!1)}else{section.find(".cuw-buy-section .cuw-actions").show()} 13section.find(".cuw-buy-section .cuw-prices").show();section.find(".cuw-main-item").html(main_item);section.find(".cuw-addon-items").html(addon_items);section.find(".cuw-total-items").html(items);section.find(".cuw-main-price").html(cuw_helper.get_price_html(main_price));section.find(".cuw-addons-price").html(cuw_helper.get_price_html(addons_price));if(section.data('main_product_price')){regular_price_total+=parseFloat(section.data('main_product_regular_price'));price_total+=parseFloat(section.data('main_product_price'))} 14section.find(".cuw-total-price").html(cuw_helper.get_price_html(price_total,regular_price_total));if(price_total==0){section.find('.cuw-total-price-section').hide()}else{section.find('.cuw-total-price-section').show()}}else{if(section.find(".cuw-buy-section .cuw-actions").first().data('inactive')==='disable'){section.find(".cuw-buy-section .cuw-actions").find(":input").prop('disabled',!0)}else{section.find(".cuw-buy-section .cuw-actions").hide()} 15section.find(".cuw-buy-section .cuw-prices").hide();section.find(".cuw-buy-section .cuw-message").show()} 16if(total_savings>0){section.find('.cuw-total-savings').not('[data-hidden="1"]').show();section.find('.cuw-total-savings .cuw-saved-amount').html(cuw_helper.get_price_html(total_savings))}else{section.find('.cuw-total-savings').not('[data-hidden="1"]').hide();section.find('.cuw-total-savings .cuw-saved-amount').html('')} 17if(data.cart_subtotal){section.find('.cuw-cart-subtotal').html(data.cart_subtotal)} 18this.update_add_to_cart_text(section,items,total_items);this.update_cta_button(section);jQuery(document.body).trigger('cuw_product_prices_updated',[{regular_price_total:regular_price_total,price_total:price_total,items:items,main_item:main_item,main_price:main_price,addon_items:addon_items,addons_price:addons_price,total_savings:total_savings,available_items:total_items,other_data:data,},section])},update_cta_button:function(section){let disable=!1;this.get_chosen_products(section).forEach(function(product){if(product.hasClass('is_variable')){if(product.find('.variant-select').val()===''||product.find('.cuw-product-variation-id').val()===''){disable=!0;return!1}}});section.find('.cuw-add-to-cart').not('[data-choose_variants="1"]').prop('disabled',disable)},update_inputs:function(product,show=!0){let inputs=product.find(':input').not('input[type="checkbox"]');let product_id=product.data('id');if(show){inputs.prop("disabled",!1);product.css('opacity','1');if(product_id){product.closest('.cuw-products').find('.cuw-product[data-id="'+product_id+'"]').css('opacity','1')} 19product.find('.cuw-plus, .cuw-minus, .cuw-attributes-section').css('pointer-events','all');product.find('.cuw-remove-item-from-cart, .cuw-added-text, .cuw-added-icon').hide();product.find('.cuw-add-product-to-cart').show()}else{inputs.prop("disabled",!0);product.css('opacity','0.8');if(product.hasClass('cuw-recommendation-product')){product.find('.cuw-redirect-to-cart').show()} 20if(product_id){product.closest('.cuw-products').find('.cuw-product[data-id="'+product_id+'"]').css('opacity','0.8')} 21product.find('.cuw-plus, .cuw-minus, .cuw-attributes-section').css('pointer-events','none');product.find('.cuw-add-product-to-cart').hide();product.find('.cuw-remove-item-from-cart, .cuw-added-text, .cuw-added-icon').show()}},update_add_to_cart_text:function(section,chosen_items_count,total_items_count){if(section.find(".cuw-buy-section").find(".cuw-add-to-cart").data('buy_now')){return} 22let text=section.find(".cuw-buy-section").find(".cuw-add-to-cart").data('text');if(text&&!text.includes('{items_text}')&&!text.includes('{items_count}')){text=text}else if(text&&chosen_items_count>1){let items_text='';let items_count=chosen_items_count+' '+cuw_i18n.add_to_cart.items;if(cuw_i18n.add_to_cart.number_to_text[chosen_items_count]){items_text=cuw_i18n.add_to_cart.number_to_text[chosen_items_count]}else if(chosen_items_count===total_items_count){items_text=cuw_i18n.add_to_cart.all_items}else{items_text=cuw_i18n.add_to_cart.selected_items} 23text=text.replace('{items_text}',items_text).replace('{items_count}',items_count)}else{text=cuw_i18n.add_to_cart.text} 24section.find(".cuw-add-to-cart").html(text)},update_badges:function(product){if(product.find('.cuw-badge').data('hidden')=='1')return;let save_text=product.find('.cuw-badge').data('save_text');let regular_price=product.data('regular_price');let price=product.data('price');if(regular_price===''||price===''||!save_text)return;if(regular_price===price){product.find('.cuw-badge').hide()}else{let amount=cuw_helper.format_price(regular_price-price);let percentage=cuw_helper.format_percentage((regular_price-price)/regular_price*100);let text=save_text.replace('{price}',amount).replace('{percentage}',percentage);product.find('.cuw-badge').html(text).show()}},carousel_update_actions:function(section){let slider=section.find(".cuw-carousel-slider");if(slider[0].scrollLeft===0){section.find(".cuw-previous").css('opacity',0.5)}else if(Math.abs(slider[0].scrollLeft)+slider[0].clientWidth==slider[0].scrollWidth){section.find(".cuw-next").css('opacity',0.5)}else{section.find(".cuw-previous, .cuw-next").css('opacity',1)}},carousel_scroll_items:function(section,action){let slider=section.find(".cuw-carousel-slider");let item_gap=parseInt(slider.data('gap'))||18;let item_width=parseInt(slider.find(':first-child').width());if(action.hasClass('cuw-next')){slider.animate({scrollLeft:(cuw_is_rtl?'-=':'+=')+(item_width+item_gap),behaviour:'smooth'},10)}else if(action.hasClass('cuw-previous')){slider.animate({scrollLeft:(cuw_is_rtl?'+=':'-=')+(item_width+item_gap),behaviour:'smooth'},10)}},event_listeners:function(){$(document).on("click",".cuw-products .cuw-product-image",function(){let checkbox=$(this).closest(".cuw-product").find(".cuw-product-checkbox").first();checkbox.prop("checked",!checkbox.prop("checked")).trigger("change")});$(document).on('click','.cuw-carousel .cuw-scroll-action',function(){cuw_products.carousel_scroll_items($(this).closest(".cuw-carousel"),$(this))});$('.cuw-carousel .cuw-carousel-slider').on('scroll',function(){cuw_products.carousel_update_actions($(this).closest(".cuw-carousel"))});$(".single_variation_wrap").on("show_variation",function(event,variation){$('.cuw-product-addons').each(function(index,section){$(section).data('main_product_regular_price',variation.display_regular_price);$(section).data('main_product_price',variation.display_price);cuw_products.update_prices($(section))})});$(document).on("change",".cuw-products .cuw-product-checkbox",function(){cuw_products.update_inputs($(this).closest(".cuw-product"),$(this).is(":checked"));cuw_products.update_prices($(this).closest(".cuw-products"))});$(document).on("click",".cuw-products .quantity-input .cuw-plus, .cuw-products .quantity-input .cuw-minus",function(){cuw_offer.update_quantity($(this))});$(document).on("change",'.cuw-products .quantity-input .cuw-qty',function(){cuw_products.update_prices($(this).closest(".cuw-products"))});$(document).on("input",'.cuw-products .quantity-input .cuw-qty',function(){cuw_offer.check_quantity($(this))});$(document).on("change",".cuw-products .variant-select",function(){cuw_products.update_product_row($(this).closest(".cuw-products"),$(this).closest(".cuw-product-row"));cuw_products.update_prices($(this).closest(".cuw-products"));cuw_products.update_badges($(this).closest(".cuw-product-row"))});$(document).on("cuw_products_load_section",function(event,section){cuw_products.load_section(section)});
24$(document).on("click",'.cuw-cart-addon-products .cuw-toggle-addons',function(){$(this).closest(".cuw-cart-addon-products").find(".cuw-products").slideToggle();$(this).closest(".cuw-cart-addon-products").find(".cuw-addon-arrow-up").toggle();$(this).closest(".cuw-cart-addon-products").find(".cuw-addon-arrow-down").toggle()});$(document).on("click",'.cuw-attributes-select .cuw-reset-attributes',function(event){event.preventDefault();$(this).closest('.cuw-attributes-select').find('select').each(function(index,element){$(element).html($(element).data('attribute_html'))});$(this).closest('.cuw-attributes-select').find('select').trigger('change')});$(document).on("change",'.cuw-attributes-select select',function(){cuw_variations.update_attributes_fields($(this).closest('.cuw-attributes-select'));var chosen_attributes=cuw_variations.get_chosen_attributes($(this).closest('.cuw-attributes-select'));var chosen_attribute_data=cuw_variations.find_matching_variants($(this).closest('.cuw-attributes-select').data('product_variations'),chosen_attributes.data);var section=$(this).closest('.cuw-attributes-section');var variant_select=section.find('.variant-select');if(chosen_attribute_data.length===1&&chosen_attributes.count===chosen_attributes.chosenCount){chosen_attribute_data=chosen_attribute_data.shift();variant_select.val(chosen_attribute_data.id).prop('selected',!0);variant_select.data('chosen_attributes',chosen_attributes.data);variant_select.trigger('change');$(this).closest('.cuw-offer, .cuw-page').find('.cuw-button, .cuw-checkbox, .cuw-page-button, .cuw-ppu-accept-button').prop('disabled',!1).css({'pointer-events':'all','opacity':'1'});$(this).closest('#cuw-ppu-offer').find('.cuw-ppu-order-totals-table').css('display','table');$(this).closest('.cuw-product').find('.cuw-add-product-to-cart').prop('disabled',!1).css({'pointer-events':'all','opacity':'1'})}else if(chosen_attribute_data.length===0&&chosen_attributes.count===chosen_attributes.chosenCount){}else{variant_select.data('chosen_attributes','[]');variant_select.val('').prop('selected',!0);variant_select.trigger('change');$(this).closest('.cuw-offer, .cuw-page').find('.cuw-button, .cuw-checkbox, .cuw-page-button, .cuw-ppu-accept-button').prop('disabled',!0).css({'pointer-events':'none','opacity':'0.8'});$(this).closest('#cuw-ppu-offer').find('.cuw-ppu-order-totals-table').css('display','none');$(this).closest('.cuw-product').find('.cuw-add-product-to-cart').prop('disabled',!0).css({'pointer-events':'none','opacity':'0.8'})} 25section.find('.cuw-reset-attributes').css('display',chosen_attributes.chosenCount>0?'block':'none')})},}
26window.cuw_variations={update_attributes_fields:function(variation_section){var product_variations=variation_section.data('product_variations');var currently_chosen_attributes=cuw_variations.get_chosen_attributes(variation_section).data;variation_section.find('select').each(function(index,element){var current_attribute_select=$(element),current_attribute_name=current_attribute_select.data('attribute_name'),attached_options_count=0,new_attribute_select=$('<select/>'),option_gt_filter=':gt(0)',selected_attribute_value=current_attribute_select.val()||'',selected_attribute_value_valid=!0;if(!current_attribute_select.data('attribute_html')){var reference_select=current_attribute_select.clone();reference_select.find('option').removeAttr('attached').prop('disabled',!1).prop('selected',!1);current_attribute_select.data('attribute_options',reference_select.find('option'+option_gt_filter).get());current_attribute_select.data('attribute_html',reference_select.html())} 27new_attribute_select.html(current_attribute_select.data('attribute_html'));var check_attributes=$.extend(!0,{},currently_chosen_attributes);check_attributes[current_attribute_name]='';var variations_data=cuw_variations.find_matching_variants(product_variations,check_attributes);for(var num in variations_data){if(typeof(variations_data[num])!=='undefined'){var variation_attributes=variations_data[num].attributes;for(var attribute_name in variation_attributes){if(variation_attributes.hasOwnProperty(attribute_name)){var attribute_value=variation_attributes[attribute_name],variation_active='';if(attribute_name===current_attribute_name){if(variations_data[num].is_active){variation_active='enabled'} 28if(attribute_value){attribute_value=$('<div/>').html(attribute_value).text();var option_elements=new_attribute_select.find('option');if(option_elements.length){for(var i=0,length=option_elements.length;i<length;i++){var option_element=$(option_elements[i]),option_value=option_element.val();if(attribute_value===option_value){option_element.addClass('attached '+variation_active);break}}}}else{new_attribute_select.find('option:gt(0)').addClass('attached '+variation_active)}}}}}} 29attached_options_count=new_attribute_select.find('option.attached').length;if(selected_attribute_value){selected_attribute_value_valid=!1;if(0!==attached_options_count){new_attribute_select.find('option.attached.enabled').each(function(){var option_value=$(this).val();if(selected_attribute_value===option_value){selected_attribute_value_valid=!0;return!1}})}} 30if(attached_options_count>0&&selected_attribute_value&&selected_attribute_value_valid){new_attribute_select.find('option:first').remove();option_gt_filter=''} 31new_attribute_select.find('option'+option_gt_filter+':not(.attached)').remove();current_attribute_select.html(new_attribute_select.html());current_attribute_select.find('option'+option_gt_filter+':not(.enabled)').prop('disabled',!0);if(selected_attribute_value){if(selected_attribute_value_valid){current_attribute_select.val(selected_attribute_value)}else{current_attribute_select.val('').trigger('change')}}else{current_attribute_select.val('')}})},find_matching_variants:function(variations_data,attributes){var matching=[];for(var i=0;i<variations_data.length;i++){var variation=variations_data[i];if(cuw_variations.is_attributes_match(variation.attributes,attributes)){matching.push(variation)}} 32return matching},is_attributes_match:function(variation_attributes,attributes){var match=!0;for(var attr_name in variation_attributes){if(variation_attributes.hasOwnProperty(attr_name)){var value_1=variation_attributes[attr_name];var value_2=attributes[attr_name];if(value_1!==undefined&&value_2!==undefined&&value_1.length!==0&&value_2.length!==0&&value_1!==value_2){match=!1}}} 33return match},get_chosen_attributes:function(variation_section){var data={},count=0,chosen=0;variation_section.find('select').each(function(index,element){var attribute_name=$(element).data('attribute_name');var value=$(element).val()||'';if(value.length>0){chosen++} 34count++;data[attribute_name]=value});
34return{'count':count,'chosenCount':chosen,'data':data,}},} 35window.cuw_helper={format_price:function(price,tag=''){price=parseFloat(price).toFixed(cuw_data.woocommerce.price.decimals);price=price.replace(".",cuw_data.woocommerce.price.decimal_separator);let split=price.split(cuw_data.woocommerce.price.decimal_separator);split[0]=split[0].replace(/\B(?=(\d{3})+(?!\d))/g,cuw_data.woocommerce.price.thousand_separator);price=split.join(cuw_data.woocommerce.price.decimal_separator);price=cuw_data.woocommerce.price.format.replace('%1$s',cuw_data.woocommerce.price.symbol).replace('%2$s',price);return tag?'<'+tag+'>'+price+'</'+tag+'>':price},get_price_html:function(price,regular_price=null){if(regular_price&®ular_price>price){return this.format_price(regular_price,'del')+' '+this.format_price(price,'ins')} 36return this.format_price(price,'ins')},get_discount_text:function(discount_type,discount_value){let discount_text='';if(discount_type==='percentage'&&discount_value!==''){discount_text=cuw_helper.format_percentage(discount_value)}else if(discount_type==='fixed_price'&&discount_value!==''){discount_text=cuw_helper.format_price(discount_value)}else if(discount_type==='free'){discount_text=cuw_i18n.free} 37return discount_text},format_percentage:function(price,round=!0){if(price==='')return price;if(round){price=Math.round(price*100)/100;price=price.toFixed(2);price=price.replace(/\.?0+$/,'')} 38return price+='%'},} 39window.cuw_spinner={show:function(section){if(typeof section==='string'){section=$(section).first()} 40if(section.block){$(section).block({message:null,overlayCSS:{background:'#fff',opacity:0.6}})}},hide:function(section){if(typeof section==='string'){section=$(section).first()} 41if(section.unblock){$(section).unblock()}}} 42window.cuw_modal={show:function(modal,temp=!1){if(typeof modal==='string'){modal=$(modal).first()} 43modal.show();modal.find('.cuw-modal-close').click(function(){temp?modal.remove():modal.hide()});$(window).click(function(event){if($(event.target).hasClass('cuw-modal')){temp?modal.remove():modal.hide()}});$(document).keydown(function(event){if(event.keyCode===27){temp?modal.remove():modal.hide()}})},hide:function(modal){if(typeof modal==='string'){modal=$(modal).first()} 44modal.hide()}} 45$(document).ready(function(){cuw_offer.init();cuw_products.init()})})
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.