!function(e,t){"use strict";let o={init:function(){let n={"jet-single-images.default":o.widgetProductImages,"jet-single-add-to-cart.default":o.widgetSingleAddToCart,"jet-woo-builder-archive-add-to-cart.default":o.widgetArchiveAddToCart,"jet-single-tabs.default":o.widgetProductTabs,"jet-woo-products.default":o.widgetProductsGrid,"jet-woo-products-list.default":o.widgetProductsList,"jet-woo-categories.default":o.widgetCategories,"jet-cart-table.default":o.widgetCartTable,"jet-woo-builder-products-loop.default":o.widgetProductsLoop};e.each(n,function(e,o){t.hooks.addAction("frontend/element_ready/"+e,o)}),t.hooks.addFilter("jet-popup/widget-extensions/popup-data",o.prepareJetPopup),e(window).on("jet-popup/render-content/ajax/success",o.jetPopupLoaded),e(document).on("wc_update_cart added_to_cart",o.handleJetPopupWithWCEvents).on("jet-filter-content-rendered",function(e,t){o.widgetProductsGrid(t),o.handleInputQuantityValue(t)}).on("click.JetWooBuilder",".jet-woo-item-overlay-wrap",o.handleListingItemClick),e(document.body).on("wc_cart_emptied",function(){e(".jet-woo-builder-woocommerce-empty-cart").length&&o.elementorFrontendInit(e(".jet-woo-builder-woocommerce-empty-cart"))})},commonInit:function(){if(window.jetWooBuilderData.single_ajax_add_to_cart){e(".woocommerce div.product").hasClass("product-type-external")||e(document).on("click.JetWooBuilder",".single_add_to_cart_button:not(.disabled)",o.singleProductAjaxAddToCart)}-1!==navigator.userAgent.indexOf("Safari")&&-1===navigator.userAgent.indexOf("Chrome")&&document.addEventListener("click",function(e){e.target.matches(".add_to_cart_button .button-text")&&e.target.parentNode.focus(),(e.target.matches(".add_to_cart_button")||e.target.matches(".single_add_to_cart_button"))&&e.target.focus()}),e(document.body).bind("country_to_state_changing",function(e,t,n){setTimeout(function(){o.setAddressFieldsRequiredValidation(n)},500)})},setAddressFieldsRequiredValidation:function(t){let n=t.closest(".elementor-element"),i=o.getElementorElementSettings(n);if(i&&i.modify_field){let n=e.parseJSON(wc_address_i18n_params.locale_fields);n&&e.each(n,function(n,i){let a=i.split(",");e.each(a,function(e,n){let i=t.find(n.trim());i.length&&(i.hasClass("jwb-field-required")?o.fieldIsRequired(i,!0):i.hasClass("jwb-field-optional")&&o.fieldIsRequired(i,!1))})})}},fieldIsRequired:function(e,t){o.modifyFieldLabelWhitespace(e),t?(e.find("label .optional").remove(),e.addClass("validate-required"),0===e.find("label .required").length&&e.find("label").append(' *')):(e.find("label .required").remove(),e.removeClass("validate-required woocommerce-invalid woocommerce-invalid-required-field"),0===e.find("label .optional").length&&e.find("label").append(' ('+wc_address_i18n_params.i18n_optional_text+")"))},modifyFieldLabelWhitespace:function(e){let t=e.find("label").html();t&&e.find("label").html(t.replace(/ /g,"").trim())},widgetProductsLoop:function(n){let i=o.getElementorElementSettings(n);if(i&&i.switcher_enable){let a=n.find(".jet-woo-products-wrapper"),r=n.find(".jet-woo-switcher-controls-wrapper .jet-woo-switcher-btn"),d=window.matchMedia("(max-width: 767px)"),l=null;const s=function(t){let n=null;window.JetSmartFilters&&window.JetSmartFilters.filterGroups["woocommerce-archive/default"]&&(n=window.JetSmartFilters.filterGroups["woocommerce-archive/default"].query),a.addClass("jet-layout-loading"),e.ajax({type:"POST",url:window.jetWooBuilderData.ajax_url,data:{action:"jet_woo_builder_get_layout",query:window.jetWooBuilderData.products,layout:t,filters:n}}).done(function(t){a.removeClass("jet-layout-loading"),a.html(t.data.html),o.elementorFrontendInit(a),e(document).trigger("jet-woo-builder-content-rendered",[this,t])})},c=function(){let e=r.filter(".active");return u(e)},u=function(e){return e.hasClass("jet-woo-switcher-btn-main")?i.main_layout:i.secondary_layout},p=function(){return"secondary"===i.layout_default_mobile?i.secondary_layout:i.main_layout},w=function(){return d.matches&&i.switcher_hide_mobile?p():c()},f=function(){if(t.isEditMode())return;let e=w();e&&e!==l&&s(l=e)},m=function(){d.addEventListener("change",f),r.on("click.JetWooBuilder",function(t){t.preventDefault();let o=e(this),n=u(o);n&&n!==l&&(s(l=n),r.removeClass("active"),o.addClass("active"))})};f(),m()}},handleInputQuantityValue:function(t){let n=t.closest(".elementor-widget"),i=o.getElementorElementSettings(n);if(i&&"yes"===i.show_quantity){t.find("form.cart").on("change","input.qty",function(){"0"!==this.value||e(this.form).hasClass("grouped_form")||(this.value="1");let t=e(this.form).find("button[data-quantity]");t.attr("data-quantity",this.value),this.max&&(+this.value>+this.max?t.removeClass("ajax_add_to_cart"):t.hasClass("ajax_add_to_cart")||t.addClass("ajax_add_to_cart"))})}},jetPopupLoaded:function(t,o){if(!o.data.isJetWooBuilder)return;const n=e("#"+o.data.popupId);n.addClass("woocommerce product single-product quick-view-product"),n.find(".jet-popup__container-content").addClass("product"),setTimeout(function(){e(window).trigger("resize"),e(".jet-popup .variations_form").each(function(){e(this).wc_variation_form()}),e(".jet-popup .woocommerce-product-gallery.images").each(function(){e(this).wc_product_gallery()})},300)},prepareJetPopup:function(t,o,n,i){if(o["is-jet-woo-builder"]){let a;t.isJetWooBuilder=!0,t.templateId=o["jet-woo-builder-qv-template"],(a=n.hasClass("elementor-widget-jet-woo-products")||n.hasClass("elementor-widget-jet-woo-products-list")?e(i.target).parents(".jet-woo-builder-product"):n.parents(".jet-woo-builder-product")).length&&(t.productId=a.data("product-id"))}return t},widgetProductImages:function(t){t.find(".jet-single-images__loading").remove(),e("body").hasClass("single-product")||t.find(".woocommerce-product-gallery").each(function(){e(this).wc_product_gallery()})},widgetSingleAddToCart:function(t){e("body").hasClass("single-product")||"undefined"!=typeof wc_add_to_cart_variation_params&&t.find(".variations_form").each(function(){e(this).wc_variation_form()})},widgetArchiveAddToCart:function(e){o.handleInputQuantityValue(e)},widgetProductTabs:function(t){if(t.find(".jet-single-tabs__loading").remove(),e("body").hasClass("single-product"))return;let o=window.location.hash,n=window.location.href,i=t.find(".wc-tabs, ul.tabs").first();i.find("a").addClass("elementor-clickable"),t.find(".wc-tab, .woocommerce-tabs .panel:not(.panel .panel)").hide(),o.toLowerCase().indexOf("comment-")>=0||"#reviews"===o||"#tab-reviews"===o?i.find("li.reviews_tab a").trigger("click"):n.indexOf("comment-page-")>0||n.indexOf("cpage=")>0?i.find("li.reviews_tab a").trigger("click"):"#tab-additional_information"===o?i.find("li.additional_information_tab a").trigger("click"):i.find("li:first a").trigger("click")},widgetProductsGrid:function(e){o.handleInputQuantityValue(e);let t=e.find(".jet-woo-carousel"),n=e.find(".jet-woo-products"),i=n.data("mobile-hover"),a=n.find(".jet-woo-products__item"),r=a.find(".jet-woo-products-cqw-wrapper"),d=a.find(".hovered-content"),l=!1,s=!1;r.length>0&&r.html().trim().length>0&&(l=!0),d.length>0&&d.html().trim().length>0&&(s=!0),(l||s)&&i&&o.mobileHoverOnTouch(a,".jet-woo-product-thumbnail"),t.length&&o.initCarousel(t,t.data("slider_options"))},widgetProductsList:function(e){o.handleInputQuantityValue(e)},widgetCategories:function(e){let t=e.find(".jet-woo-carousel"),n=e.find(".jet-woo-categories"),i=n.data("mobile-hover"),a=n.find(".jet-woo-categories__item"),r=a.find(".jet-woo-category-count");(n.hasClass("jet-woo-categories--preset-2")&&r.length>0||n.hasClass("jet-woo-categories--preset-3"))&&i&&o.mobileHoverOnTouch(a,".jet-woo-category-thumbnail"),t.length&&o.initCarousel(t,t.data("slider_options"))},mobileHoverOnTouch:function(t,n){void 0!==window.ontouchstart&&t.each(function(){let t=e(this),i=t.find(n+" a"),a=t.siblings();if(t.hasClass("jet-woo-products__item")){t.not(n).each(function(){let n=e(this);o.mobileTouchEvent(t,n,a)})}o.mobileTouchEvent(t,i,a)})},mobileTouchEvent:function(t,o,n){o.on("click",function(o){t.hasClass("mobile-hover")||(o.preventDefault(),n.each(function(){e(this).hasClass("mobile-hover")&&e(this).removeClass("mobile-hover")}),t.addClass("mobile-hover"))})},initCarousel:function(n,i){let a=n.closest(".elementor-widget"),r=n.find(".swiper-slide").length,d=o.getElementorElementSettings(a),l=window.elementorFrontend.config.responsive.activeBreakpoints,s={},c=+d.columns||4,u=d.slides_overflow_enabled&&d.slides_overflow?+d.slides_overflow:0,p=void 0!==d.space_between_slides?+d.space_between_slides:10,w={mobile:1,tablet:2};(s={slidesPerView:c+u,spaceBetween:p,crossFade:"fade"===i.effect,handleElementorBreakpoints:!0}).breakpoints={};let f=c;if(Object.keys(l).reverse().forEach(e=>{const t=w[e]?w[e]:f,o=+d["columns_"+e]||t,n=d.slides_overflow_enabled&&d["slides_overflow_"+e]?+d["slides_overflow_"+e]:u;s.breakpoints[l[e].value]={slidesPerView:o+n,slidesPerGroup:+d["slides_to_scroll_"+e]||i.slidesPerGroup,spaceBetween:void 0!==d["space_between_slides_"+e]?+d["space_between_slides_"+e]:p},f=+d["columns_"+e]||t}),i.paginationEnable&&(s.pagination={el:".swiper-pagination",clickable:!0,dynamicBullets:i.dynamicBullets}),i.navigationEnable&&(s.navigation={nextEl:".jet-swiper-button-next",prevEl:".jet-swiper-button-prev"}),r>(+d["columns_"+t.getCurrentDeviceMode()]||+d.columns)){new(0,t.utils.swiper)(n,e.extend({},s,i)).then(t=>{e(document).trigger("jet-woo-builder-swiper-initialized",t),"vertical"===i.direction&&i.paginationEnable&&i.dynamicBullets&&n.find(".swiper-pagination").css("width",n.find(".swiper-pagination-bullet-active").width())}),n.find(".jet-arrow").show()}else"vertical"===i.direction?(n.addClass("swiper-container-vertical"),n.find(".jet-arrow").hide()):n.find(".jet-arrow").hide()},handleJetPopupWithWCEvents:function(t,o,n,i){let a=e(i).closest(".jet-popup");a.length&&a.hasClass("quick-view-product")&&e(window).trigger({type:"jet-popup-close-trigger",popupData:{popupId:a.attr("id"),constantly:!1}});let r=e(i).closest("[data-purchase-popup-id]");if(r.length){let a=r.data("purchase-popup-id");a&&e(window).trigger({type:"jet-popup-open-trigger",popupData:window.JetPlugins.hooks.applyFilters("jet-woo-builder.purchase-popup.data",{popupId:"jet-popup-"+a},t,o,n,i)})}},widgetCartTable:function(t){if(t.find(".cart-collaterals").filter(function(){return 0===e(this).children().length}).hide(),"yes"===o.getElementorElementSettings(t).cart_update_automatically){let t;e(".woocommerce").on("change","input.qty",function(){void 0!==t&&clearTimeout(t),t=setTimeout(function(){e('[name="update_cart"]').trigger("click")},300)})}},singleProductAjaxAddToCart:function(t){t&&t.preventDefault();let o=e(this).closest("form");if(!o[0].checkValidity())return o[0].reportValidity(),!1;let n=e(this),i=n.val()||"",a=o.serialize();return e.ajax({type:"POST",url:window.jetWooBuilderData.ajax_url,data:"action=jet_woo_builder_add_cart_single_product&add-to-cart="+i+"&"+a,beforeSend:function(){n.removeClass("added").addClass("loading")},complete:function(){n.addClass("added").removeClass("loading")},success:function(t){t&&(t.error&&t.product_url?window.location=t.product_url:"undefined"!=typeof wc_add_to_cart_params&&(e(document.body).trigger("wc_fragment_refresh"),e(document.body).trigger("added_to_cart",[t.fragments,t.cart_hash,n]),e(".woocommerce-notices-wrapper").html(t.fragments.notices_html)))}}),!1},handleListingItemClick:function(t){let o=e(this).data("url"),n=e(this).data("target")||!1;if(o){if(t.preventDefault(),window.elementorFrontend&&window.elementorFrontend.isEditMode()||e(t.target).parents(".jet-compare-button__link").length||e(t.target).parents(".jet-wishlist-button__link").length||e(t.target).parents(".jet-quickview-button__link").length)return;if("_blank"===n)return void window.open(o);window.location=o}},getElementorElementSettings:function(e){return window.elementorFrontend&&window.elementorFrontend.isEditMode()&&e.hasClass("elementor-element-edit-mode")?o.getEditorElementSettings(e):e.data("settings")||{}},getEditorElementSettings:function(e){let t,o=e.data("model-cid");return o&&window.elementorFrontend.hasOwnProperty("config")&&window.elementorFrontend.config.hasOwnProperty("elements")&&window.elementorFrontend.config.elements.hasOwnProperty("data")&&(t=window.elementorFrontend.config.elements.data[o])?t.toJSON():{}},elementorFrontendInit:function(t){t.find("[data-element_type]").each(function(){let t=e(this),o=t.data("element_type");o&&("widget"===o&&(o=t.data("widget_type"),window.elementorFrontend.hooks.doAction("frontend/element_ready/widget",t,e)),window.elementorFrontend.hooks.doAction("frontend/element_ready/global",t,e),window.elementorFrontend.hooks.doAction("frontend/element_ready/"+o,t,e))})}};e(window).on("elementor/frontend/init",o.init),o.commonInit(),window.JetWooBuilder=o}(jQuery,window.elementorFrontend);