define(["dialogHelper","dom","layoutManager","globalize","require","material-icons","emby-button","paper-icon-button-light","emby-input","formDialogStyle","flexStyles","emby-scroller"],function(dialogHelper,dom,layoutManager,globalize,require){"use strict";function showDialog(options,template){var dialogOptions={removeOnClose:!0,scrollY:!1},enableTvLayout=layoutManager.tv;enableTvLayout&&(dialogOptions.size="fullscreen");var dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog"),dlg.innerHTML=globalize.translateHtml(template,"sharedcomponents"),dlg.classList.add("align-items-center"),dlg.classList.add("justify-content-center");var i,length,formDialogContent=dlg.querySelector(".formDialogContent");formDialogContent.classList.add("no-grow"),enableTvLayout?(formDialogContent.style["max-width"]="50%",formDialogContent.style["max-height"]="60%"):(dlg.style.maxWidth="35em",dlg.classList.add("dialog-fullscreen-lowres")),options.title?dlg.querySelector(".formDialogHeaderTitle").innerHTML=options.title||"":dlg.querySelector(".formDialogHeaderTitle").classList.add("hide"),options.html?dlg.querySelector(".text").innerHTML=options.html:options.text?dlg.querySelector(".text").innerText=function(originalString,strReplace,strWith){var reg=new RegExp(strReplace,"ig");return originalString.replace(reg,strWith)}(options.text||"","<br/>","\n"):dlg.querySelector(".dialogContentInner").classList.add("hide");var dialogResult,html="",hasDescriptions=!1;for(i=0,length=options.buttons.length;i<length;i++){var item=options.buttons[i],autoFocus=0===i?" autofocus":"",buttonClass="btnOption raised formDialogFooterItem formDialogFooterItem-autosize";item.type&&(buttonClass+=" button-"+item.type),item.description&&(hasDescriptions=!0),hasDescriptions&&(buttonClass+=" formDialogFooterItem-vertical formDialogFooterItem-nomarginbottom"),html+='<button is="emby-button" type="button" class="'+buttonClass+'" data-id="'+item.id+'"'+autoFocus+">"+item.name+"</button>",item.description&&(html+='<div class="formDialogFooterItem formDialogFooterItem-autosize fieldDescription" style="margin-top:.25em!important;margin-bottom:1.25em!important;">'+item.description+"</div>")}function onButtonClick(){dialogResult=this.getAttribute("data-id"),dialogHelper.close(dlg)}dlg.querySelector(".formDialogFooter").innerHTML=html,hasDescriptions&&dlg.querySelector(".formDialogFooter").classList.add("formDialogFooter-vertical");var timeout,buttons=dlg.querySelectorAll(".btnOption");for(i=0,length=buttons.length;i<length;i++)buttons[i].addEventListener("click",onButtonClick);return options.timeout&&(timeout=setTimeout(function(){dialogResult="_timeout",dialogHelper.close(dlg)},options.timeout)),dialogHelper.open(dlg).then(function(){return timeout&&clearTimeout(timeout),dialogResult||Promise.reject()})}return function(text,title){var options;return options="string"==typeof text?{title:title,text:text}:text,require(["text!./dialog.template.html"]).then(function(responses){return showDialog(options,responses[0])})}});