<?xml version="1.0" encoding="UTF-8"?>
<includes>
    <include file="Defaults.xml"/>
    <include file="Includes_grid.xml"/>
    <include file="Includes_variables.xml"/>
    <include file="Includes_animations.xml"/>
    <include file="Includes_hubMenu.xml"/>
    <include file="Includes_hubOptionsItems.xml"/>
    <include file="View_LiveTVChannels.xml"/>
    <include file="View_Seasons.xml"/>
    <include file="View_Episodes.xml"/>
    <include file="View_Movies.xml"/>
    <include file="View_AddonPosters.xml"/>
    <include file="View_TVShows.xml"/>
    <include file="View_MusicGenres.xml"/>
    <include file="View_VideoFiles.xml"/>
    <include file="View_Photos.xml"/>
    <include file="View_Artists.xml"/>
    <include file="View_Albums.xml"/>
    <include file="View_Songs.xml"/>
    <include file="View_MusicFiles.xml"/>
    <include file="View_MusicPlaylist.xml"/>
    <include file="View_ArtistAlbums.xml"/>
    <include file="View_MusicVideos.xml"/>
    <include file="script-skinshortcuts-includes.xml"/>
    <include file="Includes_mediaShowcase.xml"/>

    <!--view type conditions-->
    <expression name="isVideoList">!String.Contains(container.folderpath,special://profile/playlists/video) + !String.Contains(container.folderpath,videodb://) + !String.Contains(container.folderpath,plugin://) |container.content(files) | String.IsEmpty(container.content) | container.content(playlists) | container.content(addons)</expression>
    <expression name="isMovie">container.content(movies) + [String.Contains(container.folderpath,videodb://) | String.Contains(container.folderpath,special://profile/playlists/video)]</expression>
    <expression name="isAddonMovieOrTVshow">!String.Contains(container.folderpath,videodb://) + String.Contains(container.folderpath,plugin://) + [container.content(movies) | container.content(tvshows)]</expression>

    <expression name="isTVShow">container.content(tvshows) + [String.Contains(container.folderpath,videodb://) | String.Contains(container.folderpath,special://profile/playlists/video)]</expression>
    <expression name="isSeason">container.content(seasons) + String.Contains(container.folderpath,videodb://)</expression>
    <expression name="isEpisode">container.content(episodes) + !String.Contains(Container.folderpath,plugin)</expression>
    <expression name="isMusicVideo">container.content(musicvideos) + !String.Contains(Container.folderpath,plugin)</expression>

    <expression name="isMusicList">!String.Contains(container.folderpath,musicdb://) | String.Contains(container.foldername,Files) | container.content(files) | container.content(addons) | [container.content(playlists) + !String.Contains(Container.folderpath,special://profile/playlists)] | String.Contains(Container.folderpath,plugin://)</expression>
    <expression name="isMusicArtist">container.content(artists) + [String.Contains(container.folderpath,musicdb://) | String.Contains(Container.folderpath,special://profile/playlists)]</expression>
    <expression name="isMusicArtistCatalogue">container.content(albums) + String.Contains(container.folderpath,albumartistsonly)</expression>
    <expression name="isMusicAlbum">container.content(albums) + [String.Contains(container.folderpath,musicdb://) | String.Contains(Container.folderpath,special://profile/playlists)]</expression>
    <expression name="isMusicGenre">container.content(genres) + String.Contains(container.folderpath,musicdb://)</expression>
    <expression name="isMusicSong">container.content(songs) + String.Contains(Container.folderpath,musicdb://)</expression>
    <expression name="isMusicPlaylist">container.content(songs) + [String.Contains(Container.folderpath,.xsp) | String.Contains(Container.foldername,PartyMode) | String.Contains(Container.folderpath,playlistmusic://)]</expression>

	<!--weather-->
	<expression name="hasWeather">!String.IsEmpty(Window(Weather).Property(WeatherProvider)) + !String.String.IsEmpty(weather.temperature) + !String.String.IsEmpty(weather.conditions)</expression>

    <!--item fanart-->
    <include name="itemFanart">
        <control type="wraplist" id="99999">
            <posx>0</posx>
            <posy>0</posy>
            <width>1000</width>
            <height>1000</height>
            <enable>false</enable>
            <preloaditems>2</preloaditems>
            <scrolltime>15000</scrolltime>
            <autoscroll>true</autoscroll>
            <itemlayout />
            <focusedlayout />
            <content>$VAR[extraFanartLocation]</content>
        </control>
        <control type="image">
            <visible>Integer.IsGreater(container(99999).numitems,0) + !Skin.HasSetting(disableExtendedFanart)</visible>
            <include>dimensionsFullscreen</include>
            <texture>$INFO[container(99999).listitem.filenameandpath,,]</texture>
            <colordiffuse>66ffffff</colordiffuse>
            <fadetime>500</fadetime>
            <aspectratio>stretch</aspectratio>
            <include>kenBurnsey</include>
        </control>
        <control type="image">
            <visible>!Integer.IsGreater(container(99999).numitems,0) | Skin.HasSetting(disableExtendedFanart) | ListItem.IsParentFolder</visible>
            <posx>0</posx>
            <posy>0</posy>
            <include>dimensionsFullscreen</include>
            <texture>$INFO[container.Art(fanart)]</texture>
            <colordiffuse>66ffffff</colordiffuse>
            <aspectratio>stretch</aspectratio>
            <include>kenBurnsey</include>
        </control>
    </include>

    <!--keyboard autocomplete-->
    <include name="AutoComplete">
            <control type="group">
            <visible>!String.String.IsEmpty(Control.GetLabel(312).index(1)) + !Control.IsVisible(313)</visible>
            <posx>0</posx>
            <posy>0</posy>
            <control type="group">
                <animation effect="fade" time="300" tween="cubic" start="0" end="100" reversible="false" condition="!String.String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation>
                <animation effect="fade" time="150" tween="cubic" start="100" end="0" reversible="false" condition="String.String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation>
            </control>
            <control type="panel" id="5000">
                <posx>col-5-begin</posx>
                <posy>-36</posy>
                <width>16-col</width>
                <height>2-row</height>
                <onleft>5000</onleft>
                <onright>5000</onright>
                <ondown>312</ondown>
                <onback>noop</onback>
                <orientation>horizontal</orientation>
                <itemlayout height="2-row" width="4-col">
                    <control type="label">
                        <posx>0</posx>
                        <posy>0</posy>
                        <width>4-col-gutter</width>
                        <height>2-row</height>
                        <align>center</align>
                        <textcolor>textDisabled</textcolor>
                        <font>itemTitle</font>
                        <label>$INFO[ListItem.Label]</label>
                    </control>
                </itemlayout>
                <focusedlayout height="2-row" width="4-col">
                    <control type="label">
                        <posx>0</posx>
                        <posy>0</posy>
                        <width>4-col-gutter</width>
                        <height>2-row</height>
                        <align>center</align>
                        <textcolor>textActive</textcolor>
                        <font>itemTitle</font>
                        <label>$INFO[ListItem.Label]</label>
                    </control>
                </focusedlayout>
                <content>plugin://plugin.program.autocompletion?info=autocomplete&amp;&amp;id=$INFO[Control.GetLabel(312).index(1)]&amp;&amp;limit=8</content>
            </control>
        </control>
    </include>
    <!--modal dialogs-->
    <include name="modalDialog">
        <control type="image">
            <include>dimensionsFullscreen</include>
            <texture>colors/black.png</texture>
            <colordiffuse>e9FFFFFF</colordiffuse>
            <aspectratio>stretch</aspectratio>
        </control>
        <control type="image">
            <include>dimensionsFullscreen</include>
            <texture>vignette.png</texture>
            <colordiffuse>ffffffff</colordiffuse>
            <aspectratio>stretch</aspectratio>
        </control>
    </include>
    <!--Global background-->
    <include name="globalBackground">
        <control type="image">
            <include>dimensionsFullscreen</include>
            <texture>colors/black.png</texture>
            <colordiffuse>ffFFFFFF</colordiffuse>
            <aspectratio>stretch</aspectratio>
        </control>
        <control type="image">
            <include>dimensionsFullscreen</include>
            <texture>colors/white.png</texture>
            <colordiffuse>background</colordiffuse>
            <aspectratio>stretch</aspectratio>
        </control>
    </include>
	<!--page header-->
	<include name="pageHeader">
		<control type="group">
			<posx>col-1-begin</posx>
            <posy>row-1-begin</posy>
			<!--title-->
			<control type="label">
	            <posx>0</posx>
	            <posy>0</posy>
	            <width>18-col</width>
	            <font>pageTitle</font>
	            <label>$VAR[listTitle]</label>
	            <textcolor>textActive</textcolor>
	        </control>
	        <!--subtitle-->
	        <control type="label">
	            <posx>0</posx>
	            <posy>1-row</posy>
	            <width>12-col</width>
				<height>2-row</height>
	            <font>pageSubTitle</font>
	            <label>$VAR[listSubTitle]</label>
	            <textcolor>textActive</textcolor>
	        </control>
			<!--time-->
			<control type="label">
	            <posx>24-col</posx>
	            <posy>0</posy>
	            <width>12-col</width>
	            <align>right</align>
	            <font>pageTitle</font>
	            <label>$INFO[System.Time]</label>
	            <textcolor>textActive</textcolor>
	        </control>
			<!--date-->
	        <control type="label">
	            <posx>24-col</posx>
	            <posy>1-row</posy>
	            <width>12-col</width>
				<height>2-row</height>
				<align>right</align>
	            <font>pageSubTitle</font>
	            <label>$INFO[System.Date(DDD)], $INFO[system.Date(mmm d)]</label>
	            <textcolor>textActive</textcolor>
	        </control>
		</control>
	</include>
    <!--busy indicator-->
    <include name="loadingIndicator">
        <control type="group">
            <animation type="Visible" reversible="false">
                <effect type="zoom" start="80" end="100" center="960,540" tween="back" time="240" />
                <effect type="fade" end="100" time="240" />
            </animation>
            <animation type="Hidden" reversible="false">
                <effect type="zoom" start="100" end="80" center="960,540" easing="in" tween="back" time="240" />
                <effect type="fade" start="100" end="0" time="240" />
            </animation>
            <visible>!Window.IsActive(startup) + !String.IsEmpty(container.foldername) + !Integer.IsGreater(container.numitems,0) + !ListItem.IsParentFolder | window.isactive(busydialog)</visible>
            <control type="image">
                <texture>colors/black.png</texture>
                <include>dimensionsFullscreen</include>
                <animation effect="fade" start="100" end="70" time="0" condition="true">Conditional</animation>
                <animation effect="fade" start="100" end="0" time="240" condition="Window.IsVisible(fullscreenvideo)">Conditional</animation>
                <animation effect="fade" end="100" time="560">WindowOpen</animation>
                <animation effect="fade" start="100" end="0" time="240">WindowClose</animation>
            </control>
            <control type="image">
                <depth>DepthMax</depth>
                <left>920</left>
                <top>513</top>
                <width>80</width>
                <height>80</height>
                <aspectratio>keep</aspectratio>
                <animation effect="rotate" end="-45" center="auto" time="200" delay="600" loop="true" reversible="false" condition="true">Conditional</animation>
                <texture colordiffuse="44ffffff">spinner.png</texture>
                <animation effect="fade" end="100" time="300" delay="200">WindowOpen</animation>
            </control>
            <control type="image">
                <depth>DepthMax</depth>
                <left>935</left>
                <top>528</top>
                <width>50</width>
                <height>50</height>
                <aspectratio>keep</aspectratio>
                <animation effect="rotate" end="45" center="auto" time="200" delay="600" loop="true" reversible="false" condition="true">Conditional</animation>
                <texture flipx="true" colordiffuse="11ffffff">spinner.png</texture>
                <animation effect="fade" end="100" time="300" delay="200">WindowOpen</animation>
            </control>
        </control>
    </include>
     <!--conditional positioning for progress dialogs (avoid overlaps)-->
    <include name="progressPosition1"><posy>row-2-begin</posy></include>
    <include name="progressPosition2"><posy>row-6-begin</posy></include>
    <!--mini player window-->
    <include name="miniVideoPlayer">
        <control type="group">
            <visible>!Skin.hassetting(stopVideoOnMenu) + Player.HasVideo + !VideoPlayer.IsFullscreen + !SlideShow.IsActive</visible>
            <posx>col-20-begin</posx>
            <posy>12</posy>
            <control type="image">
                <posx>0</posx>
                <posy>0</posy>
                <width>444</width>
                <height>255</height>
                <aspectratio>stretch</aspectratio>
                <texture>colors/black.png</texture>
                <bordertexture border="6" colordiffuse="overlay">colors/black.png</bordertexture>
                <bordersize>6</bordersize>
            </control>
            <control type="videowindow">
                <posx>6</posx>
                <posy>6</posy>
                <width>6-col</width>
                <height>243</height>
            </control>
        </control>
    </include>
   <!--debugging-->
    <include name="DialogID">
        <posx>15</posx>
        <posy>15</posy>
        <width>fullscreenwidth</width>
        <height>1-row</height>
        <font>smallStrong</font>
        <textcolor>textActive</textcolor>
        <align>left</align>
        <visible>Skin.HasSetting(DebugInfo)</visible>
    </include>
    <include name="WindowID">
        <posx>15</posx>
        <posy>15</posy>
        <width>fullscreenwidth</width>
        <height>1-row</height>
        <font>smallStrong</font>
        <textcolor>textActive</textcolor>
        <align>left</align>
        <visible>Skin.HasSetting(DebugInfo)</visible>
    </include>
    <include name="DebugGrid">
        <control type="image">
            <include>dimensionsFullscreen</include>
            <texture>debuggrid1080.png</texture>
            <colordiffuse>77FFFFFF</colordiffuse>
            <visible>Skin.HasSetting(DebugGrid)</visible>
        </control>
    </include>
</includes>