/* global window */ (function (w) { 'use strict'; const document = w.document, console = w.console, run = () => { const mobileNavContainer = document.querySelector('[data-role="mobileNavContainer"]'); if (!mobileNavContainer || !w.mainNav || !w.topNav) { console.warn('Menu container/items not found'); return; } const findChildren = (parentItem, navItem) => { if (parseInt(navItem.menu_item_parent) === parentItem.ID) { if (!parentItem.children) { parentItem.children = []; } parentItem.children.push(navItem); } }, organizeMenuItems = (menuItems) => { let navItems = {}; navItems.l2 = []; menuItems .forEach( (item) => { if (parseInt(item.menu_item_parent) === 0) { navItems.l2.push(item); } } ) ; navItems .l2 .forEach( (l2Item) => { menuItems .forEach(( item) => { findChildren(l2Item, item); } ) ; if (!l2Item.children) { return; } l2Item .children .forEach( (child) => { menuItems .forEach( (item) => { findChildren(child, item); } ) ; if (child.children) { child.children.forEach( (child2) => { menuItems.forEach( (item) => { findChildren(child2, item); } ); } ); } } ) ; } ); return navItems; }, mainNavItems = organizeMenuItems(w.mainNav), topNavItems = organizeMenuItems(w.topNav), buildMobileNav = () => { //create dialog let dialog = document.createElement('dialog'); dialog.classList.add('mobile-nav'); dialog.setAttribute('data-role', 'mobileNav'); dialog.open = false; //remove active classes function const removeActiveClasses = (breakAfterFirstIteration = true) => { //MUST be in descending order because loop will break after its first successful iteration const activeMenuItemClasses = ['.l4-menu-item.active', '.l3-menu-item.active', '.l2-container.active']; for (let i = 0; i < activeMenuItemClasses.length; i++) { let activeClass = activeMenuItemClasses[i]; if (dialog.querySelectorAll(activeClass) && dialog.querySelectorAll(activeClass).length > 0) { dialog.querySelectorAll(activeClass).forEach((activeItem) => { activeItem.classList.remove('active'); }); if (breakAfterFirstIteration) { break; } } } }; //create close button let closeBtn = document.createElement('button'); closeBtn.classList.add('close-button'); closeBtn.innerHTML = ``; closeBtn.addEventListener('click', () => { dialog.close(); removeActiveClasses(false); }); //append close button dialog.appendChild(closeBtn); //create back button const backButton = document.createElement('button'); backButton.classList.add('back-button'); backButton.innerHTML = ``; backButton.addEventListener('click', () => { removeActiveClasses(); }); //append back button dialog.appendChild(backButton); //expand button function const createExpandButton = (container, className) => { const expandButton = document.createElement('button'); expandButton.classList.add(className); expandButton.setAttribute('data-role', 'expandButton'); expandButton.innerHTML = ``; expandButton.addEventListener('click', () => { container.classList.add('active'); }); container.appendChild(expandButton); }; const createLink = (item, classNames, topLevelBool, parentDiv = null, level, childrenDiv = null) => { const container = document.createElement('div'); const link = document.createElement('a'); classNames.forEach((className) => { container.classList.add(className); }); link.classList.add('expand-link'); link.href = item.url; link.innerHTML = item.title; container.appendChild(link); //Run the function again one level deeper if there are children if (item.children) { level = parseInt(level); level++; createExpandButton(container, 'expand-arrow'); const childrenContainer = document.createElement('div'); childrenContainer.classList.add('mobile-menu-children', 'l' + level + '-container'); item.children.forEach((child) => { createLink(child, ['l' + level + '-menu-item', 'mobile-menu-item'], false, container, level, childrenContainer); }); } if (topLevelBool) { dialog.appendChild(container); } else if (childrenDiv) { childrenDiv.appendChild(container); parentDiv.appendChild(childrenDiv); } else { //TODO: add error handling console.warn('something went wrong'); } }; //Main Nav mainNavItems.l2.forEach((l2) => { (createLink(l2, ['l2-container', 'mobile-menu-item'], true, null, 2, null)); }); //Top Nav mobileNavContainer.appendChild(dialog); const mobileTopNavContainer = document.createElement('div'); mobileTopNavContainer.classList.add('mobile-top-nav-container'); topNavItems.l2.forEach((topNavL2) => { const topNavl2Container = document.createElement('div'); const topNavl2Link = document.createElement('a'); topNavl2Container.classList.add('l2-container', 'mobile-menu-item', 'top-nav-menu-item'); topNavl2Link.classList.add('l2-link'); topNavl2Link.href = topNavL2.url; topNavl2Link.innerHTML = topNavL2.title; topNavl2Container.appendChild(topNavl2Link); mobileTopNavContainer.appendChild(topNavl2Container); }); dialog.appendChild(mobileTopNavContainer); }, //Start:open mobile nav button mobileNavButton = document.querySelector('[data-role="mobileNavButton"]') ; if (!mobileNavButton) { console.warn('Mobile Nav Button not found'); return; } // build the nav upon click mobileNavButton.addEventListener('click', () => { buildMobileNav(); const dialog = document.querySelector('[data-role="mobileNav"]'); if (!dialog) { console.warn('Mobile Nav Dialog not found'); return; } dialog.showModal(); }); w .addEventListener( 'resize', () => { if (w.screen.width < 720) { return; } const dialog = document.querySelector('[data-role="mobileNav"]'); if (dialog && dialog.open) { dialog.close(); } } ) ; }, init = () => { if (['complete', 'interactive'].includes(document.readyState)) { run(); } else { document.addEventListener('DOMContentLoaded', run); } }; init(); })(window); ; /* global window */ (function (w) { 'use strict'; const document = w.document, console = w.console, resizeClientLogoActual = () => { const width = w.innerWidth, s = document.getElementById('logo-overlay'), hs = w.getComputedStyle(s).getPropertyValue('--hero-ideal-height'), heroShiftLeft = parseInt(w.getComputedStyle(s).getPropertyValue('--hero-shift-left'), 10), wToHRatio = 3 / 4, h = parseInt(hs, 10) * 10, p = s.querySelector('path'), startX = (width / 2) - heroShiftLeft, startY = h - 25, maxHeight = h - 50, maxWidth = maxHeight * wToHRatio, angle = w.getComputedStyle(s).getPropertyValue('--hero-svg-angle'), path = ` m ${startX}, ${startY} h -${maxWidth} v -${maxHeight} h ${maxWidth} a ${angle} ${angle} 0 0 1 1 ${maxHeight} `; if (isNaN(h)) { console.error('Height is NaN'); return; } p.setAttribute('d', path); }, run = () => { resizeClientLogoActual(); w .addEventListener( 'resize', () => { resizeClientLogoActual(); } ) ; }, init = () => { if (['complete', 'interactive'].includes(document.readyState)) { run(); } else { document.addEventListener('DOMContentLoaded', run); } }; init(); })(window); ; /* global window */ (function (window) { 'use strict'; const document = window.document; const run = () => { class Accordion { constructor(el, container) { // Store the
element this.el = el; this.container = container; // Store the element this.summary = el.querySelector("summary"); this.link = el.querySelector("summary a"); this.svg = el.querySelector("summary svg:last-child"); // Store the
element this.content = el.querySelector(".content-area"); // // Store the animation object (so we can cancel it if needed) this.animation = null; // // Store if the element is closing this.isClosing = false; // // Store if the element is expanding this.isExpanding = false; // // Detect user clicks on the summary element this.summary.addEventListener("click", (e) => this.onClick(e)); this.el.addEventListener("close", () => this.shrink()); } onClick(e) { if (e.target.tagName.toLowerCase() !== 'a') { e.preventDefault(); } // Stop default behaviour from the browser // Add an overflow on the
to avoid content overflowing this.el.style.overflow = "hidden"; // Check if the element is being closed or is already closed if (this.isClosing || !this.el.open) { this.open(); // Check if the element is being opened or is already open } else if (this.isExpanding || this.el.open) { this.shrink(); } } getTransitionDuration(openOrClose) { if ('open' === openOrClose && this.el.hasAttribute('data-transition-duration-open-in-ms')) { return parseInt(this.el.getAttribute('data-transition-duration-open-in-ms'), 10); } if ('close' === openOrClose && this.el.hasAttribute('data-transition-duration-close-in-ms')) { return parseInt(this.el.getAttribute('data-transition-duration-close-in-ms'), 10); } if (this.el.hasAttribute('data-transition-duration-in-ms')) { return parseInt(this.el.getAttribute('data-transition-duration-in-ms'), 10); } return 200; } shrink() { // Set the element as "being closed" this.isClosing = true; // Store the current height of the element const startHeight = `${this.el.offsetHeight}px`; // Calculate the height of the summary const endHeight = `${this.summary.offsetHeight}px`; // If there is already an animation running if (this.animation) { // Cancel the current animation this.animation.cancel(); } // Start a WAAPI animation this.animation = this.el.animate( { // Set the keyframes from the startHeight to endHeight height: [startHeight, endHeight], }, { duration: this.getTransitionDuration('close'), easing: "linear", } ) ; // When the animation is complete, call onAnimationFinish() this.animation.onfinish = () => this.onAnimationFinish(false); // If the animation is cancelled, isClosing variable is set to false this.animation.oncancel = () => (this.isClosing = false); this.el.classList.add("closing"); this.el.classList.toggle('accordion-open'); } open() { // Apply a fixed height on the element this.el.style.height = `auto`; // Force the [open] attribute on the details element this.el.open = true; if (this.container) { this.closeAllButThis(); } // Wait for the next frame to call the expand function window.requestAnimationFrame(() => this.expand()); } closeAllButThis() { // Triggering "close" event for any attached listeners on the . const closeEvent = new window.CustomEvent("close", { bubbles: false, cancelable: false, }); this.container.querySelectorAll("details").forEach((item) => { if (item !== this.summary) { item.dispatchEvent(closeEvent); } }); } expand() { // Set the element as "being expanding" this.isExpanding = true; // Get the current fixed height of the element const startHeight = `${this.summary.offsetHeight}px`; // Calculate the open height of the element (summary height + content height) const endHeight = `${this.el.offsetHeight}px`; this.el.classList.add('opening'); this.el.classList.toggle('accordion-open'); // If there is already an animation running if (this.animation) { // Cancel the current animation this.animation.cancel(); } // Start a WAAPI animation this.animation = this.el.animate({ // Set the keyframes from the startHeight to endHeight height: [startHeight, endHeight], }, { duration: this.getTransitionDuration('open'), easing: "linear", }); // When the animation is complete, call onAnimationFinish() this.animation.onfinish = () => this.onAnimationFinish(true); // If the animation is cancelled, isExpanding variable is set to false this.animation.oncancel = () => { this.onAnimationCancel(); }; } onAnimationCancel() { this.isExpanding = false; this.el.classList.remove("opening"); this.el.classList.remove("closing"); } onAnimationFinish(open) { // Set the open attribute based on the parameter this.el.open = open; // Clear the stored animation this.animation = null; // Reset isClosing & isExpanding this.isClosing = false; this.isExpanding = false; // Remove the overflow hidden and the fixed height this.el.style.height = this.el.style.overflow = ""; this.el.classList.remove("opening"); this.el.classList.remove("closing"); } } document.querySelectorAll("details").forEach((el) => { if (!el.hasAttribute("data-always-open")) { new Accordion(el, null); } }); }, init = () => { if (['complete', 'interactive'].includes(document.readyState)) { run(); } else { document.addEventListener('DOMContentLoaded', run); } }; init(); })(window); ; /*global window */ (function (w) { 'use strict'; //Force strict mode const document = w.document, load = () => { document .querySelectorAll('.component-accordion details[data-always-open] summary') .forEach( (el) => { el .addEventListener( 'click', (e) => { e.preventDefault(); } ) ; } ) ; }, init = () => { if (['complete', 'interactive'].includes(document.readyState)) { //If the DOM is already set then invoke our load function load(); } else { //Otherwise, wait for the ready event document.addEventListener('DOMContentLoaded', load); } } ; //Kick everything off init(); } )(window); ; /*global window */ (function (w) { 'use strict'; //Force strict mode const document = w.document, accordionRoleSelector = '[data-role="accordion"]', load = () => { document .querySelectorAll(`${accordionRoleSelector} [data-role="accordion-controls"] button`) .forEach( (button) => { button .addEventListener( 'click', (event) => { event.preventDefault(); const action = button.getAttribute('data-action'), parent = button.closest(accordionRoleSelector) ; if (!action || !parent) { return; } parent .querySelectorAll('details:not([data-always-open])') .forEach( (details) => { details.toggleAttribute('open', action === 'expand-all'); } ) ; } ) ; } ) ; }, init = () => { if (['complete', 'interactive'].includes(document.readyState)) { //If the DOM is already set then invoke our load function load(); } else { //Otherwise, wait for the ready event document.addEventListener('DOMContentLoaded', load); } } ; //Kick everything off init(); } )(window); ; /* global window */ (function (w) { const document = w.document, openItemById = function (id) { const target = document.getElementById(id); if (!target) { return; } // This allows linking within an accordion item, too if (target.nodeName === "DETAILS" || target.closest('details')) { target.open = true; target.scrollIntoView(); } }, //NOTE: This is for linking to accordions on the same page assignLinkEventListener = () => { document.querySelectorAll('a').forEach((link) => { if (link.href) { const hash = new w.URL(link.href).hash.substring(1); if (!hash) { return; } const target = document.getElementById(hash); if (!target) { return; } link.addEventListener('click', () => { openItemById(hash); }); } }); }, lookForPageLoadHash = function () { const hash = w.location.hash.substring(1); if (!hash) { return; } openItemById(hash); }, load = function () { assignLinkEventListener(); lookForPageLoadHash(); }, init = function () { if (['complete', 'interactive'].indexOf(document.readyState) >= 0) { // If the DOM is already set, then load load(); } else { //Otherwise, wait for the ready event document.addEventListener('DOMContentLoaded', load); } } ; init(); }(window)); ; /* global window */ (function (window) { 'use strict'; const COOKIE_NAME = 'WEBSITE-ACCEPT-COOKIES'; const document = window.document, console = window.console, setCookie = (name, value, days) => { const d = new Date; d.setTime(d.getTime() + 24 * 60 * 60 * 1000 * days); document.cookie = name + '=' + value + ';path=/;expires=' + d.toGMTString(); }, getCookie = (name) => { const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); return v ? v[2] : null; }, cookieBanner = document.querySelector('[data-role~=cookieBanner]'), acceptCookie = document.querySelector('[data-role~=acceptCookie]') ; if (!cookieBanner) { return; } if (!acceptCookie) { console.debug('No accept cookie button found. Exiting.'); return; } acceptCookie .addEventListener( 'click', () => { setCookie(COOKIE_NAME, 'true', {expires: 365}); cookieBanner.classList.add('hidden'); } ) ; if (!getCookie(COOKIE_NAME)) { cookieBanner.classList.remove('hidden'); } })(window); ; /* global window */ (function (w) { 'use strict'; const document = w.document, debounce = (fn, delay) => { let timer = null; return function () { const context = this, args = arguments ; w.clearTimeout(timer); timer = w.setTimeout( () => { fn.apply(context, args); }, delay ); }; }, handleScroll = () => { const pageOffset = document.documentElement.scrollTop || document.body.scrollTop; document.querySelectorAll('#back-to-top-button').forEach((button) => { button.classList.toggle('visible', pageOffset >= 100); }); }, run = () => { handleScroll(); w.addEventListener( 'scroll', () => { debounce( () => { handleScroll(); }, 100 )(); } ); }, init = () => { if (['complete', 'interactive'].includes(document.readyState)) { run(); } else { document.addEventListener('DOMContentLoaded', run); } }; init(); })(window); ; !function(){"use strict";!function(){var e="relevanssi_live_search";function s(e){this.config=null,this.input_el=e,this.results_id=null,this.results_el=null,this.messages=null,this.parent_el=null,this.results_showing=!1,this.form_el=null,this.timer=!1,this.last_string="",this.spinner=null,this.spinner_showing=!1,this.has_results=!1,this.current_request=!1,this.results_destroy_on_blur=!0,this.a11y_keys=[27,40,13,38,9],this.init()}s.prototype={init:function(){var e=this,s=this.input_el;this.form_el=s.parents("form:eq(0)"),this.results_id=this.uniqid("relevanssi_live_search_results_");var t=!1,r=s.data("rlvconfig");if(r&&void 0!==r)for(var i in relevanssi_live_search_params.config)r===i&&(t=!0,this.config=relevanssi_live_search_params.config[i]);else for(var a in relevanssi_live_search_params.config)"default"===a&&(t=!0,this.config=relevanssi_live_search_params.config[a]);if(t){s.attr("autocomplete","off"),s.attr("aria-owns",this.results_id),s.attr("aria-autocomplete","both");var n='";var l=s.data("rlvparentel");l?(this.parent_el=jQuery(l),this.parent_el.html(n)):this.config.parent_el?(this.parent_el=jQuery(this.config.parent_el),this.parent_el.html(n)):jQuery("body").append(jQuery(n)),this.results_el=jQuery("#"+this.results_id),this.messages=this.results_el.find(".live-ajax-messages"),this.position_results(),jQuery(window).on("resize",(function(){setTimeout((function(){s.closest("form").is(":hidden")?e.destroy_results():e.position_results()}),100)})),void 0===this.config.abort_on_enter&&(this.config.abort_on_enter=!0),s.on("keyup input",(function(s){jQuery.inArray(s.keyCode,e.a11y_keys)>-1||(e.current_request&&e.config.abort_on_enter&&13===s.keyCode&&e.current_request.abort(),e.input_el.val().trim().length?e.results_showing&&s.currentTarget.value.length=e.config.input.min_chars&&(e.position_results(),e.results_el.addClass("relevanssi-live-search-results-showing"),e.show_spinner(e.results_el),e.results_showing=!0):e.destroy_results(),e.has_results&&!e.spinner_showing&&e.last_string!==e.input_el.val().trim()&&(e.results_el.find(".ajax-results").empty(),e.results_el.find(".live-ajax-messages").replaceWith(e.messages),e.results_el.find(".live-ajax-messages").append("

"+relevanssi_live_search_params.msg_loading_results+"

"),e.show_spinner(e.results_el)))})).on("keyup input",jQuery.proxy(this.maybe_search,this)),(this.config.results_destroy_on_blur||void 0===this.config.results_destroy_on_blur)&&jQuery("html").on("click",(function(s){jQuery(s.target).parents(".relevanssi-live-search-results").length||e.destroy_results()})),s.on("click",(function(e){e.stopPropagation()}))}else alert(relevanssi_live_search_params.msg_no_config_found);this.load_ajax_messages_template()},load_ajax_messages_template:function(){relevanssi_live_search_params.messages_template?(this.results_el.prepend(relevanssi_live_search_params.messages_template),this.messages=relevanssi_live_search_params.messages_template):jQuery.ajax({url:relevanssi_live_search_params.ajaxurl,data:"action=relevanssi_live_search_messages",dataType:"json",type:"GET",complete:function(e,s){},error:function(e,s,t){},success:function(e){this.results_el.prepend(e),this.messages=e}.bind(this)})},search:function(e){var s=this,t=this.form_el,r=t.serialize(),i=t.attr("action")?t.attr("action"):"",a=this.input_el,n=this.results_el;jQuery(document).trigger("relevanssi_live_search_start",[a,n,t,i,r]),this.aria_expanded(!1),r+="&action=relevanssi_live_search&rlvquery="+encodeURIComponent(a.val()),-1!==i.indexOf("?")&&(i=i.split("?"),r+="&"+i[1]),this.last_string=a.val(),this.has_results=!0,this.current_request=jQuery.ajax({url:relevanssi_live_search_params.ajaxurl,type:"POST",data:r,complete:function(){jQuery(document).trigger("relevanssi_live_search_complete",[a,n,t,i,r]),s.spinner_showing=!1,s.hide_spinner(s.results_el),this.current_request=!1,jQuery(document).trigger("relevanssi_live_search_shutdown",[a,n,t,i,r])},success:function(e){0===e&&(e=""),jQuery(document).trigger("relevanssi_live_search_success",[a,n,t,i,r]),s.position_results(),n.find(".ajax-results").html(e),s.aria_expanded(!0),s.keyboard_navigation(),jQuery(document).trigger("relevanssi_live_search_shutdown",[a,n,t,i,r])}})},keyboard_navigation:function(){var e=this,s=this.input_el,t=this.results_el,r="relevanssi-live-search-result--focused",i=".relevanssi-live-search-result",a=this.a11y_keys;jQuery(document).off("keyup.relevanssi_a11y").on("keyup.relevanssi_a11y",(function(n){if(t.hasClass("relevanssi-live-search-results-showing")){if(-1!==jQuery.inArray(n.keyCode,a)){if(n.preventDefault(),27===n.keyCode&&!s.is(":focus"))return e.destroy_results(),jQuery(document).off("keyup.relevanssi_a11y"),s.trigger("focus"),void jQuery(document).trigger("relevanssi_live_escape_results");if(40===n.keyCode){var l=jQuery(t[0]).find("."+r);1===l.length&&1===l.next().length?l.removeClass(r).attr("aria-selected","false").next().addClass(r).attr("aria-selected","true").find("a").trigger("focus"):(l.removeClass(r).attr("aria-selected","false"),t.find(i+":first").addClass(r).attr("aria-selected","true").find("a").trigger("focus")),jQuery(document).trigger("relevanssi_live_key_arrowdown_pressed")}if(38===n.keyCode){var o=jQuery(t[0]).find("."+r);1===o.length&&1===o.prev().length?o.removeClass(r).attr("aria-selected","false").prev().addClass(r).attr("aria-selected","true").find("a").trigger("focus"):(o.removeClass(r).attr("aria-selected","false"),t.find(i+":last").addClass(r).attr("aria-selected","true").find("a").trigger("focus")),jQuery(document).trigger("relevanssi_live_key_arrowup_pressed")}13===n.keyCode&&jQuery(document).trigger("relevanssi_live_key_enter_pressed"),9===n.keyCode&&jQuery(document).trigger("relevanssi_live_key_tab_pressed")}}else jQuery(document).off("keyup.relevanssi_a11y")})),jQuery(document).trigger("relevanssi_live_keyboad_navigation")},aria_expanded:function(e){var s=this.results_el;e?s.attr("aria-expanded","true"):s.attr("aria-expanded","false"),jQuery(document).trigger("relevanssi_live_aria_expanded")},position_results:function(){var e=this.input_el,s=e.offset(),t=this.results_el,r=0,i=e.closest("form");if(!e.is(":hidden")&&!i.is(":hidden")){if(s.top=this.better_offset(this.config.results.static_offset,e),this.parent_el){switch(s.left+=parseInt(this.config.results.offset.x,10),s.top+=parseInt(this.config.results.offset.y,10),this.config.results.position){case"top":r=0-t.height();break;default:r=e.outerHeight()}t.css("left",s.left),t.css("top",s.top+r+"px")}else{switch(s.left+=parseInt(this.config.results.offset.x,10),s.top+=parseInt(this.config.results.offset.y,10),this.config.results.position){case"top":r=0-t.height();break;default:r=e.outerHeight()}t.css("left",s.left),t.css("top",s.top+r+"px")}"auto"===this.config.results.width&&t.width(e.outerWidth()-parseInt(t.css("paddingRight").replace("px",""),10)-parseInt(t.css("paddingLeft").replace("px",""),10)),jQuery(document).trigger("relevanssi_live_position_results",[t.css("left"),t.css("top"),t.width()])}},better_offset:function(e,s,t){e="boolean"!=typeof e||e,s="object"==typeof s?s:$(s),t=null!=t?"object"==typeof t?t:$(t):null;var r=jQuery(window).scrollTop(),i=s.offset().top;if(t)var a=t.offset().top,n=t.scrollTop();return e?t?i-a+n:i:t?i-a:i-r},destroy_results:function(e){this.hide_spinner(this.results_el),this.aria_expanded(!1),this.results_el.find(".ajax-results").empty(),this.results_el.removeClass("relevanssi-live-search-results-showing"),this.results_showing=!1,this.has_results=!1,jQuery(document).trigger("relevanssi_live_destroy_results")},maybe_search:function(e){jQuery.inArray(e.keyCode,this.a11y_keys)>-1||(clearTimeout(this.timer),e.currentTarget.value.length>=this.config.input.min_chars&&(this.current_request&&this.current_request.abort(),this.timer=setTimeout(jQuery.proxy(this.search,this,e),this.config.input.delay)))},show_spinner:function(e){jQuery("#relevanssi-live-ajax-search-spinner",e).addClass("rlv-has-spinner")},hide_spinner:function(e){jQuery("#relevanssi-live-ajax-search-spinner",e).removeClass("rlv-has-spinner")},uniqid:function(e,s){var t;void 0===e&&(e="");var r=function(e,s){return s<(e=parseInt(e,10).toString(16)).length?e.slice(e.length-s):s>e.length?new Array(s-e.length+1).join("0")+e:e};return this.php_js||(this.php_js={}),this.php_js.uniqidSeed||(this.php_js.uniqidSeed=Math.floor(123456789*Math.random())),this.php_js.uniqidSeed++,t=e,t+=r(parseInt((new Date).getTime()/1e3,10),8),t+=r(this.php_js.uniqidSeed,5),s&&(t+=(10*Math.random()).toFixed(8).toString()),t}},jQuery.fn[e]=function(t){return this.each((function(){jQuery.data(this,"plugin_"+e)||jQuery.data(this,"plugin_"+e,new s(jQuery(this),t))})),this}}(),jQuery(document).ready((function(){"function"==typeof jQuery().relevanssi_live_search&&jQuery('input[data-rlvlive="true"]').relevanssi_live_search()}))}(); ;