(function($){
$(document).ready(function(){
$('body').on('added_to_cart removed_from_cart', function(e, fragments){
if(fragments){
$.each(fragments, function(key, value){
$(key.replace('_wd', '')).replaceWith(value);
});
}});
});
$('body').on('wc_fragments_refreshed wc_fragments_loaded', function(){
if(typeof wd_cart_fragments_params!=='undefined'&&'undefined'!==typeof Cookies){
var wc_fragments=JSON.parse(sessionStorage.getItem(wd_cart_fragments_params.fragment_name)),
cart_hash_key=wd_cart_fragments_params.cart_hash_key,
cart_hash=sessionStorage.getItem(cart_hash_key),
cookie_hash=Cookies.get('woocommerce_cart_hash'),
cart_created=sessionStorage.getItem('wc_cart_created'),
day_in_ms=(24 * 60 * 60 * 1000);
if(cart_hash===null||cart_hash===undefined||cart_hash===''){
cart_hash='';
}
if(cookie_hash===null||cookie_hash===undefined||cookie_hash===''){
cookie_hash='';
}
if(cart_hash&&(cart_created===null||cart_created===undefined||cart_created==='')){
throw 'No cart_created';
}
if(cart_created){
var cart_expiration=((1 * cart_created) + day_in_ms),
timestamp_now=(new Date()).getTime();
if(cart_expiration < timestamp_now){
throw 'Fragment expired';
}}
if(wc_fragments&&wc_fragments['div.widget_shopping_cart_content']&&cart_hash===cookie_hash){
$.each(wc_fragments, function(key, value){
$(key.replace('_wd', '')).replaceWith(value);
});
}}
});
})(jQuery);
(function(){var t,e,s,i,n=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function s(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype,t},o={}.hasOwnProperty;(i=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,n,r,o;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:t.label,title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),o=[],s=0,i=(r=t.childNodes).length;s<i;s++)n=r[s],o.push(this.add_option(n,e,t.disabled));return o},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:!0===s?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t}()).select_to_array=function(t){var e,s,n,r,o;for(r=new i,s=0,n=(o=t.childNodes).length;s<n;s++)e=o[s],r.add_node(e);return r.parsed},e=function(){function t(e,s){this.form_field=e,this.options=null!=s?s:{},this.label_click_handler=n(this.label_click_handler,this),t.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return t.prototype.set_default_values=function(){return this.click_test_action=function(t){return function(e){return t.test_active_click(e)}}(this),this.activate_action=function(t){return function(e){return t.activate_field(e)}}(this),this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.is_rtl=this.options.rtl||/\bchosen-rtl\b/.test(this.form_field.className),this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||Infinity,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY,this.case_sensitive_search=this.options.case_sensitive_search||!1,this.hide_results_on_select=null==this.options.hide_results_on_select||this.options.hide_results_on_select},t.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||t.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||t.default_single_text,this.default_text=this.escape_html(this.default_text),this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||t.default_no_result_text},t.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+this.escape_html(t.group_label)+"</b>"+t.html:t.html},t.prototype.mouse_enter=function(){return this.mouse_on_container=!0},t.prototype.mouse_leave=function(){return this.mouse_on_container=!1},t.prototype.input_focus=function(t){if(this.is_multiple){if(!this.active_field)return setTimeout(function(t){return function(){return t.container_mousedown()}}(this),50)}else if(!this.active_field)return this.activate_field()},t.prototype.input_blur=function(t){if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(t){return function(){return t.blur_test()}}(this),100)},t.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},t.prototype.results_option_build=function(t){var e,s,i,n,r,o,h;for(e="",h=0,n=0,r=(o=this.results_data).length;n<r&&(s=o[n],i="",""!==(i=s.group?this.result_add_group(s):this.result_add_option(s))&&(h++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(h>=this.max_shown_results));n++);return e},t.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),t.style&&(s.style.cssText=t.style),s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.highlighted_html||t.html,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&t.active_options>0?((e=[]).push("group-result"),t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.innerHTML=t.highlighted_html||this.escape_html(t.label),t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},t.prototype.reset_single_select_options=function(){var t,e,s,i,n;for(n=[],t=0,e=(s=this.results_data).length;t<e;t++)(i=s[t]).selected?n.push(i.selected=!1):n.push(void 0);return n},t.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},t.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},t.prototype.winnow_results=function(t){var e,s,i,n,r,o,h,l,c,_,a,u,d,p,f;for(this.no_results_clear(),_=0,e=(h=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),c=this.get_search_regex(e),i=0,n=(l=this.results_data).length;i<n;i++)(r=l[i]).search_match=!1,a=null,u=null,r.highlighted_html="",this.include_option_in_results(r)&&(r.group&&(r.group_match=!1,r.active_options=0),null!=r.group_array_index&&this.results_data[r.group_array_index]&&(0===(a=this.results_data[r.group_array_index]).active_options&&a.search_match&&(_+=1),a.active_options+=1),f=r.group?r.label:r.text,r.group&&!this.group_search||(u=this.search_string_match(f,c),r.search_match=null!=u,r.search_match&&!r.group&&(_+=1),r.search_match?(h.length&&(d=u.index,o=f.slice(0,d),s=f.slice(d,d+h.length),p=f.slice(d+h.length),r.highlighted_html=this.escape_html(o)+"<em>"+this.escape_html(s)+"</em>"+this.escape_html(p)),null!=a&&(a.group_match=!0)):null!=r.group_array_index&&this.results_data[r.group_array_index].search_match&&(r.search_match=!0)));return this.result_clear_highlight(),_<1&&h.length?(this.update_results_content(""),this.no_results(h)):(this.update_results_content(this.results_option_build()),(null!=t?t.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},t.prototype.get_search_regex=function(t){var e,s;return s=this.search_contains?t:"(^|\\s|\\b)"+t+"[^\\s]*",this.enable_split_word_search||this.search_contains||(s="^"+s),e=this.case_sensitive_search?"":"i",new RegExp(s,e)},t.prototype.search_string_match=function(t,e){var s;return s=e.exec(t),!this.search_contains&&(null!=s?s[1]:void 0)&&(s.index+=1),s},t.prototype.choices_count=function(){var t,e,s;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,t=0,e=(s=this.form_field.options).length;t<e;t++)s[t].selected&&(this.selected_option_count+=1);return this.selected_option_count},t.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},t.prototype.keydown_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),8!==s&&this.pending_backstroke&&this.clear_backstroke(),s){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:case 27:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},t.prototype.keyup_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),s){case 8:this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:t.preventDefault(),this.results_showing&&this.result_select(t);break;case 27:this.results_showing&&this.results_hide();break;case 9:case 16:case 17:case 18:case 38:case 40:case 91:break;default:this.results_search()}},t.prototype.clipboard_event_checker=function(t){if(!this.is_disabled)return setTimeout(function(t){return function(){return t.results_search()}}(this),50)},t.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},t.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected)&&(!(!this.display_disabled_options&&t.disabled)&&!t.empty)},t.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},t.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},t.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},t.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:((e=document.createElement("div")).appendChild(t),e.innerHTML)},t.prototype.get_single_html=function(){return'<a class="chosen-single chosen-default">\n  <span>'+this.default_text+'</span>\n  <div><b></b></div>\n</a>\n<div class="chosen-drop">\n  <div class="chosen-search">\n    <input class="chosen-search-input" type="text" autocomplete="off" />\n  </div>\n  <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_multi_html=function(){return'<ul class="chosen-choices">\n  <li class="search-field">\n    <input class="chosen-search-input" type="text" autocomplete="off" value="'+this.default_text+'" />\n  </li>\n</ul>\n<div class="chosen-drop">\n  <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_no_results_html=function(t){return'<li class="no-results">\n  '+this.results_none_found+" <span>"+this.escape_html(t)+"</span>\n</li>"},t.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},t.default_multiple_text="Select Some Options",t.default_single_text="Select an Option",t.default_no_result_text="No results match",t}(),(t=jQuery).fn.extend({chosen:function(i){return e.browser_is_supported()?this.each(function(e){var n,r;r=(n=t(this)).data("chosen"),"destroy"!==i?r instanceof s||n.data("chosen",new s(this,i)):r instanceof s&&r.destroy()}):this}}),s=function(s){function n(){return n.__super__.constructor.apply(this,arguments)}return r(n,e),n.prototype.setup=function(){return this.form_field_jq=t(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},n.prototype.set_up_html=function(){var e,s;return(e=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),s={"class":e.join(" "),title:this.form_field.title},this.form_field.id.length&&(s.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=t("<div />",s),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},n.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},n.prototype.register_observers=function(){return this.container.on("touchstart.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("touchend.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mousedown.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("mouseup.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mouseenter.chosen",function(t){return function(e){t.mouse_enter(e)}}(this)),this.container.on("mouseleave.chosen",function(t){return function(e){t.mouse_leave(e)}}(this)),this.search_results.on("mouseup.chosen",function(t){return function(e){t.search_results_mouseup(e)}}(this)),this.search_results.on("mouseover.chosen",function(t){return function(e){t.search_results_mouseover(e)}}(this)),this.search_results.on("mouseout.chosen",function(t){return function(e){t.search_results_mouseout(e)}}(this)),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",function(t){return function(e){t.search_results_mousewheel(e)}}(this)),this.search_results.on("touchstart.chosen",function(t){return function(e){t.search_results_touchstart(e)}}(this)),this.search_results.on("touchmove.chosen",function(t){return function(e){t.search_results_touchmove(e)}}(this)),this.search_results.on("touchend.chosen",function(t){return function(e){t.search_results_touchend(e)}}(this)),this.form_field_jq.on("chosen:updated.chosen",function(t){return function(e){t.results_update_field(e)}}(this)),this.form_field_jq.on("chosen:activate.chosen",function(t){return function(e){t.activate_field(e)}}(this)),this.form_field_jq.on("chosen:open.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.form_field_jq.on("chosen:close.chosen",function(t){return function(e){t.close_field(e)}}(this)),this.search_field.on("blur.chosen",function(t){return function(e){t.input_blur(e)}}(this)),this.search_field.on("keyup.chosen",function(t){return function(e){t.keyup_checker(e)}}(this)),this.search_field.on("keydown.chosen",function(t){return function(e){t.keydown_checker(e)}}(this)),this.search_field.on("focus.chosen",function(t){return function(e){t.input_focus(e)}}(this)),this.search_field.on("cut.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.search_field.on("paste.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.is_multiple?this.search_choices.on("click.chosen",function(t){return function(e){t.choices_click(e)}}(this)):this.container.on("click.chosen",function(t){t.preventDefault()})},n.prototype.destroy=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.form_field_label.length>0&&this.form_field_label.off("click.chosen"),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},n.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled||this.form_field_jq.parents("fieldset").is(":disabled"),this.container.toggleClass("chosen-disabled",this.is_disabled),this.search_field[0].disabled=this.is_disabled,this.is_multiple||this.selected_item.off("focus.chosen",this.activate_field),this.is_disabled?this.close_field():this.is_multiple?void 0:this.selected_item.on("focus.chosen",this.activate_field)},n.prototype.container_mousedown=function(e){var s;if(!this.is_disabled)return!e||"mousedown"!==(s=e.type)&&"touchstart"!==s||this.results_showing||e.preventDefault(),null!=e&&t(e.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!e||t(e.target)[0]!==this.selected_item[0]&&!t(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),t(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},n.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},n.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e*=40),this.search_results.scrollTop(e+this.search_results.scrollTop())},n.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},n.prototype.close_field=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale(),this.search_field.blur()},n.prototype.activate_field=function(){if(!this.is_disabled)return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},n.prototype.test_active_click=function(e){var s;return(s=t(e.target).closest(".chosen-container")).length&&this.container[0]===s[0]?this.active_field=!0:this.close_field()},n.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=i.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},n.prototype.result_do_highlight=function(t){var e,s,i,n,r;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),i=parseInt(this.search_results.css("maxHeight"),10),r=this.search_results.scrollTop(),n=i+r,s=this.result_highlight.position().top+this.search_results.scrollTop(),(e=s+this.result_highlight.outerHeight())>=n)return this.search_results.scrollTop(e-i>0?e-i:0);if(s<r)return this.search_results.scrollTop(s)}},n.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},n.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.get_search_field_value()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},n.prototype.update_results_content=function(t){return this.search_results.html(t)},n.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},n.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},n.prototype.set_label_behavior=function(){if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=t("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.on("click.chosen",this.label_click_handler)},n.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},n.prototype.search_results_mouseup=function(e){var s;if((s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first()).length)return this.result_highlight=s,this.result_select(e),this.search_field.focus()},n.prototype.search_results_mouseover=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first())return this.result_do_highlight(s)},n.prototype.search_results_mouseout=function(e){if(t(e.target).hasClass("active-result")||t(e.target).parents(".active-result").first())return this.result_clear_highlight()},n.prototype.choice_build=function(e){var s,i;return s=t("<li />",{"class":"search-choice"}).html("<span>"+this.choice_label(e)+"</span>"),e.disabled?s.addClass("search-choice-disabled"):((i=t("<a />",{"class":"search-choice-close","data-option-array-index":e.array_index})).on("click.chosen",function(t){return function(e){return t.choice_destroy_link_click(e)}}(this)),s.append(i)),this.search_container.before(s)},n.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(t(e.target))},n.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},n.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.trigger_form_field_change(),this.active_field)return this.results_hide()},n.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},n.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),s=this.results_data[e[0].getAttribute("data-option-array-index")],s.selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),this.is_multiple&&(!this.hide_results_on_select||t.metaKey||t.ctrlKey)?t.metaKey||t.ctrlKey?this.winnow_results({skip_highlight:!0}):(this.search_field.val(""),this.winnow_results()):(this.results_hide(),this.show_search_field_default()),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.trigger_form_field_change({selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},n.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},n.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.trigger_form_field_change({deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},n.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},n.prototype.get_search_field_value=function(){return this.search_field.val()},n.prototype.get_search_text=function(){return t.trim(this.get_search_field_value())},n.prototype.escape_html=function(e){return t("<div/>").text(e).html()},n.prototype.winnow_results_set_highlight=function(){var t,e;if(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),null!=(t=e.length?e.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(t)},n.prototype.no_results=function(t){var e;return e=this.get_no_results_html(t),this.search_results.append(e),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},n.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},n.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},n.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(t.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},n.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last()).length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},n.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},n.prototype.search_field_scale=function(){var e,s,i,n,r,o,h;if(this.is_multiple){for(r={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},s=0,i=(o=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;s<i;s++)r[n=o[s]]=this.search_field.css(n);return(e=t("<div />").css(r)).text(this.get_search_field_value()),t("body").append(e),h=e.width()+25,e.remove(),this.container.is(":visible")&&(h=Math.min(this.container.outerWidth()-10,h)),this.search_field.width(h)}},n.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},n}()}).call(this);
(()=>{"use strict";const t=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)},n=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)},e=function(e,o){return function(r,i,s){let c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const l=e[o];if(!n(r))return;if(!t(i))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:i};if(l[r]){const t=l[r].handlers;let n;for(n=t.length;n>0&&!(c>=t[n-1].priority);n--);n===t.length?t[n]=a:t.splice(n,0,a),l.__current.forEach((t=>{t.name===r&&t.currentIndex>=n&&t.currentIndex++}))}else l[r]={handlers:[a],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,i,s,c)}},o=function(e,o){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,s){const c=e[o];if(!n(i))return;if(!r&&!t(s))return;if(!c[i])return 0;let l=0;if(r)l=c[i].handlers.length,c[i]={runs:c[i].runs,handlers:[]};else{const t=c[i].handlers;for(let n=t.length-1;n>=0;n--)t[n].namespace===s&&(t.splice(n,1),l++,c.__current.forEach((t=>{t.name===i&&t.currentIndex>=n&&t.currentIndex--})))}return"hookRemoved"!==i&&e.doAction("hookRemoved",i,s),l}},r=function(t,n){return function(e,o){const r=t[n];return void 0!==o?e in r&&r[e].handlers.some((t=>t.namespace===o)):e in r}},i=function(t,n){let e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o){const r=t[n];r[o]||(r[o]={handlers:[],runs:0}),r[o].runs++;const i=r[o].handlers;for(var s=arguments.length,c=new Array(s>1?s-1:0),l=1;l<s;l++)c[l-1]=arguments[l];if(!i||!i.length)return e?c[0]:void 0;const a={name:o,currentIndex:0};for(r.__current.push(a);a.currentIndex<i.length;){const t=i[a.currentIndex].callback.apply(null,c);e&&(c[0]=t),a.currentIndex++}return r.__current.pop(),e?c[0]:void 0}},s=function(t,n){return function(){var e,o;const r=t[n];return null!==(e=null===(o=r.__current[r.__current.length-1])||void 0===o?void 0:o.name)&&void 0!==e?e:null}},c=function(t,n){return function(e){const o=t[n];return void 0===e?void 0!==o.__current[0]:!!o.__current[0]&&e===o.__current[0].name}},l=function(t,e){return function(o){const r=t[e];if(n(o))return r[o]&&r[o].runs?r[o].runs:0}};class a{constructor(){this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=e(this,"actions"),this.addFilter=e(this,"filters"),this.removeAction=o(this,"actions"),this.removeFilter=o(this,"filters"),this.hasAction=r(this,"actions"),this.hasFilter=r(this,"filters"),this.removeAllActions=o(this,"actions",!0),this.removeAllFilters=o(this,"filters",!0),this.doAction=i(this,"actions"),this.applyFilters=i(this,"filters",!0),this.currentAction=s(this,"actions"),this.currentFilter=s(this,"filters"),this.doingAction=c(this,"actions"),this.doingFilter=c(this,"filters"),this.didAction=l(this,"actions"),this.didFilter=l(this,"filters")}}const u=function(){return new a},h=u(),{addAction:d,addFilter:f,removeAction:m,removeFilter:k,hasAction:v,hasFilter:p,removeAllActions:b,removeAllFilters:y,doAction:g,applyFilters:A,currentAction:_,currentFilter:F,doingAction:B,doingFilter:w,didAction:I,didFilter:N,actions:j,filters:x}=h;function S(t){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},S(t)}function T(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,C(o.key),o)}}function P(t,n,e){return(n=C(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function C(t){var n=function(t,n){if("object"!==S(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,"string");if("object"!==S(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===S(n)?n:String(n)}var O=function(){function t(n){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),P(this,"hooks",void 0),P(this,"globalNamespace","jet-plugins"),P(this,"blocksNamespace","frontend.element-ready"),P(this,"blocksConditions",{}),this.hooks=n||u()}var n,e;return n=t,(e=[{key:"hookNameFromBlock",value:function(t){var n=this.getBlockName(t);return n?"".concat(this.globalNamespace,".").concat(this.blocksNamespace,".").concat(n):""}},{key:"getBlockName",value:function(t){var n;return"string"==typeof t?t.replace("/","."):this.getBlockName((null==t||null===(n=t.dataset)||void 0===n?void 0:n.isBlock)||"")}},{key:"init",value:function(t,n){var e=this;if(n&&n.length&&this.bulkBlocksInit(n),(t=t||jQuery("body"))&&t.length){var o=t.find('[data-is-block*="/"]');o&&o.length&&o.each((function(t,n){e.initBlock(n)}))}}},{key:"isBlockRequiresInit",value:function(t){var n=void 0===t.dataset.jetInited,e=this.getBlockName(t);return n&&this.blocksConditions[e]&&(n=this.blocksConditions[e](t)),n}},{key:"initBlock",value:function(t,n){n=n||!1;var e=this.hookNameFromBlock(t);if(e&&this.hasHandlers(e)){var o=n;o||(o=this.isBlockRequiresInit(t)),o&&(this.hooks.doAction(e,jQuery(t)),t.dataset.jetInited=!0)}}},{key:"hasHandlers",value:function(t){return!!this.hooks.actions[t]&&!(!this.hooks.actions[t].handlers||!this.hooks.actions[t].handlers.length)}},{key:"registerBlockHandlers",value:function(t){var n=this.getBlockName(t.block);this.hooks.addAction(this.hookNameFromBlock(n),"".concat(this.globalNamespace,"/").concat(t.block),t.callback),t.condition&&"function"==typeof t.condition&&(this.blocksConditions[n]=t.condition)}},{key:"bulkBlocksInit",value:function(t){for(var n=0;n<t.length;n++)this.registerBlockHandlers(t[n])}}])&&T(n.prototype,e),Object.defineProperty(n,"prototype",{writable:!1}),t}();window.JetPlugins=window.JetPlugins||new O})();
(function($){
'use strict';
var JetSearch={
addedScripts: [],
addedStyles: [],
addedPostCSS: [],
assetsPromises: [],
initElementor: function(){
var widgets={
'jet-ajax-search.default': JetSearch.widgetAjaxSearch,
'jet-search-suggestions.default': JetSearch.widgetSearchSuggestions
};
$.each(widgets, function(widget, callback){
window.elementorFrontend.hooks.addAction('frontend/element_ready/' + widget, callback);
});
window.elementorFrontend.elements.$window.on('elementor/nested-tabs/activate',
(event, content)=> {
const $content=$(content);
JetSearch.reinitSlickSlider($content);
JetSearch.initElementsHandlers($content);
}
);
window.addEventListener('elementor/popup/show',(event)=> {
const instance=event.detail.instance;
const interval=setInterval(()=> {
if(! instance.keyboardHandler) return;
const handler=instance.keyboardHandler;
const config=handler.config;
if(! config||! config.$modalElements) return;
if(handler.changeFocusAfterAnimation!==true){
clearInterval(interval);
return;
}
const $input=instance.$element.find('.jet-ajax-search__field');
if($input.length){
handler.firstFocusableElement=$input[0];
}
clearInterval(interval);
}, 50) ;
setTimeout(()=> clearInterval(interval), 1000);
});
/*
$(document).on('jet-ajax-search/show-results', function(event, searchResults){
searchResults.find('.jet-ajax-search__results-item').css('border', '2px solid red');
});
*/
/*
* Example of usage `jet-ajax-search/results-area/listing-add-suggestion` trigger
*
* Parameters:
* - itemWrapper: A CSS selector that points to the element containing the wrapper of the search result item.
* - itemLink: Represents the element that contains the link of the search result item.
* - itemTitle: A CSS selector that points to the element containing the title of the search result item.
* - itemUrlAttr: Specifies the attribute used to extract the URL from the itemLink.
$(document).on("jet-ajax-search/results-area/listing-add-suggestion", function(event, itemWrapper, itemLink, itemTitle, itemUrlAttr){
itemWrapper='.jet-ajax-search__results-item',
itemLink=$('.jet-listing-dynamic-image__link', itemWrapper);
itemTitle='.jet-ajax-search-item-title .jet-listing-dynamic-field__content';
itemUrlAttr='href';
window.JetSearch.addSuggestionFromResultAreaItem(itemWrapper, itemLink, itemTitle, itemUrlAttr);
});
*/
},
initBricks: function($scope){
if(window.bricksIsFrontend){
return;
}
$scope=$scope||$('body');
JetSearch.initBlocks($scope);
},
initBlocks: function($scope){
$scope=$scope||$('body');
window.JetPlugins.init($scope, [
{
block: 'jet-search/ajax-search',
callback: JetSearch.widgetAjaxSearch
},
{
block: 'jet-search/search-suggestions',
callback: JetSearch.widgetSearchSuggestions
}
]);
},
widgetAjaxSearch: function($scope){
var settings={
searchClass:                 '.jet-ajax-search',
searchFormClass:             '.jet-ajax-search__form',
fieldsHolderClass:           '.jet-ajax-search__fields-holder',
inputClass:                  '.jet-ajax-search__field',
settingsInput:               'input[name="jet_ajax_search_settings"]',
submitClass:                 '.jet-ajax-search__submit',
chosenClass:                 '.jet-ajax-search__categories select[name="jet_ajax_search_categories"]',
resultsAreaClass:            '.jet-ajax-search__results-area',
resultsHeaderClass:          '.jet-ajax-search__results-header',
resultsFooterClass:          '.jet-ajax-search__results-footer',
listHolderClass:             '.jet-ajax-search__results-holder',
listClass:                   '.jet-ajax-search__results-list',
listInnerClass:              '.jet-ajax-search__results-list-inner',
listSlideClass:              '.jet-ajax-search__results-slide',
itemClass:                   '.jet-ajax-search__results-item',
inlineSuggestionsAreaClass:  '.jet-ajax-search__suggestions-inline-area',
inlineSuggestionsItemClass:  '.jet-ajax-search__suggestions-inline-area-item',
resultsSuggestionsAreaClass: '.jet-ajax-search__results-suggestions-area',
resultsSuggestionItemClass:  '.jet-ajax-search__results-suggestions-area-item',
countClass:                  '.jet-ajax-search__results-count',
messageHolderClass:          '.jet-ajax-search__message',
fullResultsClass:            '.jet-ajax-search__full-results',
navigationClass:             '.jet-ajax-search__navigation-holder',
navButtonClass:              '.jet-ajax-search__navigate-button',
bulletClass:                 '.jet-ajax-search__bullet-button',
numberClass:                 '.jet-ajax-search__number-button',
prevClass:                   '.jet-ajax-search__prev-button',
nextClass:                   '.jet-ajax-search__next-button',
activeNavClass:              '.jet-ajax-search__active-button',
disableNavClass:             '.jet-ajax-search__navigate-button-disable',
spinnerClass:                '.jet-ajax-search__spinner-holder',
handlerId:                   'jetSearchSettings',
isRtl:(window.elementorFrontend&&window.elementorFrontend.config.is_rtl) ? window.elementorFrontend.config.is_rtl:$('body').hasClass('rtl')
};
if($scope.hasClass('jet-ajax-search-block')){
var resultAreaWidthBy=$scope.find(settings.searchClass).data('settings')['results_area_width_by'],
resultAreaCustomWidth=$scope.find(settings.searchClass).data('settings')['results_area_custom_width'],
resultAreaCustomWidthPosition=$scope.find(settings.searchClass).data('settings')['results_area_custom_position'],
resultAreaContainer=$('.jet-ajax-search__results-area', $scope);
if("custom"===resultAreaWidthBy){
if(""!==resultAreaCustomWidth){
resultAreaContainer.width(resultAreaCustomWidth);
}
switch(resultAreaCustomWidthPosition){
case 'left':
resultAreaContainer.css("left", 0);
resultAreaContainer.css("right", "auto");
break;
case 'center':
resultAreaContainer.css("left", "50%");
resultAreaContainer.css("right", "auto");
resultAreaContainer.css("-webkit-transform", "translateX(-55%)");
resultAreaContainer.css("transform", "translateX(-50%)");
break;
case 'right':
resultAreaContainer.css("left", "auto");
resultAreaContainer.css("right", 0);
break;
}}
}
$scope.find(settings.searchClass).jetAjaxSearch(settings);
$scope.find(settings.inputClass)
.on('focus.jetSearchSlick input.jetSearchSlick', function(){
window.JetSearch.pauseAllSlick($(document) );
})
.on('blur.jetSearchSlick', function(){
window.JetSearch.playAllSlick($(document) );
});
var $chosenSelect=$scope.find(settings.chosenClass);
if($chosenSelect[0]){
$chosenSelect.chosen({
disable_search: true,
placeholder_text: '',
placeholder_text_single: ''
});
}},
widgetSearchSuggestions: function($scope){
let	$target=$scope.find('.jet-search-suggestions'),
settings={
searchClass:        '.jet-search-suggestions',
searchFormClass:    '.jet-search-suggestions__form',
fieldsHolderClass:  '.jet-search-suggestions__fields-holder',
inputClass:         '.jet-search-suggestions__field',
spinnerClass:       '.jet-search-suggestions__spinner-holder',
messageHolderClass: '.jet-search-suggestions__message',
settingsInput:      'input[name="jet_search_suggestions_settings"]',
submitClass:        '.jet-search-suggestions__submit',
chosenClass:        '.jet-search-suggestions__categories select[name="jet_search_suggestions_categories"]',
inlineClass:        '.jet-search-suggestions__inline-area',
inlineItemClass:    '.jet-search-suggestions__inline-area-item',
focusClass:         '.jet-search-suggestions__focus-area',
focusHolderClass:   '.jet-search-suggestions__focus-results-holder',
focusItemClass:     '.jet-search-suggestions__focus-area-item',
handlerId:          'jetSearchSettings',
isRtl:(window.elementorFrontend&&window.elementorFrontend.config.is_rtl) ? window.elementorFrontend.config.is_rtl:$('body').hasClass('rtl')
},
$chosenSelect=$scope.find(settings.chosenClass);
$target.jetAjaxSearchSuggestions(settings);
if($chosenSelect[0]){
$chosenSelect.chosen({
disable_search: true,
placeholder_text: '',
placeholder_text_single: ''
});
}},
setFormSuggestion: function(name, form, url=''){
const ajaxSettings=window['jetSearchSettings']['searchSuggestions']||{},
sendData={
name: name
},
nonce=ajaxSettings.nonce_rest;
const ajaxData={
action: ajaxSettings.add_action,
data: sendData||{},
nonce: ajaxSettings.nonce
};
$.ajax({
type: 'POST',
url: ajaxSettings.add_suggestions_rest_api_url,
data: ajaxData,
dataType: 'json',
beforeSend: function(jqXHR){
jqXHR.setRequestHeader('X-WP-Nonce', nonce);
},
complete: function(){
if(false!=form){
if(''!=url){
url=JetSearch.getResultsUrl(form, url);
window.location.href=url;
}else{
form.submit();
}}else{
window.location.href=url;
}}
});
},
getResultsUrl: function(form, url=''){
let redirectUrl='';
if(''!=url){
redirectUrl=url;
}else{
redirectUrl=form.attr('action');
}
if(redirectUrl&&! redirectUrl.startsWith('http')&&! redirectUrl.startsWith('/') ){
const actionBase=(form.attr('action')||'/').replace(/\/+$/, '');
redirectUrl=actionBase + '/' + redirectUrl.replace(/^\/+/, '');
}
let formData={},
result='';
formData=form.serializeArray().reduce(function(obj, item){
if(item.name==='s'){
item.value=item.value.replace(/\u3000/g, ' ');
}
obj[item.name]=item.value;
return obj;
}, {});
if(Object.keys(formData).length > 0){
result=redirectUrl + '?' + $.param(formData).replace(/=&/g, '&').replace(/=$/, '');
}else{
result=redirectUrl;
}
return result;
},
suggestionsPreloader: function(is_active, state, preloader){
if(! is_active){
return;
}
if(''!=preloader){
if('show'===state){
preloader.addClass('show');
}else if('hide'===state){
preloader.removeClass('show');
}}
},
getUrlParams: function(){
let params={},
queryString=window.location.search.slice(1);
if(queryString){
let pairs=queryString.split('&');
for(let i=0; i < pairs.length; i++){
let pair=pairs[i].split('=');
params[pair[0]]=decodeURIComponent(pair[1]||'');
}}
return params;
},
md5: function(str){
let hash='';
for (let i=0; i < str.length; i++){
let char=str.charCodeAt(i);
hash +=char;
}
return hash;
},
generateHash: function(string, length=6){
let md5Hash=JetSearch.md5(string),
hash='';
for(let i=0; i < length; i++){
hash +=md5Hash.charAt(Math.floor(Math.random() * md5Hash.length) );
}
hash=hash.toLowerCase();
return hash;
},
generateRandomId: function(){
let hash=JetSearch.generateHash(Math.random().toString());
return hash;
},
initElementsHandlers: function($selector){
window.JetPlugins.init($selector);
$selector.find('[data-element_type]').each(function(){
var excludeWidgets=[
'jet-form-builder-form.default',
'nav-menu.default',
'jet-woo-product-gallery-slider.default',
'accordion.default'
];
var $this=$(this),
elementType=$this.data('element_type');
if(!elementType){
return;
}
if('widget'===elementType){
elementType=$this.data('widget_type');
if(excludeWidgets.includes(elementType) ){
return;
}
window.elementorFrontend.hooks.doAction('frontend/element_ready/widget', $this, $);
}
window.elementorFrontend.hooks.doAction('frontend/element_ready/global', $this, $);
window.elementorFrontend.hooks.doAction('frontend/element_ready/' + elementType, $this, $);
});
if(window.elementorFrontend){
const elementorLazyLoad=new Event("elementor/lazyload/observe");
document.dispatchEvent(elementorLazyLoad);
}
if(window.JetPopupFrontend&&window.JetPopupFrontend.initAttachedPopups){
window.JetPopupFrontend.initAttachedPopups($selector);
}},
reinitSlickSlider: function($scope){
var $slider=$scope.find('.slick-initialized');
if($slider.length){
$slider.each(function(){
$(this).slick('unslick');
});
}},
toggleSlickAutoplay: function($root, shouldPlay){
const $slicks=$root ? $root.find('.slick-initialized'):$('.slick-initialized');
$slicks.each(function(){
try {
$(this).slick(shouldPlay ? 'slickPlay':'slickPause');
} catch(e){}});
},
pauseAllSlick: function($root){
this.toggleSlickAutoplay($root||$(document), false);
},
playAllSlick: function($root){
setTimeout(()=> this.toggleSlickAutoplay($root||$(document), true), 60);
},
enqueueAssetsFromResponse: function(response){
if(response.data.scripts){
JetSearch.enqueueScripts(response.data.scripts);
}
if(response.data.styles){
JetSearch.enqueueStyles(response.data.styles);
}},
enqueueScripts: function(scripts){
$.each(scripts, function(handle, scriptHtml){
JetSearch.enqueueScript(handle, scriptHtml)
});
},
enqueueStyles: function(styles){
$.each(styles, function(handle, styleHtml){
JetSearch.enqueueStyle(handle, styleHtml)
});
},
enqueueScript: function(handle, scriptHtml){
if(-1!==JetSearch.addedScripts.indexOf(handle) ){
return;
}
if(! scriptHtml){
return;
}
var selector='script[id="' + handle + '-js"]';
if($(selector).length){
return;
}
var scriptsTags=scriptHtml.match(/<script[\s\S]*?<\/script>/gm);
if(scriptsTags.length){
for(var i=0; i < scriptsTags.length; i++){
JetSearch.assetsPromises.push(new Promise(function(resolve, reject){
var $tag=$(scriptsTags[i]);
if($tag[0].src){
var tag=document.createElement('script');
tag.type=$tag[0].type;
tag.src=$tag[0].src;
tag.id=$tag[0].id;
tag.async=false;
tag.onload=function(){
resolve();
};
document.body.append(tag);
}else{
$('body').append(scriptsTags[i]);
resolve();
}})
);
}}
JetSearch.addedScripts.push(handle);
},
enqueueStyle: function(handle, styleHtml){
if(-1!==handle.indexOf('google-fonts') ){
JetSearch.enqueueGoogleFonts(handle, styleHtml);
return;
}
if(-1!==JetSearch.addedStyles.indexOf(handle) ){
return;
}
var selector='link[id="' + handle + '-css"],style[id="' + handle + '"]';
if($(selector).length){
return;
}
$('head').append(styleHtml);
JetSearch.addedStyles.push(handle);
if(-1!==handle.indexOf('elementor-post') ){
var postID=handle.replace('elementor-post-', '');
JetSearch.addedPostCSS.push(postID);
}},
enqueueGoogleFonts: function(handle, styleHtml){
var selector='link[id="' + handle + '-css"]';
if($(selector).length){}
$('head').append(styleHtml);
},
reinitBricksScripts: function(_this){
if(!$('body').hasClass('theme-bricks')&&!$('body').hasClass('bricks-is-frontend')){
return;
}
const resultsArea=$('.jet-ajax-search__results-list', _this);
const sourcesHolder=$('.jet-ajax-search__source-results-holder', _this);
resultsArea.find('[data-script-id]').each(function(){
const newId=JetSearch.generateRandomId();
$(this).attr('data-script-id', newId);
});
resultsArea.find('[id^="brxe-"]').each(function(){
var id=$(this).attr('id');
$(this).addClass(id);
});
const bricksScripts={
".bricks-lightbox": 'bricksPhotoswipe',
".brxe-accordion, .brxe-accordion-nested": 'bricksAccordion',
".brxe-animated-typing": 'bricksAnimatedTyping',
".brxe-audio": 'bricksAudio',
".brxe-countdown": 'bricksCountdown',
".brxe-counter": 'bricksCounter',
".brxe-video": 'bricksVideo',
".bricks-lazy-hidden": 'bricksLazyLoad',
".brx-animated": 'bricksAnimation',
".brxe-pie-chart": 'bricksPieChart',
".brxe-progress-bar .bar span": 'bricksProgressBar',
".brxe-form": 'bricksForm',
".brx-query-trail": 'bricksInitQueryLoopInstances',
"[data-interactions]": 'bricksInteractions',
".brxe-alert svg": 'bricksAlertDismiss',
".brxe-tabs, .brxe-tabs-nested": 'bricksTabs',
".bricks-video-overlay, .bricks-video-overlay-icon, .bricks-video-preview-image": 'bricksVideoOverlayClickDetector',
".bricks-background-video-wrapper": 'bricksBackgroundVideoInit',
".brxe-toggle": 'bricksToggle',
".brxe-offcanvas": 'bricksOffcanvas',
'.brxe-slider': 'bricksSwiper',
'.brxe-slider-nested': 'bricksSplide',
'.brxe-image': 'bricksSwiper'
};
const contentWrapper=resultsArea[0];
for(const key in bricksScripts){
const widget=contentWrapper.querySelector(key);
if(widget&&typeof window[bricksScripts[key]]==="function"&&bricksScripts[key]){
window[bricksScripts[key]]();
}}
if(sourcesHolder.length){
sourcesHolder.find('[data-script-id]').each(function(){
const newId=JetSearch.generateRandomId();
$(this).attr('data-script-id', newId);
});
sourcesHolder.find('[id^="brxe-"]').each(function(){
var id=$(this).attr('id');
$(this).addClass(id);
});
const sourcesWrapper=sourcesHolder[0];
for(const key in bricksScripts){
const widget=sourcesWrapper.querySelector(key);
if(widget&&typeof window[bricksScripts[key]]==="function"&&bricksScripts[key]){
window[bricksScripts[key]]();
}}
}},
getCurrentDeviceMode: function(){
const width=window.innerWidth;
if(width > 1024){
return 'desktop';
}else if(width <=1024&&width > 767){
return 'tablet';
}else{
return 'mobile';
}},
trimString: function(str, numWords){
if(typeof str!=='string'){
return str;
}
let wordsArray=str.split(' ');
if(wordsArray.length <=numWords){
return str;
}
let truncatedString=wordsArray.slice(0, numWords).join(' ');
return truncatedString + '...';
},
escapeHTML: function(str){
return str.replace(/[&<>"']/g, function(match){
const escapeMap={
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#039;'
};
return escapeMap[match];
});
},
addSuggestionFromResultAreaItem: function(itemWrapper, itemLink, itemTitle, itemUrlAttr){
itemLink.on('click', function(e){
e.stopImmediatePropagation();
e.preventDefault();
let	item=$(this).closest(itemWrapper),
value=$(itemTitle, item).text(),
url=$(this).attr(itemUrlAttr);
JetSearch.setFormSuggestion(value, false, url);
});
}};
$.fn.getSuggestionsList=function(options, settings, showSpinner, hightlightText=false, callback=()=> {}){
let self=this[0],
outputHtml='',
listPosition=options.list_position,
inlineItemTemplate=wp.template('jet-search-inline-suggestion-item'),
focusItemTemplate=wp.template('jet-search-focus-suggestion-item'),
spinner=$(settings.spinnerClass, self),
manualList=[];
const ajaxSettings=window['jetSearchSettings']['searchSuggestions']||{};
function highlightMatches(item){
let searched=options.value.trim();
if(searched!==""){
let reg=new RegExp("[\>][^\<]*"+searched+"[^\<]*[\<]","gi"),
reg2=new RegExp(searched, "gi"),
regHtml=new RegExp("<\/?[a-z](.*?)[\s\S]*>", "gi");
if(reg.test(item) ){
item=item.replace(reg, function(item){
let subRegex=new RegExp(searched, "gi");
return item.replace(subRegex,`<mark>${searched}</mark>`);
});
}
if(regHtml.test(item) ){
return item;
}else{
item=item.replace(reg2, str=> `<mark>${str}</mark>`);
}}
return item;
}
if('manual'===options.list_type){
if(options['manual_list'].length){
let list=options['manual_list'].split(",");
list.map(function(suggestion, i){
manualList[i]={ name: suggestion };});
if('inline'===listPosition){
manualList.map(function(suggestion){
outputHtml +=inlineItemTemplate(suggestion);
});
$(self).html(outputHtml);
}else if('focus'===listPosition){
manualList.map(function(suggestion){
outputHtml +=focusItemTemplate(suggestion);
});
$(settings.focusHolderClass ,self).html(outputHtml);
if(typeof callback==='function'){
callback();
}
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
}}
return;
}
let sendData={
list_type: options.list_type||'',
value: options.value||'',
limit: options.limit
},
ajaxData={
action: ajaxSettings.get_action,
data: sendData||{},
};
jQuery.ajax({
type: 'GET',
url: ajaxSettings.get_suggestions_rest_api_url,
data: ajaxData,
dataType: 'json',
cache: false,
processData: true,
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR);
},
success: function(response, textStatus, jqXHR){
successCallback(response);
if(typeof callback==='function'){
callback();
}}
});
const successCallback=function(response){
if(response){
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
if('inline'===listPosition){
response.map(function(suggestion){
suggestion['name']=JetSearch.escapeHTML(suggestion['name']);
suggestion['fullName']=JetSearch.escapeHTML(suggestion['name']);
if(0 < options.maxLength){
suggestion['name']=JetSearch.trimString(suggestion['name'], options.maxLength);
}
outputHtml +=inlineItemTemplate(suggestion);
});
$(self).html(outputHtml);
}else if('focus'===listPosition){
response.map(function(suggestion){
suggestion['name']=JetSearch.escapeHTML(suggestion['name']);
suggestion['fullName']=JetSearch.escapeHTML(suggestion['name']);
if(0 < options.maxLength){
suggestion['name']=JetSearch.trimString(suggestion['name'], options.maxLength);
}
if(options.value&&("yes"===hightlightText||true===hightlightText) ){
suggestion['name']=highlightMatches(suggestion['name']);
}
outputHtml +=focusItemTemplate(suggestion);
});
$(settings.focusHolderClass, self).html(outputHtml);
}}
}
const errorCallback=function(jqXHR){
if('abort'!==jqXHR.statusText){
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
}};};
$.fn.jetAjaxSearchSuggestions=function(args){
let self=this[0],
settings=args,
options=$(self).data('settings')||{},
timer=null,
showformList=options['show_search_suggestions_list_inline']||false,
showfocusList=options['show_search_suggestions_list_on_focus']||false,
formListType=options['search_suggestions_list_inline']||false,
focusListType=options['search_suggestions_list_on_focus']||false,
searchSuggestionsLimit=options['search_suggestions_quantity_limit']||10,
inlineLimit=options['search_suggestions_list_inline_quantity']||5,
focusLimit=options['search_suggestions_list_on_focus_quantity']||5,
showSpinner=options['show_search_suggestions_list_on_focus_preloader']||'',
hightlightText=options['highlight_searched_text']||'',
spinner=$(settings.spinnerClass, self),
formFocusClass=settings.searchFormClass.replace('.', '') + '--focus',
form=$(settings.searchFormClass, self),
focusTarget=$(settings.focusHolderClass, self),
disableInputs=false,
customResultUrl=options['search_results_url']||'',
useSession='false',
focusItem;
if(window.elementorFrontend){
var editMode=Boolean(window.elementorFrontend.isEditMode())
}else{
var editMode=false;
}
if(!self.isInit){
self.isInit=true;
self.ajaxSettings=window[ settings.handlerId ]['searchSuggestions']||{};
customResultUrl=$.trim(customResultUrl);
useSession=self.ajaxSettings.use_session;
self.selectSuggestion=function(event){
const keyCode=event.keyCode||event.which;
const $target=$(event.currentTarget);
let value=$target.attr('aria-label');
if(! value){
return;
}
value=value.trim();
if(false===disableInputs&&!editMode){
if('keydown'===event.type){
if(13===keyCode){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
}}else if('click'===event.type){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
}}
}
self.focusItemsNav=function(){
focusItem=$('.jet-search-suggestions__focus-area-item', self);
if(0 < focusItem.length){
focusItem.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
switch(keyCode){
case 40:
e.preventDefault();
var next=$(this).next();
if(next.length > 0){
focusItem.removeClass('focused');
next.addClass('focused');
next.focus();
}
break;
case 38:
e.preventDefault();
var prev=$(this).prev();
if(prev.length > 0){
focusItem.removeClass('focused');
prev.addClass('focused');
prev.focus();
}else{
focusItem.removeClass('focused');
$(settings.inputClass, self).focus();
}
break;
case 13:
e.preventDefault();
let value=e.target.innerText.trim();
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
break;
}
if($(this).is(':focus-visible') ){
focusItem.removeClass('focused');
}});
}}
if(formListType||focusListType){
if(''!=formListType&&("yes"===showformList||true===showformList) ){
let listOptions={
list_position: 'inline',
list_type: formListType,
limit: inlineLimit,
maxLength: options.search_suggestions_list_inline_item_title_length,
};
if('manual'===formListType){
listOptions.manual_list=options['search_suggestions_list_inline_manual'];
}
$(settings.inlineClass, self).getSuggestionsList(listOptions, settings, showSpinner, false, ()=> {
let inlineItem=$('.jet-search-suggestions__inline-area-item', self);
if(0 < inlineItem.length){
inlineItem.on('focus', function (){
if($(this).is(':focus-visible') ){
self.hideList();
}});
}
inlineItem.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
let value=$(this).attr('aria-label');
if(! value){
return;
}
value=value.trim();
if(13===keyCode){
$(settings.inputClass, self)[0].value=value;
JetSearch.setFormSuggestion(value, form, customResultUrl);
}});
});
}
if(''!=focusListType&&("yes"===showfocusList||true===showfocusList) ){
let listOptions={
list_position: 'focus',
list_type: focusListType,
limit: focusLimit,
maxLength: options.search_suggestions_list_on_focus_item_title_length||0,
};
if('manual'===focusListType){
listOptions.manual_list=options['search_suggestions_list_on_focus_manual'];
}
$(settings.focusClass, self).getSuggestionsList(listOptions, settings, showSpinner, false, ()=> {
self.focusItemsNav();
});
}}
self.inputChangeHandler=function(event){
let value=$(event.target).val(),
listOptions={
list_position: 'focus',
value: value,
limit: searchSuggestionsLimit,
maxLength: options.search_suggestions_list_on_focus_item_title_length||0,
};
if(''!=value){
focusTarget.empty();
self.showList();
JetSearch.suggestionsPreloader(showSpinner, 'show', spinner);
clearTimeout(timer);
timer=setTimeout(function(){
$(settings.focusClass, self).getSuggestionsList(listOptions, settings, showSpinner, hightlightText, ()=> {
self.focusItemsNav();
});
}, 450);
}else{
clearTimeout(timer);
focusTarget.empty();
JetSearch.suggestionsPreloader(showSpinner, 'hide', spinner);
if(false!=focusListType&&("yes"===showfocusList||true===showfocusList) ){
JetSearch.suggestionsPreloader(showSpinner, 'show', spinner);
listOptions.limit=focusLimit;
if('manual'===focusListType){
listOptions.list_type=focusListType;
listOptions.manual_list=options['search_suggestions_list_on_focus_manual'];
}
$(settings.focusClass, self).getSuggestionsList(listOptions, settings, showSpinner, false, ()=> {
self.focusItemsNav();
});
}}
};
self.hideList=function(event){
$(settings.focusClass, self).removeClass('show');
$('.chosen-single', self).removeClass('focused');
if(focusItem&&0 < focusItem.length){
focusItem.removeClass('focused');
}};
self.showList=function(){
$(settings.focusClass, self).addClass('show');
};
self.focusHandler=function(event){
$(settings.searchFormClass, self).addClass(formFocusClass);
self.showList();
};
self.chosenFocusHandler=function(){
self.hideList();
};
self.formClick=function(event){
event.stopPropagation();
};
self.changeHandler=function(event){
let target=$(event.target),
settingsInput=$(settings.settingsInput, self),
querySettings=JSON.parse(settingsInput.val()),
globalQuerySettings=$(self).data('settings');
querySettings.category__in=target.val();
globalQuerySettings.category__in=target.val();
settingsInput.val(JSON.stringify(querySettings) );
$(self).data('settings', globalQuerySettings);
self.inputChangeHandler({ target: $(settings.inputClass, self) })
};
self.formSubmit=function(event){
let keyCode=event.keyCode||event.which;
if(false===disableInputs){
let value=event.target.value;
if(13===keyCode&&value.length!=0){
disableInputs=true;
event.preventDefault();
JetSearch.setFormSuggestion(value, form, customResultUrl);
}}
if(40===keyCode){
if(focusItem&&0 < focusItem.length){
event.preventDefault();
focusItem.removeClass('focused');
focusItem.first().addClass('focused');
focusItem.first().focus();
}}
}
self.blurHandler=function(event){
$(settings.searchFormClass, self).removeClass(formFocusClass);
};
self.clickFullResults=function(event){
if(false===disableInputs){
disableInputs=true;
var searchInput=$(settings.inputClass, self),
value=searchInput.val();
event.preventDefault();
JetSearch.setFormSuggestion(value, form, customResultUrl);
}};
$(settings.inputClass, self)
.on('input' + settings.searchClass, self.inputChangeHandler)
.on('focus' + settings.searchClass, self.focusHandler)
.on('blur' + settings.searchClass, self.blurHandler)
.on('keydown' + settings.searchClass, self.formSubmit);
$(settings.submitClass, self).on('click' + settings.searchClass, self.clickFullResults);
$(self)
.on('click' + settings.searchClass, settings.focusItemClass, self.selectSuggestion)
.on('click keydown' + settings.searchClass, settings.inlineItemClass, self.selectSuggestion)
.on('click' + settings.searchClass, self.formClick)
.on('change', settings.chosenClass, self.changeHandler)
.on('touchend' + settings.searchClass, self.formClick)
.on('chosen:showing_dropdown', settings.chosenClass, self.chosenFocusHandler);
$(self).on('keydown', function(e){
const keyCode=e.keyCode||e.which;
if(9===keyCode){
setTimeout(()=> {
const focusedElement=document.activeElement;
if($(focusedElement).is('.chosen-search-input') ){
$('.chosen-single', self).addClass('focused');
}else{
$('.chosen-single', self).removeClass('focused');
}
if($(focusedElement).is('.jet-search-suggestions__inline-area-item') ){
self.hideList();
}}, 50);
}});
$(settings.inputClass, self).on('click' + settings.searchClass, ()=> {
$('.chosen-single', self).removeClass('focused');
});
$('body')
.on('click' + settings.searchClass, self.hideList)
.on('touchend' + settings.searchClass, self.hideList);
if('0'!==$(settings.chosenClass, self).val()){
$(settings.chosenClass, self).trigger('change');
}}
};
$.fn.jetAjaxSearch=function(args){
var self=this[0],
settings=args,
timer=null,
itemTemplate=null,
resultsArea=$(settings.resultsAreaClass, self),
resultsHolder=$(settings.listHolderClass, resultsArea),
resultsHeader=$(settings.resultsHeaderClass, resultsArea),
resultsFooter=$(settings.resultsFooterClass, resultsArea),
countHolder=$(settings.countClass, resultsArea),
fullResults=$(settings.fullResultsClass, resultsArea),
resultsList=$(settings.listClass, resultsArea),
resultsListInner=$(settings.listInnerClass, resultsArea),
resultsHeaderNav=$(settings.navigationClass, resultsHeader),
resultsFooterNav=$(settings.navigationClass, resultsFooter),
messageHolder=$(settings.messageHolderClass, resultsArea),
spinner=$(settings.spinnerClass, resultsArea),
form=$(settings.searchFormClass, self),
resultsSuggestions=$(settings.resultsSuggestionsAreaClass, self),
inlineSuggestions=$(settings.inlineSuggestionsAreaClass, self),
data=$(self).data('settings')||[],
customResultUrl=data['search_results_url']||'',
hightlightText=data['highlight_searched_text']||'',
formFocusClass=settings.searchFormClass.replace('.', '') + '--focus',
searchLogging=data['search_logging']||'',
currentPosition=1,
lang='',
disableInputs=false,
allowEmptyString=false,
allowSubmitOnEnter=1,
urlParams=JetSearch.getUrlParams(),
listingID=data['listing_id']||'',
categoryIndex=urlParams.jet_ajax_search_categories||'',
getResultsOnFocus=true,
maxUserSearches=20,
showSearchSuggestions=data['show_search_suggestions']||false,
suggestionsTitle='',
suggestionsType=data['search_suggestions_source']||false,
suggestionsPosition=data['search_suggestions_position']||false,
searchSuggestionsLimits=data['search_suggestions_limits']||20,
storedUserSearches=JSON.parse(localStorage.getItem('jetUserSearches'))||[],
suggestionsList=[];
if('yes'===data.search_by_empty_value||true===data.search_by_empty_value){
allowEmptyString=true;
}
if(!self.isInit){
self.isInit=true;
self.ajaxRequest=null;
self.suggestionsListLoaded=false;
if(data.hasOwnProperty('lang')){
lang=data.lang;
delete data.lang;
}
self.ajaxSettings=window[ settings.handlerId ]||{};
self.suggestionsSettings=window['jetSearchSettings']['searchSuggestions']||{};
if(self.ajaxSettings['ajaxSearchSuggestionsLimits']){
maxUserSearches=self.ajaxSettings['ajaxSearchSuggestionsLimits'];
}
if('yes'===data.submit_on_enter||true===data.submit_on_enter){
allowSubmitOnEnter=false;
}else{
allowSubmitOnEnter=true;
}
if(''===self.ajaxSettings.sumbitOnEnter){
allowSubmitOnEnter=false;
}
if(window.elementorFrontend){
var editMode=Boolean(window.elementorFrontend.isEditMode())
}else{
var editMode=false;
}
self.suggestionsListHTML=function(suggestionsList){
let resultsSuggestionsTemplate=wp.template('jet-ajax-search-results-suggestion-item'),
inlineSuggestionsTemplate=wp.template('jet-ajax-search-inline-suggestion-item'),
inlineOutputHtml='',
resultsOutputHtml='';
suggestionsList.forEach(item=> {
let inlineListItemHtml='',
resultsListItemHtml='',
maxLength=data.search_suggestions_item_title_length||0,
suggestionItem={};
suggestionItem['fullName']=JetSearch.escapeHTML(item);
suggestionItem['name']=JetSearch.escapeHTML(item);
if(0 < maxLength){
suggestionItem['name']=JetSearch.trimString(item, maxLength);
}
if('under_form'===suggestionsPosition){
inlineListItemHtml=inlineSuggestionsTemplate(suggestionItem);
}else if('inside_results_area'===suggestionsPosition){
resultsListItemHtml=resultsSuggestionsTemplate(suggestionItem);
}
inlineOutputHtml  +=inlineListItemHtml;
resultsOutputHtml +=resultsListItemHtml;
});
if('under_form'===suggestionsPosition){
suggestionsTitle=inlineSuggestions.html();
inlineSuggestions.html(inlineOutputHtml).prepend(suggestionsTitle);
}else if('inside_results_area'===suggestionsPosition){
suggestionsTitle=resultsSuggestions.html();
resultsSuggestions.html(resultsOutputHtml).prepend(suggestionsTitle);
}};
self.showSuggestions=function(){
if(suggestionsType){
if('popular'===suggestionsType){
if(false===window.bricksIsFrontend){
let sendData={
list_type: 'popular',
value: '',
limit: searchSuggestionsLimits
},
ajaxData={
action: self.ajaxSettings['searchSuggestions'].get_action,
data: sendData||{},
};
$.ajax({
type: 'GET',
url: self.ajaxSettings['searchSuggestions'].get_suggestions_rest_api_url,
data: ajaxData,
dataType: 'json',
cache: false,
processData: true,
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR);
},
success: function(response, textStatus, jqXHR){
if(response.length){
suggestionsList=$.map(response, function(obj){
return obj.name;
});
self.suggestionsListLoaded=true;
if(suggestionsList.length){
suggestionsList=suggestionsList.slice(0, searchSuggestionsLimits);
self.suggestionsListHTML(suggestionsList);
}else{
resultsSuggestions.hide();
inlineSuggestions.hide();
}}
}});
}else{
suggestionsList=self.ajaxSettings['ajaxSearchPopularSuggestions']||[];
if(suggestionsList.length){
suggestionsList=suggestionsList.slice(0, searchSuggestionsLimits);
self.suggestionsListHTML(suggestionsList);
}else{
resultsSuggestions.hide();
inlineSuggestions.hide();
}}
}else if('user'===suggestionsType){
let userSearches=localStorage.getItem('jetUserSearches');
if(userSearches){
suggestionsList=JSON.parse(userSearches)||[];
suggestionsList.reverse();
suggestionsList=suggestionsList.slice(0, searchSuggestionsLimits);
self.suggestionsListHTML(suggestionsList);
}else{
resultsSuggestions.hide();
inlineSuggestions.hide();
}}
}};
if('yes'===showSearchSuggestions||true===showSearchSuggestions){
self.showSuggestions();
}
self.inputChangeHandler=function(event){
var value=$(event.target).val(),
symbolNumberForStart='number'===$.type(data.symbols_for_start_searching) ? data.symbols_for_start_searching:2;
value=value.replace(/\u3000/g, ' ');
if('number'===$.type(symbolNumberForStart)&&symbolNumberForStart > value.length){
if('inside_results_area'===suggestionsPosition&&suggestionsList.length){
resultsHeader.hide();
resultsFooter.hide();
resultsList.hide();
resultsSuggestions.show();
resultsSuggestions.addClass('active');
resultsHolder.addClass('show');
self.showList();
}else{
self.hideList();
}
return false;
}
if('inside_results_area'===suggestionsPosition&&suggestionsList.length){
resultsSuggestions.removeClass('active');
resultsHeader.show();
resultsFooter.show();
resultsList.show();
}
resultsHolder.removeClass('show');
self.outputMessage('', '');
resultsListInner.css('transform', 'translateX(0)');
resultsList.css('height', 'auto');
if(value){
self.showList();
spinner.addClass('show');
clearTimeout(timer);
timer=setTimeout(function(){
data.value=value;
data.deviceMode=window.elementorFrontend&&window.elementorFrontend.getCurrentDeviceMode() ? window.elementorFrontend.getCurrentDeviceMode():JetSearch.getCurrentDeviceMode();
self.ajaxSendData(data, lang);
}, 450);
}else{
self.hideList();
}};
self.successCallback=function(response){
if(response.error){
spinner.removeClass('show');
self.outputMessage(data.server_error, 'error show');
return;
}
JetSearch.enqueueAssetsFromResponse(response);
var responseData=response.data,
error=responseData.error,
message=responseData.message,
posts=responseData.posts,
listingItems=responseData.listing_items,
post=null,
outputHtml='',
listItemHtml='',
listHtml='<div class="' + settings.listSlideClass.replace('.', '') + '">%s</div>',
searchSources=responseData.sources,
searchSourcesBeforePosts=null,
searchSourcesAfterPosts=null,
countAllResults=null,
searchSourcesHolder=$('.jet-ajax-search__source-results-holder', self);
resultsHolder.removeClass('show');
spinner.removeClass('show');
currentPosition=1;
searchSourcesHolder.remove();
resultsListInner.html('');
resultsHeaderNav.html('');
resultsFooterNav.html('');
searchSourcesBeforePosts=searchSources
.filter(item=> item.priority < 0&&''!=item.content)
.sort(( a, b)=> a.priority - b.priority);
searchSourcesAfterPosts=searchSources
.filter(item=> item.priority > 0&&''!=item.content)
.sort(( a, b)=> a.priority - b.priority);
if(''!=listingID&&0!==responseData.post_count&&!error){
var outputHtml='',
listItemHtml='',
listHtml='<div class="jet-listing-grid__items jet-listing-base ' + settings.listSlideClass.replace('.', '') + '">%s</div>';
if(listingItems.length){
$.each(listingItems,(i, item)=> {
listItemHtml +=item;
if(( parseInt(i) + 1) % responseData.limit_query==0||parseInt(i)===listingItems.length - 1){
outputHtml +=listHtml.replace('%s', listItemHtml);
listItemHtml='';
}});
}
messageHolder.removeClass('show');
countAllResults=responseData.post_count;
if(responseData.sources_results_count&&0 < responseData.sources_results_count){
countAllResults +=responseData.sources_results_count;
}
$('span', countHolder).html(countAllResults);
resultsListInner
.html(outputHtml)
.data('columns', responseData.columns);
Promise.all(JetSearch.assetsPromises).then(function(){
JetSearch.initElementsHandlers(resultsListInner);
JetSearch.reinitBricksScripts(self);
JetSearch.assetsPromises=[];
});
resultsHeaderNav.html(responseData.results_navigation.in_header);
resultsFooterNav.html(responseData.results_navigation.in_footer);
if(!countHolder[0]&&!responseData.results_navigation.in_header){
resultsHeader.addClass('is-empty');
}else{
resultsHeader.removeClass('is-empty');
}
if(!fullResults[0]&&!responseData.results_navigation.in_footer){
resultsFooter.addClass('is-empty');
}else{
resultsFooter.removeClass('is-empty');
}
resultsList.css('height', 'auto');
$(document).trigger('jet-ajax-search/show-results/listing', [ resultsListInner ]);
resultsHolder.addClass('show');
if('yes'===searchLogging||true===searchLogging){
let itemWrapper=settings.itemClass,
itemLink=$('.jet-engine-listing-overlay-wrap', itemWrapper),
itemTitle='.jet-ajax-search-item-title .jet-listing-dynamic-field__content',
itemUrlAttr='data-url';
$(document).trigger('jet-ajax-search/results-area/listing-add-suggestion', [ self, itemWrapper, itemLink, itemTitle, itemUrlAttr ]);
JetSearch.addSuggestionFromResultAreaItem(itemWrapper, itemLink, itemTitle, itemUrlAttr);
}}
const allowedHighlightFields=[ 'title', 'after_content', 'after_title', 'before_content', 'before_title', 'content', 'price' ];
function highlightMatches(item){
let searched=responseData.search_value.trim();
if(searched!==""){
let reg=new RegExp("[\>][^\<]*"+searched+"[^\<]*[\<]","gi"),
reg2=new RegExp(searched, "gi"),
regHtml=new RegExp("<\/?[a-z](.*?)[\s\S]*>", "gi");
if(reg.test(item) ){
item=item.replace(reg, function(item){
let subRegex=new RegExp(searched, "gi");
return item.replace(subRegex,`<mark>${searched}</mark>`);
});
}
if(regHtml.test(item) ){
return item;
}else{
item=item.replace(reg2, str=> `<mark>${str}</mark>`);
}}
return item;
}
function highlightFields(fields, allowHighlightFields){
$.each(fields, function(key, value){
if(-1!=$.inArray(key, allowHighlightFields)&&(null!=value&&''!=value) ){
fields[key]=highlightMatches(value);
}});
return fields;
}
if(0!==responseData.post_count&&!error&&''===listingID){
messageHolder.removeClass('show');
itemTemplate=wp.template('jet-ajax-search-results-item');
for(post in posts){
if(responseData.search_highlight&&true===responseData.search_highlight){
if(''!=hightlightText&&("yes"===hightlightText||true===hightlightText) ){
highlightFields(posts[post], allowedHighlightFields);
}}
if(posts[post].is_product){
let productType=posts[post].product_type,
productTypeClass='add-to-cart-button';
if('product_type_variable'===productType){
productTypeClass='select-options-button';
}
posts[post].add_to_cart='<div class="jet-ajax-search__item-add-to-cart"><button data-quantity="1" class="jet-ajax-search__results-item-cart-button ' + productTypeClass + '" data-product_id="' + posts[post].product_id + '" data-product_sku="' + posts[post].product_sku + '" aria-label="' + posts[post].product_label + '" data-product_url="' + posts[post].product_url + '" rel="nofollow" target="_blank">' + posts[post].product_add_text + '</button></div>';
}
let templateResult=itemTemplate(posts[post]);
listItemHtml +=templateResult;
if((parseInt(post) + 1) % responseData.limit_query==0||parseInt(post)===posts.length - 1){
outputHtml +=listHtml.replace('%s', listItemHtml);
listItemHtml='';
}}
countAllResults=responseData.post_count;
if(responseData.sources_results_count&&0 < responseData.sources_results_count){
countAllResults +=responseData.sources_results_count;
}
$('span', countHolder).html(countAllResults);
resultsListInner
.html(outputHtml)
.data('columns', responseData.columns);
$('.jet-ajax-search__results-item-cart-button.add-to-cart-button', self).on('click', function(e){
e.preventDefault();
let _this=$(this);
if(_this.attr('data-product_id') ){
let addToCartData={};
$.each(_this[0].dataset, function(key, value){
addToCartData[ key ]=value;
});
_this.prop('disabled', true);
$.ajax({
type: 'POST',
url: wc_add_to_cart_params.wc_ajax_url.toString().replace('%%endpoint%%', 'add_to_cart'),
dataType: 'json',
data: addToCartData,
success: function(response){
$(document.body).trigger('wc_fragment_refresh');
$(document.body).trigger('added_to_cart');
_this.prop('disabled', false);
},
error: function(xhr, status, error){
_this.prop('disabled', false);
}});
}});
$('.jet-ajax-search__results-item-cart-button.select-options-button', self).on('click', function(e){
e.preventDefault();
const productUrl=$(this).data('product_url');
window.open(productUrl, '_blank');
});
resultsHeaderNav.html(responseData.results_navigation.in_header);
resultsFooterNav.html(responseData.results_navigation.in_footer);
if(!countHolder[0]&&!responseData.results_navigation.in_header){
resultsHeader.addClass('is-empty');
}else{
resultsHeader.removeClass('is-empty');
}
if(!fullResults[0]&&!responseData.results_navigation.in_footer){
resultsFooter.addClass('is-empty');
}else{
resultsFooter.removeClass('is-empty');
}
resultsHolder.addClass('show');
$(document).trigger('jet-ajax-search/show-results', [ resultsHolder ]);
var inputField=$('.jet-ajax-search__field', self),
resultsItem=$('.jet-ajax-search__item-link', self),
focusedItem=resultsItem.filter(':focus');
inputField.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
if(40===keyCode){
e.preventDefault();
var position=currentPosition - 1,
activeSlide=$(settings.listSlideClass, resultsListInner).eq(position),
next=activeSlide.find('.jet-ajax-search__item-link').first();
if(focusedItem.length===0){
setTimeout(()=> {
resultsItem.removeClass('focused');
next.addClass('focused');
next.focus();
}, 0);
}}
});
resultsItem.on('keydown', function(e){
const keyCode=e.keyCode||e.which;
switch(keyCode){
case 40:
e.preventDefault();
var next=$(this).parent().next().find('.jet-ajax-search__item-link').first();
if(0 < next.length){
resultsItem.removeClass('focused');
next.addClass('focused');
next.focus();
}
break;
case 38:
e.preventDefault();
var prev=$(this).parent().prev().find('.jet-ajax-search__item-link').first();
if(0 < prev.length){
resultsItem.removeClass('focused');
prev.addClass('focused');
prev.focus();
}else{
resultsItem.removeClass('focused');
inputField.focus();
}
break;
case 37:
var prevSlide=$(this).closest('.jet-ajax-search__results-slide').prev();
if(0 < prevSlide.length){
$(settings.prevClass + ':not(' + settings.disableNavClass + ')').click();
resultsItem.removeClass('focused');
setTimeout(()=> {
$(settings.listSlideClass, resultsListInner).eq(currentPosition - 1).find('.jet-ajax-search__item-link').first().focus().addClass('focused');
}, 350);
}
break;
case 39:
var nextSlide=$(this).closest('.jet-ajax-search__results-slide').next();
if(0 < nextSlide.length){
$(settings.nextClass + ':not(' + settings.disableNavClass + ')').click();
resultsItem.removeClass('focused');
setTimeout(()=> {
$(settings.listSlideClass, resultsListInner).eq(currentPosition - 1).find('.jet-ajax-search__item-link').first().focus().addClass('focused');
}, 350);
}
break;
case 9:
resultsItem.removeClass('focused');
break;
}});
if('yes'===searchLogging||true===searchLogging){
let	itemWrapper=settings.itemClass,
resultAreaItemLink=$('.jet-ajax-search__item-link', itemWrapper),
resultAreaItemTitle='.jet-ajax-search__item-title',
resultAreaItemUrlAttr='href';
JetSearch.addSuggestionFromResultAreaItem(itemWrapper, resultAreaItemLink, resultAreaItemTitle, resultAreaItemUrlAttr);
}
searchSourcesBeforePosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.before(item.content);
resultsHolder.addClass('show');
});
searchSourcesAfterPosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.after(item.content);
resultsHolder.addClass('show');
});
}else{
if(searchSourcesBeforePosts.length||searchSourcesAfterPosts.length){
searchSourcesBeforePosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.before(item.content);
resultsHolder.addClass('show');
});
searchSourcesAfterPosts.forEach(function(item){
self.maybeHasListing(item);
resultsListInner.after(item.content);
resultsHolder.addClass('show');
});
countAllResults=responseData.post_count;
if(responseData.sources_results_count&&0 < responseData.sources_results_count){
countAllResults +=responseData.sources_results_count;
}
$('span', countHolder).html(countAllResults);
}else{
self.outputMessage(message, 'show');
}}
};
self.maybeHasListing=function(item){
if(typeof item.listing_template!=='undefined'&&true===item.listing_template){
Promise.all(JetSearch.assetsPromises).then(function(){
JetSearch.initElementsHandlers(resultsListInner);
JetSearch.reinitBricksScripts(self);
JetSearch.assetsPromises=[];
});
}}
self.errorCallback=function(jqXHR){
if('abort'!==jqXHR.statusText){
spinner.removeClass('show');
self.outputMessage(data.server_error, 'error show');
}};
self.ajaxSendData=function(sendData, lang=''){
let filteredData={};
Object.keys(sendData).forEach(key=> {
if(sendData[key]!=='' &&
sendData[key]!==null &&
sendData[key]!==undefined &&
!(Array.isArray(sendData[key])&&sendData[key].length===0)
){
filteredData[key]=sendData[key];
}});
var ajaxData={
action: self.ajaxSettings.action,
nonce: self.ajaxSettings.nonce,
data: filteredData||{}};
if(''!=lang){
ajaxData.lang=lang;
}
const isRestAPI=self.ajaxSettings.rest_api_url&&self.ajaxSettings.rest_api_url.includes('/wp-json/');
self.ajaxRequest=jQuery.ajax({
type: 'GET',
url: self.ajaxSettings.rest_api_url,
data: ajaxData,
dataType: 'json',
cache: false,
processData: true,
beforeSend: function(jqXHR, ajaxSettings){
if(null!==self.ajaxRequest){
self.ajaxRequest.abort();
}
if(isRestAPI){
jqXHR.setRequestHeader('X-WP-Nonce', self.ajaxSettings.nonce);
}},
error: function(jqXHR, textStatus, errorThrown){
self.errorCallback(jqXHR);
},
success: function(response, textStatus, jqXHR){
self.successCallback(response);
}});
};
self.hideList=function(){
resultsArea.removeClass('show');
$('.chosen-single', self).removeClass('focused');
};
self.showList=function(){
resultsArea.addClass('show');
};
self.focusHandler=function(event){
var value=event.target.value,
symbolNumberForStart='number'===$.type(data.symbols_for_start_searching) ? data.symbols_for_start_searching:2;
$(settings.searchFormClass, self).addClass(formFocusClass);
if('inside_results_area'===suggestionsPosition&&suggestionsList.length){
if(value&&getResultsOnFocus){
spinner.addClass('show');
data.value=value;
data.deviceMode=window.elementorFrontend&&window.elementorFrontend.getCurrentDeviceMode() ? window.elementorFrontend.getCurrentDeviceMode():JetSearch.getCurrentDeviceMode();
self.ajaxSendData(data, lang);
getResultsOnFocus=false;
}
if(''===value){
resultsHeader.hide();
resultsFooter.hide();
resultsList.hide();
resultsSuggestions.addClass('active');
resultsHolder.addClass('show');
self.showList();
}}
if('number'===$.type(symbolNumberForStart)&&symbolNumberForStart > value.length){
return;
}
self.showList();
};
self.blurHandler=function(event){
$(settings.searchFormClass, self).removeClass(formFocusClass);
};
self.outputMessage=function(message, messageClass){
message=message.replace(/\\/g, '');
message=message.replace(/\\*"/g, '');
messageHolder.removeClass('error show').addClass(messageClass).html(message);
};
self.formClick=function(event){
event.stopPropagation();
};
self.clickFullResults=function(event){
var searchInput=$(settings.inputClass, self),
value=searchInput.val(),
url=JetSearch.getResultsUrl(form);
event.preventDefault();
if(value.length!=0||true===allowEmptyString){
if(false===disableInputs){
disableInputs=true;
value=value.replace(/\u3000/g, ' ');
searchInput.val(value);
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
if('yes'===showSearchSuggestions||true===showSearchSuggestions){
self.addUserSearch(value);
}
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, form, url);
}else{
window.location.href=url;
}}
}};
self.changeSlide=function(number){
var currentSlide=$(settings.listSlideClass, resultsListInner).eq(number),
direction=settings.isRtl ? 1:-1,
position=number * 100 * direction;
currentSlide.scrollTop(0);
resultsListInner.css('transform', 'translateX(' + position + '%)');
resultsList.css('height', 'auto');
};
self.clickBulletHandler=function(event){
var target=$(event.target);
currentPosition=target.data('number');
self.syncNavigation();
self.changeSlide(currentPosition - 1);
};
self.clickNavigationButtonHandler=function(event){
var target=$(event.target),
direction=target.data('direction');
currentPosition=currentPosition + direction;
self.syncNavigation();
self.changeSlide(currentPosition - 1);
};
self.syncNavigation=function(){
var lastPosition=resultsListInner.data('columns'),
disableClass=settings.disableNavClass.replace('.', ''),
activeClass=settings.activeNavClass.replace('.', '');
$(settings.activeNavClass, self).removeClass(activeClass);
$(settings.disableNavClass, self).removeClass(disableClass);
$(settings.navButtonClass + '[data-number="' + currentPosition +'"]', self).addClass(activeClass);
if(1===currentPosition){
$(settings.prevClass, self).addClass(disableClass);
}
if(lastPosition===currentPosition){
$(settings.nextClass, self).addClass(disableClass);
}};
self.formSubmit=function(event){
var value=event.target.value,
url=JetSearch.getResultsUrl(form);
if(( 1 > value.length&&false===allowEmptyString)&&(13===event.keyCode||'click'===event.type) ){
return false;
}else{
if(13===event.keyCode&&allowSubmitOnEnter){
if(false===disableInputs){
disableInputs=true;
event.preventDefault();
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
self.addUserSearch(value);
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, form, url);
}else{
window.location.href=url;
}}
}}
};
self.changeHandler=function(event){
var target=$(event.target),
globalQuerySettings=$(self).data('settings');
globalQuerySettings.category__in=target.val();
data.category__in=target.val();
$(self).data('settings', globalQuerySettings);
self.inputChangeHandler({ target: $(settings.inputClass, self) })
};
self.chosenFocusHandler=function(){
self.hideList();
};
self.setResultsAreaWidth=function(){
if('fields_holder'!==data.results_area_width_by){
return;
}
resultsArea.css('width', $(settings.fieldsHolderClass, self).outerWidth());
};
self.addUserSearch=function(newSearchRequest){
if('user'===suggestionsType){
newSearchRequest=newSearchRequest.trim();
if(! storedUserSearches.some(search=> search===newSearchRequest) ){
if(storedUserSearches.length >=maxUserSearches){
storedUserSearches.shift();
}
storedUserSearches.push(newSearchRequest);
localStorage.setItem('jetUserSearches', JSON.stringify(storedUserSearches) );
}}
}
self.selectSuggestion=function(event){
const keyCode=event.keyCode||event.which;
const $target=$(event.currentTarget);
let value=$target.attr('aria-label');
if(! value){
return;
}
value=value.trim();
let url=null;
if(false===disableInputs&&!editMode){
if('keydown'===event.type){
if(13===keyCode){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
self.addUserSearch(value);
url=JetSearch.getResultsUrl(form);
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, false, url);
}else{
window.location.href=url;
}}
}else if('click'===event.type){
disableInputs=true;
$(settings.inputClass, self)[0].value=value;
self.addUserSearch(value);
url=JetSearch.getResultsUrl(form);
if(''!=customResultUrl){
customResultUrl=$.trim(customResultUrl);
url=JetSearch.getResultsUrl(form, customResultUrl);
}
if('yes'===searchLogging||true===searchLogging){
JetSearch.setFormSuggestion(value, false, url);
}else{
window.location.href=url;
}}
}}
self.customUrlActions={
selectorOnClick: 'a[href^="#jet-engine-action"][href*="event=click"]',
selectorOnHover: 'a[href^="#jet-engine-action"][href*="event=hover"], [data-url^="#jet-engine-action"][data-url*="event=hover"]',
init: function(){
var timeout=null;
$(document).on('click.JetSearch', this.selectorOnClick, function(event){
event.preventDefault();
self.customUrlActions.actionHandler(event)
});
$(document).on('click.JetSearch', this.selectorOnHover, function(event){
if('A'===event.currentTarget.nodeName){
event.preventDefault();
}});
$(document).on({
'mouseenter.JetSearch': function(event){
if(timeout){
clearTimeout(timeout);
}
timeout=setTimeout(function(){
self.customUrlActions.actionHandler(event)
}, window.JetEngineSettings.hoverActionTimeout);
},
'mouseleave.JetSearch': function(){
if(timeout){
clearTimeout(timeout);
timeout=null;
}},
}, this.selectorOnHover);
},
actions: {},
addAction: function(name, callback){
this.actions[ name ]=callback;
},
actionHandler: function(event){
var url=$(event.currentTarget).attr('href')||$(event.currentTarget).attr('data-url');
this.runAction(url);
},
runAction: function(url){
var queryParts=url.split('&'),
settings={};
queryParts.forEach(function(item){
if(-1!==item.indexOf('=') ){
var pair=item.split('=');
settings[ pair[0] ]=decodeURIComponent(pair[1]);
}});
if(! settings.action){
return;
}
var actionCb=this.actions[ settings.action ];
if(! actionCb){
return;
}
actionCb(settings);
}};
self.handleListingItemClick=function(event){
var url=$(this).data('url'),
target=$(this).data('target')||false;
if(url){
event.preventDefault();
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()){
return;
}
if(-1!==url.indexOf('#jet-engine-action') ){
self.customUrlActions.runAction(url);
}else{
if('_blank'===target){
window.open(url);
return;
}
window.location=url;
}}
};
$(settings.inputClass, self)
.on('input' + settings.searchClass, self.inputChangeHandler)
.on('focus' + settings.searchClass, self.focusHandler)
.on('blur' + settings.searchClass, self.blurHandler)
.on('keydown' + settings.searchClass, self.formSubmit);
$(settings.submitClass, self).on('click' + settings.searchClass, self.clickFullResults);
$(self)
.on('click' + settings.searchClass, self.formClick)
.on('touchend' + settings.searchClass, self.formClick)
.on('click' + settings.searchClass, settings.fullResultsClass, self.clickFullResults)
.on('click' + settings.searchClass, settings.countClass, self.clickFullResults)
.on('click' + settings.searchClass, settings.bulletClass, self.clickBulletHandler)
.on('click' + settings.searchClass, settings.numberClass, self.clickBulletHandler)
.on('click' + settings.searchClass, settings.prevClass + ':not(' + settings.disableNavClass + ')', self.clickNavigationButtonHandler)
.on('click' + settings.searchClass, settings.nextClass + ':not(' + settings.disableNavClass + ')', self.clickNavigationButtonHandler)
.on('click keydown' + settings.searchClass, settings.inlineSuggestionsItemClass, self.selectSuggestion)
.on('click keydown' + settings.searchClass, settings.resultsSuggestionItemClass, self.selectSuggestion)
.on('change', settings.chosenClass, self.changeHandler)
.on('chosen:showing_dropdown', settings.chosenClass, self.chosenFocusHandler)
.on('click' + settings.searchClass, '.jet-engine-listing-overlay-wrap:not([data-url*="event=hover"])', self.handleListingItemClick);
if(! allowSubmitOnEnter){
$(window).keydown(function(event){
if(13===event.keyCode&&event.target.className.includes('jet-ajax-search') ){
event.preventDefault();
return false;
}});
}
$(self).on('keydown', function(e){
const keyCode=e.keyCode||e.which;
if(9===keyCode){
setTimeout(()=> {
const focusedElement=document.activeElement;
if($(focusedElement).is('.chosen-search-input') ){
$('.chosen-single', self).addClass('focused');
}else{
$('.chosen-single', self).removeClass('focused');
}}, 50);
}});
$(settings.inputClass, self).on('click' + settings.searchClass, ()=> {
$('.chosen-single', self).removeClass('focused');
});
if(''!=categoryIndex){
let target=$(settings.chosenClass, self),
globalQuerySettings=$(self).data('settings'),
categorySelect=$('.jet-ajax-search__categories-select', self),
currentCategory='';
categorySelect.find('option').each(function(){
var value=$(this).val();
if(value===categoryIndex){
currentCategory=$(this).text();
}});
categorySelect.find('option:contains("' + currentCategory + '")').attr('selected', 'selected');
globalQuerySettings.category__in=target.val();
data.category__in=target.val();
$(self).data('settings', globalQuerySettings);
}else{
if('0'!==$(settings.chosenClass, self).val()){
$(settings.chosenClass, self).trigger('change');
}}
$('body')
.on('click' + settings.searchClass, self.hideList)
.on('touchend' + settings.searchClass, self.hideList);
self.setResultsAreaWidth();
$(window).on('resize' + settings.searchClass, self.setResultsAreaWidth);
$(window).on('orientationchange resize', function (){
resultsListInner.imagesLoaded(function(){
const $firstSlide=$(settings.listSlideClass, resultsListInner).eq(0);
const firstSlideHeight=$firstSlide.length ? $firstSlide.outerHeight():0;
resultsList.css('height', firstSlideHeight > 0 ? firstSlideHeight:'auto');
});
});
}else{
return 'is init: true';
}};
$(window).on('elementor/frontend/init', JetSearch.initElementor);
JetSearch.initBlocks();
window.jetSearchBricks=function(){
JetSearch.initBricks();
}
window.JetSearch=JetSearch;
}(jQuery));
(()=>{var t={507:(t,e,r)=>{"use strict";r.d(e,{A:()=>A});var n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var i=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var o=function(t,e){return function(r,o,s,c=10){const l=t[e];if(!i(r))return;if(!n(o))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:o};if(l[r]){const t=l[r].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=a:t.splice(e,0,a),l.__current.forEach((t=>{t.name===r&&t.currentIndex>=e&&t.currentIndex++}))}else l[r]={handlers:[a],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,o,s,c)}};var s=function(t,e,r=!1){return function(o,s){const c=t[e];if(!i(o))return;if(!r&&!n(s))return;if(!c[o])return 0;let l=0;if(r)l=c[o].handlers.length,c[o]={runs:c[o].runs,handlers:[]};else{const t=c[o].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==o&&t.doAction("hookRemoved",o,s),l}};var c=function(t,e){return function(r,n){const i=t[e];return void 0!==n?r in i&&i[r].handlers.some((t=>t.namespace===n)):r in i}};var l=function(t,e,r,n){return function(i,...o){const s=t[e];s[i]||(s[i]={handlers:[],runs:0}),s[i].runs++;const c=s[i].handlers;if(!c||!c.length)return r?o[0]:void 0;const l={name:i,currentIndex:0};return(n?async function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){const e=c[l.currentIndex];t=await e.callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}}:function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){t=c[l.currentIndex].callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}})()}};var a=function(t,e){return function(){const r=t[e],n=Array.from(r.__current);return n.at(-1)?.name??null}};var d=function(t,e){return function(r){const n=t[e];return void 0===r?n.__current.size>0:Array.from(n.__current).some((t=>t.name===r))}};var u=function(t,e){return function(r){const n=t[e];if(i(r))return n[r]&&n[r].runs?n[r].runs:0}};class h{actions;filters;addAction;addFilter;removeAction;removeFilter;hasAction;hasFilter;removeAllActions;removeAllFilters;doAction;doActionAsync;applyFilters;applyFiltersAsync;currentAction;currentFilter;doingAction;doingFilter;didAction;didFilter;constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=o(this,"actions"),this.addFilter=o(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=c(this,"actions"),this.hasFilter=c(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=l(this,"actions",!1,!1),this.doActionAsync=l(this,"actions",!1,!0),this.applyFilters=l(this,"filters",!0,!1),this.applyFiltersAsync=l(this,"filters",!0,!0),this.currentAction=a(this,"actions"),this.currentFilter=a(this,"filters"),this.doingAction=d(this,"actions"),this.doingFilter=d(this,"filters"),this.didAction=u(this,"actions"),this.didFilter=u(this,"filters")}}var A=function(){return new h}},8770:()=>{}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{actions:()=>x,addAction:()=>s,addFilter:()=>c,applyFilters:()=>m,applyFiltersAsync:()=>v,createHooks:()=>t.A,currentAction:()=>y,currentFilter:()=>F,defaultHooks:()=>o,didAction:()=>b,didFilter:()=>k,doAction:()=>f,doActionAsync:()=>p,doingAction:()=>_,doingFilter:()=>g,filters:()=>w,hasAction:()=>d,hasFilter:()=>u,removeAction:()=>l,removeAllActions:()=>h,removeAllFilters:()=>A,removeFilter:()=>a});var t=r(507),e=r(8770),i={};for(const t in e)["default","actions","addAction","addFilter","applyFilters","applyFiltersAsync","createHooks","currentAction","currentFilter","defaultHooks","didAction","didFilter","doAction","doActionAsync","doingAction","doingFilter","filters","hasAction","hasFilter","removeAction","removeAllActions","removeAllFilters","removeFilter"].indexOf(t)<0&&(i[t]=()=>e[t]);r.d(n,i);const o=(0,t.A)(),{addAction:s,addFilter:c,removeAction:l,removeFilter:a,hasAction:d,hasFilter:u,removeAllActions:h,removeAllFilters:A,doAction:f,doActionAsync:p,applyFilters:m,applyFiltersAsync:v,currentAction:y,currentFilter:F,doingAction:_,doingFilter:g,didAction:b,didFilter:k,actions:x,filters:w}=o})(),(window.wp=window.wp||{}).hooks=n})();
(()=>{"use strict";var t={d:(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};t.r(n),t.d(n,{__:()=>F,_n:()=>L,_nx:()=>D,_x:()=>w,createI18n:()=>h,defaultI18n:()=>b,getLocaleData:()=>g,hasTranslation:()=>O,isRTL:()=>P,resetLocaleData:()=>x,setLocaleData:()=>v,sprintf:()=>l,subscribe:()=>m});var e,r,a,i,o=/%(((\d+)\$)|(\(([$_a-zA-Z][$_a-zA-Z0-9]*)\)))?[ +0#-]*\d*(\.(\d+|\*))?(ll|[lhqL])?([cduxXefgsp%])/g;function l(t,...n){return function(t,...n){var e=0;return Array.isArray(n[0])&&(n=n[0]),t.replace(o,(function(){var t,r,a,i,o;return t=arguments[3],r=arguments[5],"%"===(i=arguments[9])?"%":("*"===(a=arguments[7])&&(a=n[e],e++),void 0===r?(void 0===t&&(t=e+1),e++,o=n[t-1]):n[0]&&"object"==typeof n[0]&&n[0].hasOwnProperty(r)&&(o=n[0][r]),"f"===i?o=parseFloat(o)||0:"d"===i&&(o=parseInt(o)||0),void 0!==a&&("f"===i?o=o.toFixed(a):"s"===i&&(o=o.substr(0,a))),null!=o?o:"")}))}(t,...n)}e={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},r=["(","?"],a={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var s={"!":function(t){return!t},"*":function(t,n){return t*n},"/":function(t,n){return t/n},"%":function(t,n){return t%n},"+":function(t,n){return t+n},"-":function(t,n){return t-n},"<":function(t,n){return t<n},"<=":function(t,n){return t<=n},">":function(t,n){return t>n},">=":function(t,n){return t>=n},"==":function(t,n){return t===n},"!=":function(t,n){return t!==n},"&&":function(t,n){return t&&n},"||":function(t,n){return t||n},"?:":function(t,n,e){if(t)throw n;return e}};function u(t){var n=function(t){for(var n,o,l,s,u=[],d=[];n=t.match(i);){for(o=n[0],(l=t.substr(0,n.index).trim())&&u.push(l);s=d.pop();){if(a[o]){if(a[o][0]===s){o=a[o][1]||o;break}}else if(r.indexOf(s)>=0||e[s]<e[o]){d.push(s);break}u.push(s)}a[o]||d.push(o),t=t.substr(n.index+o.length)}return(t=t.trim())&&u.push(t),u.concat(d.reverse())}(t);return function(t){return function(t,n){var e,r,a,i,o,l,u=[];for(e=0;e<t.length;e++){if(o=t[e],i=s[o]){for(r=i.length,a=Array(r);r--;)a[r]=u.pop();try{l=i.apply(null,a)}catch(t){return t}}else l=n.hasOwnProperty(o)?n[o]:+o;u.push(l)}return u[0]}(n,t)}}var d={contextDelimiter:"",onMissingKey:null};function c(t,n){var e;for(e in this.data=t,this.pluralForms={},this.options={},d)this.options[e]=void 0!==n&&e in n?n[e]:d[e]}c.prototype.getPluralForm=function(t,n){var e,r,a,i=this.pluralForms[t];return i||("function"!=typeof(a=(e=this.data[t][""])["Plural-Forms"]||e["plural-forms"]||e.plural_forms)&&(r=function(t){var n,e,r;for(n=t.split(";"),e=0;e<n.length;e++)if(0===(r=n[e].trim()).indexOf("plural="))return r.substr(7)}(e["Plural-Forms"]||e["plural-forms"]||e.plural_forms),a=function(t){var n=u(t);return function(t){return+n({n:t})}}(r)),i=this.pluralForms[t]=a),i(n)},c.prototype.dcnpgettext=function(t,n,e,r,a){var i,o,l;return i=void 0===a?0:this.getPluralForm(t,a),o=e,n&&(o=n+this.options.contextDelimiter+e),(l=this.data[t][o])&&l[i]?l[i]:(this.options.onMissingKey&&this.options.onMissingKey(e,t),0===i?e:r)};const p={plural_forms:t=>1===t?0:1},f=/^i18n\.(n?gettext|has_translation)(_|$)/,h=(t,n,e)=>{const r=new c({}),a=new Set,i=()=>{a.forEach((t=>t()))},o=(t,n="default")=>{r.data[n]={...r.data[n],...t},r.data[n][""]={...p,...r.data[n]?.[""]},delete r.pluralForms[n]},l=(t,n)=>{o(t,n),i()},s=(t="default",n,e,a,i)=>(r.data[t]||o(void 0,t),r.dcnpgettext(t,n,e,a,i)),u=t=>t||"default",d=(t,n,r)=>{let a=s(r,n,t);return e?(a=e.applyFilters("i18n.gettext_with_context",a,t,n,r),e.applyFilters("i18n.gettext_with_context_"+u(r),a,t,n,r)):a};if(t&&l(t,n),e){const t=t=>{f.test(t)&&i()};e.addAction("hookAdded","core/i18n",t),e.addAction("hookRemoved","core/i18n",t)}return{getLocaleData:(t="default")=>r.data[t],setLocaleData:l,addLocaleData:(t,n="default")=>{r.data[n]={...r.data[n],...t,"":{...p,...r.data[n]?.[""],...t?.[""]}},delete r.pluralForms[n],i()},resetLocaleData:(t,n)=>{r.data={},r.pluralForms={},l(t,n)},subscribe:t=>(a.add(t),()=>a.delete(t)),__:(t,n)=>{let r=s(n,void 0,t);return e?(r=e.applyFilters("i18n.gettext",r,t,n),e.applyFilters("i18n.gettext_"+u(n),r,t,n)):r},_x:d,_n:(t,n,r,a)=>{let i=s(a,void 0,t,n,r);return e?(i=e.applyFilters("i18n.ngettext",i,t,n,r,a),e.applyFilters("i18n.ngettext_"+u(a),i,t,n,r,a)):i},_nx:(t,n,r,a,i)=>{let o=s(i,a,t,n,r);return e?(o=e.applyFilters("i18n.ngettext_with_context",o,t,n,r,a,i),e.applyFilters("i18n.ngettext_with_context_"+u(i),o,t,n,r,a,i)):o},isRTL:()=>"rtl"===d("ltr","text direction"),hasTranslation:(t,n,a)=>{const i=n?n+""+t:t;let o=!!r.data?.[a??"default"]?.[i];return e&&(o=e.applyFilters("i18n.has_translation",o,t,n,a),o=e.applyFilters("i18n.has_translation_"+u(a),o,t,n,a)),o}}},_=window.wp.hooks,y=h(void 0,void 0,_.defaultHooks);var b=y;const g=y.getLocaleData.bind(y),v=y.setLocaleData.bind(y),x=y.resetLocaleData.bind(y),m=y.subscribe.bind(y),F=y.__.bind(y),w=y._x.bind(y),L=y._n.bind(y),D=y._nx.bind(y),P=y.isRTL.bind(y),O=y.hasTranslation.bind(y);(window.wp=window.wp||{}).i18n=n})();