/* Tooltipster v3.3.0 */;(function(e,t,n){function s(t,n){this.bodyOverflowX;this.callbacks={hide:[],show:[]};this.checkInterval=null;this.Content;this.$el=e(t);this.$elProxy;this.elProxyPosition;this.enabled=true;this.options=e.extend({},i,n);this.mouseIsOverProxy=false;this.namespace="tooltipster-"+Math.round(Math.random()*1e5);this.Status="hidden";this.timerHide=null;this.timerShow=null;this.$tooltip;this.options.iconTheme=this.options.iconTheme.replace(".","");this.options.theme=this.options.theme.replace(".","");this._init()}function o(t,n){var r=true;e.each(t,function(e,i){if(typeof n[e]==="undefined"||t[e]!==n[e]){r=false;return false}});return r}function f(){return!a&&u}function l(){var e=n.body||n.documentElement,t=e.style,r="transition";if(typeof t[r]=="string"){return true}v=["Moz","Webkit","Khtml","O","ms"],r=r.charAt(0).toUpperCase()+r.substr(1);for(var i=0;i<v.length;i++){if(typeof t[v[i]+r]=="string"){return true}}return false}var r="tooltipster",i={animation:"fade",arrow:true,arrowColor:"",autoClose:true,content:null,contentAsHTML:false,contentCloning:true,debug:true,delay:200,minWidth:0,maxWidth:null,functionInit:function(e,t){},functionBefore:function(e,t){t()},functionReady:function(e,t){},functionAfter:function(e){},hideOnClick:false,icon:"(?)",iconCloning:true,iconDesktop:false,iconTouch:false,iconTheme:"tooltipster-icon",interactive:false,interactiveTolerance:350,multiple:false,offsetX:0,offsetY:0,onlyOne:false,position:"top",positionTracker:false,positionTrackerCallback:function(e){if(this.option("trigger")=="hover"&&this.option("autoClose")){this.hide()}},restoration:"current",speed:350,timer:0,theme:"tooltipster-default",touchDevices:true,trigger:"hover",updateAnimation:true};s.prototype={_init:function(){var t=this;if(n.querySelector){var r=null;if(t.$el.data("tooltipster-initialTitle")===undefined){r=t.$el.attr("title");if(r===undefined)r=null;t.$el.data("tooltipster-initialTitle",r)}if(t.options.content!==null){t._content_set(t.options.content)}else{t._content_set(r)}var i=t.options.functionInit.call(t.$el,t.$el,t.Content);if(typeof i!=="undefined")t._content_set(i);t.$el.addClass("tooltipstered");if(!u&&t.options.iconDesktop||u&&t.options.iconTouch){if(typeof t.options.icon==="string"){t.$elProxy=e('<span class="'+t.options.iconTheme+'"></span>');t.$elProxy.text(t.options.icon)}else{if(t.options.iconCloning)t.$elProxy=t.options.icon.clone(true);else t.$elProxy=t.options.icon}t.$elProxy.insertAfter(t.$el)}else{t.$elProxy=t.$el}if(t.options.trigger=="hover"){t.$elProxy.on("mouseenter."+t.namespace,function(){if(!f()||t.options.touchDevices){t.mouseIsOverProxy=true;t._show()}}).on("mouseleave."+t.namespace,function(){if(!f()||t.options.touchDevices){t.mouseIsOverProxy=false}});if(u&&t.options.touchDevices){t.$elProxy.on("touchstart."+t.namespace,function(){t._showNow()})}}else if(t.options.trigger=="click"){t.$elProxy.on("click."+t.namespace,function(){if(!f()||t.options.touchDevices){t._show()}})}}},_show:function(){var e=this;if(e.Status!="shown"&&e.Status!="appearing"){if(e.options.delay){e.timerShow=setTimeout(function(){if(e.options.trigger=="click"||e.options.trigger=="hover"&&e.mouseIsOverProxy){e._showNow()}},e.options.delay)}else e._showNow()}},_showNow:function(n){var r=this;r.options.functionBefore.call(r.$el,r.$el,function(){if(r.enabled&&r.Content!==null){if(n)r.callbacks.show.push(n);r.callbacks.hide=[];clearTimeout(r.timerShow);r.timerShow=null;clearTimeout(r.timerHide);r.timerHide=null;if(r.options.onlyOne){e(".tooltipstered").not(r.$el).each(function(t,n){var r=e(n),i=r.data("tooltipster-ns");e.each(i,function(e,t){var n=r.data(t),i=n.status(),s=n.option("autoClose");if(i!=="hidden"&&i!=="disappearing"&&s){n.hide()}})})}var i=function(){r.Status="shown";e.each(r.callbacks.show,function(e,t){t.call(r.$el)});r.callbacks.show=[]};if(r.Status!=="hidden"){var s=0;if(r.Status==="disappearing"){r.Status="appearing";if(l()){r.$tooltip.clearQueue().removeClass("tooltipster-dying").addClass("tooltipster-"+r.options.animation+"-show");if(r.options.speed>0)r.$tooltip.delay(r.options.speed);r.$tooltip.queue(i)}else{r.$tooltip.stop().fadeIn(i)}}else if(r.Status==="shown"){i()}}else{r.Status="appearing";var s=r.options.speed;r.bodyOverflowX=e("body").css("overflow-x");e("body").css("overflow-x","hidden");var o="tooltipster-"+r.options.animation,a="-webkit-transition-duration: "+r.options.speed+"ms; -webkit-animation-duration: "+r.options.speed+"ms; -moz-transition-duration: "+r.options.speed+"ms; -moz-animation-duration: "+r.options.speed+"ms; -o-transition-duration: "+r.options.speed+"ms; -o-animation-duration: "+r.options.speed+"ms; -ms-transition-duration: "+r.options.speed+"ms; -ms-animation-duration: "+r.options.speed+"ms; transition-duration: "+r.options.speed+"ms; animation-duration: "+r.options.speed+"ms;",f=r.options.minWidth?"min-width:"+Math.round(r.options.minWidth)+"px;":"",c=r.options.maxWidth?"max-width:"+Math.round(r.options.maxWidth)+"px;":"",h=r.options.interactive?"pointer-events: auto;":"";r.$tooltip=e('<div class="tooltipster-base '+r.options.theme+'" style="'+f+" "+c+" "+h+" "+a+'"><div class="tooltipster-content"></div></div>');if(l())r.$tooltip.addClass(o);r._content_insert();r.$tooltip.appendTo("body");r.reposition();r.options.functionReady.call(r.$el,r.$el,r.$tooltip);if(l()){r.$tooltip.addClass(o+"-show");if(r.options.speed>0)r.$tooltip.delay(r.options.speed);r.$tooltip.queue(i)}else{r.$tooltip.css("display","none").fadeIn(r.options.speed,i)}r._interval_set();e(t).on("scroll."+r.namespace+" resize."+r.namespace,function(){r.reposition()});if(r.options.autoClose){e("body").off("."+r.namespace);if(r.options.trigger=="hover"){if(u){setTimeout(function(){e("body").on("touchstart."+r.namespace,function(){r.hide()})},0)}if(r.options.interactive){if(u){r.$tooltip.on("touchstart."+r.namespace,function(e){e.stopPropagation()})}var p=null;r.$elProxy.add(r.$tooltip).on("mouseleave."+r.namespace+"-autoClose",function(){clearTimeout(p);p=setTimeout(function(){r.hide()},r.options.interactiveTolerance)}).on("mouseenter."+r.namespace+"-autoClose",function(){clearTimeout(p)})}else{r.$elProxy.on("mouseleave."+r.namespace+"-autoClose",function(){r.hide()})}if(r.options.hideOnClick){r.$elProxy.on("click."+r.namespace+"-autoClose",function(){r.hide()})}}else if(r.options.trigger=="click"){setTimeout(function(){e("body").on("click."+r.namespace+" touchstart."+r.namespace,function(){r.hide()})},0);if(r.options.interactive){r.$tooltip.on("click."+r.namespace+" touchstart."+r.namespace,function(e){e.stopPropagation()})}}}}if(r.options.timer>0){r.timerHide=setTimeout(function(){r.timerHide=null;r.hide()},r.options.timer+s)}}})},_interval_set:function(){var t=this;t.checkInterval=setInterval(function(){if(e("body").find(t.$el).length===0||e("body").find(t.$elProxy).length===0||t.Status=="hidden"||e("body").find(t.$tooltip).length===0){if(t.Status=="shown"||t.Status=="appearing")t.hide();t._interval_cancel()}else{if(t.options.positionTracker){var n=t._repositionInfo(t.$elProxy),r=false;if(o(n.dimension,t.elProxyPosition.dimension)){if(t.$elProxy.css("position")==="fixed"){if(o(n.position,t.elProxyPosition.position))r=true}else{if(o(n.offset,t.elProxyPosition.offset))r=true}}if(!r){t.reposition();t.options.positionTrackerCallback.call(t,t.$el)}}}},200)},_interval_cancel:function(){clearInterval(this.checkInterval);this.checkInterval=null},_content_set:function(e){if(typeof e==="object"&&e!==null&&this.options.contentCloning){e=e.clone(true)}this.Content=e},_content_insert:function(){var e=this,t=this.$tooltip.find(".tooltipster-content");if(typeof e.Content==="string"&&!e.options.contentAsHTML){t.text(e.Content)}else{t.empty().append(e.Content)}},_update:function(e){var t=this;t._content_set(e);if(t.Content!==null){if(t.Status!=="hidden"){t._content_insert();t.reposition();if(t.options.updateAnimation){if(l()){t.$tooltip.css({width:"","-webkit-transition":"all "+t.options.speed+"ms, width 0ms, height 0ms, left 0ms, top 0ms","-moz-transition":"all "+t.options.speed+"ms, width 0ms, height 0ms, left 0ms, top 0ms","-o-transition":"all "+t.options.speed+"ms, width 0ms, height 0ms, left 0ms, top 0ms","-ms-transition":"all "+t.options.speed+"ms, width 0ms, height 0ms, left 0ms, top 0ms",transition:"all "+t.options.speed+"ms, width 0ms, height 0ms, left 0ms, top 0ms"}).addClass("tooltipster-content-changing");setTimeout(function(){if(t.Status!="hidden"){t.$tooltip.removeClass("tooltipster-content-changing");setTimeout(function(){if(t.Status!=="hidden"){t.$tooltip.css({"-webkit-transition":t.options.speed+"ms","-moz-transition":t.options.speed+"ms","-o-transition":t.options.speed+"ms","-ms-transition":t.options.speed+"ms",transition:t.options.speed+"ms"})}},t.options.speed)}},t.options.speed)}else{t.$tooltip.fadeTo(t.options.speed,.5,function(){if(t.Status!="hidden"){t.$tooltip.fadeTo(t.options.speed,1)}})}}}}else{t.hide()}},_repositionInfo:function(e){return{dimension:{height:e.outerHeight(false),width:e.outerWidth(false)},offset:e.offset(),position:{left:parseInt(e.css("left")),top:parseInt(e.css("top"))}}},hide:function(n){var r=this;if(n)r.callbacks.hide.push(n);r.callbacks.show=[];clearTimeout(r.timerShow);r.timerShow=null;clearTimeout(r.timerHide);r.timerHide=null;var i=function(){e.each(r.callbacks.hide,function(e,t){t.call(r.$el)});r.callbacks.hide=[]};if(r.Status=="shown"||r.Status=="appearing"){r.Status="disappearing";var s=function(){r.Status="hidden";if(typeof r.Content=="object"&&r.Content!==null){r.Content.detach()}r.$tooltip.remove();r.$tooltip=null;e(t).off("."+r.namespace);e("body").off("."+r.namespace).css("overflow-x",r.bodyOverflowX);e("body").off("."+r.namespace);r.$elProxy.off("."+r.namespace+"-autoClose");r.options.functionAfter.call(r.$el,r.$el);i()};if(l()){r.$tooltip.clearQueue().removeClass("tooltipster-"+r.options.animation+"-show").addClass("tooltipster-dying");if(r.options.speed>0)r.$tooltip.delay(r.options.speed);r.$tooltip.queue(s)}else{r.$tooltip.stop().fadeOut(r.options.speed,s)}}else if(r.Status=="hidden"){i()}return r},show:function(e){this._showNow(e);return this},update:function(e){return this.content(e)},content:function(e){if(typeof e==="undefined"){return this.Content}else{this._update(e);return this}},reposition:function(){var n=this;if(e("body").find(n.$tooltip).length!==0){n.$tooltip.css("width","");n.elProxyPosition=n._repositionInfo(n.$elProxy);var r=null,i=e(t).width(),s=n.elProxyPosition,o=n.$tooltip.outerWidth(false),u=n.$tooltip.innerWidth()+1,a=n.$tooltip.outerHeight(false);if(n.$elProxy.is("area")){var f=n.$elProxy.attr("shape"),l=n.$elProxy.parent().attr("name"),c=e('img[usemap="#'+l+'"]'),h=c.offset().left,p=c.offset().top,d=n.$elProxy.attr("coords")!==undefined?n.$elProxy.attr("coords").split(","):undefined;if(f=="circle"){var v=parseInt(d[0]),m=parseInt(d[1]),g=parseInt(d[2]);s.dimension.height=g*2;s.dimension.width=g*2;s.offset.top=p+m-g;s.offset.left=h+v-g}else if(f=="rect"){var v=parseInt(d[0]),m=parseInt(d[1]),y=parseInt(d[2]),b=parseInt(d[3]);s.dimension.height=b-m;s.dimension.width=y-v;s.offset.top=p+m;s.offset.left=h+v}else if(f=="poly"){var w=[],E=[],S=0,x=0,T=0,N=0,C="even";for(var k=0;k<d.length;k++){var L=parseInt(d[k]);if(C=="even"){if(L>T){T=L;if(k===0){S=T}}if(L<S){S=L}C="odd"}else{if(L>N){N=L;if(k==1){x=N}}if(L<x){x=L}C="even"}}s.dimension.height=N-x;s.dimension.width=T-S;s.offset.top=p+x;s.offset.left=h+S}else{s.dimension.height=c.outerHeight(false);s.dimension.width=c.outerWidth(false);s.offset.top=p;s.offset.left=h}}var A=0,O=0,M=0,_=parseInt(n.options.offsetY),D=parseInt(n.options.offsetX),P=n.options.position;function H(){var n=e(t).scrollLeft();if(A-n<0){r=A-n;A=n}if(A+o-n>i){r=A-(i+n-o);A=i+n-o}}function B(n,r){if(s.offset.top-e(t).scrollTop()-a-_-12<0&&r.indexOf("top")>-1){P=n}if(s.offset.top+s.dimension.height+a+12+_>e(t).scrollTop()+e(t).height()&&r.indexOf("bottom")>-1){P=n;M=s.offset.top-a-_-12}}if(P=="top"){var j=s.offset.left+o-(s.offset.left+s.dimension.width);A=s.offset.left+D-j/2;M=s.offset.top-a-_-12;H();B("bottom","top")}if(P=="top-left"){A=s.offset.left+D;M=s.offset.top-a-_-12;H();B("bottom-left","top-left")}if(P=="top-right"){A=s.offset.left+s.dimension.width+D-o;M=s.offset.top-a-_-12;H();B("bottom-right","top-right")}if(P=="bottom"){var j=s.offset.left+o-(s.offset.left+s.dimension.width);A=s.offset.left-j/2+D;M=s.offset.top+s.dimension.height+_+12;H();B("top","bottom")}if(P=="bottom-left"){A=s.offset.left+D;M=s.offset.top+s.dimension.height+_+12;H();B("top-left","bottom-left")}if(P=="bottom-right"){A=s.offset.left+s.dimension.width+D-o;M=s.offset.top+s.dimension.height+_+12;H();B("top-right","bottom-right")}if(P=="left"){A=s.offset.left-D-o-12;O=s.offset.left+D+s.dimension.width+12;var F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_;if(A<0&&O+o>i){var I=parseFloat(n.$tooltip.css("border-width"))*2,q=o+A-I;n.$tooltip.css("width",q+"px");a=n.$tooltip.outerHeight(false);A=s.offset.left-D-q-12-I;F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_}else if(A<0){A=s.offset.left+D+s.dimension.width+12;r="left"}}if(P=="right"){A=s.offset.left+D+s.dimension.width+12;O=s.offset.left-D-o-12;var F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_;if(A+o>i&&O<0){var I=parseFloat(n.$tooltip.css("border-width"))*2,q=i-A-I;n.$tooltip.css("width",q+"px");a=n.$tooltip.outerHeight(false);F=s.offset.top+a-(s.offset.top+s.dimension.height);M=s.offset.top-F/2-_}else if(A+o>i){A=s.offset.left-D-o-12;r="right"}}if(n.options.arrow){var R="tooltipster-arrow-"+P;if(n.options.arrowColor.length<1){var U=n.$tooltip.css("background-color")}else{var U=n.options.arrowColor}if(!r){r=""}else if(r=="left"){R="tooltipster-arrow-right";r=""}else if(r=="right"){R="tooltipster-arrow-left";r=""}else{r="left:"+Math.round(r)+"px;"}if(P=="top"||P=="top-left"||P=="top-right"){var z=parseFloat(n.$tooltip.css("border-bottom-width")),W=n.$tooltip.css("border-bottom-color")}else if(P=="bottom"||P=="bottom-left"||P=="bottom-right"){var z=parseFloat(n.$tooltip.css("border-top-width")),W=n.$tooltip.css("border-top-color")}else if(P=="left"){var z=parseFloat(n.$tooltip.css("border-right-width")),W=n.$tooltip.css("border-right-color")}else if(P=="right"){var z=parseFloat(n.$tooltip.css("border-left-width")),W=n.$tooltip.css("border-left-color")}else{var z=parseFloat(n.$tooltip.css("border-bottom-width")),W=n.$tooltip.css("border-bottom-color")}if(z>1){z++}var X="";if(z!==0){var V="",J="border-color: "+W+";";if(R.indexOf("bottom")!==-1){V="margin-top: -"+Math.round(z)+"px;"}else if(R.indexOf("top")!==-1){V="margin-bottom: -"+Math.round(z)+"px;"}else if(R.indexOf("left")!==-1){V="margin-right: -"+Math.round(z)+"px;"}else if(R.indexOf("right")!==-1){V="margin-left: -"+Math.round(z)+"px;"}X='<span class="tooltipster-arrow-border" style="'+V+" "+J+';"></span>'}n.$tooltip.find(".tooltipster-arrow").remove();var K='<div class="'+R+' tooltipster-arrow" style="'+r+'">'+X+'<span style="border-color:'+U+';"></span></div>';n.$tooltip.append(K)}n.$tooltip.css({top:Math.round(M)+"px",left:Math.round(A)+"px"})}return n},enable:function(){this.enabled=true;return this},disable:function(){this.hide();this.enabled=false;return this},destroy:function(){var t=this;t.hide();if(t.$el[0]!==t.$elProxy[0]){t.$elProxy.remove()}t.$el.removeData(t.namespace).off("."+t.namespace);var n=t.$el.data("tooltipster-ns");if(n.length===1){var r=null;if(t.options.restoration==="previous"){r=t.$el.data("tooltipster-initialTitle")}else if(t.options.restoration==="current"){r=typeof t.Content==="string"?t.Content:e("<div></div>").append(t.Content).html()}if(r){t.$el.attr("title",r)}t.$el.removeClass("tooltipstered").removeData("tooltipster-ns").removeData("tooltipster-initialTitle")}else{n=e.grep(n,function(e,n){return e!==t.namespace});t.$el.data("tooltipster-ns",n)}return t},elementIcon:function(){return this.$el[0]!==this.$elProxy[0]?this.$elProxy[0]:undefined},elementTooltip:function(){return this.$tooltip?this.$tooltip[0]:undefined},option:function(e,t){if(typeof t=="undefined")return this.options[e];else{this.options[e]=t;return this}},status:function(){return this.Status}};e.fn[r]=function(){var t=arguments;if(this.length===0){if(typeof t[0]==="string"){var n=true;switch(t[0]){case"setDefaults":e.extend(i,t[1]);break;default:n=false;break}if(n)return true;else return this}else{return this}}else{if(typeof t[0]==="string"){var r="#*$~&";this.each(function(){var n=e(this).data("tooltipster-ns"),i=n?e(this).data(n[0]):null;if(i){if(typeof i[t[0]]==="function"){var s=i[t[0]](t[1],t[2])}else{throw new Error('Unknown method .tooltipster("'+t[0]+'")')}if(s!==i){r=s;return false}}else{throw new Error("You called Tooltipster's \""+t[0]+'" method on an uninitialized element')}});return r!=="#*$~&"?r:this}else{var o=[],u=t[0]&&typeof t[0].multiple!=="undefined",a=u&&t[0].multiple||!u&&i.multiple,f=t[0]&&typeof t[0].debug!=="undefined",l=f&&t[0].debug||!f&&i.debug;this.each(function(){var n=false,r=e(this).data("tooltipster-ns"),i=null;if(!r){n=true}else if(a){n=true}else if(l){console.log('Tooltipster: one or more tooltips are already attached to this element: ignoring. Use the "multiple" option to attach more tooltips.')}if(n){i=new s(this,t[0]);if(!r)r=[];r.push(i.namespace);e(this).data("tooltipster-ns",r);e(this).data(i.namespace,i)}o.push(i)});if(a)return o;else return this}}};var u=!!("ontouchstart"in t);var a=false;e("body").one("mousemove",function(){a=true})})(jQuery,window,document);
(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return}var c=b.ui.mouse.prototype,e=c._mouseInit,a;function d(g,h){if(g.originalEvent.touches.length>1){return}g.preventDefault();var i=g.originalEvent.changedTouches[0],f=document.createEvent("MouseEvents");f.initMouseEvent(h,true,true,window,1,i.screenX,i.screenY,i.clientX,i.clientY,false,false,false,false,0,null);g.target.dispatchEvent(f)}c._touchStart=function(g){var f=this;if(a||!f._mouseCapture(g.originalEvent.changedTouches[0])){return}a=true;f._touchMoved=false;d(g,"mouseover");d(g,"mousemove");d(g,"mousedown")};c._touchMove=function(f){if(!a){return}this._touchMoved=true;d(f,"mousemove")};c._touchEnd=function(f){if(!a){return}d(f,"mouseup");d(f,"mouseout");if(!this._touchMoved){d(f,"click")}a=false};c._mouseInit=function(){var f=this;f.element.bind("touchstart",b.proxy(f,"_touchStart")).bind("touchmove",b.proxy(f,"_touchMove")).bind("touchend",b.proxy(f,"_touchEnd"));e.call(f)}})(jQuery);
(function ($, app){
"use strict";
function WpfFrontendPage(){
this.$obj=this;
this.noWoo=this.$obj.checkNoWooPage();
this.readyFuncs=['.berocket_load_more_preload', 'woocommerce-product-bundle-hide', 'show_variation', 'woo_variation_swatches_pro_init', '.variations_form', 'yith_infs_start', 'flatsome_infinite_scroll','.dipl_woo_products_pagination_wrapper', 'divi_filter_loadmore_ajax_handler'];
this.isSafari=navigator.vendor&&navigator.vendor.indexOf('Apple') > -1&&((navigator.userAgent&&navigator.userAgent.indexOf('CriOS')==-1&&navigator.userAgent.indexOf('FxiOS')==-1)||(navigator.platform&&/iPhone|iPad|iPod/.test(navigator.platform)));
this.disableScrollJs=true;
this.lastFids=[];
return this.$obj;
}
WpfFrontendPage.prototype.init=(function (){
var _thisObj=this.$obj;
app.wpfNewUrl='';
window.wpfDoNotLoadMore=false;
_thisObj.filterClick=true;
_thisObj.filteringId=0;
_thisObj.setCurrentLocation();
_thisObj.filterLoadTypes=[];
_thisObj.defaultProductSelector='ul.products';
_thisObj.isAdminPreview=jQuery('#wpfFiltersEditForm').length > 0||(typeof isElementorPreview!='undefined'&&isElementorPreview==1);
_thisObj.moveFloatingElements();
_thisObj.checkForceFilters();
_thisObj.eventsPriceFilter();
_thisObj.disableLeerOptions();
_thisObj.eventsFrontend();
_thisObj.changeSlugByUrl();
_thisObj.runCustomJs();
_thisObj.addCustomCss();
_thisObj.chageRangeFieldWidth();
_thisObj.addSpecificPluginActions();
_thisObj.resizeWindow();
_thisObj.changeOrderBy();
_thisObj.copySelectsForSafari();
jQuery('.wpfMainWrapper').each(function(){
_thisObj.markCheckboxSelected(jQuery(this), true);
});
if(_thisObj.isAdminPreview){
_thisObj.hideFiltersLoader();
}else{
setTimeout(function (){
_thisObj.hideFiltersLoader();
}, 100);
}});
WpfFrontendPage.prototype.moveFloatingElements=(function (){
var _thisObj=this.$obj;
if(!_thisObj.isAdminPreview&&jQuery('.wpfFloatingBlock').length==0&&jQuery('.wpfFloatingWrapper').length==1){
jQuery('body').append('<div class="wpfFloatingBlock"></div>');
if(jQuery('.wpfFloatingSwitcher').length==1){
var button=$('.wpfFloatingSwitcher');
if(button.hasClass('wpfSwitcherRealFloat')){
button.detach();
$('.wpfFloatingBlock').append(button);
}}
if(jQuery('.wpfFloatingOverlay').length==1){
var overlay=$('.wpfFloatingOverlay').detach();
$('.wpfFloatingBlock').append(overlay);
}
if($('.wpfFloatingWrapper').closest('.wpfFilterForWtbp').length) $('.wpfFloatingBlock').addClass('wpfFilterForWtbpFloating');
var block=$('.wpfFloatingWrapper').detach();
$('.wpfFloatingBlock').append(block);
}});
WpfFrontendPage.prototype.changeOrderBy=(function (){
jQuery('.woocommerce-ordering select').on('change', function (e){
e.preventDefault();
var orderBy=jQuery(this).val(),
curUrl=window.location.href;
if((curUrl.indexOf('?')===-1)){
curUrl +='?orderby=' + orderBy;
jQuery('.wpfMainWrapper').each(function (){
var filter=$(this).data('filter-settings');
if(typeof filter.settings.filters.defaults!=='undefined'){
curUrl +='&' + filter.settings.filters.defaults.replace(';', '&').replace('|', '%7C');
}});
}else{
if(curUrl.indexOf('orderby')===-1){
curUrl +=((curUrl.indexOf('?')===-1) ? '?':'&') + 'orderby=' + orderBy;
}else{
curUrl=curUrl.replace(/(orderby=)[^&]*/, '$1' + orderBy);
}}
jQuery(location).attr('href', curUrl);
return false;
});
});
WpfFrontendPage.prototype.resizeWindow=(function(){
var _thisObj=this.$obj;
_thisObj.filterOptionsForDevices();
jQuery(window).on('resize', function(){
_thisObj.filterOptionsForDevices();
});
});
WpfFrontendPage.prototype.copySelectsForSafari=(function(){
var _thisObj=this.$obj;
if(!_thisObj.isSafari) return;
jQuery('.wpfMainWrapper').each(function (){
var $wrapper=jQuery(this),
$selectsWrapper=$wrapper.find('.wpfSelectCopies');
if($selectsWrapper.length==0){
jQuery('<div/>').addClass('wpfSelectCopies').appendTo($wrapper);
$selectsWrapper=$wrapper.find('.wpfSelectCopies');
}
if($selectsWrapper.length==0) return;
$wrapper.find('.wpfFilterWrapper[data-display-type="dropdown"] select').each(function(){
var $select=jQuery(this),
$filter=$select.closest('.wpfFilterWrapper'),
blockId=$filter.attr('id');
if($selectsWrapper.find('select[data-block="' + blockId + '"]').length==0){
$select.clone().attr('data-block', blockId).appendTo($selectsWrapper);
}});
_thisObj.removeHiddenOptionsForSafari($wrapper);
});
});
WpfFrontendPage.prototype.restoreSelectsForSafari=(function(){
var _thisObj=this.$obj;
if(!_thisObj.isSafari) return;
jQuery('.wpfMainWrapper').each(function (){
var $wrapper=jQuery(this),
$selectsWrapper=$wrapper.find('.wpfSelectCopies');
if($selectsWrapper.length==1){
$selectsWrapper.find('select').each(function(){
var $select=jQuery(this),
blockId=$select.attr('data-block'),
$filterSelect=$wrapper.find('#' + blockId + ' select');
if($filterSelect.length==1){
var value=$filterSelect.val();
$filterSelect.html($select.html());
$filterSelect.val(value);
}});
}});
});
WpfFrontendPage.prototype.removeHiddenOptionsForSafari=(function(){
var _thisObj=this.$obj;
if(!_thisObj.isSafari) return;
var $found=jQuery('.wpfFilterWrapper[data-display-type="dropdown"] select:visible option[style*="none"]');
if($found.length) $found.remove();
else {
jQuery('.wpfFilterWrapper[data-display-type="dropdown"] select:visible option').each(function(){
if(jQuery(this).css('display')=='none') jQuery(this).remove();
});
}});
WpfFrontendPage.prototype.checkForceFilters=(function(){
var forceShowFilter=jQuery('.wpfMainWrapper[data-force="1"]');
if(!forceShowFilter.length) return;
jQuery('.wpfMainWrapper').each(function (){
var wrapper=jQuery(this),
forceShowCurrent=wrapper.attr('data-force');
if(!forceShowCurrent){
wrapper.remove();
if(wrapper.closest('.WpfWoofiltersWidget').length){
wrapper.closest('.WpfWoofiltersWidget').remove();
}}
});
});
WpfFrontendPage.prototype.showFiltersLoader=(function(){
jQuery('.wpfMainWrapper').each(function (){
var wrapper=jQuery(this);
wrapper.css('position','relative');
if(!wrapper.find('.wpfLoaderLayout').length){
jQuery('<div/>').addClass('wpfLoaderLayout').appendTo(wrapper);
wrapper.find('.wpfLoaderLayout').append('<i class="fa fa-spinner fa-pulse fa-3x fa-fw"/>');
}
wrapper.find('.wpfLoaderLayout').show();
});
});
WpfFrontendPage.prototype.hideFiltersLoader=(function(){
jQuery('.wpfMainWrapper').each(function (){
var wrapper=jQuery(this);
hideFilterLoader(wrapper);
});
});
WpfFrontendPage.prototype.runCustomJs=(function (){
var _thisObj=this.$obj;
jQuery('.wpfMainWrapper').each(function (){
var wrapper=jQuery(this),
jsCodeStr='',
settings=_thisObj.getFilterMainSettings(wrapper);
if(settings){
settings=settings.settings;
jsCodeStr=settings.js_editor;
}
if(jsCodeStr.length > 0){
try {
eval(jsCodeStr);
}catch(e){
console.log(e);
}}
});
});
WpfFrontendPage.prototype.addCustomCss=(function (){
if(jQuery('style#wpfCustomCss').length===0){
var cssCodeStr='';
jQuery('.wpfMainWrapper').each(function (){
var wrapper=jQuery(this),
customCss=jQuery('style#wpfCustomCss-' + wrapper.attr('data-viewid'));
if(customCss.length){
cssCodeStr +=customCss.html();
customCss.remove();
}});
if(cssCodeStr.length > 0){
jQuery('<style type="text/css" id="wpfCustomCss">' + cssCodeStr + '</style>').appendTo('head');
}}
});
WpfFrontendPage.prototype.chageRangeFieldWidth=(function (){
var _thisObj=this.$obj;
jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"]').each(function (){
var filter=jQuery(this),
input1=filter.find('#wpfMinPrice'),
input2=filter.find('#wpfMaxPrice'),
fontSize1=input1.css('font-size'),
fontSize2=input2.css('font-size'),
visbleBuffer1=filter.find('.wpfVisibleBufferMin'),
visbleBuffer2=filter.find('.wpfVisibleBufferMax');
if(fontSize1) visbleBuffer1.css('font-size', fontSize1);
if(fontSize2) visbleBuffer2.css('font-size', fontSize2);
jQuery(visbleBuffer1).text(input1.val());
jQuery(visbleBuffer2).text(input2.val());
if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){
jQuery(input1).width(visbleBuffer1.width()+20);
jQuery(input2).width(visbleBuffer2.width()+20);
}else{
jQuery(input1).width(visbleBuffer1.width()+10);
jQuery(input2).width(visbleBuffer2.width()+10);
}});
});
WpfFrontendPage.prototype.eventsPriceFilter=(function (){
var _thisObj=this.$obj;
jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"]').each(function (){
_thisObj.initDefaultSlider(jQuery(this));
});
jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"]').on('wpfPriceChange', function(event){
var filter=jQuery(this),
mainWrapper=filter.closest('.wpfMainWrapper');
mainWrapper.find('.wpfFilterWrapper[data-filter-type="wpfPriceRange"] input').prop('checked', false);
mainWrapper.find('.wpfFilterWrapper[data-filter-type="wpfPriceRange"] select')
.val(mainWrapper.find('.wpfFilterWrapper[data-filter-type="wpfPriceRange"] select option:first').val());
filter.removeClass('wpfNotActive');
mainWrapper.find('.wpfFilterWrapper[data-filter-type="wpfPriceRange"]').addClass('wpfNotActive');
});
jQuery('.wpfFilterWrapper[data-filter-type="wpfPriceRange"] input, .wpfFilterWrapper[data-filter-type="wpfPriceRange"] select').on('change', function(e){
e.preventDefault();
jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"]').addClass('wpfNotActive');
});
});
WpfFrontendPage.prototype.initDefaultSlider=(function (filter, type){
var _thisObj=this.$obj,
wrapper=filter.closest('.wpfMainWrapper'),
filterType=typeof type!=='undefined' ? type:'price',
getAttr=filter.data('get-attribute'),
minInputId='#wpfMinPrice',
maxInputId='#wpfMaxPrice',
triggerName='wpfPriceChange';
if(filterType==='attr'){
minInputId='#wpfMinAttrNum';
maxInputId='#wpfMaxAttrNum';
triggerName='wpfAttrSliderChange';
}
var minSelector=wrapper.find(minInputId),
maxSelector=wrapper.find(maxInputId),
wpfDataStep=wrapper.find('#wpfDataStep').val()
if(wpfDataStep=='0.001'){
wpfDataStep='0.00000001';
}
wpfDataStep=Number(wpfDataStep);
var valMin=parseFloat(minSelector.attr('min')),
valMax=parseFloat(maxSelector.attr('max')),
curUrl=window.location.href,
urlParams=_thisObj.findGetParameter(curUrl),
rate=filter.data('rate');
urlParams=_thisObj.getConvertedPrices(urlParams, rate);
var	minPriceGetParams=urlParams.wpf_min_price ? parseFloat(urlParams.wpf_min_price):valMin,
maxPriceGetParams=urlParams.wpf_max_price ? parseFloat(urlParams.wpf_max_price):valMax;
if(filterType==='attr'){
if(urlParams[getAttr]){
var idsAnd=urlParams[getAttr].split(','),
idsOr=urlParams[getAttr].split('|'),
isAnd=idsAnd.length > idsOr.length;
var filterTypeValues=isAnd ? idsAnd:idsOr;
}
minPriceGetParams=urlParams[getAttr] ? parseFloat(filterTypeValues[0]):valMin;
maxPriceGetParams=urlParams[getAttr] ? parseFloat(filterTypeValues.pop()):valMax;
}
var sliderWrapper=filter.find("#wpfSliderRange"),
autoFilteringEnable=(wrapper.find('.wpfFilterButton').length==0),
skin=filter.attr('data-price-skin');
if(skin==='default'){
sliderWrapper.slider({
range: true,
orientation: "horizontal",
min: valMin,
max: valMax,
step: wpfDataStep,
values: [minPriceGetParams, maxPriceGetParams],
slide: function (event, ui){
minSelector.val(ui.values[0]);
maxSelector.val(ui.values[1]);
filter.trigger(triggerName);
},
start: function (){
filter.trigger(triggerName);
},
stop: function (){
if(autoFilteringEnable){
_thisObj.setCurrentLocation();
_thisObj.filtering(wrapper);
}},
});
minSelector.val(sliderWrapper.slider("values", 0));
maxSelector.val(sliderWrapper.slider("values", 1));
}});
WpfFrontendPage.prototype.QStringWork=(function ($attr, $value, $noWooPage, $filterWrapper, $type){
$noWooPage=false;
if(window.wpfAdminPage){
$noWooPage=true;
}
if($type==='change'){
var curUrl=changeUrl($attr, $value, $noWooPage, $filterWrapper);
$filterWrapper.attr('data-hide-url', decodeURI(curUrl));
}else if($type==='remove'){
var curUrl=removeQString($attr, $noWooPage, $filterWrapper);
$filterWrapper.attr('data-hide-url', decodeURI(curUrl));
}});
WpfFrontendPage.prototype.eventChangeFilter=(function (e){
var _thisObj=this.$obj,
_this=jQuery(e.target),
mainWrapper=_this.closest('.wpfMainWrapper'),
settings=_thisObj.getFilterMainSettings(mainWrapper);
_thisObj.setCurrentLocation();
_this.closest('.wpfFilterWrapper').removeClass('wpfNotActive');
if(typeof(_thisObj.eventChangeFilterPro)=='function'){
_thisObj.eventChangeFilterPro(_this, settings);
}
var redirectOnlyClick=Number(settings.settings.redirect_only_click),
autoUpdateFilter=Number(settings.settings.auto_update_filter),
loaderEnable=Number(settings.settings.filter_loader_icon_onload_enable),
isButton=(mainWrapper.find('.wpfFilterButton').length > 0),
isCheckbox=_this.attr('type')=='checkbox',
redirectLink=isCheckbox ? _this.closest('li').attr('data-link'):_this.find('option:selected').attr('data-link');
if(typeof redirectLink!=='undefined'&&isCheckbox){
var filter=_this.closest('.wpfFilterWrapper');
if(filter.attr('data-display-type')!='list'&&_this.is(':checked')){
filter.find('input').prop('checked', false);
_this.prop('checked', true);
}}
if(isButton){
if(autoUpdateFilter||redirectOnlyClick){
if(loaderEnable){
mainWrapper.find('.wpfLoaderLayout').show();
}
_thisObj.filterClick=false;
_thisObj.filtering(mainWrapper, false, redirectLink);
}}else{
_thisObj.filterClick=true;
_thisObj.filtering(mainWrapper, false, redirectLink);
}});
WpfFrontendPage.prototype.eventsFrontend=(function (){
var _thisObj=this.$obj,
searchParams=jQuery.toQueryParams(window.location.search);
if(searchParams['all_products_filtering']&&searchParams['all_products_filtering']=='1'){
jQuery(document).ajaxSend(function(event, jqxhr, settings){
if(settings.data){
var response=_thisObj.unserializeStr(settings.data);
if(response['action']&&response['action']=='us_ajax_grid'){
if(response['template_vars']&&response['template_vars'].length){
try {
var query=JSON.parse(response['template_vars']);
}catch(e){
var query=false;
}
if(query&&query['query_args']){
var args=query['query_args'];
if(args['product_cat']) delete args.product_cat;
if(args['product_tag']) delete args.product_tag;
response['template_vars']=JSON.stringify(query);
var result=[];
jQuery.each(response, function(key, val){
result.push(encodeURIComponent(key) + "=" + encodeURIComponent(val));
});
settings.data=result.join("&").replace(/%20/g, "+");
}}
}}
});
}
if(jQuery('.divi-filter-archive-loop, .eael-woo-pagination, .premium-woo-products-pagination, .uael-woocommerce-pagination').length){
var actions=['divi_filter_loadmore_ajax_handler', 'woo_product_pagination_product', 'get_woo_products', 'uael_get_products'];
jQuery(document).ajaxSend(function(event, jqxhr, settings){
if(settings.data){
var response=_thisObj.unserializeStr(settings.data);
if(response['action']&&actions.indexOf(response['action'])!=-1){
var s=window.location.search;
if(s&&s.length > 1){
response['with_wpf_filter']=s.replace('?','');
var result=[];
jQuery.each(response, function(key, val){
result.push(encodeURIComponent(key) + "=" + encodeURIComponent(val));
});
settings.data=result.join("&").replace(/%20/g, "+");
}}
}});
}
if(typeof window.wpfFetchHookCreated=='undefined'||window.wpfFetchHookCreated!=1){
window.fetch=new Proxy(window.fetch, {
apply(fetch, that, args){
var url=args.length ? args[0]:'';
if(typeof url==='string'&&url.length){
if(url.indexOf('wp-json/wc/store/')!=-1&&url.indexOf('/products?')!=-1&&url.indexOf('per_page=')!=-1){
var s=window.location.search;
if(s.length) args[0] +=s.replace('?','&');
else {
var urlPreselects='';
jQuery('.wpfMainWrapper').each(function(){
var settings=_thisObj.getFilterMainSettings(jQuery(this)),
preselects=typeof settings.settings.filters.preselect!=='undefined' ? settings.settings.filters.preselect:'';
if(preselects.length){
urlPreselects +='&'+preselects.replace(/;/g,'&');
if(settings.settings.filtering_by_variations=='1') urlPreselects +='&wpf_fbv=1';
if(settings.settings.exclude_backorder_variations=='1') urlPreselects +='&wpf_ebv=1';
if(settings.settings.display_product_variations=='1') urlPreselects +='&wpf_dpv=1';
}});
if(urlPreselects.length){
args[0] +=urlPreselects + '&wpf_preselects=1';
}}
}else{
if((jQuery('.e-load-more-anchor').length==1)&&jQuery('.e-load-more-spinner').length&&url.indexOf('?')==-1){
var $elementorLoadMoreAnchor=jQuery('.e-load-more-anchor'),
s=window.location.search;
if(s.length){
var nextPage=$elementorLoadMoreAnchor.attr('data-next-page');
if(nextPage==url) args[0]+=s;
}}
}}
const result=fetch.apply(that, args);
return result;
}});
window.wpfFetchHookCreated=1;
}
jQuery(document).ajaxComplete(function(event, xhr, options){
setTimeout(function(){
if(jQuery('.wpfLoaderLayout:visible').length){
window.wpfFrontendPage.init();
if(typeof(window.wpfFrontendPage.eventsFrontendPro)=='function'){
window.wpfFrontendPage.eventsFrontendPro();
}}
}, 500);
});
jQuery('.wpfMainWrapper').find('select[multiple]').each(function(){
var select=jQuery(this),
selectAll=select.attr('data-placeholder'),
search=JSON.parse(select.attr('data-search')),
singleSelect=select.data('single-select'),
showCheckbox=(typeof select.data('hide-checkboxes')==='undefined');
setTimeout(function (){
select.multiselect({
search: search.show,
columns: 1,
placeholder: selectAll ? selectAll:'Select options',
optionAttributes: ['style', 'data-term-id'],
searchOptions: {'default': search.placeholder},
showCheckbox: showCheckbox,
onOptionClick: function (element, option){
if(typeof singleSelect!=='undefined'){
var value=jQuery(option).val();
jQuery(option).closest('ul').find('input[type="checkbox"][value!=' + value + ']').prop('checked', false);
jQuery(element).val(value);
jQuery(element).siblings('.ms-options-wrap').find('.ms-options:visible').hide();
}},
});
}, 100);
if(search.show){
jQuery('.ms-options-wrap').on('click', 'button', function (){
$(this).next('.ms-options').find('.ms-search input').focus();
});
}});
if(jQuery('.wpfFilterWrapper[data-filter-type="wpfSortBy"]').length==0){
jQuery('.woocommerce-ordering').css('display', 'block');
}
jQuery('.wpfFilterWrapper[data-hide-single="1"]').each(function(){
var filter=jQuery(this),
selector=filter.find('.wpfColorsFilter').length ? 'li[data-term-slug]':'[data-term-id]',
visible=0;
if(filter.attr('data-display-type')=='slider'){
var idsDef=filter.attr('data-ids-without-filtering').replaceAll(', ',',').split(',');
if(idsDef.length <=1) filter.hide();
}else{
filter.find(selector).each(function(){
if(jQuery(this).css('display')!='none') visible++;
});
if(visible <=1){
filter.hide();
}}
});
if(jQuery('.wpfFilterWrapper').length < 1){
jQuery('.wpfMainWrapper').addClass('wpfHidden');
}
jQuery('body').on('mousedown', '.wpfFilterButton, .js-wpfFilterButtonSearch', function (e){
e.preventDefault();
var $this=jQuery(this),
mainWrapper=$this.closest('.wpfMainWrapper'),
inputSearch=mainWrapper.find('.js-passiveFilterSearch');
if(inputSearch.length){
inputSearch.each(function(){
var $sElem=jQuery(this);
if($sElem.val()!==''){
$sElem.closest('.wpfFilterWrapper').removeClass('wpfNotActive');
}
$sElem.trigger('blur');
});
}
applyFilter(_thisObj, $this);
});
jQuery('input.js-passiveFilterSearch').on('keydown', function (e){
var char_code=e.which;
if(parseInt(char_code)==13){
e.preventDefault();
var $this=jQuery(this);
$this.closest('.wpfFilterWrapper').removeClass('wpfNotActive');
$this.trigger('blur');
applyFilter(_thisObj, $this);
}});
jQuery('body').on('click', '.wpfClearButton', function (e){
e.preventDefault();
var $filterWrapper=jQuery(this).closest('.wpfMainWrapper'),
settings=_thisObj.getFilterMainSettings($filterWrapper),
resetAllFilters=typeof settings.settings.reset_all_filters!=='undefined' ? settings.settings.reset_all_filters:0;
_thisObj.setCurrentLocation();
if(resetAllFilters!=='0'){
jQuery('.wpfMainWrapper').each(function(){
_thisObj.clearFilters(jQuery(this).find('.wpfFilterWrapper'), true);
});
}else{
_thisObj.clearFilters($filterWrapper.find('.wpfFilterWrapper'), true);
}
if(Number(settings.settings.redirect_after_select)||Number(settings.settings.redirect_only_click)){
_thisObj.filterClick=false;
}
_thisObj.filtering($filterWrapper, true);
if(typeof (_thisObj.initOneByOne)=='function'){
_thisObj.initOneByOne($filterWrapper);
}});
jQuery('.wpfFilterWrapper[data-filter-type="wpfPriceRange"] .wpfFilterContent input').on('change', function (e){
e.preventDefault();
var input=jQuery(this),
inputs=input.closest('.wpfFilterWrapper').find('input');
if(input.is(":checked")){
inputs.prop('checked', false);
input.prop('checked', true);
}});
jQuery('.wpfFilterWrapper[data-filter-type="wpfCategory"], .wpfFilterWrapper[data-filter-type="wpfPerfectBrand"], .wpfFilterWrapper[data-filter-type="wpfAttribute"]').each(function(){
var categoryFilter=jQuery(this),
displayType=categoryFilter.data('display-type'),
categoryMulti=displayType=='multi';
if(categoryFilter.data('filter-type')=='wpfAttribute'){
if(displayType=='list'||displayType=='switch') categoryMulti=true;
}
categoryFilter.find('.wpfFilterContent input').on('change', function (e){
e.preventDefault();
var input=jQuery(this);
if(categoryMulti){
var mainWrapper=input.closest('.wpfMainWrapper'),
filterWrapper=input.closest('.wpfFilterWrapper'),
expandSelectedToChild=_thisObj.getFilterParam('f_multi_extend_parent_select', mainWrapper, filterWrapper);
if(expandSelectedToChild&&input.is(':checked')){
input.closest('li').find('ul input').prop('checked', true);
}
if(expandSelectedToChild&&! input.is(':checked')){
input.closest('li').find('ul input').prop('checked', false);
}}
});
});
jQuery('.wpfFilterWrapper[data-filter-type="wpfRating"] .wpfFilterContent input').on('change', function (e){
e.preventDefault();
var input=jQuery(this),
inputs=input.closest('.wpfFilterWrapper').find('input');
if(input.is(":checked")){
inputs.prop('checked', false);
input.prop('checked', true);
}});
jQuery('body').off('change', '.wpfFilterWrapper select, .wpfFilterWrapper input:not(.passiveFilter)').on('change', '.wpfFilterWrapper select, .wpfFilterWrapper input:not(.passiveFilter)', function (e){
e.preventDefault();
var isExeptionCase=_thisObj.checkExeptionCasesBeforeFiltering(this);
if(!isExeptionCase){
var $this=jQuery(this);
if($this.is('input')&&$this.closest('.wpfFilterWrapper').data('display-type')=='mul_dropdown'){
isExeptionCase=true;
}}
if(!isExeptionCase){
setTimeout(function(){
_thisObj.eventChangeFilter(e);
}, 100);
}});
jQuery('.wpfFilterWrapper input:not(.passiveFilter)').on('change', function (e){
e.preventDefault();
_thisObj.moveCheckedToTop(jQuery(this));
_thisObj.detectSingleCheckbox(jQuery(this))
_thisObj.markCheckboxSelected(jQuery(this).closest('.wpfFilterWrapper'));
});
jQuery('.wpfMainWrapper').each(function(){
var mainWrapper=jQuery(this),
settings=_thisObj.getFilterMainSettings(mainWrapper);
if(settings&&settings.settings&&settings.settings.checked_items_top==='1'){
mainWrapper.find('.wpfFilterWrapper input').attr('autocomplete', 'off');
mainWrapper.find('.wpfFilterWrapper input:checked').each(function(){
_thisObj.moveCheckedToTop(jQuery(this), false);
});
}});
/*jQuery('.wpfFilterWrapper input:checked').each(function(){
_thisObj.moveCheckedToTop(jQuery(this), false);
});*/
jQuery('.wpfFilterWrapper .wpfSearchFieldsFilter').on('keyup', function (e){
var _this=jQuery(this),
wrapper=_this.closest('.wpfFilterWrapper'),
searchVal=_this.val().toLowerCase(),
isIconFunc=typeof (_thisObj.getIcons)=='function',
unfolding=(searchVal.length&&_this.attr('data-unfolding')=='1'&&isIconFunc),
collapse=(searchVal.length==0&&_this.attr('data-collapse-search')=='1'&&isIconFunc);
wrapper.find('.wpfFilterContent li:not(.wpfShowFewerWrapper)').filter(function(){
var $li=jQuery(this);
if($li.find('.wpfValue').text().toLowerCase().indexOf(searchVal) > -1){
$li.removeClass('wpfSearchHidden');
if(unfolding||collapse){
var $parentLi=$li.closest('li');
while ($parentLi.length&&$parentLi.closest('.wpfFilterWrapper')){
var $label=$parentLi.children('label'),
$icon=$label.length ? $label.find('i.fa, svg'):'';
if($icon.length){
var $icons=_thisObj.getIcons($icon.eq(0));
if($icons.collapsed&&unfolding||!$icons.collapsed&&collapse){
_thisObj.collapsibleToggle($icon.eq(0), $icons, $parentLi);
}}
$parentLi=$parentLi.closest('ul').closest('li');
}}
}else{
$li.addClass('wpfSearchHidden');
}});
if(typeof(_thisObj.initShowMore)=='function'){
_thisObj.initShowMore(wrapper.find('.wpfFilterVerScroll'));
}});
jQuery('body').off('click', '.wpfSlugDelete').on('click', '.wpfSlugDelete', function(){
var _this=jQuery(this),
wrapper=_this.closest('.wpfSlug'),
filterType=wrapper.attr('data-filter-type'),
filterAttr=wrapper.attr('data-get-attribute'),
filterWrapper=false;
_thisObj.setCurrentLocation();
jQuery('.wpfFilterWrapper[data-filter-type="'+filterType+'"][data-get-attribute="'+filterAttr+'"]').each(function(){
var $this=jQuery(this),
filterType=$this.attr("data-filter-type");
if(filterType=='wpfPrice'||filterType=='wpfPriceRange'){
_thisObj.clearFilters($("[data-filter-type='wpfPrice']:not(.wpfSelectedParameter)"));
_thisObj.clearFilters($("[data-filter-type='wpfPriceRange']:not(.wpfSelectedParameter)"));
}else{
_thisObj.clearFilters($this);
}
if(filterWrapper==false){
filterWrapper=$this.closest('.wpfMainWrapper');
}});
if(filterWrapper!=false){
_thisObj.filtering(filterWrapper);
}});
jQuery('body').off('click', '.wpfFilterWrapper .wpfFilterTitle').on('click', '.wpfFilterWrapper .wpfFilterTitle', function (e){
e.preventDefault();
var _this=jQuery(this),
wrapper=_this.closest('.wpfMainWrapper'),
settings=_thisObj.getFilterMainSettings(wrapper),
content=_this.closest('.wpfFilterWrapper').find('.wpfFilterContent');
setTimeout(function (){
var toggle=_this.find('i.wpfTitleToggle, svg'),
icons={};
if(toggle.length){
if(typeof (_thisObj.getIcons)=='function'){
icons=_thisObj.getIcons(toggle);
}else{
icons={collapsed: toggle.hasClass('fa-plus'), plusIcon: 'fa-plus', minusIcon: 'fa-minus'};}
if(settings.settings.hide_filter_icon!=='0'){
if(icons.collapsed){
_thisObj.openFilterToggle(toggle, content, true, icons);
}else{
_thisObj.closeFilterToggle(toggle, content, true, icons);
}}
}}, 100);
});
jQuery('body').off('click', '.wpfFilterWrapper .wpfBlockClear').on('click', '.wpfFilterWrapper .wpfBlockClear',  function(){
var parent=jQuery(this).closest(".wpfFilterWrapper"),
parentAttr=parent.attr("data-filter-type");
_thisObj.setCurrentLocation();
if(parentAttr=='wpfPrice'||parentAttr=='wpfPriceRange'){
_thisObj.clearFilters($("[data-filter-type='wpfPrice']:not(.wpfSelectedParameter)"));
_thisObj.clearFilters($("[data-filter-type='wpfPriceRange']:not(.wpfSelectedParameter)"));
}else{
_thisObj.clearFilters(parent);
}
_thisObj.filtering(parent.closest('.wpfMainWrapper'));
return false;
});
jQuery('body').off('wpffiltering').on('wpffiltering', function (){
_thisObj.setPagination(1);
_thisObj.setCurrentLocation();
_thisObj.filtering();
_thisObj.setPagination(0);
});
jQuery('body').off('click', '.wpfNoWooPage .woocommerce-pagination a.page-numbers').on('click', '.wpfNoWooPage .woocommerce-pagination a.page-numbers', function (e){
e.preventDefault();
var _this=jQuery(this),
paginationWrapper=_this.closest('.woocommerce-pagination'),
currentNumber=paginationWrapper.find('.current').text();
if(!_this.hasClass('next')&&!_this.hasClass('prev')){
var number=_this.text();
}else if(_this.hasClass('next')){
var number=parseInt(currentNumber) + 1;
}else if(_this.hasClass('prev')){
var number=(parseInt(currentNumber) - 1) < 1 ? parseInt(currentNumber) - 1:1;
}
var wrapper=jQuery('.wpfMainWrapper').first(),
$queryVars=wrapper.attr('data-settings');
try{
var settings=JSON.parse($queryVars);
}catch(e){
var settings=false;
}
if(settings){
settings.paged=number;
settings.pagination=1;
wrapper.attr('data-settings', JSON.stringify(settings));
}
_thisObj.setCurrentLocation();
_thisObj.filtering(jQuery('.wpfMainWrapper'));
_thisObj.setPagination(0);
});
var prevLocation=location.href.split('#').shift();
jQuery(window).on('popstate', function (e){
var currentLocation=location.href.split('#').shift();
if(location.href.split('#').length > 1&&prevLocation===currentLocation){
return;
}
if(typeof window.wpfAdminPage==='undefined'&&!_thisObj.isSafari){
location.reload();
}});
jQuery('.wpfPreselected:not([data-filter-type="wpfPriceRange"]) .wpfCheckbox input').prop('checked', true);
jQuery('#wpfOverlay:not([data-filter]').each(function(){
var $overlay=jQuery(this),
$wrapper=$overlay.closest('.wpfMainWrapper');
$overlay.attr('data-filter-for', $wrapper.attr('id')).attr('data-filter',$wrapper.attr('data-filter'));
$overlay.appendTo('body');
});
});
function applyFilter(_thisObj, $this){
var mainWrapper=$this.closest('.wpfMainWrapper');
_thisObj.setCurrentLocation();
_thisObj.filterClick=true;
_thisObj.filtering(mainWrapper);
}
WpfFrontendPage.prototype.filterOptionsForDevices=(function (){
var _thisObj=this.$obj;
jQuery('.wpfMainWrapper .wpfFilterWrapper').each(function (){
var _this=jQuery(this),
wrapper=_this.closest('.wpfMainWrapper'),
settings=_thisObj.getFilterMainSettings(wrapper),
isMobile=false,
screenSize=jQuery(window).width();
if(settings.settings!==undefined){
var isMobileBreakpoint=settings.settings.desctop_mobile_breakpoint_switcher,
mobileBreakpoinWidth=isMobileBreakpoint&&isMobileBreakpoint=='1' ? settings.settings.desctop_mobile_breakpoint_width:'0',
displayFor=settings.settings.display_for,
filterWidthDesktop=settings.settings.filter_width,
filterWidthDesktopUnit=settings.settings.filter_width_in,
filterWidthMobile=settings.settings.filter_width_mobile,
filterWidthMobileUnit=settings.settings.filter_width_in_mobile,
filterBlockWidthDesktop=settings.settings.filter_block_width,
filterBlockWidthDesktopUnit=settings.settings.filter_block_width_in,
filterBlockWidthMobile=settings.settings.filter_block_width_mobile,
filterBlockWidthMobileUnit=settings.settings.filter_block_width_in_mobile;
if(mobileBreakpoinWidth&&'0'!==mobileBreakpoinWidth){
if(screenSize <=mobileBreakpoinWidth){
isMobile=true;
}
if(isMobile&&filterBlockWidthMobile!='0'){
wrapper.css('width', filterWidthMobile+filterWidthMobileUnit);
_this.css('width', filterBlockWidthMobile+filterBlockWidthMobileUnit);
if(filterBlockWidthMobile+filterBlockWidthMobileUnit!='100%'){
_this.css('float', 'left');
}}else if(!isMobile&&filterBlockWidthDesktop!='0'){
wrapper.css('width', filterWidthDesktop+filterWidthDesktopUnit);
_this.css('width', filterBlockWidthDesktop+filterBlockWidthDesktopUnit);
if(filterBlockWidthDesktop+filterBlockWidthDesktopUnit!='100%'){
_this.css('float', 'left');
}}
if(isMobile&&displayFor=='desktop'){
wrapper.hide();
}else if(!isMobile&&displayFor=='mobile'){
wrapper.hide();
}
_this.find('.wpfFilterTitle[data-show-on-mobile]').each(function(){
jQuery(this).closest('.wpfFilterMainWrapper').find('wpfLoaderLayout').show();
var showDesctop=jQuery(this).data('show-on-desctop'),
showMobile=jQuery(this).data('show-on-mobile'),
content=jQuery(this).closest('.wpfFilterWrapper').find('.wpfFilterContent'),
title=jQuery(this).find('.wfpTitle'),
icons={};
title.show();
var toggle=jQuery(this).closest('.wpfFilterWrapper').find('i.wpfTitleToggle, svg');
setTimeout(function (){
if(toggle.length){
toggle.show();
if(typeof (_thisObj.getIcons)=='function'){
icons=_thisObj.getIcons(toggle);
}else{
icons={collapsed: toggle.hasClass('fa-plus'), plusIcon: 'fa-plus', minusIcon: 'fa-minus'};}
if(isMobile){
if(showMobile=='yes_open'){
_thisObj.openFilterToggle(toggle, content, false, icons);
}else if(showMobile=='yes_close'){
_thisObj.closeFilterToggle(toggle, content, false, icons);
}else if(showMobile=='no'){
_thisObj.openFilterToggle(toggle, content, false, icons);
toggle.hide();
title.hide();
}}else{
if(showDesctop=='yes_open'){
_thisObj.openFilterToggle(toggle, content, false, icons);
}else if(showDesctop=='yes_close'){
_thisObj.closeFilterToggle(toggle, content, false, icons);
}else if(showDesctop=='no'){
_thisObj.openFilterToggle(toggle, content, false, icons);
toggle.hide();
title.hide();
}}
}}, 100);
});
}}
});
});
WpfFrontendPage.prototype.checkExeptionCasesBeforeFiltering=(function (filterInput){
var isExeption=false;
if(jQuery(filterInput).parent().hasClass('wpfPriceCheckboxCustom')){
var customPriceWrapper=jQuery(filterInput).closest('li'),
customMin=customPriceWrapper.find('input[name=wpf_custom_min]').val(),
customMax=customPriceWrapper.find('input[name=wpf_custom_max]').val();
if(!customMin&&!customMax){
isExeption=true;
}}
return isExeption;
});
WpfFrontendPage.prototype.detectSingleCheckbox=(function (checkedInput){
var filterWrapper=checkedInput.closest('.wpfFilterWrapper'),
displayType=filterWrapper.data('display-type'),
filterType=filterWrapper.data('filter-type');
if(filterType=='wpfCategory'||filterType=='wpfPerfectBrand'||filterType=='wpfBrand'){
var isOne=displayType=='list';
}else{
var isOne=displayType=='radio';
}
if(isOne){
var inputs=filterWrapper.find('input');
if(checkedInput.is(':checked')){
inputs.prop('checked', false);
checkedInput.prop('checked', true);
}}
});
WpfFrontendPage.prototype.moveCheckedToTop=(function (checkedInput, setPause){
var _thisObj=this.$obj,
sPause=setPause===false ? 0:200;
setTimeout(function(){
var checkboxWrapper=checkedInput.closest('li'),
mainWrapper=checkedInput.closest('.wpfMainWrapper'),
filterWrapper=checkedInput.closest('.wpfFilterWrapper'),
isHierarchical=filterWrapper.data('show-hierarchical'),
settings=_thisObj.getFilterMainSettings(mainWrapper),
checkboxesWrapper=checkedInput.closest(isHierarchical ? 'ul':'.wpfFilterVerScroll');
if(settings&&checkboxesWrapper.length){
settings=settings.settings;
var checkedItemsTop=settings.checked_items_top==='1',
isExeptionCase=_thisObj.checkExeptionCasesBeforeFiltering(checkedInput);
if(checkedItemsTop&&!isExeptionCase){
if(checkedInput.is(":checked")){
checkboxesWrapper.prepend(checkboxWrapper);
}else{
checkboxesWrapper.append(checkboxWrapper);
checkboxesWrapper.append(checkboxesWrapper.find('.wpfShowFewerWrapper,.wpfShowMoreWrapper'));
}
checkboxesWrapper.scrollTop(0);
}}
}, sPause);
});
WpfFrontendPage.prototype.closeFilterToggle=(function (toggle, content, isTimeout, icons){
if(toggle.hasClass(icons.minusIcon)){
toggle.removeClass(icons.minusIcon);
toggle.addClass(icons.plusIcon);
content.addClass('wpfBlockAnimated');
if(typeof isTimeout!=='undefined'&&isTimeout){
setTimeout(function (){
if(content.hasClass('wpfBlockAnimated')) content.addClass('wpfHide');
}, 10);
}else{
if(content.hasClass('wpfBlockAnimated')) content.addClass('wpfHide');
}}
});
WpfFrontendPage.prototype.openFilterToggle=(function (toggle, content, isTimeout, icons){
if(toggle.hasClass(icons.plusIcon)){
toggle.removeClass(icons.plusIcon);
toggle.addClass(icons.minusIcon);
content.removeClass('wpfHide');
if(typeof isTimeout!=='undefined'&&isTimeout){
setTimeout(function (){
if(!content.hasClass('wpfHide')) content.removeClass('wpfBlockAnimated');
}, 400);
}else{
if(!content.hasClass('wpfHide')) content.removeClass('wpfBlockAnimated');
}}
});
WpfFrontendPage.prototype.setPagination=(function (pagination){
var wrapper=jQuery('.wpfMainWrapper').first(),
$queryVars=wrapper.attr('data-settings');
try{
var settings=JSON.parse($queryVars);
}catch(e){
var settings=false;
}
if(settings){
settings.pagination=pagination;
wrapper.attr('data-settings', JSON.stringify(settings));
}});
WpfFrontendPage.prototype.setCurrentLocation=(function(){
app.wpfOldUrl=window.location.href;
app.wpfNewUrl=app.wpfOldUrl;
});
WpfFrontendPage.prototype.filtering=(function ($filterWrapper, clearAll, redirectLink, onlyRecalcFilter){
var _thisObj=this.$obj;
_thisObj.chageRangeFieldWidth();
if(_thisObj.isAdminPreview) return;
if(typeof $filterWrapper=='undefined'||$filterWrapper.length==0){
$filterWrapper=jQuery('.wpfMainWrapper').first();
}
if(_thisObj.filterClick&&$filterWrapper.length){
_thisObj.createOverlay($filterWrapper.attr('id'));
}
if(typeof (_thisObj.beforeFilteringPro)==='function'){
_thisObj.beforeFilteringPro($filterWrapper);
}
_thisObj.isSynchro=false;
_thisObj.isStatistics=false;
if($filterWrapper.length!==0){
_thisObj.filteringId++;
_thisObj.lastFids[$filterWrapper.data('viewid')]=_thisObj.filteringId;
var $filtersDataBackend=[],
$filtersDataFrontend=[],
noWooPage=_thisObj.noWoo,
$generalSettings=_thisObj.getFilterMainSettings($filterWrapper);
_thisObj.isSynchro=$generalSettings['settings']['use_filter_synchro']&&($generalSettings['settings']['use_filter_synchro']=='1') ? true:false;
_thisObj.isStatistics=$filterWrapper.attr('data-is-stats')==1;
if(_thisObj.isSynchro){
_thisObj.syncronizeFilters($filterWrapper);
}
(_thisObj.isSynchro ? jQuery('.wpfMainWrapper'):$filterWrapper).find('.wpfFilterWrapper:not(.wpfNotActive), .wpfFilterWrapper.wpfPreselected').each(function (){
var $filter=jQuery(this),
filterType=$filter.attr('data-filter-type'),
filterName=$filter.attr('data-get-attribute'),
wrapper=$filter.closest('.wpfMainWrapper'),
idFilter=wrapper.data('filter'),
uniqId=$filter.attr('data-uniq-id'),
allSettings=_thisObj.getFilterOptionsByType($filter, filterType),
valueToPushBackend={},
valueToPushFrontend={},
logic=$filter.attr('data-query-logic'),
isGroup=false,
cgIndex=null;
if(_thisObj.isStatistics&&typeof (_thisObj.prepareStatisticsData)=='function'){
_thisObj.prepareStatisticsData($filter, allSettings);
}
try {
var order=JSON.parse(_thisObj.getFilterMainSettings(wrapper).settings.filters.order);
jQuery.each(order, function (i, v){
if(v.uniqId===uniqId){
jQuery.each(v.settings, function (i, v){
cgIndex=i.match(/^f_cglist\[(\d+)\]/);
if(cgIndex!==null&&typeof cgIndex[1]!=='undefined'&&v!==''){
isGroup=true;
}});
}});
} catch (e){
}
if(typeof logic==='undefined'){
logic='or';
}else if(logic=='not'){
var notIds=$filter.attr('data-not-ids');
if(notIds&&notIds.length > 0){
allSettings={backend: notIds.split(',')};}}
var withChildren=$filter.attr('data-query-children');
if(typeof withChildren==='undefined'){
withChildren='1';
}
if(allSettings['backend'].length&&typeof allSettings['backend']!=='undefined'||filterType==='wpfSearchText'||filterType==='wpfSearchNumber'){
valueToPushBackend['id']=filterType;
valueToPushBackend['uniqId']=uniqId;
valueToPushBackend['logic']=logic;
valueToPushBackend['children']=withChildren;
valueToPushBackend['settings']=allSettings['backend'];
valueToPushBackend['name']=filterName;
$filtersDataBackend.push(valueToPushBackend);
}
if('frontend' in allSettings){
valueToPushFrontend['id']=filterType;
var logicDelimetrList={
or: '|',
and: ',',
not_in: ';'
}
valueToPushFrontend['delim']=logicDelimetrList[logic];
valueToPushFrontend['children']=withChildren;
valueToPushFrontend['settings']=allSettings['frontend'];
valueToPushFrontend['name']=filterName;
if(isGroup){
valueToPushFrontend['idFilter']=idFilter;
valueToPushFrontend['idBlock']=uniqId.replace(/^wpf/, '');
}
$filtersDataFrontend.push(valueToPushFrontend);
}});
var redirectTerm=typeof redirectLink!=='undefined';
if(redirectTerm||(typeof $filterWrapper.data('redirect-page-url')!=='undefined'&&_thisObj.filterClick)){
history.pushState({state: 1, rand: Math.random(), wpf: true}, '', location.protocol + '//' + location.host + location.pathname);
}
var filterId=$filterWrapper.data('filter');
if(typeof filterId!=='undefined'){
jQuery('span.wpfHidden').each(function (){
var $span=jQuery(this),
attribute=$span.data('shortcode-attribute'),
fclass='wpf-filter-' + filterId;
if((attribute.class!==''&&fclass===attribute.class)||$span.closest('.'+fclass).length){
_thisObj.QStringWork('wpf_id', filterId, noWooPage, $filterWrapper, 'change');
}});
}
_thisObj.changeUrlByFilterParams($filtersDataFrontend);
_thisObj.QStringWork('wpf_reload', '', noWooPage, $filterWrapper, 'remove');
var $queryVars=$filterWrapper.attr('data-settings'),
$defQuery=$filterWrapper.attr('data-default-query'),
$queryVarsSettings=JSON.parse($queryVars);
var $filterSettings=$generalSettings===false ? {}:{
'wpf_fid': _thisObj.filteringId,
'filter_recount': $generalSettings['settings']['filter_recount']&&($generalSettings['settings']['filter_recount']=='1') ? true:false,
'filter_recount_price': $generalSettings['settings']['filter_recount_price']&&($generalSettings['settings']['filter_recount_price']=='1') ? true:false,
'text_no_products': $generalSettings['settings']['text_no_products'] ? $generalSettings['settings']['text_no_products']:'',
'count_product_shop': $generalSettings['settings']['count_product_shop'] ? parseInt($generalSettings['settings']['count_product_shop']):0,
'f_multi_logic': $generalSettings['settings']['f_multi_logic'] ? $generalSettings['settings']['f_multi_logic']:'and',
'remove_actions': $generalSettings['settings']['remove_actions']&&($generalSettings['settings']['remove_actions']=='1') ? true:false,
'filtering_by_variations': $generalSettings['settings']['filtering_by_variations']&&($generalSettings['settings']['filtering_by_variations']=='1') ? true:false,
'form_filter_by_variations': $generalSettings['settings']['form_filter_by_variations']&&($generalSettings['settings']['form_filter_by_variations']=='1') ? true:false,
'exclude_backorder_variations': $generalSettings['settings']['exclude_backorder_variations']&&($generalSettings['settings']['exclude_backorder_variations']=='1') ? true:false,
'display_product_variations': $generalSettings['settings']['display_product_variations']&&($generalSettings['settings']['display_product_variations']=='1') ? true:false,
'all_products_filtering': $generalSettings['settings']['all_products_filtering']&&($generalSettings['settings']['all_products_filtering']=='1') ? true:false,
'do_not_use_shortcut': $generalSettings['settings']['do_not_use_shortcut']&&($generalSettings['settings']['do_not_use_shortcut']=='1') ? true:false,
'use_category_filtration': $generalSettings['settings']['use_category_filtration'] ? $generalSettings['settings']['use_category_filtration']:1,
'product_list_selector': $generalSettings['settings']['product_list_selector'] ? $generalSettings['settings']['product_list_selector']:'',
'product_container_selector': $generalSettings['settings']['product_container_selector'] ? $generalSettings['settings']['product_container_selector']:'',
'auto_update_filter':Number($generalSettings['settings']['auto_update_filter']),
'redirect_only_click':Number($generalSettings['settings']['redirect_only_click']),
'display_status_private':$generalSettings['settings']['display_status_private']&&($generalSettings['settings']['display_status_private']=='1') ? true:false,
'open_one_by_one': $generalSettings['settings']['open_one_by_one'] ? $generalSettings['settings']['open_one_by_one']:'',
'obo_only_children': $generalSettings['settings']['obo_only_children'] ? $generalSettings['settings']['obo_only_children']:'',
'display_only_children_category': $generalSettings['settings']['display_only_children_category'] ? $generalSettings['settings']['display_only_children_category']:'',
};
var $withPerPage=$filterWrapper.find('select.wpfPerPageDD'),
perPageCount=$withPerPage.length ? $withPerPage.find('option:selected'):'';
if(perPageCount.length){
$filterSettings['count_product_shop']=perPageCount.val();
}
$filterSettings['sort_by_title']=($generalSettings['settings']['sort_by_title']!=undefined&&$generalSettings['settings']['sort_by_title']=='1' ? true:false);
if(typeof $defQuery!=='undefined'&&$defQuery.length) $filterSettings['default_query']=JSON.parse($defQuery);
var productContainerSelector=_thisObj.fixSelector($filterSettings['product_container_selector'], ''),
productContainerElem=(productContainerSelector!=='')
? jQuery(productContainerSelector)
: jQuery(document);
$queryVars=JSON.parse($queryVars);
var shortcode=jQuery('span[data-shortcode-attribute]', productContainerElem),
$shortcodeAttr={};
if(shortcode.length){
$shortcodeAttr=shortcode.data('shortcode-attribute');
if($shortcodeAttr['limit'] > 0){
$queryVars['posts_per_page']=$shortcodeAttr['limit'];
}
$queryVars['wc_loop_type']='shortcode';
$queryVars['paginate_type']='shortcode';
$queryVars['paginate_base']='product-page';
}else{
$queryVars['wc_loop_type']='loop';
}
var $wppp=jQuery('.wppp-select').first();
if($wppp.length){
$queryVars['posts_per_page']=$wppp.val();
}
$queryVars=JSON.stringify($queryVars);
$shortcodeAttr=JSON.stringify($shortcodeAttr);
if(clearAll){
var newUrl=getCurrentUrlPartsWpf();
if(newUrl.search.length&&newUrl.search.indexOf('wpf_')) clearAll=false;
}
if($filterSettings['count_product_shop'] > 0&&!clearAll){
_thisObj.QStringWork('wpf_count', $filterSettings['count_product_shop'], noWooPage, $filterWrapper, 'change');
}
if($filterSettings['sort_by_title']){
_thisObj.QStringWork('wpf_order', 'title', noWooPage, $filterWrapper, 'change');
}
if($filterSettings['filtering_by_variations']&&!clearAll){
_thisObj.QStringWork('wpf_fbv', 1, noWooPage, $filterWrapper, 'change');
}
if($filterSettings['exclude_backorder_variations']&&!clearAll){
_thisObj.QStringWork('wpf_ebv', 1, noWooPage, $filterWrapper, 'change');
}
if($filterSettings['display_product_variations']&&!clearAll){
_thisObj.QStringWork('wpf_dpv', 1, noWooPage, $filterWrapper, 'change');
}
if($filterSettings['all_products_filtering']&&!clearAll){
_thisObj.QStringWork('all_products_filtering', '1', noWooPage, $filterWrapper, 'change');
}
if($filtersDataBackend.length===0){
_thisObj.QStringWork('all_products_filtering', '', noWooPage, $filterWrapper, 'remove');
}
if($filterSettings['f_multi_logic']!=='and'&&!clearAll){
_thisObj.QStringWork('wpf_filter_tax_block_logic', $filterSettings['f_multi_logic'], noWooPage, $filterWrapper, 'change');
}
if($filtersDataBackend.length===0){
_thisObj.QStringWork('wpf_filter_tax_block_logic', '', noWooPage, $filterWrapper, 'remove');
}
_thisObj.QStringWork($queryVarsSettings['paginate_base'], '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('product-page', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('shopPage', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('avia-element-paging', '', noWooPage, $filterWrapper, 'remove');
var curUrl=getCurrentUrlPartsWpf();
if(curUrl.search.length){
var ePageMatch=curUrl.search.match(/[?&](e-page-[^=&]+)=/);
if(ePageMatch&&ePageMatch[1]){
_thisObj.QStringWork(ePageMatch[1], '', noWooPage, $filterWrapper, 'remove');
}
var $pages=curUrl.search.match(/query-\d+-page/i);
if($pages!=null&&$pages.length) _thisObj.QStringWork($pages[0], '', noWooPage, $filterWrapper, 'remove');
}
var $woocommerceSettings={};
if(jQuery('.wpfFilterWrapper[data-filter-type="wpfSortBy"]').length==0){
var $wooCommerceSort=jQuery('.woocommerce-ordering select');
if($wooCommerceSort.length > 0){
$woocommerceSettings['woocommercefSortBy']=$wooCommerceSort.eq(0).val();
}}
if(onlyRecalcFilter){
var requestData=_thisObj.getAjaxRequestData($filtersDataBackend, $queryVars, $filterSettings, $generalSettings, $shortcodeAttr, $woocommerceSettings);
_thisObj.ajaxOnlyRecount(requestData, $filterWrapper.attr('id'));
return;
}
var redirect=(typeof $filterWrapper.data('redirect-page-url')!=='undefined'),
$needUrl=$filterSettings['open_one_by_one']=='1'&&$filterSettings['obo_only_children']=='1';
if(history.pushState&&app.wpfNewUrl!=window.wpfOldUrl&&((!redirect&&!redirectTerm)||$needUrl)){
var newUrl=app.wpfNewUrl.indexOf('pr_search_') > 0 ? app.wpfNewUrl.replace('+', '%2b'):app.wpfNewUrl;
history.pushState({state: 1, rand: Math.random(), wpf: true}, '', newUrl);
app.wpfOldUrl=app.wpfNewUrl;
_thisObj.changeSlugByUrl();
}
if(redirectTerm||(redirect&&_thisObj.filterClick)){
let queryString=app.wpfNewUrl.split('?')[1]||'';
if(queryString!==''){
if(_thisObj.isStatistics){
var requestData=_thisObj.getAjaxRequestData($filtersDataBackend, $queryVars, $filterSettings, $generalSettings, $shortcodeAttr, $woocommerceSettings);
wpfDoActionsAfterLoad(_thisObj.filteringId, -1, requestData);
}
var redLink=(redirectTerm ? redirectLink:$filterWrapper.data('redirect-page-url'));
jQuery(location).attr('href', redLink + (redLink.indexOf('?')==-1 ? '?':'&') + queryString + '&redirect');
}}else{
if($generalSettings&&$generalSettings.settings.enable_ajax!=='1'){
if(_thisObj.isStatistics){
var requestData=_thisObj.getAjaxRequestData($filtersDataBackend, $queryVars, $filterSettings, $generalSettings, $shortcodeAttr, $woocommerceSettings);
wpfDoActionsAfterLoad(_thisObj.filteringId, -1, requestData);
}
if(_thisObj.isSafari||navigator.userAgent.match(/firefox|fxios/i)) location.reload(true);
else location.reload();
return;
}
_thisObj.currentFilterBackend=$filtersDataBackend;
var customEvent=document.createEvent('Event');
customEvent.initEvent('wpfAjaxStart', false, true);
document.dispatchEvent(customEvent);
_thisObj.currentLoadId=$filterWrapper.attr('id');
var $wtbpFilterWrapper=$filterWrapper.closest('.wpfFilterForWtbp');
if($wtbpFilterWrapper.length==0){
if($filterWrapper.closest('.wpfFilterForWtbpFloating').length){
$wtbpFilterWrapper=$('.wpfFilterForWtbp[data-wpf-id="'+$filterWrapper.attr('data-filter')+'"]');
}}
if($wtbpFilterWrapper.length==1){
var wtbpTableId=$wtbpFilterWrapper.closest('.wtbpTableWrapper').attr('data-table-id'),
wtbpTable=wtbpTableId ? window.woobewoo.WooTablepress.getTableInstanceById(wtbpTableId):false;
if(wtbpTable&&wtbpTable.isSSP){
wtbpTable.ajax.reload();
return;
}}
_thisObj.sendFiltersOptionsByAjax(_thisObj.currentFilterBackend, $queryVars, $filterSettings, $generalSettings, $woocommerceSettings, $shortcodeAttr);
if(_thisObj.isSynchro){
jQuery('.wpfMainWrapper:not(#'+_thisObj.currentLoadId+')').each(function(){
var $synchroWrapper=jQuery(this);
$generalSettings=_thisObj.getFilterMainSettings($synchroWrapper);
var requestData=_thisObj.getAjaxRequestData($filtersDataBackend, $queryVars, $filterSettings, $generalSettings, $shortcodeAttr, $woocommerceSettings);
_thisObj.ajaxOnlyRecount(requestData, $synchroWrapper.attr('id'));
});
}}
}});
WpfFrontendPage.prototype.getAjaxRequestData=(function ($filtersDataBackend, $queryVars, $filterSettings, $generalSettings, $shortcodeAttr, $woocommerceSettings){
$generalSettings=$generalSettings ? $generalSettings['settings']['filters']['order']:[];
var typeSettings=typeof $generalSettings;
if(typeSettings=='undefined') $generalSettings='[]';
else if(typeSettings!='string') $generalSettings=JSON.stringify($generalSettings);
return {
mod: 'woofilters',
action: 'filtersFrontend',
filtersDataBackend: JSON.stringify($filtersDataBackend),
queryvars: $queryVars,
filterSettings: JSON.stringify($filterSettings),
generalSettings: $generalSettings,
shortcodeAttr: $shortcodeAttr,
woocommerceSettings: JSON.stringify($woocommerceSettings),
currenturl: window.location.href,
};});
WpfFrontendPage.prototype.createOverlay=(function (filterId){
var selector='#wpfOverlay';
if(typeof filterId!='undefined') selector +='[data-filter-for="'+filterId+'"]';
jQuery(selector).css({'display':'block'});
});
WpfFrontendPage.prototype.removeOverlay=(function (){
jQuery('#wpfOverlay').css({'display':'none'});
jQuery('#wpfOverlay[data-filter-for]').css({'display':'none'});
});
WpfFrontendPage.prototype.syncronizeFilters=(function ($filterWrapper){
var _thisObj=this.$obj,
filterId=$filterWrapper.attr('id');
$filterWrapper.find('.wpfFilterWrapper').each(function (){
var $filter=jQuery(this),
filterType=$filter.attr('data-filter-type'),
filterDisplay=$filter.attr('data-display-type'),
filterSlug=$filter.attr('data-slug'),
filterTaxonomy=$filter.attr('data-taxonomy'),
selector='.wpfMainWrapper:not(#'+filterId+') .wpfFilterWrapper[data-filter-type="'+filterType+'"]';
if(filterDisplay) selector +='[data-display-type="'+filterDisplay+'"]';
if(filterSlug) selector +='[data-slug="'+filterSlug+'"]';
if(filterTaxonomy) selector +='[data-taxonomy="'+filterTaxonomy+'"]';
var $synchroFilters=jQuery(selector);
if($synchroFilters.length){
$synchroFilters.find('input').prop('checked', false).trigger('wpf-synchro');
$filter.find('input:checked').each(function(){
var $li=jQuery(this).closest('[data-term-id]');
if($li){
var $synchroInput=$synchroFilters.find('[data-term-id="'+$li.attr('data-term-id')+'"] input');
if($synchroInput.length==0&&filterDisplay=='colors') $synchroInput=$synchroFilters.find('input[data-term-id="'+$li.attr('data-term-id')+'"]');
if($synchroInput.length) $synchroInput.prop('checked', true).trigger('wpf-synchro');
}});
if(filterType==='wpfPrice'){
var min=$filter.find('#wpfMinPrice').val(),
max=$filter.find('#wpfMaxPrice').val();
$synchroFilters.each(function(){
var $slider=jQuery(this);
$slider.find('#wpfMinPrice').val(min);
$slider.find('#wpfMaxPrice').val(max);
});
}else if(filterDisplay=='mul_dropdown'){
$synchroFilters.find('select').val($filter.find('select').val());
$synchroFilters.find('select.jqmsLoaded').multiselect('reload');
}else if(filterDisplay=='text'){
$synchroFilters.find('input').val($filter.find('input').val());
}else{
var value=$filter.find('select').val();
$synchroFilters.find('select').each(function(){
if(jQuery(this).find('option[value="'+value+'"]').length) jQuery(this).val(value);
});
}
if(typeof(_thisObj.syncronizeFiltersPro)=='function'){
_thisObj.syncronizeFiltersPro($filter, $synchroFilters);
}
if($filter.hasClass('wpfNotActive')) $synchroFilters.addClass('wpfNotActive');
else $synchroFilters.removeClass('wpfNotActive');
}});
});
WpfFrontendPage.prototype.clearFilters=(function (filter, clearAll){
var _thisObj=this.$obj,
noWooPage=_thisObj.noWoo,
clearAll=typeof clearAll=='undefined' ? false:true;
(filter ? filter:jQuery('.wpfFilterWrapper')).each(function (){
var $filter=jQuery(this),
$filterWrapper=$filter.closest('.wpfMainWrapper'),
filterAttribute=$filter.attr('data-get-attribute'),
filterType=$filter.attr('data-display-type'),
defValue=$filter.attr('data-filter-default');
if(typeof defValue==='undefined'){
defValue='';
}
filterAttribute=filterAttribute.split(",");
var count=filterAttribute.length;
for(var i=0; i < count; i++){
_thisObj.QStringWork(filterAttribute[i], '', noWooPage, $filterWrapper, 'remove');
}
if($filter.hasClass('wpfHidden')){
$filter.removeClass('wpfNotActive');
}else{
$filter.find('input').prop('checked', false);
if(filterType=='mul_dropdown'){
$filter.find('select').val('');
$filter.find('select.jqmsLoaded').multiselect('reload');
}else if(filterType=='text'){
$filter.find('input').val('');
}else{
$filter.find("select").val($filter.find("select option:first").val());
}
if(defValue.length&&clearAll){
if(filterType=='dropdown'){
$filter.find('select').val($filter.find('select option[data-term-slug="'+defValue+'"]').val());
}else{
$filter.find('li[data-term-slug="'+defValue+'"] input').prop('checked', true);
}
$filter.removeClass('wpfNotActive');
}else{
$filter.addClass('wpfNotActive');
}}
if($filter.attr('data-filter-type')==='wpfPrice'){
var min=$filter.find('#wpfMinPrice').attr('min'),
max=$filter.find('#wpfMaxPrice').attr('max');
$filter.find('#wpfMinPrice').val(min);
$filter.find('#wpfMaxPrice').val(max);
jQuery("#wpfSliderRange").slider("option", "values", [ min, max ]);
}
if(typeof(_thisObj.clearFiltersPro)=='function'){
_thisObj.clearFiltersPro($filter);
}
if(typeof(_thisObj.eventChangeFilterPro)=='function'){
_thisObj.eventChangeFilterPro($filter);
}
if(clearAll){
_thisObj.QStringWork('wpf_order', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('wpf_count', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('all_products_filtering', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('wpf_oistock', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('wpf_fbv', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('wpf_dpv', '', noWooPage, $filterWrapper, 'remove');
_thisObj.QStringWork('wpf_ebv', '', noWooPage, $filterWrapper, 'remove');
}});
_thisObj.markCheckboxSelected(filter);
});
WpfFrontendPage.prototype.getFilterMainSettings=(function ($selector){
var settingsStr=$selector.attr('data-filter-settings');
try{
var settings=JSON.parse(settingsStr);
}catch(e){
var settings=false;
}
if(settings===false){
settingsStr=settingsStr.replace('}]"', '}]').replace('"[{', '[{');
try{
settings=JSON.parse(settingsStr);
}catch(e){
settings=false;
}}
return settings;
});
WpfFrontendPage.prototype.getFilterParam=(function (paramSlug, mainWrapper, filterWrapper){
var paramValue=null,
_thisObj=this.$obj,
mainSettings=_thisObj.getFilterMainSettings(mainWrapper),
orderKey=filterWrapper.attr('data-order-key');
if(mainSettings.settings.filters.order&&typeof orderKey!==undefined){
var filtersOderList=JSON.parse(mainSettings.settings.filters.order);
if(typeof filtersOderList[orderKey]!==undefined){
var filterParamList=filtersOderList[orderKey].settings;
if(typeof filterParamList[paramSlug]!==undefined){
paramValue=filterParamList[paramSlug];
}}
}
return paramValue;
});
WpfFrontendPage.prototype.checkNoWooPage=(function (){
var noWooPage=false;
if(jQuery('.wpfMainWrapper').first().attr('data-nowoo')){
noWooPage=true;
}
return noWooPage;
});
WpfFrontendPage.prototype.changeLmpButton=(function (){
var lmpBtn=jQuery('.br_lmp_button_settings .lmp_button');
if(lmpBtn.length){
var parentStyle=lmpBtn.parent().attr('style').replace(' ', '');
if(parentStyle.indexOf('display:none') > -1){
return;
}
var url=lmpBtn.attr('href').split('?')[0];
url +=window.location.search;
url=url.indexOf('/page/2') > -1 ? url:url.replace(/\/page\/[0-9]{1,}/ig, '/page/2');
lmpBtn.attr('href', url);
setTimeout(function(){
jQuery('.woocommerce-pagination').addClass('wpfHidden');
}, 1000);
}});
WpfFrontendPage.prototype.changeUrlByFilterParams=(function ($filtersDataFrontend){
var _thisObj=this.$obj,
noWooPage=_thisObj.noWoo;
if(typeof $filtersDataFrontend!=='undefined'&&$filtersDataFrontend.length > 0){
var count=$filtersDataFrontend.length,
filterWrapper=jQuery('.wpfMainWrapper'),
priceFlag=true;
for(var i=0; i < count; i++){
switch ($filtersDataFrontend[i]['id']){
case 'wpfPrice':
case 'wpfPriceRange':
if(priceFlag){
var minPrice=$filtersDataFrontend[i]['settings']['wpf_min_price'],
maxPrice=$filtersDataFrontend[i]['settings']['wpf_max_price'],
tax=$filtersDataFrontend[i]['settings']['tax'];
if(typeof minPrice!=='undefined'&&minPrice.length > 0){
_thisObj.QStringWork('wpf_min_price', minPrice, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('wpf_min_price', '', noWooPage, filterWrapper, 'remove');
}
if(typeof maxPrice!=='undefined'&&maxPrice.length > 0){
_thisObj.QStringWork('wpf_max_price', maxPrice, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('wpf_max_price', '', noWooPage, filterWrapper, 'remove');
}
if(typeof tax!=='undefined'){
_thisObj.QStringWork('tax', tax, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('tax', '', noWooPage, filterWrapper, 'remove');
}
priceFlag=false;
}
break;
case 'wpfSortBy':
var orderby=$filtersDataFrontend[i]['settings']['orderby'],
oistock=$filtersDataFrontend[i]['settings']['oistock'];
if(typeof orderby!=='undefined'&&orderby.length > 0){
_thisObj.QStringWork('orderby', orderby, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('orderby', '', noWooPage, filterWrapper, 'remove');
}
if(typeof oistock!=='undefined'&&oistock==1){
_thisObj.QStringWork('wpf_oistock', 1, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('wpf_oistock', '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfCategory':
case 'wpfPerfectBrand':
var product_cat=$filtersDataFrontend[i]['settings']['settings'],
name=$filtersDataFrontend[i]['name'],
delim=$filtersDataFrontend[i]['delim'];
product_cat=product_cat.join(delim ? delim:'|');
if(typeof product_cat!=='undefined'&&product_cat.length > 0){
_thisObj.QStringWork(name, product_cat, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork(name, '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfTags':
var product_tag=$filtersDataFrontend[i]['settings']['settings'],
name=$filtersDataFrontend[i]['name'],
delim=$filtersDataFrontend[i]['delim'];
product_tag=product_tag.join(delim ? delim:'|');
if(typeof product_tag!=='undefined'&&product_tag.length > 0){
_thisObj.QStringWork(name, product_tag, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork(name, '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfAttribute':
var product_taxonomy=$filtersDataFrontend[i]['settings']['taxonomy'],
product_attr=$filtersDataFrontend[i]['settings']['settings'],
delim=$filtersDataFrontend[i]['delim'];
product_attr=product_attr.join(delim ? delim:'|');
if(typeof product_attr!=='undefined'&&product_attr.length > 0){
_thisObj.QStringWork(product_taxonomy, product_attr, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork(product_taxonomy, '', noWooPage, filterWrapper, 'remove');
}
if(typeof $filtersDataFrontend[i]['idBlock']!=='undefined'&&typeof $filtersDataFrontend[i]['idFilter']!=='undefined'){
_thisObj.QStringWork('group' + product_taxonomy.replace('filter', '') + $filtersDataFrontend[i]['idBlock'], $filtersDataFrontend[i]['idFilter'], noWooPage, filterWrapper, 'change');
}
break;
case 'wpfAuthor':
var authorVal=$filtersDataFrontend[i]['settings']['settings'],
name=$filtersDataFrontend[i]['name'],
delim=$filtersDataFrontend[i]['delim'];
authorVal=authorVal.join(delim ? delim:'|');
if(typeof authorVal!=='undefined'&&authorVal.length > 0){
_thisObj.QStringWork('pr_author', authorVal, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('pr_author', '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfFeatured':
var featureVal=$filtersDataFrontend[i]['settings']['settings'];
if(typeof featureVal!=='undefined'&&featureVal.length > 0){
_thisObj.QStringWork('pr_featured', featureVal, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('pr_featured', '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfOnSale':
var onSaleVal=$filtersDataFrontend[i]['settings']['settings'];
if(typeof onSaleVal!=='undefined'&&onSaleVal.length > 0){
_thisObj.QStringWork('pr_onsale', onSaleVal, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('pr_onsale', '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfInStock':
var pr_stock=$filtersDataFrontend[i]['settings']['settings'];
pr_stock=pr_stock.join(delim ? delim:'|');
if(typeof pr_stock!=='undefined'&&pr_stock.length > 0){
_thisObj.QStringWork('pr_stock', pr_stock, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('pr_stock', '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfRating':
var ratingVal=$filtersDataFrontend[i]['settings']['settings'];
if(typeof ratingVal!=='undefined'&&checkArray(ratingVal)&&ratingVal.length > 0){
_thisObj.QStringWork('pr_rating', ratingVal, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('pr_rating', '', noWooPage, filterWrapper, 'remove');
}
break;
default:
if(typeof(_thisObj.changeUrlByFilterParamsPro)=='function'){
_thisObj.changeUrlByFilterParamsPro($filtersDataFrontend[i], noWooPage, filterWrapper);
}
break;
}}
}else{
return false;
}});
WpfFrontendPage.prototype.changeSlugByUrl=(function (){
jQuery('.wpfSlugWrapper .wpfSlug').remove();
var _thisObj=this.$obj,
noWooPage=_thisObj.noWoo,
searchParams=jQuery.toQueryParams(window.location.search);
if(noWooPage){
if(jQuery('.wpfMainWrapper').first().attr('data-hide-url')){
searchParams=jQuery.toQueryParams(jQuery('.wpfMainWrapper').first().attr('data-hide-url'));
}}
var isRedirect='redirect' in searchParams&&searchParams['redirect']==1;
for (var key in searchParams){
if(key==='wpf_min_price'){
key='wpf_min_price,wpf_max_price,tax';
}
var $elem=jQuery('.wpfFilterWrapper[data-get-attribute="'+key+'"]');
if(!$elem.length&&isRedirect){
var parts=key.split('_'),
cnt=parts.length;
if(cnt > 2&&isNumber(parts[cnt-1])){
parts.pop();
$elem=jQuery('.wpfFilterWrapper[data-get-attribute^="'+parts.join('_')+'"]');
_thisObj.QStringWork(key, '', false, $elem.closest('.wpfMainWrapper'), 'remove');
}}
if($elem.length > 0){
var elem=$elem.first(),
$slug=elem.attr('data-slug'),
$label=elem.attr('data-label'),
$title=elem.attr('data-title'),
$getAttr=elem.attr('data-get-attribute'),
$filterType=elem.attr('data-filter-type');
if(typeof $title!='undefined') $label=$title;
else if(typeof $label=='undefined') $label=$slug;
var html='';
if(jQuery('.wpfSlugWrapper').length > 0){
if(!jQuery('.wpfSlugWrapper .wpfSlug[data-slug="'+$slug+'"]').length > 0){
html +='<div class="wpfSlug" data-slug="'+$slug+'" data-get-attribute="'+$getAttr+'" data-filter-type="'+$filterType+'"><div class="wpfSlugTitle">'+$label+'</div><div class="wpfSlugDelete">x</div></div>';
jQuery('.wpfSlugWrapper').append(html);
}}else{
if(!jQuery('.wpfSlugWrapper .wpfSlug[data-slug="'+$slug+'"]').length > 0){
html +='<div class="wpfSlugWrapper">';
html +='<div class="wpfSlug" data-slug="'+$slug+'" data-get-attribute="'+$getAttr+'" data-filter-type="'+$filterType+'"><div class="wpfSlugTitle">'+$label+'</div><div class="wpfSlugDelete">x</div></div>';
html +='</div>';
jQuery('.storefront-sorting').append(html);
}}
}
if(isRedirect&&history.pushState&&app.wpfNewUrl!=window.wpfOldUrl){
history.pushState({state: 1, rand: Math.random(), wpf: true}, '', app.wpfNewUrl);
app.wpfOldUrl=app.wpfNewUrl;
}}
});
WpfFrontendPage.prototype.sendFiltersOptionsByAjax=(function ($filtersDataBackend, $queryVars, $filterSettings, $generalSettings, $woocommerceSettings, $shortcodeAttr){
var _thisObj=this.$obj,
$wrapperSettings=[];
if(window.wpfAdminPage){
return false;
}
_thisObj.currentAjaxJSLoaded=false;
_thisObj.currentProductBlock=false;
if(_thisObj.filterLoadTypes[_thisObj.currentLoadId]&&_thisObj.filterLoadTypes[_thisObj.currentLoadId]=='reload'){
location.reload();
return;
}
var ajax_leave_products=$generalSettings&&$generalSettings['settings']&&$generalSettings['settings']['ajax_leave_products']=='1'
if(typeof $generalSettings!=='undefined'){
$wrapperSettings=$generalSettings['settings'];
}
var customListSelector=$filterSettings['product_list_selector'],
productListSelector=_thisObj.fixSelector(customListSelector, _thisObj.defaultProductSelector),
productContainerSelector=_thisObj.fixSelector($filterSettings['product_container_selector'], ''),
forceThemeTemplates=($wrapperSettings['force_theme_templates']==1);
var productContainerElem=(productContainerSelector!=='')
? jQuery(productContainerSelector)
: jQuery(document);
if(productContainerElem.length===0){
location.reload();
return;
}
var productListElem=jQuery(productListSelector, productContainerElem);
if(productListElem.hasClass('wpfNoWooPage')||productListElem.closest('.wpfNoWooPage').length){
forceThemeTemplates=false;
}
if(productListElem.length&&(_thisObj.filterClick)){
if(_thisObj.enableFiltersLoaderPro&&ajax_leave_products){
_thisObj.enableFiltersLoaderPro(_thisObj.currentLoadId, productListElem);
}else{
_thisObj.enableFiltersLoader(_thisObj.currentLoadId, productListElem);
}}
var onlyRecount=false;
if($filterSettings===undefined){
$filterSettings=[];
}else{
if(!_thisObj.filterClick&&$filterSettings.auto_update_filter&&!$filterSettings.redirect_only_click){
onlyRecount=true;
}}
var requestData=_thisObj.getAjaxRequestData($filtersDataBackend, $queryVars, $filterSettings, $generalSettings, $shortcodeAttr, $woocommerceSettings);
if(onlyRecount){
_thisObj.ajaxOnlyRecount(requestData, _thisObj.currentLoadId, $wrapperSettings);
return;
}else if(forceThemeTemplates||_thisObj.filterLoadTypes[_thisObj.currentLoadId]=='force'){
_thisObj.ajaxForceThemeTemplates(productContainerSelector, productListSelector, requestData, $wrapperSettings);
return;
}
if(window.InfiniteScroll&&window.InfiniteScroll.prototype){
if(_thisObj.filterClick&&jQuery('body').hasClass('theme-flatsome')){
location.reload();
return;
}}
_thisObj.filterLoadTypes[_thisObj.currentLoadId]='ajax';
jQuery.sendFormWpf({
data: requestData,
onSuccess: function(res){
if(!res.error){
if('fid' in res.data&&toeInArray(res.data['fid'], _thisObj.lastFids)==-1){
return false;
}
if('optionsHtml' in res.data){
var optionsHtml=res.data['optionsHtml'];
jQuery('.wpfMainWrapper .wpfFilterWrapper[data-order-key]').each(function(){
var $filter=jQuery(this),
orderKey=$filter.attr('data-order-key'),
$select=$filter.find('select');
if(typeof optionsHtml[orderKey]!=='undefined'&&$select.length){
var selectedValues=[];
$select.find('option:selected').each(function(){
selectedValues.push(jQuery(this).val());
});
$select.html(optionsHtml[orderKey]);
if(selectedValues.length){
$select.val(selectedValues);
}}
});
}
if('jscript' in res.data){
_thisObj.setAjaxJScript(res.data['jscript']);
}
if(_thisObj.filterClick){
if(customListSelector!==''&&productListElem.length){
var loopContainer=productListElem;
loopContainer.html(res.data['productHtml']);
}else{
var catSelector=wpfGetSelector(res.data['categoryHtml'], true, _thisObj.defaultProductSelector, 1, false, productContainerElem),
loopSelector=wpfGetSelector(res.data['loopStartHtml'], true, _thisObj.defaultProductSelector, 3, false, productContainerElem),
loopContainer=jQuery(loopSelector, productContainerElem);
if(!loopContainer.length){
loopSelector=wpfGetSelector(res.data['loopStartHtml'], true, _thisObj.defaultProductSelector, 3, true, productContainerElem);
loopContainer=jQuery(loopSelector, productContainerElem);
}
loopContainer.prev('.brand-description').remove();
if(typeof res.data['beforeProductHtml']!=='undefined'){
loopContainer.before('<div class="brand-description">' + res.data['beforeProductHtml'] + '</div>');
}
if(typeof jQuery('.product-categories-wrapper', productContainerElem)!=='undefined'&&jQuery('.product-categories-wrapper > ul.products', productContainerElem).length > 0){
if(res.data['categoryHtml'].length){
jQuery('.product-categories-wrapper > ul.products', productContainerElem).html(res.data['categoryHtml']);
}
jQuery(_thisObj.defaultProductSelector, productContainerElem).eq(1).html(res.data['productHtml']);
}else if(jQuery('.elementor-widget-container ul.products', productContainerElem).length > 0){
jQuery('.elementor-widget-container ul.products', productContainerElem).each(function (){
if(!jQuery(this).find('.product-category').length){
jQuery(this).html(res.data['categoryHtml'] + res.data['productHtml']);
}});
}else if(jQuery('.woocommerce > .products[data-filterargs][data-innerargs]', productContainerElem).length > 0){
jQuery('.woocommerce > .products[data-filterargs][data-innerargs]', productContainerElem).html(res.data['categoryHtml'] + res.data['productHtml']);
}else{
if(!loopContainer.length){
if(!jQuery('.wpfMainWrapper', productContainerElem).attr('data-nowoo')!==typeof undefined
&& !jQuery('.wpfMainWrapper', productContainerElem).attr('data-nowoo')!==false)
_thisObj.ajaxForceThemeTemplates(productContainerSelector, productListSelector, requestData, $wrapperSettings);
else {
location.reload(true);
}
_thisObj.afterAjaxFiltering($wrapperSettings);
return false;
}
loopContainer.each(function (){
jQuery(this).html(res.data['categoryHtml']);
jQuery(this).append(res.data['productHtml']);
});
}}
var countSelector=wpfGetSelector(res.data['resultCountHtml'], true, '.woocommerce-result-count', 1, false, productContainerElem),
wooCount=jQuery(countSelector, productContainerElem);
if(wooCount.length > 0){
wooCount.replaceWith(res.data['resultCountHtml']);
}
var isLeerPagination=res.data['paginationHtml']=='',
paginationSelector=wpfGetSelector(res.data[isLeerPagination ? 'paginationLeerHtml':'paginationHtml'], false, '.woocommerce-pagination', 1, false, productContainerElem),
wooPagination=jQuery(paginationSelector, productContainerElem),
newPagination=res.data['paginationHtml'];
if(wooPagination.length > 0){
if(typeof _thisObj.paginationClasses=='undefined'){
_thisObj.paginationClasses=wooPagination.attr('class');
}
if(isLeerPagination){
wooPagination.css({'display': 'none'});
wooPagination.empty();
}else{
wooPagination.replaceWith(newPagination);
}}else if(!isLeerPagination){
var afterLoop=jQuery('.after-shop-loop', productContainerElem);
if(afterLoop.length > 0){
afterLoop.prepend(newPagination);
}else{
wooCount=jQuery('.storefront-sorting ' + countSelector, productContainerElem);
if(wooCount.length > 0){
wooCount.after(newPagination);
}else{
let shortcodeData=productContainerElem.find('span[data-shortcode-attribute]'),
isPaginate=shortcodeData.length ? shortcodeData.data('shortcode-attribute').paginate:true;
if(typeof isPaginate==='undefined'||isPaginate){
loopContainer.eq(0).after(newPagination);
}}
}}
if(typeof _thisObj.paginationClasses!='undefined'){
jQuery(paginationSelector, productContainerElem).attr('class', _thisObj.paginationClasses);
}
_thisObj.currentProductBlock=loopContainer.selector;
if(!_thisObj.currentProductBlock){
loopContainer.addClass('wpfCurrentProductBlock');
_thisObj.currentProductBlock='.wpfCurrentProductBlock';
}}
_thisObj.afterAjaxFiltering($wrapperSettings);
jQuery('.wpfLoaderLayout').hide();
}}
});
});
WpfFrontendPage.prototype.ajaxForceThemeTemplates=(function (productContainerSelector, productListSelector, requestData, $wrapperSettings){
var _thisObj=this.$obj,
curUrl=window.location.href,
isContainer=(productContainerSelector!='');
_thisObj.filterLoadTypes[_thisObj.currentLoadId]='force';
jQuery.ajax({
type: "GET",
url: curUrl + (curUrl.indexOf('?')==-1 ? '?':'&') + 'wpf_skip=1&wpf_fid=' + _thisObj.filteringId,
cache: false,
dataType: 'html',
success: function(data){
var block='',
foundContainer=false,
noProducts=false,
$loadedData=jQuery(data),
$loadedJS=$loadedData.find('.wpfExistsTermsJS');
if($loadedJS.length){
if(toeInArray($loadedJS.eq(0).attr('data-fid'), _thisObj.lastFids)==-1){
return false;
}}
if(isContainer){
block=jQuery(data).find(productContainerSelector);
}
if(block.length){
foundContainer=true;
}else{
block=jQuery(data).find(productListSelector);
}
var pageBlock=jQuery(isContainer&&(foundContainer||block.length==0) ? productContainerSelector:productListSelector);
if(block.length==0||pageBlock.length==0){
if($wrapperSettings.recalculate_filters==='1'){
var existsTermsJS=jQuery(data).find('.wpfExistsTermsJS').html();
_thisObj.setAjaxJScript(existsTermsJS);
}
if($wrapperSettings.no_redirect_by_no_products==='1'&&pageBlock.length > 0){
block=jQuery('<div><div class="wpfNoProducts">' + $wrapperSettings.text_no_products + '</div></div>');
noProducts=true;
}else{
_thisObj.filterLoadTypes[_thisObj.currentLoadId]='reload';
location.reload();
return;
}}
if($wrapperSettings.recalculate_filters!=='1'){
_thisObj.ajaxOnlyRecount(requestData);
}
_thisObj.currentProductBlock=(typeof pageBlock.selector!=='undefined') ? pageBlock.selector:productListSelector ;
block.each(function (index, value){
var blockWhere=pageBlock.eq(index),
blockWhat=jQuery(value);
if(!foundContainer&&!noProducts){
blockWhere=blockWhere.parent();
blockWhat=blockWhat.parent();
}
blockWhat.find('input[name="wpf_skip"]').remove();
blockWhere.html(blockWhat.html().replace(/wpf_skip=1/g, '').replace(/wpf_fid=[0-9]*/g, '').replace(/&amp;&amp;/g, '&amp;'));
var paginationPageBlock=jQuery(blockWhere).find('.woocommerce-pagination');
if(!paginationPageBlock.length){
var paginationPage=jQuery('.woocommerce-pagination');
var paginationResponse=jQuery(data).find('.woocommerce-pagination');
if(paginationResponse.length){
paginationResponse=paginationResponse.eq(0).html().replace(/wpf_skip=1/g, '').replace(/wpf_fid=[0-9]*/g, '').replace(/&amp;&amp;/g, '&amp;');
if(paginationPage.length){
paginationPage.html(paginationResponse);
}else{
jQuery(blockWhere).parent().after('<nav class="woocommerce-pagination">' + paginationResponse + '</nav>');
}}else if(paginationPage.length){
paginationPage.remove();
}}
var resultCountBlock=jQuery(blockWhere).find('.woocommerce-result-count');
var resultCountResponse=jQuery(data).find('.woocommerce-result-count');
if(!resultCountBlock.length&&resultCountResponse.length){
var resultCount=jQuery('.woocommerce-result-count');
if(resultCount.length){
resultCount.replaceWith(resultCountResponse);
}}
});
var $styleObj=jQuery('style[id^="et-builder-module-design-"]');
if($styleObj.length==1){
var $styleObjLoaded=$loadedData.find('style[id^="et-builder-module-design-"]');
if($styleObjLoaded.length==0) $styleObjLoaded=$loadedData.filter('style[id^="et-builder-module-design-"]');
if($styleObjLoaded.length==1) $styleObj.html($styleObjLoaded.html());
}
_thisObj.afterAjaxFiltering($wrapperSettings);
_thisObj.runReadyList();
if($wrapperSettings.recalculate_filters==='1'){
var existsTermsJS=jQuery(data).find('.wpfExistsTermsJS').html();
_thisObj.setAjaxJScript(existsTermsJS);
}}
});
return false;
});
WpfFrontendPage.prototype.ajaxOnlyRecount=(function (requestData, filterId, $wrapperSettings){
var _thisObj=this.$obj;
if(!_thisObj.currentAjaxJSLoaded&&requestData){
requestData['only_recound']=1;
if(typeof filterId!=='undefined'){
requestData['synchro_filter_id']=filterId;
}
jQuery.sendFormWpf({
data: requestData,
onSuccess: function (res){
if(typeof $wrapperSettings!=='undefined'
&& typeof $wrapperSettings.filter_loader_icon_onload_enable!=='undefined'
&& Number($wrapperSettings.filter_loader_icon_onload_enable)){
hideFilterLoader(jQuery('#' + filterId));
}
if(!res.error){
if('jscript' in res.data){
_thisObj.setAjaxJScript(res.data['jscript'], filterId);
}}
_thisObj.removeOverlay();
}});
}});
WpfFrontendPage.prototype.setAjaxJScript=(function(jscript, filterId){
var _thisObj=this.$obj,
filter=jQuery('#' + (typeof(filterId)=='undefined' ? _thisObj.currentLoadId:filterId));
if(filter.length&&jscript!=''){
var jsBlock=filter.find('.wpfAjaxJSBlock');
if(jsBlock.length==0){
jQuery('<div class="wpfAjaxJSBlock wpfHidden"></div>').appendTo(filter);
}
filter.find('.wpfAjaxJSBlock').html(jscript);
}
_thisObj.currentAjaxJSLoaded=true;
});
WpfFrontendPage.prototype.afterAjaxFiltering=(function($wrapperSettings){
var _thisObj=this.$obj;
_thisObj.getUrlParamsChangeFiltersValues();
_thisObj.disableFiltersLoader();
_thisObj.removeOverlay();
toggleClear();
if(jQuery('body').find('.products').hasClass('oceanwp-row')){
var products=jQuery('body').find('.products'),
aligns=['center', 'left', 'right'];
products.find('li:first').addClass('col');
for (var i=1; i <=7; i++){
if(products.find('li').hasClass('span_1_of_' + i)){
products.find('li:first').addClass('span_1_of_' + i);
break;
}}
for (var j=0; j < aligns.length; j++){
if(products.find('li').hasClass('owp-content-' + aligns[j])){
products.find('li:first').addClass('owp-content-' + aligns[j]);
break;
}}
}
_thisObj.changeLmpButton();
jQuery(document).trigger('yith_wcqv_wcajaxnav_update');
if(typeof (_thisObj.scrollToProductsPro)=='function'){
_thisObj.scrollToProductsPro($wrapperSettings);
}
if(jQuery(_thisObj.defaultProductSelector).closest('.et_pb_shop').length&&jQuery(_thisObj.defaultProductSelector).find('[loading="lazy"]').length==0){
heightIdenticalInRow('.et_pb_shop li.product');
}
jQuery('.form-wppp-select').each(function (){
var $form=jQuery(this);
$form.attr('action', jQuery('#'+_thisObj.currentLoadId).attr('data-hide-url'));
$form.find('input[type="hidden"]').remove();
});
if(typeof(bricksLazyLoad)=='function'){
bricksLazyLoad();
}
var customEvent=document.createEvent('Event');
customEvent.initEvent('wpfAjaxSuccess', false, true);
document.dispatchEvent(customEvent);
});
WpfFrontendPage.prototype.runReadyList=(function(){
if(window.readyList&&readyList.length){
var _thisObj=this.$obj;
if(_thisObj.disableScrollJs){
jQuery(window).off("yith_infs_start").off("scroll touchstart");
if(typeof(jQuery.fn)=='object'&&typeof(jQuery.fn.init_infinitescroll)=='function'){
jQuery.fn.init_infinitescroll();
}}
jQuery(window.readyList).each(function(i, el){
var strFunc=el['a'][0].toString();
if(strFunc.indexOf('WpfFrontendPage')==-1){
for(var i=0; i < _thisObj.readyFuncs.length; i++){
if(strFunc.indexOf(_thisObj.readyFuncs[i])!=-1&&(strFunc.indexOf('.ajaxComplete(')==-1||i==3||i==4)){
try {
window.originalReadyMethod.apply(el['c'], el['a']);
} catch(e){
console.log(e);
}
break;
}}
}});
}
jQuery(window).trigger("fusion-element-render-fusion_woo_product_grid");
var fusionPrInfinite=jQuery(".fusion-products-container-infinite");
if(fusionPrInfinite.length&&typeof(fusionPrInfinite.infinitescroll)=='function'){
fusionPrInfinite.infinitescroll('unbind');
fusionPrInfinite.infinitescroll('bind');
}
if(typeof elementorFrontend!=='undefined'){
jQuery(window).trigger('resize');
var $eaPagination=jQuery('.elementor-widget-eicon-woocommerce');
if($eaPagination.length&&window.elementorFrontend&&window.elementorFrontend.hooks){
window.elementorFrontend.hooks.doAction('frontend/element_ready/eicon-woocommerce.default', $eaPagination, jQuery);
}}
if(jQuery('.fusion-grid-container-infinite').length==1){
jQuery(document).trigger('fusion-element-render-fusion_post_cards');
jQuery('.fusion-grid-container-infinite').infinitescroll('unbind');
jQuery('.fusion-grid-container-infinite').infinitescroll('bind');
}});
/*WpfFrontendPage.prototype.runReadyList=(function(){
if(window.readyList&&window.readyList.length){
jQuery(window.readyList).each(function(i, el){
var strFunc=el['a'][0].toString();
if(strFunc.indexOf('WpfFrontendPage')==-1&&strFunc.indexOf('.ajaxComplete(')==-1){
try {
window.originalReadyMethod.apply(el['c'], el['a']);
} catch(e){
console.log(e);
}}
});
}});*/
WpfFrontendPage.prototype.enableFiltersLoader=(function(idWrapper, productListElem){
var preview=jQuery('#' + idWrapper + ' .wpfPreviewLoader').first().clone().removeClass('wpfHidden');
productListElem.html(preview);
});
WpfFrontendPage.prototype.disableFiltersLoader=(function(){
jQuery('.wpfPreviewLoader').first().clone().addClass('wpfHidden');
});
WpfFrontendPage.prototype.getUrlParamsChangeFiltersValues=(function(){
var _thisObj=this.$obj,
noWooPage=_thisObj.noWoo;
if(noWooPage){
var curUrl=jQuery('.wpfMainWrapper').first().attr('data-hide-url');
}else{
var curUrl=window.location.href;
}
if(!curUrl){
return;
}
var urlParams=_thisObj.findGetParameter(curUrl);
jQuery('.wpfFilterWrapper').each(function (){
var $filter=jQuery(this),
filterType=$filter.attr('data-filter-type'),
settings=_thisObj.getFilterMainSettings($filter.closest('.wpfMainWrapper'));
switch(filterType){
case 'wpfAttribute':
if(typeof(_thisObj.eventChangeFilterPro)=='function'){
_thisObj.eventChangeFilterPro($filter, settings);
}
break;
case 'wpfPrice':
var rate=$filter.data('rate');
urlParams=_thisObj.getConvertedPrices(urlParams, rate);
var minPrice=urlParams.wpf_min_price ? urlParams.wpf_min_price:$filter.attr('data-minvalue'),
maxPrice=urlParams.wpf_max_price ? urlParams.wpf_max_price:$filter.attr('data-maxvalue'),
skin='default';
if(minPrice){
$filter.find('#wpfMinPrice').val(minPrice);
}
if(maxPrice){
$filter.find('#wpfMaxPrice').val(maxPrice);
}
if(settings){
skin=$filter.attr('data-price-skin');
}
if(skin==='default'){
var sliderWrapper=$filter.find("#wpfSliderRange");
}else{
var sliderCurBefore=($filter.attr('data-slider-currency-before')!=undefined) ? $filter.attr('data-slider-currency-before'):'';
var sliderCurAfter=($filter.attr('data-slider-currency-after')!=undefined) ? $filter.attr('data-slider-currency-after'):'';
var sliderWrapper=$filter.find('.ion-range-slider').data('ionRangeSlider');
$filter.addClass('wpfNotActiveSlider');
if(sliderCurBefore||sliderCurAfter){
setTimeout(function(){
$filter.find('span.irs-min:first').html(sliderCurBefore + sliderWrapper['result'].min_pretty + sliderCurAfter);
$filter.find('span.irs-max:first').html(sliderCurBefore + sliderWrapper['result'].max_pretty + sliderCurAfter);
$filter.find('span.irs-from:first').html(sliderCurBefore + sliderWrapper['result'].from_pretty + sliderCurAfter);
$filter.find('span.irs-to:first').html(sliderCurBefore + sliderWrapper['result'].to_pretty + sliderCurAfter);
}, 500);
}}
if(minPrice&&maxPrice){
if(skin==='default'){
sliderWrapper.slider({
values: [minPrice, maxPrice]
});
}else if(typeof(sliderWrapper)!='undefined'){
sliderWrapper.update({from: minPrice, to: maxPrice});
$filter.removeClass('wpfNotActiveSlider');
}}
_thisObj.chageRangeFieldWidth();
if(typeof(_thisObj.eventChangeFilterPro)=='function'){
_thisObj.eventChangeFilterPro($filter, settings);
}
break;
case 'wpfPriceRange':
var rate=$filter.data('rate');
urlParams=_thisObj.getConvertedPrices(urlParams, rate);
var minPrice=urlParams.wpf_min_price ? parseFloat(urlParams.wpf_min_price):false,
maxPrice=urlParams.wpf_max_price ? parseFloat(urlParams.wpf_max_price):false,
$options=$filter.find('li');
$options.find('input[type="checkbox"]').prop('checked', false);
$options.each(function (){
var _this=jQuery(this),
range=_this.attr('data-range');
if(typeof range!='undefined'){
range=range.split(',');
var minRange=range[0]=='' ? false:parseFloat(range[0]),
maxRange=range[1]=='' ? false:parseFloat(range[1]),
minPrices=[minPrice - 1, minPrice, minPrice + 1],
maxPrices=[maxPrice - 1, maxPrice, maxPrice + 1];
if(minPrices.includes(minRange)&&maxPrices.includes(maxRange)){
_this.find('input[type="checkbox"]').prop('checked', true);
return false;
}}
});
if(typeof(_thisObj.eventChangeFilterPro)=='function'){
_thisObj.eventChangeFilterPro($filter, settings);
}
break;
}});
});
WpfFrontendPage.prototype.findGetParameter=(function(url){
var query_string={},
usefulParam=url.split("?")[1]||"",
query=usefulParam||"",
vars=query.split("&");
for (var i=0; i < vars.length; i++){
var pair=vars[i].split("=");
if(typeof query_string[pair[0]]==="undefined"){
query_string[pair[0]]=decodeURIComponent(pair[1]);
}else if(typeof query_string[pair[0]]==="string"){
var arr=[query_string[pair[0]], decodeURIComponent(pair[1])];
query_string[pair[0]]=arr;
}else{
query_string[pair[0]].push(decodeURIComponent(pair[1]));
}}
return query_string;
});
WpfFrontendPage.prototype.getClearLabel=(function (label, withCount){
if(withCount){
var cnt=label.lastIndexOf('(');
if(cnt==-1) cnt=label.lastIndexOf('<span');
if(cnt!=-1) label=label.substring(0, cnt).trim();
}
label=label.replace(/&nbsp;/g,'');
return label;
});
WpfFrontendPage.prototype.getFilterOptionsByType=(function($filter, filterType){
var _thisObj=this.$obj;
return _thisObj['get' + filterType.replace('wpf', '') + 'FilterOptions']($filter);
});
WpfFrontendPage.prototype.getPriceFilterOptions=(function ($filter){
var _thisObj=this.$obj,
optionsArray=[],
options=[],
minPrice=$filter.find('#wpfMinPrice').val(),
maxPrice=$filter.find('#wpfMaxPrice').val(),
tax=$filter.data('tax'),
rate=$filter.data('rate'),
str='';
[minPrice, maxPrice, tax]=_thisObj.getConvertedPrices([minPrice, maxPrice, tax], rate);
str=minPrice + ',' + maxPrice;
options.push(str);
var frontendOptions=[],
getParams=$filter.attr('data-get-attribute');
frontendOptions['rate']=rate;
getParams=getParams.split(",");
for (var i=0; i < getParams.length; i++){
if(i===0){
frontendOptions[getParams[i]]=minPrice;
}
if(i===1){
frontendOptions[getParams[i]]=maxPrice;
}
if(i===2&&tax!==''){
frontendOptions[getParams[i]]=tax;
}}
var symbol=$filter.find('.wpfCurrencySymbol'),
symbolB=symbol.length&&!symbol.is(':last-child') ? symbol.html():'',
symbolA=symbol.length&&symbol.is(':last-child') ? symbol.html():'',
selectedOptions={'is_one': true, 'list': [symbolB + minPrice + symbolA + ' - ' + symbolB + maxPrice + symbolA]};
optionsArray['backend']=options;
optionsArray['frontend']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=[[minPrice, maxPrice]];
return optionsArray;
});
WpfFrontendPage.prototype.getPriceRangeFilterOptions=(function ($filter){
var _thisObj=this.$obj,
optionsArray=[],
options=[],
frontendOptions=[],
selectedOptions={'is_one': true, 'list': []},
statistics=[],
i=0,
rate=$filter.data('rate');
if($filter.attr('data-display-type')==='list'){
if($filter.find("input:checked").length){
var li=$filter.find('input:checked').closest('li');
options[i]=li.attr('data-range');
selectedOptions['list'][i]=li.find('.wpfValue').html();
}}else if($filter.attr('data-display-type')==='dropdown'){
if($filter.find(":selected").attr('data-range')){
var option=$filter.find(":selected");
options[i]=option.attr('data-range');
selectedOptions['list'][i]=option.html();
}}
if(typeof options!=='undefined'&&options.length > 0){
var getParams=$filter.attr('data-get-attribute'),
tax=$filter.data('tax');
frontendOptions['rate']=rate;
getParams=getParams.split(",");
if(typeof options[0]!=='undefined'&&options[0].length > 0){
var prices=options[0].split(',');
[prices[0], prices[1], tax]=_thisObj.getConvertedPrices([prices[0], prices[1], tax], rate);
frontendOptions[getParams[0]]=prices[0];
frontendOptions[getParams[1]]=prices[1];
if(typeof tax!=='undefined'){
frontendOptions[getParams[2]]=tax;
}}
}
if(options.length==0){
var defRange=$filter.attr('data-default');
if(typeof defRange!='undefined'&&defRange.length){
options[i]=defRange;
}}
if(typeof rate!=='undefined'){
var minPrice='',
maxPrice='';
options=options.map(function (elem){
[minPrice, maxPrice]=_thisObj.getConvertedPrices(elem.split(","), rate);
return minPrice + ',' + maxPrice;
});
}
if(options.length){
statistics=options.map(function (elem){
return elem.split(",");
});
}
optionsArray['backend']=options;
optionsArray['frontend']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getSortByFilterOptions=(function ($filter){
var optionsArray=[],
options=[],
frontendOptions=[],
selectedOptions={'is_one': true, 'list': []},
value='';
if($filter.data('display-type')==='radio'){
var elem=$filter.find('input:checked').closest('li'),
name=elem.find('.wpfFilterTaxNameWrapper').html();
}else{
var elem=$filter.find('select:not(.wpfPerPageDD)').find('option:selected'),
name=elem.html();
}
if(elem.length){
value=elem.data('term-slug');
options.push(value);
var getParams=$filter.attr('data-get-attribute');
frontendOptions[getParams]=value;
selectedOptions['list'][0]=name;
optionsArray['stats']=[name];
}
if($filter.data('first-instock')=='1'){
frontendOptions['oistock']=1;
options.push('oistock');
}
optionsArray['backend']=options;
optionsArray['frontend']=frontendOptions;
optionsArray['selected']=selectedOptions;
return optionsArray;
});
WpfFrontendPage.prototype.getInStockFilterOptions=(function ($filter){
var optionsArray=[],
frontendOptions=[],
options=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType==='dropdown'), 'list': []},
statistics=[],
i=0;
if(filterType==='dropdown'){
var option=$filter.find(":selected"),
value=option.attr('data-slug');
if(value!=''){
options[i]=value;
frontendOptions[i]=value;
var name=option.html();
selectedOptions['list'][i]=name;
statistics.push(name);
}}else{
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
slug=li.attr('data-term-slug'),
name=li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():li.find('.wpfValue').html();
options[i]=slug;
frontendOptions[i]=slug;
selectedOptions['list'][li.attr('data-term-id')]=name;
statistics.push(name);
i++;
});
}
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getCategoryFilterOptions=(function ($filter){
var _thisObj=this.$obj,
optionsArray=[],
frontendOptions=[],
options=[],
filterType=$filter.attr('data-display-type'),
useSlugs=$filter.attr('data-use-slugs')=='1',
selectedOptions={'is_one': (filterType=='list'||filterType=='dropdown'), 'list': []},
statistics=[],
i=0;
if(filterType==='dropdown'){
var option=$filter.find(":selected"),
id=option.attr('data-term-id'),
value=option.val();
if(value!=''){
options[i]=value;
var name=_thisObj.getClearLabel(option.html(), $filter.hasClass('wpfShowCount'));
selectedOptions['list'][id]=name;
statistics.push(name);
}
frontendOptions[i]=(useSlugs ? option.attr('data-term-slug'):id);
}else if(filterType==='mul_dropdown'){
$filter.find(':selected').each(function (){
var option=jQuery(this),
id=option.attr('data-term-id');
options[i]=option.val();
frontendOptions[i]=(useSlugs ? option.attr('data-term-slug'):id);
var name=_thisObj.getClearLabel(option.html(), $filter.hasClass('wpfShowCount'));
selectedOptions['list'][id]=name;
statistics.push(name);
i++;
});
}else{
var removeSelectedList=[];
$filter.find('input').each(function (){
var inputCurent=jQuery(this),
liCurent=inputCurent.closest('li'),
id=liCurent.data('term-id'),
isParent=liCurent.children('ul').length > 0,
isChecked=inputCurent.is(':checked'),
hierarchicalLogic=$filter.attr('data-logic-hierarchical'),
type=$filter.attr('data-display-type'),
isHierarchical=$filter.attr('data-show-hierarchical'),
isHierarchicalLogic=isHierarchical==='true'&&type==='multi'||type==='text';
if(isParent){
var isAllChildChecked=true,
childList=[];
liCurent.find('ul li').each(function(){
var childId=jQuery(this).data('term-id'),
childLi=jQuery(this),
childInput=childLi.find('input'),
isChildChecked=childInput.prop('checked');
childList.push(childId);
if(!isChildChecked){
isAllChildChecked=false;
return false;
}});
if(isChecked&&isAllChildChecked){
removeSelectedList=removeSelectedList.concat(childList);
var onlyUnique=function(value, index, self){
return self.indexOf(value)===index;
}
removeSelectedList=removeSelectedList.filter(onlyUnique);
selectedOptions.removeSelected=removeSelectedList;
}}
if(jQuery(this).is(':checked')){
if(isHierarchicalLogic&&hierarchicalLogic=='child'){
var liElements=liCurent.find('li'),
isChildChicked=false;
for (var j=0; j < liElements.length; ++j){
var li=liElements[j];
if(jQuery(li).find('input').prop('checked')){
isChildChicked=true;
}}
if(!isChildChicked){
options[i]=id;
frontendOptions[i]=(useSlugs ? liCurent.attr('data-term-slug'):id);
}}else if(isHierarchicalLogic&&hierarchicalLogic=='parent'){
var parents=liCurent.parents('li'),
isChildChicked=false;
for (var j=0; j < parents.length; ++j){
var li=parents[j];
if(jQuery(li).find('input').prop('checked')){
isChildChicked=true;
}}
if(!isChildChicked){
options[i]=id;
frontendOptions[i]=(useSlugs ? liCurent.attr('data-term-slug'):id);
}}else{
options[i]=id;
frontendOptions[i]=(useSlugs ? liCurent.attr('data-term-slug'):id);
}
var name=liCurent.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(liCurent.find('.wpfFilterTaxNameWrapper:first').length ? liCurent.find('.wpfFilterTaxNameWrapper:first').html():name);
i++;
}});
}
var options=options.filter(function (el){
return el!=null;
});
var frontendOptions=frontendOptions.filter(function (el){
return el!=null;
});
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getPerfectBrandFilterOptions=(function ($filter){
return this.$obj.getCategoryFilterOptions($filter);
});
WpfFrontendPage.prototype.getTagsFilterOptions=(function ($filter){
var _thisObj=this.$obj,
optionsArray=[],
options=[],
frontendOptions=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType=='dropdown'), 'list': []},
statistics=[],
withCount=$filter.hasClass('wpfShowCount'),
i=0,
proFilterType=[
'colors'
];
if(filterType==='dropdown'){
var option=$filter.find(":selected"),
value=option.val();
if(value!=''){
options[i]=value;
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html(), withCount);
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
}}else if(filterType==='mul_dropdown'){
$filter.find(':selected').each(function (){
var option=jQuery(this);
options[i]=option.val();
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html(), withCount);
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
i++;
});
}else if(jQuery.inArray(filterType, proFilterType)==-1){
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
}
var data={
options:options,
frontendOptions:frontendOptions,
selectedOptions:selectedOptions,
statistics:statistics,
i:i,
}
if(typeof window.wpfFrontendPage.getTagsFilterOptionsPro=='function'){
data=window.wpfFrontendPage.getTagsFilterOptionsPro($filter, data);
}
optionsArray['backend']=data.options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=data.frontendOptions;
optionsArray['selected']=data.selectedOptions;
optionsArray['stats']=data.statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getAttributeFilterOptions=(function ($filter){
var _thisObj=this.$obj,
optionsArray=[],
options=[],
frontendOptions=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType=='dropdown'), 'list': []},
statistics=[],
withCount=$filter.hasClass('wpfShowCount'),
i=0,
proFilterType=[
'slider',
'colors'
];
if(filterType==='dropdown'){
var option=$filter.find(":selected"),
value=option.val();
if(value!=''){
options[i]=value;
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html(), withCount);
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
}}else if(filterType==='mul_dropdown'){
$filter.find(':selected').each(function (){
var option=jQuery(this);
options[i]=option.val();
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html(), withCount);
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
i++;
});
}else if(jQuery.inArray(filterType, proFilterType)==-1){
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
}
var data={
options:options,
frontendOptions:frontendOptions,
selectedOptions:selectedOptions,
statistics:statistics,
i:i,
}
if(typeof window.wpfFrontendPage.getAttributeFilterOptionsPro=='function'){
data=window.wpfFrontendPage.getAttributeFilterOptionsPro($filter, data);
}
optionsArray['backend']=data.options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=data.frontendOptions;
optionsArray['selected']=data.selectedOptions;
optionsArray['stats']=data.statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getAuthorFilterOptions=(function ($filter){
var _thisObj=this.$obj,
optionsArray=[],
options=[],
frontendOptions=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType=='dropdown'), 'list': []},
statistics=[],
i=0;
if(filterType==='list'){
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
}else if(filterType==='mul_dropdown'){
$filter.find(':selected').each(function (){
var option=jQuery(this);
options[i]=option.val();
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html());
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
i++;
});
}else if(filterType==='dropdown'){
var option=$filter.find(":selected"),
value=option.val();
options[i]=value;
if(value!=''){
frontendOptions[i]=option.attr('data-slug');
var name=option.html();
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
}}
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getFeaturedFilterOptions=(function ($filter){
var optionsArray=[],
options=[],
frontendOptions=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType=='dropdown'), 'list': []},
statistics=[],
i=0;
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getOnSaleFilterOptions=(function ($filter){
var optionsArray=[],
options=[],
frontendOptions=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType=='dropdown'), 'list': []},
statistics=[],
i=0;
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.prototype.getRatingFilterOptions=(function ($filter){
var optionsArray=[],
frontendOptions=[],
options=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': true, 'list': []},
statistics=[],
i=0;
if(filterType=='linestars'||filterType=='liststars'){
var input=$filter.find('input.wpfStarInput:checked'),
rating=input.val();
options[i]=rating;
frontendOptions[i]=rating;
var name=input.attr('data-label');
selectedOptions['list'][i]=name;
statistics.push(name);
}else if(filterType=='list'){
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
}else if(filterType=='dropdown'){
var option=$filter.find(":selected"),
value=option.val();
options[i]=value;
if(value!=''){
frontendOptions[i]=option.attr('data-slug');
var name=option.html();
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
}}
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.prototype.disableLeerOptions=(function (){
var _thisObj=this.$obj;
jQuery('.wpfMainWrapper').each(function (){
var mainWrapper=jQuery(this),
settings=_thisObj.getFilterMainSettings(mainWrapper);
if(settings&&settings.settings.filter_null_disabled==='1'){
var filters=mainWrapper.find('.wpfFilterWrapper.wpfShowCount');
if(filters.length){
filters.find('option[data-term-id]').prop('disabled', false);
filters.find('option[data-term-id][data-count="0"]').prop('disabled', true);
filters.find('.wpfCount').each(function(){
var cntObj=jQuery(this),
leer=cntObj.html()=='(0)',
el=cntObj.closest('[data-term-id]'),
input=false;
if(el.length==0){
el=cntObj.closest('[data-term-slug]');
}
if(el.length){
if(el.is('input')){
input=el;
el=input.parent();
}else{
input=el.find('input');
}
input.prop('disabled', leer);
if(leer) el.addClass('wpfOptionDisabled');
else el.removeClass('wpfOptionDisabled');
}});
}}
});
});
WpfFrontendPage.prototype.addSpecificPluginActions=(function(){
jQuery(window).on('load', function(){
if(window.elementorFrontend){
if(window.elementorFrontend.hooks){
elementorFrontend.hooks.addAction('frontend/element_ready/widget', function($scope){
var wrapper=$scope.find('.wpfMainWrapper');
hideFilterLoader(wrapper);
});
}}else if(jQuery('.elementor .wpfMainWrapper').length){
setTimeout(function(){
jQuery('.elementor .wpfMainWrapper').each(function(){
var wrapper=jQuery(this);
hideFilterLoader(wrapper);
});
}, 2000);
}});
});
WpfFrontendPage.prototype.fixSelector=(function(selector, defaultSelector){
if(typeof selector=='undefined'||selector===''){
return typeof defaultSelector=='undefined' ? '':defaultSelector;
}
return (selector.search(/\.|#/)===-1) ? '.' + selector.replace(/(\s+)(\w+)/g, ' .$2'):selector ;
});
WpfFrontendPage.prototype.markCheckboxSelected=(function ($filter, first){
if($filter.length){
var settings=this.getFilterMainSettings($filter.closest('.wpfMainWrapper'));
if(settings){
if(settings.settings.checked_items_bold=='1'){
var wpfMainWrapper=$filter.closest('.wpfMainWrapper');
wpfMainWrapper.find('.wpfDisplay').css('font-weight', '');
wpfMainWrapper.find('.wpfAttrLabel').css('font-weight', '');
wpfMainWrapper.find('input:checked').each(function (){
var wpfDisplay=jQuery(this).closest('.wpfLiLabel').find('.wpfDisplay'),
wpfAttrLabel=jQuery(this).closest('.wpfColorsColBlock').find('.wpfAttrLabel');
wpfDisplay.css('font-weight', 'bold');
wpfAttrLabel.css('font-weight', 'bold');
});
}}
if(first){
setTimeout(function (){
$filter.find('input').each(function(){
var input=this;
if(input.type=="checkbox"){
if(input.defaultChecked==true){
if(input.checked!=true) input.checked=true;
}else{
if(input.checked==true){
input.checked=false;
jQuery(input).closest('.wpfLiLabel').find('.wpfDisplay').removeClass('selected').css('font-weight', '');
}}
}});
}, 100);
}}
});
window.wpIinitialiseImmediately=typeof wpIinitialiseImmediately!=='undefined' ? wpIinitialiseImmediately:0;
jQuery(document).ready(function (){
if(!window.wpfFrontendPage) window.wpfFrontendPage=new WpfFrontendPage();
if(typeof isElementorEditMode=='undefined'){
window.wpfFrontendPage.init();
}});
WpfFrontendPage.prototype.unserializeStr=function(serializedString){
var str=decodeURI(serializedString);
var pairs=str.split('&');
var obj={}, p, idx;
for (var i=0, n=pairs.length; i < n; i++){
p=pairs[i].split('=');
idx=p[0];
if(obj[idx]===undefined){
obj[idx]=unescape(p[1]).replace(/\+/g, ' ');
}else{
if(typeof obj[idx]=="string"){
obj[idx]=[obj[idx]];
}
obj[idx].push(unescape(p[1]).replace(/\+/g, ' '));
}}
return obj;
};
WpfFrontendPage.prototype.getConvertedPrices=function (data, rate){
if(typeof rate!=='undefined'&&rate!==1){
if(typeof data[0]!=='undefined'){
data[0]=String(Math.round(data[0] / rate));
if(typeof data[1]!=='undefined'){
data[1]=String(Math.round(data[1] / rate));
}
if(typeof data[2]!=='undefined'){
data[2]=String(Math.round(data[2] / rate));
}}else{
if(data.wpf_min_price){
data.wpf_min_price=String(Math.round(data.wpf_min_price * rate));
}
if(data.wpf_max_price){
data.wpf_max_price=String(Math.round(data.wpf_max_price * rate));
}
if(data.tax){
data.tax=String(Math.round(data.tax * rate));
}}
}
return data;
};
if(jQuery('.variations_form').length > 0&&typeof $(this).wc_variation_form=='function'){
document.addEventListener('wpfAjaxSuccess', function (event){
$('.variations_form').each(function (){
$(this).wc_variation_form();
});
});
}
if(jQuery('.jetpack-lazy-image').length > 0){
document.addEventListener('wpfAjaxSuccess', function (event){
jQuery('.jetpack-lazy-image').each(function (){
jQuery(this).removeAttr('srcset');
});
});
}
if(jQuery('.jetpack-lazy-image').length > 0){
document.addEventListener('wpfAjaxSuccess', function (event){
jQuery('.jetpack-lazy-image').each(function (){
jQuery(this).removeAttr('srcset');
});
});
}
if(jQuery('div.elementor-widget[data-widget_type="loop-grid.product"]').length > 0){
document.addEventListener('wpfAjaxSuccess', function (event){
if(window.elementorFrontend&&window.elementorFrontend.elementsHandler){
var $products=jQuery('div.elementor-widget[data-widget_type="loop-grid.product"]');
if($products.length==1&&$products.find('.e-load-more-anchor').length==1){
$products.removeClass('e-load-more-pagination-end');
window.elementorFrontend.elementsHandler.runReadyTrigger($products);
}}
});
}
jQuery(document).ready(function (){
if(jQuery('a.lmp_button').length > 0){
document.addEventListener('wpfAjaxSuccess', function (event){
if(!window.wpfDoNotLoadMore&&typeof load_next_page=='function'){
load_next_page(true, decodeURIComponent(location.href));
}});
}});
jQuery(document).on('ixProductFilterRequestProcessed', function (event){
window.wpfFrontendPage.filtering();
});
if(window.wpIinitialiseImmediately){
window.wpfFrontendPage=new WpfFrontendPage();
}}(window.jQuery, window));
var objQueryString={};
toggleClear();
function wpfGetSelector(html, controlExist, defSelector, countChilds, removeDynamicClasses, context){
if(html.length==0) return defSelector;
var elem=(typeof context!=='undefined') ? jQuery(html, context):jQuery(html),
selector='',
i=0;
if(typeof countChilds=='undefined'){
countChilds=1;
}
while (i < countChilds&&elem&&elem.length){
if(i > 0){
selector +=' ';
}
i++;
if(elem.length > 1){
elem=elem.last();
}
var elemId=elem.attr('id');
if(typeof elemId!='undefined'){
selector +='#' + elemId;
}else{
var elemClass=elem.attr('class');
if(removeDynamicClasses){
classList=elemClass.split(' ');
classList.forEach(function(className, key){
var hasNumber=/\d/.test(className);
if(hasNumber){
classList.splice(key, 1);
}});
elemClass=classList.join(' ');
}
if(typeof elemClass!='undefined'&&elemClass!=''){
if(elemClass=='container'&&countChilds==1) countChilds=2;
selector +=elem.get(0).tagName + '.' + elemClass.trim().replace(/ +/g, '.');
}}
if(controlExist&&selector!=''&&jQuery(selector).length==0){
selector='';
break;
}
var elem=elem.children();
}
return selector.length==0 ? defSelector:selector;
}
function getUrlParams (){
var params={};
window.location.search
.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(str,key,value){
params[key]=value;
}
);
return params;
}
function toggleClear(){
var params=getUrlParams();
jQuery(".wpfBlockClear").hide();
jQuery(".wpfFilterWrapper").each(function(){
var attr=jQuery(this).attr('data-get-attribute');
if(attr in params){
jQuery(this).find(".wpfBlockClear").show();
}});
if('wpf_min_price' in params||'wpf_max_price' in params){
jQuery("[data-filter-type='wpfPrice']").find(".wpfBlockClear").show();
jQuery("[data-filter-type='wpfPriceRange']").find(".wpfBlockClear").show();
}}
function getParameterByName(name, searchUrl){
name=name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex=new RegExp("[\\?&]" + name + "=([^&#]*)"),
results=regex.exec(searchUrl);
return results===null ? "":decodeURIComponent(results[1]);//decodeURIComponent(results[1].replace(/\+/g, " "));
}
function getCurrentUrlPartsWpf(){
var parts=window.wpfNewUrl.split('?'),
s=(parts[1]||'');
return {href: window.wpfNewUrl, path: parts[0].replace(/#.*$/, ''), search: (s.length ? '?' + s:'')};}
function changeUrl(filterSlug, filterValue, $wooPage, $filterWrapper){
removePageQString();
$wooPage=(typeof $wooPage!='undefined' ? $wooPage: false);
var curUrl=getCurrentUrlPartsWpf();
if(!$wooPage){
var searchUrl=decodeURIComponent(curUrl.search);
}else{
if($filterWrapper.attr('data-hide-url')){
var searchUrl=$filterWrapper.attr('data-hide-url');
}else{
var searchUrl='';
}}
if(searchUrl.indexOf("redirect")!==-1){
searchUrl='';
}
if(searchUrl.indexOf("?")=="-1"){
var urlValue=curUrl.path + '?'+filterSlug+'='+filterValue;
}else{
if(searchUrl.indexOf('&'+filterSlug+'=')=="-1"&&searchUrl.indexOf('?'+filterSlug+'=')=="-1"){
var urlValue=searchUrl+'&'+filterSlug+'='+filterValue;
}else{
var oldValue=getParameterByName(filterSlug, searchUrl);
if(searchUrl.indexOf("?"+filterSlug+"=")!="-1"){
var urlValue=searchUrl.replace('?'+filterSlug+'='+oldValue,'?'+filterSlug+'='+filterValue);
}else{
var urlValue=searchUrl.replace('&'+filterSlug+'='+oldValue,'&'+filterSlug+'='+filterValue);
}}
urlValue=curUrl.path + urlValue;
}
if(!$wooPage){
window.wpfNewUrl=encodeURI(urlValue).indexOf('%25')===-1 ? encodeURI(urlValue):urlValue;
}
objQueryString.key=filterValue;
return urlValue;
}
function removePageQString(){
var curUrl=getCurrentUrlPartsWpf(),
path=curUrl.path,
page=path.indexOf('/page/');
if(page!=-1&&history.pushState){
window.wpfNewUrl=path.substr(0, page + 1) + curUrl.search;
}else{
window.wpfNewUrl=curUrl.path + removePagenum(curUrl.search);
}}
function removePagenum(url){
return url.replace(/([&?])pagenum=\d+(&|$)/g, function(match, prefix, suffix){
return prefix==='?'&&suffix==='&' ? '?' :
prefix==='&'&&suffix==='' ? '' :
prefix;
});
}
function removeQString(key, $wooPage, $filterWrapper){
removePageQString();
var curUrl=getCurrentUrlPartsWpf(),
urlValue=decodeURI(curUrl.href);
$wooPage=(typeof $wooPage!='undefined' ? $wooPage: false);
if(!$wooPage){
var searchUrl=decodeURIComponent(curUrl.search);
}else{
if($filterWrapper.attr('data-hide-url')){
var searchUrl=decodeURI($filterWrapper.attr('data-hide-url'));
}else{
var searchUrl='';
}
var urlValue=curUrl.href + searchUrl;
}
if(key!=""){
const oldValue=getParameterByName(key, searchUrl);
const newUrlValue=new URL(urlValue);
newUrlValue.searchParams.delete(key, oldValue);
urlValue=newUrlValue.toString().replace(/\+/g, '%20');
if($wooPage){
urlValue=urlValue.replace(curUrl.href,'');
}}else{
if(!$wooPage){
var searchUrl=decodeURIComponent(curUrl.search);
urlValue=urlValue.replace(searchUrl,'');
}else{
var searchUrl=$filterWrapper.attr('data-hide-url');
urlValue=urlValue.replace(searchUrl,'');
urlValue=urlValue.replace(curUrl.href,'');
}}
if(!$wooPage){
window.wpfNewUrl=encodeURI(urlValue).indexOf('%25')===-1 ? encodeURI(urlValue):urlValue;
}
return urlValue.indexOf('%25')!==-1 ? decodeURI(urlValue):urlValue;
}
function checkArray(my_arr){
for(var i=0;i<my_arr.length;i++){
if(my_arr[i]==="")
return false;
}
return true;
}
jQuery.toQueryParams=function(str, separator){
separator=separator||'&';
var obj={};
if(str.length==0)
return obj
var c=str.substr(0,1),
s=c=='?'||c=='#'  ? str.substr(1):str,
a=s.split(separator);
for (var i=0; i<a.length; i++){
var p=a[i].indexOf('=');
if(p < 0){
obj[a[i]]='';
continue
}
var k=decodeURIComponent(a[i].substr(0,p)),
v=decodeURIComponent(a[i].substr(p+1)),
bps=k.indexOf('[');
if(bps < 0){
obj[k]=v
continue;
}
var bpe=k.substr(bps+1).indexOf(']');
if(bpe < 0){
obj[k]=v
continue;
}
var bpv=k.substr(bps+1, bps+bpe-1),
k=k.substr(0,bps);
if(bpv.length <=0){
if(typeof(obj[k])!='object') obj[k]=[];
obj[k].push(v);
}else{
if(typeof(obj[k])!='object') obj[k]={};
obj[k][bpv]=v;
}}
return obj;
}
function wpfChangeFiltersCount (wpfExistTerms, synchroFilterId){
var wpfPage=window.wpfFrontendPage,
curFilter=wpfPage.isSynchro ? (typeof(synchroFilterId)!='undefined'&&synchroFilterId.length ? '#'+synchroFilterId:'#'+wpfPage.currentLoadId):'body';
jQuery(curFilter).find(".wpfShowCount").find(".wpfCount").html("(0)");
jQuery(curFilter).find(".wpfShowCount select:not([multiple]) option[data-count]").each(function(){
var attr=jQuery(this).attr("data-term-name");
jQuery(this).attr('data-count', 0).html(attr+" (0)");
});
jQuery(curFilter).find(".wpfShowCount select[multiple]").find("option").each(function(){
attr=jQuery(this).attr("data-term-name");
jQuery(this).attr('data-count', 0).html(attr+" (0)");
});
jQuery(curFilter).find(".wpfShowCount").each(function(filterCounter){
var filter=jQuery(this);
if(filter.attr("data-filter-type").length > 0){
var taxonomy=filter.data('taxonomy');
if(typeof taxonomy=='undefined'||taxonomy.length==0) taxonomy=filter.data('slug');
if(taxonomy in wpfExistTerms){
if(typeof (wpfExistTerms[taxonomy].relation)!=='undefined'){
var htmlArray={};
jQuery(curFilter).find('div.wpfShowCount[data-taxonomy="' + taxonomy + '"] li').each(function (){
htmlArray[jQuery(this).data('term-id')]=jQuery('.wpfFilterTaxNameWrapper', this).html();
});
jQuery.each(wpfExistTerms[taxonomy].relation, function (index, value){
jQuery.each(htmlArray, function (i, v){
if(v===value&&i!==index){
wpfExistTerms[taxonomy][i]=wpfExistTerms[taxonomy][index];
delete wpfExistTerms[taxonomy][index];
}});
});
}
jQuery.each(wpfExistTerms[taxonomy], function (index, value){
changeCount(taxonomy, index, value, curFilter);
});
delete wpfExistTerms[taxonomy];
}}
});
window.wpfFrontendPage.disableLeerOptions();
var multi=jQuery('.wpfShowCount').find('select[multiple]');
if(multi.length) multi.multiselect('reload');
};
function changeCount(taxonomy, index, value, curFilter){
var oIndex=index;
index=index.toLowerCase();
var els=jQuery(curFilter).find('div.wpfShowCount[data-taxonomy="' + taxonomy + '"] [data-term-id="' + oIndex + '"]');
if(els.length===0){
els=jQuery(curFilter).find('div.wpfShowCount[data-slug="' + taxonomy + '"] [data-term-id="' + oIndex + '"]');
}
if(els.length===0){
els=jQuery(curFilter).find('div.wpfShowCount[data-taxonomy="' + taxonomy + '"] [data-term-id="' + index + '"]');
}
if(els.length===0){
els=jQuery(curFilter).find('div.wpfShowCount[data-slug="' + taxonomy + '"] [data-term-id="' + index + '"]');
}
if(els.length > 0){
els.each(function (){
var el=jQuery(this);
if(el.find('.wpfCount').length > 0){
el.find('.wpfCount:first').html('(' + value + ')');
}else if(el.parent().attr('class')=='wpfColorsColBlock'){
el.parent().find('.wpfCount').html('(' + value + ')');
}else{
var attrname=el.attr('data-term-name');
var tooltipstered=el.siblings('.tooltipstered');
if(tooltipstered.length){
attrname=tooltipstered.attr('data-term-name');
tooltipstered.tooltipster('content', '' + attrname + ' (' + value + ')');
if(tooltipstered.attr('data-show-count')) tooltipstered.text(value);
}else if(attrname!==undefined){
el.html('' + attrname + ' (' + value + ')');
}else{
el.html('' + index + ' (' + value + ')');
}}
if(el.is('option')){
el.attr('data-count', value);
}});
}}
function wpfShowHideFiltersAtts(wpfExistTerms, wpfExistUsers, synchroFilterId){
var wpfPage=window.wpfFrontendPage,
curFilter=typeof(synchroFilterId)!='undefined'&&synchroFilterId.length ? synchroFilterId:wpfPage.currentLoadId;
wpfPage.restoreSelectsForSafari();
jQuery((curFilter ? '#' + curFilter + ' ':'') + '.wpfFilterWrapper').each(function(){
var filter=jQuery(this),
filterType=filter.data('filter-type'),
isTextFilter=filter.attr('data-display-type')=='text',
filterContentType=isTextFilter&&filter.attr('data-control-products')=='1' ? 'taxonomy':filter.data('content-type'),
taxonomy=filter.data('taxonomy'),
getAttr=filter.data('get-attribute'),
isFilterCurentlyActivated=getParameterByName(getAttr, location.search),
isHideActive=filter.data('hide-active'),
isShowAll=Boolean(filter.data('show-all')),
isNotInLogic=getAttr.indexOf('pr_filter')==-1 ? false:true,
userExistIds=[];
switch (filterContentType){
case 'user':
jQuery.each(wpfExistUsers, function (index, value){
userExistIds.push(parseInt(value.ID));
});
if(!isFilterCurentlyActivated&&userExistIds.length > 0){
filter.find('[data-term-id]').each(function (){
var el=jQuery(this),
userId=el.data('term-id');
if(userExistIds.indexOf(userId) >=0){
el.show();
}else{
el.hide();
}});
}
break;
case 'taxonomy':
if(typeof taxonomy=='undefined'||taxonomy.length==0){
taxonomy=filter.data('slug');
}
if((!isFilterCurentlyActivated||isHideActive)&&!isNotInLogic&&!isShowAll){
if(taxonomy in wpfExistTerms||isFilterCurentlyActivated){
var termIds=wpfExistTerms[taxonomy]||{};
filter.find('[data-term-id]').each(function (){
var elem=jQuery(this),
id=elem.data('term-id'),
selected=isFilterCurentlyActivated&&(elem.is('input:checked')||elem.find('input:checked').length||elem.is('option:selected'));
if(id in termIds||selected){
if(elem.closest('.wpfButtonsFilter').length) elem.css('display', 'inline-block');
else elem.show();
if(elem.parent().hasClass('wpfColorsColBlock')){
elem.parent().parent().show();
}
if(elem.closest('.wpfColorsRow').length){
elem.parent().css('display', 'inline-block');
}}else{
elem.hide();
elem.find('input').prop('checked', false);
if(elem.parent().hasClass('wpfColorsColBlock')){
elem.parent().parent().hide();
}
if(elem.closest('.wpfColorsRow').length){
elem.parent().hide();
}}
});
if(filter.attr('data-display-type')=='slider'){
if(typeof(wpfPage.updateAttrSlider)=='function'){
wpfPage.updateAttrSlider(filter, termIds);
}}else{
var hideSingle=filter.attr('data-hide-single')=='1',
preSelector=hideSingle&&filter.find('select[multiple]').length ? 'option':'',
selector=hideSingle&&filter.find('.wpfColorsFilter').length ? 'li[data-term-slug]':'[data-term-id]',
cntAll=isTextFilter ? 1:filter.find(preSelector+selector).length,
cntHidden=filter.find(preSelector+selector+'[style*="none"]').length,
limit=hideSingle ? 1:0;
if(cntAll-cntHidden <=limit){
filter.hide();
}else{
filter.show();
}}
}else{
filter.find('input').prop('checked', false);
filter.find('select').val('');
filter.hide();
}}
var multi=filter.find('select[multiple]');
if(multi.length) multi.multiselect('reload');
if(typeof(window.wpfFrontendPage.wpfShowHideFiltersAttsPro)=='function'){
window.wpfFrontendPage.wpfShowHideFiltersAttsPro(filter);
}
break;
default:
}});
wpfPage.removeHiddenOptionsForSafari();
}
function wpfChangePriceFiltersCount(prices){
var _thisObj=window.wpfFrontendPage,
noWooPage=_thisObj.noWoo,
filterWrapper=jQuery('.wpfMainWrapper'),
priceFilters=jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"].wpfNotActive');
jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"]').each(function (){
var wpfPrice=jQuery(this);
wpfPrice.attr('data-minvalue', prices.wpf_min_price).attr('data-maxvalue', prices.wpf_max_price);
wpfPrice.find('#wpfMinPrice').attr('min', prices.wpf_min_price).val(prices.wpf_min_price);
wpfPrice.find('#wpfMaxPrice').attr('max', prices.wpf_max_price).val(prices.wpf_max_price);
if(wpfPrice.find(".ion-range-slider").length){
wpfPrice.find(".ion-range-slider").each(function (){
jQuery(this).attr('data-min', prices.wpf_min_price).attr('data-max', prices.wpf_max_price);
var ionSlider=jQuery(this).data("ionRangeSlider");
ionSlider.update({
min: prices.wpf_min_price,
max: prices.wpf_max_price,
});
});
}});
window.wpfFrontendPage.eventsPriceFilter();
_thisObj.getUrlParamsChangeFiltersValues();
}
function hideFilterLoader(wrapper){
wrapper.find('.wpfLoaderLayout').hide();
wrapper.css({
position: ''
});
wrapper.find('.wpfFilterWrapper').css({
visibility: 'inherit'
});
}
function heightIdenticalInRow(selector){
var setMaxHeight=function (elements){
if(elements.length > 1){
var elementHeightMax=elements[0].height;
for (var j=1; j < elements.length; j++){
if(elements[j].height > elementHeightMax){
elementHeightMax=elements[j].height;
}}
for (var j=0; j < elements.length; j++){
jQuery(elements[j].selector).height(elementHeightMax);
}}
};
var elementsHeight=[];
var rowIndex=0;
var elementIndex=0;
jQuery(selector).each(function (index, element){
if(!elementsHeight[rowIndex]){
elementsHeight[rowIndex]=[];
}
if(elementsHeight[rowIndex][elementsHeight[rowIndex].length - 1]
&&
elementsHeight[rowIndex][elementsHeight[rowIndex].length - 1].top
&&
elementsHeight[rowIndex][elementsHeight[rowIndex].length - 1].top!==jQuery(element).offset().top
){
setMaxHeight(elementsHeight[rowIndex]);
rowIndex++;
}
if(!elementsHeight[rowIndex]){
elementsHeight[rowIndex]=[];
}
elementsHeight[rowIndex].push({
selector: selector + ':eq(' + elementIndex + ')',
height: jQuery(element).height(),
top: jQuery(element).offset().top
});
elementIndex++;
});
if(elementsHeight[rowIndex]){
setMaxHeight(elementsHeight[rowIndex]);
}}
function wpfDoActionsAfterLoad (fid, isFound, requestData){
if(typeof (window.wpfFrontendPage.saveStatistics)=='function'){
window.wpfFrontendPage.saveStatistics(fid, isFound, requestData);
}}
if(window.wpIinitialiseImmediately&&window.wpfFrontendPage){
if(typeof isElementorEditMode=='undefined') window.wpfFrontendPage.init();
};
(function ($, app){
"use strict";
function doProIntialise(){
var WpfFrontendPage=window.wpfFrontendPage;
WpfFrontendPage.statistics={};
function wpfEventsFrontendPro(){
jQuery('.wpfFilterWrapper input').on('change', function(e){
var $input=jQuery(this);
WpfFrontendPage.styleCheckboxSelected($input.closest('.wpfFilterWrapper'));
if(!$input.is('input:checked')){
WpfFrontendPage.autoUnfoldByCheck($input);
}});
jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"]').each(function (){
WpfFrontendPage.initIonSlider(jQuery(this));
});
jQuery('.wpfPriceRangeCustom input').on('change', function(e){
e.preventDefault();
var li=jQuery(this).closest('li');
li.attr('data-range', li.find('input[name="wpf_custom_min"]').val() + ',' + li.find('input[name="wpf_custom_max"]').val());
});
jQuery('.wpfPriceRangeCustom i').on('click', function(e){
e.preventDefault();
var $this=jQuery(this),
wrapper=$this.closest('.wpfFilterWrapper'),
input=wrapper.find('.wpfFilterContent .wpfCheckbox input');
if(typeof wpfFrontendPage.setCurrentLocation=='function') wpfFrontendPage.setCurrentLocation();
input.prop('checked', false);
$this.closest('li').find('.wpfCheckbox input').prop('checked', true);
if(typeof WpfFrontendPage.moveCheckedToTop!='undefined'){
WpfFrontendPage.moveCheckedToTop($this.closest('li').find('.wpfCheckbox input'));
}
wrapper.removeClass('wpfNotActive');
WpfFrontendPage.setSelectedParamsPro(wrapper);
WpfFrontendPage.filtering($this.closest('.wpfMainWrapper'));
});
jQuery('.wpfFilterWrapper .wpfSearchWrapper button').on('click', function (e){
e.preventDefault();
var wrapper=jQuery(this).closest('.wpfFilterWrapper');
if(typeof wpfFrontendPage.setCurrentLocation=='function') wpfFrontendPage.setCurrentLocation();
if(wrapper.find('.wpfSearchFieldsFilter').val()==''){
WpfFrontendPage.clearFilters(wrapper);
}else{
wrapper.removeClass('wpfNotActive');
wrapper.find('.wpfFilterContent li:not(.wpfSearchHidden) .wpfCheckbox input').prop('checked', true);
WpfFrontendPage.setSelectedParamsPro(wrapper);
}
WpfFrontendPage.filtering(wrapper.closest('.wpfMainWrapper'));
});
jQuery('.wpfFilterWrapper[data-collapsible="1"]').each(function(){
var categoryFilter=jQuery(this);
categoryFilter.find('.wpfCollapsible').off('click').on('click', function (e){
e.preventDefault();
let $this=$(this),
parentLi=$this.closest('li');
setTimeout(function (){
let $icon=$this.find('i.fa, svg');
if($icon.length){
WpfFrontendPage.collapsibleToggle($icon, WpfFrontendPage.getIcons($icon), parentLi);
}}, 100);
return;
});
categoryFilter.find('.wpfCollapsible').each(function(){
var $this=jQuery(this),
li=$this.closest('li');
if(li.find('ul input:checked').length){
$this.trigger('click');
}
var iconVisible=false;
li.find('ul li').each(function (){
if(jQuery(this).css('display')==='block'){
iconVisible=true;
}});
if(!iconVisible){
$this.hide();
}else{
$this.show();
}});
});
if(jQuery('.wpfFilterWrapper .wpfStarsRating').length){
var starFilter=jQuery('.wpfFilterWrapper .wpfStarsRating');
if(starFilter.attr('data-display-type')=='linestars'){
var	starColor=starFilter.attr('data-star-color'),
leerColor=starFilter.attr('data-leer-color'),
addText=starFilter.attr('data-add-text'),
addText5=starFilter.attr('data-add-text5'),
exactValues=starFilter.attr('data-exact-values')||0;
starFilter.find('input.wpfStarInput').on('change',function(){
var checkedItem=starFilter.find('input.wpfStarInput:checked');
starFilter.find('.wpfStarsAdditional').text(!exactValues ?(checkedItem.length&&checkedItem.attr('id')=='wpfLineStar5' ? addText5:addText):checkedItem.data('label'));
});
}else{
starFilter.find('input.wpfStarInput').on('change',function(){
starFilter.find('.wpfStarsRatingBlock').removeClass('wpfLineChecked');
starFilter.find('input.wpfStarInput:checked').closest('.wpfStarsRatingBlock').addClass('wpfLineChecked');
});
}
starFilter.show();
}
jQuery('.wpfFilterWrapper[data-filter-type="wpfSearchText"]').each(function(){
var searchTextFilter=jQuery(this),
autoComplete=parseInt(searchTextFilter.attr('data-autocomplete'));
if(!isNaN(autoComplete)&&autoComplete > 0){
var input=searchTextFilter.find('input'),
filterId=searchTextFilter.closest('.wpfMainWrapper').data('filter'),
oneField=autoComplete==1;
if(searchTextFilter.data('not-display-result-type')===1){
oneField=true;
}
input.autocomplete({
source: function (request, response){
var autocomleate=[];
jQuery.sendFormWpf({
data: {
mod: 'woofilterpro',
action: 'autocompliteSearchText',
keyword: input.val(),
filterId: filterId
},
onSuccess: function(result){
if(!result.error&&result.data&&result.data.autocompleteData){
var data=result.data.autocompleteData;
for(var option in data){
for(var optionName in data[option]){
var keyword=data[option][optionName];
autocomleate.push({label: (oneField ? keyword:optionName + ': ' + keyword), value: keyword});
}}
}
response(autocomleate);
}});
},
select: function(event, ui){
input.val(ui.item.value);
input.blur();
WpfFrontendPage.eventChangeFilter(event);
},
minLength: 2,
delay: 10
});
}
searchTextFilter.find('input').on('focusout', function (e){
var _this=jQuery(e.target),
mainWrapper=_this.closest('.wpfMainWrapper'),
filterWrapper=_this.closest('.wpfFilterWrapper'),
disable_autofiltering=WpfFrontendPage.getFilterParam('f_disable_autofiltering', mainWrapper, filterWrapper);
if(!disable_autofiltering){
WpfFrontendPage.eventChangeFilter(e);
}});
});
jQuery('.wpfFilterWrapper[data-filter-type="wpfSearchNumber"]').each(function(){
jQuery(this).find('input').on('focusout', function (e){
var _this=jQuery(e.target),
mainWrapper=_this.closest('.wpfMainWrapper'),
filterWrapper=_this.closest('.wpfFilterWrapper'),
disable_autofiltering=WpfFrontendPage.getFilterParam('f_disable_autofiltering', mainWrapper, filterWrapper);
if(!disable_autofiltering){
WpfFrontendPage.eventChangeFilter(e);
}});
});
jQuery('.wpfFilterWrapper .wpfColorsFilterHor label.icon').tooltipster().attr('title', '');
jQuery('.wpfFilterWrapper .wpfColorsFilter label.icon').each(function(){
jQuery(this).css('color', wpfGetColorText(jQuery(this).data('color')));
});
jQuery('.wpfFilterWrapper[data-filter-type="wpfAttribute"][data-display-type="slider"]').each(function (){
var skin=jQuery(this).attr('data-price-skin');
if(skin==='default'){
WpfFrontendPage.initDefaultSlider(jQuery(this), 'attr');
}else{
WpfFrontendPage.initIonSlider(jQuery(this), 'attr');
}});
jQuery('.wpfColorsFilter li').on('click', function(e){
if(jQuery(this).hasClass('wpfOptionDisabled')) return false;
var input=jQuery(this).find('input'),
mainWrapper=input.closest('.wpfMainWrapper'),
filterWrapper=input.closest('.wpfFilterWrapper'),
isSingle=WpfFrontendPage.getFilterParam('f_colors_singleselect', mainWrapper, filterWrapper);
if(isSingle){
var isChecked=input.is(':checked');
filterWrapper.find('input').each(function (){
if(jQuery(this).is(':checked')){
jQuery(this).prop('checked', false).trigger('wpf-synchro');
}});
input.prop('checked', isChecked);
}});
jQuery('.wpfButtonsFilter input, .wpfTextFilter input').on('change wpf-synchro', function(e){
var input=jQuery(this),
wrapper=input.closest('li'),
filterWrapper=input.closest('.wpfFilterWrapper'),
type=filterWrapper.data('display-type');
if(input.is(':checked')){
if(type=='buttons'){
input.closest('li').addClass('wpfTermChecked');
}
input.closest('label').find('.wpfValue').addClass('wpfTermChecked');
}else{
if(type=='buttons'){
input.closest('li').removeClass('wpfTermChecked');
}
input.closest('label').find('.wpfValue').removeClass('wpfTermChecked');
}});
jQuery('.wpfMainWrapper input').on('wpf-synchro', function(e){
WpfFrontendPage.setSelectedParamsPro(jQuery(this).closest('.wpfFilterWrapper'));
});
jQuery('.wpfButtonsFilter li').on('click', function(e){
if(jQuery(this).hasClass('wpfOptionDisabled')) return false;
var input=jQuery(this).find('input'),
mainWrapper=input.closest('.wpfMainWrapper'),
filterWrapper=input.closest('.wpfFilterWrapper'),
isMuulti=WpfFrontendPage.getFilterParam('f_buttons_multiselect', mainWrapper, filterWrapper),
isChecked=input.is(':checked');
if(!isMuulti){
filterWrapper.find('input').each(function (){
if(jQuery(this).is(':checked')){
jQuery(this).prop('checked', false).trigger('wpf-synchro');
}});
}
input.prop('checked', !isChecked).trigger('change');
});
jQuery('.wpfTextFilter li').on('click', function(e){
if(jQuery(this).hasClass('wpfOptionDisabled')) return false;
var input=jQuery(this).find('input'),
mainWrapper=input.closest('.wpfMainWrapper'),
filterWrapper=input.closest('.wpfFilterWrapper'),
isSingle=WpfFrontendPage.getFilterParam('f_text_singleselection', mainWrapper, filterWrapper),
isChecked=input.is(':checked');
if(isSingle){
filterWrapper.find('input').each(function (){
if(jQuery(this).is(':checked')){
jQuery(this).prop('checked', false).trigger('wpf-synchro');
}});
}
input.prop('checked', !isChecked).trigger('change');
});
jQuery('.wpfTextFilter input:checked').each(function(){
jQuery(this).closest('label').find('.wpfValue').addClass('wpfTermChecked');
});
jQuery('.wpfMainWrapper').each(function (){
var mainWrapper=jQuery(this),
settings=WpfFrontendPage.getFilterMainSettings(mainWrapper),
hideButton=mainWrapper.find('.wfpHideButton');
if(settings&&settings.settings.display_selected_params==='1'){
var id=mainWrapper.data('viewid').split('_')[0],
wrapper=jQuery('<div class="wpfSelectedParameters"></div>'),
wrapperExternal=jQuery('.wpfSelectedParameters[data-filter="' + id + '"]');
if(wrapperExternal.length){
wrapper=wrapperExternal;
}
WpfFrontendPage.selectedParamsColor=wpfLightenDarkenColor(mainWrapper.css('background-color'), -10);
mainWrapper.find('.wpfFilterWrapper:not(.wpfNotActive):not(.wpfHidden)').each(function (){
var filter=jQuery(this),
filterType=filter.attr('data-filter-type'),
filterName=filter.attr('data-get-attribute'),
filterLogic=filter.attr('data-query-logic'),
params=WpfFrontendPage.getFilterOptionsByType(filter, filterType);
params=WpfFrontendPage.filterParamByParentPro(settings, params);
WpfFrontendPage.addSelectedParamsPro(wrapper, params, filterType, filterName, filterLogic);
});
if(settings.settings.selected_params_clear==='1'){
var word=wpfTraslate.ClearAll ? wpfTraslate.ClearAll:settings.settings.selected_clean_word;
wrapper.append(jQuery('<div class="wpfSelectedParametersClear">' + (word ? word:'Clear All') + '</div>'));
}
if(wrapper.find('.wpfSelectedParameter').length==0){
wrapper.addClass('wpfHidden');
}else{
wrapper.removeClass('wpfHidden');
}
if(!wrapperExternal.length){
if(settings.settings.selected_params_position==='bottom') mainWrapper.append(wrapper);
else if(hideButton.length) wrapper.insertAfter(hideButton);
else mainWrapper.prepend(wrapper);
}}
var isActiveFilter=false;
mainWrapper.find('.wpfFilterWrapper').each(function(){
var wrapper=jQuery(this);
if(!wrapper.hasClass('wpfNotActive')) isActiveFilter=true;
if(wrapper.attr('data-abc')=='1'){
wrapper.find('.wpfFilterVerScroll').each(function(){
var abc='',
verBlock=jQuery(this);
verBlock.children('li[data-parent="0"]').each(function(){
var li=jQuery(this),
name=li.find('.wpfValue .wpfFilterTaxNameWrapper').html(),
letter=name.substr((name.substring(0, 1)=='<' ? name.indexOf('>') + 1:0), 1).toUpperCase();
if(abc.indexOf(">"+letter+"<")==-1){
jQuery('<li class="wpfAbcLetter" data-letter="'+letter+'">'+letter+'</li>').insertBefore(li);
abc +='<div class="wpfAbcLink" data-letter="'+letter+'">'+letter+'</div>';
}
li.attr('data-letter', letter);
});
if(abc!='') jQuery('<div class="wpfAbcToggle">'+(wpfTraslate.AlphabeticalIndex||'Alphabetical index')+'</div><div class="wpfAbcLinks wpfHidden">'+abc+'</div>').insertBefore(verBlock);
});
WpfFrontendPage.wpfShowHideFiltersAttsPro(wrapper);
}
WpfFrontendPage.styleCheckboxSelected(wrapper);
setTimeout(function(){
wrapper.find('.wpfFilterVerScroll').each(function (){
WpfFrontendPage.initShowMore(jQuery(this));
});
}, 100);
});
if(hideButton.length&&hideButton.attr('data-is-open')==='0'){
hideButton.siblings('div:not(.wpfPreviewLoader):not(.wpfLoaderLayout)').addClass('wpfHideFilter');
}
WpfFrontendPage.getHideButtons(mainWrapper, settings, isActiveFilter);
var width=$(window).width(),
height=$(window).height();
jQuery(window).on('resize', function(){
if(width!==$(window).width()){
WpfFrontendPage.getHideButtons(mainWrapper, settings);
}});
});
jQuery('.wpfMainWrapper .wpfAbcToggle').on('click', function(e){
e.preventDefault();
var wrapper=jQuery(this).closest('.wpfFilterWrapper').find('.wpfAbcLinks');
if(wrapper.hasClass('wpfHidden')) wrapper.removeClass('wpfHidden');
else wrapper.addClass('wpfHidden');
});
jQuery('.wpfMainWrapper .wpfAbcLink').on('click', function(e){
e.preventDefault();
var link=jQuery(this),
wrapper=link.closest('.wpfFilterWrapper').find('.wpfFilterVerScroll'),
letter=wrapper.find('.wpfAbcLetter[data-letter="'+link.attr('data-letter')+'"]:first');
if(letter.hasClass('wpfMoreHidden')) wrapper.find('.wpfShowMoreWrapper').trigger('click');
wrapper.stop().animate({
scrollTop: wrapper.find('.wpfAbcLetter[data-letter="'+link.attr('data-letter')+'"]:first').offset().top-wrapper.find('li:not(.wpfHidden):not([style*="display: none"]):first').offset().top
}, 500);
});
jQuery('body').off('click', '.wpfShowMoreWrapper').on('click', '.wpfShowMoreWrapper', function(e){
e.preventDefault();
var more=jQuery(this),
block=more.closest('.wpfFilterVerScroll').attr('data-open-more', 1);
if(more.attr('data-full-opening')=='1') block.css({'maxHeight': 'none'});
block.find('li').removeClass('wpfMoreHidden');
more.remove();
block.append(jQuery('<li class="wpfShowFewerWrapper"> - ' + wpfTraslate.ShowFewer + ' </li>'));
});
jQuery('body').off('click', '.wpfShowFewerWrapper').on('click', '.wpfShowFewerWrapper', function(e){
e.preventDefault();
WpfFrontendPage.initShowMore(jQuery(this).closest('.wpfFilterVerScroll').attr('data-open-more', 0));
});
jQuery('body').off('click', '.wpfSelectedParameters .wpfSelectedDelete').on('click', '.wpfSelectedParameters .wpfSelectedDelete',  function(e){
e.preventDefault();
var param=jQuery(this).closest('.wpfSelectedParameter'),
filterId=param.closest('.wpfSelectedParameters').data('filter'),
paramName=param.attr('data-filter-name'),
paramType=param.attr('data-filter-type'),
mainWrapper=filterId ? jQuery('.wpfMainWrapper[data-filter="' + filterId + '"]'):param.closest('.wpfMainWrapper');
if(typeof wpfFrontendPage.setCurrentLocation=='function') wpfFrontendPage.setCurrentLocation();
if(param.attr('data-is-one')=='1'){
WpfFrontendPage.clearFilters(mainWrapper.find('.wpfFilterWrapper[data-filter-type="'+paramType+'"]'));
WpfFrontendPage.filtering(mainWrapper);
}else{
mainWrapper.find('.wpfFilterWrapper[data-filter-type="'+paramType+'"][data-get-attribute="'+paramName+'"]').each(function(){
var filter=jQuery(this);
if(filter.attr('data-display-type')=='mul_dropdown'){
filter.find('option[data-term-id="'+param.attr('data-key')+'"]').removeAttr('selected').trigger('change');
filter.find('select.jqmsLoaded').multiselect('reload');
}else{
var input=filter.find('[data-term-id="'+param.attr('data-key')+'"]');
if(input.length&&!input.is('input')) input=input.find('input');
if(input.length) input.prop('checked', false).trigger('change');
}});
}});
jQuery('body').off('click', '.wpfSelectedParameters .wpfSelectedParametersClear').on('click', '.wpfSelectedParameters .wpfSelectedParametersClear',  function(e){
e.preventDefault();
var filterId=jQuery(this).closest('.wpfSelectedParameters').data('filter'),
$filterWrapper=filterId ? jQuery('.wpfMainWrapper[data-filter="' + filterId + '"]'):jQuery(this).closest('.wpfMainWrapper');
if(typeof wpfFrontendPage.setCurrentLocation=='function') wpfFrontendPage.setCurrentLocation();
WpfFrontendPage.clearFilters($filterWrapper.find('.wpfFilterWrapper'), true);
WpfFrontendPage.filtering($filterWrapper);
WpfFrontendPage.initOneByOne($filterWrapper);
});
var hideButtonEvent=document.createEvent('Event');
hideButtonEvent.initEvent('wpfHideButtonClick', false, true);
jQuery('body').off('click', '.wfpHideButton').on('click', '.wfpHideButton',  function(e){
e.preventDefault();
var button=jQuery(this),
icon=button.find('i.fa, svg'),
up='fa-chevron-up',
down='fa-chevron-down',
mainWrapper=button.closest('.wpfMainWrapper');
if(mainWrapper.length){
$('html,body').animate({'scrollTop': mainWrapper.offset().top - 30}, 500);
}
if(icon.length){
if(icon.hasClass(up)){
var toggle='up';
}else{
var toggle='down';
}
WpfFrontendPage.toggleHideFiltersButton(button, toggle);
}});
jQuery('.wpfFilterWrapper[data-skin-css]').each(function(){
var css=jQuery(this).attr('data-skin-css'),
filterBlockId=jQuery(this).closest('.wpfMainWrapper').attr('data-filter'),
filterId=jQuery(this).attr('id'),
styleBlockId='#' + filterId + '_style';
if(filterBlockId&&filterId){
var selector='.wpfMainWrapper[data-filter="' + filterBlockId + '"] #' + filterId;
var selectorAction='div.wpfMainWrapper[data-filter="' + filterBlockId + '"] #' + filterId;
css=css.split('filter_admin_area_id_placeholder').join(selectorAction);
jQuery(styleBlockId).html(css);
}});
document.dispatchEvent(hideButtonEvent);
jQuery('.wpfFilterWrapper[data-filter-type="wpfAttribute"][data-display-type="slider"]').on('wpfAttrSliderChange', function(event, sliderData){
var filter=jQuery(this),
wrapper=sliderData.input.closest('.wpfFilterWrapper');
filter.removeClass('wpfNotActive');
wrapper.find('#wpfMinAttrNum').val(sliderData.from_value);
wrapper.find('#wpfMaxAttrNum').val(sliderData.to_value);
wrapper.find('#wpfMinAttrNum').attr('data-min-numeric-value', sliderData.from);
wrapper.find('#wpfMaxAttrNum').attr('data-max-numeric-value', sliderData.to);
});
jQuery('body').on('click', '.wpfFilterTitle', function(e){
var curTitle=jQuery(this);
setTimeout(function (){
let $icon=curTitle.find('i.fa, svg');
if($icon.length){
let icons=WpfFrontendPage.getIcons($icon);
if(!icons.collapsed){
var wrapper=curTitle.closest('.wpfMainWrapper'),
settings=WpfFrontendPage.getFilterMainSettings(wrapper);
if(settings.settings.only_one_filter_open==='1'){
var curBlockId=curTitle.closest('.wpfFilterWrapper').attr('id');
wrapper.find('.wpfFilterTitle .' + icons.minusIcon).each(function (){
var _this=jQuery(this),
block=_this.closest('.wpfFilterWrapper');
if(block.attr('id')!=curBlockId){
WpfFrontendPage.closeFilterToggle(_this, block.find('.wpfFilterContent'), true, icons);
}});
}}
}}, 100);
});
var brandDescription=jQuery('.wpfFilterWrapper .data-brand-description').html();
if(typeof brandDescription!=='undefined'){
var loopContainer=jQuery('ul.products');
loopContainer.before('<div class="brand-description">' + brandDescription + '</div>');
}
jQuery('.wpfMainWrapper').each(function (){
WpfFrontendPage.initOneByOne(this);
});
jQuery('.wpfFilterWrapper[data-filter-type="wpfPrice"]').on('wpfPriceChange', function (){
WpfFrontendPage.setCurrentOrderKey(jQuery(this));
});
jQuery('.wpfFilterWrapper').off('change').on('change', function (){
WpfFrontendPage.setCurrentOrderKey(jQuery(this));
});
document.addEventListener('wpfAjaxSuccess', function (){
jQuery('.wpfMainWrapper').each(function (){
var mainWrapper=jQuery(this),
settings=WpfFrontendPage.getFilterMainSettings(mainWrapper).settings;
if(settings.open_one_by_one==='1'){
var currentOrderKey=mainWrapper.data('current-order-key');
if(typeof currentOrderKey!=='undefined'){
var filterWrapper={};
if(settings.disable_following==='1'){
filterWrapper=WpfFrontendPage.findNextFilterWrapper(currentOrderKey,'.wpfFilterWrapper',mainWrapper);
if(!jQuery.isEmptyObject(filterWrapper)){
filterWrapper.removeClass('wpfDisable').find('select').removeAttr('disabled');
}}else{
filterWrapper=WpfFrontendPage.findNextFilterWrapper(currentOrderKey,'.hideUntilPrevSelected',mainWrapper);
if(!jQuery.isEmptyObject(filterWrapper)){
filterWrapper.removeClass('hideUntilPrevSelected');
}
mainWrapper.removeData('current-order-key');
}}
}});
});
if(!WpfFrontendPage.isAdminPreview){
jQuery('.wpfFloatingSwitcher').each(function(){
var btn=jQuery(this);
if(btn.attr('data-product-visible')=='1'){
var	btnId=btn.attr('id'),
$filterWrapper=btn.parent().find('#'+btnId.replace('wpfFloatingSwitcher', 'wpfFloatingWrapper')+' .wpfMainWrapper');
if($filterWrapper.length){
var $generalSettings=WpfFrontendPage.getFilterMainSettings($filterWrapper),
$target=false,
prContainer=WpfFrontendPage.fixSelector($generalSettings['settings']['product_container_selector'] ? $generalSettings['settings']['product_container_selector']:'', '');
if(prContainer.length) $target=jQuery(prContainer);
if(!$target||$target.length==0){
prContainer=WpfFrontendPage.fixSelector($generalSettings['settings']['product_list_selector'] ? $generalSettings['settings']['product_list_selector']:'', WpfFrontendPage.defaultProductSelector);
if(prContainer.length) $target=jQuery(prContainer).parent();
}
if($target&&$target.length){
var btns=$target.attr('data-wpf-buttons'),
btnsAr=btns&&btns.length ? btns.split(','):[];
if(btnsAr.length==0){
var observer=new IntersectionObserver(function(entries){
entries.forEach(function(entry){
var btns=$target.attr('data-wpf-buttons'),
btnsAr=btns&&btns.length ? btns.split(','):[];
btnsAr.forEach(function(element){
jQuery('#'+element).css('display', entry.isIntersecting ? 'block':'none');
});
});
});
observer.observe($target.get(0));
}
if(btnsAr.indexOf(btnId)==-1){
btnsAr.push(btnId);
$target.attr('data-wpf-buttons', btnsAr.join(','));
}}
}}
});
}
var openFloatingEvent=document.createEvent('Event');
openFloatingEvent.initEvent('wpfOpenFloatingClick', false, true);
jQuery('.wpfFloatingSwitcher').off('click').on('click', function(e){
e.preventDefault();
var floating=jQuery(this).parent().find('.wpfFloatingWrapper');
if(floating.length==0){
floating=jQuery('#wpfFloatingWrapper-'+jQuery(this).attr('id').replace('wpfFloatingSwitcher-',''));
}
if(floating.length) WpfFrontendPage.showFloatingPopup(0, floating);
document.dispatchEvent(openFloatingEvent);
});
var closeFloatingEvent=document.createEvent('Event');
closeFloatingEvent.initEvent('wpfCloseFloatingClick', false, true);
jQuery('.wpfFloatingClose').off('click').on('click', function (){
var popup=jQuery(this).closest('.wpfFloatingWrapper');
if(popup.attr('data-hide-css')){
popup.animate(JSON.parse(popup.attr('data-hide-css')), parseInt(popup.attr('data-hide-speed')), function(){
popup.hide();
popup.removeClass('wpfFloatingShow');
});
}
if(popup.attr('data-auto-side')) popup.css(popup.attr('data-auto-side'), 'auto');
popup.parent().find('.wpfFloatingOverlay').hide();
document.dispatchEvent(closeFloatingEvent);
});
jQuery('.wpfFloatingOverlay').off('click').on('click', function (){
var elem=jQuery(this);
jQuery(this).parent().find('#' + elem.attr('id').replace('wpfFloatingOverlay', 'wpfFloatingWrapper')+' .wpfFloatingClose').trigger('click');
});
if(jQuery('.wpfFloatingWrapper').length){
jQuery(document).on('keydown', function(e){
if(e.keyCode===27){
jQuery('.wpfFloatingShow .wpfFloatingClose').trigger('click');
}});
}}
WpfFrontendPage.constructor.prototype.showFloatingPopup=(function (filterId, floating){
if(typeof(floating)=='undefined'){
var floating=jQuery('.wpfMainWrapper[data-filter="'+filterId+'"]').closest('.wpfFloatingWrapper');
}
if(floating.length==0) return;
var popup=floating.eq(0);
if(popup.hasClass('wpfFloatingShow')) return;
var _thisObj=this.$obj,
viewId=popup.attr('data-viewid'),
overlay=popup.parent().find('.wpfFloatingOverlay'),
width=popup.width(),
height=popup.height(),
side=popup.attr('data-side'),
horiz=side=='left'||side=='right',
speed=parseInt(popup.attr('data-animation-speed'))||200,
t=popup.attr('data-position-top')||'',
r=popup.attr('data-position-right')||'',
b=popup.attr('data-position-bottom')||'',
l=popup.attr('data-position-left')||'',
beginP=horiz ? {left: 'auto', right: 'auto'}:{top: 'auto', bottom: 'auto'},
endP={},
saveP={};
beginP[side]='-'+((horiz ? width:height)+50)+'px';
if(horiz){
if(l.length) endP['left']=l+'px';
else if(r.length) endP['right']=r+'px';
else if(side=='left') endP['left']='0';
else endP['right']='0';
}else{
if(t.length) endP['top']=t+'px';
else if(b.length) endP['bottom']=b+'px';
else if(side=='top') endP['top']='0';
else endP['bottom']='0';
}
saveP[side]=beginP[side];
overlay.show();
popup.attr('data-hide-css', JSON.stringify(saveP)).attr('data-hide-speed', speed).css(beginP).show().animate(endP, speed);
popup.addClass('wpfFloatingShow');
if(!(side in endP)){
popup.css(side, 'auto');
popup.attr('data-auto-side', Object.keys(endP)[0]);
}
_thisObj.chageRangeFieldWidth();
popup.find('.wpfFilterVerScroll').each(function (){
_thisObj.initShowMore(jQuery(this));
});
});
WpfFrontendPage.constructor.prototype.initOneByOne=(function (_this){
var mainWrapper=jQuery(_this),
settings=WpfFrontendPage.getFilterMainSettings(mainWrapper).settings;
if(settings.open_one_by_one==='1'){
var active=-1,
first=-1;
jQuery('.wpfFilterWrapper', mainWrapper).each(function (){
var _this=jQuery(this);
if(first===-1&&_this.hasClass('wpfNotActive')&&!_this.hasClass('wpfHidden')){
first=_this.data('order-key');
}
if(!_this.hasClass('wpfNotActive')&&!_this.hasClass('wpfHidden')){
active=_this.data('order-key');
}});
jQuery('.wpfFilterWrapper', mainWrapper).each(function (){
var _this=jQuery(this);
if(active===-1||active < first){
if(_this.data('order-key') > first){
WpfFrontendPage.toggleOneByOne(_this, settings);
}}else{
if(_this.data('order-key') > active + 1){
WpfFrontendPage.toggleOneByOne(_this, settings);
}}
});
}});
WpfFrontendPage.constructor.prototype.toggleOneByOne=(function (_this, settings){
if(settings.disable_following==='1'){
_this.addClass('wpfDisable');
_this.find('select').attr('disabled', 'disabled');
}else{
_this.addClass('hideUntilPrevSelected');
}});
WpfFrontendPage.constructor.prototype.findNextFilterWrapper=(function (currentOrderKey, selector, mainWrapper){
var currentSelect=mainWrapper.find('.wpfFilterWrapper[data-order-key=' + currentOrderKey + ']'),
next={};
if(currentSelect.length===1&&''!==currentSelect.find('select option:selected').data('slug')){
jQuery('.wpfFilterWrapper', mainWrapper).each(function (){
var _this=jQuery(this),
orderKey=_this.data('order-key');
if(orderKey > currentOrderKey&&((_this.hasClass('hideUntilPrevSelected')&&!_this.hasClass('wpfPreselected'))||_this.css('display')==='block')){
next=_this;
return false;
}});
}
return next;
});
WpfFrontendPage.constructor.prototype.setCurrentOrderKey=(function (_this){
var mainWrapper=_this.closest('.wpfMainWrapper'),
settings=WpfFrontendPage.getFilterMainSettings(mainWrapper).settings;
if(settings.open_one_by_one==='1'){
mainWrapper.data('current-order-key', _this.data('order-key'));
if(settings.disable_following==='1'){
_this.nextAll('.wpfFilterWrapper').each(function (){
const next=jQuery(this);
const select=next.find('select');
next.addClass('wpfDisable');
select.attr('disabled', 'disabled');
select.find('option:selected').prop('selected', false);
next.find('input:checked').prop('checked', false);
});
}}
});
WpfFrontendPage.constructor.prototype.beforeFilteringPro=(function (checkWrapper){
var _thisObj=this.$obj,
popup=checkWrapper.closest('.wpfFloatingWrapper');
if(popup.length&&_thisObj.filterClick){
if(popup.attr('data-close-after')=='1'){
popup.find('.wpfFloatingClose').trigger('click');
}}
var $generalSettings=_thisObj.getFilterMainSettings(checkWrapper);
if($generalSettings['settings']['clear_other_filters']&&($generalSettings['settings']['clear_other_filters']=='1')){
var checkId=checkWrapper.data('filter');
jQuery('.wpfMainWrapper').each(function (){
var currentWrapper=jQuery(this);
if(checkId!==currentWrapper.data('filter')){
_thisObj.clearFilters(currentWrapper.find('.wpfFilterWrapper'), true);
}});
}});
WpfFrontendPage.constructor.prototype.collapsibleToggle=(function($icon, icons, parentLi){
var filterWrapper=parentLi.closest('.wpfFilterWrapper');
if(icons.collapsed){
if(filterWrapper.data('autounfold-all-levels')===1){
parentLi.find('ul').each(function (){
var ul=jQuery(this);
ul.removeClass('wpfHidden');
ul.find('i.fa, svg').addClass(icons.minusIcon).removeClass(icons.plusIcon);
});
}else{
parentLi.children('ul').removeClass('wpfHidden');
}
$icon.addClass(icons.minusIcon).removeClass(icons.plusIcon);
}else{
var uls=parentLi.find('ul');
uls.addClass('wpfHidden');
parentLi.find('.wpfCollapsible').find('i.fa, svg').addClass(icons.plusIcon).removeClass(icons.minusIcon);
var _thisObj=this.$obj,
mainWrapper=parentLi.closest('.wpfMainWrapper');
if(_thisObj.getFilterParam('f_multi_auto_collapses_parent', mainWrapper, filterWrapper)){
if(parentLi.siblings('li').find('.wpfCollapsible i').hasClass('fa-minus')===false){
var parentUL=parentLi.closest('ul');
if(!parentUL.hasClass('wpfFilterVerScroll')){
parentUL.addClass('wpfHidden');
parentUL.closest('li').find('.wpfCollapsible').find('i.fa, svg').addClass(icons.plusIcon).removeClass(icons.minusIcon);
}}
}}
});
WpfFrontendPage.constructor.prototype.styleCheckboxSelected=(function ($filter){
if($filter.length){
$filter.find('.wpfDisplay').removeClass('selected');
$filter.find('input:checked').each(function (){
var input=jQuery(this),
singleType=$filter.data('filter-type')=='wpfAttribute' ? 'radio':'list';
input.closest('.wpfLiLabel').find('.wpfDisplay').addClass('selected');
WpfFrontendPage.autoUnfoldByCheck(input);
if($filter.data('display-type')===singleType){
var parentUL=input.closest('ul');
if(parentUL.hasClass('wpfFilterVerScroll')&&parentUL.find('.wpfLiLabel .wpfCollapsible').length){
$filter.find('.wpfFilterVerScroll > li').each(function (){
var li=jQuery(this);
li.find('ul').addClass('wpfHidden');
li.find('i.fa, svg').each(function (){
var $icon=jQuery(this),
icons=WpfFrontendPage.getIcons($icon);
$icon.addClass(icons.plusIcon).removeClass(icons.minusIcon);
});
});
}}
});
}});
WpfFrontendPage.constructor.prototype.getAttributeFilterOptionsPro=(function($filter, data){
var filterType=$filter.attr('data-display-type'),
isACF=($filter.data('get-attribute').indexOf('acf-')===0);
if(filterType==='colors'){
$filter.find('input:checked').each(function (){
var input=jQuery(this),
id=input.attr('data-term-id');
data.options[data.i]=id;
data.frontendOptions[data.i]=(isACF) ? id:input.attr('data-term-slug');
var name=input.parent().find('label.icon').attr('data-term-name');
data.selectedOptions['list'][id]=name;
data.statistics.push(name);
data.i++;
});
}else if(filterType==='slider'){
var values=$filter.find('.wpfAttrNumFilterRange').attr('data-values').split(','),
slugs=$filter.find('.wpfAttrNumFilterRange').attr('data-slugs').split(','),
termIds=$filter.find('.wpfAttrNumFilterRange').attr('data-term-ids').split(','),
minAttrNum=$filter.find('#wpfMinAttrNum').attr('data-min-numeric-value'),
maxAttrNum=$filter.find('#wpfMaxAttrNum').attr('data-max-numeric-value'),
forceNumeric=$filter.find('.ion-range-slider').data('force-numeric') ? $filter.find('.ion-range-slider').data('force-numeric'):0,
minAttVal=$filter.find('#wpfMinAttrNum').val(),
maxAttVal=$filter.find('#wpfMaxAttrNum').val(),
selectedOptions={'is_one': true, 'list': [minAttVal + ' - ' + maxAttVal]},
statistics=[[minAttVal,maxAttVal]];
slugs.forEach(function(slug, index){
var value=forceNumeric ? parseFloat(values[index]):values[index];
if(index >=minAttrNum&&index <=maxAttrNum){
data.options[data.i]=termIds[index];
data.frontendOptions[data.i]=slug;
data.selectedOptions=selectedOptions;
data.statistics=statistics;
data.i++;
}});
}
return data;
});
WpfFrontendPage.constructor.prototype.getTagsFilterOptionsPro=(function($filter, data){
var filterType=$filter.attr('data-display-type');
if(filterType==='colors'){
$filter.find('input:checked').each(function (){
var input=jQuery(this),
id=input.attr('data-term-id');
data.options[data.i]=id;
data.frontendOptions[data.i]=input.attr('data-term-slug');
var name=input.parent().find('label.icon').attr('data-term-name');
data.selectedOptions['list'][id]=name;
data.statistics.push(name);
data.i++;
});
}
return data;
});
WpfFrontendPage.constructor.prototype.eventsFrontendPro=(function (){
wpfEventsFrontendPro();
});
WpfFrontendPage.constructor.prototype.initIonSlider=(function (filter, type){
var mainWrapper=filter.closest('.wpfMainWrapper'),
autoFilteringEnable=(mainWrapper.find('.wpfFilterButton').length==0),
decimal=filter.attr('data-decimal'),
isDecimalFormating=filter.attr('data-decimal-formating')=='1'&&decimal,
step=filter.attr('data-step'),
minInputId='#wpfMinPrice',
maxInputId='#wpfMaxPrice',
triggerName='wpfPriceChange',
filterType=typeof type!=='undefined' ? type:'price';
if(filterType==='attr'){
minInputId='#wpfMinAttrNum';
maxInputId='#wpfMaxAttrNum';
triggerName='wpfAttrSliderChange';
}
if(filter.find('.ion-range-slider').length){
var sliderCurBefore=(filter.attr('data-slider-currency-before')!=undefined) ? filter.attr('data-slider-currency-before'):'';
var sliderCurAfter=(filter.attr('data-slider-currency-after')!=undefined) ? filter.attr('data-slider-currency-after'):'';
filter.find('.ion-range-slider').ionRangeSlider({
prefix: sliderCurBefore,
postfix: sliderCurAfter,
decimal: isDecimalFormating ? parseInt(decimal):0,
onStart: function (data){
var irsGrid=data.input.siblings('.irs').find('.irs-grid'),
irsGridTexts=irsGrid.find('.irs-grid-text'),
forceNumeric=data.input.data('force-numeric') ? data.input.data('force-numeric'):1,
wrapper=data.input.closest('.wpfFilterWrapper');
if(!forceNumeric){
irsGridTexts.each(function (){
var tVal=parseFloat(jQuery(this).text()).toFixed(decimal);
jQuery(this).text(tVal);
});
}
wrapper.find('#wpfMinAttrNum').val(data.from_value);
wrapper.find('#wpfMaxAttrNum').val(data.to_value);
wrapper.find('#wpfMinAttrNum').attr('data-min-numeric-value', data.from);
wrapper.find('#wpfMaxAttrNum').attr('data-max-numeric-value', data.to);
},
onChange:  function (data){
filter.find(minInputId).val(data.from.toFixed(decimal));
filter.find(maxInputId).val(data.to.toFixed(decimal));
data.step=Number(step);
filter.trigger(triggerName, data);
},
onFinish: function (data){
filter.removeClass('wpfNotActive');
if(autoFilteringEnable){
if(typeof wpfFrontendPage.setCurrentLocation=='function') wpfFrontendPage.setCurrentLocation();
WpfFrontendPage.filtering(mainWrapper);
}
data.step=Number(step);
filter.trigger(triggerName, data);
}});
filter.find('input#wpfMinAttrNum, input#wpfMaxAttrNum').on('blur', function (e){
var	parent=jQuery(this).closest('.wpfFilterContent'),
minAttrValue=parent.find('#wpfMinAttrNum').val().toLowerCase(),
maxAttrValue=parent.find('#wpfMaxAttrNum').val().toLowerCase(),
slider=parent.find('.ion-range-slider'),
valueList=slider.attr('data-values').toLowerCase().split(','),
sliderData=parent.find('.ion-range-slider').data('ionRangeSlider');
if(slider.attr('data-force-numeric')==="1"){
var minAttrValueCut=jQuery.grep(valueList, function (val){
if(parseFloat(val) <=parseFloat(minAttrValue)){
return true;
}});
minAttrValue=(minAttrValueCut.length <=1) ? 0:minAttrValueCut.length - 1;
var maxAttrValueCut=jQuery.grep(valueList, function (val){
if(parseFloat(val) >=parseFloat(maxAttrValue)){
return true;
}});
maxAttrValue=(maxAttrValueCut.length===0) ? valueList.length:valueList.indexOf(maxAttrValueCut[0]);
}else{
if(valueList.indexOf(minAttrValue)!==-1){
minAttrValue=valueList.indexOf(minAttrValue);
}else{
minAttrValue=0;
}
if(valueList.indexOf(maxAttrValue)!==-1){
maxAttrValue=valueList.indexOf(maxAttrValue);
}else{
maxAttrValue=valueList.length;
}}
if(maxAttrValue < minAttrValue){
minAttrValue=0;
maxAttrValue=valueList.length;
}
parent.find('#wpfMinAttrNum').attr('data-min-numeric-value', minAttrValue);
parent.find('#wpfMaxAttrNum').attr('data-max-numeric-value', maxAttrValue);
sliderData.update({from: minAttrValue, to: maxAttrValue});
});
filter.find('input#wpfPriceRangeField').on('blur', function (e){
var parent=jQuery(this).closest('.wpfFilterContent'),
sliderData=parent.find('.ion-range-slider').data('ionRangeSlider');
sliderData.update({from: filter.find(minInputId).val(), to: filter.find(maxInputId).val()});
});
}});
WpfFrontendPage.constructor.prototype.initShowMore=(function(verBlock){
if(verBlock.length==0) return;
var isOpen=verBlock.attr('data-open-more');
if(isOpen=='1') return;
var settings=WpfFrontendPage.getFilterMainSettings(verBlock.closest('.wpfMainWrapper'));
if(settings&&settings.settings.display_view_more==='1'&&!settings.settings.display_items_in_a_row){
verBlock.attr('data-open-more', 0);
verBlock.css({'maxHeight': ''}).find('li').removeClass('wpfMoreHidden');
verBlock.find('.wpfShowMoreWrapper').remove();
verBlock.find('.wpfShowFewerWrapper').remove();
verBlock.scrollTop(0);
var verObj=verBlock.get(0),
maxShowMore=verBlock.closest('.wpfFilterWrapper').attr('data-max-showmore')||0;
if(verObj.scrollHeight > verObj.clientHeight||(maxShowMore > 0&&verBlock.find('li:visible').length > maxShowMore)){
var viewHeigth=verObj.clientHeight,
rectBlock=verObj.getBoundingClientRect(),
findHidden=false,
lastVisible=false,
cnt=0;
verBlock.find('li').each(function (){
var li=jQuery(this),
rect=this.getBoundingClientRect();
if(rect.height > 0){
var mTop=parseInt(li.css('margin-top')),
mBottom=parseInt(li.css('margin-bottom'));
if(lastVisible&&(findHidden||(maxShowMore > 0&&maxShowMore < cnt)||rect.top - (mTop < 0 ? mTop:0) < rectBlock.top||rect.bottom - (mBottom < 0 ? mBottom:0) > rectBlock.bottom)){
li.addClass('wpfMoreHidden');
findHidden=true;
}else if(!findHidden){
lastVisible=li;
cnt++;
}}
});
if(lastVisible&&(findHidden||(maxShowMore > 0&&maxShowMore < cnt))){
var more=jQuery('<li class="wpfShowMoreWrapper"> + ' + wpfTraslate.ShowMore + '</li>');
if(settings.settings.view_more_full=='1'){
more.attr('data-full-opening', 1);
}
more.insertBefore(lastVisible);
lastVisible.addClass('wpfMoreHidden');
}}
}});
WpfFrontendPage.constructor.prototype.addSelectedParamsPro=(function (wrapper, params, filterType, filterName, filterLogic){
if(!wrapper||!('selected' in params)) return;
var selected=params['selected'],
isOne='is_one' in selected&&selected['is_one'] ? 1:0,
current=wrapper.find('.wpfSelectedParameter[data-filter-type="'+filterType+'"][data-filter-name="'+filterName+'"]'),
clear=wrapper.find('.wpfSelectedParametersClear'),
list='list' in selected&&selected['list'],
curLen=current.length;
if(curLen){
if((isOne&&curLen > 1)||list.length==0){
current.remove();
current=[];
}
else current.attr('data-delete', 1);
}
for(var key in list){
var found=current.length ? current.filter('[data-key="'+key+'"]'):false,
strSelected=list[key].replace(/(<?)(h[1234])(>?)/g, '$1div$3');
if(found&&found.length){
found.find('.wpfSelectedTitle').html(strSelected);
found.removeAttr('data-delete');
}else{
var obj=jQuery(
'<div class="wpfSelectedParameter" data-filter-type="'+ filterType +
'" data-filter-name="' + filterName +
'" data-query-logic="' + filterLogic +
'" data-is-one="' + isOne +
'" data-key="' + key +
'"></div>');
obj.append(jQuery('<div class="wpfSelectedDelete">x</div>'));
obj.append(jQuery('<div class="wpfSelectedTitle">' + strSelected + '</div>'));
obj.css('background-color', WpfFrontendPage.selectedParamsColor);
if(clear.length){
obj.insertBefore(clear);
}else{
wrapper.append(obj);
}}
}
if(current.length) current.filter('[data-delete]').remove();
if(wrapper.find('.wpfSelectedParameter').length==0){
wrapper.addClass('wpfHidden');
}else{
wrapper.removeClass('wpfHidden');
}});
WpfFrontendPage.constructor.prototype.setSelectedParamsPro=(function (filter, settings){
if(!filter.hasClass('wpfFilterWrapper')) filter=filter.closest('.wpfFilterWrapper');
if(filter.length==0) return;
if(typeof settings=='undefined') settings=WpfFrontendPage.getFilterMainSettings(filter.closest('.wpfMainWrapper'));
if(!settings||settings.settings.display_selected_params!=='1') return;
var filterType=filter.attr('data-filter-type'),
filterName=filter.attr('data-get-attribute'),
filterLogic=filter.attr('data-query-logic'),
params=filter.hasClass('wpfNotActive')||filter.hasClass('wpfHidden') ? {'selected': {'is_one': true, 'list': []}}:WpfFrontendPage.getFilterOptionsByType(filter, filterType),
filterId=filter.closest('.wpfMainWrapper').data('filter'),
wrapper=jQuery('.wpfSelectedParameters[data-filter="' + filterId + '"]').length ? jQuery('.wpfSelectedParameters[data-filter="' + filterId + '"]'):filter.closest('.wpfMainWrapper').find('.wpfSelectedParameters');
params=WpfFrontendPage.filterParamByParentPro(settings, params);
WpfFrontendPage.addSelectedParamsPro(wrapper, params, filterType, filterName, filterLogic);
});
WpfFrontendPage.constructor.prototype.eventChangeFilterPro=(function (filter, settings){
WpfFrontendPage.setSelectedParamsPro(filter, settings);
});
WpfFrontendPage.constructor.prototype.autoUnfoldByCheck=(function (filter){
if(filter.closest('.wpfFilterWrapper').data('autounfold')!='1') return;
if(filter.is('input:checked')){
filter.closest('li').find('input:checked').each(function(){
var $collapsible=jQuery(this).closest('.wpfLiLabel').find('.wpfCollapsible');
if($collapsible.length){
var $icon=$collapsible.find('i.fa, svg');
if($icon.length){
var icons=WpfFrontendPage.getIcons($icon);
if(icons.collapsed){
setTimeout(function (){
WpfFrontendPage.collapsibleToggle($icon, icons, $collapsible.closest('li'));
}, 100);
}}
}});
}else{
if(filter.closest('li').find('ul input:checked').length==0){
var $collapsible=filter.closest('.wpfLiLabel').find('.wpfCollapsible');
if($collapsible.length){
var $icon=$collapsible.find('i.fa, svg');
if($icon.length){
var icons=WpfFrontendPage.getIcons($icon);
if(!icons.collapsed){
setTimeout(function (){
WpfFrontendPage.collapsibleToggle($icon, icons, $collapsible.closest('li'));
}, 100);
}}
}}
}});
WpfFrontendPage.constructor.prototype.scrollToProductsPro=(function (settings){
var _thisObj=this.$obj;
if(settings&&settings.scroll_after_filtration==1){
var speed=settings.scroll_after_filtration_speed||1500,
retreat=settings.scroll_after_filtration_retreat||30,
listSelector=_thisObj.currentProductBlock ? _thisObj.currentProductBlock:_thisObj.defaultProductSelector;
if(typeof listSelector!=='undefined'&&listSelector!=''){
jQuery(document).on('wpfAjaxSuccess', function(e){
e.preventDefault();
if(jQuery('body').find(listSelector).length===1){
jQuery('html,body').animate({'scrollTop': jQuery('body').find(listSelector).eq(0).offset().top - retreat}, speed);
}
return false;
});
jQuery('body,html').bind('scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove', function(e){
jQuery('body,html').stop();
});
}}
});
WpfFrontendPage.constructor.prototype.changeUrlByFilterParamsPro=(function ($filtersDataFrontend, noWooPage, filterWrapper){
var _thisObj=this.$obj;
switch ($filtersDataFrontend['id']){
case 'wpfSearchText':
case 'wpfSearchNumber':
var value=$filtersDataFrontend['settings']['value'],
attr=$filtersDataFrontend['settings']['attribute'];
if(typeof value!=='undefined'&&value.length > 0){
_thisObj.QStringWork(attr, encodeURIComponent(value), noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork(attr, '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfBrand':
var product_brand=$filtersDataFrontend['settings']['settings'],
name=$filtersDataFrontend['name'];
product_brand=product_brand.join(',');
if(typeof product_brand!=='undefined'&&product_brand.length > 0){
_thisObj.QStringWork(name, product_brand, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork(name, '', noWooPage, filterWrapper, 'remove');
}
break;
case 'wpfVendors':
var vendorsVal=$filtersDataFrontend['settings']['settings'],
name=$filtersDataFrontend['name'],
delim=$filtersDataFrontend['delim'];
vendorsVal=vendorsVal.join(delim ? delim:'|');
if(typeof vendorsVal!=='undefined'&&vendorsVal.length > 0){
_thisObj.QStringWork('vendors', vendorsVal, noWooPage, filterWrapper, 'change');
}else{
_thisObj.QStringWork('vendors', '', noWooPage, filterWrapper, 'remove');
}
break;
default:
break;
}
return;
});
WpfFrontendPage.constructor.prototype.syncronizeFiltersPro=(function ($filter, $synchroFilters){
var _thisObj=this.$obj;
if($filter.find('.ion-range-slider').length){
if($filter.attr('data-display-type')=='slider'){
var min=$filter.find('#wpfMinAttrNum').val(),
max=$filter.find('#wpfMaxAttrNum').val(),
valueList=$filter.find('.ion-range-slider').attr('data-values').replaceAll(', ',',').split(','),
minNum=valueList.indexOf(min.trim()),
maxNum=valueList.indexOf(max.trim());
$synchroFilters.each(function(){
var $slider=jQuery(this);
$slider.find('#wpfMinAttrNum').val(min);
$slider.find('#wpfMaxAttrNum').val(max);
$slider.find('#wpfMinAttrNum').attr('data-min-numeric-value', minNum);
$slider.find('#wpfMinAttrNum').attr('data-max-numeric-value', maxNum);
$slider.find('.ion-range-slider').data('ionRangeSlider').update({from: minNum, to: maxNum});
});
}}
return;
});
WpfFrontendPage.constructor.prototype.clearFiltersPro=(function ($filter){
var _thisObj=this.$obj;
if($filter.find('.ion-range-slider').length){
var slider=$filter.find('.ion-range-slider').data('ionRangeSlider');
if($filter.attr('data-display-type')=='slider'){
var min=$filter.attr('data-minvalue-without-filtering'),
max=$filter.attr('data-maxvalue-without-filtering'),
slugs=$filter.attr('data-slugs-without-filtering'),
values=$filter.attr('data-values-without-filtering'),
ids=$filter.attr('data-ids-without-filtering'),
valuesArray=values.split(',');
$filter.find('#wpfMinAttrNum').val(min);
$filter.find('#wpfMaxAttrNum').val(max);
$filter.find('.ion-range-slider').attr('data-slugs', slugs);
$filter.find('.ion-range-slider').attr('data-values', values);
$filter.find('.ion-range-slider').attr('value', values);
$filter.find('.ion-range-slider').attr('data-term-ids', ids);
$filter.find('.ion-range-slider').attr('data-min', min);
$filter.find('.ion-range-slider').attr('data-max', max);
$filter.find('#wpfMinAttrNum').attr('data-min-numeric-value', 0);
$filter.find('#wpfMaxAttrNum').attr('data-max-numeric-value', valuesArray.length - 1);
slider.update({
from: 0,
to: valuesArray.length - 1,
values: valuesArray
});
}}
if($filter.attr('data-display-type')=='linestars'){
$filter.find('.wpfStarsAdditional').text($filter.find('.wpfStarsRating').attr('data-add-text'));
}else{
$filter.find('.wpfStarsRatingBlock').removeClass('wpfLineChecked');
}
$filter.find('.wpfTermChecked').removeClass('wpfTermChecked');
$filter.find('.wpfPriceRangeCustom input').val('');
$filter.find('.wpfPriceRangeCustom').closest('li').attr('data-range', '');
_thisObj.styleCheckboxSelected($filter);
return;
});
WpfFrontendPage.constructor.prototype.getSearchTextFilterOptions=(function ($filter){
var optionsArray=[],
value=$filter.find('input').val(),
options={
attribute: $filter.attr('data-get-attribute'),
value: value,
fullword: $filter.attr('data-full-word'),
excluded: JSON.parse($filter.attr('data-excluded'))
};
optionsArray['backend']=options;
optionsArray['frontend']=options;
optionsArray['selected']={'is_one': true, 'list': (value=='' ? []:[value])};
if(value!='') optionsArray['stats']=[value];
return optionsArray;
});
WpfFrontendPage.constructor.prototype.getSearchNumberFilterOptions=(function ($filter){
var optionsArray=[],
value=$filter.find('input').val(),
options={
attribute: $filter.attr('data-get-attribute'),
value: value
};
optionsArray['backend']=options;
optionsArray['frontend']=options;
optionsArray['selected']={'is_one': true, 'list': (value=='' ? []:[value])};
if(value!='') optionsArray['stats']=[value];
return optionsArray;
});
WpfFrontendPage.constructor.prototype.getBrandFilterOptions=(function ($filter){
var _thisObj=this.$obj,
optionsArray=[],
frontendOptions=[],
options=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType!='mul_dropdown'), 'list': []},
statistics=[],
withCount=$filter.hasClass('wpfShowCount'),
i=0;
if(filterType==='list'||filterType==='multi'){
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
}else if(filterType==='dropdown'){
var option=$filter.find(":selected"),
value=option.val();
options[i]=value;
if(value!=''){
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html(), withCount);
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
}}else if(filterType==='mul_dropdown'){
$filter.find(':selected').each(function (){
var option=jQuery(this);
options[i]=option.val();
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html(), withCount);
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
i++;
});
}
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.constructor.prototype.getVendorsFilterOptions=(function ($filter){
var optionsArray=[],
_thisObj=this.$obj,
options=[],
frontendOptions=[],
filterType=$filter.attr('data-display-type'),
selectedOptions={'is_one': (filterType=='dropdown'), 'list': []},
statistics=[],
i=0;
if(filterType==='list'){
$filter.find('input:checked').each(function (){
var li=jQuery(this).closest('li'),
id=li.attr('data-term-id');
options[i]=id;
frontendOptions[i]=li.attr('data-term-slug');
var name=li.find('.wpfValue').html();
selectedOptions['list'][id]=name;
statistics.push(li.find('.wpfFilterTaxNameWrapper').length ? li.find('.wpfFilterTaxNameWrapper').html():name);
i++;
});
}else if(filterType==='dropdown'){
var option=$filter.find(":selected"),
value=option.val();
options[i]=value;
if(value!=''){
frontendOptions[i]=option.attr('data-slug');
var name=option.html();
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
}}else if(filterType==='mul_dropdown'){
$filter.find(':selected').each(function (){
var option=jQuery(this);
options[i]=option.val();
frontendOptions[i]=option.attr('data-slug');
var name=_thisObj.getClearLabel(option.html());
selectedOptions['list'][option.attr('data-term-id')]=name;
statistics.push(name);
i++;
});
}
optionsArray['backend']=options;
var getParams=$filter.attr('data-get-attribute');
optionsArray['frontend']=[];
optionsArray['frontend']['taxonomy']=getParams;
optionsArray['frontend']['settings']=frontendOptions;
optionsArray['selected']=selectedOptions;
optionsArray['stats']=statistics;
return optionsArray;
});
WpfFrontendPage.constructor.prototype.wpfShowHideFiltersAttsPro=(function(filter){
filter.find('li').removeClass('wpfMoreHidden');
var links=filter.find('.wpfAbcLink');
if(links.length){
links.each(function(){
var link=jQuery(this),
letter=link.attr('data-letter'),
anchor=filter.find('.wpfAbcLetter[data-letter="'+letter+'"]');
if(filter.find('li[data-term-id][data-letter="'+letter+'"]:visible').length){
link.removeClass('wpfHidden');
anchor.removeClass('wpfHidden');
}else{
link.addClass('wpfHidden');
anchor.addClass('wpfHidden');
}});
links.removeClass('wpfAbcLinkFirst').filter(':not(.wpfHidden):first').addClass('wpfAbcLinkFirst');
}
filter.find('.wpfFilterVerScroll').each(function (){
WpfFrontendPage.initShowMore(jQuery(this));
});
});
WpfFrontendPage.constructor.prototype.filterParamByParentPro=(function(settings, params){
if(settings.settings.expand_selected_to_child==='0'){
if(typeof params.selected.removeSelected!=='undefined'&&typeof params.selected.list!=='undefined'){
var selectedList=params.selected.list,
removeSelected=params.selected.removeSelected;
for (var selectedtId in selectedList){
if(removeSelected.indexOf(parseInt(selectedtId))!==-1){
delete selectedList[selectedtId];
}}
params.selected.list=selectedList;
}}
return params;
});
WpfFrontendPage.constructor.prototype.getHideButtons=(function (mainWrapper, settings, isActive){
var isMobile=false,
screenSize=jQuery(window).width();
if(settings.settings!==undefined){
var isMobileBreakpoin=settings.settings.desctop_mobile_breakpoint_switcher,
mobileBreakpoinWidth=settings.settings.desctop_mobile_breakpoint_width;
if(isMobileBreakpoin&&'0'!==isMobileBreakpoin&&mobileBreakpoinWidth&&'0'!==mobileBreakpoinWidth){
if(screenSize <=mobileBreakpoinWidth){
isMobile=true;
}
mainWrapper.find('.wfpHideButton[data-show-on-mobile]').each(function (){
var button=jQuery(this),
showDesctop=jQuery(this).data('show-on-desctop'),
showMobile=jQuery(this).data('show-on-mobile'),
openFilteredD=button.data('filtered-open')=='1',
openFilteredM=button.data('filtered-open-mobile')=='1',
mobileFloating=jQuery(this).data('button-mobile-floating');
button.show();
if(isMobile){
if(mobileFloating){
button.addClass('wpfHideButtonMobile');
}
if(showMobile=='yes_close'&&(!openFilteredM||!isActive)){
WpfFrontendPage.toggleHideFiltersButton(button, 'up');
}else{
WpfFrontendPage.toggleHideFiltersButton(button, 'down');
if(showMobile=='no') button.hide();
}}else{
button.removeClass('wpfHideButtonMobile');
if(showDesctop=='yes_close'&&(!openFilteredD||!isActive)){
WpfFrontendPage.toggleHideFiltersButton(button, 'up');
}else{
WpfFrontendPage.toggleHideFiltersButton(button, 'down');
if(showDesctop=='no') button.hide();
}}
});
}}
});
WpfFrontendPage.constructor.prototype.toggleHideFiltersButton=(function (button, toggle){
var txt=button.find('.wfpHideText');
if(toggle=='up'){
button.find('i.fa, svg').removeClass('fa-chevron-up').addClass('fa-chevron-down');
txt.html(button.attr('data-show-text'));
button.siblings('div:not(.wpfPreviewLoader):not(.wpfLoaderLayout)').addClass('wpfHideFilter');
}else if(toggle=='down'){
button.find('i.fa, svg').removeClass('fa-chevron-down').addClass('fa-chevron-up');
txt.html(button.attr('data-hide-text'));
button.siblings('div').removeClass('wpfHideFilter');
}
button.attr('data-closed', toggle=='up' ? 1:0);
var hideButtonEvent=document.createEvent('Event');
hideButtonEvent.initEvent('wpfHideButtonClick', false, true);
document.dispatchEvent(hideButtonEvent);
});
WpfFrontendPage.constructor.prototype.getIcons=(function ($icon){
let
plusIcon=$icon.attr('class').match(/(fa-plus|fa-[^\s]+-down)/),
minusIcon=null,
collapsed=true;
if(null!==plusIcon){
plusIcon=plusIcon[1];
minusIcon=('fa-plus'===plusIcon) ? "fa-minus":plusIcon.replace(/(fa-[^\s]+-)down/, '$1up');
}else{
collapsed=false;
minusIcon=$icon.attr('class').match(/(fa-minus|fa-[^\s]+-up)/);
if(null!==minusIcon){
minusIcon=minusIcon[1];
plusIcon=('fa-minus'===minusIcon) ? "fa-plus":minusIcon.replace(/(fa-[^\s]+-)up/, '$1down');
}}
return {collapsed, plusIcon, minusIcon};});
WpfFrontendPage.constructor.prototype.enableFiltersLoaderPro=(function(idWrapper, productListElem){
if(productListElem.find('.wpf-loader-decorator').length==0){
var preview=jQuery('#' + idWrapper + ' .wpfPreviewLoader').first().clone().removeClass('wpfHidden');
productListElem.css('position', 'relative');
jQuery('<div>', {
class: 'wpf-loader-decorator',
title: 'Loading...'
}).html(preview).appendTo(productListElem);
}});
WpfFrontendPage.constructor.prototype.prepareStatisticsData=(function ($filter, settings){
if($filter.hasClass('wpfPreselected')) return;
if('stats' in settings&&settings['stats'].length > 0){
var _thisObj=this.$obj,
id=_thisObj.filteringId,
uniqId=$filter.attr('data-uniq-id');
if(typeof uniqId=='undefined') return;
if(!(id in _thisObj.statistics)){
var wrapper=$filter.closest('.wpfMainWrapper');
_thisObj.statistics[id]={
id: wrapper.attr('data-filter'),
page: wrapper.attr('data-page'),
user: wrapper.attr('data-user-id'),
found: 0,
blocks: {}};}
var uniqId=$filter.attr('data-uniq-id')
_thisObj.statistics[id]['blocks'][uniqId]=settings['stats'];
}});
WpfFrontendPage.constructor.prototype.saveStatistics=(function (fid, isFound, requestData){
var _thisObj=this.$obj;
if(!(fid in _thisObj.statistics)) return;
if(typeof requestData!='undefined'&&isFound==-1){
requestData['only_statistics']=1;
}else{
requestData={mod: 'statistics', action: 'saveStatistics'};}
_thisObj.statistics[fid]['found']=isFound;
requestData['statistics']=JSON.stringify(_thisObj.statistics[fid]);
jQuery.sendFormWpf({data: requestData});
delete _thisObj.statistics[fid];
});
WpfFrontendPage.constructor.prototype.updateAttrSlider=(function ($filter, termIds){
var _thisObj=this.$obj;
if($filter.attr('data-display-type')=='slider'&&$filter.find('.ion-range-slider').length){
var sliderWrapper=$filter.find('.ion-range-slider'),
slider=sliderWrapper.data('ionRangeSlider'),
slugsDef=$filter.attr('data-slugs-without-filtering').replaceAll(', ',',').split(','),
valuesDef=$filter.attr('data-values-without-filtering').replaceAll(', ',',').split(','),
idsDef=$filter.attr('data-ids-without-filtering').replaceAll(', ',',').split(','),
slugs=[], values=[], ids=[];
idsDef.forEach(function(id, index){
if(id in termIds){
slugs.push(slugsDef[index]);
values.push(valuesDef[index]);
ids.push(id);
}});
var cntValues=ids.length,
hideSingle=$filter.attr('data-hide-single')=='1';
if(cntValues==0||(cntValues <=1&&hideSingle)) $filter.hide();
else {
var min=values[0],
max=values[values.length-1];
$filter.find('#wpfMinAttrNum').val(min);
$filter.find('#wpfMaxAttrNum').val(max);
sliderWrapper.attr('data-slugs', slugs);
sliderWrapper.attr('data-values', values.join(','));
sliderWrapper.attr('value', values.join(','));
sliderWrapper.attr('data-term-ids', ids.join(','));
sliderWrapper.attr('data-min', min);
sliderWrapper.attr('data-max', max);
$filter.find('#wpfMinAttrNum').attr('data-min-numeric-value', 0);
$filter.find('#wpfMaxAttrNum').attr('data-max-numeric-value', values.length - 1);
slider.update({
from: 0,
to: values.length - 1,
values: values
});
$filter.show();
}}
});
WpfFrontendPage.eventsFrontendPro();
}
if(window.wpIinitialiseImmediately&&window.wpfFrontendPage){
doProIntialise();
}else{
$(document).ready(function(){
doProIntialise();
});
}}(window.jQuery));
(()=>{"use strict";var e,r,a,n={},c={};function __webpack_require__(e){var r=c[e];if(void 0!==r)return r.exports;var a=c[e]={exports:{}};return n[e](a,a.exports,__webpack_require__),a.exports}__webpack_require__.m=n,e=[],__webpack_require__.O=(r,a,n,c)=>{if(!a){var b=1/0;for(o=0;o<e.length;o++){for(var[a,n,c]=e[o],i=!0,t=0;t<a.length;t++)(!1&c||b>=c)&&Object.keys(__webpack_require__.O).every(e=>__webpack_require__.O[e](a[t]))?a.splice(t--,1):(i=!1,c<b&&(b=c));if(i){e.splice(o--,1);var _=n();void 0!==_&&(r=_)}}return r}c=c||0;for(var o=e.length;o>0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[a,n,c]},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((r,a)=>(__webpack_require__.f[a](e,r),r),[])),__webpack_require__.u=e=>635===e?"code-highlight.38ec4828db8d33cccbe9.bundle.min.js":519===e?"video-playlist.d48e1a11007fe8c248f8.bundle.min.js":375===e?"paypal-button.5c63e4c8f36fb06aff31.bundle.min.js":786===e?"bd4b7d0b3467c3b749da.bundle.min.js":857===e?"stripe-button.b7e32b5d713d60752c7e.bundle.min.js":581===e?"progress-tracker.7b160888e308c5f64701.bundle.min.js":961===e?"animated-headline.bc08854fb1e1a80434b2.bundle.min.js":692===e?"media-carousel.87c2cf115553a2c4f709.bundle.min.js":897===e?"carousel.e2af910b095554625156.bundle.min.js":416===e?"countdown.05b148ca20af32fc8e9f.bundle.min.js":292===e?"hotspot.737497535441dc0bc037.bundle.min.js":325===e?"form.cfd61a9174be80f835c6.bundle.min.js":543===e?"gallery.cca2358f59857ce6f62f.bundle.min.js":970===e?"lottie.55ad84218daed1323133.bundle.min.js":334===e?"nav-menu.3afa8f5eb1fef7c22561.bundle.min.js":887===e?"popup.61d4fcab8891b2e07802.bundle.min.js":535===e?"load-more.7c4417f8a727b79f546f.bundle.min.js":396===e?"posts.844727d8428792223d2f.bundle.min.js":726===e?"portfolio.3d0e387cc28c07bae511.bundle.min.js":316===e?"share-buttons.b99b5ff11c944a3a8ea9.bundle.min.js":829===e?"slides.8e9b74f1b31471377df8.bundle.min.js":158===e?"social.de5cec83bf689b2f1f01.bundle.min.js":404===e?"table-of-contents.485ffc086d8923139868.bundle.min.js":345===e?"archive-posts.0b71f7023819e3872142.bundle.min.js":798===e?"search-form.9abeafeecde90cf7e0f4.bundle.min.js":6===e?"woocommerce-menu-cart.33fbf47b819947e7a2a7.bundle.min.js":80===e?"woocommerce-purchase-summary.118e54b95a68f0ad8c09.bundle.min.js":354===e?"woocommerce-checkout-page.8391e03a51a57a42528a.bundle.min.js":4===e?"woocommerce-cart.9131ef5e40333f8066dd.bundle.min.js":662===e?"woocommerce-my-account.ab469f426496c628ac6c.bundle.min.js":621===e?"woocommerce-notices.181b8701c45ec5374829.bundle.min.js":787===e?"product-add-to-cart.a4f88a0c19e95b3912b6.bundle.min.js":993===e?"loop.1594a1df76e87a11eda2.bundle.min.js":932===e?"loop-carousel.881847b13e8fe1f8bfc2.bundle.min.js":550===e?"ajax-pagination.505018eb312c83998279.bundle.min.js":727===e?"mega-menu.857df1cf3198ae47b617.bundle.min.js":87===e?"mega-menu-stretch-content.7ed04741ba7d5a80c556.bundle.min.js":912===e?"menu-title-keyboard-handler.b3891112675eb0b0c4d5.bundle.min.js":33===e?"nested-carousel.659b0373371215e60dab.bundle.min.js":225===e?"taxonomy-filter.6526351a1205655def47.bundle.min.js":579===e?"off-canvas.82d118980fb5aa03c82b.bundle.min.js":1===e?"contact-buttons.e1605c5cfaccbff3c14b.bundle.min.js":61===e?"contact-buttons-var-10.11bf4233106e1245bd61.bundle.min.js":249===e?"floating-bars-var-2.5287acd8570f1ce2dde3.bundle.min.js":440===e?"floating-bars-var-3.e9e9c0ea3c6fb0e51c58.bundle.min.js":187===e?"search.f239247b514b4d0e8743.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},a="elementor-pro:",__webpack_require__.l=(e,n,c,b)=>{if(r[e])r[e].push(n);else{var i,t;if(void 0!==c)for(var _=document.getElementsByTagName("script"),o=0;o<_.length;o++){var u=_[o];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==a+c){i=u;break}}i||(t=!0,(i=document.createElement("script")).charset="utf-8",__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",a+c),i.src=e),r[e]=[n];var onScriptComplete=(a,n)=>{i.onerror=i.onload=null,clearTimeout(d);var c=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),c&&c.forEach(e=>e(n)),a)return a(n)},d=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=onScriptComplete.bind(null,i.onerror),i.onload=onScriptComplete.bind(null,i.onload),t&&document.head.appendChild(i)}},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var a=r.getElementsByTagName("script");if(a.length)for(var n=a.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=a[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={978:0};__webpack_require__.f.j=(r,a)=>{var n=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==n)if(n)a.push(n[2]);else if(978!=r){var c=new Promise((a,c)=>n=e[r]=[a,c]);a.push(n[2]=c);var b=__webpack_require__.p+__webpack_require__.u(r),i=new Error;__webpack_require__.l(b,a=>{if(__webpack_require__.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var c=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;i.message="Loading chunk "+r+" failed.\n("+c+": "+b+")",i.name="ChunkLoadError",i.type=c,i.request=b,n[1](i)}},"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,a)=>{var n,c,[b,i,t]=a,_=0;if(b.some(r=>0!==e[r])){for(n in i)__webpack_require__.o(i,n)&&(__webpack_require__.m[n]=i[n]);if(t)var o=t(__webpack_require__)}for(r&&r(a);_<b.length;_++)c=b[_],__webpack_require__.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return __webpack_require__.O(o)},r=self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))})()})();
(self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[]).push([[313],{6550(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isScrollSnapActive=t.escapeHTML=void 0;t.escapeHTML=e=>{const t={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"};return e.replace(/[&<>'"]/g,e=>t[e]||e)};t.isScrollSnapActive=()=>"yes"===(elementorFrontend.isEditMode()?elementor.settings.page.model.attributes?.scroll_snap:elementorFrontend.config.settings.page?.scroll_snap)},3e3(e,t,n){"use strict";var s=n(6784);n(2258);var i=s(n(4906)),o=s(n(2450)),r=s(n(4409)),a=s(n(7937)),l=s(n(8098)),c=s(n(6275)),d=s(n(3268)),u=s(n(4992));class ElementorProFrontend extends elementorModules.ViewModule{onInit(){super.onInit(),this.config=ElementorProFrontendConfig,this.modules={},this.initOnReadyComponents()}bindEvents(){jQuery(window).on("elementor/frontend/init",this.onElementorFrontendInit.bind(this))}initModules(){let e={motionFX:i.default,sticky:o.default,codeHighlight:r.default,videoPlaylist:a.default,payments:l.default,progressTracker:c.default};elementorProFrontend.trigger("elementor-pro/modules/init/before"),e=elementorFrontend.hooks.applyFilters("elementor-pro/frontend/handlers",e),jQuery.each(e,(e,t)=>{this.modules[e]=new t}),this.modules.linkActions={addAction:(...e)=>{elementorFrontend.utils.urlActions.addAction(...e)}}}onElementorFrontendInit(){this.initModules()}initOnReadyComponents(){this.utils={controls:new d.default,DropdownMenuHeightController:u.default}}}window.elementorProFrontend=new ElementorProFrontend},3268(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class Controls{getControlValue(e,t,n){let s;return s="object"==typeof e[t]&&n?e[t][n]:e[t],s}getResponsiveControlValue(e,t,n=""){const s=elementorFrontend.getCurrentDeviceMode(),i=this.getControlValue(e,t,n);if("widescreen"===s){const s=this.getControlValue(e,`${t}_widescreen`,n);return s||0===s?s:i}const o=elementorFrontend.breakpoints.getActiveBreakpointsList({withDesktop:!0});let r=s,a=o.indexOf(s),l="";for(;a<=o.length;){if("desktop"===r){l=i;break}const s=`${t}_${r}`,c=this.getControlValue(e,s,n);if(c||0===c){l=c;break}a++,r=o[a]}return l}}},4992(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class DropdownMenuHeightController{constructor(e){this.widgetConfig=e}calculateStickyMenuNavHeight(){this.widgetConfig.elements.$dropdownMenuContainer.css(this.widgetConfig.settings.menuHeightCssVarName,"");const e=this.widgetConfig.elements.$dropdownMenuContainer.offset().top-jQuery(window).scrollTop();return elementorFrontend.elements.$window.height()-e}calculateMenuTabContentHeight(e){return elementorFrontend.elements.$window.height()-e[0].getBoundingClientRect().top}isElementSticky(){return this.widgetConfig.elements.$element.hasClass("elementor-sticky")||this.widgetConfig.elements.$element.parents(".elementor-sticky").length}getMenuHeight(){return this.isElementSticky()?this.calculateStickyMenuNavHeight()+"px":this.widgetConfig.settings.dropdownMenuContainerMaxHeight}setMenuHeight(e){this.widgetConfig.elements.$dropdownMenuContainer.css(this.widgetConfig.settings.menuHeightCssVarName,e)}reassignMobileMenuHeight(){const e=this.isToggleActive()?this.getMenuHeight():0;return this.setMenuHeight(e)}reassignMenuHeight(e){if(!this.isElementSticky()||0===e.length)return;const t=elementorFrontend.elements.$window.height()-e[0].getBoundingClientRect().top;e.height()>t&&(e.css("height",this.calculateMenuTabContentHeight(e)+"px"),e.css("overflow-y","scroll"))}resetMenuHeight(e){this.isElementSticky()&&(e.css("height","initial"),e.css("overflow-y","visible"))}isToggleActive(){const e=this.widgetConfig.elements.$menuToggle;return this.widgetConfig.attributes?.menuToggleState?"true"===e.attr(this.widgetConfig.attributes.menuToggleState):e.hasClass(this.widgetConfig.classes.menuToggleActiveClass)}}},2258(e,t,n){"use strict";n.p=ElementorProFrontendConfig.urls.assets+"js/"},4409(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("code-highlight",()=>n.e(635).then(n.bind(n,7193)))}}t.default=_default},4906(e,t,n){"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(820));class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("global",i.default,null)}}t.default=_default},820(e,t,n){"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(739));class _default extends elementorModules.frontend.handlers.Base{__construct(...e){super.__construct(...e),this.toggle=elementorFrontend.debounce(this.toggle,200)}getDefaultSettings(){return{selectors:{container:".elementor-widget-container"}}}getDefaultElements(){const e=this.getSettings("selectors");let t=this.$element.find(e.container);return 0===t.length&&(t=this.$element),{$container:t}}bindEvents(){elementorFrontend.elements.$window.on("resize",this.toggle)}unbindEvents(){elementorFrontend.elements.$window.off("resize",this.toggle)}addCSSTransformEvents(){this.getElementSettings("motion_fx_motion_fx_scrolling")&&!this.isTransitionEventAdded&&(this.isTransitionEventAdded=!0,this.elements.$container.on("mouseenter",()=>{this.elements.$container.css("--e-transform-transition-duration","")}))}initEffects(){this.effects={translateY:{interaction:"scroll",actions:["translateY"]},translateX:{interaction:"scroll",actions:["translateX"]},rotateZ:{interaction:"scroll",actions:["rotateZ"]},scale:{interaction:"scroll",actions:["scale"]},opacity:{interaction:"scroll",actions:["opacity"]},blur:{interaction:"scroll",actions:["blur"]},mouseTrack:{interaction:"mouseMove",actions:["translateXY"]},tilt:{interaction:"mouseMove",actions:["tilt"]}}}prepareOptions(e){const t=this.getElementSettings(),n="motion_fx"===e?"element":"background",s={};jQuery.each(t,(n,i)=>{const o=new RegExp("^"+e+"_(.+?)_effect"),r=n.match(o);if(!r||!i)return;const a={},l=r[1];jQuery.each(t,(t,n)=>{const s=new RegExp(e+"_"+l+"_(.+)"),i=t.match(s);if(!i)return;"effect"!==i[1]&&("object"==typeof n&&(n=Object.keys(n.sizes).length?n.sizes:n.size),a[i[1]]=n)});const c=this.effects[l],d=c.interaction;s[d]||(s[d]={}),c.actions.forEach(e=>s[d][e]=a)});let i,o,r=this.$element;const a=this.getElementType();if("element"===n&&!["section","container"].includes(a)){let e;i=r,e="column"===a?".elementor-widget-wrap":".elementor-widget-container",o=r.find("> "+e),r=0===o.length?this.$element:o}const l={type:n,interactions:s,elementSettings:t,$element:r,$dimensionsElement:i,refreshDimensions:this.isEdit,range:t[e+"_range"],classes:{element:"elementor-motion-effects-element",parent:"elementor-motion-effects-parent",backgroundType:"elementor-motion-effects-element-type-background",container:"elementor-motion-effects-container",layer:"elementor-motion-effects-layer",perspective:"elementor-motion-effects-perspective"}};return l.range||"fixed"!==this.getCurrentDeviceSetting("_position")||(l.range="page"),"fixed"===this.getCurrentDeviceSetting("_position")&&(l.isFixedPosition=!0),"background"===n&&"column"===this.getElementType()&&(l.addBackgroundLayerTo=" > .elementor-element-populated"),l}activate(e){const t=this.prepareOptions(e);jQuery.isEmptyObject(t.interactions)||(this[e]=new i.default(t))}deactivate(e){this[e]&&(this[e].destroy(),delete this[e])}toggle(){const e=elementorFrontend.getCurrentDeviceMode(),t=this.getElementSettings();["motion_fx","background_motion_fx"].forEach(n=>{const s=t[n+"_devices"];(!s||-1!==s.indexOf(e))&&(t[n+"_motion_fx_scrolling"]||t[n+"_motion_fx_mouse"])?this[n]?this.refreshInstance(n):this.activate(n):this.deactivate(n)})}refreshInstance(e){const t=this[e];if(!t)return;const n=this.prepareOptions(e);t.setSettings(n),t.refresh()}onInit(){super.onInit();const e=window.matchMedia("(prefers-reduced-motion: reduce)");e&&e.matches||(this.initEffects(),this.addCSSTransformEvents(),this.toggle())}onElementChange(e){if(/motion_fx_((scrolling)|(mouse)|(devices))$/.test(e))return"motion_fx_motion_fx_scrolling"===e&&this.addCSSTransformEvents(),void this.toggle();const t=e.match(".*?(motion_fx|_transform)");if(t){const e=t[0].match("(_transform)")?"motion_fx":t[0];this.refreshInstance(e),this[e]||this.activate(e)}/^_position/.test(e)&&["motion_fx","background_motion_fx"].forEach(e=>{this.refreshInstance(e)})}onDestroy(){super.onDestroy(),["motion_fx","background_motion_fx"].forEach(e=>{this.deactivate(e)})}}t.default=_default},3039(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{getMovePointFromPassedPercents(e,t){return+(t/e*100).toFixed(2)}getEffectValueFromMovePoint(e,t){return e*t/100}getStep(e,t){return"element"===this.getSettings("type")?this.getElementStep(e,t):this.getBackgroundStep(e,t)}getElementStep(e,t){return-(e-50)*t.speed}getBackgroundStep(e,t){const n=this.getSettings("dimensions.movable"+t.axis.toUpperCase());return-this.getEffectValueFromMovePoint(n,e)}getDirectionMovePoint(e,t,n){let s;return e<n.start?"out-in"===t?s=0:"in-out"===t?s=100:(s=this.getMovePointFromPassedPercents(n.start,e),"in-out-in"===t&&(s=100-s)):e<n.end?"in-out-in"===t?s=0:"out-in-out"===t?s=100:(s=this.getMovePointFromPassedPercents(n.end-n.start,e-n.start),"in-out"===t&&(s=100-s)):"in-out"===t?s=0:"out-in"===t?s=100:(s=this.getMovePointFromPassedPercents(100-n.end,100-e),"in-out-in"===t&&(s=100-s)),s}translateX(e,t){e.axis="x",e.unit="px",this.transform("translateX",t,e)}translateY(e,t){e.axis="y",e.unit="px",this.transform("translateY",t,e)}translateXY(e,t,n){this.translateX(e,t),this.translateY(e,n)}tilt(e,t,n){const s={speed:e.speed/10,direction:e.direction};this.rotateX(s,n),this.rotateY(s,100-t)}rotateX(e,t){e.axis="x",e.unit="deg",this.transform("rotateX",t,e)}rotateY(e,t){e.axis="y",e.unit="deg",this.transform("rotateY",t,e)}rotateZ(e,t){e.unit="deg",this.transform("rotateZ",t,e)}scale(e,t){const n=this.getDirectionMovePoint(t,e.direction,e.range);this.updateRulePart("transform","scale",1+e.speed*n/1e3)}transform(e,t,n){n.direction&&(t=100-t),this.updateRulePart("transform",e,this.getStep(t,n)+n.unit)}setCSSTransformVariables(e){this.CSSTransformVariables=[],jQuery.each(e,(e,t)=>{const n=e.match(/_transform_(.+?)_effect/m);if(n&&t){if("perspective"===n[1])return void this.CSSTransformVariables.unshift(n[1]);if(this.CSSTransformVariables.includes(n[1]))return;this.CSSTransformVariables.push(n[1])}})}opacity(e,t){const n=this.getDirectionMovePoint(t,e.direction,e.range),s=e.level/10,i=1-s+this.getEffectValueFromMovePoint(s,n);this.$element.css({opacity:i,"will-change":"opacity"})}blur(e,t){const n=this.getDirectionMovePoint(t,e.direction,e.range),s=e.level-this.getEffectValueFromMovePoint(e.level,n);this.updateRulePart("filter","blur",s+"px")}updateRulePart(e,t,n){this.rulesVariables[e]||(this.rulesVariables[e]={}),this.rulesVariables[e][t]||(this.rulesVariables[e][t]=!0,this.updateRule(e));const s=`--${t}`;this.$element[0].style.setProperty(s,n)}updateRule(e){let t="";t+=this.concatTransformCSSProperties(e),t+=this.concatTransformMotionEffectCSSProperties(e),this.$element.css(e,t)}concatTransformCSSProperties(e){let t="";return"transform"===e&&jQuery.each(this.CSSTransformVariables,(e,n)=>{const s=n;n.startsWith("flip")&&(n=n.replace("flip","scale"));const i=n.startsWith("rotate")||n.startsWith("skew")?"deg":"px",o=n.startsWith("scale")?1:0+i;t+=`${n}(var(--e-transform-${s}, ${o}))`}),t}concatTransformMotionEffectCSSProperties(e){let t="";return jQuery.each(this.rulesVariables[e],e=>{t+=`${e}(var(--${e}))`}),t}runAction(e,t,n,...s){t.affectedRange&&(t.affectedRange.start>n&&(n=t.affectedRange.start),t.affectedRange.end<n&&(n=t.affectedRange.end)),this[e](t,n,...s)}refresh(){this.rulesVariables={},this.CSSTransformVariables=[],this.$element.css({transform:"",filter:"",opacity:"","will-change":""})}onInit(){this.$element=this.getSettings("$targetElement"),this.refresh()}}t.default=_default},3323(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.ViewModule{__construct(e){this.motionFX=e.motionFX,this.intersectionObservers||this.setElementInViewportObserver()}setElementInViewportObserver(){this.intersectionObserver=elementorModules.utils.Scroll.scrollObserver({callback:e=>{e.isInViewport?this.onInsideViewport():this.removeAnimationFrameRequest()}});const e="page"===this.motionFX.getSettings("range")?elementorFrontend.elements.$body[0]:this.motionFX.elements.$parent[0];this.intersectionObserver.observe(e)}onInsideViewport=()=>{this.run(),this.animationFrameRequest=requestAnimationFrame(this.onInsideViewport)};runCallback(...e){this.getSettings("callback")(...e)}removeIntersectionObserver(){this.intersectionObserver&&this.intersectionObserver.unobserve(this.motionFX.elements.$parent[0])}removeAnimationFrameRequest(){this.animationFrameRequest&&cancelAnimationFrame(this.animationFrameRequest)}destroy(){this.removeAnimationFrameRequest(),this.removeIntersectionObserver()}onInit(){super.onInit()}}t.default=_default},5481(e,t,n){"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(3323));class MouseMoveInteraction extends i.default{bindEvents(){MouseMoveInteraction.mouseTracked||(elementorFrontend.elements.$window.on("mousemove",MouseMoveInteraction.updateMousePosition),MouseMoveInteraction.mouseTracked=!0)}run(){const e=MouseMoveInteraction.mousePosition,t=this.oldMousePosition;if(t.x===e.x&&t.y===e.y)return;this.oldMousePosition={x:e.x,y:e.y};const n=100/innerWidth*e.x,s=100/innerHeight*e.y;this.runCallback(n,s)}onInit(){this.oldMousePosition={},super.onInit()}}t.default=MouseMoveInteraction,MouseMoveInteraction.mousePosition={},MouseMoveInteraction.updateMousePosition=e=>{MouseMoveInteraction.mousePosition={x:e.clientX,y:e.clientY}}},2647(e,t,n){"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(3323));class _default extends i.default{run(){if(pageYOffset===this.windowScrollTop)return!1;this.onScrollMovement(),this.windowScrollTop=pageYOffset}onScrollMovement(){this.updateMotionFxDimensions(),this.updateAnimation(),this.resetTransitionVariable()}resetTransitionVariable(){this.motionFX.$element.css("--e-transform-transition-duration","100ms")}updateMotionFxDimensions(){this.motionFX.getSettings().refreshDimensions&&this.motionFX.defineDimensions()}updateAnimation(){let e;e="page"===this.motionFX.getSettings("range")?elementorModules.utils.Scroll.getPageScrollPercentage():this.motionFX.getSettings("isFixedPosition")?elementorModules.utils.Scroll.getPageScrollPercentage({},window.innerHeight):elementorModules.utils.Scroll.getElementViewportPercentage(this.motionFX.elements.$parent),this.runCallback(e)}}t.default=_default},739(e,t,n){"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(2647)),o=s(n(5481)),r=s(n(3039));class _default extends elementorModules.ViewModule{getDefaultSettings(){return{type:"element",$element:null,$dimensionsElement:null,addBackgroundLayerTo:null,interactions:{},refreshDimensions:!1,range:"viewport",classes:{element:"motion-fx-element",parent:"motion-fx-parent",backgroundType:"motion-fx-element-type-background",container:"motion-fx-container",layer:"motion-fx-layer",perspective:"motion-fx-perspective"}}}bindEvents(){this.defineDimensions=this.defineDimensions.bind(this),elementorFrontend.elements.$window.on("resize elementor-pro/motion-fx/recalc",this.defineDimensions)}unbindEvents(){elementorFrontend.elements.$window.off("resize elementor-pro/motion-fx/recalc",this.defineDimensions)}addBackgroundLayer(){const e=this.getSettings();this.elements.$motionFXContainer=jQuery("<div>",{class:e.classes.container}),this.elements.$motionFXLayer=jQuery("<div>",{class:e.classes.layer}),this.updateBackgroundLayerSize(),this.elements.$motionFXContainer.prepend(this.elements.$motionFXLayer);(e.addBackgroundLayerTo?this.$element.find(e.addBackgroundLayerTo):this.$element).prepend(this.elements.$motionFXContainer)}removeBackgroundLayer(){this.elements.$motionFXContainer.remove()}updateBackgroundLayerSize(){const e=this.getSettings(),t={x:0,y:0},n=e.interactions.mouseMove,s=e.interactions.scroll;n&&n.translateXY&&(t.x=10*n.translateXY.speed,t.y=10*n.translateXY.speed),s&&(s.translateX&&(t.x=10*s.translateX.speed),s.translateY&&(t.y=10*s.translateY.speed)),this.elements.$motionFXLayer.css({width:100+t.x+"%",height:100+t.y+"%"})}defineDimensions(){const e=this.getSettings("$dimensionsElement")||this.$element,t=e.offset(),n={elementHeight:e.outerHeight(),elementWidth:e.outerWidth(),elementTop:t.top,elementLeft:t.left};n.elementRange=n.elementHeight+innerHeight,this.setSettings("dimensions",n),"background"===this.getSettings("type")&&this.defineBackgroundLayerDimensions()}defineBackgroundLayerDimensions(){const e=this.getSettings("dimensions");e.layerHeight=this.elements.$motionFXLayer.height(),e.layerWidth=this.elements.$motionFXLayer.width(),e.movableX=e.layerWidth-e.elementWidth,e.movableY=e.layerHeight-e.elementHeight,this.setSettings("dimensions",e)}initInteractionsTypes(){this.interactionsTypes={scroll:i.default,mouseMove:o.default}}prepareSpecialActions(){const e=this.getSettings(),t=!(!e.interactions.mouseMove||!e.interactions.mouseMove.tilt);this.elements.$parent.toggleClass(e.classes.perspective,t)}cleanSpecialActions(){const e=this.getSettings();this.elements.$parent.removeClass(e.classes.perspective)}runInteractions(){const e=this.getSettings();this.actions.setCSSTransformVariables(e.elementSettings),this.prepareSpecialActions(),jQuery.each(e.interactions,(e,t)=>{this.interactions[e]=new this.interactionsTypes[e]({motionFX:this,callback:(...e)=>{jQuery.each(t,(t,n)=>this.actions.runAction(t,n,...e))}}),this.interactions[e].run()})}destroyInteractions(){this.cleanSpecialActions(),jQuery.each(this.interactions,(e,t)=>t.destroy()),this.interactions={}}refresh(){this.actions.setSettings(this.getSettings()),"background"===this.getSettings("type")&&(this.updateBackgroundLayerSize(),this.defineBackgroundLayerDimensions()),this.actions.refresh(),this.destroyInteractions(),this.runInteractions()}destroy(){this.destroyInteractions(),this.actions.refresh();const e=this.getSettings();this.$element.removeClass(e.classes.element),this.elements.$parent.removeClass(e.classes.parent),"background"===e.type&&(this.$element.removeClass(e.classes.backgroundType),this.removeBackgroundLayer())}onInit(){super.onInit();const e=this.getSettings();this.$element=e.$element,this.elements.$parent=this.$element.parent(),this.$element.addClass(e.classes.element),this.elements.$parent=this.$element.parent(),this.elements.$parent.addClass(e.classes.parent),"background"===e.type&&(this.$element.addClass(e.classes.backgroundType),this.addBackgroundLayer()),this.defineDimensions(),e.$targetElement="element"===e.type?this.$element:this.elements.$motionFXLayer,this.interactions={},this.actions=new r.default(e),this.initInteractionsTypes(),this.runInteractions()}}t.default=_default},8098(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("paypal-button",()=>n.e(375).then(n.bind(n,466))),elementorFrontend.elementsHandler.attachHandler("stripe-button",()=>Promise.all([n.e(786),n.e(857)]).then(n.bind(n,9036)))}}t.default=_default},6275(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("progress-tracker",()=>n.e(581).then(n.bind(n,287)))}}t.default=_default},2450(e,t,n){"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(2121));class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("section",i.default,null),elementorFrontend.elementsHandler.attachHandler("container",i.default,null),elementorFrontend.elementsHandler.attachHandler("widget",i.default,null)}}t.default=_default},2121(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=n(6550);t.default=elementorModules.frontend.handlers.Base.extend({currentConfig:{},debouncedReactivate:null,bindEvents(){elementorFrontend.addListenerOnce(this.getUniqueHandlerID()+"sticky","resize",this.reactivateOnResize)},unbindEvents(){elementorFrontend.removeListeners(this.getUniqueHandlerID()+"sticky","resize",this.reactivateOnResize)},isStickyInstanceActive(){return void 0!==this.$element.data("sticky")},getResponsiveSetting(e){const t=this.getElementSettings();return elementorFrontend.getCurrentDeviceSetting(t,e)},getResponsiveSettingList:e=>["",...Object.keys(elementorFrontend.config.responsive.activeBreakpoints)].map(t=>t?`${e}_${t}`:e),getConfig(){const e=this.getElementSettings(),t={to:e.sticky,offset:this.getResponsiveSetting("sticky_offset"),effectsOffset:this.getResponsiveSetting("sticky_effects_offset"),classes:{sticky:"elementor-sticky",stickyActive:"elementor-sticky--active elementor-section--handles-inside",stickyEffects:"elementor-sticky--effects",spacer:"elementor-sticky__spacer"},isRTL:elementorFrontend.config.is_rtl,isScrollSnapActive:(0,s.isScrollSnapActive)(),handleScrollbarWidth:elementorFrontend.isEditMode()},n=elementorFrontend.elements.$wpAdminBar,i=this.isContainerElement(this.$element[0])&&!this.isContainerElement(this.$element[0].parentElement);return n.length&&"top"===e.sticky&&"fixed"===n.css("position")&&(t.offset+=n.height()),e.sticky_parent&&!i&&(t.parent=".e-con, .e-con-inner, .elementor-widget-wrap"),t},activate(){this.currentConfig=this.getConfig(),this.$element.sticky(this.currentConfig)},deactivate(){this.isStickyInstanceActive()&&this.$element.sticky("destroy")},run(e){if(this.getElementSettings("sticky")){var t=elementorFrontend.getCurrentDeviceMode();-1!==this.getElementSettings("sticky_on").indexOf(t)?!0===e?this.reactivate():this.isStickyInstanceActive()||this.activate():this.deactivate()}else this.deactivate()},reactivateOnResize(){clearTimeout(this.debouncedReactivate),this.debouncedReactivate=setTimeout(()=>{const e=this.getConfig();JSON.stringify(e)!==JSON.stringify(this.currentConfig)&&this.run(!0)},300)},reactivate(){this.deactivate(),this.activate()},onElementChange(e){-1!==["sticky","sticky_on"].indexOf(e)&&this.run(!0);-1!==[...this.getResponsiveSettingList("sticky_offset"),...this.getResponsiveSettingList("sticky_effects_offset"),"sticky_parent"].indexOf(e)&&this.reactivate()},onDeviceModeChange(){setTimeout(()=>this.run(!0))},onInit(){elementorModules.frontend.handlers.Base.prototype.onInit.apply(this,arguments),elementorFrontend.isEditMode()&&elementor.listenTo(elementor.channels.deviceMode,"change",()=>this.onDeviceModeChange()),this.run()},onDestroy(){elementorModules.frontend.handlers.Base.prototype.onDestroy.apply(this,arguments),this.deactivate()},isContainerElement:e=>["e-con","e-con-inner"].some(t=>e?.classList.contains(t))})},7937(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.hooks.addAction("frontend/element_ready/video-playlist.default",e=>{n.e(519).then(n.bind(n,4161)).then(({default:t})=>{elementorFrontend.elementsHandler.addHandler(t,{$element:e,toggleSelf:!1})})})}}t.default=_default},6784(e){e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}},e=>{var t;t=3e3,e(e.s=t)}]);