function viwpvs_frontend_loop_init(){jQuery(".vi_wpvs_loop_variation_form:not(.vi_wpvs_loop_variation_form_check)").each(function(){let t=viwpvs_set_swatches_position(jQuery(this));t.removeClass("vi-wpvs-hidden").addClass("vi_wpvs_loop_variation_form_check").wpvs_get_variation(),t.addClass("vi_wpvs_variation_form vi_wpvs_variation_form_init").viwpvs_woo_product_variation_swatches()})}function viwpvs_set_swatches_position(t){if(t=jQuery(t),-1!==jQuery.inArray(viwpvs_frontend_loop_product_params.theme,["woostify"])){let i,o;if(t.closest(".product").length&&((i=t.closest(".product")).addClass("vi_wpvs_loop_variation_woostify"),o=i.find(".product-loop-meta .animated-meta"),viwpvs_frontend_loop_product_params.theme_swatches_pos)){let a=t.clone();t.remove(),o.append('<span class="vi_wpvs_loop_variation_price vi_wpvs_loop_variation_hidden"></span>'),o.find(".vi_wpvs_loop_variation_price").remove(),"after_price"===viwpvs_frontend_loop_product_params.theme_swatches_pos?(a.insertAfter(o.find(".price")),jQuery('<span class="vi_wpvs_loop_variation_price vi_wpvs_loop_variation_hidden"></span>').insertBefore(o.find(".vi_wpvs_loop_variation_form"))):(a.insertBefore(o.find(".price")),jQuery('<span class="vi_wpvs_loop_variation_price vi_wpvs_loop_variation_hidden"></span>').insertAfter(o.find(".vi_wpvs_loop_variation_form"))),t=a}}return t}function viwpvs_fixed(){jQuery(document).on("append.infiniteScroll",function(t,i,o,a){jQuery(a).find(".vi_wpvs_loop_variation_form:not(.vi_wpvs_loop_variation_form_check)").each(function(t,i){jQuery(i).removeClass("vi-wpvs-hidden").addClass("vi_wpvs_loop_variation_form_check vi_wpvs_variation_form vi_wpvs_variation_form_init").wpvs_get_variation().viwpvs_woo_product_variation_swatches()})}),"undefined"!=typeof $us&&($us.WGrid.prototype.afterAppendItems=function(t){jQuery(t).find(".vi_wpvs_loop_variation_form:not(.vi_wpvs_loop_variation_form_check)").each(function(t,i){jQuery(i).removeClass("vi-wpvs-hidden").addClass("vi_wpvs_loop_variation_form_check vi_wpvs_variation_form vi_wpvs_variation_form_init").wpvs_get_variation().viwpvs_woo_product_variation_swatches()})})}jQuery(document).ready(function(t){"use strict";function i(){jQuery(".vi_wpvs_loop_variation_form:not(.vi_wpvs_loop_variation_form_check)").each(function(t,i){jQuery(i).removeClass("vi-wpvs-hidden").addClass("vi_wpvs_loop_variation_form_check vi_wpvs_variation_form vi_wpvs_variation_form_init").wpvs_get_variation().viwpvs_woo_product_variation_swatches()})}jQuery(document).on("viwpvs_init_swatches",function(){jQuery(window).trigger("resize")}),viwpvs_frontend_loop_init(),jQuery(document).on("jet-filter-content-rendered",function(){i()}),jQuery(document).on("facetwp-loaded",function(){i()}),window.hasOwnProperty("Riode")&&void 0!==window.Riode&&window.Riode.$window.on("update_lazyload",function(){i()}),jQuery(document).on("facetwp-loaded",function(){i()}),jQuery(document).on("avalon23-end-redraw-page",function(){i()}),window.almComplete=function(t){i()},jQuery(document).on("ajaxComplete",function(t,i,o){return viwpvs_frontend_loop_init(),!1}),viwpvs_fixed()}),jQuery(window).on("load",function(){"use strict";viwpvs_frontend_loop_init()});var viwpvs_get_variations=function(t){let i=this;i.is_atc=viwpvs_frontend_loop_product_params.is_atc,i.wc_ajax_url=viwpvs_frontend_loop_product_params.wc_ajax_url,i.swatches=t,i.product_id=parseInt(t.data("product_id")),i.variation=t.data("product_variations"),i.is_find_variation=t.data("vpvs_find_variation"),i.is_ajax=!i.variation,i.xhr=!1,i.img_product=jQuery(i.get_img_product(t)),i.img_src=i.img_product.attr("data-src")||i.img_product.attr("src")||i.img_product.attr("content")||i.img_product.attr("srcset")||"";let o=t.closest(".product"),a={};o.length||(o=t.closest(".item-product")),o.length||(o=t.closest(".product-item")),o.length||(o=t.closest(".gdlr-core-item-list")),o.length||(o=t.closest(".jet-woo-products__item")),o.length||(o=t.closest(".product-warp-item")),o.length||(o=t.closest(".product__box")),o.length||(o=t.closest(".woo-entry-inner")),i.product=o,o.on("click",".viwcuf_product_change_qty",function(t){t.preventDefault(),t.stopPropagation();let i=jQuery(this).closest(".vi_wpvs_loop_action_qty").find(".viwcuf_product_qty"),o=parseFloat(i.val()),a=parseFloat(i.attr("min")),e=parseFloat(i.attr("max")),n=parseFloat(i.attr("step")||1);jQuery(this).hasClass("viwcuf_product_plus")?o+=n:o-=n,a>0&&a>o&&(o=a),e>0&&o>e&&(o=e),i.val(o).trigger("change")}),o.on("click",".vi_wpvs_loop_atc_button",function(a){if(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),jQuery(this).hasClass("vi_wpvs_loop_variation_no_pointer"))return!1;o.find(".viwcuf_product_qty_tooltip").addClass("vi_wpvs_loop_variation_hidden");let e=jQuery(this),n=t.serialize();if(o.find(".viwcuf_product_qty").length>0){let r=parseInt(o.find(".viwcuf_product_qty").val()||0),s=parseInt(o.find(".viwcuf_product_qty").attr("min")||1),v=parseInt(o.find(".viwcuf_product_qty").attr("max")||0);if(0===r)return!1;if(r<s)return o.find(".viwcuf_product_qty_tooltip").removeClass("vi_wpvs_loop_variation_hidden").html(viwpvs_frontend_loop_product_params.less_min_qty+" "+s+"."),setTimeout(function(){o.find(".viwcuf_product_qty_tooltip").addClass("vi_wpvs_loop_variation_hidden")},2e3),!1;if(v>0&&r>v)return o.find(".viwcuf_product_qty_tooltip").removeClass("vi_wpvs_loop_variation_hidden").html(viwpvs_frontend_loop_product_params.greater_max_qty+" "+v+"."),setTimeout(function(){o.find(".viwcuf_product_qty_tooltip").addClass("vi_wpvs_loop_variation_hidden")},2e3),!1;n+="&quantity="+r}jQuery.ajax({type:"post",url:i.wc_ajax_url.toString().replace("%%endpoint%%","wpvs_add_to_cart"),data:n,beforeSend:function(t){e.removeClass("added").addClass("loading")},complete:function(t){e.removeClass("loading").addClass("added")},success:function(t){return t.error?(window.location=o.find("a:not(.added_to_cart)").first().attr("href"),!1):"yes"===viwpvs_frontend_loop_product_params.cart_redirect_after_add?(window.location=viwpvs_frontend_loop_product_params.cart_url,!1):void(jQuery(document.body).trigger("added_to_cart",[t.fragments,t.cart_hash,e]),viwpvs_frontend_loop_product_params.woocommerce_enable_ajax_add_to_cart||jQuery(document.body).trigger("wc_fragment_refresh"),jQuery(".vi-wcaio-sidebar-cart-content-wrap1.vi-wcaio-sidebar-cart-checkout-wrap").length&&jQuery(".vi-wcaio-sidebar-cart-content-wrap1.vi-wcaio-sidebar-cart-checkout-wrap").hasClass("vi-wcaio-disabled")||jQuery(document.body).trigger("update_checkout"),jQuery(document.body).trigger("viwpvs_added_to_cart",[t,e]),jQuery("#nm-menu-cart-btn").click())}})}),t.on("viwpvs_check_variations",{viwpvs_get_variations:i},i.find_variation),t.on("change","select",{viwpvs_get_variations:i},i.onChange),t.find(".vi-wpvs-variation-wrap-wrap-hasdefault").each(function(t,i){(i=jQuery(i)).find("select").val()||i.find("select").val(i.data("selected"))}),t.find("select").each(function(){let t=jQuery(this).val();a[jQuery(this).data("attribute_name")]=t}),i.current_attr=a,i.is_find_variation&&setTimeout(function(){t.trigger("viwpvs_check_variations")},100)};viwpvs_get_variations.prototype.onChange=function(t){let i=t.data.viwpvs_get_variations,o=i.swatches;i.img_product=i.get_img_product(o,!0),o.find('input[name="variation_id"], input.variation_id').val("").trigger("change"),i.current_attr[jQuery(this).data("attribute_name")]=jQuery(this).val()||"",i.is_ajax?(o.trigger("viwpvs_check_variations"),i.is_find_variation||o.trigger("viwpvs_variation_select_change")):(o.trigger("woocommerce_variation_select_change"),o.trigger("viwpvs_check_variations")),o.trigger("woocommerce_variation_has_changed")},viwpvs_get_variations.prototype.find_variation=function(t){let i=t.data.viwpvs_get_variations,o=null,a=!1,e=i.current_attr,n=i.product,r=i.variation,s=i.img_product,v=i.img_src;if(i.is_find_variation?jQuery.each(e,function(t,i){if(!i)return a=!0,!1}):a=!0,a)return i.update_attributes(e,r,n,i),i.show_variation(i,o,n,s,v),!1;i.is_ajax?(i.xhr&&i.xhr.abort(),r?(jQuery.each(r,function(t,a){if(i.check_is_equal(e,a.attributes))return o=a,!1}),o?i.show_variation(i,o,n,s,v):r.length<parseInt(i.swatches.data("variation_count")||0)?i.call_ajax(e,r,n,i.swatches,i,s,v):i.show_variation(i,o,n,s,v)):(r=[],i.call_ajax(e,r,n,i.swatches,i,s,v))):(jQuery.each(r,function(t,a){if(i.check_is_equal(e,a.attributes))return o=a,!1}),i.update_attributes(e,r,n,i),i.show_variation(i,o,n,s,v))},viwpvs_get_variations.prototype.update_attributes=function(t,i,o,a){if(a.is_ajax||!a.is_find_variation)return!1;o.find("select").each(function(o,e){let n=jQuery(e),r=n.data("attribute_name")||n.attr("name"),s=n.data("show_option_none"),v=n.val()||"",d=!0,c=jQuery("<select/>"),p,l=":gt(0)";if(!n.data("attribute_html")){let f=n.clone();f.find("option").removeAttr("disabled attached selected"),n.data("attribute_options",f.find("option"+l).get()),n.data("attribute_html",f.html())}c.html(n.data("attribute_html"));let u=jQuery.extend(!0,{},t);u[r]="";let h=[];for(let w=0;w<i.length;w++){let m=i[w];a.check_is_equal(u,m.attributes)&&h.push(m)}for(let g in h){if(void 0===h[g])continue;let b=h[g].attributes;for(let y in b){if(!b.hasOwnProperty(y))continue;let C=b[y],$="";if(y===r){if(h[g].variation_is_active&&($="enabled"),C){C=jQuery("<div/>").html(C).text();let x=c.find("option");if(x.length)for(let _=0,k=x.length;_<k;_++){let q=jQuery(x[_]);if(C===q.val()){q.addClass("attached "+$);break}}}else c.find("option:gt(0)").addClass("attached "+$)}}}p=c.find("option.attached").length,v&&(d=!1,0!==p&&c.find("option.attached.enabled").each(function(){if(v===jQuery(this).val())return d=!0,!1})),p>0&&v&&d&&"no"===s&&(c.find("option:first").remove(),l=""),c.find("option"+l+":not(.attached)").remove(),n.html(c.html()),n.find("option"+l+":not(.enabled)").prop("disabled",!0),v?d?n.val(v):n.val("").change():n.val("")}),a.swatches.trigger("woocommerce_update_variation_values")},viwpvs_get_variations.prototype.call_ajax=function(t,i,o,a,e,n,r){t.product_id=e.product_id,e.xhr=jQuery.ajax({url:e.wc_ajax_url.toString().replace("%%endpoint%%","get_variation"),type:"POST",data:t,beforeSend:function(){a.find(".vi_wpvs_loop_variation_form_loading").removeClass("vi_wpvs_loop_variation_form_loading_hidden").addClass("vi_wpvs_loop_variation_form_loading_visible")},success:function(a){e.show_variation(e,a,o,n,r),a&&(i[i.length||0]=a),delete t.product_id},complete:function(){a.find(".vi_wpvs_loop_variation_form_loading").removeClass("vi_wpvs_loop_variation_form_loading_visible").addClass("vi_wpvs_loop_variation_form_loading_hidden")}})},viwpvs_get_variations.prototype.show_variation=function(t,i,o,a,e){if(i){let n=!1,r=o.find(".vi_wpvs_loop_atc_button").length;"undefined"!=typeof et_pb_init_modules&&(r=1),a&&jQuery(a).length&&r>0&&setTimeout(function(){jQuery(a).parent().is("picture")&&jQuery(a).parent().find("source").each(function(t,o){jQuery(o).attr({src:i.image.thumb_src,srcset:i.image.thumb_src})}),a.attr({src:i.image.thumb_src,srcset:i.image.thumb_src}),a.is(".show-on-hover")&&jQuery(a).parent().find("img").not(a).each(function(t,o){jQuery(o).attr({src:i.image.thumb_src,srcset:i.image.thumb_src})});let t=a.closest(".has-hover-image");t.length>0&&t.find(".hover-gallery-image").attr({src:i.image.thumb_src,srcset:i.image.thumb_src})},10),i.price_html&&(o.find(".price:not(.vi_wpvs_loop_variation_price),.gdlr-core-product-price:not(.vi_wpvs_loop_variation_price)").addClass("vi_wpvs_loop_variation_hidden"),o.find(".vi_wpvs_loop_variation_price").removeClass("vi_wpvs_loop_variation_hidden").html(i.price_html)),t.is_atc&&(n=!0,i.is_purchasable&&i.is_in_stock&&i.variation_is_visible||(n=!1),n?(t.set_add_to_cart(i.variation_id,t.swatches),o.find(".add-to-cart-grid, .add_to_cart_button:not(.vi_wpvs_loop_atc_button)").addClass("vi_wpvs_loop_variation_hidden"),o.find(".vi_wpvs_loop_atc_button").removeClass("vi_wpvs_loop_variation_hidden vi_wpvs_loop_variation_no_pointer"),o.find(".vi_wpvs_loop_action").removeClass("vi_wpvs_loop_variation_hidden"),o.find(".vi_wpvs_loop_action .viwcuf_product_qty").attr({min:i.min_qty,max:i.max_qty})):(t.set_add_to_cart("",t.swatches),o.find(".add-to-cart-grid, .add_to_cart_button:not(.vi_wpvs_loop_atc_button)").addClass("vi_wpvs_loop_variation_hidden"),o.find(".vi_wpvs_loop_atc_button").removeClass("vi_wpvs_loop_variation_hidden").addClass("vi_wpvs_loop_variation_no_pointer"),o.find(".vi_wpvs_loop_action").removeClass("vi_wpvs_loop_variation_hidden"))),t.swatches.trigger("viwpvs_show_variation",[i,n])}else o.find(".price:not(.vi_wpvs_loop_variation_price),.gdlr-core-product-price:not(.vi_wpvs_loop_variation_price)").removeClass("vi_wpvs_loop_variation_hidden"),o.find(".vi_wpvs_loop_variation_price").addClass("vi_wpvs_loop_variation_hidden"),t.is_atc&&(t.set_add_to_cart("",t.swatches),o.find(".add-to-cart-grid, .add_to_cart_button:not(.vi_wpvs_loop_atc_button)").addClass("vi_wpvs_loop_variation_hidden"),o.find(".vi_wpvs_loop_atc_button").removeClass("vi_wpvs_loop_variation_hidden").addClass("vi_wpvs_loop_variation_no_pointer"),o.find(".vi_wpvs_loop_action").removeClass("vi_wpvs_loop_variation_hidden")),jQuery(t.swatches).trigger("viwpvs_hide_variation")},viwpvs_get_variations.prototype.set_add_to_cart=function(t,i){i.find(".variation_id").val(t)},viwpvs_get_variations.prototype.check_is_equal=function(t,i){let o=Object.getOwnPropertyNames(t),a=Object.getOwnPropertyNames(i);if(o.length!==a.length)return!1;for(let e=0;e<o.length;e++){let n=o[e],r=t[n],s=i[n];if(void 0!==r&&void 0!==s&&null!==r&&null!==s&&0!==r.length&&0!==s.length&&r!==s)return!1}return!0},viwpvs_get_variations.prototype.get_img_product=function(t,i=!1){let o,a;if((o="uncode"===viwpvs_frontend_loop_product_params.theme?t.closest(".tmb-woocommerce"):t.closest(".product")).length||(o=t.closest(".item-product")),o.length||(o=t.closest(".product-item")),o.length||(o=t.closest(".gdlr-core-item-list")),o.length||(o=t.closest(".product-warp-item")),o.length||(o=t.closest(".jet-woo-products__item")),o.length||(o=t.closest(".product__box")),t.closest(".woo-entry-inner").length&&(o=t.closest(".woo-entry-inner")),i&&window.outerWidth>549&&o.find("img.show-on-hover").length?a=o.find("img.show-on-hover").first():o.find(".slick-current.slick-active").length?a=o.find(".slick-current.slick-active").first():o.find(".attachment-shop_catalog").length?a=o.find(".attachment-shop_catalog").first():o.find(".gdlr-core-product-thumbnail").length?a=o.find(".gdlr-core-product-thumbnail").first():o.find(".woo-entry-image-main.lazyloaded").length?a=o.find(".woo-entry-image-main.lazyloaded").first():o.find(".woo-entry-image-main").length?a=o.find(".woo-entry-image-main").first():o.find(".wp-post-image.vi-load").length?a=o.find(".wp-post-image.vi-load ").first():o.find(".attachment-woocommerce_thumbnail").length?a=o.find(".attachment-woocommerce_thumbnail").first():o.find(".primary-thumb img").length?a=o.find(".primary-thumb img").first():o.find(".wp-post-image").length&&(a=o.find(".wp-post-image").first()),!a){if(o&&o.find("img")){let e=o.find(".preview-thumb img");a=e.length>0?e:o.find("img").first()}else a=!1}return a&&a.find("img").length>0&&(a=a.find("img").first()),a},jQuery.fn.wpvs_get_variation=function(){return new viwpvs_get_variations(this),this};