"use strict";if(void 0===e){var e={};e.carouselActionReady=[]}var galleries=document.querySelectorAll(".product-gallery");function woostifyStickySummary(e){if(woostify_woocommerce_general.enabled_sticky_product_summary){var t=!!e.classList.contains("has-product-thumbnails")&&e,i=!!document.body.classList.contains("has-gallery-list-layout")&&document.querySelector(".has-gallery-list-layout .product-summary");if(t&&i&&!(window.innerWidth<992)&&!(t.offsetHeight<=i.offsetHeight)){var r=new WSYSticky(".summary.entry-summary",{stickyContainer:".product-page-container",marginTop:parseInt(woostify_woocommerce_general.sticky_top_space),marginBottom:parseInt(woostify_woocommerce_general.sticky_bottom_space)});return jQuery("form.variations_form").on("found_variation",function(){r.update()}),r}}}function renderSlider(e,t){return!(!e||e.classList.contains("flickity-enabled"))&&!(e.querySelectorAll(t.cellSelector).length<2)&&new Flickity(e,t)}window.addEventListener("load",function(){galleries&&(galleries.forEach(function(e,t){woostifyStickySummary(e)}),setTimeout(function(){window.dispatchEvent(new Event("resize"))},200))});class WoostifyGallery{constructor(e,t){var i=this;return"string"==typeof e&&(e=document.querySelector(e)),i.el=e,i.mobileSlider={},i.imageCarousel={},i.thumbCarousel={},i.options=t,i.sliderOptions={...t.main},i.thumbOptions={...t.thumb},i.init(),i}init(){var e=this,t=e.el;e.productThumbnails=e.getProductThumbnails(),e.checkDragable(),e.noSliderLayout=t.classList.contains("column-style")||t.classList.contains("grid-style"),e.prevBtn=document.createElement("button"),e.nextBtn=document.createElement("button"),e.initSlider(),e.events()}initSlider(){var e=this;if(e.el,e.noSliderLayout)e.woostifyGalleryCarouselMobile();else{if(e.productThumbnails=e.getProductThumbnails(),!e.productThumbnails)return!1;e.sliderOptions.on={ready:function(){e.changeImageCarouselButtonIcon(),e.calculateVerticalSliderHeight()}},e.imageCarousel=e.renderSlider(e.sliderOptions.container,e.sliderOptions),e.galleryThumbnailCarousel()}"function"==typeof easyZoomHandle&&easyZoomHandle(),"function"==typeof initPhotoSwipe&&initPhotoSwipe(".product-images-container"),setTimeout(function(){window.dispatchEvent(new Event("resize"))},200)}renderSlider(e,t){return!!e&&new Flickity(e,t)}createImages(e,t,i){var r='<figure class="image-item ez-zoom" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">';return r+="<a href="+e+" data-size="+i+' itemprop="contentUrl" data-elementor-open-lightbox="no">',r+="<img src="+t+' itemprop="thumbnail">',r+="</a>",r+="</figure>"}createThumbnails(e){var t='<div class="thumbnail-item">';return t+='<img src="'+e+'">',t+="</div>"}changeImageCarouselButtonIcon(){var e=this.el,t=e.querySelector(".flickity-button.next"),i=e.querySelector(".flickity-button.previous");t&&(t.innerHTML=this.options.next_icon),i&&(i.innerHTML=this.options.prev_icon)}woostifyGalleryCarouselMobile(){var e=this,t=e.el;(!(window.innerWidth>991)||t.classList.contains(".has-product-thumbnails"))&&(e.sliderOptions.on={ready:function(){e.changeImageCarouselButtonIcon()}},e.mobileSlider=new Flickity(t.querySelector(".product-images-container"),e.sliderOptions))}calculateVerticalSliderHeight(){var e=this,t=e.el;if(window.matchMedia("( min-width: 768px )").matches&&t.classList.contains("vertical-style")){var i=t.querySelector(".image-item img");e._setVerticalSliderHeight(i),e.waitImageLoad(i,t=>{e._setVerticalSliderHeight(t)}).then(e=>{}).catch(e=>{console.error("Error loading image",e)})}}_setVerticalSliderHeight(e){var t=e?e.offsetHeight:0,i=this.getProductThumbnails();t&&(i.style.maxHeight=t+"px")}isImageOk(e){return!!e.complete&&(void 0===e.naturalWidth||0!=e.naturalWidth)}async waitImageLoad_v2(e,t){var i=0,r=0;r=setInterval(function(){IsImageOk(e)&&i<20&&((e?e.offsetHeight:0)&&_setVerticalSliderHeight(e),clearInterval(r)),i++},200)}async waitImageLoad(e,t){return new Promise((i,r)=>{e.addEventListener("load",()=>{t(e),i(e)}),e.addEventListener("error",r)})}galleryThumbnailCarousel(){this.horizontalThumbnailCarousel()||this.verticalThumbnailCarousel()}verticalThumbnailCarousel(){var e=this,t=e.el,i=e.getProductThumbnails();if(i){var r=e.thumbOptions;window.matchMedia("( max-width: 767px )").matches?e.thumbCarousel=new Flickity(i,r):t.classList.contains("vertical-style")?(e.calculateVerticalSliderHeight(),e.verticalThumbnailSliderAction(e),e.addThumbButtons()):e.thumbCarousel=new Flickity(i,r)}}verticalThumbnailSliderAction(){var e=this.getProductThumbnails(),t=e.querySelectorAll(".thumbnail-item"),i=this.imageCarousel;t[0].classList.add("is-nav-selected"),t[0].classList.add("is-selected"),t.forEach(function(e,t){e.addEventListener("click",function(){i.select(t)})});var r=0<i.selectedIndex?t[i.selectedIndex].offsetHeight:t[0].offsetHeight,a=e.offsetHeight;i.on("change",function(){e.querySelectorAll(".thumbnail-item").forEach(function(e){e.classList.remove("is-nav-selected","is-selected")});var s=0<=i.selectedIndex?t[i.selectedIndex]:t[0];s.classList.add("is-nav-selected","is-selected");var n=s.offsetTop+e.scrollTop-(a+r)/2;e.scrollTo({top:n,behavior:"smooth"})})}addThumbButtons(){var e=this;e.el;var t=e.getProductThumbnails().parentElement;e.prevBtn.classList.add("thumb-btn","thumb-prev-btn","prev"),e.prevBtn.innerHTML=e.options.vertical_prev_icon,e.nextBtn.classList.add("thumb-btn","thumb-next-btn","next"),e.nextBtn.innerHTML=e.options.vertical_next_icon,t.appendChild(e.prevBtn),t.appendChild(e.nextBtn),e.displayThumbButtons(),e.changeImageCarouselButtonEvents()}displayThumbButtons(){var e=this,t=e.getProductThumbnails(),i=t.querySelectorAll(".thumbnail-item"),r=0;i.length&&i.forEach(function(e){var t=e.offsetHeight;t+=parseInt(window.getComputedStyle(e).getPropertyValue("margin-top")),t+=parseInt(window.getComputedStyle(e).getPropertyValue("margin-bottom")),r+=t}),r>t.offsetHeight?(t.classList.add("has-buttons"),e.nextBtn.style.display="block",e.prevBtn.style.display="block"):(t.classList.remove("has-buttons"),e.nextBtn.style.display="none",e.prevBtn.style.display="none")}horizontalThumbnailCarousel(){var e=this,t=e.el,i=!1;if(e.productThumbnails=e.getProductThumbnails(),e.productThumbnails){var r=e.productThumbnails,a=e.thumbCarousel,s=e.thumbOptions;if(t.classList.contains("horizontal-style")||window.matchMedia("( max-width: 767px )").matches){var n=r.querySelectorAll(".thumbnail-item"),l=0;n.length&&n.forEach(function(e){var t=e.offsetWidth;t+=parseInt(window.getComputedStyle(e).getPropertyValue("margin-left")),t+=parseInt(window.getComputedStyle(e).getPropertyValue("margin-right")),l+=t}),l>=r.offsetWidth?(s.groupCells="60%",s.wrapAround=!0):(s.groupCells="3",s.wrapAround=!1),a&&a.slider&&a.destroy(),e.thumbCarousel=new Flickity(e.productThumbnails,s),i=!0}return i}}resetCarousel(){this.imageCarousel||this.imageCarousel.slider||imageCarousel.select(0),this.mobileSlider||this.mobileSlider.slider||mobileSlider.select(0)}updateGallery(e,t,i,r=!1){var a=this,s=a.el;if(!(!e.length||document.documentElement.classList.contains("quick-view-open"))){for(var n="",l="",o=a.imageCarousel||{},c=a.thumbCarousel||{},u=a.mobileSlider||{},d=0,h=e.length;d<h;d++)if(t){var m=e[d].full_src_w+"x"+e[d].full_src_h;n+=a.createImages(e[d].full_src,e[d].src,m),l+=e.length>1?a.createThumbnails(e[d].gallery_thumbnail_src):""}else if(i&&i==e[d][0].variation_id){if(1>=e[d].length-1){l="";for(var g=1,p=e[d].length;g<p;g++){var m=e[d][g].full_src_w+"x"+e[d][g].full_src_h;n+=a.createImages(e[d][g].full_src,e[d][g].src,m)}}else for(var g=1,p=e[d].length;g<p;g++){var m=e[d][g].full_src_w+"x"+e[d][g].full_src_h;n+=a.createImages(e[d][g].full_src,e[d][g].src,m),l+=e[d].length>1?a.createThumbnails(e[d][g].gallery_thumbnail_src):""}}o&&o.slider&&o.destroy(),c&&c.slider&&c.destroy(),u&&u.slider&&u.destroy();var y=s.querySelector(".product-images");if(n&&y&&(y.querySelector(".product-images-container").innerHTML=n),s.querySelector(".product-thumbnail-images")){if(""!==l){var f=s.querySelector(".product-thumbnail-images").querySelector(".product-thumbnail-images-container");f||(f=document.createElement("div")).classList.add("product-thumbnail-images-container"),f.classList.remove("flickity-enabled"),s.querySelector(".product-thumbnail-images").innerHTML="",s.querySelector(".product-thumbnail-images").appendChild(f).innerHTML=l,s.querySelector(".product-gallery")&&s.querySelector(".product-gallery").classList.add("has-product-thumbnails"),s.classList.contains("product-gallery")&&s.classList.add("has-product-thumbnails")}else s.querySelector(".product-thumbnail-images").innerHTML=""}var v=new Image;if(r){var b=0!=s.querySelector(".product-thumbnail-images-container").length?y.querySelector(".image-item"):y.querySelector(".image-item.is-selected");v.onload=function(){let e=(!!b&&b.querySelector("img")).height;null!=y&&(y.style.height=e+"px"),b.classList.add("image-loading"),setTimeout(()=>{b.classList.remove("image-loading"),a.initSlider()},50)},v.src=r}}}checkDragable(){window.matchMedia("( min-width: 768px )").matches&&this.el.classList.contains("vertical-style")&&(this.thumbOptions.draggable=!1)}getProductThumbnails(){var e=this,t=e.el;return"string"==typeof this.thumbOptions.asNavFor&&t.querySelector(e.thumbOptions.asNavFor)&&(e.thumbOptions.asNavFor=t.querySelector(e.thumbOptions.asNavFor)),"string"==typeof this.sliderOptions.container&&t.querySelector(e.sliderOptions.container)&&(e.sliderOptions.container=t.querySelector(e.sliderOptions.container)),"string"==typeof this.thumbOptions.container&&t.querySelector(e.thumbOptions.container)&&(e.thumbOptions.container=t.querySelector(e.thumbOptions.container)),"string"!=typeof this.thumbOptions.container&&this.thumbOptions.container}events(){var e=this;e.el,window.addEventListener("resize",function(){e.checkDragable()}),e.changeImageCarouselButtonEvents(),e.listenResetVariations(),e.listenFoundVariations()}changeImageCarouselButtonEvents(){var e=this,t=e.el.querySelectorAll(".thumb-btn");t.length&&t.forEach(function(t){t.addEventListener("click",function(){this.classList.contains("prev")?e.imageCarousel.previous():e.imageCarousel.next()})})}listenFoundVariations(){var e=this,t=e.el;e.listEvents=e.listEvents||{},!e.listEvents.found_variation&&(jQuery("form.variations_form").on("found_variation",function(i,r){if("undefined"!=typeof woostify_variation_gallery&&woostify_variation_gallery.length)e.updateGallery(woostify_variation_gallery,!1,r.variation_id);else if(r.variation_gallery_images){var a=t.querySelector(".product-thumbnail-images");if(r.variation_gallery_images.length>1||r.variation_gallery_images.length&&r.image&&r.variation_gallery_images[0].full_src!=r.image.full_src){var s=r.image.src;e.updateGallery(r.variation_gallery_images,!0,r.variation_id,s),a&&a.classList.add("variation-gallery")}else if("undefined"!=typeof woostify_default_gallery&&woostify_default_gallery.length){var n=[];r.image?(n.push(r.image),woostify_default_gallery.forEach(function(e,t,i){t&&n.push(e)},n)):n=woostify_default_gallery,e.updateGallery(e,n,!0),a&&a.classList.remove("variation-gallery")}}var l=e.thumbCarousel,o=e.imageCarousel;t.classList.contains("horizontal-style")&&(o&&o.slider&&o.select(0),l&&l.slider&&l.select(0))}),e.listEvents.found_variation=1)}listenResetVariations(){var e=this,t=e.el;e.listEvents=e.listEvents||{},!e.listEvents.reset_variations&&(jQuery(".reset_variations").on("click",function(){"undefined"!=typeof woostify_default_gallery&&woostify_default_gallery.length&&(e.updateGallery(woostify_default_gallery,!0),t.querySelector(".product-thumbnail-images")&&t.querySelector(".product-thumbnail-images").classList.remove("variation-gallery")),e.resetCarousel(),setTimeout(function(){window.dispatchEvent(new Event("resize"))},200),(document.body.classList.contains("elementor-editor-active")||document.body.classList.contains("elementor-editor-preview"))&&!t.querySelector(".product-thumbnail-images-container")&&t.querySelector(".product-gallery").classList.remove("has-product-thumbnails")}),e.listEvents.reset_variations=!0)}}function setHeightProductImages(){var e=document.querySelector(".product-images");if(e&&0!=e.length){let t=e.offsetWidth;e.style.height=t+"px";var i=e.querySelector(".image-item"),r=e.querySelector(".image-item.is-selected");if(0!=i.length){var a=i.querySelector("img"),s=a.getAttribute("src");if(r){let n=r.querySelector("img").height;e.style.height=n+"px"}else{var l=new Image;s&&(l.onload=function(){let t=a.height;e.style.height=t+"px"}),l.scr=s}}}}window.addEventListener("resize",function(){jQuery("body").hasClass("has-variation-swatches")&&setHeightProductImages()});var woostifyGalleries=[];document.addEventListener("DOMContentLoaded",function(){!e.productImagesReady&&(galleries.forEach(function(e,t){var i=new WoostifyGallery(e,woostify_product_images_slider_options);woostifyGalleries.push(i)}),"function"==typeof onElementorLoaded&&onElementorLoaded(function(){window.elementorFrontend.hooks.addAction("frontend/element_ready/global",function(){setTimeout(function(){document.querySelectorAll(".product-gallery").forEach(function(e,t){renderSlider(e.querySelector(woostify_product_images_slider_options.main.container),woostify_product_images_slider_options)})},200)})}),e.productImagesReady=1)});