/**
* @package DPCalendar
* @copyright Digital Peak GmbH. <https://www.digital-peak.com>
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
*/
!function(){"use strict";var e=window.DPCalendar||{};window.DPCalendar=e,e.autocomplete={},e.autocomplete.create=function(t){loadDPAssets(["/com_dpcalendar/js/dpcalendar/dpcalendar.js"],(function(){t.addEventListener("keydown",(function(o){var l=o.keyCode,n=t.parentElement.querySelector(".dp-autocomplete"),a=null;n&&(a=n.querySelector(".dp-autocomplete__result_selected")),13===l&&a&&a.click(),27!==l&&9!==l||!n||e.autocomplete.destroy(t),40===l&&a&&a.nextElementSibling&&(a.classList.remove("dp-autocomplete__result_selected"),a.nextElementSibling.classList.add("dp-autocomplete__result_selected"),n.scrollTop=a.offsetTop),38===l&&a&&a.previousElementSibling&&(a.classList.remove("dp-autocomplete__result_selected"),a.previousElementSibling.classList.add("dp-autocomplete__result_selected"),n.scrollTop=a.offsetTop-30)})),t.addEventListener("keyup",e.debounce((function(e){var o=t.getAttribute("data-max-length")?t.getAttribute("data-max-length"):3;[13,27,38,40].includes(e.keyCode)||t.value.trim().length<o||t.dispatchEvent(new CustomEvent("dp-autocomplete-change"))}))),t.addEventListener("blur",(function(o){return!(!o.relatedTarget||!o.relatedTarget.classList.contains("dp-autocomplete__result"))||(!o.target.parentElement.querySelector(".dp-autocomplete")||void e.autocomplete.destroy(t))}))}))},e.autocomplete.show=function(t){var o=t.parentElement.querySelector(".dp-autocomplete");if(o&&!(o.items<1)){var l=Array.from(o.children),n=l.find((function(e){return e.dpItem.title==t.value}));n||(n=l.find((function(e){return e.dpItem.title.indexOf(t.value)>-1}))),n||(n=l[0]),n&&(l.forEach((function(e){return e.classList.remove("dp-autocomplete__result_selected")})),n.classList.add("dp-autocomplete__result_selected"),o.scrollTop=n.offsetTop),"none"===window.getComputedStyle(o).display&&e.slideToggle(o,(function(){return n?o.scrollTop=n.offsetTop:null}))}},e.autocomplete.destroy=function(t){var o=t.parentElement.querySelector(".dp-autocomplete");o&&(e.slideToggle(o),o.parentElement.removeChild(o))},e.autocomplete.setItems=function(t,o){if(document.activeElement===t){var l=t.parentElement.querySelector(".dp-autocomplete");l&&l.items===o?e.autocomplete.show(t):(l&&l.parentElement.removeChild(l),0!==o.length&&loadDPAssets(["/com_dpcalendar/js/popper/popper.js","/com_dpcalendar/js/dpcalendar/dpcalendar.js"],(function(){(l=document.createElement("div")).items=o,l.classList.add("dp-autocomplete"),t.parentElement.appendChild(l),o.forEach((function(e){var o=document.createElement("a");o.href="#",o.innerHTML='<strong class="dp-autocomplete__item-title">'+e.title+'</strong> <span class="dp-autocomplete__item-details">'+e.details+"</span>",o.classList.add("dp-autocomplete__result"),o.dpItem=e,o.addEventListener("click",(function(o){return o.preventDefault(),t.value=e.title,t.dispatchEvent(new CustomEvent("dp-autocomplete-select",{detail:e})),l.parentElement.removeChild(l),!1})),o.addEventListener("mousedown",(function(e){return e.preventDefault()})),l.appendChild(o)})),Popper.createPopper(t,l,{placement:"bottom-start",modifiers:[{name:"sameWidth",enabled:!0,fn:function(e){var t=e.state;t.styles.popper.width=t.rects.reference.width+"px"},effect:function(e){var t=e.state;t.elements.popper.style.width=t.elements.reference.offsetWidth+"px"},phase:"beforeWrite",requires:["computeStyles"]}]}),e.autocomplete.show(t)})))}}}();