define(["exports","./../modules/emby-apiclient/connectionmanager.js","./../modules/emby-apiclient/events.js","./../modules/common/globalize.js","./../modules/browser.js","./../modules/alphapicker/alphapicker.js","./../modules/layoutmanager.js","./../modules/emby-elements/emby-input/emby-input.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/common/servicelocator.js","./../modules/approuter.js","./../modules/focusmanager.js"],function(_exports,_connectionmanager,_events,_globalize,_browser,_alphapicker,_layoutmanager,_embyInput,_embyButton,_servicelocator,_approuter,_focusmanager){function onSearchTimeout(){var value=((value=this.nextSearchValue)||"").trim(),context=(_events.default.trigger(this,"search",[value]),this.options.element);value||_layoutmanager.default.tv?(this.mode="search",(value=context.querySelector(".searchSuggestions"))&&value.classList.add("hide")):(this.mode="suggestions",function(instance,context,apiClient){var options={SortBy:"IsFavoriteOrLiked,Random",IncludeItemTypes:"Movie,Series,MusicArtist",Limit:20,Recursive:!0,ImageTypeLimit:0,EnableImages:!1,ParentId:instance.options.parentId,EnableTotalRecordCount:!1};apiClient.getItems(apiClient.getCurrentUserId(),options).then(function(result){"suggestions"!==instance.mode&&(result.Items=[]);var html=result.Items.map(function(i){var itemHtml='
';return itemHtml+i.Name+"
"}).join(""),searchSuggestions=context.querySelector(".searchSuggestions");searchSuggestions.querySelector(".searchSuggestionsList").innerHTML=html,result.Items.length?searchSuggestions.classList.remove("hide"):searchSuggestions.classList.add("hide")})}(this,context,_connectionmanager.default.getApiClient(this.options.serverId)))}function triggerSearch(instance,value,immediate){instance.searchTimeout&&clearTimeout(instance.searchTimeout),instance.nextSearchValue=value;value=immediate?0:600;instance.searchTimeout=setTimeout(onSearchTimeout.bind(instance),value)}function initAlphaPicker(alphaPickerElement,instance){instance.alphaPicker=new _alphapicker.default({element:alphaPickerElement,mode:"keyboard"}),alphaPickerElement.addEventListener("alphavalueclicked",function(e){var val,e=e.detail.value,txtSearch=this.options.element.querySelector(".searchfields-txtSearch");"backspace"===e?(val=txtSearch.value,txtSearch.value=val.length?val.substring(0,val.length-1):""):(-1===txtSearch.maxLength||txtSearch.value.length