/*! selectize.js - v0.12.6 | https://github.com/selectize/selectize.js | Apache License (v2) */ !function(a,b){"function"==typeof define&&define.amd?define("sifter",b):"object"==typeof exports?module.exports=b():a.Sifter=b()}(this,function(){var a=function(a,b){this.items=a,this.settings=b||{diacritics:!0}};a.prototype.tokenize=function(a){if(!(a=e(String(a||"").toLowerCase()))||!a.length)return[];var b,c,d,g,i=[],j=a.split(/ +/);for(b=0,c=j.length;b0)&&d.items.push({score:c,id:e})}):g.iterator(g.items,function(a,b){d.items.push({score:1,id:b})}),e=g.getSortFunction(d,b),e&&d.items.sort(e),d.total=d.items.length,"number"==typeof b.limit&&(d.items=d.items.slice(0,b.limit)),d};var b=function(a,b){return"number"==typeof a&&"number"==typeof b?a>b?1:ab?1:b>a?-1:0)},c=function(a,b){var c,d,e,f;for(c=1,d=arguments.length;c=0&&a.data.length>0){var f=a.data.match(c),g=document.createElement("span");g.className="highlight";var h=a.splitText(e),i=(h.splitText(f[0].length),h.cloneNode(!0));g.appendChild(i),h.parentNode.replaceChild(g,h),b=1}}else if(1===a.nodeType&&a.childNodes&&!/(script|style)/i.test(a.tagName)&&("highlight"!==a.className||"SPAN"!==a.tagName))for(var j=0;j/g,">").replace(/"/g,""")},m={};m.before=function(a,b,c){var d=a[b];a[b]=function(){return c.apply(a,arguments),d.apply(a,arguments)}},m.after=function(a,b,c){var d=a[b];a[b]=function(){var b=d.apply(a,arguments);return c.apply(a,arguments),b}};var n=function(a){var b=!1;return function(){b||(b=!0,a.apply(this,arguments))}},o=function(a,b){var c;return function(){var d=this,e=arguments;window.clearTimeout(c),c=window.setTimeout(function(){a.apply(d,e)},b)}},p=function(a,b,c){var d,e=a.trigger,f={};a.trigger=function(){var c=arguments[0];if(-1===b.indexOf(c))return e.apply(a,arguments);f[c]=arguments},c.apply(a,[]),a.trigger=e;for(d in f)f.hasOwnProperty(d)&&e.apply(a,f[d])},q=function(a,b,c,d){a.on(b,c,function(b){for(var c=b.target;c&&c.parentNode!==a[0];)c=c.parentNode;return b.currentTarget=c,d.apply(this,[b])})},r=function(a){var b={};if("selectionStart"in a)b.start=a.selectionStart,b.length=a.selectionEnd-b.start;else if(document.selection){a.focus();var c=document.selection.createRange(),d=document.selection.createRange().text.length;c.moveStart("character",-a.value.length),b.start=c.text.length-d,b.length=d}return b},s=function(a,b,c){var d,e,f={};if(c)for(d=0,e=c.length;d").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"pre"}).appendTo("body")),w.$testInput.text(b),s(c,w.$testInput,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]),w.$testInput.width()):0},u=function(a){var b=null,c=function(c,d){var e,f,g,h,i,j,k,l;c=c||window.event||{},d=d||{},c.metaKey||c.altKey||(d.force||!1!==a.data("grow"))&&(e=a.val(),c.type&&"keydown"===c.type.toLowerCase()&&(f=c.keyCode,g=f>=48&&f<=57||f>=65&&f<=90||f>=96&&f<=111||f>=186&&f<=222||32===f,46===f||8===f?(l=r(a[0]),l.length?e=e.substring(0,l.start)+e.substring(l.start+l.length):8===f&&l.start?e=e.substring(0,l.start-1)+e.substring(l.start+1):46===f&&void 0!==l.start&&(e=e.substring(0,l.start)+e.substring(l.start+1))):g&&(j=c.shiftKey,k=String.fromCharCode(c.keyCode),k=j?k.toUpperCase():k.toLowerCase(),e+=k)),h=a.attr("placeholder"),!e&&h&&(e=h),(i=t(e,a)+4)!==b&&(b=i,a.width(i),a.triggerHandler("resize")))};a.on("keydown keyup update blur",c),c()},v=function(a){var b=document.createElement("div");return b.appendChild(a.cloneNode(!0)),b.innerHTML},w=function(c,d){var e,f,g,h,i=this;h=c[0],h.selectize=i;var j=window.getComputedStyle&&window.getComputedStyle(h,null);if(g=j?j.getPropertyValue("direction"):h.currentStyle&&h.currentStyle.direction,g=g||c.parents("[dir]:first").attr("dir")||"",a.extend(i,{order:0,settings:d,$input:c,tabIndex:c.attr("tabindex")||"",tagType:"select"===h.tagName.toLowerCase()?1:2,rtl:/rtl/i.test(g),eventNS:".selectize"+ ++w.count,highlightedValue:null,isBlurring:!1,isOpen:!1,isDisabled:!1,isRequired:c.is("[required]"),isInvalid:!1,isLocked:!1,isFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreBlur:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:null===d.loadThrottle?i.onSearchChange:o(i.onSearchChange,d.loadThrottle)}),i.sifter=new b(this.options,{diacritics:d.diacritics}),i.settings.options){for(e=0,f=i.settings.options.length;e").addClass(r.wrapperClass).addClass(m).addClass(l),c=a("
").addClass(r.inputClass).addClass("items").appendTo(b),d=a('').appendTo(c).attr("tabindex",w.is(":disabled")?"-1":p.tabIndex),k=a(r.dropdownParent||b),e=a("
").addClass(r.dropdownClass).addClass(l).hide().appendTo(k),j=a("
").addClass(r.dropdownContentClass).appendTo(e),(o=w.attr("id"))&&(d.attr("id",o+"-selectized"),a("label[for='"+o+"']").attr("for",o+"-selectized")),p.settings.copyClassesToDropdown&&e.addClass(m),b.css({width:w[0].style.width}),p.plugins.names.length&&(n="plugin-"+p.plugins.names.join(" plugin-"),b.addClass(n),e.addClass(n)),(null===r.maxItems||r.maxItems>1)&&1===p.tagType&&w.attr("multiple","multiple"),p.settings.placeholder&&d.attr("placeholder",r.placeholder),!p.settings.splitOn&&p.settings.delimiter){var x=p.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");p.settings.splitOn=new RegExp("\\s*"+x+"+\\s*")}w.attr("autocorrect")&&d.attr("autocorrect",w.attr("autocorrect")),w.attr("autocapitalize")&&d.attr("autocapitalize",w.attr("autocapitalize")),d[0].type=w[0].type,p.$wrapper=b,p.$control=c,p.$control_input=d,p.$dropdown=e,p.$dropdown_content=j,e.on("mouseenter mousedown click","[data-disabled]>[data-selectable]",function(a){a.stopImmediatePropagation()}),e.on("mouseenter","[data-selectable]",function(){return p.onOptionHover.apply(p,arguments)}),e.on("mousedown click","[data-selectable]",function(){return p.onOptionSelect.apply(p,arguments)}),q(c,"mousedown","*:not(input)",function(){return p.onItemSelect.apply(p,arguments)}),u(d),c.on({mousedown:function(){return p.onMouseDown.apply(p,arguments)},click:function(){return p.onClick.apply(p,arguments)}}),d.on({mousedown:function(a){a.stopPropagation()},keydown:function(){return p.onKeyDown.apply(p,arguments)},keyup:function(){return p.onKeyUp.apply(p,arguments)},keypress:function(){return p.onKeyPress.apply(p,arguments)},resize:function(){p.positionDropdown.apply(p,[])},blur:function(){return p.onBlur.apply(p,arguments)},focus:function(){return p.ignoreBlur=!1,p.onFocus.apply(p,arguments)},paste:function(){return p.onPaste.apply(p,arguments)}}),v.on("keydown"+s,function(a){p.isCmdDown=a[f?"metaKey":"ctrlKey"],p.isCtrlDown=a[f?"altKey":"ctrlKey"],p.isShiftDown=a.shiftKey}),v.on("keyup"+s,function(a){a.keyCode===h&&(p.isCtrlDown=!1),16===a.keyCode&&(p.isShiftDown=!1),a.keyCode===g&&(p.isCmdDown=!1)}),v.on("mousedown"+s,function(a){if(p.isFocused){if(a.target===p.$dropdown[0]||a.target.parentNode===p.$dropdown[0])return!1;p.$control.has(a.target).length||a.target===p.$control[0]||p.blur(a.target)}}),t.on(["scroll"+s,"resize"+s].join(" "),function(){p.isOpen&&p.positionDropdown.apply(p,arguments)}),t.on("mousemove"+s,function(){p.ignoreHover=!1}),this.revertSettings={$children:w.children().detach(),tabindex:w.attr("tabindex")},w.attr("tabindex",-1).hide().after(p.$wrapper),a.isArray(r.items)&&(p.setValue(r.items),delete r.items),i&&w.on("invalid"+s,function(a){a.preventDefault(),p.isInvalid=!0,p.refreshState()}),p.updateOriginalInput(),p.refreshItems(),p.refreshState(),p.updatePlaceholder(),p.isSetup=!0,w.is(":disabled")&&p.disable(),p.on("change",this.onChange),w.data("selectize",p),w.addClass("selectized"),p.trigger("initialize"),!0===r.preload&&p.onSearchChange("")},setupTemplates:function(){var b=this,c=b.settings.labelField,d=b.settings.optgroupLabelField,e={optgroup:function(a){return'
'+a.html+"
"},optgroup_header:function(a,b){return'
'+b(a[d])+"
"},option:function(a,b){return'
'+b(a[c])+"
"},item:function(a,b){return'
'+b(a[c])+"
"},option_create:function(a,b){return'
Add '+b(a.input)+"
"}};b.settings.render=a.extend({},e,b.settings.render)},setupCallbacks:function(){var a,b,c={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(a in c)c.hasOwnProperty(a)&&(b=this.settings[c[a]])&&this.on(a,b)},onClick:function(a){var b=this;b.isFocused&&b.isOpen||(b.focus(),a.preventDefault())},onMouseDown:function(b){var c=this,d=b.isDefaultPrevented();a(b.target);if(c.isFocused){if(b.target!==c.$control_input[0])return"single"===c.settings.mode?c.isOpen?c.close():c.open():d||c.setActiveItem(null),!1}else d||window.setTimeout(function(){c.focus()},0)},onChange:function(){this.$input.trigger("change")},onPaste:function(b){var c=this;if(c.isFull()||c.isInputHidden||c.isLocked)return void b.preventDefault();c.settings.splitOn&&setTimeout(function(){var b=c.$control_input.val();if(b.match(c.settings.splitOn))for(var d=a.trim(b).split(c.settings.splitOn),e=0,f=d.length;eh&&(j=g,g=h,h=j),e=g;e<=h;e++)i=l.$control[0].childNodes[e],-1===l.$activeItems.indexOf(i)&&(a(i).addClass("active"),l.$activeItems.push(i));c.preventDefault()}else"mousedown"===d&&l.isCtrlDown||"keydown"===d&&this.isShiftDown?b.hasClass("active")?(f=l.$activeItems.indexOf(b[0]),l.$activeItems.splice(f,1),b.removeClass("active")):l.$activeItems.push(b.addClass("active")[0]):(a(l.$activeItems).removeClass("active"),l.$activeItems=[b.addClass("active")[0]]);l.hideInput(),this.isFocused||l.focus()}},setActiveOption:function(b,c,d){var e,f,g,h,i,k=this;k.$activeOption&&k.$activeOption.removeClass("active"),k.$activeOption=null,b=a(b),b.length&&(k.$activeOption=b.addClass("active"),!c&&j(c)||(e=k.$dropdown_content.height(),f=k.$activeOption.outerHeight(!0),c=k.$dropdown_content.scrollTop()||0,g=k.$activeOption.offset().top-k.$dropdown_content.offset().top+c,h=g,i=g-e+f,g+f>e+c?k.$dropdown_content.stop().animate({scrollTop:i},d?k.settings.scrollDuration:0):g=0;c--)-1!==f.items.indexOf(k(d.items[c].id))&&d.items.splice(c,1);return d},refreshOptions:function(b){var c,e,f,g,h,i,j,l,m,n,o,p,q,r,s,t;void 0===b&&(b=!0);var u=this,w=a.trim(u.$control_input.val()),x=u.search(w),y=u.$dropdown_content,z=u.$activeOption&&k(u.$activeOption.attr("data-value"));for(g=x.items.length,"number"==typeof u.settings.maxOptions&&(g=Math.min(g,u.settings.maxOptions)),h={},i=[],c=0;c0||q,u.hasOptions?(x.items.length>0?(s=z&&u.getOption(z),s&&s.length?r=s:"single"===u.settings.mode&&u.items.length&&(r=u.getOption(u.items[0])),r&&r.length||(r=t&&!u.settings.addPrecedence?u.getAdjacentOption(t,1):y.find("[data-selectable]:first"))):r=t,u.setActiveOption(r),b&&!u.isOpen&&u.open()):(u.setActiveOption(null),b&&u.isOpen&&u.close())},addOption:function(b){var c,d,e,f=this;if(a.isArray(b))for(c=0,d=b.length;c=0&&e0),b.$control_input.data("grow",!c&&!d)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(a){var b,c,d,e,f=this;if(a=a||{},1===f.tagType){for(d=[],b=0,c=f.items.length;b'+l(e)+"");d.length||this.$input.attr("multiple")||d.push(''),f.$input.html(d.join(""))}else f.$input.val(f.getValue()),f.$input.attr("value",f.$input.val());f.isSetup&&(a.silent||f.trigger("change",f.$input.val()))},updatePlaceholder:function(){if(this.settings.placeholder){var a=this.$control_input;this.items.length?a.removeAttr("placeholder"):a.attr("placeholder",this.settings.placeholder),a.triggerHandler("update",{force:!0})}},open:function(){var a=this;a.isLocked||a.isOpen||"multi"===a.settings.mode&&a.isFull()||(a.focus(),a.isOpen=!0,a.refreshState(),a.$dropdown.css({visibility:"hidden",display:"block"}),a.positionDropdown(),a.$dropdown.css({visibility:"visible"}),a.trigger("dropdown_open",a.$dropdown))},close:function(){var a=this,b=a.isOpen;"single"===a.settings.mode&&a.items.length&&(a.hideInput(),a.isBlurring||a.$control_input.blur()),a.isOpen=!1,a.$dropdown.hide(),a.setActiveOption(null),a.refreshState(),b&&a.trigger("dropdown_close",a.$dropdown)},positionDropdown:function(){var a=this.$control,b="body"===this.settings.dropdownParent?a.offset():a.position();b.top+=a.outerHeight(!0),this.$dropdown.css({width:a[0].getBoundingClientRect().width,top:b.top,left:b.left})},clear:function(a){var b=this;b.items.length&&(b.$control.children(":not(input)").remove(),b.items=[],b.lastQuery=null,b.setCaret(0),b.setActiveItem(null),b.updatePlaceholder(),b.updateOriginalInput({silent:a}),b.refreshState(),b.showInput(),b.trigger("clear"))},insertAtCaret:function(a){var b=Math.min(this.caretPos,this.items.length),c=a[0],d=this.buffer||this.$control[0];0===b?d.insertBefore(c,d.firstChild):d.insertBefore(c,d.childNodes[b]),this.setCaret(b+1)},deleteSelection:function(b){var c,d,e,f,g,h,i,j,k,l=this;if(e=b&&8===b.keyCode?-1:1,f=r(l.$control_input[0]),l.$activeOption&&!l.settings.hideSelected&&(i=l.getAdjacentOption(l.$activeOption,-1).attr("data-value")),g=[],l.$activeItems.length){for(k=l.$control.children(".active:"+(e>0?"last":"first")),h=l.$control.children(":not(input)").index(k),e>0&&h++,c=0,d=l.$activeItems.length;c0&&f.start===l.$control_input.val().length&&g.push(l.items[l.caretPos]));if(!g.length||"function"==typeof l.settings.onDelete&&!1===l.settings.onDelete.apply(l,[g]))return!1;for(void 0!==h&&l.setCaret(h);g.length;)l.removeItem(g.pop());return l.showInput(),l.positionDropdown(),l.refreshOptions(!0),i&&(j=l.getOption(i),j.length&&l.setActiveOption(j)),!0},advanceSelection:function(a,b){var c,d,e,f,g,h=this;0!==a&&(h.rtl&&(a*=-1),c=a>0?"last":"first",d=r(h.$control_input[0]),h.isFocused&&!h.isInputHidden?(f=h.$control_input.val().length,(a<0?0===d.start&&0===d.length:d.start===f)&&!f&&h.advanceCaret(a,b)):(g=h.$control.children(".active:"+c),g.length&&(e=h.$control.children(":not(input)").index(g),h.setActiveItem(null),h.setCaret(a>0?e+1:e))))},advanceCaret:function(a,b){var c,d,e=this;0!==a&&(c=a>0?"next":"prev",e.isShiftDown?(d=e.$control_input[c](),d.length&&(e.hideInput(),e.setActiveItem(d),b&&b.preventDefault())):e.setCaret(e.caretPos+a))},setCaret:function(b){var c=this;if(b="single"===c.settings.mode?c.items.length:Math.max(0,Math.min(c.items.length,b)),!c.isPending){var d,e,f,g;for(f=c.$control.children(":not(input)"),d=0,e=f.length;d
'+a.title+'×
'}},b),c.setup=function(){var d=c.setup;return function(){d.apply(c,arguments),c.$dropdown_header=a(b.html(b)),c.$dropdown.prepend(c.$dropdown_header)}}()}),w.define("optgroup_columns",function(b){var c=this;b=a.extend({equalizeWidth:!0,equalizeHeight:!0},b),this.getAdjacentOption=function(b,c){var d=b.closest("[data-group]").find("[data-selectable]"),e=d.index(b)+c;return e>=0&&e
',a=a.firstChild,c.body.appendChild(a),b=d.width=a.offsetWidth-a.clientWidth,c.body.removeChild(a)),b},e=function(){var e,f,g,h,i,j,k;if(k=a("[data-group]",c.$dropdown_content),(f=k.length)&&c.$dropdown_content.width()){if(b.equalizeHeight){for(g=0,e=0;e1&&(i=j-h*(f-1),k.eq(f-1).css({width:i})))}};(b.equalizeHeight||b.equalizeWidth)&&(m.after(this,"positionDropdown",e),m.after(this,"refreshOptions",e))}),w.define("remove_button",function(b){b=a.extend({label:"×",title:"Remove",className:"remove",append:!0},b);if("single"===this.settings.mode)return void function(b,c){c.className="remove-single";var d=b,e=''+c.label+"",f=function(b,c){return a("").append(b).append(c)};b.setup=function(){var g=d.setup;return function(){if(c.append){var h=a(d.$input.context).attr("id"),i=(a("#"+h),d.settings.render.item);d.settings.render.item=function(a){return f(i.apply(b,arguments),e)}}g.apply(b,arguments),b.$control.on("click","."+c.className,function(a){a.preventDefault(),d.isLocked||d.clear()})}}()}(this,b);!function(b,c){var d=b,e=''+c.label+"",f=function(a,b){var c=a.search(/(<\/[^>]+>\s*)$/);return a.substring(0,c)+b+a.substring(c)};b.setup=function(){var g=d.setup;return function(){if(c.append){var h=d.settings.render.item;d.settings.render.item=function(a){return f(h.apply(b,arguments),e)}}g.apply(b,arguments),b.$control.on("click","."+c.className,function(b){if(b.preventDefault(),!d.isLocked){var c=a(b.currentTarget).parent();d.setActiveItem(c),d.deleteSelection()&&d.setCaret(d.items.length)}})}}()}(this,b)}),w.define("restore_on_backspace",function(a){var b=this;a.text=a.text||function(a){return a[this.settings.labelField]},this.onKeyDown=function(){var c=b.onKeyDown;return function(b){var d,e;return 8===b.keyCode&&""===this.$control_input.val()&&!this.$activeItems.length&&(d=this.caretPos-1)>=0&&d'),this.$cache.cont.addClass("irs-disabled")},removeDisableMask:function(){this.$cache.cont.remove(".irs-disable-mask"),this.$cache.cont.removeClass("irs-disabled")},remove:function(){this.$cache.cont.remove(),this.$cache.cont=null,this.$cache.line.off("keydown.irs_"+this.plugin_count),this.$cache.body.off("touchmove.irs_"+this.plugin_count),this.$cache.body.off("mousemove.irs_"+this.plugin_count),this.$cache.win.off("touchend.irs_"+this.plugin_count),this.$cache.win.off("mouseup.irs_"+this.plugin_count),e&&(this.$cache.body.off("mouseup.irs_"+this.plugin_count),this.$cache.body.off("mouseleave.irs_"+this.plugin_count)),this.$cache.grid_labels=[],this.coords.big=[],this.coords.big_w=[],this.coords.big_p=[],this.coords.big_x=[],cancelAnimationFrame(this.raf_id)},bindEvents:function(){this.no_diapason||(this.$cache.body.on("touchmove.irs_"+this.plugin_count,this.pointerMove.bind(this)),this.$cache.body.on("mousemove.irs_"+this.plugin_count,this.pointerMove.bind(this)),this.$cache.win.on("touchend.irs_"+this.plugin_count,this.pointerUp.bind(this)),this.$cache.win.on("mouseup.irs_"+this.plugin_count,this.pointerUp.bind(this)),this.$cache.line.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.line.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.line.on("focus.irs_"+this.plugin_count,this.pointerFocus.bind(this)),this.options.drag_interval&&"double"===this.options.type?(this.$cache.bar.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"both")),this.$cache.bar.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"both"))):(this.$cache.bar.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.bar.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"))),"single"===this.options.type?(this.$cache.single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.s_single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.shad_single.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.s_single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.edge.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_single.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"))):(this.$cache.single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,null)),this.$cache.single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,null)),this.$cache.from.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.s_from.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.to.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.s_to.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.shad_from.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_to.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.from.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.s_from.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.to.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.s_to.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.shad_from.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_to.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"))),this.options.keyboard&&this.$cache.line.on("keydown.irs_"+this.plugin_count,this.key.bind(this,"keyboard")),e&&(this.$cache.body.on("mouseup.irs_"+this.plugin_count,this.pointerUp.bind(this)),this.$cache.body.on("mouseleave.irs_"+this.plugin_count,this.pointerUp.bind(this))))},pointerFocus:function(t){if(!this.target){var i="single"===this.options.type?this.$cache.single:this.$cache.from;t=i.offset().left,t+=i.width()/2-1,this.pointerClick("single",{preventDefault:function(){},pageX:t})}},pointerMove:function(t){this.dragging&&(this.coords.x_pointer=(t.pageX||t.originalEvent.touches&&t.originalEvent.touches[0].pageX)-this.coords.x_gap,this.calc())},pointerUp:function(t){this.current_plugin===this.plugin_count&&this.is_active&&(this.is_active=!1,this.$cache.cont.find(".state_hover").removeClass("state_hover"),this.force_redraw=!0,e&&h("*").prop("unselectable",!1),this.updateScene(),this.restoreOriginalMinInterval(),(h.contains(this.$cache.cont[0],t.target)||this.dragging)&&this.callOnFinish(),this.dragging=!1)},pointerDown:function(t,i){i.preventDefault();var s=i.pageX||i.originalEvent.touches&&i.originalEvent.touches[0].pageX;2!==i.button&&("both"===t&&this.setTempMinInterval(),t=t||(this.target||"from"),this.current_plugin=this.plugin_count,this.target=t,this.dragging=this.is_active=!0,this.coords.x_gap=this.$cache.rs.offset().left,this.coords.x_pointer=s-this.coords.x_gap,this.calcPointerPercent(),this.changeLevel(t),e&&h("*").prop("unselectable",!0),this.$cache.line.trigger("focus"),this.updateScene())},pointerClick:function(t,i){i.preventDefault();var s=i.pageX||i.originalEvent.touches&&i.originalEvent.touches[0].pageX;2!==i.button&&(this.current_plugin=this.plugin_count,this.target=t,this.is_click=!0,this.coords.x_gap=this.$cache.rs.offset().left,this.coords.x_pointer=+(s-this.coords.x_gap).toFixed(),this.force_redraw=!0,this.calc(),this.$cache.line.trigger("focus"))},key:function(t,i){if(!(this.current_plugin!==this.plugin_count||i.altKey||i.ctrlKey||i.shiftKey||i.metaKey)){switch(i.which){case 83:case 65:case 40:case 37:i.preventDefault(),this.moveByKey(!1);break;case 87:case 68:case 38:case 39:i.preventDefault(),this.moveByKey(!0)}return!0}},moveByKey:function(t){var i=this.coords.p_pointer,s=(this.options.max-this.options.min)/100;s=this.options.step/s;this.coords.x_pointer=this.toFixed(this.coords.w_rs/100*(t?i+s:i-s)),this.is_key=!0,this.calc()},setMinMax:function(){if(this.options)if(this.options.hide_min_max)this.$cache.min[0].style.display="none",this.$cache.max[0].style.display="none";else{if(this.options.values.length)this.$cache.min.html(this.decorate(this.options.p_values[this.options.min])),this.$cache.max.html(this.decorate(this.options.p_values[this.options.max]));else{var t=this._prettify(this.options.min),i=this._prettify(this.options.max);this.result.min_pretty=t,this.result.max_pretty=i,this.$cache.min.html(this.decorate(t,this.options.min)),this.$cache.max.html(this.decorate(i,this.options.max))}this.labels.w_min=this.$cache.min.outerWidth(!1),this.labels.w_max=this.$cache.max.outerWidth(!1)}},setTempMinInterval:function(){var t=this.result.to-this.result.from;null===this.old_min_interval&&(this.old_min_interval=this.options.min_interval),this.options.min_interval=t},restoreOriginalMinInterval:function(){null!==this.old_min_interval&&(this.options.min_interval=this.old_min_interval,this.old_min_interval=null)},calc:function(t){if(this.options&&(this.calc_count++,10!==this.calc_count&&!t||(this.calc_count=0,this.coords.w_rs=this.$cache.rs.outerWidth(!1),this.calcHandlePercent()),this.coords.w_rs)){switch(this.calcPointerPercent(),t=this.getHandleX(),"both"===this.target&&(this.coords.p_gap=0,t=this.getHandleX()),"click"===this.target&&(this.coords.p_gap=this.coords.p_handle/2,t=this.getHandleX(),this.target=this.options.drag_interval?"both_one":this.chooseHandle(t)),this.target){case"base":var i=(this.options.max-this.options.min)/100;t=(this.result.from-this.options.min)/i,i=(this.result.to-this.options.min)/i,this.coords.p_single_real=this.toFixed(t),this.coords.p_from_real=this.toFixed(t),this.coords.p_to_real=this.toFixed(i),this.coords.p_single_real=this.checkDiapason(this.coords.p_single_real,this.options.from_min,this.options.from_max),this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max),this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,this.options.to_max),this.coords.p_single_fake=this.convertToFakePercent(this.coords.p_single_real),this.coords.p_from_fake=this.convertToFakePercent(this.coords.p_from_real),this.coords.p_to_fake=this.convertToFakePercent(this.coords.p_to_real),this.target=null;break;case"single":if(this.options.from_fixed)break;this.coords.p_single_real=this.convertToRealPercent(t),this.coords.p_single_real=this.calcWithStep(this.coords.p_single_real),this.coords.p_single_real=this.checkDiapason(this.coords.p_single_real,this.options.from_min,this.options.from_max),this.coords.p_single_fake=this.convertToFakePercent(this.coords.p_single_real);break;case"from":if(this.options.from_fixed)break;this.coords.p_from_real=this.convertToRealPercent(t),this.coords.p_from_real=this.calcWithStep(this.coords.p_from_real),this.coords.p_from_real>this.coords.p_to_real&&(this.coords.p_from_real=this.coords.p_to_real),this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max),this.coords.p_from_real=this.checkMinInterval(this.coords.p_from_real,this.coords.p_to_real,"from"),this.coords.p_from_real=this.checkMaxInterval(this.coords.p_from_real,this.coords.p_to_real,"from"),this.coords.p_from_fake=this.convertToFakePercent(this.coords.p_from_real);break;case"to":if(this.options.to_fixed)break;this.coords.p_to_real=this.convertToRealPercent(t),this.coords.p_to_real=this.calcWithStep(this.coords.p_to_real),this.coords.p_to_realthis.coords.w_rs&&(this.coords.x_pointer=this.coords.w_rs),this.coords.p_pointer=this.toFixed(this.coords.x_pointer/this.coords.w_rs*100)):this.coords.p_pointer=0},convertToRealPercent:function(t){return t/(100-this.coords.p_handle)*100},convertToFakePercent:function(t){return t/100*(100-this.coords.p_handle)},getHandleX:function(){var t=100-this.coords.p_handle,i=this.toFixed(this.coords.p_pointer-this.coords.p_gap);return i<0?i=0:t=this.coords.p_from_real+(this.coords.p_to_real-this.coords.p_from_real)/2?this.options.to_fixed?"from":"to":this.options.from_fixed?"to":"from"},calcMinMax:function(){this.coords.w_rs&&(this.labels.p_min=this.labels.w_min/this.coords.w_rs*100,this.labels.p_max=this.labels.w_max/this.coords.w_rs*100)},calcLabels:function(){this.coords.w_rs&&!this.options.hide_from_to&&("single"===this.options.type?(this.labels.w_single=this.$cache.single.outerWidth(!1),this.labels.p_single_fake=this.labels.w_single/this.coords.w_rs*100,this.labels.p_single_left=this.coords.p_single_fake+this.coords.p_handle/2-this.labels.p_single_fake/2):(this.labels.w_from=this.$cache.from.outerWidth(!1),this.labels.p_from_fake=this.labels.w_from/this.coords.w_rs*100,this.labels.p_from_left=this.coords.p_from_fake+this.coords.p_handle/2-this.labels.p_from_fake/2,this.labels.p_from_left=this.toFixed(this.labels.p_from_left),this.labels.p_from_left=this.checkEdges(this.labels.p_from_left,this.labels.p_from_fake),this.labels.w_to=this.$cache.to.outerWidth(!1),this.labels.p_to_fake=this.labels.w_to/this.coords.w_rs*100,this.labels.p_to_left=this.coords.p_to_fake+this.coords.p_handle/2-this.labels.p_to_fake/2,this.labels.p_to_left=this.toFixed(this.labels.p_to_left),this.labels.p_to_left=this.checkEdges(this.labels.p_to_left,this.labels.p_to_fake),this.labels.w_single=this.$cache.single.outerWidth(!1),this.labels.p_single_fake=this.labels.w_single/this.coords.w_rs*100,this.labels.p_single_left=(this.labels.p_from_left+this.labels.p_to_left+this.labels.p_to_fake)/2-this.labels.p_single_fake/2,this.labels.p_single_left=this.toFixed(this.labels.p_single_left)),this.labels.p_single_left=this.checkEdges(this.labels.p_single_left,this.labels.p_single_fake))},updateScene:function(){this.raf_id&&(cancelAnimationFrame(this.raf_id),this.raf_id=null),clearTimeout(this.update_tm),this.update_tm=null,this.options&&(this.drawHandles(),this.is_active?this.raf_id=requestAnimationFrame(this.updateScene.bind(this)):this.update_tm=setTimeout(this.updateScene.bind(this),300))},drawHandles:function(){this.coords.w_rs=this.$cache.rs.outerWidth(!1),this.coords.w_rs&&(this.coords.w_rs!==this.coords.w_rs_old&&(this.target="base",this.is_resize=!0),this.coords.w_rs===this.coords.w_rs_old&&!this.force_redraw||(this.setMinMax(),this.calc(!0),this.drawLabels(),this.options.grid&&(this.calcGridMargin(),this.calcGridLabels()),this.force_redraw=!0,this.coords.w_rs_old=this.coords.w_rs,this.drawShadow()),this.coords.w_rs&&(this.dragging||this.force_redraw||this.is_key)&&((this.old_from!==this.result.from||this.old_to!==this.result.to||this.force_redraw||this.is_key)&&(this.drawLabels(),this.$cache.bar[0].style.left=this.coords.p_bar_x+"%",this.$cache.bar[0].style.width=this.coords.p_bar_w+"%","single"===this.options.type?this.$cache.s_single[0].style.left=this.coords.p_single_fake+"%":(this.$cache.s_from[0].style.left=this.coords.p_from_fake+"%",this.$cache.s_to[0].style.left=this.coords.p_to_fake+"%",this.old_from===this.result.from&&!this.force_redraw||(this.$cache.from[0].style.left=this.labels.p_from_left+"%"),this.old_to===this.result.to&&!this.force_redraw||(this.$cache.to[0].style.left=this.labels.p_to_left+"%")),this.$cache.single[0].style.left=this.labels.p_single_left+"%",this.writeToInput(),this.old_from===this.result.from&&this.old_to===this.result.to||this.is_start||(this.$cache.input.trigger("change"),this.$cache.input.trigger("input")),this.old_from=this.result.from,this.old_to=this.result.to,this.is_resize||this.is_update||this.is_start||this.is_finish||this.callOnChange(),(this.is_key||this.is_click)&&(this.is_click=this.is_key=!1,this.callOnFinish()),this.is_finish=this.is_resize=this.is_update=!1),this.force_redraw=this.is_click=this.is_key=this.is_start=!1))},drawLabels:function(){if(this.options){var t=this.options.values.length,i=this.options.p_values;if(!this.options.hide_from_to)if("single"===this.options.type){if(t)t=this.decorate(i[this.result.from]);else{var s=this._prettify(this.result.from);t=this.decorate(s,this.result.from)}this.$cache.single.html(t),this.calcLabels(),this.$cache.min[0].style.visibility=this.labels.p_single_left100-this.labels.p_max-1?"hidden":"visible"}else{i=t?(this.options.decorate_both?(t=this.decorate(i[this.result.from]),t+=this.options.values_separator,t+=this.decorate(i[this.result.to])):t=this.decorate(i[this.result.from]+this.options.values_separator+i[this.result.to]),s=this.decorate(i[this.result.from]),this.decorate(i[this.result.to])):(s=this._prettify(this.result.from),i=this._prettify(this.result.to),this.options.decorate_both?(t=this.decorate(s,this.result.from),t+=this.options.values_separator,t+=this.decorate(i,this.result.to)):t=this.decorate(s+this.options.values_separator+i,this.result.to),s=this.decorate(s,this.result.from),this.decorate(i,this.result.to)),this.$cache.single.html(t),this.$cache.from.html(s),this.$cache.to.html(i),this.calcLabels(),t=Math.min(this.labels.p_single_left,this.labels.p_from_left),s=this.labels.p_single_left+this.labels.p_single_fake;i=this.labels.p_to_left+this.labels.p_to_fake;var o=Math.max(s,i);this.labels.p_from_left+this.labels.p_from_fake>=this.labels.p_to_left?(this.$cache.from[0].style.visibility="hidden",this.$cache.to[0].style.visibility="hidden",this.$cache.single[0].style.visibility="visible",o=this.result.from===this.result.to?("from"===this.target?this.$cache.from[0].style.visibility="visible":"to"===this.target?this.$cache.to[0].style.visibility="visible":this.target||(this.$cache.from[0].style.visibility="visible"),this.$cache.single[0].style.visibility="hidden",i):(this.$cache.from[0].style.visibility="hidden",this.$cache.to[0].style.visibility="hidden",this.$cache.single[0].style.visibility="visible",Math.max(s,i))):(this.$cache.from[0].style.visibility="visible",this.$cache.to[0].style.visibility="visible",this.$cache.single[0].style.visibility="hidden"),this.$cache.min[0].style.visibility=t100-this.labels.p_max-1?"hidden":"visible"}}},drawShadow:function(){var t=this.options,i=this.$cache,s="number"==typeof t.from_min&&!isNaN(t.from_min),o="number"==typeof t.from_max&&!isNaN(t.from_max),e="number"==typeof t.to_min&&!isNaN(t.to_min),h="number"==typeof t.to_max&&!isNaN(t.to_max);"single"===t.type?t.from_shadow&&(s||o)?(s=this.convertToPercent(s?t.from_min:t.min),o=this.convertToPercent(o?t.from_max:t.max)-s,s=this.toFixed(s-this.coords.p_handle/100*s),o=this.toFixed(o-this.coords.p_handle/100*o),s+=this.coords.p_handle/2,i.shad_single[0].style.display="block",i.shad_single[0].style.left=s+"%",i.shad_single[0].style.width=o+"%"):i.shad_single[0].style.display="none":(t.from_shadow&&(s||o)?(s=this.convertToPercent(s?t.from_min:t.min),o=this.convertToPercent(o?t.from_max:t.max)-s,s=this.toFixed(s-this.coords.p_handle/100*s),o=this.toFixed(o-this.coords.p_handle/100*o),s+=this.coords.p_handle/2,i.shad_from[0].style.display="block",i.shad_from[0].style.left=s+"%",i.shad_from[0].style.width=o+"%"):i.shad_from[0].style.display="none",t.to_shadow&&(e||h)?(e=this.convertToPercent(e?t.to_min:t.min),t=this.convertToPercent(h?t.to_max:t.max)-e,e=this.toFixed(e-this.coords.p_handle/100*e),t=this.toFixed(t-this.coords.p_handle/100*t),e+=this.coords.p_handle/2,i.shad_to[0].style.display="block",i.shad_to[0].style.left=e+"%",i.shad_to[0].style.width=t+"%"):i.shad_to[0].style.display="none")},writeToInput:function(){"single"===this.options.type?(this.options.values.length?this.$cache.input.prop("value",this.result.from_value):this.$cache.input.prop("value",this.result.from),this.$cache.input.data("from",this.result.from)):(this.options.values.length?this.$cache.input.prop("value",this.result.from_value+this.options.input_values_separator+this.result.to_value):this.$cache.input.prop("value",this.result.from+this.options.input_values_separator+this.result.to),this.$cache.input.data("from",this.result.from),this.$cache.input.data("to",this.result.to))},callOnStart:function(){this.writeToInput(),this.options.onStart&&"function"==typeof this.options.onStart&&(this.options.scope?this.options.onStart.call(this.options.scope,this.result):this.options.onStart(this.result))},callOnChange:function(){this.writeToInput(),this.options.onChange&&"function"==typeof this.options.onChange&&(this.options.scope?this.options.onChange.call(this.options.scope,this.result):this.options.onChange(this.result))},callOnFinish:function(){this.writeToInput(),this.options.onFinish&&"function"==typeof this.options.onFinish&&(this.options.scope?this.options.onFinish.call(this.options.scope,this.result):this.options.onFinish(this.result))},callOnUpdate:function(){this.writeToInput(),this.options.onUpdate&&"function"==typeof this.options.onUpdate&&(this.options.scope?this.options.onUpdate.call(this.options.scope,this.result):this.options.onUpdate(this.result))},toggleInput:function(){this.$cache.input.toggleClass("irs-hidden-input"),this.has_tab_index?this.$cache.input.prop("tabindex",-1):this.$cache.input.removeProp("tabindex"),this.has_tab_index=!this.has_tab_index},convertToPercent:function(t,i){var s=this.options.max-this.options.min;return s?this.toFixed((i?t:t-this.options.min)/(s/100)):(this.no_diapason=!0,0)},convertToValue:function(t){var i,s,o=this.options.min,e=this.options.max,h=o.toString().split(".")[1],r=e.toString().split(".")[1],n=0,a=0;return 0===t?this.options.min:100===t?this.options.max:(h&&(n=i=h.length),r&&(n=s=r.length),i&&s&&(n=s<=i?i:s),o<0&&(o=+(o+(a=Math.abs(o))).toFixed(n),e=+(e+a).toFixed(n)),t=(e-o)/100*t+o,t=(o=this.options.step.toString().split(".")[1])?+t.toFixed(o.length):(t/=this.options.step,+(t*=this.options.step).toFixed(0)),a&&(t-=a),(a=o?+t.toFixed(o.length):this.toFixed(t))this.options.max&&(a=this.options.max),a)},calcWithStep:function(t){var i=Math.round(t/this.coords.p_step)*this.coords.p_step;return 100o.max_interval&&(t=i-o.max_interval):t-i>o.max_interval&&(t=i+o.max_interval),this.convertToPercent(t)):t},checkDiapason:function(t,i,s){t=this.convertToValue(t);var o=this.options;return"number"!=typeof i&&(i=o.min),"number"!=typeof s&&(s=o.max),ti.max&&(i.from=i.max)):(i.fromi.max&&(i.from=i.max),i.toi.max&&(i.to=i.max),this.update_check.from&&(this.update_check.from!==i.from&&i.from>i.to&&(i.from=i.to),this.update_check.to!==i.to&&i.toi.to&&(i.from=i.to),i.toi.from_max&&(i.from=i.from_max),"number"==typeof i.to_min&&i.toi.to_max&&(i.to=i.to_max),s&&(s.min!==i.min&&(s.min=i.min),s.max!==i.max&&(s.max=i.max),(s.froms.max)&&(s.from=i.from),(s.tos.max)&&(s.to=i.to)),("number"!=typeof i.min_interval||isNaN(i.min_interval)||!i.min_interval||i.min_interval<0)&&(i.min_interval=0),("number"!=typeof i.max_interval||isNaN(i.max_interval)||!i.max_interval||i.max_interval<0)&&(i.max_interval=0),i.min_interval&&i.min_interval>i.max-i.min&&(i.min_interval=i.max-i.min),i.max_interval&&i.max_interval>i.max-i.min&&(i.max_interval=i.max-i.min)},decorate:function(t,i){var s="",o=this.options;return o.prefix&&(s+=o.prefix),s+=t,o.max_postfix&&(o.values.length&&t===o.p_values[o.max]?(s+=o.max_postfix,o.postfix&&(s+=" ")):i===o.max&&(s+=o.max_postfix,o.postfix&&(s+=" "))),o.postfix&&(s+=o.postfix),s},updateFrom:function(){this.result.from=this.options.from,this.result.from_percent=this.convertToPercent(this.result.from),this.result.from_pretty=this._prettify(this.result.from),this.options.values&&(this.result.from_value=this.options.values[this.result.from])},updateTo:function(){this.result.to=this.options.to,this.result.to_percent=this.convertToPercent(this.result.to),this.result.to_pretty=this._prettify(this.result.to),this.options.values&&(this.result.to_value=this.options.values[this.result.to])},updateResult:function(){this.result.min=this.options.min,this.result.max=this.options.max,this.updateFrom(),this.updateTo()},appendGrid:function(){if(this.options.grid){var t,i=this.options,s=i.max-i.min,o=i.grid_num,e=4,h="";if(this.calcGridMargin(),i.grid_snap)if(50'}h+='',t=this.convertToValue(a),h+=''+(t=i.values.length?i.p_values[t]:this._prettify(t))+""}this.coords.big_num=Math.ceil(o+1),this.$cache.cont.addClass("irs-with-grid"),this.$cache.grid.html(h),this.cacheGridLabels()}},cacheGridLabels:function(){var t,i=this.coords.big_num;for(t=0;t100+this.coords.grid_gap&&(s[o-1]=100+this.coords.grid_gap,i[o-1]=this.toFixed(s[o-1]-this.coords.big_p[o-1]),this.coords.big_x[o-1]=this.toFixed(this.coords.big_p[o-1]-this.coords.grid_gap))),this.calcGridCollision(2,i,s),this.calcGridCollision(4,i,s),t=0;t'; }); $('head').append(''); } mobile(); var pf_singlesc = false; if ($('.prdctfltr_sc_products.prdctfltr_ajax ' + prdctfltr.ajax_class).length == 1 && $('.prdctfltr_wc:not(.prdctfltr_step_filter)').length > 0) { $('body').addClass('prdctfltr-sc'); pf_singlesc = 1; } else { prdctfltr.active_sc = ''; } var pf_failsafe = false; function ajax_failsafe() { if (prdctfltr.ajax_failsafe.length == 0) { return false; } if ($('.prdctfltr_sc_products').length > 0) { return false; } if ($('body').hasClass('prdctfltr-ajax')) { pf_failsafe = false; if ($.inArray('wrapper', prdctfltr.ajax_failsafe) !== -1) { if ($(prdctfltr.ajax_class).length < 1) { pf_failsafe = true; } } if ($.inArray('product', prdctfltr.ajax_failsafe) !== -1) { if ($(prdctfltr.ajax_class + ' ' + prdctfltr.ajax_product_class).length < 1 && $(prdctfltr.ajax_class + ' ' + prdctfltr.ajax_category_class).length < 1) { pf_failsafe = true; } } if ($.inArray('pagination', prdctfltr.ajax_failsafe) !== -1) { if ($(prdctfltr.ajax_pagination_class).length < 1) { pf_failsafe = true; } } if (pf_failsafe === true) { console.log('PF: AJAX Failsafe active.'); } } } ajax_failsafe(); prdctfltr.clearall = ($.isArray(prdctfltr.clearall) === true ? prdctfltr.clearall : false); var archiveAjax = false; if ($('body').hasClass('prdctfltr-ajax') && pf_failsafe === false) { archiveAjax = true; } if (archiveAjax === true || pf_singlesc) { var makeHistory = {}; var pageFilters = { product_filter: [], }; $('.prdctfltr_wc').each(function() { pageFilters.product_filter.push({ id : $(this).attr('data-id'), filter : $("
").append($(this).clone()).html(), }); }); if (prdctfltr.rangefilters) { pageFilters.ranges = prdctfltr.rangefilters; } pageFilters.products = $("
").append($(prdctfltr.ajax_class).clone()).html(); pageFilters.pagination = $("
").append($(prdctfltr.ajax_pagination_class).clone()).html(); pageFilters.count = $("
").append($(prdctfltr.ajax_count_class).clone()).html(); pageFilters.orderby = $("
").append($(prdctfltr.ajax_orderby_class).clone()).html(); pageFilters.title = $("
").append($('h1.page-title').clone()).html(); pageFilters.desc = $("
").append($('.term-description:first, .page-description:first').clone()).html(); pageFilters.loop_start = $('
    '); pageFilters.prdctfltr = prdctfltr; var historyId = guid(); makeHistory[historyId] = pageFilters; history.replaceState({ filters: historyId, archiveAjax: true, shortcodeAjax: false }, document.title, ''); } function guid() { function s4() { return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); } return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); } var ajaxActive = false; $.expr[':'].Contains = function(a, i, m) { return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase()) >= 0; }; String.prototype.getValueByKey = function(k) { var p = new RegExp('\\b' + k + '\\b', 'gi'); return this.search(p) != -1 ? decodeURIComponent(this.substr(this.search(p) + k.length + 1).substr(0, this.substr(this.search(p) + k.length + 1).search(/(&|;|$)/))) : ""; }; var startInit = false; function __call_meta_range(i, obj3) { var currTax = $('#' + i).attr('data-filter'); obj3.prettify_enabled = false; if (u(obj3.prettyValues)) { obj3.prettify_enabled = true; obj3.prettify = function(num) { return obj3.prettyValues[num]; }; } obj3.onChange = function(data) { startInit = true; }; obj3.onFinish = function(data) { if (startInit === true) { startInit = false; var iValue = ''; if (data.min == data.from && data.max == data.to) { var ourObj = prdctfltr_get_obj_580($('#' + i).closest('.prdctfltr_wc')); $.each(ourObj, function(i, obj) { $(obj).find('input[name="' + currTax + '"]').val(''); $(obj).find('.prdctfltr_range input[data-filter="' + currTax + '"]:not(#' + i + ')').each(function() { var range = $(this).data("ionRangeSlider"); range.update({ from: data.min, to: data.max }); }); }); $('#' + i).closest('.prdctfltr_filter').find('input[name="' + currTax + '"]:first').trigger('change'); } else { if (obj3.prettify_enabled === true) { $.each(obj3.prettyValues.slice(data.from, data.to + 1), function(i, e) { iValue += (i == 0 ? '' : ',') + $(obj3.prettyValues[data.from + i]).text(); }) } else { iValue = data.from + ',' + data.to; } var ourObj = prdctfltr_get_obj_580($('#' + i).closest('.prdctfltr_wc')); $.each(ourObj, function(i, obj) { $(obj).find('input[name="' + currTax + '"]').val(iValue); $(obj).find('.prdctfltr_range input[data-filter="' + currTax + '"]:not(#' + i + ')').each(function() { var range = $(this).data("ionRangeSlider"); if (typeof range !== 'undefined') { range.update({ from: data.from, to: data.to }); } }); }); $('#' + i).closest('.prdctfltr_filter').find('input[name="' + currTax + '"]:first').trigger('change'); } var curr_filter = $('#' + i).closest('.prdctfltr_wc'); if (curr_filter.hasClass('prdctfltr_tabbed_selection') && curr_filter.hasClass('prdctfltr_click')) { curr_filter.find('.prdctfltr_filter').each(function() { if ($(this).find('input[type="hidden"]:first').length > 0 && $(this).find('input[type="hidden"]:first').val() !== '') { if (!$(this).hasClass('prdctfltr_has_selection')) { $(this).addClass('prdctfltr_has_selection'); } } else { if ($(this).hasClass('prdctfltr_has_selection')) { $(this).removeClass('prdctfltr_has_selection'); } } }); } var ourObj = prdctfltr_get_obj_580(curr_filter); $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="' + currTax + '"]'); pfObj.each(function() { check_selection_boxes($(this), 'look'); }); }); } }; $('#' + i).ionRangeSlider(obj3); ranges[i] = $('#' + i).data('ionRangeSlider'); } function __call_taxonomy_range(i, obj3) { var currTax = $('#' + i).attr('data-filter'); if (currTax !== 'price') { obj3.prettify_enabled = true; obj3.prettify = function(num) { return obj3.prettyValues[num]; }; } obj3.onChange = function(data) { startInit = true; }; obj3.onFinish = function(data) { if (startInit === true) { startInit = false; if (data.min == data.from && data.max == data.to) { var ourObj = prdctfltr_get_obj_580($('#' + i).closest('.prdctfltr_wc')); $.each(ourObj, function(i, obj) { $(obj).find('input[name="rng_min_' + currTax + '"]').val(''); $(obj).find('input[name="rng_max_' + currTax + '"]').val(''); $(obj).find('.prdctfltr_range input[data-filter="' + currTax + '"]:not(#' + i + ')').each(function() { var range = $(this).data("ionRangeSlider"); range.update({ from: data.min, to: data.max }); }); }); $('#' + i).closest('.prdctfltr_filter').find('input[name="rng_max_' + currTax + '"]:first').trigger('change'); } else { var minVal = (currTax == 'price' ? data.from : $(obj3.prettyValues[data.from]).text()); var maxVal = (currTax == 'price' ? data.to : $(obj3.prettyValues[data.to]).text()); var ourObj = prdctfltr_get_obj_580($('#' + i).closest('.prdctfltr_wc')); $.each(ourObj, function(i, obj) { $(obj).find('input[name="rng_min_' + currTax + '"]').val(minVal); $(obj).find('input[name="rng_max_' + currTax + '"]').val(maxVal); $(obj).find('.prdctfltr_range input[data-filter="' + currTax + '"]:not(#' + i + ')').each(function() { var range = $(this).data("ionRangeSlider"); if (typeof range !== 'undefined') { range.update({ from: data.from, to: data.to }); } }); }); $('#' + i).closest('.prdctfltr_filter').find('input[name="rng_max_' + currTax + '"]:first').trigger('change'); } var curr_filter = $('#' + i).closest('.prdctfltr_wc'); if (curr_filter.hasClass('prdctfltr_tabbed_selection') && curr_filter.hasClass('prdctfltr_click')) { curr_filter.find('.prdctfltr_filter').each(function() { if ($(this).find('input[type="hidden"]:first').length > 0 && $(this).find('input[type="hidden"]:first').val() !== '') { if (!$(this).hasClass('prdctfltr_has_selection')) { $(this).addClass('prdctfltr_has_selection'); } } else { if ($(this).hasClass('prdctfltr_has_selection')) { $(this).removeClass('prdctfltr_has_selection'); } } }); } var ourObj = prdctfltr_get_obj_580(curr_filter); $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="rng_' + currTax + '"]'); pfObj.each(function() { check_selection_boxes($(this), 'look'); }); }); } }; $('#' + i).ionRangeSlider(obj3); ranges[i] = $('#' + i).data('ionRangeSlider'); } function init_ranges() { $.each(prdctfltr.rangefilters, function(i, obj3) { if ($('#' + i).length > 0) { if ($('#' + i).closest('.prdctfltr_filter').hasClass('prdctfltr_meta_range')) { __call_meta_range(i, obj3); } else { __call_taxonomy_range(i, obj3); } } }); } var ranges = {}; init_ranges(); function reorder_selected(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); if (curr.find('label.prdctfltr_active').length == 0) { return; } curr.each(function() { if ($(this).hasClass('prdctfltr_selected_reorder')) { $(this).find('.prdctfltr_filter.prdctfltr_attributes .prdctfltr_checkboxes, .prdctfltr_filter.prdctfltr_vendor .prdctfltr_checkboxes, .prdctfltr_filter.prdctfltr_byprice .prdctfltr_checkboxes, .prdctfltr_filter.prdctfltr_orderby .prdctfltr_checkboxes').each(function() { var checkboxes = $(this); if (checkboxes.find('label.prdctfltr_active').length > 0) { $(checkboxes.find('label.prdctfltr_active').get().reverse()).each(function() { var addThis = $(this); $(this).remove(); if (checkboxes.find('label.prdctfltr_ft_none:first').length > 0) { checkboxes.find('label.prdctfltr_ft_none:first').after(addThis); } else { checkboxes.prepend(addThis); } }); } }); } }); } reorder_selected(); function reorder_adoptive(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.each(function() { var currEl = $(this); if ($(this).hasClass('prdctfltr_adoptive_reorder')) { currEl.find('.prdctfltr_adoptive').each(function() { var filter = $(this); if (filter.find('.pf_adoptive_hide').length > 0) { var checkboxes = filter.find('.prdctfltr_checkboxes'); filter.find('.pf_adoptive_hide').each(function() { var addThis = $(this); $(this).remove(); checkboxes.append(addThis); }); } }); } }); } reorder_adoptive(); $(document).on('click', '.pf_more:not(.pf_activated)', function() { var filter = $(this).closest('.prdctfltr_attributes, .prdctfltr_meta'); var checkboxes = filter.find('.prdctfltr_checkboxes'); if (filter.hasClass('pf_adptv_default')) { var searchIn = 'label:not(.pf_adoptive_hide)'; } else { var searchIn = 'label'; } var displayType = checkboxes.find(searchIn + ':first').css('display'); checkboxes.find(searchIn).attr('style', 'display:' + displayType + ' !important'); checkboxes.find('.pf_more').addClass('pf_activated').html('' + prdctfltr.localization.show_less + ''); __check_masonry(filter.closest('.prdctfltr_wc')); }); $(document).on('click', '.pf_more.pf_activated', function() { var filter = $(this).closest('.prdctfltr_attributes, .prdctfltr_meta'); var checkboxes = filter.find('.prdctfltr_checkboxes'); if (filter.hasClass('pf_adptv_default')) { var searchIn = 'label:not(.pf_adoptive_hide)'; } else { var searchIn = 'label'; } checkboxes.each(function() { var max = parseInt(filter.attr('data-limit'), 10); if (max > 0 && $(this).find(searchIn).length > max ) { $(this).find(searchIn).slice(max).attr('style', 'display:none !important'); $(this).find('.pf_more').html('' + prdctfltr.localization.show_more + '').removeClass('pf_activated'); __check_masonry(filter.closest('.prdctfltr_wc')); } }); }); function set_select_index(curr) { curr = (curr == null ? $('.prdctfltr_woocommerce') : curr); curr.each(function() { var curr_el = $(this); var selects = curr_el.find('.pf_select .prdctfltr_filter'); if (selects.length > 0) { var zIndex = selects.length; selects.each(function() { $(this).css({ 'z-index': zIndex }); zIndex--; }); } }); } set_select_index(); function init_search(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.each(function() { var curr_el = $(this); curr_el.find('input.pf_search').each(function() { $(this).keyup(function() { if ($(this).next().is(':hidden')) { $(this).next().show(); } }); }); }); } init_search(); $(document).on('keydown', '.pf_search', function() { if (event.which == 13) { $(this).next().trigger('click'); return false; } }); $(document).on('click', '.pf_search_trigger', function() { if (ajaxActive === true) { return false; } var wc = $(this).closest('.prdctfltr_wc'); if ($(this).prev().val() == '') { $('.prdctfltr_filter input[name="s"], .prdctfltr_add_inputs input[name="s"]').remove(); } if (!wc.hasClass('prdctfltr_click_filter')) { wc.find('.prdctfltr_woocommerce_filter_submit').trigger('click'); } else { var obj = wc.find('.prdctfltr_woocommerce_ordering'); prdctfltr_respond_550(obj); } return false; }); function is_touch_device() { return 'ontouchstart' in window || navigator.maxTouchPoints; } function prdctfltr_init_tooltips(c) { if (is_touch_device() !== true) { c = (c == null ? $('.prdctfltr_woocommerce') : c); c.each(function() { var $tooltips = $(this).find('.prdctfltr_filter :not(.prdctfltr_terms_customized_select) label'); $tooltips.each(function() { var $l = $(this); var $t = $l.find('.prdctfltr_tooltip'); if ($t.length > 0) { var f = { timeout: 150, over: function() { if ($('body > .pf_fixtooltip').length > 0) { $('body > .pf_fixtooltip').remove(); } var p = getCoords($l); $('body').append('
    ' + $('
    ').append($t.clone()).html() + '
    '); setTimeout(function() { $('body > .pf_fixtooltip').addClass('prdctfltr_hover'); }, 10); }, out: function() { $('body > .prdctfltr_hover').removeClass('prdctfltr_hover').addClass('prdctfltr_removeme'); setTimeout(function() { $('body > .prdctfltr_removeme').remove(); }, 150); }, }; $l.hoverIntent(f); } }); }); } } prdctfltr_init_tooltips(); function getCoords(elem) { var box = elem[0].getBoundingClientRect(); var body = document.body; var docEl = document.documentElement; var clientTop = docEl.clientTop || body.clientTop || 0; var clientLeft = docEl.clientLeft || body.clientLeft || 0; var top = box.top - clientTop; var left = box.left - clientLeft; return { top: Math.round(top), left: Math.round(left) }; } function prdctfltr_cats_mode_700(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.each(function(i, obj) { obj = $(obj); var checkFilters = obj.find('.prdctfltr_attributes'); checkFilters.each(function() { var mode = false; if ($(this).hasClass('prdctfltr_drill')) { mode = 'drill'; } if ($(this).hasClass('prdctfltr_drillback')) { mode = 'drillback'; } if ($(this).hasClass('prdctfltr_subonly')) { mode = 'subonly'; } if ($(this).hasClass('prdctfltr_subonlyback')) { mode = 'subonlyback'; } if (mode === false) { return true; } var doIt = true; var checkCheckboxes = $(this).find('.prdctfltr_checkboxes'); if (mode == 'subonly' || mode == 'subonlyback') { if (checkCheckboxes.find('label.prdctfltr_active').length > 1) { if (checkCheckboxes.find('> label.prdctfltr_active').length > 1) { doIt = false; } var checkParents = ''; checkCheckboxes.find('label.prdctfltr_active input[type="checkbox"]').each(function() { if (checkParents == '') { checkParents = ($(this).attr('data-parent') ? $(this).attr('data-parent') : '%toplevel'); } else { if ($(this).attr('data-parent') !== checkParents) { doIt = false; } } }); } } if (doIt === false) { return; } var ourEl = checkCheckboxes.find('label.prdctfltr_active'); if (ourEl.length == 0) { if (mode == 'drill' || mode == 'drillback') { checkCheckboxes.find('> .prdctfltr_sub').remove(); } } else { ourEl.each(function() { if ($(this).next().is('.prdctfltr_sub')) { var subParent = $(this).next(); } else { var subParent = $(this).closest('.prdctfltr_sub'); } if (subParent.length == 0) { if (mode == 'drill' || mode == 'drillback') { checkCheckboxes.find('> .prdctfltr_sub').remove(); } } else { if (mode == 'drill' || mode == 'drillback') { subParent.find('.prdctfltr_sub').remove(); } var subParentCon = $('
    ').append(subParent.clone()).html(); if (mode.indexOf('back') !== -1 && subParent.prev().is('label')) { subParentCon += $('
    ').append(subParent.prev().addClass('prdctfltr_hiddenparent').clone()).html(); } } if (typeof subParentCon != 'undefined') { checkCheckboxes.empty(); checkCheckboxes.append(subParentCon); } }); } }); }); } function get_category_mode(setView) { if (typeof setView == 'undefined') { prdctfltr_cats_mode_700(); } else { prdctfltr_cats_mode_700(setView); } } get_category_mode(); function prdctfltr_show_opened_cats(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.find('.prdctfltr_hierarchy label.prdctfltr_active').each(function() { if ($(this).next().is('.prdctfltr_sub')) { if (!$(this).hasClass('prdctfltr_show_subs')) { $(this).addClass('prdctfltr_show_subs'); } } $(this).parents('.prdctfltr_sub').each(function() { if (!$(this).prev().hasClass('prdctfltr_show_subs')) { $(this).prev().addClass('prdctfltr_show_subs'); } }); }); } function prdctfltr_all_cats(curr) { return false; curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.find('.prdctfltr_expand_parents .prdctfltr_sub').each(function() { var curr = $(this); if (!curr.is(':visible')) { if (!curr.prev().hasClass('prdctfltr_show_subs')) { curr.prev().addClass('prdctfltr_show_subs'); } } }); } function prdctfltr_make_clears(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); var clearActive = false; var currEls = curr.find('.prdctfltr_filter label.prdctfltr_active'); var currElLength = currEls.length; if (curr.find('input[name^="mtar"]').filter(function() { return this.value !== ''; }).length > 0) { __get_clear_all_button_loop(curr); } else if (curr.find('input[name^="rng_m"]').filter(function() { return this.value !== ''; }).length > 0) { __get_clear_all_button_loop(curr); } else if (currElLength > 0) { currEls.each(function() { var currEl = $(this); var currElPrnt = currEl.closest('.prdctfltr_filter'); var currElFilter = currElPrnt.attr('data-filter'); if (prdctfltr.clearall[0] != null) { if ($.inArray(currElFilter, prdctfltr.clearall) > -1) { } else { clearActive = true; } } else { clearActive = true; } if (!--currElLength) { if (clearActive === true) { __get_clear_all_button_loop(curr); } } }); } else if (curr.find('.prdctfltr_buttons label.prdctfltr_active').length > 0) { __get_clear_all_button_loop(curr); } else if (curr.find('.prdctfltr_add_inputs input.pf_added_orderby').length > 0) { __get_clear_all_button_loop(curr); } } function __get_clear_all_button_loop(e) { e.each(function() { if (!$(this).hasClass('pf_remove_clearall')) { __get_clear_all_button($(this)); } }); } function __get_clear_all_button(e) { e.find('.prdctfltr_buttons').append(''); } function prdctfltr_submit_form(curr_filter) { if (curr_filter.hasClass('prdctfltr_click_filter') || $('.prdctfltr_wc input[name="reset_filter"]:checked').length > 0) { prdctfltr_respond_550(curr_filter.find('form')); } } $('.prdctfltr_wc').each(function() { var curr = $(this); prdctfltr_filter_terms_init(curr); if (curr.find('.prdctfltr_expand_parents').length > 0) { prdctfltr_all_cats(curr); } prdctfltr_show_opened_cats(curr); if (curr.hasClass('prdctfltr_step_filter')) { var checkStep = curr.find('.prdctfltr_woocommerce_filter_submit'); if (curr.find('.prdctfltr_woocommerce_filter_submit').length > 0) { curr.find('.prdctfltr_woocommerce_filter_submit').remove(); } curr.find('.prdctfltr_buttons').prepend('' + (prdctfltr.js_filters[curr.attr('data-id')].button_text == '' ? prdctfltr.localization.getproducts : prdctfltr.js_filters[curr.attr('data-id')].button_text) + ''); curr.closest('.prdctfltr_sc').addClass('prdctfltr_sc_step_filter'); } if ($(this).attr('data-loader') !== 'none' && $(this).attr('data-loader').substr(0, 4) !== 'css-') { pf_preload_image(prdctfltr.url + 'lib/images/svg-loaders/' + $(this).attr('data-loader') + '.svg'); } check_selection_boxes_wrapper(curr); prdctfltr_make_clears(curr); }); function pf_preload_image(url) { var img = new Image(); img.src = url; } $(document).on('change', '.prdctfltr_range input[name^="rng_"], .prdctfltr_meta_range input[name^="mtar"]', function() { if (ajaxActive === true) { return false; } var curr = $(this).closest('.prdctfltr_woocommerce'); if (curr.hasClass('prdctfltr_click_filter')) { prdctfltr_respond_550(curr.find('.prdctfltr_woocommerce_ordering')); } }); var stopAjax = false; $(document).on('click', '.prdctfltr_woocommerce_filter_submit', function() { if (ajaxActive === true) { return false; } if ($(this).hasClass('pf_stopajax')) { stopAjax = true; } var curr = $(this).closest('.prdctfltr_woocommerce_ordering'); prdctfltr_respond_550(curr); return false; }); $(document).on('click', '.prdctfltr_woocommerce_filter_title, .prdctfltr_showing', function() { $(this).parent().find('.prdctfltr_woocommerce_filter').trigger('click'); }); $(document).on('click', '.prdctfltr_woocommerce_filter', function() { if ( $('body').hasClass('wc-prdctfltr-active') ) { closeEverything(); return false; } if (ajaxActive === true) { return false; } var f, form, btn; f = $(this).closest('.prdctfltr_wc'); if (f.hasClass('prdctfltr_always_visible')) { return false; } form = f.find('.prdctfltr_woocommerce_ordering:first'); btn = $(this); if (btn.hasClass('prdctfltr_active')) { btn.removeClass('prdctfltr_active'); f.removeClass('xwc--pf-show-sidebar'); __deflate_body_class(); hideOverlay(); } else { btn.addClass('prdctfltr_active'); f.addClass('xwc--pf-show-sidebar'); $('body').addClass('wc-prdctfltr-active'); if ( form.find('.prdctfltr_close_sidebar').length==0 ) { form.prepend('
    ' + prdctfltr.localization.close_filter + '
    '); } if (f.attr('class').indexOf('pf_sidebar_css') > 0) { showOverlay(); } } __check_masonry(f); return false; }); function closeEverything() { __deflate_body_class(); $('.prdctfltr_woocommerce_filter.prdctfltr_active').removeClass('prdctfltr_active'); $('.prdctfltr_woocommerce_ordering.xwc--pf-show-sidebar').removeClass('xwc--pf-show-sidebar'); hideOverlay(); } function hideOverlay() { $('.prdctfltr_overlay.prdctfltr_active').removeClass('prdctfltr_active').addClass('prdctfltr_prepare'); rClass('prdctfltr_prepare', $('.prdctfltr_overlay')); } function showOverlay() { $('.prdctfltr_overlay').addClass('prdctfltr_active'); } function rClass( c, n ) { setTimeout( function(b) { b[1].removeClass(b[0]); }, 200, [c,n] ); } $(document).on('click', '.prdctfltr_overlay, .prdctfltr_close_sidebar', function() { closeSidebars($(this)); }); function closeSidebars(e) { if (e.closest('.prdctfltr_wc').length > 0) { e.closest('.prdctfltr_wc').find('.prdctfltr_woocommerce_filter.prdctfltr_active').trigger('click'); } else { $('.pf_sidebar_css .prdctfltr_woocommerce_filter.prdctfltr_active, .pf_sidebar_css_right .prdctfltr_woocommerce_filter.prdctfltr_active').trigger('click'); } } $(document).on('click', '.pf_default_select .prdctfltr_widget_title, .prdctfltr_terms_customized_select .prdctfltr_widget_title', function() { var curr = $(this).closest('.prdctfltr_filter').find('.prdctfltr_add_scroll'); if (!curr.hasClass('prdctfltr_down')) { $(this).find('.prdctfltr-down').attr('class', 'prdctfltr-up'); curr.addClass('prdctfltr_down'); curr.slideDown(100); } else { curr.slideUp(100); curr.removeClass('prdctfltr_down'); $(this).find('.prdctfltr-up').attr('class', 'prdctfltr-down'); } }); var pf_select_opened = false; $(document).on('click', '.pf_select .prdctfltr_filter .prdctfltr_regular_title, .prdctfltr_terms_customized_select.prdctfltr_filter .prdctfltr_regular_title', function() { pf_select_opened = true; var curr = $(this).closest('.prdctfltr_filter').find('.prdctfltr_add_scroll'); if (!curr.hasClass('prdctfltr_down')) { $(this).find('.prdctfltr-down').attr('class', 'prdctfltr-up'); curr.addClass('prdctfltr_down'); curr.slideDown(100, function() { pf_select_opened = false; }); if (!$('body').hasClass('wc-prdctfltr-select')) { $('body').addClass('wc-prdctfltr-select'); } } else { curr.slideUp(100, function() { pf_select_opened = false; }); curr.removeClass('prdctfltr_down'); $(this).find('.prdctfltr-up').attr('class', 'prdctfltr-down'); if (curr.closest('.prdctfltr_woocommerce').find('.prdctfltr_down').length == 0) { $('body').removeClass('wc-prdctfltr-select'); } } }); $(document).on('click', 'body.wc-prdctfltr-select', function(e) { var curr_target = $(e.target); if ($('.prdctfltr_wc.pf_select .prdctfltr_down, .prdctfltr_terms_customized_select .prdctfltr_down').length > 0 && pf_select_opened === false && !curr_target.is('span, input, i')) { $('.prdctfltr_wc.pf_select .prdctfltr_down, .prdctfltr_wc:not(.prdctfltr_wc_widget.pf_default_select) .prdctfltr_terms_customized_select .prdctfltr_down').each(function() { var curr = $(this); if (curr.is(':visible')) { curr.slideUp(100); curr.removeClass('prdctfltr_down'); curr.closest('.prdctfltr_filter').find('span .prdctfltr-up').attr('class', 'prdctfltr-down'); } }); $('body').removeClass('wc-prdctfltr-select'); } }); $(document).on('click', 'span.prdctfltr_sale label, span.prdctfltr_instock label, span.prdctfltr_reset label', function() { if (ajaxActive === true) { return false; } var field = $(this).children('input:first'); var curr_name = field.attr('name'); var curr_filter = $(this).closest('.prdctfltr_wc'); var ourObj = prdctfltr_get_obj_580(curr_filter); var pf_length = prdctfltr_count_obj_580(ourObj); if ($('body').hasClass('prdctfltr-ajax') && field.attr('name') == 'reset_filter') { $.each(ourObj, function(i, obj) { if (obj.find('.prdctfltr_buttons input[name="reset_filter"]').length == 0) { obj.find('.prdctfltr_buttons').append(''); } }); } $.each(ourObj, function(i, obj) { obj = $(obj); var curr_obj = obj.find('.prdctfltr_buttons input[name="' + curr_name + '"]'); if (curr_obj.length > 0) { curr_obj.each(function(i5, obj24) { var obj25 = $(obj24); if (!obj25.parent().hasClass('prdctfltr_active')) { obj25.prop('checked', true).attr('checked', true).parent().addClass('prdctfltr_active'); de_check_buttons(obj25, 'notactive'); } else { obj25.prop('checked', false).attr('checked', false).parent().removeClass('prdctfltr_active'); de_check_buttons(obj25, 'active'); } }); } if (obj.find('.prdctfltr_filter.prdctfltr_instock').length > 0) { obj.find('.prdctfltr_filter.prdctfltr_instock input[name="instock_products"]').remove(); } if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); }); $(document).on('click', '.prdctfltr_byprice label', function() { if (ajaxActive === true) { return false; } var curr_chckbx = $(this).find('input[type="checkbox"]'); var curr = curr_chckbx.closest('.prdctfltr_filter'); var curr_var = curr_chckbx.val().split('-'); var curr_filter = curr_chckbx.closest('.prdctfltr_wc'); if (curr_filter.hasClass('prdctfltr_tabbed_selection')) { var currVal = curr.find('input[name="min_price"]').val() + '-' + curr.find('input[name="max_price"]').val(); if (currVal == curr_chckbx.val()) { return false; } } var ourObj = prdctfltr_get_obj_580(curr_filter); var pf_length = prdctfltr_count_obj_580(ourObj); if (curr_var[0] == '' && curr_var[1] == '' || curr_chckbx.closest('label').hasClass('prdctfltr_active')) { $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter.prdctfltr_byprice'); pfObj.find('.prdctfltr_active input[type="checkbox"]').prop('checked', false).attr('checked', false).closest('label').removeClass('prdctfltr_active'); pfObj.find('input[name="min_price"]').val(''); pfObj.find('input[name="max_price"]').val(''); if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); } else { $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter.prdctfltr_byprice'); pfObj.find('.prdctfltr_active input[type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); pfObj.find('input[name="min_price"]').val(curr_var[0]); pfObj.find('input[name="max_price"]').val(curr_var[1]); pfObj.find('input[value="' + curr_var[0] + '-' + curr_var[1] + '"][type="checkbox"]').prop('checked', true).attr('checked', true).change().closest('label').addClass('prdctfltr_active'); if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); } if (curr_filter.hasClass('prdctfltr_tabbed_selection') && curr_filter.hasClass('prdctfltr_click')) { curr_filter.find('.prdctfltr_filter').each(function() { if ($(this).find('input[type="hidden"]:first').length > 0 && $(this).find('input[type="hidden"]:first').val() !== '') { if (!$(this).hasClass('prdctfltr_has_selection')) { $(this).addClass('prdctfltr_has_selection'); } } else { if ($(this).hasClass('prdctfltr_has_selection')) { $(this).removeClass('prdctfltr_has_selection'); } } }); } if (!curr_chckbx.closest('.prdctfltr_wc').hasClass('prdctfltr_wc_widget') && (curr_chckbx.closest('.prdctfltr_wc').hasClass('pf_select') || curr.hasClass('prdctfltr_terms_customized_select'))) { if (curr.hasClass('prdctfltr_terms_customized_select') && curr_chckbx.closest('.prdctfltr_wc').hasClass('prdctfltr_wc_widget') && curr_chckbx.closest('.prdctfltr_wc').hasClass('pf_default_select')) { return false; } curr_chckbx.closest('.prdctfltr_filter').find('.prdctfltr_add_scroll').slideUp(250).removeClass('prdctfltr_down'); curr_chckbx.closest('.prdctfltr_filter').find('.prdctfltr_regular_title i.prdctfltr-up').removeClass('prdctfltr-up').addClass('prdctfltr-down'); } $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="price"]'); pfObj.each(function() { check_selection_boxes($(this), 'look'); }); }); return false; }); $(document).on('click', '.prdctfltr_filter:not(.prdctfltr_byprice) label', function(event) { if ($(event.target).is('input')) { return false; } var curr_chckbx = $(this).find('input[type="checkbox"]'); var curr = curr_chckbx.closest('.prdctfltr_filter'); var curr_var = curr_chckbx.val(); var curr_filter = curr.closest('.prdctfltr_wc'); if (curr.hasClass('pf_adptv_unclick')) { if (curr_chckbx.parent().hasClass('pf_adoptive_hide')) { return false; } } prdctfltr_check_580(curr, curr_chckbx, curr_var, curr_filter); return false; }); var shortcodeAjax = false; var prodcutsWrapper = false; var hasFilter = false; var hasProducts = false; var isAjax = false; var isStep = false; var hasWidget = false; function resetVars() { shortcodeAjax = false; prodcutsWrapper = false; hasFilter = false; hasProducts = false; isAjax = false; isStep = false; hasWidget = false; } function prdctfltr_get_obj_580(filter) { var ourObj = {}; resetVars(); if (filter.closest('.prdctfltr_sc').length > 0) { var scWrap = filter.closest('.prdctfltr_sc'); var scMode = scWrap.is('.prdctfltr_sc_filter') ? 'sc_filter' : 'sc_shortcode'; if (scWrap.find('.prdctfltr_wc').length > 0) { hasFilter = true; } if (scWrap.find(prdctfltr.ajax_class).length > 0) { hasProducts = true; } if (scWrap.hasClass('prdctfltr_ajax')) { isAjax = true; shortcodeAjax = true; } if (scWrap.find('.prdctfltr_wc').hasClass('prdctfltr_step_filter')) { isStep = true; } if ($('.prdctfltr_wc_widget').length > 0) { hasWidget = true; } } else if (filter.closest('.prdctfltr_wcsc').length > 0) { } else if (archiveAjax === true) { } else if (filter.closest('.prdctfltr_wc_widget').length > 0) { hasWidget = true; if ($('.prdctfltr_sc:not(.prdctfltr_sc_step_filter)').length > 0) { if ($('.prdctfltr_sc:not(.prdctfltr_sc_step_filter)').find(prdctfltr.ajax_class).length > 0) { var scWrap = $('.prdctfltr_sc:not(.prdctfltr_sc_step_filter)'); var scMode = scWrap.is('.prdctfltr_sc_filter') ? 'sc_filter' : 'sc_shortcode'; hasFilter = true; hasProducts = true; prodcutsWrapper = scWrap; shortcodeAjax = prodcutsWrapper.hasClass('prdctfltr_ajax'); } } } if (isStep) { scWrap.find('.prdctfltr_wc').each(function() { ourObj[$(this).attr('data-id')] = $(this); }); } else if (hasProducts && hasFilter) { prodcutsWrapper = scWrap; if (hasWidget) { scWrap.find('.prdctfltr_wc:not(.prdctfltr_step_filter)').each(function() { ourObj[$(this).attr('data-id')] = $(this); }); $('.prdctfltr_wc_widget:not(.prdctfltr_step_filter)').each(function() { ourObj[$(this).attr('data-id')] = $(this); }); } else { scWrap.find('.prdctfltr_wc:not(.prdctfltr_step_filter)').each(function() { ourObj[$(this).attr('data-id')] = $(this); }); } } else { $('.prdctfltr_wc:not([data-id="' + filter.attr('data-id') + '"]):not(.prdctfltr_step_filter)').each(function() { if ($(this).closest('.prdctfltr_sc_products').length == 0) { ourObj[$(this).attr('data-id')] = $(this); } }); ourObj[filter.attr('data-id')] = $('.prdctfltr_wc[data-id="' + filter.attr('data-id') + '"]'); } return ourObj; } function prdctfltr_count_obj_580(ourObj) { var pf_length = 0; var i; for (i in ourObj) { if (ourObj.hasOwnProperty(i)) { pf_length++; } } return pf_length; } function prdctfltr_check_parent_helper_590(termParent, pfObj) { if (termParent) { var found = pfObj.find('input[value="' + termParent + '"]'); if (found.length > 0) { pfObj.find('input[value="' + termParent + '"][type="checkbox"]').prop('checked', true).attr('checked', true).change().closest('label').addClass('prdctfltr_active'); } else { pfObj.closest('.prdctfltr_wc').find('.prdctfltr_add_inputs').append(''); } } } function prdctfltr_check_580(curr, curr_chckbx, curr_var, curr_filter) { if (ajaxActive === true) { return false; } var ourObj = prdctfltr_get_obj_580(curr_filter); var pf_length = prdctfltr_count_obj_580(ourObj); var field = curr.children('input[type="hidden"]:first'); var curr_name = field.attr('name'); var curr_val = field.val(); if (curr_filter.hasClass('prdctfltr_tabbed_selection')) { if (curr_val == curr_chckbx.val()) { // return false; } } if ($('.pf_added_input[name="' + curr_name + '"]').length > 0) { $('.pf_added_input[name="' + curr_name + '"]').remove(); } if (curr.hasClass('prdctfltr_selection')) { var checkLength = pf_length; $.each(ourObj, function(i, obj) { var pfObj1 = $(obj).find('.prdctfltr_filter:not(.prdctfltr_range):not([data-filter="' + curr_name + '"]) label.prdctfltr_active'); if (pfObj1.length > 0) { $.each(pfObj1, function(i3, ob5) { $('.pf_added_input[name="' + $(ob5).closest('.prdctfltr_filter').attr('data-filter') + '"]').remove(); $(ob5).removeClass('prdctfltr_active').find('input[type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('.prdctfltr_filter').find('input[type="hidden"]').val(''); }); } var pfObj = $(obj).find('.prdctfltr_filter.prdctfltr_range input[type="hidden"][val!=""]'); if (pfObj.length > 0) { $.each(pfObj, function(i2, obj4) { $('.pf_added_input[name="' + $(obj4).attr('name') + '"]').remove(); $(obj4).closest('.prdctfltr_filter').find('input[type="hidden"]').val(''); }); } if (!--checkLength) { $.each(ourObj, function(i4, obj47) { $(obj47).find('.prdctfltr_buttons input[name="sale_products"], .prdctfltr_buttons input[name="instock_products"]').each(function() { $(this).prop('checked', false).attr('checked', false).closest('label').removeClass('prdctfltr_active'); de_check_buttons($(this), 'active'); }); $(obj47).find('input.pf_search').val(''); $(obj47).find('input[id^="prdctfltr_rng_"]').each(function() { var setRng = $(this).data('ionRangeSlider'); ranges[$(this).attr('id')].update({ from: setRng.options.min, to: setRng.options.max }); }); $(obj47).find('.prdctfltr_filter').each(function() { check_selection_boxes($(this), 'init'); }); }); } }); } if (!curr.hasClass('prdctfltr_multi')) { if (curr_var == '' || curr_chckbx.closest('label').hasClass('prdctfltr_active')) { var termParent = curr_chckbx.attr('data-parent'); $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="' + curr_name + '"]'); pfObj.find('.prdctfltr_active input[type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); if (termParent) { prdctfltr_check_parent_helper_590(termParent, pfObj); pfObj.find('input[name="' + curr_name + '"]').val(termParent); } else { pfObj.find('input[name="' + curr_name + '"]').val(''); } if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); } else { $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="' + curr_name + '"]'); pfObj.find('.prdctfltr_active input[type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); pfObj.find('input[name="' + curr_name + '"]').val(curr_var); pfObj.find('input[value="' + curr_var + '"][type="checkbox"]').prop('checked', true).attr('checked', true).change().closest('label').addClass('prdctfltr_active'); if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); } if (curr_chckbx.closest('.prdctfltr_wc').hasClass('pf_select') || curr.hasClass('prdctfltr_terms_customized_select')) { if (curr.hasClass('prdctfltr_terms_customized_select') && curr_chckbx.closest('.prdctfltr_wc').hasClass('prdctfltr_wc_widget') && curr_chckbx.closest('.prdctfltr_wc').hasClass('pf_default_select')) { return false; } curr_chckbx.closest('.prdctfltr_filter').find('.prdctfltr_add_scroll').slideUp(250).removeClass('prdctfltr_down'); curr_chckbx.closest('.prdctfltr_filter').find('.prdctfltr_regular_title i.prdctfltr-up').removeClass('prdctfltr-up').addClass('prdctfltr-down'); } } else { if (curr_chckbx.val() !== '') { if (curr_chckbx.closest('label').hasClass('prdctfltr_active')) { if (curr.hasClass('prdctfltr_merge_terms')) { var curr_settings = (curr_val.indexOf('+') > 0 ? curr_val.replace('+' + curr_var, '').replace(curr_var + '+', '') : ''); $.each(prdctfltr.js_filters, function(n18, obj43) { if (typeof obj43.adds !== 'undefined' && obj43.adds[curr_name] !== null) { var check = prdctfltr.js_filters[n18].adds[curr_name]; prdctfltr.js_filters[n18].adds[curr_name] = (typeof check !== 'undefined' && check.indexOf('+') > 0 ? check.replace('+' + curr_var, '').replace(curr_var + '+', '') : ''); } }); } else { var curr_settings = (curr_val.indexOf(',') > 0 ? curr_val.replace(',' + curr_var, '').replace(curr_var + ',', '') : ''); $.each(prdctfltr.js_filters, function(n18, obj43) { if (typeof obj43.adds !== 'undefined' && obj43.adds[curr_name] !== null) { var check = prdctfltr.js_filters[n18].adds[curr_name]; prdctfltr.js_filters[n18].adds[curr_name] = (typeof check !== 'undefined' && check.indexOf(',') > 0 ? check.replace(',' + curr_var, '').replace(curr_var + ',', '') : ''); } }); } var termParent = curr_chckbx.attr('data-parent'); $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="' + curr_name + '"]'); pfObj.find('input[name="' + curr_name + '"]').val(curr_settings); pfObj.find('input[value="' + curr_var + '"][type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); if (termParent) { if (curr_settings == '') { prdctfltr_check_parent_helper_590(termParent, pfObj); pfObj.find('input[name="' + curr_name + '"]').val(termParent); } } if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); } else { $('.prdctfltr_filter[data-filter="' + curr_name + '"] .prdctfltr_sub[data-sub="' + curr_var + '"]').find('.prdctfltr_active input[type="checkbox"]').each(function() { var checkVal = $(this).val(); if (curr.hasClass('prdctfltr_merge_terms')) { if (curr_val.indexOf('+') > 0) { curr_val = curr_val.replace('+' + checkVal, '').replace(checkVal + '+', ''); } else { curr_val = curr_val.replace(checkVal, ''); } } else { if (curr_val.indexOf(',') > 0) { curr_val = curr_val.replace(',' + checkVal, '').replace(checkVal + ',', ''); } else { curr_val = curr_val.replace(checkVal, ''); } } $(this).prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); }); if (curr.hasClass('prdctfltr_merge_terms')) { if (curr.closest('.prdctfltr_wc').find('.prdctfltr_filter[data-filter="' + curr_name + '"]').length > 1) { curr.find('.prdctfltr_active').each(function() { var val12 = $(this).find('input[type="checkbox"]').val(); if (curr_val.indexOf('+') > 0) { curr_val = curr_val.replace('+' + val12, '').replace(val12 + '+', ''); } else { curr_val = curr_val.replace(val12, ''); } $(this).find('input[type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); }); } var curr_settings = (curr_val == '' ? curr_var : curr_val + '+' + curr_var); } else { var curr_settings = (curr_val == '' ? curr_var : curr_val + ',' + curr_var); } var termParent = curr_chckbx.attr('data-parent'); $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="' + curr_name + '"]'); pfObj.find('input[name="' + curr_name + '"]').val(curr_settings); pfObj.find('input[value="' + curr_var + '"][type="checkbox"]').prop('checked', true).attr('checked', true).change().closest('label').addClass('prdctfltr_active'); if (termParent) { if (pfObj.find('input[value="' + termParent + '"][type="checkbox"]:checked').length > 0) { pfObj.find('input[value="' + termParent + '"][type="checkbox"]:checked').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); if (curr_settings.indexOf(termParent) > -1) { if (curr.hasClass('prdctfltr_merge_terms')) { var makeNew = (curr_settings.indexOf('+') > 0 ? curr_settings.replace('+' + termParent, '').replace(termParent + '+', '') : ''); } else { var makeNew = (curr_settings.indexOf(',') > 0 ? curr_settings.replace(',' + termParent, '').replace(termParent + ',', '') : ''); } pfObj.find('input[name="' + curr_name + '"]').val(makeNew); } } else { var remTermParent = pfObj.find('input[value="' + termParent + '"][type="checkbox"]').attr('data-parent'); if (remTermParent) { while (remTermParent !== false) { pfObj.find('input[value="' + remTermParent + '"][type="checkbox"]:checked').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); if (curr_settings.indexOf(remTermParent) > -1) { if (curr.hasClass('prdctfltr_merge_terms')) { var makeNew = (curr_settings.indexOf('+') > 0 ? curr_settings.replace('+' + remTermParent, '').replace(remTermParent + '+', '') : ''); } else { var makeNew = (curr_settings.indexOf(',') > 0 ? curr_settings.replace(',' + remTermParent, '').replace(remTermParent + ',', '') : ''); } pfObj.find('input[name="' + curr_name + '"]').val(makeNew); } remTermParent = (pfObj.find('input[value="' + remTermParent + '"][type="checkbox"]').attr('data-parent') ? pfObj.find('input[value="' + remTermParent + '"][type="checkbox"]').attr('data-parent') : false); } } } } if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); } } else { $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="' + curr_name + '"]'); if (pfObj.find('label.prdctfltr_active input[data-parent]').length > 0) { if (pfObj.find('label.prdctfltr_active input[data-parent]').length == pfObj.find('label.prdctfltr_active input[data-parent="' + pfObj.find('label.prdctfltr_active input[data-parent]:first').attr('data-parent') + '"]').length) { pfObj.find('input[name="' + curr_name + '"]').val(pfObj.find('label.prdctfltr_active input[data-parent]:first').attr('data-parent')); pfObj.find('input[type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); } } else { pfObj.find('input[name="' + curr_name + '"]').val(''); pfObj.find('input[type="checkbox"]').prop('checked', false).attr('checked', false).change().closest('label').removeClass('prdctfltr_active'); } if (!--pf_length) { prdctfltr_submit_form(curr_filter); } }); } } if (curr_filter.hasClass('prdctfltr_tabbed_selection') && curr_filter.hasClass('prdctfltr_click')) { curr_filter.find('.prdctfltr_filter').each(function() { if ($(this).find('input[type="hidden"]:first').length > 0 && $(this).find('input[type="hidden"]:first').val() !== '') { if (!$(this).hasClass('prdctfltr_has_selection')) { $(this).addClass('prdctfltr_has_selection'); } } else { if ($(this).hasClass('prdctfltr_has_selection')) { $(this).removeClass('prdctfltr_has_selection'); } } }); } $.each(ourObj, function(i, obj) { var pfObj = $(obj).find('.prdctfltr_filter[data-filter="' + curr_name + '"]'); pfObj.each(function() { check_selection_boxes($(this), 'look'); }); }); } function check_selection_boxes_wrapper(curr) { curr.find('.prdctfltr_filter').each(function() { check_selection_boxes($(this), 'init'); }); curr.find('.prdctfltr_buttons:first label.prdctfltr_active').each(function() { check_buttons($(this), 'init'); }); } function de_check_buttons(curr, mode) { var collectors = prdctfltr.js_filters[curr.closest('.prdctfltr_wc').attr('data-id')].collectors; var collectorStyle = prdctfltr.js_filters[curr.closest('.prdctfltr_wc').attr('data-id')].collector_style; if (mode == 'active') { $.each(collectors, function(i, e) { switch (e) { case 'collector': var wrap = curr.closest('.prdctfltr_woocommerce_ordering'); var collector = wrap.find('.prdctfltr_collector'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').closest('.prdctfltr_title_selected').remove(); } break; case 'topbar': var wrap = curr.closest('.prdctfltr_wc'); var collector = wrap.find('.prdctfltr_topbar'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').closest('.prdctfltr_title_selected').remove(); } break; default: break; } }); } else { var input = ' ' + curr.parent().text() + ''; $.each(collectors, function(i, e) { switch (e) { case 'collector': var wrap = curr.closest('.prdctfltr_woocommerce_ordering'); if (wrap.find('.prdctfltr_collector').length == 0) { wrap.prepend('
    '); wrap.find('.prdctfltr_collector').html(input); } else { var collector = wrap.find('.prdctfltr_collector'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').closest('.prdctfltr_title_selected').remove(); } wrap.find('.prdctfltr_collector').append(input); } break; case 'topbar': var wrap = curr.closest('.prdctfltr_wc'); if (wrap.find('.prdctfltr_topbar').length == 0) { wrap.find('.prdctfltr_woocommerce_filter_title').after('
    '); wrap.find('.prdctfltr_topbar').html(input); } else { var collector = wrap.find('.prdctfltr_topbar'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('name') + '"]').closest('.prdctfltr_title_selected').remove(); } wrap.find('.prdctfltr_topbar').append(input); } break; default: break; } }); } __check_masonry(curr.closest('.prdctfltr_wc')); } function check_buttons(curr, mode) { var collectors = prdctfltr.js_filters[curr.closest('.prdctfltr_wc').attr('data-id')].collectors; var collectorStyle = prdctfltr.js_filters[curr.closest('.prdctfltr_wc').attr('data-id')].collector_style; var input = '' + (mode == 'init' ? '' : '') + ' ' + curr.text() + ''; $.each(collectors, function(i, e) { switch (e) { case 'collector': var wrap = curr.closest('.prdctfltr_woocommerce_ordering'); if (wrap.find('.prdctfltr_collector').length == 0) { wrap.prepend('
    '); wrap.find('.prdctfltr_collector').html(input); } else { var collector = wrap.find('.prdctfltr_collector'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.find('input:first').attr('name') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.find('input:first').attr('name') + '"]').closest('.prdctfltr_title_selected').remove(); } wrap.find('.prdctfltr_collector').append(input); } break; case 'topbar': var wrap = curr.closest('.prdctfltr_wc'); if (wrap.find('.prdctfltr_topbar').length == 0) { wrap.find('.prdctfltr_woocommerce_filter_title').after('
    '); wrap.find('.prdctfltr_topbar').html(input); } else { var collector = wrap.find('.prdctfltr_topbar'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.find('input:first').attr('name') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.find('input:first').attr('name') + '"]').closest('.prdctfltr_title_selected').remove(); } wrap.find('.prdctfltr_topbar').append(input); } break; default: break; } }); __check_masonry(curr.closest('.prdctfltr_wc')); } function get_input_delete(selectedTerms, mode, curr, slug) { return '' + (mode == 'init' ? '' : '') + ' ' + selectedTerms + ''; } function check_selection_boxes(curr, mode) { var selectedTerms = []; var selectedItms = []; curr.find('label.prdctfltr_active').each(function() { if ($(this).find('.prdctfltr_customization_search').length > 0) { selectedTerms.push($(this).find('.prdctfltr_customization_search').text()); } else if ($(this).find('.prdctfltr_customize_name').length > 0) { selectedTerms.push($(this).find('.prdctfltr_customize_name').text()); } else { selectedTerms.push($(this).find('span:first').contents().filter(function() { return 3 == this.nodeType; }).text()); } if ($(this).closest('.prdctfltr_filter').hasClass('prdctfltr_attributes') || $(this).closest('.prdctfltr_filter').hasClass('prdctfltr_meta')) { selectedItms.push($(this).find('input[type="checkbox"]:first').val()); } }); if (typeof selectedTerms[0] == 'undefined' && curr.hasClass('prdctfltr_range')) { var rngData = curr.find('[id^="prdctfltr_rng_"]:first').data('ionRangeSlider'); if (typeof rngData !== 'undefined') { if ((rngData.result.from == rngData.options.min && rngData.result.to == rngData.options.max) === false) { if (curr.attr('data-filter') == 'rng_price') { selectedTerms.push(rngData.options.prefix + rngData.result.from + rngData.options.postfix + ' ⟷ ' + rngData.options.prefix + rngData.result.to + rngData.options.postfix); } else { selectedTerms.push(rngData.options.prefix + rngData.options.prettyValues[rngData.result.from] + rngData.options.postfix + ' ⟷ ' + rngData.options.prefix + rngData.options.prettyValues[rngData.result.to] + rngData.options.postfix); } } } } if (typeof selectedTerms[0] == 'undefined' && curr.hasClass('prdctfltr_meta_range')) { var rngData = curr.find('[id^="prdctfltr_rng_"]:first').data('ionRangeSlider'); if (typeof rngData !== 'undefined') { if ((rngData.result.from == rngData.options.min && rngData.result.to == rngData.options.max) === false) { if (u(rngData.options.prettify_enabled) === true) { selectedTerms.push(rngData.options.prefix + rngData.options.prettyValues[rngData.result.from] + rngData.options.postfix + ' ⟷ ' + rngData.options.prefix + rngData.options.prettyValues[rngData.result.to] + rngData.options.postfix); } else { selectedTerms.push(rngData.options.prefix + rngData.result.from + rngData.options.postfix + ' ⟷ ' + rngData.options.prefix + rngData.result.to + rngData.options.postfix); } } } } if (typeof selectedTerms[0] !== 'undefined') { var col = prdctfltr.js_filters[curr.closest('.prdctfltr_wc').attr('data-id')]; var collectors = typeof col !== 'undefined' ? col.collectors : []; var collectorStyle = typeof col !== 'undefined' ? col.collector_style : []; var slug = ''; if (curr.hasClass('prdctfltr_attributes') || curr.hasClass('prdctfltr_meta')) { if (1 == 1 && typeof selectedTerms[1] !== 'undefined') { var input = ''; $.each(selectedItms, function(o23, k23) { slug = ' data-slug="' + selectedItms[o23] + '"'; input += get_input_delete(selectedTerms[o23], mode, curr, slug); }); } else { var value = curr.find('input[type="hidden"]:first').val(); var parent = curr.find('input[type="hidden"]:first').attr('data-parent'); slug = ' data-slug="' + (typeof parent !== 'undefined' ? parent + '>' : '') + value + '"'; var input = get_input_delete(selectedTerms.join(', '), mode, curr, slug); } } else { var input = '' + (mode == 'init' ? '' : '') + ' ' + selectedTerms.join(', ') + ''; } $.each(collectors, function(i, e) { switch (e) { case 'intitle': curr.find('.prdctfltr_regular_title .prdctfltr_title_selected, .prdctfltr_widget_title .prdctfltr_title_selected').remove(); curr.find('.prdctfltr_regular_title, .prdctfltr_widget_title').prepend(input); break; case 'aftertitle': curr.find('.prdctfltr_aftertitle').remove(); curr.find('.prdctfltr_add_scroll').before('
    ' + input + '
    '); break; case 'collector': var wrap = curr.closest('.prdctfltr_woocommerce_ordering'); if (wrap.find('.prdctfltr_collector').length == 0) { wrap.prepend('
    '); wrap.find('.prdctfltr_collector').html(input); } else { var collector = wrap.find('.prdctfltr_collector'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('data-filter') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('data-filter') + '"]').closest('.prdctfltr_title_selected').remove(); } wrap.find('.prdctfltr_collector').append(input); } break; case 'topbar': var wrap = curr.closest('.prdctfltr_wc'); if (wrap.find('.prdctfltr_topbar').length == 0) { wrap.find('.prdctfltr_woocommerce_filter_title').after('
    '); wrap.find('.prdctfltr_topbar').html(input); } else { var collector = wrap.find('.prdctfltr_topbar'); if (collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('data-filter') + '"]').length > 0) { collector.find('.prdctfltr_title_remove[data-key="' + curr.attr('data-filter') + '"]').closest('.prdctfltr_title_selected').remove(); } wrap.find('.prdctfltr_topbar').append(input); } break; default: break; } }); } else if (typeof selectedTerms[0] == 'undefined') { if (curr.closest('.prdctfltr_wc').find('.prdctfltr_attributes[data-filter="' + curr.attr('data-filter') + '"] label.prdctfltr_active').length == 0) { curr.find('.prdctfltr_title_selected').remove(); curr.closest('.prdctfltr_wc').find('.prdctfltr_collector .prdctfltr_title_remove[data-key="' + curr.attr('data-filter') + '"]').closest('.prdctfltr_title_selected').remove(); curr.closest('.prdctfltr_wc').find('.prdctfltr_topbar .prdctfltr_title_remove[data-key="' + curr.attr('data-filter') + '"]').closest('.prdctfltr_title_selected').remove(); } } __check_masonry(curr.closest('.prdctfltr_wc')); } function clear_filters_after(filter) { filter.nextAll('.prdctfltr_filter').each(function() { $(this).find('input[type="hidden"]').val(''); }); } function clicked_remove(obj, mode, term) { switch (term) { case 's': case 'search': case 'search_products': var srchStr = 'input[name="s"],input[name="search_products"]'; break; case 'price': var srchStr = 'input[name="min_price"],input[name="max_price"]'; break; default: var srchStr = 'input[name="' + term + '"]'; break; } if (srchStr == 'input[name="s"],input[name="search_products"]') { if (mode === true) { obj.closest('.prdctfltr_sc_products').find('.prdctfltr_filter, .prdctfltr_buttons').find(srchStr).val(''); if ($('.prdctfltr_wc_widget').length > 0) { $('.prdctfltr_wc_widget').find('.prdctfltr_filter, .prdctfltr_buttons').find(srchStr).val(''); } $('.prdctfltr_add_inputs').find(srchStr).val(''); } else { $('.prdctfltr_filter, .prdctfltr_add_inputs, .prdctfltr_buttons').find(srchStr).val(''); } } else { if (mode === true) { obj.closest('.prdctfltr_sc_products').find('.prdctfltr_filter, .prdctfltr_buttons').find(srchStr).remove(); if ($('.prdctfltr_wc_widget').length > 0) { $('.prdctfltr_wc_widget').find('.prdctfltr_filter, .prdctfltr_buttons').find(srchStr).remove(); } $('.prdctfltr_add_inputs').find(srchStr).remove(); } else { $('.prdctfltr_filter, .prdctfltr_add_inputs, .prdctfltr_buttons').find(srchStr).remove(); } } } $(document).on('click', 'a.prdctfltr_title_remove', function() { if (ajaxActive === true) { return false; } var filter = $(this).attr('data-key'); if (filter.substr(0, 4) !== 'rng_') { var selectedRemove = $(this).attr('data-slug'); if (typeof selectedRemove !== 'undefined' && selectedRemove.indexOf('>') > 0) { selectedRemove = selectedRemove.substr(selectedRemove.indexOf('>') + 1); } var checkRemove = $(this).closest('.prdctfltr_wc').find('.prdctfltr_filter[data-filter="' + filter + '"] input[value="' + selectedRemove + '"]'); if (checkRemove.length > 0) { checkRemove.closest('label').trigger('click'); var checkSubmit = checkRemove.closest('.prdctfltr_wc').find('.prdctfltr_woocommerce_filter_submit'); if (checkSubmit.length > 0) { checkSubmit.trigger('click'); } return false; } } if ($(this).closest('.prdctfltr_filter').hasClass('prdctfltr_has_selection')) { clear_filters_after($(this).closest('.prdctfltr_filter')); } var mode = $(this).closest('.prdctfltr_sc_products').length > 0; if (filter == 's' || filter == 'search_products' || filter == 'search') { clicked_remove($(this), mode, filter); } else if (filter == 'price') { clicked_remove($(this), mode, filter); } else if (filter == 'orderby' || filter == 'sale_products' || filter == 'instock_products') { clicked_remove($(this), mode, filter); } else if (filter == 'vendor' || filter == 'instock' || filter == 'products_per_page' || filter == 'rating_filter') { clicked_remove($(this), mode, filter); } else if (filter.substr(0, 4) == 'mtar') { clicked_remove($(this), mode, filter); } else if (filter.substr(0, 4) !== 'rng_') { if ($(this).closest('.prdctfltr_sc_products').length > 0) { var curr_els = $(this).closest('.prdctfltr_sc_products').find('input[name="' + filter + '"]'); if ($('.prdctfltr_wc_widget').length > 0) { curr_els.push($('.prdctfltr_wc_widget').find('input[name="' + filter + '"]')); } } else { var curr_els = $('.prdctfltr_filter, .prdctfltr_add_inputs').find('input[name="' + filter + '"]'); } var selectedString = $(this).attr('data-slug'); if (selectedString.indexOf('>') > 0) { var termParent = selectedString.substr(0, selectedString.indexOf('>')); selectedString = selectedString.substr(selectedString.indexOf('>') + 1); } var cur_vals = []; if (selectedString.indexOf(',') > 0) { cur_vals = selectedString.split(','); } else if (selectedString.indexOf('+') > 0) { cur_vals = selectedString.split('+'); } else { cur_vals[0] = selectedString; } var cv_lenght = cur_vals.length; $.each(cur_vals, function(i, val23) { var curr_value = val23; curr_els.each(function() { var curr_chckd = $(this); var curr_chckdval = $(this).val(); if (curr_chckdval.indexOf(',') > 0) { curr_chckd.val(curr_chckdval.replace(',' + curr_value, '').replace(curr_value + ',', '')); } else if (curr_chckdval.indexOf('+') > 0) { curr_chckd.val(curr_chckdval.replace('+' + curr_value, '').replace(curr_value + '+', '')); } else { curr_chckd.val(curr_chckdval.replace(curr_value, '').replace(curr_value, '')); } }); if (!--cv_lenght) { curr_els.each(function() { var curr_chckd = $(this); if (termParent) { curr_chckd.val(termParent); if (curr_chckd.val() == '') { curr_chckd.val(termParent); } } }); } }); } else { if ($(this).closest('.prdctfltr_sc_products').length > 0) { if (filter == 'rng_price') { $(this).closest('.prdctfltr_sc_products').find('.prdctfltr_range.prdctfltr_rng_price input[type="hidden"]').each(function() { $(this).remove(); }); $('.prdctfltr_wc_widget').find('.prdctfltr_range.prdctfltr_rng_price input[type="hidden"]').remove() } else { $(this).closest('.prdctfltr_sc_products').find('.prdctfltr_range input[type="hidden"][name$="' + filter.substr(4, filter.length) + '"]').each(function() { $(this).remove(); }); $('.prdctfltr_wc_widget').find('.prdctfltr_range input[type="hidden"][name$="' + filter.substr(4, filter.length) + '"]').remove(); } } else { if (filter == 'rng_price') { $('.prdctfltr_wc').find('.prdctfltr_range.prdctfltr_rng_price input[type="hidden"]').each(function() { $(this).remove(); }); } else { $('.prdctfltr_wc').find('.prdctfltr_range input[type="hidden"][name$="' + filter.substr(4, filter.length) + '"]').each(function() { $(this).remove(); }); } } } prdctfltr_respond_550($(this).closest('.prdctfltr_wc').find('form.prdctfltr_woocommerce_ordering')); return false; }); $(document).on('click', 'i.prdctfltr-plus', function() { $(this).closest('label').toggleClass('prdctfltr_show_subs'); __check_masonry($(this).closest('.prdctfltr_wc')); return false; }); function loaderPlayAnimation(f) { $('body').append('
    '); } function loaderStopAnimation(f) { $('.xwc--pf-loader-overlay').remove(); } function loaderPlayTitleAnimation(f) { f.addClass('xwc--pf-loading'); } function prdctfltr_get_loader(curr) { var f = curr.closest('.prdctfltr_wc'); if (u(f.attr('data-loader'))===false) { return false; } if (f.attr('data-loader') == 'none') { return false; } if (f.attr('data-loader').substr(0,16) == 'css-spinner-full') { loaderPlayAnimation(f); } else { loaderPlayTitleAnimation(f); } return false; } function prdctfltr_reset_filters_550(obj) { checkAddInputs(obj); obj.find('.prdctfltr_filter input[type="hidden"]').each(function() { if (typeof prdctfltr.clearall[0] != "undefined") { if ($.inArray(this.name, prdctfltr.clearall) > -1) { if (!$(this).val()) { if ($(this).attr('data-parent')) { $(this).val($(this).attr('data-parent')); } else { $(this).remove(); } } } else { if ($(this).attr('data-parent')) { $(this).val($(this).attr('data-parent')); } else { $(this).remove(); } } } else { if ($(this).attr('data-parent')) { $(this).val($(this).attr('data-parent')); } else { $(this).remove(); } } }); obj.find('.prdctfltr_filter input.pf_search').val('').prop('disabled', true).attr('disabled', 'true'); if (obj.find('input[name="s"]').length > 0) { obj.find('input[name="s"]').val(''); } if (obj.find('.prdctfltr_buttons input[name="sale_products"]').length > 0) { obj.find('.prdctfltr_buttons input[name="sale_products"]').remove(); } if (obj.find('.prdctfltr_buttons input[name="instock_products"]').length > 0) { obj.find('.prdctfltr_buttons input[name="instock_products"]').remove(); } if (obj.find('.prdctfltr_add_inputs input[name="orderby"]').length > 0) { obj.find('.prdctfltr_add_inputs input[name="orderby"]').remove(); } obj.find('input[name="reset_filter"]').remove(); } function checkAddInputs(obj) { obj.find('.prdctfltr_attributes label.prdctfltr_active input[value]').each(function() { var eVal = $(this).val(); var nVal = $(this).closest('.prdctfltr_attributes').attr('data-filter'); $('.prdctfltr_wc .prdctfltr_add_inputs .pf_added_input[name="' + nVal + '"]').each(function() { if ($(this).val().indexOf(eVal) > -1) { if ($(this).val().indexOf(',') > -1 || $(this).val().indexOf('+') > -1) { $(this).val($(this).val().replace(',' + eVal, '').replace(eVal + ',', '')); } else { $(this).val(''); } } }); $.each(prdctfltr.js_filters, function(n18, obj43) { if (typeof obj43.adds !== 'undefined' && typeof obj43.adds[nVal] !== 'undefined') { delete prdctfltr.js_filters[n18].adds[nVal]; } }); }); } function prdctfltr_remove_empty_inputs_550(obj) { obj.find('.prdctfltr_filter input[type="hidden"], .prdctfltr_filter input.pf_search, .prdctfltr_add_inputs input[type="hidden"]').each(function() { var curr_val = $(this).val(); if (curr_val == '') { if ($(this).is(':visible')) { $(this).prop('disabled', true).attr('disabled', 'true'); } else { $(this).remove(); } } }); } function prdctfltr_remove_ranges_550(obj) { obj.find('.prdctfltr_filter.prdctfltr_range').each(function() { var curr_rng = $(this); if (curr_rng.find('[name^="rng_min_"]').val() == undefined || curr_rng.find('[name^="rng_max_"]').val() == undefined) { curr_rng.find('input').remove(); } }); } function __deflate_body_class() { if ( $('body.wc-prdctfltr-active').length>0 ) { $('body.wc-prdctfltr-active').removeClass('wc-prdctfltr-active').addClass('wc-prdctfltr-deflate'); rClass('wc-prdctfltr-deflate', $('body')); } } function prdctfltr_check_display_800(obj) { __deflate_body_class(); hideOverlay(); } function prdctfltr_post_analytics(curr_fields) { if ($.isEmptyObject(curr_fields) === false) { var data = {}; $.each(curr_fields, function(i, o) { if ($.isEmptyObject(o) === false) { $.each(o, function(i2, o2) { if ($.inArray(i2, ['rng_min_price', 'rng_max_price', 'sale_products', 'instock_products', 'orderby', 'vendor', 'min_price', 'max_price', 'products_per_page']) == -1 && i2.substring(0, 4) !== 'rng_' && i2.substring(0, 4) !== 'mta_') { if (typeof data[i2] == 'undefined') { data[i2] = o2; } } }); } }); var analyticsData = { action: 'prdctfltr_analytics', filters: data, pf_nonce: $('.prdctfltr_wc[data-nonce]:first').attr('data-nonce'), }; $.ajax({ type: 'POST', url: prdctfltr.ajax, data: analyticsData, success: function() {}, error: function() {}, }); } } function prdctfltr_get_fields_550(obj) { var curr_fields = {}; if (obj.css('display') == 'none') { return curr_fields; } var lookAt = '.prdctfltr_filter input[type="hidden"], .prdctfltr_filter input.pf_search, .prdctfltr_add_inputs input[name="orderby"], .prdctfltr_add_inputs input[name="s"], .prdctfltr_add_inputs input.pf_added_input'; obj.find(lookAt).each(function() { if ($(this).val() !== '') { curr_fields[$(this).attr('name')] = $(this).val(); } }); if (obj.find('.prdctfltr_buttons input[name="sale_products"]:checked').length > 0) { curr_fields.sale_products = 'on'; } if (obj.find('.prdctfltr_buttons input[name="instock_products"]:checked').length > 0) { curr_fields.instock_products = obj.find('.prdctfltr_buttons:first input[name="instock_products"]:checked').val(); } return curr_fields; } var infiniteWasReset = false; function after_ajax(curr_next) { function AAscrollHandler() { if (infiniteLoad.find('a.disabled').length == 0 && $(window).scrollTop() >= infiniteLoad.position().top - $(window).height() * 0.8) { infiniteLoad.find('a:not(.disabled)').trigger('click'); } }; $.each(curr_next, function(b, setView) { setView = $(setView); infiniteLoad = $('.prdctfltr-pagination-infinite-load'); if (infiniteLoad.length > 0) { if (infiniteLoad.find('.button.disabled').length > 0) { scrollInterval = null; infiniteWasReset = true; } else { if (infiniteWasReset) { scrollInterval = setInterval(function() { if (didScroll) { didScroll = false; if (ajaxActive !== false || historyActive !== false) { return false; } AAscrollHandler(); } }, 250); } } } if (setView.hasClass('pf_after_ajax')) { return false; } setView.addClass('pf_after_ajax'); if (setView.find('.prdctfltr_expand_parents').length > 0) { prdctfltr_all_cats(setView); } else { prdctfltr_show_opened_cats(setView); } prdctfltr_init_tooltips(setView); reorder_selected(setView); reorder_adoptive(setView); set_select_index(setView); init_search(setView); init_ranges(setView); do_zindexes(setView); prdctfltr_tabbed_selection(setView); __deflate_body_class(); if (setView.hasClass('prdctfltr_step_filter')) { if (setView.find('.prdctfltr_woocommerce_filter_submit').length > 0) { setView.find('.prdctfltr_woocommerce_filter_submit').remove(); } setView.find('.prdctfltr_buttons').prepend('' + (prdctfltr.js_filters[setView.attr('data-id')].button_text == '' ? prdctfltr.localization.getproducts : prdctfltr.js_filters[setView.attr('data-id')].button_text) + ''); setView.closest('prdctfltr_sc').addClass('prdctfltr_sc_step_filter'); } prdctfltr_filter_terms_init(setView); get_category_mode(setView); prdctfltr_added_check(setView); prdctfltr_make_clears(setView); setView.find('.prdctfltr_filter').each(function() { check_selection_boxes($(this), 'init'); }); setView.find('.prdctfltr_buttons:first label.prdctfltr_active').each(function() { check_buttons($(this), 'init'); }); prdctfltr_show_opened_widgets(setView); __check_masonry(setView); _fix_system_selects(setView); _fix_search_selects(setView); reorder_limit(setView); product_filter_accessibility(setView); }); } var pf_paged = 1; var pf_offset = 0; var pf_restrict = ''; $(document).on('click', '.prdctfltr_sc_products.prdctfltr_ajax ' + prdctfltr.ajax_pagination_class + ' a, body.prdctfltr-ajax.prdctfltr-shop ' + prdctfltr.ajax_pagination_class + ' a, .prdctfltr-pagination-default a, .prdctfltr-pagination-load-more a', function() { if (ajaxActive === true) { return false; } ajaxActive = true; var loadMore = ($(this).closest('.prdctfltr-pagination-load-more').length > 0 ? true : false); var curr_link = $(this); var shortcodeAjax = false; var checkShortcode = curr_link.closest('.prdctfltr_sc_products'); if (archiveAjax === false && checkShortcode.length > 0 && checkShortcode.hasClass('prdctfltr_ajax')) { shortcodeAjax = true; var obj = checkShortcode.find('form:first'); } else { var obj = $('div:not(.prdctfltr_sc_products) .prdctfltr_wc:not(.prdctfltr_step_filter):first form'); } if (obj.length == 0) { obj = $('.prdctfltr_wc_widget').find('form:first'); } var curr_href = curr_link.attr('href'); if (loadMore === true) { $(this).closest('.prdctfltr-pagination-load-more').addClass('prdctfltr-ignite'); if (shortcodeAjax === false) { pf_offset = parseInt($(prdctfltr.ajax_class).find(prdctfltr.ajax_product_class).length, 10); } else { pf_offset = parseInt(checkShortcode.find(prdctfltr.ajax_product_class).length, 10); } } else { if (curr_href.indexOf('paged=') >= 0) { pf_paged = parseInt(curr_href.getValueByKey('paged'), 10); } else if (curr_href.indexOf('product-page=') >= 0) { pf_paged = parseInt(curr_href.getValueByKey('product-page'), 10); } else { var arrUrl = curr_href.split('/' + prdctfltr.page_rewrite + '/'); if (typeof arrUrl[1] !== 'undefined') { if (arrUrl[1].indexOf('/') > 0) { arrUrl[1] = arrUrl[1].substr(0, arrUrl[1].indexOf('/')); } pf_paged = parseInt(arrUrl[1], 10); } } } pf_restrict = 'pagination'; ajaxActive = false; prdctfltr_respond_550(obj); return false; }); function get_shortcode(id) { var wrf = {}; if (typeof prdctfltr.pagefilters[id].wcsc !== 'undefined' && prdctfltr.pagefilters[id].wcsc === true) { wrf = prdctfltr.pagefilters[id].atts; } $.each(prdctfltr.pagefilters, function(i, o) { if (i !== id) { if (typeof prdctfltr.pagefilters[i].wcsc !== 'undefined' && prdctfltr.pagefilters[i].wcsc === true) { wrf = prdctfltr.pagefilters[i].atts; } } }); return wrf; } prdctfltr.widgetTitle = null; function __get_widget_title() { if ( prdctfltr.widgetTitle == null ) { var widget = $('.prdctfltr_wc_widget:first'); var rpl = $('
    ').append(widget.find('.pf-help-title:first').clone()).html().toString().replace(/\t/g, ''); var rpl_off = $('
    ').append(widget.find('.pf-help-title:first').find('.prdctfltr_widget_title').clone()).html().toString().replace(/\t/g, ''); rpl = rpl.replace(rpl_off, '%%%'); rpl = rpl.replace('
    ', ''); rpl = rpl.substr(0, rpl.length - 6); prdctfltr.widgetTitle = $.trim(rpl); } return prdctfltr.widgetTitle; } function prdctfltr_respond_550(curr) { if (ajaxActive === true) { return false; } ajaxActive = true; var curr_filter = curr.closest('.prdctfltr_wc'); var ourObj = prdctfltr_get_obj_580(curr_filter); var pf_length = prdctfltr_count_obj_580(ourObj); var or_length = pf_length; if (!curr.closest('.prdctfltr_wc').hasClass('prdctfltr_step_filter') && archiveAjax === true) { $(prdctfltr.ajax_class + ':first').fadeTo(200, 0.5).addClass('prdctfltr_faded'); } if (prodcutsWrapper !== false) { prodcutsWrapper.fadeTo(200, 0.5).addClass('prdctfltr_faded'); } if (stopAjax === true) { shortcodeAjax = false; archiveAjax = false; stopAjax = false; } var curr_fields = {}; var requested_filters = {}; prdctfltr_get_loader(curr); $(document).trigger('prdctfltr-loading'); $.each(ourObj, function(i, obj) { obj = $(obj); if (obj.find('input[name="reset_filter"]:checked').length > 0) { prdctfltr_reset_filters_550(obj); } else { prdctfltr_remove_empty_inputs_550(obj); } var pf_id = obj.attr('data-id'); prdctfltr_remove_ranges_550(obj); prdctfltr_check_display_800(obj); if (!obj.hasClass('prdctfltr_mobile')) { requested_filters[pf_id] = pf_id; } if (!--pf_length) { $.each(ourObj, function(i, obj1) { curr_fields[$(obj1).attr('data-id')] = prdctfltr_get_fields_550(obj1); prdctfltr.active_filtering.active = curr_fields[$(obj1).attr('data-id')]; }); if (prdctfltr.analytics == 'yes') { setTimeout(function() { prdctfltr_post_analytics(curr_fields); }, 250); } if (archiveAjax === true || shortcodeAjax === true) { var pf_set = 'archive'; if (archiveAjax === true && !$('body').hasClass('prdctfltr-shop')) { pf_set = 'shortcode'; } else { pf_set = (archiveAjax === true ? 'archive' : 'shortcode'); } var data = { action: 'prdctfltr_respond_550', pf_url: location.protocol + '//' + location.host + location.pathname, pf_request: prdctfltr.js_filters, pf_requested: requested_filters, pf_shortcode: prdctfltr.js_filters[pf_id].atts, pf_filters: curr_fields, pf_set: pf_set, pf_id: pf_id, pf_paged: pf_paged, pf_pagefilters: prdctfltr.pagefilters, pf_restrict: pf_restrict, pf_bulk: _get_pf_bulk(), pf_active_variations: _get_active_variations(), }; if ($('.prdctfltr_wc_widget').length>0) { data.pf_widget_title = __get_widget_title(); } if (typeof obj.attr('data-lang') !== 'undefined') { data.lang = obj.attr('data-lang'); } if (pf_offset > 0) { data.pf_offset = pf_offset; } if ($(prdctfltr.ajax_orderby_class).length > 0) { data.pf_orderby_template = 'set'; } if ($(prdctfltr.ajax_count_class).length > 0) { data.pf_count_template = 'set'; } if (or_length == 1 && obj.hasClass('prdctfltr_step_filter')) { data.pf_step = 1; data.pf_set = 'shortcode'; } if (pf_set == 'shortcode') { if (prdctfltr.active_sc !== '') { data.pf_active = prdctfltr.active_sc; } } curr_filter.find('.pf_added_input').each(function() { if (typeof data.pf_adds == 'undefined') { data.pf_adds = {}; } data.pf_adds[$(this).attr('name')] = $(this).val(); }); $.ajax({ type: 'POST', url: prdctfltr.ajax, data: data, success: function(response) { if (response) { if (pf_offset > 0) { response.offset = pf_offset; } var getElement = shortcodeAjax === true ? prodcutsWrapper : false; prdctfltr_handle_response_580(response, archiveAjax, shortcodeAjax, getElement); } }, error: function(response) { alert('Error!'); } }); } else { obj.find('.prdctfltr_filter input[type="hidden"]:not([name="post_type"]), .prdctfltr_filter input[name="s"], .prdctfltr_filter input[name="sale_products"], .prdctfltr_filter input[name="instock_products"]').each(function() { obj.find('input[name="' + this.name + '"]:gt(0)').remove(); }); if (Object.keys(curr_fields).length > 1) { $.each(curr_fields, function(e1, w1) { $.each(w1, function(k02, s02) { if (k02 != 's' && obj.find('input[name="' + k02 + '"]').length == 0) { obj.find('.prdctfltr_add_inputs').append(''); } else if (k02 != 's' && obj.find('input[name="' + k02 + '"]').length > 0) { obj.find('input[type="hidden"][name="' + k02 + '"]').val(s02); } if (k02 == 's' && obj.find('input[name="s"]').length == 0) { obj.find('.prdctfltr_add_inputs').append(''); } }); }); } if ($('.prdctfltr_wc input[name="orderby"][value="' + prdctfltr.orderby + '"]').length > 0) { $('.prdctfltr_wc input[name="orderby"][value="' + prdctfltr.orderby + '"]').remove(); } obj.find('.prdctfltr_woocommerce_ordering').submit(); } } }); } function _get_active_variations() { var activeVariations = []; if ( prdctfltr.active_filtering.variable.length>0 ) { for(var n=0;n 0 ? true : false; } return prdctfltr.bulk; } function u(e) { return typeof e == 'undefined' ? false : e; } var handleResponse = { pl_loops_products : function(products, response, obj2) { var obj3 = ($(obj2).find(prdctfltr.ajax_class).length > 0 ? $(obj2).find(prdctfltr.ajax_class) : $(obj2)); if (products.find('.pl-loops').length > 0) { products = products.find('.pl-loops:first'); } if (products.is('.pl-loops') && products.data('isotope')) { if (typeof response.offset == 'undefined') { products.isotope('remove', products.data('isotope').element.children); } if (obj3.find(prdctfltr.ajax_product_class).length > 0) { products.isotope('insert', obj3.find(prdctfltr.ajax_product_class)); } else { products.isotope('insert', obj3); } var container = products; container.imagesLoaded(function() { products.isotope('layout'); }); } else { if (obj3.length < 1) { products.empty(); } else { if (typeof response.offset == 'undefined') { if (obj3.find(prdctfltr.ajax_product_class).length > 0 || obj3.find(prdctfltr.ajax_category_class).length > 0) { pf_animate_products(products, obj3, 'replace'); } else { if (products.data('isotope')) { products.isotope('remove', products.data('isotope').element.children); products.isotope('insert', obj3); } else { products.empty().append(obj3[0].innerHTML); } } } else { if (obj3.find(prdctfltr.ajax_product_class).length > 0 || obj3.find(prdctfltr.ajax_category_class).length > 0) { pf_animate_products(products, obj3, historyActive === false ? 'append' : 'replace'); } response.products = $('
    ').append(products.clone().removeAttr('style').removeClass('prdctfltr_faded')).html(); } } } }, products : function(response,products) { if (isStep) { return false; } var obj2 = response.products; if (!isStep) { this.pl_loops_products(products,response,obj2); if ($(obj2).find(prdctfltr.ajax_count_class).length > 0) { response.count = $(obj2).find(prdctfltr.ajax_count_class).outerHTML(); } $('.prdctfltr_faded').fadeTo(200, 1).removeClass('prdctfltr_faded'); setTimeout(function() { pf_get_scroll(products, 0); }, 200); } }, pagination: function(obj2,getElement,shortcodeAjax,products) { getElement === false ? $(prdctfltr.ajax_class + ':first') : getElement.find(prdctfltr.ajax_class); if (archiveAjax === true && $('body').hasClass('prdctfltr-shop')) { var pagination = (prdctfltr.ajax_pagination_type == 'default' ? $(prdctfltr.ajax_pagination_class) : $('.' + prdctfltr.ajax_pagination_type)); } else if (shortcodeAjax === true) { if (getElement === false) { getElement = $(prdctfltr.ajax_class + ':first'); } var pagination = getElement.find(prdctfltr.ajax_pagination_class); if (pagination.length < 1) { pagination = getElement.find('.prdctfltr-pagination-default'); } if (pagination.length < 1) { pagination = getElement.find('.prdctfltr-pagination-load-more'); } if (pagination.length < 1) { pagination = $(prdctfltr.ajax_pagination_class); } } else if (shortcodeAjax === false) { var pagination = $(prdctfltr.ajax_pagination_class); if (pagination.length < 1) { pagination = $('.prdctfltr-pagination-default'); } if (pagination.length < 1) { pagination = $('.prdctfltr-pagination-load-more'); } } if (!isStep && typeof products !== 'undefined' && products.find(prdctfltr.ajax_product_class).length > 0) { obj2 = $(obj2); if (obj2 !== '') { if (pagination.length < 1) { if ($('.pf_pagination_dummy').length == 0) { if (shortcodeAjax === true) { getElement.find(prdctfltr.ajax_class + ':first').after('
    '); } else { $(prdctfltr.ajax_class + ':first').after('
    '); } } pagination = $('.pf_pagination_dummy'); } } if (obj2.length < 1) { pagination.empty(); } else { $.each(pagination, function() { $(this).replaceWith(obj2[0].outerHTML); }); } } else { pagination.empty(); } }, query: function(obj2) { if (prdctfltr.permalinks !== 'yes') { return (obj2 == '' ? location.protocol + '//' + location.host + location.pathname : obj2); } else { return location.protocol + '//' + location.host + location.pathname; } }, objResponse : { js_filters: function(obj2) { obj2 = $(obj2); $.each(obj2[0], function(i, f) { prdctfltr.js_filters[i] = f; }); }, prdctfltr: function(obj2) { obj2 = $(obj2); prdctfltr = obj2[0]; }, ranges: function(obj2) { obj2 = $(obj2); prdctfltr.rangefilters = obj2[0]; }, orderby: function(obj2) { obj2 = $(obj2); $.each($(prdctfltr.ajax_orderby_class), function() { $(this).replaceWith(obj2[0].outerHTML); }); }, count: function(obj2) { obj2 = $(obj2); if (obj2.length < 1) { $(prdctfltr.ajax_count_class).html(prdctfltr.localization.noproducts); } else { $.each($(prdctfltr.ajax_count_class), function() { $(this).replaceWith(obj2[0].outerHTML); }); } }, breadcrumbs: function(obj2) { if ($('.woocommerce-breadcrumb').length > 0 && obj2 !== '') { obj2 = $(obj2); $.each($('.woocommerce-breadcrumb'), function() { $(this).html(obj2[0].innerHTML); }); } }, title: function(obj2) { if ($('h1').length > 0 && obj2 !== '') { obj2 = $(obj2); $.each($('h1'), function() { $(this).html(obj2[0].innerHTML); }); } }, desc: function(obj2) { if (pf_paged < 2 && obj2 !== '') { if ($('.term-description').length > 0) { obj2 = $(obj2); $.each($('.term-description'), function() { $(this).html(obj2[0].innerHTML); }); } else if ($('.page-description').length > 0) { obj2 = $(obj2); $.each($('.page-description'), function() { $(this).html(obj2[0].innerHTML); }); } else if ($('.woocommerce-products-header').length > 0) { $.each($('.woocommerce-products-header h1'), function() { $(this).after(obj2); }); } } else { if ($('.term-description').length > 0) { $.each($('.term-description'), function() { $(this).html(''); }); } if ($('.page-description').length > 0) { $.each($('.page-description'), function() { $(this).html(''); }); } } }, active_filtering: function(obj2) { if ( prdctfltr.active_filtering.variable === false ) { prdctfltr.active_filtering.variable = []; } if ( u(obj2.variable) ) { for(var n=0;n 0 && $(r.products).find(prdctfltr.ajax_product_class).length > 0 || pf_offset == 0) { if ($('.prdctfltr_wc[data-id="' + id + '"]').length > 0) { $('.prdctfltr_wc[data-id="' + id + '"]').replaceWith(objFilter); ajaxRefresh[id] = id; } } else { $('.prdctfltr_wc[data-id="' + id + '"]').find('.prdctfltr_woocommerce_filter').replaceWith(objFilter.find('.prdctfltr_woocommerce_filter')); } if ($('.prdctfltr_wc[data-id="' + id + '"] + .prdctfltr_mobile + .prdctfltr_mobile').length > 0) { $('.prdctfltr_wc[data-id="' + id + '"] + .prdctfltr_mobile + .prdctfltr_mobile').remove(); } } else if (objFilter.hasClass('prdctfltr-widget')) { if ($('.prdctfltr_wc[data-id="' + id + '"]').length > 0) { $('.prdctfltr_wc[data-id="' + id + '"]').closest('.prdctfltr-widget').replaceWith(objFilter); ajaxRefresh[id] = id; } } } }, } var ajaxRefresh = {}; function prdctfltr_handle_response_580(response, archiveAjax, shortcodeAjax, getElement) { ajaxRefresh = {}; var responseLength = prdctfltr_count_obj_580(response); loaderStopAnimation(); if (archiveAjax === true) { var products = $(prdctfltr.ajax_class + ':first'); } else if (shortcodeAjax === true) { var products = getElement === false ? $(prdctfltr.ajax_class + ':first') : getElement.find(prdctfltr.ajax_class); } else { var products = $(prdctfltr.ajax_class + ':first'); } if ( u(products) && u(response.products) ) { handleResponse.products(response,products); } if ( u(response.product_filter) ) { handleResponse.product_filter(response); } handleResponse.pagination(u(response.pagination),getElement,shortcodeAjax,u(products)); var query = ''; if ( u(response.query) ) { query = handleResponse.query(response.query); } for (var n in response) { if (response.hasOwnProperty(n)) { u(handleResponse.objResponse[n]) && handleResponse.objResponse[n](response[n]); } if (!--responseLength) { if (!$.isEmptyObject(ajaxRefresh)) { $.each(ajaxRefresh, function(m, obj4) { after_ajax($('.prdctfltr_wc[data-id="' + m + '"]')); if ($('.prdctfltr_wc[data-id="' + m + '"]').next().is('.prdctfltr_mobile')) { after_ajax($('.prdctfltr_wc[data-id="' + m + '"]').next()); } }); } $(document.body).trigger('post-load'); $(document).trigger('prdctfltr-reload'); if (prdctfltr.js !== '') { eval(prdctfltr.js); } if (historyActive === false && (archiveAjax || $('body').hasClass('prdctfltr-sc')) === true /*&& pf_offset == 0*/ ) { if (query.indexOf('https:') > -1 && location.protocol != 'https:') { query = query.replace('https:', 'http:'); } else if (query.indexOf('http:') > -1 && location.protocol != 'http:') { query = query.replace('http:', 'https:'); } if (pf_offset > 0) { query += query.indexOf('?') > -1 ? '&offset=' + pf_offset : '?offset=' + pf_offset; } var historyId = guid(); makeHistory[historyId] = response; makeHistory[historyId].prdctfltr = prdctfltr; history.pushState({ filters: historyId, archiveAjax: archiveAjax, shortcodeAjax: shortcodeAjax }, document.title, query); } ajaxActive = false; pf_paged = 1; pf_offset = 0; pf_restrict = ''; } } } $(document).on( 'prdctfltr-reload', function() { active_filtering(); } ); var historyActive = false; if (archiveAjax === true || $('body').hasClass('prdctfltr-sc')) { window.addEventListener('popstate', function(e) { if (ajaxActive === false && historyActive === false) { historyActive = true; ajaxActive = true; var state = typeof history.state != 'undefined' ? history.state : null; if (state != null) { if (typeof state.filters !== 'undefined' && typeof makeHistory[state.filters] !== 'undefined') { prdctfltr_handle_response_580(makeHistory[state.filters], state.archiveAjax, state.shortcodeAjax, false); } else if (typeof pageFilters !== 'undefined') { prdctfltr_handle_response_580(pageFilters, ($('body').hasClass('prdctfltr-ajax') || $('body').hasClass('prdctfltr-sc') ? true : false), false, false); } } setTimeout(function() { historyActive = false; }, 500); } }); } if ((/Trident\/7\./).test(navigator.userAgent)) { $(document).on('click', '.prdctfltr_checkboxes label img', function() { $(this).parents('label').children('input:first').change().click(); }); } if ((/Trident\/4\./).test(navigator.userAgent)) { $(document).on('click', '.prdctfltr_checkboxes label > span > img, .prdctfltr_checkboxes label > span', function() { $(this).parents('label').children('input:first').change().click(); }); } function prdctfltr_filter_results(currThis, list, searchIn, curr_filter) { var filter = currThis.val(); var curr = currThis.closest('.prdctfltr_filter'); if (filter) { if (curr.find('div.prdctfltr_sub').length > 0) { $(list).find('.prdctfltr_sub').prev().addClass('prdctfltr_show_subs'); if (curr.hasClass('prdctfltr_searching') === false) { curr.addClass('prdctfltr_searching'); } } $(list).find(searchIn + ' > span:not(:Contains(' + filter + '))').closest('label').attr('style', 'display:none !important'); $(list).find(searchIn + ' > span:Contains(' + filter + ')').closest('label').show(); curr.find('.pf_more').hide(); } else { if (curr.find('div.prdctfltr_sub').length > 0) { $(list).find('.prdctfltr_sub').prev().removeClass('prdctfltr_show_subs'); } curr.removeClass('prdctfltr_searching'); $(list).find(searchIn).show(); var checkboxes = curr.find('.prdctfltr_checkboxes'); checkboxes.each(function() { var max = parseInt(curr.attr('data-limit'), 10); if (max > 0 && $(list).find(searchIn).length > max) { $(list).find(searchIn).slice(max).attr('style', 'display:none !important'); $(list).find('.pf_more').html('' + prdctfltr.localization.show_more + '').removeClass('pf_activated'); } }); curr.find('.pf_more').show(); } if (curr.hasClass('prdctfltr_expand_parents')) { prdctfltr_all_cats(curr_filter); } return false; } function prdctfltr_filter_terms_init(curr) { curr = (curr == null ? $('.prdctfltr_woocommerce') : curr); curr.find('.prdctfltr_add_search:not(.prdctfltr_terms_customized_system,.prdctfltr_terms_customized_selectize) .prdctfltr_add_scroll').each(function() { var list = $(this); prdctfltr_filter_terms(list); }); } function prdctfltr_filter_terms(list) { var curr_filter = list.closest('.prdctfltr_wc'); var form = $("
    ").attr({ "class": "prdctfltr_search_terms", "action": "#" }); var input = $("").attr({ "class": "prdctfltr_search_terms_input prdctfltr_reset_this", "type": "text", "placeholder": prdctfltr.localization.filter_terms }); if (curr_filter.hasClass('pf_select') || curr_filter.hasClass('pf_default_select') || list.closest('.prdctfltr_filter').hasClass('prdctfltr_terms_customized_select')) { $(form).append(input).prependTo(list); } else { $(form).append(input).insertBefore(list); } if (list.closest('.prdctfltr_filter').hasClass('pf_adptv_default')) { var searchIn = 'label:not(.pf_adoptive_hide)'; } else { var searchIn = 'label'; } var timeoutId = 0; $(input).change(function() { var filter = $(this); clearTimeout(timeoutId); timeoutId = setTimeout(function() { prdctfltr_filter_results(filter, list, searchIn, curr_filter); }, 500); }) .keyup(function() { $(this).change(); }); } $(document).on('click', '.prdctfltr_sc_products ' + prdctfltr.ajax_class + ' ' + prdctfltr.ajax_category_class + ' a, .prdctfltr-shop.prdctfltr-ajax ' + prdctfltr.ajax_class + ' ' + prdctfltr.ajax_category_class + ' a', function() { if (ajaxActive === true) { return false; } var curr = $(this).closest(prdctfltr.ajax_category_class); var curr_sc = (curr.closest('.prdctfltr_sc_products:not(.prdctfltr_sc_step_filter)').length > 0 ? curr.closest('.prdctfltr_sc_products:not(.prdctfltr_sc_step_filter)') : $('.prdctfltr_sc_products:not(.prdctfltr_sc_step_filter):first').length > 0 ? $('.prdctfltr_sc_products:not(.prdctfltr_sc_step_filter):first') : $('.prdctfltr_woocommerce:not(.prdctfltr_step_filter):first').length > 0 ? $('.prdctfltr_woocommerce:not(.prdctfltr_step_filter):first') : 'none'); if (curr_sc == 'none') { return; } if (curr_sc.hasClass('prdctfltr_sc_products')) { var curr_filter = (curr_sc.find('.prdctfltr_woocommerce:not(.prdctfltr_step_filter)').length > 0 ? curr_sc.find('.prdctfltr_woocommerce:not(.prdctfltr_step_filter):not(.prdctfltr_mobile)') : $('.prdctfltr-widget').find('.prdctfltr_woocommerce:not(.prdctfltr_mobile)')); } else if ($('.prdctfltr_sc_products:not(.prdctfltr_sc_step_filter)').length == 0) { var curr_filter = curr_sc; } else { return; } var cat = curr.find('.prdctfltr_cat_support').data('slug'); var hasFilter = curr_filter.find('.prdctfltr_filter[data-filter="product_cat"] input[type="checkbox"][value="' + cat + '"]:first'); if (hasFilter.length > 0) { ajaxActive = true; $.each(curr_filter.find('.prdctfltr_filter[data-filter="product_cat"] label.prdctfltr_active'), function() { $(this).trigger('click'); }); setTimeout(function() { ajaxActive = false; hasFilter.closest('label').trigger('click'); if (!curr_filter.hasClass('prdctfltr_click_filter')) { curr_filter.find('.prdctfltr_woocommerce_filter_submit').trigger('click'); } }, 25); } else { var hasField = curr_filter.find('.prdctfltr_filter[data-filter="product_cat"]'); if (hasField.length > 0) { hasField.find('input[name="product_cat"]').val(cat); } else { var append = $(''); curr_filter.find('.prdctfltr_add_inputs').append(append); } if (!curr_filter.hasClass('prdctfltr_click_filter')) { curr_filter.find('.prdctfltr_woocommerce_filter_submit').trigger('click'); } else { prdctfltr_respond_550(curr_filter.find('form')); } } return false; }); if ($('body.prdctfltr-ajax ' + prdctfltr.ajax_orderby_class).length > 0) { if (ajaxActive === true) { return false; } $(document).on('submit', 'body.prdctfltr-ajax ' + prdctfltr.ajax_orderby_class, function() { return false; }); $(document).on('change', 'body.prdctfltr-ajax ' + prdctfltr.ajax_orderby_class + ' select', function() { var orderVal = $(this).val(); $('.prdctfltr_wc form').each(function() { if ($(this).closest('.prdctfltr_sc').length == 0) { if ($(this).find('.prdctfltr_orderby input[type="checkbox"][val="' + orderVal + '"]').length > 0) { $(this).find('.prdctfltr_orderby input[type="checkbox"][val="' + orderVal + '"]').trigger('click'); } else { $(this).find('.prdctfltr_add_inputs').append(''); prdctfltr_respond_550($(this)); } } }); }); } if ($('.prdctfltr_sc.prdctfltr_ajax ' + prdctfltr.ajax_orderby_class).length > 0) { $(document).on('submit', '.prdctfltr_sc.prdctfltr_ajax ' + prdctfltr.ajax_orderby_class, function() { return false; }); $(document).on('change', '.prdctfltr_sc.prdctfltr_ajax ' + prdctfltr.ajax_orderby_class + ' select', function() { if (ajaxActive === true) { return false; } var orderVal = $(this).val(); var shortcodeForm = $(this).closest('.prdctfltr_sc').find('form'); shortcodeForm.find('.prdctfltr_add_inputs').append(''); prdctfltr_respond_550(shortcodeForm); }); } function pf_get_scroll(products, offset) { var objOffset = -1; if (products.length == 0) { objOffset = $('.prdctfltr_wc:first').offset().top; } else { if (offset > 0) { var thisWrap = (products.find(prdctfltr.ajax_product_class + ':gt(' + (offset - 1) + ')').length > 0 ? products.find(prdctfltr.ajax_product_class + ':gt(' + (offset - 1) + ')') : products.find(prdctfltr.ajax_product_class + ':last')); objOffset = thisWrap.offset().top; } else { if (prdctfltr.ajax_scroll == 'products') { objOffset = (products.find(prdctfltr.ajax_product_class + ':first').length > 0 ? products.find(prdctfltr.ajax_product_class + ':first').offset().top : products.offset().top); } else if (prdctfltr.ajax_scroll == 'top') { objOffset = 0; } else if (prdctfltr.ajax_scroll == 'filter') { if (products.closest('.prdctfltr_sc_products').find('.prdctfltr_wc').length > 0) { objOffset = products.closest('.prdctfltr_sc_products').find('.prdctfltr_wc').offset().top; } else { objOffset = $('.prdctfltr_wc:first').offset().top; } } } } if (objOffset > -1) { scrollTo(parseInt(objOffset, 10)); } } function pf_animate_products(products, obj2, type) { var newProducts = obj2.find(prdctfltr.ajax_product_class); if (newProducts.length > 0) { if (products.data('isotope')) { if (type == 'replace') { products.isotope('remove', products.data('isotope').element.children); } products.isotope('insert', newProducts); var container = products; container.imagesLoaded(function() { products.isotope('layout'); $('.prdctfltr_faded').fadeTo(200, 1).removeClass('prdctfltr_faded'); }); } else { var beforeLength = products.find(prdctfltr.ajax_product_class).length; if (type == 'replace') { products.empty(); var hasCats = obj2.find(prdctfltr.ajax_category_class); if (hasCats.length > 0) { products.append(hasCats); } } products.append(newProducts); var addedProducts = (type == 'replace' || historyActive === true ? products.find(prdctfltr.ajax_product_class) : products.find(prdctfltr.ajax_product_class + ':gt(' + beforeLength + ')')); if (typeof addedProducts !== 'undefined') { var dr = parseInt(prdctfltr.animation.duration, 10); var dl = parseInt(prdctfltr.animation.delay, 10); switch (prdctfltr.ajax_animation) { case 'slide': addedProducts.hide(); addedProducts.each(function(i) { $(this).delay((i++) * dl).slideDown({ duration: dr, easing: 'linear' }); }); break; case 'random': addedProducts.not('.pf_faded').css('opacity', '0'); var interval = setInterval(function() { var $ds = addedProducts.not('.pf_faded'); $ds.eq(Math.floor(Math.random() * $ds.length)).fadeTo(dr, 1).addClass('pf_faded'); if ($ds.length == 1) { clearInterval(interval); } }, dl); break; case 'none': break; default: addedProducts.css('opacity', '0'); addedProducts.each(function(i) { $(this).delay((i++) * dl).fadeTo(dr, 1); }); break; } } } } } function do_zindexes(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.each(function() { if ($(this).hasClass('pf_select')) { var objCount = $(this).find('.prdctfltr_filter'); } else { var objCount = $(this).find('.prdctfltr_terms_customized_select'); } var c = objCount.length; objCount.css('z-index', function(i) { return c - i + 10; }); }); } do_zindexes(); function prdctfltr_show_opened_widgets() { if ($('.prdctfltr-widget').length > 0 && $('.prdctfltr-widget .prdctfltr_error').length !== 1) { $('.prdctfltr-widget .prdctfltr_filter').each(function() { var curr = $(this); if (curr.find('input[type="checkbox"]:checked').length > 0) { curr.find('.prdctfltr_widget_title .prdctfltr-down').removeClass('prdctfltr-down').addClass('prdctfltr-up'); curr.find('.prdctfltr_add_scroll').addClass('prdctfltr_down').css({ 'display': 'block' }); } else if (curr.find('input[type="hidden"]:first').length == 1 && curr.find('input[type="hidden"]:first').val() !== '') { curr.find('.prdctfltr_widget_title .prdctfltr-down').removeClass('prdctfltr-down').addClass('prdctfltr-up'); curr.find('.prdctfltr_add_scroll').addClass('prdctfltr_down').css({ 'display': 'block' }); } else if (curr.find('input[type="text"]').length > 0 && curr.find('input[type="text"]').val() !== '') { curr.find('.prdctfltr_widget_title .prdctfltr-down').removeClass('prdctfltr-down').addClass('prdctfltr-up'); curr.find('.prdctfltr_add_scroll').addClass('prdctfltr_down').css({ 'display': 'block' }); } }); } } prdctfltr_show_opened_widgets(); function prdctfltr_tabbed_selection(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.each(function() { if ($(this).hasClass('prdctfltr_tabbed_selection')) { $(this).find('.prdctfltr_filter').each(function() { if ($(this).find('input[type="hidden"]:first').length > 0 && $(this).find('input[type="hidden"]').val() !== '') { $(this).addClass('prdctfltr_has_selection'); } if ($(this).find('input[type="text"]:first').length > 0 && $(this).find('input[type="text"]').val() !== '') { $(this).addClass('prdctfltr_has_selection'); } }); } }); } prdctfltr_tabbed_selection(); function check_shortcode_search() { var wg = $('.prdctfltr_wc_widget'); var sc = $('.prdctfltr_sc_products:not(.prdctfltr_sc_step_filter)'); if (wg.length > 0 && sc.length > 0) { wg.each(function() { $(this).find('input[name="s"]').each(function() { $(this).attr('name', 'search_products'); }); if (!$(this).hasClass('prdctfltr_mobile')) { var id = $(this).attr('data-id'); if (typeof prdctfltr.pagefilters[id] == 'undefined') { var done = false; $.each(prdctfltr.pagefilters, function(i, e) { if (!done) { if (typeof e.wcsc !== 'undefined') { prdctfltr.pagefilters[id] = e; done = true; } if (typeof e.wc !== 'undefined' && typeof e.query_vars.show_products !== 'undefined' && e.query_vars.show_products == 'yes') { prdctfltr.pagefilters[id] = e; done = true; } } }); } } }); } } check_shortcode_search(); var infiniteLoad = $('.prdctfltr-pagination-infinite-load'); function fixScroll() { didScroll = true; } function scrollHandler() { if (infiniteLoad.find('a.disabled').length == 0 && $(window).scrollTop() >= infiniteLoad.position().top - $(window).height() * 0.8) { infiniteLoad.find('a:not(.disabled)').trigger('click'); } }; if (infiniteLoad.length > 0) { $(window).on({ 'scroll': fixScroll }); var didScroll = false; var scrollInterval = setInterval(function() { if (didScroll) { didScroll = false; if (ajaxActive !== false || historyActive !== false) { return false; } scrollHandler(); } }, 250); } function scrollTo(to) { to = to > -1 ? to - 130 : 0; var start = $(window).scrollTop(), duration = parseInt((Math.abs(to - start) + 1000) / 7.5, 10), change = to - start, currentTime = 0, increment = 20; var animateScroll = function() { currentTime += increment; var val = Math.easeInOutQuad(currentTime, start, change, duration); window.scrollTo(0, val); if (currentTime < duration) { setTimeout(animateScroll, increment); } }; animateScroll(); } Math.easeInOutQuad = function(t, b, c, d) { t /= d / 2; if (t < 1) return c / 2 * t * t + b; t--; return -c / 2 * (t * (t - 2) - 1) + b; }; function prdctfltr_added_check(curr) { curr = (curr == null ? $('.prdctfltr_wc:visible') : curr); curr.each(function() { var adds = {}; var obj = $(this); obj.find('.prdctfltr_attributes').each(function() { var attribute = $(this); var valOf = attribute.find('input[type="hidden"]:first'); var makeVal = valOf.val(); if (typeof makeVal !== 'undefined' && makeVal !== '') { var vals = []; if (makeVal.indexOf(',') > 0) { vals = makeVal.split(','); } else if (makeVal.indexOf('+') > 0) { vals = makeVal.split('+'); } else { vals[0] = makeVal; } var filter = $(this); var lenght = vals.length; $.each(vals, function(i, val23) { if (curr.find('.prdctfltr_filter[data-filter="' + valOf.attr('name') + '"] input[type="checkbox"][value="' + val23 + '"]').length == 0) { var dataFilter = filter.attr('data-filter'); if (typeof adds[dataFilter] == 'undefined') { adds[dataFilter] = []; } if ($.inArray(val23, adds[dataFilter]) == -1) { adds[dataFilter].push(val23); valOf.val(''); } obj.each(function() { var wrap = $(this); wrap.find('.prdctfltr_add_inputs').append(''); }); } }); } }); }); } prdctfltr_added_check(); prdctfltr.goRespond = function() { if (ajaxActive === true) { return false; } prdctfltr_respond_550($('.prdctfltr_wc:first form')); } jQuery.fn.outerHTML = function(s) { return s ? this.before(s).remove() : jQuery("

    ").append(this.eq(0).clone()).html(); }; function __do_adoptive_search_term(o,d,m) { if ( m ) { o.addClass('pf_adoptive_hide'); if ( d == 'unclick' || d == 'default' ) { o.attr('disabled', true); } } } function __do_adoptive_select_term(o,d,m) { if ( m ) { o.addClass('pf_adoptive_hide'); if ( d == 'unclick' ) { o.attr('disabled', true); } } } function __get_adoptive(e) { var c = e.closest('.prdctfltr_filter'); if ( c.length>0 ) { if ( c.hasClass('pf_adptv_unclick') ) { return 'unclick'; } if ( c.hasClass('pf_adptv_default') ) { return 'default'; } if ( c.hasClass('pf_adptv_click') ) { return 'click'; } } return false; } function _fix_system_selects(curr) { curr = (curr == null ? $('.prdctfltr_wc') : curr); curr.find('.prdctfltr_terms_customized_system').each(function() { var t = $(this); var s = $('').addClass('pf-search-select'); var d = __get_adoptive($(this)); if ($(this).hasClass('prdctfltr_multi')) { s.attr('multiple', true); } t.find('.prdctfltr_checkboxes label').each(function() { var p = $(this).parents('.prdctfltr_sub').length; var o = $('

    ' + prdctfltr.localization.show_more + '
    ')); } }); }); }); } reorder_limit(); function product_filter_accessibility(curr) { curr = (typeof curr == 'undefined' ? $('.prdctfltr_wc') : curr); curr.each(function() { $(this).find('.prdctfltr_checkboxes input[type="checkbox"]').keypress(function (e) { var key = e.which; if(key == 13) { $(this).parent().trigger('click'); } }); $(this).find('prdctfltr_title_remove').attr('tabindex', '0'); }); } product_filter_accessibility(); function active_filtering() { if ( u(prdctfltr.active_filtering) ) { if ( u(prdctfltr.active_filtering.active) ) { _sort_active_filters(); } if ( u(prdctfltr.active_filtering.variable) === false ) { return false; } ACVariables(); ACVariable(); ACVariableAddOutOfStock(); /*if ( u(prdctfltr.instock) ) { ACVariableRecount(); ACVariableRecountAddReduced(); }*/ } } active_filtering(); function ACVariables() { prdctfltr.active_filtering.reduce_counters = {}; prdctfltr.active_filtering.inactive_parents = []; } function ACVariableAddOutOfStock() { $(prdctfltr.ajax_product_class+".instock.post-"+prdctfltr.active_filtering.inactive_parents.join(", .post-")).removeClass('instock').addClass('out-of-stock').find('a img.attachment-woocommerce_thumbnail').before(''+prdctfltr.localization.outofstock+''); } function ACVariableVariationTurnBlue(p,t) { prdctfltr.active_filtering.inactive_parents.push(p); } function ACVariableVariationAttributeIsSelected(a,t) { if ( prdctfltr.active_filtering.active[a.substr(10)] == "" ) { return true; } if ( prdctfltr.active_filtering.active[a.substr(10)] == t ) { return true; } return false; } function ACVariableVariationAttributeSingle(v) { for (var k in v) { if ( ACVariableVariationAttributeIsSelected( k, v[k] ) ) { return true; } } return false; } function ACVariableVariationAttributeMultiple(v,c) { var s = 0; for (var k in v) { if ( ACVariableVariationAttributeIsSelected( k, v[k] ) ) { s++; } } return s==c?true:false; } function ACVariableVariationAttribute(v) { var vCount = Object.keys(v).length; if ( vCount<2 ) { return ACVariableVariationAttributeSingle(v); } else { return ACVariableVariationAttributeMultiple(v,vCount); } } function ACVariableVariation(c) { var product = $(prdctfltr.ajax_product_class+'.instock.post-'+c._id); if ( product.length>0 ) { var cLength = c._v.length; for(var b=0;b'+prdctfltr.localization.outofstock+''); } function ACVariable() { var v = prdctfltr.active_filtering.variable; var vLength = v.length; for(var b=0;b
    '); })(jQuery);