define(["exports","./../../modules/common/itemmanager/itemmanager.js","./../../modules/common/globalize.js","./../../modules/common/servicelocator.js","./../imageoptionseditor/imageoptionseditor.js","./../../modules/emby-elements/emby-scroller/emby-scroller.js","./../../modules/emby-elements/emby-input/emby-input.js","./../../modules/emby-elements/emby-select/emby-select.js","./../../modules/emby-elements/emby-checkbox/emby-checkbox.js"],function(_exports,_itemmanager,_globalize,_servicelocator,_imageoptionseditor,_embyScroller,_embyInput,_embySelect,_embyCheckbox){function populateLanguagesIntoSelect(select,languages){var html="";html+="";for(var i=0,length=languages.length;i"+culture.DisplayName+""}select.innerHTML=html}function populateLanguagesIntoList(apiClient,element,languages){for(var html="",i=0,length=languages.length;i'+culture.DisplayName+""}element.innerHTML=html}function populateRefreshInterval(select,interval){var html="",html=(html+="")+interval.map(function(val){return""}).join("");select.innerHTML=html}function populateMaxDownloadAge(select){var html="",html=(html+="")+[14,30,60,90,120,180].map(function(val){return""}).join("");select.innerHTML=html}function renderMetadataReaders(page,plugins,libraryOptions){var html="",page=page.querySelector(".metadataReaders");if(plugins.length<1)page.innerHTML="",page.classList.add("hide");else{html=html+('

'+_globalize.default.translate("HeaderMetadataReaders")+"

")+'
';for(var i=0,length=plugins.length;i';var checkedHtml=!libraryOptions.DisabledLocalMetadataReaders||-1===libraryOptions.DisabledLocalMetadataReaders.indexOf(plugin.Name)?' checked="checked"':"",html=(html=(html=(html+='")+'
'+'
')+plugin.Name)+"
"+"
";0keyboard_arrow_up':1keyboard_arrow_down'),html+="
"}html=(html+="")+('
'+_globalize.default.translate("LabelMetadataReadersHelp")+"
"),page.classList.remove("hide"),page.innerHTML=html}}function getTypeOptions(allOptions,type){for(var allTypeOptions=allOptions.TypeOptions||[],i=0,length=allTypeOptions.length;i')+('

'+_globalize.default.translate("HeaderTypeMetadataDownloaders",_itemmanager.default.getItemTypeName(availableTypeOptions.Type))+"

")+'
';for(var i=0,length=plugins.length;i';var checkedHtml=(libraryOptionsForType.MetadataFetchers?-1!==libraryOptionsForType.MetadataFetchers.indexOf(plugin.Name):plugin.DefaultEnabled)?' checked="checked"':"";html=(html=(html+='")+'
'+'
')+plugin.Name+"
","thetvdb"===(plugin.Name||"").toLowerCase()&&(features="Metadata provided by {0}TheTVDB{1}. Please consider supporting TheTVDB by adding missing information or subscribing.",html=(html+='
')+(features=_servicelocator.appHost.supports("externallinks")&&_servicelocator.appHost.supports("targetblank")?features.replace("{0}",'').replace("{1}",""):features.replace("{0}","").replace("{1}",""))+"
"),html+="
",0keyboard_arrow_up':1keyboard_arrow_down'),html+="
"}html=(html+="")+('
'+_globalize.default.translate("LabelMetadataDownloadersHelp")+"
")+""}return html}(availableTypeOptions,getTypeOptions(libraryOptions,availableTypeOptions.Type)||{})}(elem.innerHTML=html)?(elem.classList.remove("hide"),page.querySelector(".fldAutoRefreshInterval").classList.remove("hide"),contentType&&"tvshows"!==contentType?page.querySelector(".fldPlaceholderMetadataRefreshInterval").classList.add("hide"):page.querySelector(".fldPlaceholderMetadataRefreshInterval").classList.remove("hide"),page.querySelector(".fldMetadataLanguage").classList.remove("hide"),page.querySelector(".fldMetadataCountry").classList.remove("hide")):(elem.classList.add("hide"),page.querySelector(".fldAutoRefreshInterval").classList.add("hide"),page.querySelector(".fldPlaceholderMetadataRefreshInterval").classList.add("hide"),page.querySelector(".fldMetadataLanguage").classList.add("hide"),page.querySelector(".fldMetadataCountry").classList.add("hide")),html?page.querySelector(".fldImageLanguage").classList.remove("hide"):page.querySelector(".fldImageLanguage").classList.add("hide")}function getRequiredSetupText(plugin){var enableLink=plugin.SetupUrl,linkStart=enableLink?''+plugin.Name:plugin.Name;return _globalize.default.translate("ProviderNeedsSetupWithUrl",plugin.Name,linkStart,enableLink?"":"")}function renderLyricsFetchers(page,availableOptions,libraryOptions){var plugins,html="",page=page.querySelector(".lyricsFetchers");if((plugins=getOrderedPlugins(availableOptions.LyricsFetchers||[],libraryOptions.LyricsFetcherOrder||[])).length){html=html+('

'+_globalize.default.translate("HeaderSubtitleDownloaders")+"

")+'
';for(var i=0,length=plugins.length;i',libraryOptions.DisabledLyricsFetchers?-1===libraryOptions.DisabledLyricsFetchers.indexOf(plugin.Name):plugin.DefaultEnabled),html=(html=(html+='")+'
'+'
')+plugin.Name+"
";features.includes("RequiredSetup")&&(html=(html+='
')+getRequiredSetupText(plugin)+"
"),html+="
",0keyboard_arrow_up':1keyboard_arrow_down'),html+="
"}html=(html+="")+('
'+_globalize.default.translate("SubtitleDownloadersHelp")+"
"),page.innerHTML=html}}function renderSubtitleFetchers(page,availableOptions,libraryOptions){var plugins,html="",page=page.querySelector(".subtitleFetchers");if((plugins=getOrderedPlugins(availableOptions.SubtitleFetchers||[],libraryOptions.SubtitleFetcherOrder||[])).length){html=html+('

'+_globalize.default.translate("HeaderSubtitleDownloaders")+"

")+'
';for(var i=0,length=plugins.length;i',libraryOptions.DisabledSubtitleFetchers?-1===libraryOptions.DisabledSubtitleFetchers.indexOf(plugin.Name):plugin.DefaultEnabled),html=(html=(html+='")+'
'+'
')+plugin.Name+"
";features.includes("RequiredSetup")&&(html=(html+='
')+getRequiredSetupText(plugin)+"
"),html+="
",0keyboard_arrow_up':1keyboard_arrow_down'),html+="
"}html=(html+="")+('
'+_globalize.default.translate("SubtitleDownloadersHelp")+"
"),page.innerHTML=html}}function renderImageFetchers(page,availableOptions,libraryOptions){for(var html="",elem=page.querySelector(".imageFetchers"),i=0,length=availableOptions.TypeOptions.length;i')+'
')+('

'+_globalize.default.translate("HeaderTypeImageFetchers",_itemmanager.default.getItemTypeName(availableTypeOptions.Type))+"

");availableTypeOptions=availableTypeOptions.SupportedImageTypes||[];(1'+_globalize.default.translate("HeaderFetcherSettings")+""),html=html+"
"+'
';for(var i=0,length=plugins.length;i',libraryOptionsForType.ImageFetchers?-1!==libraryOptionsForType.ImageFetchers.indexOf(plugin.Name):plugin.DefaultEnabled),html=(html=(html+='")+'
'+'
')+plugin.Name+"
";features.includes("RequiredSetup")&&(html=(html+='
')+getRequiredSetupText(plugin)+"
"),html+="
",0keyboard_arrow_up':1keyboard_arrow_down'),html+="
"}html=(html+="")+('
'+_globalize.default.translate("LabelImageFetchersHelp")+"
")+""}return html}(availableTypeOptions,getTypeOptions(libraryOptions,availableTypeOptions.Type)||{})}(elem.innerHTML=html)?(elem.classList.remove("hide"),page.querySelector(".chkDownloadImagesInAdvanceContainer").classList.remove("hide"),page.querySelector(".chkSaveLocalContainer").classList.remove("hide")):(elem.classList.add("hide"),page.querySelector(".chkDownloadImagesInAdvanceContainer").classList.add("hide"),page.querySelector(".chkSaveLocalContainer").classList.add("hide"))}var currentLibraryOptions,currentAvailableOptions;function populateMetadataSettings(parent,contentType){var isNewLibrary=parent.classList.contains("newlibrary");return ApiClient.getJSON(ApiClient.getUrl("Libraries/AvailableOptions",{LibraryContentType:contentType,IsNewLibrary:isNewLibrary})).then(function(availableOptions){currentAvailableOptions=availableOptions,parent.availableOptions=availableOptions;var page=parent,metadataSavers=availableOptions.MetadataSavers,html="",page=page.querySelector(".metadataSavers");if(metadataSavers.length){for(var html=html+('

'+_globalize.default.translate("HeaderMetadataSavers")+"

")+'
',i=0,length=metadataSavers.length;i"+plugin.Name+""}html=(html+="
")+('
'+_globalize.default.translate("LabelMetadataSaversHelp")+"
"),page.innerHTML=html,page.classList.remove("hide")}else page.innerHTML="",page.classList.add("hide");renderMetadataReaders(parent,availableOptions.MetadataReaders,{}),renderMetadataFetchers(parent,availableOptions,{},contentType),renderSubtitleFetchers(parent,availableOptions,{}),renderLyricsFetchers(parent,availableOptions,{}),renderImageFetchers(parent,availableOptions,{}),availableOptions.SubtitleFetchers.length?parent.querySelector(".subtitleDownloadSettings").classList.remove("hide"):parent.querySelector(".subtitleDownloadSettings").classList.add("hide"),(availableOptions.LyricsFetchers||[]).length?parent.querySelector(".lyricsDownloadSettings").classList.remove("hide"):parent.querySelector(".lyricsDownloadSettings").classList.add("hide"),onMetadataFetchersOrReadersChange.call(parent.querySelector(".metadataFetchers"))}).catch(function(){return Promise.resolve()})}function adjustSortableListElement(elem){var btnSortable=elem.querySelector(".btnSortable");elem.previousElementSibling?(btnSortable.classList.add("btnSortableMoveUp"),btnSortable.classList.remove("btnSortableMoveDown"),btnSortable.querySelector("i").innerHTML="keyboard_arrow_up"):(btnSortable.classList.remove("btnSortableMoveUp"),btnSortable.classList.add("btnSortableMoveDown"),btnSortable.querySelector("i").innerHTML="keyboard_arrow_down")}function onImageFetchersContainerClick(e){var btnImageOptionsForType=e.target.closest(".btnImageOptionsForType");btnImageOptionsForType?function(type){var typeOptions=getTypeOptions(currentLibraryOptions,type),availableOptions=(typeOptions||currentLibraryOptions.TypeOptions.push(typeOptions={Type:type}),getTypeOptions(currentAvailableOptions||{},type));(new _imageoptionseditor.default).show(type,typeOptions,availableOptions)}(btnImageOptionsForType.closest(".imageFetcher").getAttribute("data-type")):onSortableContainerClick.call(this,e)}function onSortableContainerClick(e){var li,list,e=e.target.closest(".btnSortable");e&&(list=(li=e.closest(".sortableOption")).closest(".checkboxList"),e.classList.contains("btnSortableMoveDown")?(e=li.nextElementSibling)&&(li.parentNode.removeChild(li),e.parentNode.insertBefore(li,e.nextElementSibling)):(e=li.previousElementSibling)&&(li.parentNode.removeChild(li),e.parentNode.insertBefore(li,e)),Array.prototype.forEach.call(list.querySelectorAll(".sortableOption"),adjustSortableListElement))}function onMetadataFetchersOrReadersChange(e){for(var parent=this.closest(".libraryOptions"),checkedFeatures=Array.prototype.map.call(parent.querySelectorAll(".chkMetadataFetcher:checked"),function(elem){elem=elem.getAttribute("data-features");return elem?elem.split(","):[]}),allFeatures=[],i=0,length=checkedFeatures.length;i"+culture.DisplayName+""}select.innerHTML=html}))];return function(parent){var options=[{name:_globalize.default.translate("ValueSeconds",10),value:10,selected:' selected="selected"'},{name:_globalize.default.translate("ChapterMarkers"),value:-1}];parent.querySelector(".selectThumbnailInterval").innerHTML=options.map(function(o){return"'+o.name+""}).join("")}(parent),Promise.all(responses).then(function(){return setContentType(parent,contentType).then(function(){libraryOptions&&setLibraryOptions(parent,libraryOptions),triggerElementEvents(parent),onMetadataFetchersOrReadersChange.call(parent.querySelector(".metadataFetchers")),function(parent){parent.querySelector(".metadataReaders").addEventListener("click",onSortableContainerClick),parent.querySelector(".subtitleFetchers").addEventListener("click",onSortableContainerClick),parent.querySelector(".lyricsFetchers").addEventListener("click",onSortableContainerClick),parent.querySelector(".metadataFetchers").addEventListener("click",onSortableContainerClick),parent.querySelector(".imageFetchers").addEventListener("click",onImageFetchersContainerClick),parent.querySelector(".selectThumbnailImages").addEventListener("change",onThumbnailScheduleChange),parent.querySelector(".selectThumbnailInterval").addEventListener("change",onThumbnailIntervalChange),parent.querySelector(".chkImportCollections").addEventListener("change",onImportCollectionsChange),parent.querySelector(".metadataReaders").addEventListener("change",onMetadataFetchersOrReadersChange),parent.querySelector(".metadataFetchers").addEventListener("change",onMetadataFetchersOrReadersChange)}(parent)})})})},setContentType:setContentType,getLibraryOptions:function(parent){var options={EnableArchiveMediaFiles:!1,EnablePhotos:parent.querySelector(".chkEnablePhotos").checked,ImportPlaylists:parent.querySelector(".chkImportPlaylists").checked,EnableRealtimeMonitor:parent.querySelector(".chkEnableRealtimeMonitor").checked,ExtractChapterImagesDuringLibraryScan:"scanandtask"===parent.querySelector(".selectThumbnailImages").value,EnableChapterImageExtraction:!!parent.querySelector(".selectThumbnailImages").value,EnableMarkerDetectionDuringLibraryScan:"scanandtask"===parent.querySelector(".selectIntroDetection").value,EnableMarkerDetection:!!parent.querySelector(".selectIntroDetection").value,SaveLocalThumbnailSets:parent.querySelector(".chkLocalThumbnailSets").checked,ThumbnailImagesIntervalSeconds:parent.querySelector(".selectThumbnailInterval").value,DownloadImagesInAdvance:parent.querySelector("#chkDownloadImagesInAdvance").checked,EnableInternetProviders:!0,ImportMissingEpisodes:parent.querySelector("#chkImportMissingEpisodes").checked,SaveLocalMetadata:parent.querySelector("#chkSaveLocal").checked,EnableAutomaticSeriesGrouping:parent.querySelector(".chkAutomaticallyGroupSeries").checked,PreferredMetadataLanguage:parent.querySelector("#selectLanguage").value,PreferredImageLanguage:parent.querySelector("#selectImageLanguage").value,MetadataCountryCode:parent.querySelector("#selectCountry").value,SeasonZeroDisplayName:parent.querySelector("#txtSeasonZeroName").value,AutomaticRefreshIntervalDays:parseInt(parent.querySelector("#selectAutoRefreshInterval").value),PlaceholderMetadataRefreshIntervalDays:parseInt(parent.querySelector("#selectPlaceholderMetadataRefreshInterval").value),EnableEmbeddedTitles:parent.querySelector("#chkEnableEmbeddedTitles").checked,SkipSubtitlesIfEmbeddedSubtitlesPresent:parent.querySelector("#chkSkipIfGraphicalSubsPresent").checked,SkipSubtitlesIfAudioTrackMatches:parent.querySelector("#chkSkipIfAudioTrackPresent").checked,SaveSubtitlesWithMedia:parent.querySelector("#chkSaveSubtitlesLocally").checked,SaveLyricsWithMedia:parent.querySelector("#chkSaveLyricsLocally").checked,SubtitleDownloadMaxAgeDays:parent.querySelector(".selectSubtitleDownloadMaxAge").value,LyricsDownloadMaxAgeDays:parent.querySelector(".selectLyricsDownloadMaxAge").value,RequirePerfectSubtitleMatch:parent.querySelector(".chkRequireHashMatch").checked,ForcedSubtitlesOnly:parent.querySelector(".chkForcedSubtitlesOnly").checked,EnableAudioResume:parent.querySelector(".chkEnableAudioResume").checked,MinResumePct:parent.querySelector("#txtMinResumePct").value,MaxResumePct:parent.querySelector("#txtMaxResumePct").value,MinResumeDurationSeconds:parent.querySelector("#txtMinResumeDuration").value,MusicFolderStructure:parent.querySelector(".selectMusicFolderStructure").value||null,ImportCollections:parent.querySelector(".chkImportCollections").checked,SaveMetadataHidden:parent.querySelector(".chkSaveMetadataHidden").checked,EnableAdultMetadata:parent.querySelector(".chkAdult").checked,MinCollectionItems:parseInt(parent.querySelector(".selectMinCollectionSize").value),MetadataSavers:Array.prototype.map.call(Array.prototype.filter.call(parent.querySelectorAll(".chkMetadataSaver"),function(elem){return elem.checked}),function(elem){return elem.getAttribute("data-pluginname")}),TypeOptions:[]};return options.LocalMetadataReaderOrder=Array.prototype.map.call(parent.querySelectorAll(".localReaderOption"),function(elem){return elem.getAttribute("data-pluginname")}),options.SubtitleDownloadLanguages=Array.prototype.map.call(Array.prototype.filter.call(parent.querySelectorAll(".subtitleDownloadLanguages .chkLanguage"),function(elem){return elem.checked}),function(elem){return elem.getAttribute("data-lang")}),options.LyricsDownloadLanguages=Array.prototype.map.call(Array.prototype.filter.call(parent.querySelectorAll(".lyricsDownloadLanguages .chkLanguage"),function(elem){return elem.checked}),function(elem){return elem.getAttribute("data-lang")}),function(parent,options){options.DisabledLocalMetadataReaders=Array.prototype.map.call(Array.prototype.filter.call(parent.querySelectorAll(".chkMetadataReader"),function(elem){return!elem.checked}),function(elem){return elem.getAttribute("data-pluginname")})}(parent,options),function(parent,options){options.DisabledSubtitleFetchers=Array.prototype.map.call(Array.prototype.filter.call(parent.querySelectorAll(".chkSubtitleFetcher"),function(elem){return!elem.checked}),function(elem){return elem.getAttribute("data-pluginname")}),options.SubtitleFetcherOrder=Array.prototype.map.call(parent.querySelectorAll(".subtitleFetcherItem"),function(elem){return elem.getAttribute("data-pluginname")})}(parent,options),function(parent,options){options.DisabledLyricsFetchers=Array.prototype.map.call(Array.prototype.filter.call(parent.querySelectorAll(".chkLyricsFetcher"),function(elem){return!elem.checked}),function(elem){return elem.getAttribute("data-pluginname")}),options.LyricsFetcherOrder=Array.prototype.map.call(parent.querySelectorAll(".lyricsFetcherItem"),function(elem){return elem.getAttribute("data-pluginname")})}(parent,options),function(parent,options){for(var sections=parent.querySelectorAll(".metadataFetcher"),i=0,length=sections.length;i