var SV=window.SV||{};SV.ElasticSearchEssentials=SV.ElasticSearchEssentials||{}; (function(e,m,n,p){XF.QuickSearch=XF.extend(XF.QuickSearch,{__backup:{init:"svESS_init"},options:e.extend({},XF.QuickSearch.prototype.options,{single:!1,multiple:",",acurl:"",minLength:2,jsonContainer:"results",autosubmit:!1,isAutoComplete:!0,searchEndpoint:null,autocompleteFilter:null,timeout:200}),loadTimer:null,loadVal:"",results:null,input:null,$form:null,constraintLookup:{},$constraints:null,init:function(){this.svESS_init();this.options.isAutoComplete&&(this.searchEndpoint=XF.canonicalizeUrl("index.php?search/search&autocomplete=1")); if(this.searchEndpoint)if(this.input=this.$target.find('[name="keywords"]'),this.input.length||(this.input=e('[name="keywords"]')),this.input.length)if(this.$target.is("form")?this.$form=this.$target:this.$form=this.input.closest("form"),this.$form.length){var a=this.$target.find('[name="search_type"]');a.length||(a=e('[name="search_type"]'));if(a.length&&(a=a.val())&&this.options.autocompleteFilter&&-1===this.options.autocompleteFilter.indexOf(a)){console.error("search type ("+a+") excluded from auto-complete"); return}if(this.options.autocompleteFilter){this.$constraints=this.$target.find('select[name="constraints"]');var b=this.options.autocompleteFilter,c=this.constraintLookup;a=this.$constraints.find("option");a.each(function(d,f){f=e(f);var g=null;d=f.val();if(f.data("suggestOptout"))c[d]=!1;else{if(0!==d.length){try{g=JSON.parse(d)}catch(k){c[d]=!1;return}if(g&&"search_type"in g&&(f=g.search_type)&&-1===b.indexOf(f)){c[d]=!1;return}}c[d]=!0}});a.length||(this.constraintLookup=null)}this.results=new SV.ElasticSearchEssentials.AutoCompleteResults({input:this.input, form:this.$form,onInsert:XF.proxy(this,"addValue")});this.input.attr("autocomplete","off").on({keydown:XF.proxy(this,"keydown"),keyup:XF.proxy(this,"keyup"),blur:XF.proxy(this,"blur"),paste:function(){setTimeout(XF.proxy(this,"paste"),0)}});this.$form.submit(XF.proxy(this,"hideResultsContainer"))}else console.error("Unable to find target form.");else console.error("Unable to find keywords input.");else console.error("No valid endpoint provided.")},canTriggerAutoComplete:function(){if(this.constraintLookup&& this.$constraints){var a=this.$constraints.val();return void 0===a||!!this.constraintLookup[a]}return!0},paste:function(a){this.canTriggerAutoComplete()&&this.input.trigger("keydown")},keydown:function(a){if(this.results.isVisible()&&this.canTriggerAutoComplete()){var b=this.results,c=function(){a.preventDefault();a.stopPropagation();return!1};switch(a.which){case 40:return b.selectResult(1),c();case 38:return b.selectResult(-1),c();case 13:return b.insertSelectedResult()?c():!0}}},keyup:function(a){if(this.canTriggerAutoComplete()){if(this.results.isVisible())switch(a.which){case 27:return this.hideResultsContainer(), a.preventDefault(),a.stopPropagation(),!1;case 13:this.hideResultsContainer();return;case 40:case 38:case 16:case 17:case 18:case 97:case 35:case 103:case 36:case 37:case 39:case 20:return}this.loadTimer&&clearTimeout(this.loadTimer);this.loadTimer=setTimeout(XF.proxy(this,"load"),this.options.timeout)}},blur:function(a){clearTimeout(this.loadTimer);this.xhr&&(this.xhr.abort(),this.xhr=!1)},load:function(){var a=this.loadVal;this.loadTimer&&clearTimeout(this.loadTimer);this.loadVal=this.getPartialValue(); ""===this.loadVal?this.hideResultsContainer():this.loadVal===a||this.loadVal.length").css({display:"none",width:"100%",position:"relative"}).addClass(this.options.searchResultsContainerClass).attr("data-input-parent-selector","#"+c);c=!0;if(a.hasClass("menu-content")){var d=b.parent();d.hasClass("inputGroup")&&(d=b.parent().parent());c=!1;this.$resultsContainer.addClass("menu-row").insertAfter(d)}else a.hasClass("uix_searchForm")? (c=!1,d=b.closest(".uix_searchBar").find(".uix_searchDropdown__menu > form.menu-content"),this.$resultsContainer.addClass("menu-row").prependTo(d)):a.parent().hasClass("focus-wrap-search")?(c=!1,d=a.find(".focus-search-menu"),this.$resultsContainer.addClass("menu-row").prependTo(d)):"svESE_searchBlock"===a.attr("data-widget-definition")&&(d=b.parent(),d.hasClass("inputGroup")||(c=!1,this.$resultsContainer.addClass("block-row").insertAfter(d)));c&&this.$resultsContainer.css({position:"absolute",display:"none", width:this.getContainerWidth(a,b)}).appendTo(n.body);if(!this.resizeBound)e(m).onPassive("resize",XF.proxy(this,"hideResultsContainer"));a=e('').css({float:"right"}).appendTo(this.$resultsContainer).on({click:XF.proxy(this,"hideContainer")});XF.setRelativeZIndex(this.$resultsContainer,b,1);XF.setRelativeZIndex(a,this.$resultsContainer,1);this.resultsVisible=!1}},showContainer:function(a,b){if(!0!== this.resultsVisible)if(a=void 0===a?this.options.form:a,b=void 0===b?this.options.input:b,this.$resultsContainer){var c=b.attr("data-apply-sv-ese-style-patches");if("true"===c||void 0===c){c=!0;if(a.hasClass("menu-content")){c=!1;var d=b.parent();d.hasClass("inputGroup")&&(d=b.parent().parent());this.$resultsContainer.attr("data-original-padding-top",XF.htmlspecialchars(this.$resultsContainer.css("padding-top"))).css({paddingTop:0});d.attr("data-original-padding-bottom",XF.htmlspecialchars(d.css("padding-bottom"))).css({paddingBottom:0})}else a.hasClass("uix_searchForm")? (c=!1,d=b.closest(".uix_searchBar"),d.find(".p-navgroup-link:visible").length&&d.find(".uix_search--settings > i").trigger("click")):a.parent().hasClass("focus-wrap-search")?(c=!1,this.$resultsContainer.attr("data-original-padding",XF.htmlspecialchars(this.$resultsContainer.css("padding"))).css({padding:0}),this.$results.attr("data-original-box-shadow",XF.htmlspecialchars(this.$results.css("box-shadow"))).attr("data-original-margin-top",XF.htmlspecialchars(this.$results.css("margin-top"))).css({boxShadow:"none", marginTop:-1})):"svESE_searchBlock"===a.attr("data-widget-definition")&&(d=b.parent(),d.hasClass("inputGroup")||(c=!1,this.$resultsContainer.attr("data-original-padding-top",XF.htmlspecialchars(this.$resultsContainer.css("padding-top"))).css({paddingTop:0}),d.attr("data-original-padding-bottom",XF.htmlspecialchars(this.$resultsContainer.css("padding-bottom"))).css({paddingBottom:0}),this.$results.attr("data-original-margin-top",XF.htmlspecialchars(this.$results.css("margin-top"))).css({marginTop:-1}))); if(c){this.$resultsContainer.css({top:"",left:"",right:"",bottom:"",width:this.getContainerWidth(a,b)});var f=this.$resultsContainer,g=function(){var k=b.offset(),h={top:k.top+b.outerHeight(),left:k.left};XF.isRtl()&&(h.right=e("html").width()-k.left-b.outerWidth(),h.left="auto");return h};this.stopScrollWatching();(a=b.parents().filter(function(){switch(e(this).css("overflow-x")){case "scroll":case "auto":return!0;default:return!1}}))&&a.length&&(a.on("scroll.autocomplete",function(){f.css(g())}), this.$scrollWatchers=a);this.$resultsContainer.css(g())}}this.$resultsContainer.show();this.resultsVisible=!0}else console.error("Results container does not exist.")},hideContainer:function(a,b,c){if(!1!==this.resultsVisible)if(b=void 0===b?this.options.form:b,c=void 0===c?this.options.input:c,this.$resultsContainer){a=c.attr("data-apply-sv-ese-style-patches");if("true"===a||void 0===a)if(b.hasClass("menu-content")){var d=c.parent();d.hasClass("inputGroup")&&(d=c.parent().parent());b=this.$resultsContainer.attr("data-original-padding-top"); a=d.attr("data-original-padding-bottom");if(void 0===b||void 0===a){console.error("Original padding information missing.");return}this.$resultsContainer.css({paddingTop:b}).removeAttr("data-original-padding-top");d.css({paddingBottom:a}).removeAttr("data-original-padding-bottom")}else if(b.hasClass("uix_searchForm"))c=c.closest(".uix_searchBar"),c.find(".p-navgroup-link:visible").length&&c.find(".uix_search--settings > i").trigger("click");else if(b.parent().hasClass("focus-wrap-search")){b=this.$resultsContainer.attr("data-original-padding"); if(void 0===b){console.error("Original padding information missing.");return}a=this.$results.attr("data-original-box-shadow");if(void 0===a){console.error("Original box-shadow information missing.");return}c=this.$results.attr("data-original-margin-top");if(void 0===c){console.error("Original margin information missing");return}this.$resultsContainer.css({padding:b}).removeAttr("data-original-padding");this.$results.css({boxShadow:a,marginTop:c}).removeAttr("data-original-box-shadow")}else if("svESE_searchBlock"=== b.attr("data-widget-definition")){if(d=c.parent(),!d.hasClass("inputGroup")){b=this.$resultsContainer.attr("data-original-padding-top");a=d.attr("data-original-padding-bottom");if(void 0===b||void 0===a){console.error("Original padding information missing.");return}c=this.$results.attr("data-original-margin-top");if(void 0===c){console.error("Original margin information missing");return}this.$resultsContainer.css({paddingTop:b}).removeAttr("data-original-padding-top");d.css({paddingBottom:a}).removeAttr("data-original-padding-bottom"); this.$results.css({marginTop:c}).removeAttr("data-original-margin-top")}}else this.$resultsContainer.css({width:this.getContainerWidth(b,c)});this.$results.empty();this.$resultsContainer.hide();this.resultsVisible=!1}else console.error("Results container does not exist.")},hideResultsContainer:function(a,b,c){this.$results&&this.$results.empty();this.hideContainer(a,b,c);this.stopScrollWatching()},getContainerWidth:function(a,b){a=this.$resultsContainer.attr("data-input-parent-selector");if(void 0=== a)return b.outerWidth();a=e(a);return a.length?a.hasClass("inputGroup")?a.width():a.hasClass("xb-search--field")?a.parent().width():b.outerWidth():b.width()},stopScrollWatching:function(){this.$scrollWatchers&&(this.$scrollWatchers.off("scroll.autocomplete"),this.$scrollWatchers=null)},showResults:function(a,b,c){var d,f=this;if(b&&b.length){a=this.options.form;this.$resultsContainer?this.hideContainer(null,a,c):this.createContainer(a,c);this.$results?this.$results.empty():this.$results=e("