(function($){"use strict";if(typeof swatchly_params==='undefined'){return!1}
function addTooltip(){var image_src=$(this).data('tooltip_image'),text=$(this).data('tooltip_text');if(image_src&&text){$(this).append(`<div class="swatchly-tooltip"><span class="swatchly-tooltip-text">${text}</span><img src="${image_src}" /></div>`)}else if(image_src){$(this).append(`<div class="swatchly-tooltip"><img src="${image_src}" /></div>`)}else if(text){$(this).append(`<div class="swatchly-tooltip"><span class="swatchly-tooltip-text">${text}</span></div>`)}}
function removeTooltip(e){$('.swatchly-tooltip').remove()}
$(document).ready(function(){$(document).on('mouseover','div.swatchly-swatch,a.swatchly-swatch',addTooltip);$(document).on('mouseleave','div.swatchly-swatch,a.swatchly-swatch',removeTooltip)});$(document).ready(function(){$('.swatchly-hide-this-variation-row').closest('tr').addClass('swatchly_d_none')});var product_loop={prevent_click:function(){$('.swatchly_loop_variation_form').on('click',function(e){if($(e.target).is('.swatchly-more-button')||$(e.target).closest('.swatchly-more-button').length){return}
e.preventDefault();e.stopPropagation();e.stopImmediatePropagation()})},init_variation_form:function(){var enable_swatches=Boolean(Number(swatchly_params.enable_swatches));if(enable_swatches){$('.swatchly_loop_variation_form').swatchly_loop_variation_form()}}}
$(document).ready(function(){$('.swatchly_loop_variation_form').addClass('swatchly_loaded_on_ready');product_loop.prevent_click()});$.fn.reset=function(event){$(this).find('.swatchly_ajax_add_to_cart').removeClass('alt disabled wc-variation-is-unavailable swatchly_found_variation added');if(event==='click'){var $button_text=$(this).find('.swatchly_ajax_add_to_cart').data('select_options_text')
$(this).find('.swatchly_ajax_add_to_cart').text($button_text)}
$(this).find('.added_to_cart.wc-forward').remove();$(this).remove_out_of_stock();$(this).find('.reset_variations').attr('style','display: none !important')};$.fn.reset_to_default_price=function(){$(this).find('.price').first().removeClass('swatchly_d_none');$(this).find('.swatchly_price').remove()};$.fn.remove_out_of_stock=function(){if($(this).find('.swatchly_pl.swatchly_out_of_stock')){$(this).find('.swatchly_pl.swatchly_out_of_stock').remove()}}
$.fn.get_product_image_selector=function(){var $product_thumbnail='',product_thumbnail_selector=swatchly_params.product_thumbnail_selector;if(product_thumbnail_selector){$product_thumbnail=$(this).find(product_thumbnail_selector);if(!$product_thumbnail.length&&$(this).closest('.product').find(product_thumbnail_selector).length){$product_thumbnail=$(this).closest('.product').find(product_thumbnail_selector)}
return $product_thumbnail}
var has_slider=!1;if($(this).find('.gallery-image').length){has_slider=!0;return}
$product_thumbnail=$(this).find('img.attachment-woocommerce_thumbnail');if($product_thumbnail.length===0){$product_thumbnail=$(this).find('img.woo-entry-image-main');if($product_thumbnail.length===0){$product_thumbnail=$(this).find('img.attachment-woocommerce_thumbnail');if($product_thumbnail.length===0){$product_thumbnail=$(this).find('img.wp-post-image');if($product_thumbnail.length===0){$product_thumbnail=$(this).find('img').first()}}}}
if($(this).find('.ht-product-image-slider').length!==0){$product_thumbnail=$(this).find('.slick-slide.ht-slider-first-item img')}
return $product_thumbnail};$.fn.backup_product_image=function(){var $product_thumbnail=$(this).get_product_image_selector();if(!$product_thumbnail){return}
var backup_attributes={"data-backup_alt":$product_thumbnail.attr('alt'),"data-backup_src":$product_thumbnail.attr('src'),"data-backup_width":$product_thumbnail.attr('width'),"data-backup_height":$product_thumbnail.attr('height')}
if($product_thumbnail.attr('srcset')){backup_attributes["data-backup_srcset"]=$product_thumbnail.attr('srcset');backup_attributes["data-backup_sizes"]=$product_thumbnail.attr('sizes')}
$product_thumbnail.attr(backup_attributes)};$.fn.change_image=function(variation){var $product_thumbnail=$(this).get_product_image_selector();if(!$product_thumbnail){return}
var attributes={alt:variation.image.alt,src:variation.image.thumb_src,width:variation.image.thumb_src_w,height:variation.image.thumb_src_h};if($product_thumbnail.attr('srcset')){attributes.srcset=variation.image.srcset;attributes.sizes=variation.image.sizes}
$product_thumbnail.attr(attributes);if($(this).find('.ht-product-image-slider').length!==0){$(this).find('.ht-product-image-slider').slick('slickGoTo',0)}};$.fn.reset_to_default_image=function(){var $product_thumbnail=$(this).get_product_image_selector();var backup_attributes={alt:$product_thumbnail.attr('data-backup_alt'),src:$product_thumbnail.attr('data-backup_src'),width:$product_thumbnail.attr('data-backup_width'),height:$product_thumbnail.attr('data-backup_height')}
if($product_thumbnail.attr('srcset')){backup_attributes.srcset=$product_thumbnail.attr('data-backup_srcset');backup_attributes.sizes=$product_thumbnail.attr('data-backup_sizes')}
$product_thumbnail.attr(backup_attributes);if($(this).find('.ht-product-image-slider').length!==0){$(this).find('.ht-product-image-slider').slick('slickGoTo',0)}};$.fn.change_add_to_cart_text=function(){var original_cart_text=$(this).text(),new_cart_text=$(this).data('add_to_cart_text');$(this).html($(this).html().replace(original_cart_text,new_cart_text))};$.fn.swatchly_loop_variation_form=function(){var $price_selector='.price';return this.each(function(){var $el_variation_form=$(this),$el_product=$el_variation_form.closest('.product'),$el_ajax_add_to_cart=$el_product.find('.swatchly_ajax_add_to_cart');$el_product.backup_product_image();$el_product.find('.reset_variations').attr('style','display: none !important');$el_variation_form.on('found_variation',function(e,variation){$el_product.reset();var availability_html=variation.availability_html,is_in_stock=variation.is_in_stock;if(!is_in_stock){$(this).append(`<div class="swatchly_pl swatchly_out_of_stock">${availability_html}</div>`)}else{$el_product.remove_out_of_stock()}
$el_product.find('.reset_variations').attr('style','');if(!$el_product.find('.swatchly_price').length){if($(variation.price_html).length){$el_product.find($price_selector).addClass('swatchly_d_none').after($(variation.price_html).addClass('swatchly_price'))}}else{$el_product.find('.swatchly_price').remove();$el_product.find($price_selector).addClass('swatchly_d_none').after($(variation.price_html).addClass('swatchly_price'))}
if($el_ajax_add_to_cart.length){$el_ajax_add_to_cart.change_add_to_cart_text('found_variation')}
$el_product.change_image(variation);var selected_variation={},variations=$(this).find('select[name^=attribute]');if(!variations.length){variations=$(this).find('[name^=attribute]:checked')}
if(!variations.length){variations=$(this).find('input[name^=attribute]')}
variations.each(function(){var $this_item=$(this),attribute_name=$this_item.attr('name'),attribute_value=$this_item.val(),index,attribute_tax_name;$this_item.removeClass('error');if(attribute_value.length===0){index=attribute_name.lastIndexOf('_');attribute_tax_name=attribute_name.substring(index+1);$this_item.addClass('required error')}else{selected_variation[attribute_name]=attribute_value}});if($el_ajax_add_to_cart.length){$el_ajax_add_to_cart.addClass('swatchly_found_variation')}
$el_ajax_add_to_cart.attr('data-variation_id',variation.variation_id);$el_ajax_add_to_cart.attr('data-variation',JSON.stringify(selected_variation));if($el_ajax_add_to_cart.hasClass('added')){$el_ajax_add_to_cart.removeClass('added')}}).on('click','.reset_variations',function(e){$el_product.reset('click');$el_product.remove_out_of_stock();$el_product.reset_to_default_price();$el_product.reset_to_default_image()})})};$(window).on('load',function(){product_loop.init_variation_form()});var single_product={init:function(){var enable_swatches=Boolean(Number(swatchly_params.enable_swatches)),sp_override_global=Boolean(Number(swatchly_params.sp_override_global)),pl_override_global=Boolean(Number(swatchly_params.pl_override_global)),enable_variation_url=Boolean(Number(swatchly_params.enable_variation_url)),enable_sp_variation_url=Boolean(Number(swatchly_params.enable_sp_variation_url)),enable_pl_variation_url=Boolean(Number(swatchly_params.enable_pl_variation_url)),is_product=Boolean(Number(swatchly_params.is_product)),deselect_on_click=Boolean(Number(swatchly_params.deselect_on_click)),show_selected_attribute_name=Boolean(Number(swatchly_params.show_selected_attribute_name)),variation_label_separator=swatchly_params.variation_label_separator;if(enable_swatches){$.fn.swatchly_variation_form=function(){return this.each(function(){var $el_variation_form=$(this);$el_variation_form.on('click','div.swatchly-swatch',function(e){var $el_swatch=$(this),$el_default_select=$el_swatch.closest('.value').find('select'),value=$el_swatch.attr('data-attr_value');if(!is_product&&((pl_override_global&&enable_pl_variation_url)||(!pl_override_global&&enable_variation_url))){const product=e.target.closest('.product'),productLink=product.querySelector('.woocommerce-loop-product__link'),links=product.querySelectorAll('a');Array.from(links).forEach(link=>{const url=new URL(link.href),productUrl=new URL(productLink.href);if(url.pathname===productUrl.pathname||url.href.indexOf('/product/')!==-1){const paramName=e.target.closest('.value').querySelector('select').dataset.attribute_name;if(!$el_swatch.hasClass('swatchly-selected')){if(!url.searchParams.get(paramName)){url.searchParams.append(paramName,value)}else{url.searchParams.set(paramName,value)}}else{url.searchParams.delete(paramName)}
link.href=url.toString()}})}
if(is_product&&((sp_override_global&&enable_sp_variation_url)||(!sp_override_global&&enable_variation_url))){const url=new URL(location),paramName=e.target.closest('.value').querySelector('select').dataset.attribute_name;if(!$el_swatch.hasClass('swatchly-selected')){if(!url.searchParams.get(paramName)){url.searchParams.append(paramName,value)}else{url.searchParams.set(paramName,value)}}else{url.searchParams.delete(paramName)}
history.pushState({},'',url.href)}
if(!deselect_on_click){$el_swatch.addClass('swatchly-selected').siblings('div.swatchly-swatch').removeClass('swatchly-selected');if(show_selected_attribute_name){if($el_swatch.closest('tr').find('.swatchly_selected_variation_name').length){$el_swatch.closest('tr').find('.swatchly_selected_variation_name').text(variation_label_separator+$el_swatch.data('attr_label'))}else{$el_swatch.closest('tr').find('.label label').append('<span class="swatchly_selected_variation_name">'+variation_label_separator+$el_swatch.data('attr_label')+'</span>')}}}else{if($el_swatch.hasClass('swatchly-selected')){$el_swatch.removeClass('swatchly-selected');value='';$el_swatch.closest('tr').find('.swatchly_selected_variation_name').text('')}else{$el_swatch.addClass('swatchly-selected').siblings('div.swatchly-swatch').removeClass('swatchly-selected');if(show_selected_attribute_name){if($el_swatch.closest('tr').find('.swatchly_selected_variation_name').length){$el_swatch.closest('tr').find('.swatchly_selected_variation_name').text(variation_label_separator+$el_swatch.data('attr_label'))}else{$el_swatch.closest('tr').find('.label label').append('<span class="swatchly_selected_variation_name">'+variation_label_separator+$el_swatch.data('attr_label')+'</span>')}}}}
$el_default_select.val(value);$el_default_select.change()}).on('change','.value select',function(e){const paramName=$(this)[0].dataset.attribute_name,value=$(this)[0].value;if(!is_product&&((pl_override_global&&enable_pl_variation_url)||(!pl_override_global&&enable_variation_url))){const product=e.target.closest('.product'),productLink=product.querySelector('.woocommerce-loop-product__link'),links=product.querySelectorAll('a');Array.from(links).forEach(link=>{const url=new URL(link.href),productUrl=new URL(productLink.href);if(url.pathname===productUrl.pathname||url.href.indexOf('/product/')!==-1){if(value){if(!url.searchParams.get(paramName)){url.searchParams.append(paramName,value)}else{url.searchParams.set(paramName,value)}}else{url.searchParams.delete(paramName)}
link.href=url.toString()}})}
if(is_product&&((sp_override_global&&enable_sp_variation_url)||(!sp_override_global&&enable_variation_url))){const url=new URL(location);if(value){if(!url.searchParams.get(paramName)){url.searchParams.append(paramName,value)}else{url.searchParams.set(paramName,value)}}else{url.searchParams.delete(paramName)}
history.pushState({},'',url.href)}}).on('woocommerce_update_variation_values',function(){setTimeout(function(){$el_variation_form.find('tbody tr').each(function(){var $tr=$(this),values=[];if(show_selected_attribute_name&&!$tr.find('.swatchly_selected_variation_name').length){var default_attr_label=$tr.find('.swatchly-type-wrap').attr('data-default_attr_value');if(default_attr_label){$tr.find('.label label').append('<span class="swatchly_selected_variation_name">'+variation_label_separator+default_attr_label+'</span>')}else{$tr.find('.label label').append('<span class="swatchly_selected_variation_name"></span>')}}
$tr.find('select').find('option').each(function(index,option){values.push(option.value)});$tr.find('div.swatchly-swatch').each(function(){var $el_swatch=$(this),value=$el_swatch.attr('data-attr_value');if(values.indexOf(value)==-1){$el_swatch.addClass('swatchly-disabled')}else{$el_swatch.removeClass('swatchly-disabled')}})})},100);var $price_selector='.price',$el_product=$el_variation_form.closest('.product');if(!swatchly_params.is_product){if($el_product.find('.swatchly_price').length){$el_product.find($price_selector).removeClass('swatchly_d_none');$el_product.find('.swatchly_price').remove()}}}).on('found_variation',function(e,variation){if(!swatchly_params.is_product){var $product_thumbnail=$(this).get_product_image_selector();let $el_product=$(this).closest('.product');$el_product.backup_product_image();$product_thumbnail.attr('src',variation.image.url);$product_thumbnail.attr('srcset',variation.image.srcset)}}).on('click','.reset_variations',function(){const url=new URL(location);$el_variation_form.find('.value select').each(function(){url.searchParams.delete($(this)[0].name)})
history.pushState({},'',url.href);$el_variation_form.find('.swatchly-selected').removeClass('swatchly-selected');$el_variation_form.find('.swatchly-disabled').removeClass('swatchly-disabled');$el_variation_form.find('.swatchly_selected_variation_name').text('');if(!swatchly_params.is_product){let $el_product=$(this).closest('.product');$el_product.reset_to_default_image()}})})}
$(function(){$('.variations_form:not(.swatchly_variation_form), .product-type-bundle .bundle_form:not(.swatchly_variation_form)').addClass('swatchly_variation_form').swatchly_variation_form()});$(document).ajaxComplete(function(event,request,settings){$('.variations_form:not(.swatchly_variation_form), .product-type-bundle .bundle_form:not(.swatchly_variation_form)').addClass('swatchly_variation_form').swatchly_variation_form()})}}}
single_product.init();$(document).on('awf_after_ajax_products_update',function(){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()});$(document).on('jet-filter-content-rendered',function(){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()});$(document).on('woolentor_quick_view_rendered',function(){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()});$(document).ready(function(){$('.products').on('append.infiniteScroll',function(){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()})});$(document).on('yith_infs_added_elem',function(){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()});$(window).on('load',function(){if($('.wcf-filter-form').length&&typeof window.wp.hooks.addAction!=='undefined'){window.wp.hooks.addAction('wcpf.filteringDone','namespace',function(config,filteredDOM){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()})}});$(document).on('ast_quick_view_loader_stop',function(){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()});$(document).on('ajaxComplete',function(event,jqxhr,settings){$('.swatchly_loop_variation_form:not(.swatchly_loaded_on_ready)').each(function(){product_loop.prevent_click();product_loop.init_variation_form();single_product.init()})})})(jQuery)
;