define(["connectionManager","globalize","userSettings","apphost"],function(connectionManager,globalize,userSettings,appHost){"use strict";functiongetWeek(date){vard=newDate(Date.UTC(date.getFullYear(),date.getMonth(),date.getDate())),dayNum=d.getUTCDay()||7;d.setUTCDate(d.getUTCDate()+4-dayNum);varyearStart=newDate(Date.UTC(d.getUTCFullYear(),0,1));returnMath.ceil(((d-yearStart)/864e5+1)/7)}functionshowMessage(text,userSettingsKey,appHostFeature){if(appHost.supports(appHostFeature))returnPromise.resolve();varnow=newDate;returnuserSettingsKey+=now.getFullYear()+"-w"+getWeek(now),"1"===userSettings.get(userSettingsKey,!1)?Promise.resolve():newPromise(function(resolve,reject){userSettings.set(userSettingsKey,"1",!1),require(["alert"],function(alert){returnalert(text).then(resolve,resolve)})})}functionshowBlurayMessage(){returnshowMessage("Playback of Bluray folders in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native Bluray folder support.","blurayexpirementalinfo","nativeblurayplayback")}functionshowDvdMessage(){returnshowMessage("Playback of Dvd folders in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native Dvd folder support.","dvdexpirementalinfo","nativedvdplayback")}functionshowIsoMessage(){returnshowMessage("Playback of ISO files in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native ISO support.","isoexpirementalinfo","nativeisoplayback")}functionExpirementalPlaybackWarnings(){this.name="Experimental playback warnings",this.type="preplayintercept",this.id="expirementalplaybackwarnings"}returnExpirementalPlaybackWarnings.prototype.intercept=function(options){varitem=options.item;returnitem?"Iso"===item.VideoType?showIsoMessage():"BluRay"===item.VideoType?showBlurayMessage():"Dvd"===item.VideoType?showDvdMessage():Promise.resolve():Promise.resolve()},ExpirementalPlaybackWarnings});