diff options
author | Cory Fields <theuni-nospam-@xbmc.org> | 2011-01-04 12:39:23 -0500 |
---|---|---|
committer | Cory Fields <theuni-nospam-@xbmc.org> | 2011-01-04 12:39:23 -0500 |
commit | a9839fa95cb9711efe465ca8e137c34247238485 (patch) | |
tree | 0bb8dc55aa317c9cc9191ea85e8298c2da90b06b /addons | |
parent | 07db21c48d60933b45c702d333572ed8f4629fdc (diff) |
Fix CRLF
Diffstat (limited to 'addons')
125 files changed, 42529 insertions, 42529 deletions
diff --git a/addons/metadata.artists.allmusic.com/resources/language/German/strings.xml b/addons/metadata.artists.allmusic.com/resources/language/German/strings.xml index 9702977c53..9e44c444d8 100644 --- a/addons/metadata.artists.allmusic.com/resources/language/German/strings.xml +++ b/addons/metadata.artists.allmusic.com/resources/language/German/strings.xml @@ -1,7 +1,7 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<strings>
- <string id="30000">Aktiviere Fanart</string>
- <string id="30001">Ziehe Bilder des Künstler von Allmusic.com</string>
- <string id="30002">Ziehe Bilder des Künstler von Last.fm</string>
- <string id="30003">Ziehe Bilder des Künstler von HTBackdrops</string>
-</strings>
+<?xml version="1.0" encoding="UTF-8"?> +<strings> + <string id="30000">Aktiviere Fanart</string> + <string id="30001">Ziehe Bilder des Künstler von Allmusic.com</string> + <string id="30002">Ziehe Bilder des Künstler von Last.fm</string> + <string id="30003">Ziehe Bilder des Künstler von HTBackdrops</string> +</strings> diff --git a/addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml b/addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml index c91d7edf42..d97c2e2d03 100644 --- a/addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml +++ b/addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml @@ -1,12 +1,12 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<!--Language file translated with Team XBMC Translator-->
-<!--Translator: blittan-->
-<!--Email: blittan@xbmc.org-->
-<!--Date of translation: 11/19/2010-->
-<!--$Revision$-->
-<strings>
- <string id="30000">Aktivera fanart</string>
- <string id="30001">Aktivera trailers från HD-Trailers.net</string>
- <string id="30002">Föredraget språk</string>
- <string id="30003">Hämta betyg från IMDb</string>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<!--Language file translated with Team XBMC Translator--> +<!--Translator: blittan--> +<!--Email: blittan@xbmc.org--> +<!--Date of translation: 11/19/2010--> +<!--$Revision$--> +<strings> + <string id="30000">Aktivera fanart</string> + <string id="30001">Aktivera trailers från HD-Trailers.net</string> + <string id="30002">Föredraget språk</string> + <string id="30003">Hämta betyg från IMDb</string> </strings>
\ No newline at end of file diff --git a/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Simple)/strings.xml b/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Simple)/strings.xml index 27b0fc46ec..7b34691245 100644 --- a/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Simple)/strings.xml +++ b/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Simple)/strings.xml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?>
-<strings>
- <string id="30000">å˜æš—级别</string>
-</strings>
+<?xml version="1.0" encoding="utf-8"?> +<strings> + <string id="30000">å˜æš—级别</string> +</strings> diff --git a/addons/screensaver.xbmc.builtin.slideshow/resources/language/Chinese (Simple)/strings.xml b/addons/screensaver.xbmc.builtin.slideshow/resources/language/Chinese (Simple)/strings.xml index 9422b8ada0..b457fdfd74 100644 --- a/addons/screensaver.xbmc.builtin.slideshow/resources/language/Chinese (Simple)/strings.xml +++ b/addons/screensaver.xbmc.builtin.slideshow/resources/language/Chinese (Simple)/strings.xml @@ -1,8 +1,8 @@ -<?xml version="1.0" encoding="utf-8"?>
-<strings>
- <string id="30000">å¹»ç¯ç‰‡å›¾ç‰‡æ¥æº</string>
- <string id="30001">文件夹</string>
- <string id="30002">视频åŒäººç”»</string>
- <string id="30003">音ä¹åŒäººç”»</string>
- <string id="30004">图片文件夹</string>
-</strings>
+<?xml version="1.0" encoding="utf-8"?> +<strings> + <string id="30000">å¹»ç¯ç‰‡å›¾ç‰‡æ¥æº</string> + <string id="30001">文件夹</string> + <string id="30002">视频åŒäººç”»</string> + <string id="30003">音ä¹åŒäººç”»</string> + <string id="30004">图片文件夹</string> +</strings> diff --git a/addons/skin.confluence/720p/AddonBrowser.xml b/addons/skin.confluence/720p/AddonBrowser.xml index baf9190ddd..8de224a7f0 100644 --- a/addons/skin.confluence/720p/AddonBrowser.xml +++ b/addons/skin.confluence/720p/AddonBrowser.xml @@ -1,275 +1,275 @@ -<window id="40">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,51,550</views>
- <controls>
- <include>CommonSettingsBackground</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <include>Window_OpenClose_Animation</include>
- </control>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0,5,0,0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(550)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(51)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>FullWidthList</include> <!-- view id = 51 -->
- <include>AddonInfoListView1</include> <!-- view id = 550 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Sort by button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>4</onright>
- <onup>2</onup>
- <ondown>5</ondown>
- </control>
- <control type="togglebutton" id="4">
- <description>Sort asc</description>
- <posx>220</posx>
- <posy>53</posy>
- <label>-</label>
- <onleft>3</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>5</ondown>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>90</posy>
- <width>250</width>
- <height>45</height>
- <font>font12caps</font>
- <label>$LOCALIZE[24002]</label>
- <textcolor>dialogheader</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id ="5">
- <description>Enable auto-updates</description>
- <posx>0</posx>
- <posy>130</posy>
- <include>ButtonCommonValues</include>
- <label>24063</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>3</onup>
- <ondown>6</ondown>
- </control>
- <control type="radiobutton" id ="6">
- <description>No notifications</description>
- <posx>0</posx>
- <posy>170</posy>
- <include>ButtonCommonValues</include>
- <label>25000</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>5</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>6</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>520</posx>
- <posy>0</posy>
- <visible>!IsEmpty(Container.Property(AddonCategory))</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-710,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-710,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>300</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="fadelabel">
- <width>200</width>
- <include>WindowTitleCommons</include>
- <posx>70</posx>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- <label>$INFO[Container.Property(AddonCategory)]</label>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>!IsEmpty(Container.Property(RepoName))</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-600,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-600,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>350</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="fadelabel">
- <width>250</width>
- <include>WindowTitleCommons</include>
- <posx>70</posx>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- <label>$INFO[Container.Property(RepoName)]</label>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[24001]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="40"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,51,550</views> + <controls> + <include>CommonSettingsBackground</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <include>Window_OpenClose_Animation</include> + </control> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0,5,0,0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(550)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(51)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>FullWidthList</include> <!-- view id = 51 --> + <include>AddonInfoListView1</include> <!-- view id = 550 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Sort by button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>4</onright> + <onup>2</onup> + <ondown>5</ondown> + </control> + <control type="togglebutton" id="4"> + <description>Sort asc</description> + <posx>220</posx> + <posy>53</posy> + <label>-</label> + <onleft>3</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>5</ondown> + </control> + <control type="label"> + <posx>0</posx> + <posy>90</posy> + <width>250</width> + <height>45</height> + <font>font12caps</font> + <label>$LOCALIZE[24002]</label> + <textcolor>dialogheader</textcolor> + <align>center</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id ="5"> + <description>Enable auto-updates</description> + <posx>0</posx> + <posy>130</posy> + <include>ButtonCommonValues</include> + <label>24063</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>3</onup> + <ondown>6</ondown> + </control> + <control type="radiobutton" id ="6"> + <description>No notifications</description> + <posx>0</posx> + <posy>170</posy> + <include>ButtonCommonValues</include> + <label>25000</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>5</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>6</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>520</posx> + <posy>0</posy> + <visible>!IsEmpty(Container.Property(AddonCategory))</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-710,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-710,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>300</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="fadelabel"> + <width>200</width> + <include>WindowTitleCommons</include> + <posx>70</posx> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + <label>$INFO[Container.Property(AddonCategory)]</label> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>!IsEmpty(Container.Property(RepoName))</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-600,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-600,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>350</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="fadelabel"> + <width>250</width> + <include>WindowTitleCommons</include> + <posx>70</posx> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + <label>$INFO[Container.Property(RepoName)]</label> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[24001]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogAddonInfo.xml b/addons/skin.confluence/720p/DialogAddonInfo.xml index a5132b4c19..3b956265c3 100644 --- a/addons/skin.confluence/720p/DialogAddonInfo.xml +++ b/addons/skin.confluence/720p/DialogAddonInfo.xml @@ -1,473 +1,473 @@ -<window id="146">
- <defaultcontrol always="true">9000</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>185</posx>
- <posy>60</posy>
- <origin x="185" y="10">!IsEmpty(ListItem.Property(Addon.broken))</origin>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>!Window.isVisible(AddonSettings) + !Window.IsActive(TextViewer)</visible>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>920</width>
- <height>600</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>260</posx>
- <posy>10</posy>
- <width>620</width>
- <height>578</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>260</posx>
- <posy>10</posy>
- <width>610</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>810</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>3</onleft>
- <onright>3</onright>
- <onup>3</onup>
- <ondown>3</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>280</posx>
- <posy>20</posy>
- <width>580</width>
- <height>30</height>
- <font>font30_title</font>
- <label>24003</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>35</posx>
- <posy>40</posy>
- <width>200</width>
- <height>200</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <description>Addon Title value</description>
- <posx>280</posx>
- <posy>80</posy>
- <width>580</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13caps</font>
- <label>[B]$INFO[ListItem.Property(Addon.Name)][/B]</label>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- </control>
- <control type="group">
- <posx>270</posx>
- <posy>130</posy>
- <control type="label">
- <description>Type txt</description>
- <posx>150</posx>
- <posy>0</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[146]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Type Value</description>
- <posx>160</posx>
- <posy>0</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Addon.Type)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Author txt</description>
- <posx>150</posx>
- <posy>30</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[21863]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Author Value</description>
- <posx>160</posx>
- <posy>30</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Addon.Creator)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Version txt</description>
- <posx>150</posx>
- <posy>60</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[24051]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Version Value</description>
- <posx>160</posx>
- <posy>60</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Addon.Version)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Rating txt</description>
- <posx>150</posx>
- <posy>90</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[563]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="image">
- <description>Rating value</description>
- <posx>160</posx>
- <posy>90</posy>
- <width>160</width>
- <height>32</height>
- <texture>LeftRating/$INFO[ListItem.Property(Addon.StarRating)]</texture>
- </control>
- <control type="label">
- <description>Summary txt</description>
- <posx>150</posx>
- <posy>120</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[20037]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="fadelabel">
- <description>Summary Value</description>
- <posx>160</posx>
- <posy>120</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Addon.Summary)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>160</posy>
- <width>600</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Description txt</description>
- <posx>0</posx>
- <posy>170</posy>
- <width>300</width>
- <height>25</height>
- <label>$LOCALIZE[21821]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="group">
- <visible>!IsEmpty(ListItem.Property(Addon.Disclaimer))</visible>
- <control type="label">
- <description>Description Page Count</description>
- <posx>600</posx>
- <posy>170</posy>
- <width>300</width>
- <height>25</height>
- <label>$INFO[Container(400).CurrentPage, $LOCALIZE[31024] [COLOR=blue]([/COLOR]]$INFO[Container(400).NumPages,/,[COLOR=blue])[/COLOR]]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>grey</textcolor>
- </control>
- <control type="textbox" id="400">
- <description>Description</description>
- <posx>10</posx>
- <posy>195</posy>
- <width>580</width>
- <height>160</height>
- <font>font12</font>
- <align>-</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Property(Addon.Description)]</label>
- <pagecontrol>60</pagecontrol>
- </control>
- <control type="scrollbar" id="60">
- <posx>610</posx>
- <posy>190</posy>
- <width>25</width>
- <height>175</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>9000</onleft>
- <onright>61</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="label">
- <description>Disclaimer txt</description>
- <posx>0</posx>
- <posy>370</posy>
- <width>600</width>
- <height>25</height>
- <label>$LOCALIZE[24052]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>orange</textcolor>
- </control>
- <control type="textbox">
- <description>Disclaimer</description>
- <posx>10</posx>
- <posy>395</posy>
- <width>580</width>
- <height>40</height>
- <font>font12</font>
- <align>-</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Property(Addon.Disclaimer)]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">true</autoscroll>
- </control>
- </control>
- <control type="group">
- <visible>IsEmpty(ListItem.Property(Addon.Disclaimer))</visible>
- <control type="label">
- <description>Description Page Count</description>
- <posx>600</posx>
- <posy>170</posy>
- <width>300</width>
- <height>25</height>
- <label>$INFO[Container(401).CurrentPage, $LOCALIZE[31024] [COLOR=blue]([/COLOR]]$INFO[Container(401).NumPages,/,[COLOR=blue])[/COLOR]]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>grey</textcolor>
- </control>
- <control type="textbox" id="401">
- <description>Description</description>
- <posx>10</posx>
- <posy>195</posy>
- <width>580</width>
- <height>250</height>
- <font>font12</font>
- <align>-</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Property(Addon.Description)]</label>
- <pagecontrol>61</pagecontrol>
- </control>
- <control type="scrollbar" id="61">
- <posx>610</posx>
- <posy>190</posy>
- <width>25</width>
- <height>250</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>60</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- </control>
- </control>
- <control type="group" id="9000">
- <posx>10</posx>
- <posy>280</posy>
- <control type="button" id ="6">
- <description>Enable Addon button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>255</width>
- <height>51</height>
- <textoffsetx>20</textoffsetx>
- <label>24022</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>10</onup>
- <ondown>7</ondown>
- </control>
- <control type="button" id="7">
- <description>Disable Addon button</description>
- <posx>0</posx>
- <posy>50</posy>
- <width>255</width>
- <height>51</height>
- <textoffsetx>20</textoffsetx>
- <label>24021</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>6</onup>
- <ondown>9</ondown>
- </control>
- <control type="button" id="9">
- <description>Addon Settings</description>
- <posx>0</posx>
- <posy>100</posy>
- <width>255</width>
- <height>51</height>
- <textoffsetx>20</textoffsetx>
- <label>24020</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>7</onup>
- <ondown>8</ondown>
- </control>
- <control type="button" id="8">
- <description>Update Addon button</description>
- <posx>0</posx>
- <posy>150</posy>
- <width>255</width>
- <height>51</height>
- <textoffsetx>20</textoffsetx>
- <label>24069</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>9</onup>
- <ondown>10</ondown>
- </control>
- <control type="button" id="10">
- <description>Changelog button</description>
- <posx>0</posx>
- <posy>200</posy>
- <width>255</width>
- <height>51</height>
- <textoffsetx>20</textoffsetx>
- <label>24036</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>8</onup>
- <ondown>6</ondown>
- </control>
- </control>
- <control type="group">
- <visible>!IsEmpty(ListItem.Property(Addon.broken))</visible>
- <posx>0</posx>
- <posy>600</posy>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>920</width>
- <height>100</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="image">
- <description>Icon image</description>
- <posx>18</posx>
- <posy>18</posy>
- <width>64</width>
- <height>64</height>
- <texture>DefaultIconError.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>100</posx>
- <posy>15</posy>
- <width>800</width>
- <height>25</height>
- <font>font13_title</font>
- <label>24096</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>selected</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="textbox">
- <description>Reason label</description>
- <posx>100</posx>
- <posy>35</posy>
- <width>800</width>
- <height>50</height>
- <font>font13</font>
- <label>$INFO[ListItem.Property(Addon.broken)]</label>
- <align>left</align>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- </control>
- </controls>
-</window>
+<window id="146"> + <defaultcontrol always="true">9000</defaultcontrol> + <coordinates> + <system>1</system> + <posx>185</posx> + <posy>60</posy> + <origin x="185" y="10">!IsEmpty(ListItem.Property(Addon.broken))</origin> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>!Window.isVisible(AddonSettings) + !Window.IsActive(TextViewer)</visible> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>920</width> + <height>600</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>260</posx> + <posy>10</posy> + <width>620</width> + <height>578</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>260</posx> + <posy>10</posy> + <width>610</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>810</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>3</onleft> + <onright>3</onright> + <onup>3</onup> + <ondown>3</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>280</posx> + <posy>20</posy> + <width>580</width> + <height>30</height> + <font>font30_title</font> + <label>24003</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>35</posx> + <posy>40</posy> + <width>200</width> + <height>200</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <description>Addon Title value</description> + <posx>280</posx> + <posy>80</posy> + <width>580</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <font>font13caps</font> + <label>[B]$INFO[ListItem.Property(Addon.Name)][/B]</label> + <textcolor>white</textcolor> + <scroll>true</scroll> + </control> + <control type="group"> + <posx>270</posx> + <posy>130</posy> + <control type="label"> + <description>Type txt</description> + <posx>150</posx> + <posy>0</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[146]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Type Value</description> + <posx>160</posx> + <posy>0</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Addon.Type)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Author txt</description> + <posx>150</posx> + <posy>30</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[21863]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Author Value</description> + <posx>160</posx> + <posy>30</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Addon.Creator)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Version txt</description> + <posx>150</posx> + <posy>60</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[24051]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Version Value</description> + <posx>160</posx> + <posy>60</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Addon.Version)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Rating txt</description> + <posx>150</posx> + <posy>90</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[563]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="image"> + <description>Rating value</description> + <posx>160</posx> + <posy>90</posy> + <width>160</width> + <height>32</height> + <texture>LeftRating/$INFO[ListItem.Property(Addon.StarRating)]</texture> + </control> + <control type="label"> + <description>Summary txt</description> + <posx>150</posx> + <posy>120</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[20037]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="fadelabel"> + <description>Summary Value</description> + <posx>160</posx> + <posy>120</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Addon.Summary)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="image"> + <posx>0</posx> + <posy>160</posy> + <width>600</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Description txt</description> + <posx>0</posx> + <posy>170</posy> + <width>300</width> + <height>25</height> + <label>$LOCALIZE[21821]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>blue</textcolor> + </control> + <control type="group"> + <visible>!IsEmpty(ListItem.Property(Addon.Disclaimer))</visible> + <control type="label"> + <description>Description Page Count</description> + <posx>600</posx> + <posy>170</posy> + <width>300</width> + <height>25</height> + <label>$INFO[Container(400).CurrentPage, $LOCALIZE[31024] [COLOR=blue]([/COLOR]]$INFO[Container(400).NumPages,/,[COLOR=blue])[/COLOR]]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>grey</textcolor> + </control> + <control type="textbox" id="400"> + <description>Description</description> + <posx>10</posx> + <posy>195</posy> + <width>580</width> + <height>160</height> + <font>font12</font> + <align>-</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Property(Addon.Description)]</label> + <pagecontrol>60</pagecontrol> + </control> + <control type="scrollbar" id="60"> + <posx>610</posx> + <posy>190</posy> + <width>25</width> + <height>175</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>9000</onleft> + <onright>61</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="label"> + <description>Disclaimer txt</description> + <posx>0</posx> + <posy>370</posy> + <width>600</width> + <height>25</height> + <label>$LOCALIZE[24052]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>orange</textcolor> + </control> + <control type="textbox"> + <description>Disclaimer</description> + <posx>10</posx> + <posy>395</posy> + <width>580</width> + <height>40</height> + <font>font12</font> + <align>-</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Property(Addon.Disclaimer)]</label> + <autoscroll time="2000" delay="3000" repeat="5000">true</autoscroll> + </control> + </control> + <control type="group"> + <visible>IsEmpty(ListItem.Property(Addon.Disclaimer))</visible> + <control type="label"> + <description>Description Page Count</description> + <posx>600</posx> + <posy>170</posy> + <width>300</width> + <height>25</height> + <label>$INFO[Container(401).CurrentPage, $LOCALIZE[31024] [COLOR=blue]([/COLOR]]$INFO[Container(401).NumPages,/,[COLOR=blue])[/COLOR]]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>grey</textcolor> + </control> + <control type="textbox" id="401"> + <description>Description</description> + <posx>10</posx> + <posy>195</posy> + <width>580</width> + <height>250</height> + <font>font12</font> + <align>-</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Property(Addon.Description)]</label> + <pagecontrol>61</pagecontrol> + </control> + <control type="scrollbar" id="61"> + <posx>610</posx> + <posy>190</posy> + <width>25</width> + <height>250</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>60</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + </control> + </control> + <control type="group" id="9000"> + <posx>10</posx> + <posy>280</posy> + <control type="button" id ="6"> + <description>Enable Addon button</description> + <posx>0</posx> + <posy>0</posy> + <width>255</width> + <height>51</height> + <textoffsetx>20</textoffsetx> + <label>24022</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>60</onleft> + <onright>60</onright> + <onup>10</onup> + <ondown>7</ondown> + </control> + <control type="button" id="7"> + <description>Disable Addon button</description> + <posx>0</posx> + <posy>50</posy> + <width>255</width> + <height>51</height> + <textoffsetx>20</textoffsetx> + <label>24021</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>60</onleft> + <onright>60</onright> + <onup>6</onup> + <ondown>9</ondown> + </control> + <control type="button" id="9"> + <description>Addon Settings</description> + <posx>0</posx> + <posy>100</posy> + <width>255</width> + <height>51</height> + <textoffsetx>20</textoffsetx> + <label>24020</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>60</onleft> + <onright>60</onright> + <onup>7</onup> + <ondown>8</ondown> + </control> + <control type="button" id="8"> + <description>Update Addon button</description> + <posx>0</posx> + <posy>150</posy> + <width>255</width> + <height>51</height> + <textoffsetx>20</textoffsetx> + <label>24069</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>60</onleft> + <onright>60</onright> + <onup>9</onup> + <ondown>10</ondown> + </control> + <control type="button" id="10"> + <description>Changelog button</description> + <posx>0</posx> + <posy>200</posy> + <width>255</width> + <height>51</height> + <textoffsetx>20</textoffsetx> + <label>24036</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>60</onleft> + <onright>60</onright> + <onup>8</onup> + <ondown>6</ondown> + </control> + </control> + <control type="group"> + <visible>!IsEmpty(ListItem.Property(Addon.broken))</visible> + <posx>0</posx> + <posy>600</posy> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>920</width> + <height>100</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="image"> + <description>Icon image</description> + <posx>18</posx> + <posy>18</posy> + <width>64</width> + <height>64</height> + <texture>DefaultIconError.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>100</posx> + <posy>15</posy> + <width>800</width> + <height>25</height> + <font>font13_title</font> + <label>24096</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>selected</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="textbox"> + <description>Reason label</description> + <posx>100</posx> + <posy>35</posy> + <width>800</width> + <height>50</height> + <font>font13</font> + <label>$INFO[ListItem.Property(Addon.broken)]</label> + <align>left</align> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogAddonSettings.xml b/addons/skin.confluence/720p/DialogAddonSettings.xml index da509717a8..c3e09e4106 100644 --- a/addons/skin.confluence/720p/DialogAddonSettings.xml +++ b/addons/skin.confluence/720p/DialogAddonSettings.xml @@ -1,243 +1,243 @@ -<window id="10140">
- <defaultcontrol always="true">9</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>160</posx>
- <posy>55</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>960</width>
- <height>610</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>30</posx>
- <posy>15</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>650</width>
- <height>588</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <description>separator image</description>
- <posx>268</posx>
- <posy>538</posy>
- <width>650</width>
- <height>1</height>
- <texture>separator2.png</texture>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>634</width>
- <height>70</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label" id="20">
- <description>header label</description>
- <posx>300</posx>
- <posy>20</posy>
- <width>640</width>
- <height>30</height>
- <font>font16caps</font>
- <label>-</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>850</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>2</onleft>
- <onright>2</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="grouplist" id="9">
- <description>button area</description>
- <posx>10</posx>
- <posy>90</posy>
- <width>258</width>
- <height>481</height>
- <itemgap>-1</itemgap>
- <onleft>30</onleft>
- <onright>2</onright>
- <onup>9</onup>
- <ondown>9</ondown>
- </control>
- <control type="grouplist" id="2">
- <description>control area</description>
- <posx>280</posx>
- <posy>70</posy>
- <width>630</width>
- <height>460</height>
- <itemgap>-1</itemgap>
- <pagecontrol>30</pagecontrol>
- <onup>9001</onup>
- <ondown>9001</ondown>
- <onleft>9</onleft>
- <onright>30</onright>
- </control>
- <control type="scrollbar" id="30">
- <posx>920</posx>
- <posy>70</posy>
- <width>25</width>
- <height>470</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>2</onleft>
- <onright>9</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="group" id="9001">
- <posy>545</posy>
- <posx>280</posx>
- <control type="button" id="10">
- <description>OK Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>186</label>
- <onleft>12</onleft>
- <onright>11</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- </control>
- <control type="button" id="11">
- <description>Cancel Button</description>
- <posx>210</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>222</label>
- <onleft>10</onleft>
- <onright>12</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- </control>
- <control type="button" id="12">
- <description>Defaults Button</description>
- <posx>420</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>409</label>
- <onleft>11</onleft>
- <onright>10</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- </control>
- </control>
-
- <control type="button" id="13">
- <description>Default Category Button</description>
- <height>60</height>
- <width>258</width>
- <textoffsetx>20</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- </control>
- <control type="button" id="3">
- <description>Default Button</description>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="4">
- <description>Default RadioButton</description>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- </control>
- <control type="spincontrolex" id="5">
- <description>Default spincontrolex</description>
- <height>40</height>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- <font>font13</font>
- <aligny>center</aligny>
- <reverse>yes</reverse>
- </control>
- <control type="label" id="7">
- <height>45</height>
- <font>font13_title</font>
- <label>-</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="image" id="6">
- <description>Default Seperator</description>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="sliderex" id="8">
- <description>Default Slider</description>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- </control>
- </controls>
-</window>
+<window id="10140"> + <defaultcontrol always="true">9</defaultcontrol> + <coordinates> + <system>1</system> + <posx>160</posx> + <posy>55</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>960</width> + <height>610</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <description>LOGO</description> + <posx>30</posx> + <posy>15</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>650</width> + <height>588</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <description>separator image</description> + <posx>268</posx> + <posy>538</posy> + <width>650</width> + <height>1</height> + <texture>separator2.png</texture> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>634</width> + <height>70</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label" id="20"> + <description>header label</description> + <posx>300</posx> + <posy>20</posy> + <width>640</width> + <height>30</height> + <font>font16caps</font> + <label>-</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>850</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>2</onleft> + <onright>2</onright> + <onup>2</onup> + <ondown>2</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="grouplist" id="9"> + <description>button area</description> + <posx>10</posx> + <posy>90</posy> + <width>258</width> + <height>481</height> + <itemgap>-1</itemgap> + <onleft>30</onleft> + <onright>2</onright> + <onup>9</onup> + <ondown>9</ondown> + </control> + <control type="grouplist" id="2"> + <description>control area</description> + <posx>280</posx> + <posy>70</posy> + <width>630</width> + <height>460</height> + <itemgap>-1</itemgap> + <pagecontrol>30</pagecontrol> + <onup>9001</onup> + <ondown>9001</ondown> + <onleft>9</onleft> + <onright>30</onright> + </control> + <control type="scrollbar" id="30"> + <posx>920</posx> + <posy>70</posy> + <width>25</width> + <height>470</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>2</onleft> + <onright>9</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="group" id="9001"> + <posy>545</posy> + <posx>280</posx> + <control type="button" id="10"> + <description>OK Button</description> + <posx>0</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>186</label> + <onleft>12</onleft> + <onright>11</onright> + <onup>2</onup> + <ondown>2</ondown> + </control> + <control type="button" id="11"> + <description>Cancel Button</description> + <posx>210</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>222</label> + <onleft>10</onleft> + <onright>12</onright> + <onup>2</onup> + <ondown>2</ondown> + </control> + <control type="button" id="12"> + <description>Defaults Button</description> + <posx>420</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>409</label> + <onleft>11</onleft> + <onright>10</onright> + <onup>2</onup> + <ondown>2</ondown> + </control> + </control> + + <control type="button" id="13"> + <description>Default Category Button</description> + <height>60</height> + <width>258</width> + <textoffsetx>20</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + </control> + <control type="button" id="3"> + <description>Default Button</description> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="4"> + <description>Default RadioButton</description> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + </control> + <control type="spincontrolex" id="5"> + <description>Default spincontrolex</description> + <height>40</height> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + <font>font13</font> + <aligny>center</aligny> + <reverse>yes</reverse> + </control> + <control type="label" id="7"> + <height>45</height> + <font>font13_title</font> + <label>-</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="image" id="6"> + <description>Default Seperator</description> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="sliderex" id="8"> + <description>Default Slider</description> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogAlbumInfo.xml b/addons/skin.confluence/720p/DialogAlbumInfo.xml index fd9b8eb1ca..71e07f6e70 100644 --- a/addons/skin.confluence/720p/DialogAlbumInfo.xml +++ b/addons/skin.confluence/720p/DialogAlbumInfo.xml @@ -1,665 +1,665 @@ -<window id="2001">
- <defaultcontrol always="true">5</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <control type="group">
- <visible>!Window.IsVisible(FileBrowser)</visible>
- <animation effect="slide" start="1100,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="1100,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>180</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>230</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="group">
- <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation>
- <animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
- <control type="label">
- <description>Album header label</description>
- <posx>210</posx>
- <posy>50</posy>
- <width>1030</width>
- <height>30</height>
- <font>font35_title</font>
- <label>$INFO[Listitem.Album]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>container.content(Albums)</visible>
- </control>
- <control type="label">
- <description>Artist header label</description>
- <posx>210</posx>
- <posy>50</posy>
- <width>1030</width>
- <height>30</height>
- <font>font35_title</font>
- <label>$INFO[Listitem.Artist]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>container.content(Artists)</visible>
- </control>
- <control type="group">
- <visible>Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>387</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <description>Current Fanart image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <aspectratio>keep</aspectratio>
- <visible>!IsEmpty(Listitem.Property(Fanart_Image))</visible>
- </control>
- <control type="group">
- <visible>IsEmpty(Listitem.Property(Fanart_Image))</visible>
- <control type="image">
- <description>No Fanart Back</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <texture>Fanart_Fallback_Music_Small.jpg</texture>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <aspectratio>stretch</aspectratio>
- <colordiffuse>88FFFFFF</colordiffuse>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <font>font30_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>31311</label>
- </control>
- </control>
- </control>
- <control type="group">
- <visible>container.content(Albums) + !Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>210</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>380</width>
- <height>360</height>
- <aspectratio>keep</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="list" id="49">
- <posx>390</posx>
- <posy>20</posy>
- <width>640</width>
- <height>330</height>
- <onleft>49</onleft>
- <onright>49</onright>
- <onup>9000</onup>
- <ondown>61</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30">
- <control type="label">
- <posx>140</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>150</posx>
- <posy>0</posy>
- <width>500</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>30</height>
- <visible>Control.HasFocus(49)</visible>
- <texture>MenuItemFO.png</texture>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>140</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>150</posx>
- <posy>0</posy>
- <width>500</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- <content>
- <item>
- <label>$LOCALIZE[557]:</label>
- <label2>$INFO[ListItem.Artist]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Artist)</visible>
- </item>
- <item>
- <label>$LOCALIZE[515]:</label>
- <label2>$INFO[ListItem.Genre]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Genre)</visible>
- </item>
- <item>
- <label>$LOCALIZE[563]:</label>
- <label2>$INFO[ListItem.Rating]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Rating)</visible>
- </item>
- <item>
- <label>$LOCALIZE[175]:</label>
- <label2>$INFO[ListItem.Property(Album_Mood)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Album_Mood))</visible>
- </item>
- <item>
- <label>$LOCALIZE[176]:</label>
- <label2>$INFO[ListItem.Property(Album_Style)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Album_Style))</visible>
- </item>
- <item>
- <label>$LOCALIZE[21895]:</label>
- <label2>$INFO[ListItem.Property(Album_Theme)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Album_Theme))</visible>
- </item>
- <item>
- <label>146</label>
- <label2>$INFO[ListItem.Property(Album_Type)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Album_Type))</visible>
- </item>
- <item>
- <label>$LOCALIZE[21899]:</label>
- <label2>$INFO[ListItem.Property(Album_Label)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Album_Label))</visible>
- </item>
- <item>
- <label>$LOCALIZE[562]:</label>
- <label2>$INFO[ListItem.Year]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Year)</visible>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>390</posx>
- <posy>370</posy>
- <width>640</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <visible>container.content(Artists) + !Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>210</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>380</width>
- <height>360</height>
- <aspectratio>keep</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="list" id="49">
- <posx>390</posx>
- <posy>20</posy>
- <width>640</width>
- <height>330</height>
- <onleft>49</onleft>
- <onright>49</onright>
- <onup>9000</onup>
- <ondown>61</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30">
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>465</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>30</height>
- <visible>Control.HasFocus(49)</visible>
- <texture>MenuItemFO.png</texture>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>465</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- <content>
- <item>
- <label>$LOCALIZE[21893]:</label>
- <label2>$INFO[ListItem.Property(Artist_Born)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_Born))</visible>
- </item>
- <item>
- <label>$LOCALIZE[21894]:</label>
- <label2>$INFO[ListItem.Property(Artist_Formed)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_Formed))</visible>
- </item>
- <item>
- <label>$LOCALIZE[515]:</label>
- <label2>$INFO[ListItem.Genre]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Genre)</visible>
- </item>
- <item>
- <label>$LOCALIZE[175]:</label>
- <label2>$INFO[ListItem.Property(Artist_Mood)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_Mood))</visible>
- </item>
- <item>
- <label>$LOCALIZE[176]:</label>
- <label2>$INFO[ListItem.Property(Artist_Style)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_Style))</visible>
- </item>
- <item>
- <label>$LOCALIZE[21892]:</label>
- <label2>$INFO[ListItem.Property(Artist_Instrument)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_Instrument))</visible>
- </item>
- <item>
- <label>$LOCALIZE[21897]:</label>
- <label2>$INFO[ListItem.Property(Artist_Died)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_Died))</visible>
- </item>
- <item>
- <label>$LOCALIZE[21896]:</label>
- <label2>$INFO[ListItem.Property(Artist_Disbanded)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_Disbanded))</visible>
- </item>
- <item>
- <label>$LOCALIZE[21898]:</label>
- <label2>$INFO[ListItem.Property(Artist_YearsActive)]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Property(Artist_YearsActive))</visible>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>390</posx>
- <posy>370</posy>
- <width>640</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="label">
- <posx>130r</posx>
- <posy>480</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>[COLOR=blue]$LOCALIZE[21821][/COLOR]$INFO[Container(4).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(4).NumPages,/, )]</label>
- <visible>Control.IsVisible(4)</visible>
- </control>
- <control type="label">
- <posx>130r</posx>
- <posy>480</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>[COLOR=blue]$LOCALIZE[182][/COLOR]$INFO[Container(50).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(50).NumPages,/, )]</label>
- <visible>Control.IsVisible(50) + Container.Content(Albums)</visible>
- </control>
- <control type="label">
- <posx>130r</posx>
- <posy>480</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>[COLOR=blue]$LOCALIZE[132][/COLOR]$INFO[Container(50).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(50).NumPages,/, )]</label>
- <visible>Control.IsVisible(50) + Container.Content(Artists)</visible>
- </control>
- <control type="spincontrol" id="61">
- <description>Next page button</description>
- <posx>120r</posx>
- <posy>485</posy>
- <subtype>page</subtype>
- <font>-</font>
- <onleft>61</onleft>
- <onright>61</onright>
- <ondown>9000</ondown>
- <onup>49</onup>
- <textcolor>-</textcolor>
- <showonepage>true</showonepage>
- </control>
- <control type="textbox" id="4">
- <description>Description</description>
- <posx>210</posx>
- <posy>515</posy>
- <width>1030</width>
- <height>120</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <pagecontrol>61</pagecontrol>
- <autoscroll time="3000" delay="4000" repeat="5000">!Control.HasFocus(61) + Skin.HasSetting(AutoScroll)</autoscroll>
- <visible>!Control.IsVisible(50)</visible>
- </control>
- <control type="image">
- <description>Actor image</description>
- <posx>210</posx>
- <posy>480</posy>
- <width>160</width>
- <height>160</height>
- <texture fallback="DefaultAlbumCover.png">$INFO[Container(50).Listitem.Icon]</texture>
- <aspectratio>keep</aspectratio>
- <visible>Control.IsVisible(50)</visible>
- </control>
- <control type="panel" id="50">
- <posx>380</posx>
- <posy>520</posy>
- <width>860</width>
- <height>120</height>
- <onleft>9000</onleft>
- <onright>61</onright>
- <onup>61</onup>
- <ondown>9000</ondown>
- <viewtype label="">list</viewtype>
- <pagecontrol>61</pagecontrol>
- <scrolltime>200</scrolltime>
- <orientation>vertical</orientation>
- <itemlayout condition="Container.Content(Albums)" height="40" width="430">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>410</width>
- <height>40</height>
- <font>font12</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <label>([COLOR=selected][B]$INFO[ListItem.TrackNumber][/B][/COLOR]) - $INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>420</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <font>font12</font>
- <align>right</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <label>$INFO[ListItem.Duration]</label>
- </control>
- </itemlayout>
- <focusedlayout condition="Container.Content(Albums)" height="40" width="430">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <visible>!Control.HasFocus(50)</visible>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <visible>Control.HasFocus(50)</visible>
- <texture border="5">button-focus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>410</width>
- <height>40</height>
- <font>font12</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <label>([COLOR=selected][B]$INFO[ListItem.TrackNumber][/B][/COLOR]) - $INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>420</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <font>font12</font>
- <align>right</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <label>$INFO[ListItem.Duration]</label>
- </control>
- </focusedlayout>
- <itemlayout condition="Container.Content(Artists)" height="40" width="430">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>410</width>
- <height>40</height>
- <font>font12</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </itemlayout>
- <focusedlayout condition="Container.Content(Artists)" height="40" width="430">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <visible>!Control.HasFocus(50)</visible>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <visible>Control.HasFocus(50)</visible>
- <texture border="5">button-focus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>410</width>
- <height>40</height>
- <font>font12</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="grouplist" id="9000">
- <posx>210</posx>
- <posy>660</posy>
- <width>1030</width>
- <height>40</height>
- <itemgap>2</itemgap>
- <align>center</align>
- <orientation>horizontal</orientation>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>50</onup>
- <ondown>49</ondown>
- <control type="button" id="5">
- <description>Cast/Review</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>206</label>
- </control>
- <control type="button" id="6">
- <description>Refresh</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>184</label>
- </control>
- <control type="button" id="10">
- <description>Get Thumb</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>13405</label>
- </control>
- <control type="button" id="12">
- <description>Get Fanart</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>20413</label>
- </control>
- </control>
- </control>
- </control>
- <include>SideBladeRight</include>
- <include>Clock</include>
- </controls>
+<window id="2001"> + <defaultcontrol always="true">5</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <control type="group"> + <visible>!Window.IsVisible(FileBrowser)</visible> + <animation effect="slide" start="1100,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="1100,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>180</posx> + <posy>0</posy> + <width>1100</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>230</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>9000</onup> + <ondown>9000</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="group"> + <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation> + <animation effect="fade" start="100" end="0" time="200">WindowClose</animation> + <control type="label"> + <description>Album header label</description> + <posx>210</posx> + <posy>50</posy> + <width>1030</width> + <height>30</height> + <font>font35_title</font> + <label>$INFO[Listitem.Album]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>container.content(Albums)</visible> + </control> + <control type="label"> + <description>Artist header label</description> + <posx>210</posx> + <posy>50</posy> + <width>1030</width> + <height>30</height> + <font>font35_title</font> + <label>$INFO[Listitem.Artist]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>container.content(Artists)</visible> + </control> + <control type="group"> + <visible>Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>387</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <description>Current Fanart image</description> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <aspectratio>keep</aspectratio> + <visible>!IsEmpty(Listitem.Property(Fanart_Image))</visible> + </control> + <control type="group"> + <visible>IsEmpty(Listitem.Property(Fanart_Image))</visible> + <control type="image"> + <description>No Fanart Back</description> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <texture>Fanart_Fallback_Music_Small.jpg</texture> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <aspectratio>stretch</aspectratio> + <colordiffuse>88FFFFFF</colordiffuse> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <font>font30_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <align>center</align> + <aligny>center</aligny> + <label>31311</label> + </control> + </control> + </control> + <control type="group"> + <visible>container.content(Albums) + !Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>210</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>380</width> + <height>360</height> + <aspectratio>keep</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="list" id="49"> + <posx>390</posx> + <posy>20</posy> + <width>640</width> + <height>330</height> + <onleft>49</onleft> + <onright>49</onright> + <onup>9000</onup> + <ondown>61</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30"> + <control type="label"> + <posx>140</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>150</posx> + <posy>0</posy> + <width>500</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>30</height> + <visible>Control.HasFocus(49)</visible> + <texture>MenuItemFO.png</texture> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>140</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>150</posx> + <posy>0</posy> + <width>500</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + <content> + <item> + <label>$LOCALIZE[557]:</label> + <label2>$INFO[ListItem.Artist]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Artist)</visible> + </item> + <item> + <label>$LOCALIZE[515]:</label> + <label2>$INFO[ListItem.Genre]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Genre)</visible> + </item> + <item> + <label>$LOCALIZE[563]:</label> + <label2>$INFO[ListItem.Rating]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Rating)</visible> + </item> + <item> + <label>$LOCALIZE[175]:</label> + <label2>$INFO[ListItem.Property(Album_Mood)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Album_Mood))</visible> + </item> + <item> + <label>$LOCALIZE[176]:</label> + <label2>$INFO[ListItem.Property(Album_Style)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Album_Style))</visible> + </item> + <item> + <label>$LOCALIZE[21895]:</label> + <label2>$INFO[ListItem.Property(Album_Theme)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Album_Theme))</visible> + </item> + <item> + <label>146</label> + <label2>$INFO[ListItem.Property(Album_Type)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Album_Type))</visible> + </item> + <item> + <label>$LOCALIZE[21899]:</label> + <label2>$INFO[ListItem.Property(Album_Label)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Album_Label))</visible> + </item> + <item> + <label>$LOCALIZE[562]:</label> + <label2>$INFO[ListItem.Year]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Year)</visible> + </item> + </content> + </control> + <control type="image"> + <posx>390</posx> + <posy>370</posy> + <width>640</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <visible>container.content(Artists) + !Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>210</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>380</width> + <height>360</height> + <aspectratio>keep</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="list" id="49"> + <posx>390</posx> + <posy>20</posy> + <width>640</width> + <height>330</height> + <onleft>49</onleft> + <onright>49</onright> + <onup>9000</onup> + <ondown>61</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30"> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>465</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>30</height> + <visible>Control.HasFocus(49)</visible> + <texture>MenuItemFO.png</texture> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>465</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + <content> + <item> + <label>$LOCALIZE[21893]:</label> + <label2>$INFO[ListItem.Property(Artist_Born)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_Born))</visible> + </item> + <item> + <label>$LOCALIZE[21894]:</label> + <label2>$INFO[ListItem.Property(Artist_Formed)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_Formed))</visible> + </item> + <item> + <label>$LOCALIZE[515]:</label> + <label2>$INFO[ListItem.Genre]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Genre)</visible> + </item> + <item> + <label>$LOCALIZE[175]:</label> + <label2>$INFO[ListItem.Property(Artist_Mood)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_Mood))</visible> + </item> + <item> + <label>$LOCALIZE[176]:</label> + <label2>$INFO[ListItem.Property(Artist_Style)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_Style))</visible> + </item> + <item> + <label>$LOCALIZE[21892]:</label> + <label2>$INFO[ListItem.Property(Artist_Instrument)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_Instrument))</visible> + </item> + <item> + <label>$LOCALIZE[21897]:</label> + <label2>$INFO[ListItem.Property(Artist_Died)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_Died))</visible> + </item> + <item> + <label>$LOCALIZE[21896]:</label> + <label2>$INFO[ListItem.Property(Artist_Disbanded)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_Disbanded))</visible> + </item> + <item> + <label>$LOCALIZE[21898]:</label> + <label2>$INFO[ListItem.Property(Artist_YearsActive)]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Property(Artist_YearsActive))</visible> + </item> + </content> + </control> + <control type="image"> + <posx>390</posx> + <posy>370</posy> + <width>640</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + </control> + <control type="label"> + <posx>130r</posx> + <posy>480</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <label>[COLOR=blue]$LOCALIZE[21821][/COLOR]$INFO[Container(4).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(4).NumPages,/, )]</label> + <visible>Control.IsVisible(4)</visible> + </control> + <control type="label"> + <posx>130r</posx> + <posy>480</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <label>[COLOR=blue]$LOCALIZE[182][/COLOR]$INFO[Container(50).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(50).NumPages,/, )]</label> + <visible>Control.IsVisible(50) + Container.Content(Albums)</visible> + </control> + <control type="label"> + <posx>130r</posx> + <posy>480</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <label>[COLOR=blue]$LOCALIZE[132][/COLOR]$INFO[Container(50).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(50).NumPages,/, )]</label> + <visible>Control.IsVisible(50) + Container.Content(Artists)</visible> + </control> + <control type="spincontrol" id="61"> + <description>Next page button</description> + <posx>120r</posx> + <posy>485</posy> + <subtype>page</subtype> + <font>-</font> + <onleft>61</onleft> + <onright>61</onright> + <ondown>9000</ondown> + <onup>49</onup> + <textcolor>-</textcolor> + <showonepage>true</showonepage> + </control> + <control type="textbox" id="4"> + <description>Description</description> + <posx>210</posx> + <posy>515</posy> + <width>1030</width> + <height>120</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <pagecontrol>61</pagecontrol> + <autoscroll time="3000" delay="4000" repeat="5000">!Control.HasFocus(61) + Skin.HasSetting(AutoScroll)</autoscroll> + <visible>!Control.IsVisible(50)</visible> + </control> + <control type="image"> + <description>Actor image</description> + <posx>210</posx> + <posy>480</posy> + <width>160</width> + <height>160</height> + <texture fallback="DefaultAlbumCover.png">$INFO[Container(50).Listitem.Icon]</texture> + <aspectratio>keep</aspectratio> + <visible>Control.IsVisible(50)</visible> + </control> + <control type="panel" id="50"> + <posx>380</posx> + <posy>520</posy> + <width>860</width> + <height>120</height> + <onleft>9000</onleft> + <onright>61</onright> + <onup>61</onup> + <ondown>9000</ondown> + <viewtype label="">list</viewtype> + <pagecontrol>61</pagecontrol> + <scrolltime>200</scrolltime> + <orientation>vertical</orientation> + <itemlayout condition="Container.Content(Albums)" height="40" width="430"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>410</width> + <height>40</height> + <font>font12</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <label>([COLOR=selected][B]$INFO[ListItem.TrackNumber][/B][/COLOR]) - $INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>420</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <font>font12</font> + <align>right</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <label>$INFO[ListItem.Duration]</label> + </control> + </itemlayout> + <focusedlayout condition="Container.Content(Albums)" height="40" width="430"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <visible>!Control.HasFocus(50)</visible> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <visible>Control.HasFocus(50)</visible> + <texture border="5">button-focus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>410</width> + <height>40</height> + <font>font12</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <label>([COLOR=selected][B]$INFO[ListItem.TrackNumber][/B][/COLOR]) - $INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>420</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <font>font12</font> + <align>right</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <label>$INFO[ListItem.Duration]</label> + </control> + </focusedlayout> + <itemlayout condition="Container.Content(Artists)" height="40" width="430"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>410</width> + <height>40</height> + <font>font12</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <label>$INFO[ListItem.Label]</label> + </control> + </itemlayout> + <focusedlayout condition="Container.Content(Artists)" height="40" width="430"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <visible>!Control.HasFocus(50)</visible> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <visible>Control.HasFocus(50)</visible> + <texture border="5">button-focus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>410</width> + <height>40</height> + <font>font12</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <label>$INFO[ListItem.Label]</label> + </control> + </focusedlayout> + </control> + <control type="grouplist" id="9000"> + <posx>210</posx> + <posy>660</posy> + <width>1030</width> + <height>40</height> + <itemgap>2</itemgap> + <align>center</align> + <orientation>horizontal</orientation> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>50</onup> + <ondown>49</ondown> + <control type="button" id="5"> + <description>Cast/Review</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>206</label> + </control> + <control type="button" id="6"> + <description>Refresh</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>184</label> + </control> + <control type="button" id="10"> + <description>Get Thumb</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>13405</label> + </control> + <control type="button" id="12"> + <description>Get Fanart</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>20413</label> + </control> + </control> + </control> + </control> + <include>SideBladeRight</include> + <include>Clock</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogBusy.xml b/addons/skin.confluence/720p/DialogBusy.xml index f8070126cb..7e9df8d916 100644 --- a/addons/skin.confluence/720p/DialogBusy.xml +++ b/addons/skin.confluence/720p/DialogBusy.xml @@ -1,44 +1,44 @@ -<window id="136">
- <animation effect="fade" time="100">WindowOpen</animation>
- <animation effect="fade" time="200">WindowClose</animation>
- <coordinates>
- <system>1</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="group">
- <posx>1070</posx>
- <posy>638</posy>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>200</width>
- <height>72</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="image">
- <description>Busy animation</description>
- <posx>20</posx>
- <posy>20</posy>
- <width>32</width>
- <height>32</height>
- <texture>busy.png</texture>
- <aspectratio>keep</aspectratio>
- <animation effect="rotate" start="0" end="360" center="36,36" time="1200" loop="true" condition="true">conditional</animation>
- </control>
- <control type="label">
- <description>Busy label</description>
- <posx>60</posx>
- <posy>20</posy>
- <width>120</width>
- <height>32</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31004]</label>
- <font>font12</font>
- </control>
- </control>
- </controls>
+<window id="136"> + <animation effect="fade" time="100">WindowOpen</animation> + <animation effect="fade" time="200">WindowClose</animation> + <coordinates> + <system>1</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="group"> + <posx>1070</posx> + <posy>638</posy> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>200</width> + <height>72</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="image"> + <description>Busy animation</description> + <posx>20</posx> + <posy>20</posy> + <width>32</width> + <height>32</height> + <texture>busy.png</texture> + <aspectratio>keep</aspectratio> + <animation effect="rotate" start="0" end="360" center="36,36" time="1200" loop="true" condition="true">conditional</animation> + </control> + <control type="label"> + <description>Busy label</description> + <posx>60</posx> + <posy>20</posy> + <width>120</width> + <height>32</height> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[31004]</label> + <font>font12</font> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogButtonMenu.xml b/addons/skin.confluence/720p/DialogButtonMenu.xml index ee507571ef..534f9b6be1 100644 --- a/addons/skin.confluence/720p/DialogButtonMenu.xml +++ b/addons/skin.confluence/720p/DialogButtonMenu.xml @@ -1,266 +1,266 @@ -<window type="buttonMenu" id="111">
- <defaultcontrol always="true">13</defaultcontrol>
- <include>dialogeffect</include>
- <coordinates>
- <system>1</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture>black-back.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture>black-back.png</texture>
- <colordiffuse>99FFFFFF</colordiffuse>
- </control>
- <control type="group">
- <posx>305</posx>
- <posy>245</posy>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>670</width>
- <height>210</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- <visible>!System.HasAlarm(shutdowntimer)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>670</width>
- <height>235</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- <visible>System.HasAlarm(shutdowntimer)</visible>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>5</posy>
- <width>650</width>
- <height>60</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>570</posx>
- <posy>5</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>13</onleft>
- <onright>13</onright>
- <onup>13</onup>
- <ondown>13</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label" id="3100">
- <description>Label control</description>
- <posx>10</posx>
- <posy>15</posy>
- <width>650</width>
- <height>35</height>
- <label>-</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>60</posy>
- <width>650</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- <colordiffuse>99FFFFFF</colordiffuse>
- </control>
- <control type="grouplist">
- <posx>15</posx>
- <posy>85</posy>
- <width>640</width>
- <itemgap>20</itemgap>
- <align>center</align>
- <orientation>Horizontal</orientation>
- <control type="togglebutton" id="9">
- <description>Master mode button</description>
- <width>90</width>
- <height>90</height>
- <label>20046</label>
- <altlabel>20045</altlabel>
- <texturefocus>ButtonMenuMasterFO.png</texturefocus>
- <texturenofocus>ButtonMenuMasterNF.png</texturenofocus>
- <usealttexture>!System.IsMaster</usealttexture>
- <alttexturefocus>ButtonMenuNoMasterFO.png</alttexturefocus>
- <alttexturenofocus>ButtonMenuNoMasterNF.png</alttexturenofocus>
- <onclick>xbmc.mastermode</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <visible>System.HasLocks</visible>
- </control>
- <control type="button" id="10">
- <description>LogOff Profile</description>
- <width>90</width>
- <height>90</height>
- <texturefocus>ButtonMenuLogOffFO.png</texturefocus>
- <texturenofocus>ButtonMenuLogOffNF.png</texturenofocus>
- <onclick>dialog.close(all,true)</onclick>
- <onclick>System.LogOff</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <label>$LOCALIZE[20126] $INFO[system.profilename]</label>
- <visible>System.HasLoginScreen</visible>
- <visible>System.Loggedon</visible>
- </control>
- <control type="button" id="11">
- <description>Exit xbmc</description>
- <width>90</width>
- <height>90</height>
- <texturefocus>ButtonMenuExitFO.png</texturefocus>
- <texturenofocus>ButtonMenuExitNF.png</texturenofocus>
- <onclick>XBMC.Quit()</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <label>$LOCALIZE[13012]</label>
- </control>
- <control type="group" id="13">
- <width>90</width>
- <defaultcontrol always="true">15</defaultcontrol>
- <control type="button" id="17">
- <description>Cancel Shutdown Timer button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>90</width>
- <height>90</height>
- <texturefocus>-</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onclick>XBMC.CancelAlarm(shutdowntimer)</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <label>20151</label>
- <onleft>11</onleft>
- <onright>12</onright>
- <onup>15</onup>
- <ondown>16</ondown>
- <visible>System.HasAlarm(shutdowntimer)</visible>
- </control>
- <control type="button" id="16">
- <description>Custom Shutdown Timer button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>90</width>
- <height>90</height>
- <texturefocus>-</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onclick>XBMC.AlarmClock(shutdowntimer,XBMC.Powerdown())</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <label>20150</label>
- <onleft>11</onleft>
- <onright>12</onright>
- <onup>17</onup>
- <ondown>15</ondown>
- </control>
- <control type="button" id="15">
- <description>Shutdown button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>90</width>
- <height>90</height>
- <texturefocus>-</texturefocus>
- <texturenofocus>ButtonMenuShutdownNF.png</texturenofocus>
- <onclick>XBMC.Powerdown()</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <label>13016</label>
- <onleft>11</onleft>
- <onright>12</onright>
- <onup>16</onup>
- <ondown>17</ondown>
- </control>
- <control type="image">
- <description>Shutdown focus image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>90</width>
- <height>90</height>
- <texture>ButtonMenuShutdownFO.png</texture>
- <visible>Control.HasFocus(15) | Control.HasFocus(16) | Control.HasFocus(17)</visible>
- </control>
- </control>
- <control type="button" id="12">
- <description>Suspend xbmc</description>
- <width>90</width>
- <height>90</height>
- <texturefocus>ButtonMenuSleepFO.png</texturefocus>
- <texturenofocus>ButtonMenuSleepNF.png</texturenofocus>
- <onclick>XBMC.Suspend()</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <label>$LOCALIZE[13011]</label>
- </control>
- <control type="button" id="14">
- <description>Reboot button</description>
- <width>90</width>
- <height>90</height>
- <texturefocus>ButtonMenuRestartFO.png</texturefocus>
- <texturenofocus>ButtonMenuRestartNF.png</texturenofocus>
- <onclick>XBMC.Reset()</onclick>
- <pulseonselect>no</pulseonselect>
- <font>-</font>
- <label>13013</label>
- </control>
- </control>
- <control type="group">
- <posx>270</posx>
- <posy>70</posy>
- <visible>ControlGroup(13).HasFocus</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" start="0,0" end="55,0" time="0" condition="System.HasLocks">Conditional</animation>
- <animation effect="slide" start="0,0" end="55,0" time="0" condition="System.HasLoginScreen + System.LoggedOn">Conditional</animation>
- <control type="image">
- <description>Shutdown Arrow Up image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>20</width>
- <height>15</height>
- <texture>ArrowUp.png</texture>
- </control>
- <control type="image">
- <description>Shutdown Arrow Down image</description>
- <posx>0</posx>
- <posy>107</posy>
- <width>20</width>
- <height>15</height>
- <texture>ArrowDown.png</texture>
- </control>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>190</posy>
- <width>650</width>
- <height>35</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31329] [B]$INFO[System.Alarmpos][/B]</label>
- <visible>System.HasAlarm(shutdowntimer)</visible>
- </control>
- </control>
- </controls>
-</window>
+<window type="buttonMenu" id="111"> + <defaultcontrol always="true">13</defaultcontrol> + <include>dialogeffect</include> + <coordinates> + <system>1</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture>black-back.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture>black-back.png</texture> + <colordiffuse>99FFFFFF</colordiffuse> + </control> + <control type="group"> + <posx>305</posx> + <posy>245</posy> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>670</width> + <height>210</height> + <texture border="20">OverlayDialogBackground.png</texture> + <visible>!System.HasAlarm(shutdowntimer)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>670</width> + <height>235</height> + <texture border="20">OverlayDialogBackground.png</texture> + <visible>System.HasAlarm(shutdowntimer)</visible> + </control> + <control type="image"> + <posx>10</posx> + <posy>5</posy> + <width>650</width> + <height>60</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>570</posx> + <posy>5</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>13</onleft> + <onright>13</onright> + <onup>13</onup> + <ondown>13</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label" id="3100"> + <description>Label control</description> + <posx>10</posx> + <posy>15</posy> + <width>650</width> + <height>35</height> + <label>-</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>10</posx> + <posy>60</posy> + <width>650</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + <colordiffuse>99FFFFFF</colordiffuse> + </control> + <control type="grouplist"> + <posx>15</posx> + <posy>85</posy> + <width>640</width> + <itemgap>20</itemgap> + <align>center</align> + <orientation>Horizontal</orientation> + <control type="togglebutton" id="9"> + <description>Master mode button</description> + <width>90</width> + <height>90</height> + <label>20046</label> + <altlabel>20045</altlabel> + <texturefocus>ButtonMenuMasterFO.png</texturefocus> + <texturenofocus>ButtonMenuMasterNF.png</texturenofocus> + <usealttexture>!System.IsMaster</usealttexture> + <alttexturefocus>ButtonMenuNoMasterFO.png</alttexturefocus> + <alttexturenofocus>ButtonMenuNoMasterNF.png</alttexturenofocus> + <onclick>xbmc.mastermode</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <visible>System.HasLocks</visible> + </control> + <control type="button" id="10"> + <description>LogOff Profile</description> + <width>90</width> + <height>90</height> + <texturefocus>ButtonMenuLogOffFO.png</texturefocus> + <texturenofocus>ButtonMenuLogOffNF.png</texturenofocus> + <onclick>dialog.close(all,true)</onclick> + <onclick>System.LogOff</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <label>$LOCALIZE[20126] $INFO[system.profilename]</label> + <visible>System.HasLoginScreen</visible> + <visible>System.Loggedon</visible> + </control> + <control type="button" id="11"> + <description>Exit xbmc</description> + <width>90</width> + <height>90</height> + <texturefocus>ButtonMenuExitFO.png</texturefocus> + <texturenofocus>ButtonMenuExitNF.png</texturenofocus> + <onclick>XBMC.Quit()</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <label>$LOCALIZE[13012]</label> + </control> + <control type="group" id="13"> + <width>90</width> + <defaultcontrol always="true">15</defaultcontrol> + <control type="button" id="17"> + <description>Cancel Shutdown Timer button</description> + <posx>0</posx> + <posy>0</posy> + <width>90</width> + <height>90</height> + <texturefocus>-</texturefocus> + <texturenofocus>-</texturenofocus> + <onclick>XBMC.CancelAlarm(shutdowntimer)</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <label>20151</label> + <onleft>11</onleft> + <onright>12</onright> + <onup>15</onup> + <ondown>16</ondown> + <visible>System.HasAlarm(shutdowntimer)</visible> + </control> + <control type="button" id="16"> + <description>Custom Shutdown Timer button</description> + <posx>0</posx> + <posy>0</posy> + <width>90</width> + <height>90</height> + <texturefocus>-</texturefocus> + <texturenofocus>-</texturenofocus> + <onclick>XBMC.AlarmClock(shutdowntimer,XBMC.Powerdown())</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <label>20150</label> + <onleft>11</onleft> + <onright>12</onright> + <onup>17</onup> + <ondown>15</ondown> + </control> + <control type="button" id="15"> + <description>Shutdown button</description> + <posx>0</posx> + <posy>0</posy> + <width>90</width> + <height>90</height> + <texturefocus>-</texturefocus> + <texturenofocus>ButtonMenuShutdownNF.png</texturenofocus> + <onclick>XBMC.Powerdown()</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <label>13016</label> + <onleft>11</onleft> + <onright>12</onright> + <onup>16</onup> + <ondown>17</ondown> + </control> + <control type="image"> + <description>Shutdown focus image</description> + <posx>0</posx> + <posy>0</posy> + <width>90</width> + <height>90</height> + <texture>ButtonMenuShutdownFO.png</texture> + <visible>Control.HasFocus(15) | Control.HasFocus(16) | Control.HasFocus(17)</visible> + </control> + </control> + <control type="button" id="12"> + <description>Suspend xbmc</description> + <width>90</width> + <height>90</height> + <texturefocus>ButtonMenuSleepFO.png</texturefocus> + <texturenofocus>ButtonMenuSleepNF.png</texturenofocus> + <onclick>XBMC.Suspend()</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <label>$LOCALIZE[13011]</label> + </control> + <control type="button" id="14"> + <description>Reboot button</description> + <width>90</width> + <height>90</height> + <texturefocus>ButtonMenuRestartFO.png</texturefocus> + <texturenofocus>ButtonMenuRestartNF.png</texturenofocus> + <onclick>XBMC.Reset()</onclick> + <pulseonselect>no</pulseonselect> + <font>-</font> + <label>13013</label> + </control> + </control> + <control type="group"> + <posx>270</posx> + <posy>70</posy> + <visible>ControlGroup(13).HasFocus</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" start="0,0" end="55,0" time="0" condition="System.HasLocks">Conditional</animation> + <animation effect="slide" start="0,0" end="55,0" time="0" condition="System.HasLoginScreen + System.LoggedOn">Conditional</animation> + <control type="image"> + <description>Shutdown Arrow Up image</description> + <posx>0</posx> + <posy>0</posy> + <width>20</width> + <height>15</height> + <texture>ArrowUp.png</texture> + </control> + <control type="image"> + <description>Shutdown Arrow Down image</description> + <posx>0</posx> + <posy>107</posy> + <width>20</width> + <height>15</height> + <texture>ArrowDown.png</texture> + </control> + </control> + <control type="label"> + <posx>10</posx> + <posy>190</posy> + <width>650</width> + <height>35</height> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <align>center</align> + <aligny>center</aligny> + <label>$LOCALIZE[31329] [B]$INFO[System.Alarmpos][/B]</label> + <visible>System.HasAlarm(shutdowntimer)</visible> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogContentSettings.xml b/addons/skin.confluence/720p/DialogContentSettings.xml index e5e2711557..6fe334c484 100644 --- a/addons/skin.confluence/720p/DialogContentSettings.xml +++ b/addons/skin.confluence/720p/DialogContentSettings.xml @@ -1,347 +1,347 @@ -<window id="132">
- <defaultcontrol always="true">3</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>20</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="group">
- <animation effect="fade" start="100" end="0" time="200" condition="Window.IsActive(AddonSettings)">Conditional</animation>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>680</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label" id="1">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[20333]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>3</onleft>
- <onright>3</onright>
- <onup>3</onup>
- <ondown>3</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>Content Picker Header</description>
- <posx>30</posx>
- <posy>60</posy>
- <width>320</width>
- <height>40</height>
- <font>font12caps</font>
- <label>$LOCALIZE[20344]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="spincontrolex" id="3">
- <description>Content Picker</description>
- <posx>30</posx>
- <posy>100</posy>
- <width>320</width>
- <height>40</height>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <font>-</font>
- <label>-</label>
- <reverse>yes</reverse>
- <onup>28</onup>
- <ondown>5</ondown>
- <onleft>60</onleft>
- <onright>4</onright>
- </control>
- <control type="label">
- <description>Content Picker label</description>
- <posx>35</posx>
- <posy>100</posy>
- <width>280</width>
- <height>40</height>
- <font>font13_title</font>
- <label>$INFO[Control.GetLabel(3)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Used Scraper Header</description>
- <posx>30</posx>
- <posy>150</posy>
- <width>320</width>
- <height>20</height>
- <font>font12caps</font>
- <label>$LOCALIZE[31312]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>Used Scraper Image</description>
- <posx>30</posx>
- <posy>175</posy>
- <width>320</width>
- <height>130</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <description>Used Scaper Label</description>
- <posx>30</posx>
- <posy>315</posy>
- <width>320</width>
- <height>30</height>
- <font>font13caps</font>
- <label>[B]$INFO[ListItem.Label][/B]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>selected</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>370</posx>
- <posy>60</posy>
- <width>5</width>
- <height>280</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator_vertical.png</texture>
- </control>
- <control type="label">
- <description>Scraper List Header</description>
- <posx>400</posx>
- <posy>60</posy>
- <width>370</width>
- <height>40</height>
- <font>font12caps</font>
- <label>$LOCALIZE[31313]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="list" id="4">
- <posx>400</posx>
- <posy>100</posy>
- <width>340</width>
- <height>241</height>
- <onup>4</onup>
- <onleft>3</onleft>
- <onright>60</onright>
- <ondown>4</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>340</width>
- <height>41</height>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>5</posx>
- <posy>5</posy>
- <width>35</width>
- <height>30</height>
- <texture>$INFO[Listitem.Icon]</texture>
- </control>
- <control type="label">
- <posx>50</posx>
- <posy>0</posy>
- <width>290</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>340</width>
- <height>41</height>
- <visible>!Control.HasFocus(4)</visible>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>340</width>
- <height>41</height>
- <visible>Control.HasFocus(4)</visible>
- <texture>MenuItemFO.png</texture>
- </control>
- <control type="image">
- <posx>5</posx>
- <posy>5</posy>
- <width>35</width>
- <height>30</height>
- <texture>$INFO[Listitem.Icon]</texture>
- </control>
- <control type="label">
- <posx>50</posx>
- <posy>0</posy>
- <width>290</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>745</posx>
- <posy>100</posy>
- <width>25</width>
- <height>240</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>4</onleft>
- <onright>3</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="label">
- <description>Scanning Options Header</description>
- <posx>30</posx>
- <posy>355</posy>
- <width>740</width>
- <height>30</height>
- <font>font12caps</font>
- <label>$LOCALIZE[31314]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="grouplist" id="5">
- <description>control area</description>
- <posx>30</posx>
- <posy>390</posy>
- <width>740</width>
- <height>200</height>
- <itemgap>-1</itemgap>
- <onup>3</onup>
- <ondown>28</ondown>
- <onleft>5</onleft>
- <onright>5</onright>
- </control>
- <control type="button" id="7">
- <description>Default Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="8">
- <description>Default RadioButton</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="group" id="9001">
- <posy>615</posy>
- <control type="button" id="28">
- <description>OK Button</description>
- <posx>300</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>186</label>
- <onleft>6</onleft>
- <onright>29</onright>
- <onup>30</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="29">
- <description>Cancel Button</description>
- <posx>510</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>222</label>
- <onleft>28</onleft>
- <onright>6</onright>
- <onup>30</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="6">
- <description>Settings Button</description>
- <posx>90</posx>
- <posy>0</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>5</label>
- <onleft>29</onleft>
- <onright>28</onright>
- <onup>30</onup>
- <ondown>3</ondown>
- </control>
- </control>
- </control>
- </controls>
-</window>
+<window id="132"> + <defaultcontrol always="true">3</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>20</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="group"> + <animation effect="fade" start="100" end="0" time="200" condition="Window.IsActive(AddonSettings)">Conditional</animation> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>680</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label" id="1"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[20333]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>3</onleft> + <onright>3</onright> + <onup>3</onup> + <ondown>3</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>Content Picker Header</description> + <posx>30</posx> + <posy>60</posy> + <width>320</width> + <height>40</height> + <font>font12caps</font> + <label>$LOCALIZE[20344]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="spincontrolex" id="3"> + <description>Content Picker</description> + <posx>30</posx> + <posy>100</posy> + <width>320</width> + <height>40</height> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <font>-</font> + <label>-</label> + <reverse>yes</reverse> + <onup>28</onup> + <ondown>5</ondown> + <onleft>60</onleft> + <onright>4</onright> + </control> + <control type="label"> + <description>Content Picker label</description> + <posx>35</posx> + <posy>100</posy> + <width>280</width> + <height>40</height> + <font>font13_title</font> + <label>$INFO[Control.GetLabel(3)]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Used Scraper Header</description> + <posx>30</posx> + <posy>150</posy> + <width>320</width> + <height>20</height> + <font>font12caps</font> + <label>$LOCALIZE[31312]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>Used Scraper Image</description> + <posx>30</posx> + <posy>175</posy> + <width>320</width> + <height>130</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <description>Used Scaper Label</description> + <posx>30</posx> + <posy>315</posy> + <width>320</width> + <height>30</height> + <font>font13caps</font> + <label>[B]$INFO[ListItem.Label][/B]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>selected</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>370</posx> + <posy>60</posy> + <width>5</width> + <height>280</height> + <aspectratio>stretch</aspectratio> + <texture>separator_vertical.png</texture> + </control> + <control type="label"> + <description>Scraper List Header</description> + <posx>400</posx> + <posy>60</posy> + <width>370</width> + <height>40</height> + <font>font12caps</font> + <label>$LOCALIZE[31313]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="list" id="4"> + <posx>400</posx> + <posy>100</posy> + <width>340</width> + <height>241</height> + <onup>4</onup> + <onleft>3</onleft> + <onright>60</onright> + <ondown>4</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>340</width> + <height>41</height> + <texture>MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>5</posx> + <posy>5</posy> + <width>35</width> + <height>30</height> + <texture>$INFO[Listitem.Icon]</texture> + </control> + <control type="label"> + <posx>50</posx> + <posy>0</posy> + <width>290</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>340</width> + <height>41</height> + <visible>!Control.HasFocus(4)</visible> + <texture>MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>340</width> + <height>41</height> + <visible>Control.HasFocus(4)</visible> + <texture>MenuItemFO.png</texture> + </control> + <control type="image"> + <posx>5</posx> + <posy>5</posy> + <width>35</width> + <height>30</height> + <texture>$INFO[Listitem.Icon]</texture> + </control> + <control type="label"> + <posx>50</posx> + <posy>0</posy> + <width>290</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>745</posx> + <posy>100</posy> + <width>25</width> + <height>240</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>4</onleft> + <onright>3</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="label"> + <description>Scanning Options Header</description> + <posx>30</posx> + <posy>355</posy> + <width>740</width> + <height>30</height> + <font>font12caps</font> + <label>$LOCALIZE[31314]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="grouplist" id="5"> + <description>control area</description> + <posx>30</posx> + <posy>390</posy> + <width>740</width> + <height>200</height> + <itemgap>-1</itemgap> + <onup>3</onup> + <ondown>28</ondown> + <onleft>5</onleft> + <onright>5</onright> + </control> + <control type="button" id="7"> + <description>Default Button</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="8"> + <description>Default RadioButton</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="group" id="9001"> + <posy>615</posy> + <control type="button" id="28"> + <description>OK Button</description> + <posx>300</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>186</label> + <onleft>6</onleft> + <onright>29</onright> + <onup>30</onup> + <ondown>3</ondown> + </control> + <control type="button" id="29"> + <description>Cancel Button</description> + <posx>510</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>222</label> + <onleft>28</onleft> + <onright>6</onright> + <onup>30</onup> + <ondown>3</ondown> + </control> + <control type="button" id="6"> + <description>Settings Button</description> + <posx>90</posx> + <posy>0</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>5</label> + <onleft>29</onleft> + <onright>28</onright> + <onup>30</onup> + <ondown>3</ondown> + </control> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogContextMenu.xml b/addons/skin.confluence/720p/DialogContextMenu.xml index 9c425bdfd3..2cabc54b79 100644 --- a/addons/skin.confluence/720p/DialogContextMenu.xml +++ b/addons/skin.confluence/720p/DialogContextMenu.xml @@ -1,70 +1,70 @@ -<window id="106">
- <defaultcontrol>1000</defaultcontrol>
- <include>dialogeffect</include>
- <coordinates>
- <system>1</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="image" id="997">
- <description>background top image</description>
- <posx>0</posx>
- <posy>-54</posy>
- <width>370</width>
- <height>54</height>
- <texture border="45,45,45,0">DialogContextTop.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>260</posx>
- <posy>-24</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>1000</onleft>
- <onright>1000</onright>
- <onup>1000</onup>
- <ondown>1000</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="image">
- <posx>34</posx>
- <posy>-6</posy>
- <width>297</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="image" id="999">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>370</width>
- <texture border="45,0,45,0">DialogContextMiddle.png</texture>
- </control>
- <control type="image" id="998">
- <description>background bottom image</description>
- <posx>0</posx>
- <width>370</width>
- <height>50</height>
- <texture border="45,0,45,49">DialogContextBottom.png</texture>
- </control>
- <control type="button" id="1000">
- <description>button template</description>
- <posx>34</posx>
- <posy>-</posy>
- <width>297</width>
- <height>38</height>
- <font>fontContextMenu</font>
- <align>center</align>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- </control>
- </controls>
+<window id="106"> + <defaultcontrol>1000</defaultcontrol> + <include>dialogeffect</include> + <coordinates> + <system>1</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="image" id="997"> + <description>background top image</description> + <posx>0</posx> + <posy>-54</posy> + <width>370</width> + <height>54</height> + <texture border="45,45,45,0">DialogContextTop.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>260</posx> + <posy>-24</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>1000</onleft> + <onright>1000</onright> + <onup>1000</onup> + <ondown>1000</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="image"> + <posx>34</posx> + <posy>-6</posy> + <width>297</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="image" id="999"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>370</width> + <texture border="45,0,45,0">DialogContextMiddle.png</texture> + </control> + <control type="image" id="998"> + <description>background bottom image</description> + <posx>0</posx> + <width>370</width> + <height>50</height> + <texture border="45,0,45,49">DialogContextBottom.png</texture> + </control> + <control type="button" id="1000"> + <description>button template</description> + <posx>34</posx> + <posy>-</posy> + <width>297</width> + <height>38</height> + <font>fontContextMenu</font> + <align>center</align> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogFavourites.xml b/addons/skin.confluence/720p/DialogFavourites.xml index bb83efcd2f..630da97681 100644 --- a/addons/skin.confluence/720p/DialogFavourites.xml +++ b/addons/skin.confluence/720p/DialogFavourites.xml @@ -1,123 +1,123 @@ -<window type="dialog" id="134">
- <defaultcontrol always="true">450</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="group">
- <animation effect="slide" start="400,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="400,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>400r</posx>
- <posy>0</posy>
- <width>400</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">HomeBladeSub.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>380r</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>450</onleft>
- <onright>450</onright>
- <onup>450</onup>
- <ondown>450</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="image">
- <posx>370r</posx>
- <posy>30</posy>
- <width>200</width>
- <height>200</height>
- <aspectratio align="center">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture>$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="list" id="450">
- <posx>390r</posx>
- <posy>250</posy>
- <width>450</width>
- <height>380</height>
- <onup>450</onup>
- <onleft>Dialog.Close(Favourites)</onleft>
- <onright>450</onright>
- <ondown>450</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>370</width>
- <height>40</height>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>350</width>
- <height>40</height>
- <font>font12_title</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>370</width>
- <height>40</height>
- <visible>!Control.HasFocus(450)</visible>
- <texture border="3">button-nofocus.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>370</width>
- <height>40</height>
- <visible>Control.HasFocus(450)</visible>
- <texture border="3">button-focus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>350</width>
- <height>40</height>
- <font>font12_title</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="label">
- <description>Page label</description>
- <posx>30r</posx>
- <posy>670</posy>
- <width>350</width>
- <height>30</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>grey</textcolor>
- <label>([COLOR=blue]$INFO[Container(450).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(450).CurrentPage]/$INFO[Container(450).NumPages][/COLOR])</label>
- </control>
- </control>
- <include>SideBladeRight</include>
- </controls>
-</window>
+<window type="dialog" id="134"> + <defaultcontrol always="true">450</defaultcontrol> + <coordinates> + <system>1</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="group"> + <animation effect="slide" start="400,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="400,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>400r</posx> + <posy>0</posy> + <width>400</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">HomeBladeSub.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>380r</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>450</onleft> + <onright>450</onright> + <onup>450</onup> + <ondown>450</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="image"> + <posx>370r</posx> + <posy>30</posy> + <width>200</width> + <height>200</height> + <aspectratio align="center">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture>$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="list" id="450"> + <posx>390r</posx> + <posy>250</posy> + <width>450</width> + <height>380</height> + <onup>450</onup> + <onleft>Dialog.Close(Favourites)</onleft> + <onright>450</onright> + <ondown>450</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>370</width> + <height>40</height> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>350</width> + <height>40</height> + <font>font12_title</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>370</width> + <height>40</height> + <visible>!Control.HasFocus(450)</visible> + <texture border="3">button-nofocus.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>370</width> + <height>40</height> + <visible>Control.HasFocus(450)</visible> + <texture border="3">button-focus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>350</width> + <height>40</height> + <font>font12_title</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="label"> + <description>Page label</description> + <posx>30r</posx> + <posy>670</posy> + <width>350</width> + <height>30</height> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>grey</textcolor> + <label>([COLOR=blue]$INFO[Container(450).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(450).CurrentPage]/$INFO[Container(450).NumPages][/COLOR])</label> + </control> + </control> + <include>SideBladeRight</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogFileStacking.xml b/addons/skin.confluence/720p/DialogFileStacking.xml index 1ce75abd63..bfb1ca7635 100644 --- a/addons/skin.confluence/720p/DialogFileStacking.xml +++ b/addons/skin.confluence/720p/DialogFileStacking.xml @@ -1,117 +1,117 @@ -<window id="2008">
- <defaultcontrol>450</defaultcontrol>
- <include>dialogeffect</include>
- <coordinates>
- <system>1</system>
- <posx>315</posx>
- <posy>260</posy>
- </coordinates>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>650</width>
- <height>200</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>560</posx>
- <posy>5</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>13</onleft>
- <onright>13</onright>
- <onup>13</onup>
- <ondown>13</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>heading label</description>
- <posx>40</posx>
- <posy>18</posy>
- <width>570</width>
- <height>30</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <label>$INFO[ListItem.Label]</label>
- <textcolor>white</textcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>60</posy>
- <width>570</width>
- <height>30</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12</font>
- <label>31060</label>
- <textcolor>grey2</textcolor>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>110</posy>
- <width>20</width>
- <height>25</height>
- <texture>scroll-left-focus.png</texture>
- <visible>Container(450).HasPrevious</visible>
- </control>
- <control type="image">
- <posx>575</posx>
- <posy>110</posy>
- <width>20</width>
- <height>25</height>
- <texture>scroll-right-focus.png</texture>
- <visible>Container(450).HasNext</visible>
- </control>
- <control type="list" id="450">
- <posx>85</posx>
- <posy>105</posy>
- <width>480</width>
- <height>100</height>
- <onleft>450</onleft>
- <onright>450</onright>
- <onup>450</onup>
- <ondown>450</ondown>
- <orientation>horizontal</orientation>
- <focusposition>2</focusposition>
- <viewtype label="535">list</viewtype>
- <scrolltime>200</scrolltime>
- <itemlayout width="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>38</width>
- <height>32</height>
- <aspectratio>stretch</aspectratio>
- <texture>StackNF.png</texture>
- </control>
- </itemlayout>
- <focusedlayout width="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>38</width>
- <height>32</height>
- <aspectratio>stretch</aspectratio>
- <texture>StackFO.png</texture>
- </control>
- </focusedlayout>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>155</posy>
- <width>570</width>
- <height>22</height>
- <font>font13_title</font>
- <align>center</align>
- <info>Container(450).ListItem.Label</info>
- </control>
- </controls>
+<window id="2008"> + <defaultcontrol>450</defaultcontrol> + <include>dialogeffect</include> + <coordinates> + <system>1</system> + <posx>315</posx> + <posy>260</posy> + </coordinates> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>650</width> + <height>200</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>560</posx> + <posy>5</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>13</onleft> + <onright>13</onright> + <onup>13</onup> + <ondown>13</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>heading label</description> + <posx>40</posx> + <posy>18</posy> + <width>570</width> + <height>30</height> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <label>$INFO[ListItem.Label]</label> + <textcolor>white</textcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>60</posy> + <width>570</width> + <height>30</height> + <align>center</align> + <aligny>center</aligny> + <font>font12</font> + <label>31060</label> + <textcolor>grey2</textcolor> + </control> + <control type="image"> + <posx>50</posx> + <posy>110</posy> + <width>20</width> + <height>25</height> + <texture>scroll-left-focus.png</texture> + <visible>Container(450).HasPrevious</visible> + </control> + <control type="image"> + <posx>575</posx> + <posy>110</posy> + <width>20</width> + <height>25</height> + <texture>scroll-right-focus.png</texture> + <visible>Container(450).HasNext</visible> + </control> + <control type="list" id="450"> + <posx>85</posx> + <posy>105</posy> + <width>480</width> + <height>100</height> + <onleft>450</onleft> + <onright>450</onright> + <onup>450</onup> + <ondown>450</ondown> + <orientation>horizontal</orientation> + <focusposition>2</focusposition> + <viewtype label="535">list</viewtype> + <scrolltime>200</scrolltime> + <itemlayout width="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>38</width> + <height>32</height> + <aspectratio>stretch</aspectratio> + <texture>StackNF.png</texture> + </control> + </itemlayout> + <focusedlayout width="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>38</width> + <height>32</height> + <aspectratio>stretch</aspectratio> + <texture>StackFO.png</texture> + </control> + </focusedlayout> + </control> + <control type="label"> + <posx>40</posx> + <posy>155</posy> + <width>570</width> + <height>22</height> + <font>font13_title</font> + <align>center</align> + <info>Container(450).ListItem.Label</info> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogFullScreenInfo.xml b/addons/skin.confluence/720p/DialogFullScreenInfo.xml index 806364688e..484ebf4547 100644 --- a/addons/skin.confluence/720p/DialogFullScreenInfo.xml +++ b/addons/skin.confluence/720p/DialogFullScreenInfo.xml @@ -1,245 +1,245 @@ -<window type="dialog" id="142">
- <defaultcontrol always="true">603</defaultcontrol>
- <controls>
- <control type="group">
- <animation effect="fade" start="0" end="100" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="fade" start="100" end="0" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="fade" start="100" end="0" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)">Conditional</animation>
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>270r</posy>
- <width>1280</width>
- <height>270</height>
- <texture>HomeNowPlayingBack.png</texture>
- </control>
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>270r</posy>
- <width>1280</width>
- <height>270</height>
- <colordiffuse>88FFFFFF</colordiffuse>
- <texture>HomeNowPlayingBack.png</texture>
- </control>
- <control type="image">
- <description>Non Movie cover image</description>
- <posx>10</posx>
- <posy>290r</posy>
- <width>340</width>
- <height>260</height>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[VideoPlayer.Cover]</texture>
- <aspectratio aligny="bottom">keep</aspectratio>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>!VideoPlayer.Content(Movies)</visible>
- </control>
- <control type="image">
- <description>Movie cover image</description>
- <posx>10</posx>
- <posy>350r</posy>
- <width>340</width>
- <height>320</height>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[VideoPlayer.Cover]</texture>
- <aspectratio aligny="bottom">keep</aspectratio>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>VideoPlayer.Content(Movies)</visible>
- </control>
- <control type="progress">
- <description>Progressbar</description>
- <posx>10</posx>
- <posy>30r</posy>
- <width>340</width>
- <height>14</height>
- <info>Player.Progress</info>
- </control>
- <control type="group">
- <posx>370</posx>
- <posy>180r</posy>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>340</posx>
- <posy>0</posy>
- <width>550</width>
- <align>right</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <control type="image">
- <description>Video rez Image</description>
- <width>80</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[VideoPlayer.VideoResolution,flagging/video/,.png]</texture>
- </control>
-
- <control type="image">
- <description>Common Codec Image</description>
- <width>80</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[VideoPlayer.VideoCodec,flagging/video/,.png]</texture>
- <!-- Don't show if its one of the 500 divx codecs -->
- <visible>![substring(VideoPlayer.VideoCodec,div,left) | stringcompare(VideoPlayer.VideoCodec,dx50)]</visible>
- </control>
- <control type="image">
- <description>Divx Codec Image</description>
- <width>80</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/video/divx.png</texture>
- <visible>[substring(VideoPlayer.VideoCodec,div,left) | stringcompare(VideoPlayer.VideoCodec,dx50)]</visible>
- </control>
-
- <control type="image">
- <description>Dolby Digital Image</description>
- <width>80</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/audio/dolbydigital.png</texture>
- <visible>[stringcompare(VideoPlayer.AudioCodec,ac3) + stringcompare(VideoPlayer.AudioChannels,6)]</visible>
- </control>
- <control type="image">
- <description>Audio Codec Image</description>
- <width>80</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[VideoPlayer.AudioCodec,flagging/audio/,.png]</texture>
- <!-- Don't show if I want the Dolby Digital Logo -->
- <visible>![stringcompare(VideoPlayer.AudioCodec,ac3) + stringcompare(VideoPlayer.AudioChannels,6)]</visible>
- </control>
-
- <control type="image">
- <description>Audio Channels Image</description>
- <width>60</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[VideoPlayer.AudioChannels,flagging/audio/,.png]</texture>
- </control>
- </control>
- <control type="label">
- <description>Playing Label</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>25</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>31040</label>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>35</posy>
- <width>880</width>
- <height>30</height>
- <label>$INFO[VideoPlayer.Studio]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>VideoPlayer.Content(Movies)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>35</posy>
- <width>880</width>
- <height>30</height>
- <label>$INFO[VideoPlayer.TVShowTitle] - ($INFO[VideoPlayer.Season]$INFO[VideoPlayer.Episode,x])</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>VideoPlayer.Content(Episodes)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>35</posy>
- <width>880</width>
- <height>30</height>
- <label>$INFO[VideoPlayer.Artist]$INFO[VideoPlayer.Album, - ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>VideoPlayer.Content(MusicVideos)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>65</posy>
- <width>880</width>
- <height>30</height>
- <label>$INFO[VideoPlayer.Title]</label>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
-
- <control type="label">
- <description>Chapter Count</description>
- <posx>0</posx>
- <posy>110</posy>
- <width>300</width>
- <height>20</height>
- <label>$INFO[Player.Chapter,[COLOR=blue]$LOCALIZE[21396]:[/COLOR] ]$INFO[Player.ChapterCount, / ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Player.ChapterCount</visible>
- </control>
- <control type="label">
- <description>Chapter Name</description>
- <posx>0</posx>
- <posy>130</posy>
- <width>300</width>
- <height>20</height>
- <label>$INFO[Player.ChapterName]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Player Times</description>
- <posx>890</posx>
- <posy>115</posy>
- <width>500</width>
- <height>25</height>
- <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font30_title</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Current Video End Time</description>
- <posx>890</posx>
- <posy>150</posy>
- <width>890</width>
- <height>20</height>
- <label>[COLOR=blue]$LOCALIZE[31049][/COLOR] : $INFO[Player.FinishTime]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- </control>
- <include>Clock</include>
- </controls>
+<window type="dialog" id="142"> + <defaultcontrol always="true">603</defaultcontrol> + <controls> + <control type="group"> + <animation effect="fade" start="0" end="100" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="fade" start="100" end="0" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="fade" start="100" end="0" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)">Conditional</animation> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>270r</posy> + <width>1280</width> + <height>270</height> + <texture>HomeNowPlayingBack.png</texture> + </control> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>270r</posy> + <width>1280</width> + <height>270</height> + <colordiffuse>88FFFFFF</colordiffuse> + <texture>HomeNowPlayingBack.png</texture> + </control> + <control type="image"> + <description>Non Movie cover image</description> + <posx>10</posx> + <posy>290r</posy> + <width>340</width> + <height>260</height> + <fadetime>200</fadetime> + <texture background="true">$INFO[VideoPlayer.Cover]</texture> + <aspectratio aligny="bottom">keep</aspectratio> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>!VideoPlayer.Content(Movies)</visible> + </control> + <control type="image"> + <description>Movie cover image</description> + <posx>10</posx> + <posy>350r</posy> + <width>340</width> + <height>320</height> + <fadetime>200</fadetime> + <texture background="true">$INFO[VideoPlayer.Cover]</texture> + <aspectratio aligny="bottom">keep</aspectratio> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>VideoPlayer.Content(Movies)</visible> + </control> + <control type="progress"> + <description>Progressbar</description> + <posx>10</posx> + <posy>30r</posy> + <width>340</width> + <height>14</height> + <info>Player.Progress</info> + </control> + <control type="group"> + <posx>370</posx> + <posy>180r</posy> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>340</posx> + <posy>0</posy> + <width>550</width> + <align>right</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <control type="image"> + <description>Video rez Image</description> + <width>80</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[VideoPlayer.VideoResolution,flagging/video/,.png]</texture> + </control> + + <control type="image"> + <description>Common Codec Image</description> + <width>80</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[VideoPlayer.VideoCodec,flagging/video/,.png]</texture> + <!-- Don't show if its one of the 500 divx codecs --> + <visible>![substring(VideoPlayer.VideoCodec,div,left) | stringcompare(VideoPlayer.VideoCodec,dx50)]</visible> + </control> + <control type="image"> + <description>Divx Codec Image</description> + <width>80</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>flagging/video/divx.png</texture> + <visible>[substring(VideoPlayer.VideoCodec,div,left) | stringcompare(VideoPlayer.VideoCodec,dx50)]</visible> + </control> + + <control type="image"> + <description>Dolby Digital Image</description> + <width>80</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>flagging/audio/dolbydigital.png</texture> + <visible>[stringcompare(VideoPlayer.AudioCodec,ac3) + stringcompare(VideoPlayer.AudioChannels,6)]</visible> + </control> + <control type="image"> + <description>Audio Codec Image</description> + <width>80</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[VideoPlayer.AudioCodec,flagging/audio/,.png]</texture> + <!-- Don't show if I want the Dolby Digital Logo --> + <visible>![stringcompare(VideoPlayer.AudioCodec,ac3) + stringcompare(VideoPlayer.AudioChannels,6)]</visible> + </control> + + <control type="image"> + <description>Audio Channels Image</description> + <width>60</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[VideoPlayer.AudioChannels,flagging/audio/,.png]</texture> + </control> + </control> + <control type="label"> + <description>Playing Label</description> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>25</height> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <label>31040</label> + </control> + <control type="label"> + <posx>10</posx> + <posy>35</posy> + <width>880</width> + <height>30</height> + <label>$INFO[VideoPlayer.Studio]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <visible>VideoPlayer.Content(Movies)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>35</posy> + <width>880</width> + <height>30</height> + <label>$INFO[VideoPlayer.TVShowTitle] - ($INFO[VideoPlayer.Season]$INFO[VideoPlayer.Episode,x])</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <visible>VideoPlayer.Content(Episodes)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>35</posy> + <width>880</width> + <height>30</height> + <label>$INFO[VideoPlayer.Artist]$INFO[VideoPlayer.Album, - ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <visible>VideoPlayer.Content(MusicVideos)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>65</posy> + <width>880</width> + <height>30</height> + <label>$INFO[VideoPlayer.Title]</label> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + + <control type="label"> + <description>Chapter Count</description> + <posx>0</posx> + <posy>110</posy> + <width>300</width> + <height>20</height> + <label>$INFO[Player.Chapter,[COLOR=blue]$LOCALIZE[21396]:[/COLOR] ]$INFO[Player.ChapterCount, / ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Player.ChapterCount</visible> + </control> + <control type="label"> + <description>Chapter Name</description> + <posx>0</posx> + <posy>130</posy> + <width>300</width> + <height>20</height> + <label>$INFO[Player.ChapterName]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Player Times</description> + <posx>890</posx> + <posy>115</posy> + <width>500</width> + <height>25</height> + <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label> + <align>right</align> + <aligny>center</aligny> + <font>font30_title</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Current Video End Time</description> + <posx>890</posx> + <posy>150</posy> + <width>890</width> + <height>20</height> + <label>[COLOR=blue]$LOCALIZE[31049][/COLOR] : $INFO[Player.FinishTime]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + </control> + <include>Clock</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogGamepad.xml b/addons/skin.confluence/720p/DialogGamepad.xml index be434f1c30..410b14eda1 100644 --- a/addons/skin.confluence/720p/DialogGamepad.xml +++ b/addons/skin.confluence/720p/DialogGamepad.xml @@ -1,71 +1,71 @@ -<window id="110">
- <defaultcontrol always="true">1</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>340</posx>
- <posy>235</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>230</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>230</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="label" id="1">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>560</width>
- <height>30</height>
- <font>font13_title</font>
- <label>13406</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="2">
- <description>dialog line 1</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="3">
- <description>dialog line 2</description>
- <posx>20</posx>
- <posy>85</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="4">
- <description>dialog line 3</description>
- <posx>20</posx>
- <posy>120</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font35_title</font>
- </control>
- </controls>
-</window>
+<window id="110"> + <defaultcontrol always="true">1</defaultcontrol> + <coordinates> + <system>1</system> + <posx>340</posx> + <posy>235</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>230</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>230</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="label" id="1"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>560</width> + <height>30</height> + <font>font13_title</font> + <label>13406</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="2"> + <description>dialog line 1</description> + <posx>20</posx> + <posy>60</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="3"> + <description>dialog line 2</description> + <posx>20</posx> + <posy>85</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="4"> + <description>dialog line 3</description> + <posx>20</posx> + <posy>120</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font35_title</font> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogKaiToast.xml b/addons/skin.confluence/720p/DialogKaiToast.xml index 2989c99744..cbd5c219e8 100644 --- a/addons/skin.confluence/720p/DialogKaiToast.xml +++ b/addons/skin.confluence/720p/DialogKaiToast.xml @@ -1,85 +1,85 @@ -<window id="107">
- <animation effect="slide" start="0,80" end="0,0" time="100">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,80" time="100">WindowClose</animation>
- <coordinates>
- <system>1</system>
- <posx>820</posx>
- <posy>650</posy>
- </coordinates>
- <controls>
- <control type="group">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>80</height>
- <texture border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="image" id="400">
- <description>avatar</description>
- <posx>20</posx>
- <posy>10</posy>
- <width>50</width>
- <height>50</height>
- <aspectratio>keep</aspectratio>
- <texture>DefaultFile.png</texture>
- </control>
- <control type="fadelabel" id="401">
- <description>Line 1 Label</description>
- <posx>75</posx>
- <posy>15</posy>
- <width>310</width>
- <height>18</height>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel" id="402">
- <description>Line 2 Label</description>
- <posx>75</posx>
- <posy>35</posy>
- <width>310</width>
- <height>20</height>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="image" id="403">
- <description>avatar</description>
- <posx>20</posx>
- <posy>10</posy>
- <width>50</width>
- <height>50</height>
- <aspectratio>keep</aspectratio>
- <visible>false</visible>
- <texture>DefaultIconInfo.png</texture>
- </control>
- <control type="image" id="404">
- <description>avatar</description>
- <posx>20</posx>
- <posy>10</posy>
- <width>50</width>
- <height>50</height>
- <aspectratio>keep</aspectratio>
- <visible>false</visible>
- <texture>DefaultIconWarning.png</texture>
- </control>
- <control type="image" id="405">
- <description>avatar</description>
- <posx>20</posx>
- <posy>10</posy>
- <width>50</width>
- <height>50</height>
- <aspectratio>keep</aspectratio>
- <visible>false</visible>
- <texture>DefaultIconError.png</texture>
- </control>
- </control>
- </controls>
-</window>
+<window id="107"> + <animation effect="slide" start="0,80" end="0,0" time="100">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,80" time="100">WindowClose</animation> + <coordinates> + <system>1</system> + <posx>820</posx> + <posy>650</posy> + </coordinates> + <controls> + <control type="group"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>80</height> + <texture border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="image" id="400"> + <description>avatar</description> + <posx>20</posx> + <posy>10</posy> + <width>50</width> + <height>50</height> + <aspectratio>keep</aspectratio> + <texture>DefaultFile.png</texture> + </control> + <control type="fadelabel" id="401"> + <description>Line 1 Label</description> + <posx>75</posx> + <posy>15</posy> + <width>310</width> + <height>18</height> + <font>font12_title</font> + <textcolor>white</textcolor> + <align>left</align> + <aligny>center</aligny> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel" id="402"> + <description>Line 2 Label</description> + <posx>75</posx> + <posy>35</posy> + <width>310</width> + <height>20</height> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <align>left</align> + <aligny>center</aligny> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="image" id="403"> + <description>avatar</description> + <posx>20</posx> + <posy>10</posy> + <width>50</width> + <height>50</height> + <aspectratio>keep</aspectratio> + <visible>false</visible> + <texture>DefaultIconInfo.png</texture> + </control> + <control type="image" id="404"> + <description>avatar</description> + <posx>20</posx> + <posy>10</posy> + <width>50</width> + <height>50</height> + <aspectratio>keep</aspectratio> + <visible>false</visible> + <texture>DefaultIconWarning.png</texture> + </control> + <control type="image" id="405"> + <description>avatar</description> + <posx>20</posx> + <posy>10</posy> + <width>50</width> + <height>50</height> + <aspectratio>keep</aspectratio> + <visible>false</visible> + <texture>DefaultIconError.png</texture> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogKaraokeSongSelector.xml b/addons/skin.confluence/720p/DialogKaraokeSongSelector.xml index 2ad1e4300a..5180352d8d 100644 --- a/addons/skin.confluence/720p/DialogKaraokeSongSelector.xml +++ b/addons/skin.confluence/720p/DialogKaraokeSongSelector.xml @@ -1,39 +1,39 @@ -<window type="dialog" id="143">
- <animation effect="slide" start="0,-40" end="0,0" time="100">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,-40" delay="400" time="100">WindowClose</animation>
- <controls>
- <control type="group">
- <posx>100</posx>
- <posy>0</posy>
- <control type="image">
- <posx>0</posx>
- <posy>-10</posy>
- <width>370</width>
- <height>70</height>
- <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="label" id="401">
- <description>Song Number Label</description>
- <posx>15</posx>
- <posy>2</posy>
- <width>340</width>
- <height>25</height>
- <font>font13_title</font>
- <textcolor>selected</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="label" id="402">
- <description>Song Name Label</description>
- <posx>15</posx>
- <posy>27</posy>
- <width>340</width>
- <height>20</height>
- <font>font13</font>
- <textcolor>blue</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- </control>
- </controls>
+<window type="dialog" id="143"> + <animation effect="slide" start="0,-40" end="0,0" time="100">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,-40" delay="400" time="100">WindowClose</animation> + <controls> + <control type="group"> + <posx>100</posx> + <posy>0</posy> + <control type="image"> + <posx>0</posx> + <posy>-10</posy> + <width>370</width> + <height>70</height> + <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="label" id="401"> + <description>Song Number Label</description> + <posx>15</posx> + <posy>2</posy> + <width>340</width> + <height>25</height> + <font>font13_title</font> + <textcolor>selected</textcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="label" id="402"> + <description>Song Name Label</description> + <posx>15</posx> + <posy>27</posy> + <width>340</width> + <height>20</height> + <font>font13</font> + <textcolor>blue</textcolor> + <align>left</align> + <aligny>center</aligny> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml b/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml index fdc9ce7d3b..da569cdbc9 100644 --- a/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml +++ b/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml @@ -1,55 +1,55 @@ -<window type="dialog" id="144">
- <include>dialogeffect</include>
- <coordinates>
- <system>1</system>
- <posx>415</posx>
- <posy>225</posy>
- </coordinates>
- <controls>
- <control type="group">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>450</width>
- <height>150</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="label" id="1">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>410</width>
- <height>30</height>
- <font>font13_title</font>
- <label>31321</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="401">
- <description>Song Number Label</description>
- <posx>20</posx>
- <posy>65</posy>
- <width>410</width>
- <height>30</height>
- <font>font28_title</font>
- <textcolor>selected</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- <control type="label" id="402">
- <description>Song Name Label</description>
- <posx>20</posx>
- <posy>105</posy>
- <width>410</width>
- <height>20</height>
- <font>font24</font>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <scroll>true</scroll>
- </control>
- </control>
- </controls>
-</window>
+<window type="dialog" id="144"> + <include>dialogeffect</include> + <coordinates> + <system>1</system> + <posx>415</posx> + <posy>225</posy> + </coordinates> + <controls> + <control type="group"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>450</width> + <height>150</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="label" id="1"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>410</width> + <height>30</height> + <font>font13_title</font> + <label>31321</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="401"> + <description>Song Number Label</description> + <posx>20</posx> + <posy>65</posy> + <width>410</width> + <height>30</height> + <font>font28_title</font> + <textcolor>selected</textcolor> + <align>center</align> + <aligny>center</aligny> + </control> + <control type="label" id="402"> + <description>Song Name Label</description> + <posx>20</posx> + <posy>105</posy> + <width>410</width> + <height>20</height> + <font>font24</font> + <align>center</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <scroll>true</scroll> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogKeyboard.xml b/addons/skin.confluence/720p/DialogKeyboard.xml index 2165a8fd11..4ef99d2cec 100644 --- a/addons/skin.confluence/720p/DialogKeyboard.xml +++ b/addons/skin.confluence/720p/DialogKeyboard.xml @@ -1,881 +1,881 @@ -<window id="103">
- <defaultcontrol always="true">65</defaultcontrol>
- <include>dialogeffect</include>
- <coordinates>
- <system>2</system>
- <posx>255</posx>
- <posy>145</posy>
- </coordinates>
- <controls>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>!Window.IsVisible(numericinput)</visible>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>430</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>600</width>
- <height>70</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>670</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>3</onleft>
- <onright>3</onright>
- <onup>3</onup>
- <ondown>3</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>660</width>
- <height>50</height>
- <aspectratio>stretch</aspectratio>
- <texture border="20">KeyboardEditArea.png</texture>
- </control>
- <control type="label" id="310">
- <description>Edit Text</description>
- <posx>55</posx>
- <posy>60</posy>
- <width>650</width>
- <height>50</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- <control type="image">
- <posx>130</posx>
- <posy>110</posy>
- <width>500</width>
- <height>30</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>380</posy>
- <width>600</width>
- <height>40</height>
- <aspectratio>stretch</aspectratio>
- <colordiffuse>AAFFFFFF</colordiffuse>
- <texture flipy="true">GlassTitleBar.png</texture>
- </control>
- <control type="label" id="311">
- <description>dialog Heading</description>
- <posx>10</posx>
- <posy>20</posy>
- <width>740</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- <control type="group">
- <posx>30</posx>
- <posy>135</posy>
- <control type="button" id="300">
- <description>DONE button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>200</width>
- <height>50</height>
- <label>20177</label>
- <onleft>57</onleft>
- <onright>48</onright>
- <onup>307</onup>
- <ondown>302</ondown>
- <texturenofocus border="25,25,5,5">KeyboardCornerTopNF.png</texturenofocus>
- <texturefocus border="25,25,5,5">KeyboardCornerTop.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="48">
- <description>'0' button</description>
- <posx>200</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>300</onleft>
- <onright>49</onright>
- <onup>32</onup>
- <ondown>65</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="49">
- <description>'1' button</description>
- <posx>250</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>48</onleft>
- <onright>50</onright>
- <onup>32</onup>
- <ondown>66</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="50">
- <description>'2' button</description>
- <posx>300</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>49</onleft>
- <onright>51</onright>
- <onup>32</onup>
- <ondown>67</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="51">
- <description>'3' button</description>
- <posx>350</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>50</onleft>
- <onright>52</onright>
- <onup>32</onup>
- <ondown>68</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="52">
- <description>'4' button</description>
- <posx>400</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>51</onleft>
- <onright>53</onright>
- <onup>32</onup>
- <ondown>69</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="53">
- <description>'5' button</description>
- <posx>450</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>52</onleft>
- <onright>54</onright>
- <onup>32</onup>
- <ondown>70</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="54">
- <description>'6' button</description>
- <posx>500</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>53</onleft>
- <onright>55</onright>
- <onup>305</onup>
- <ondown>71</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="55">
- <description>'7' button</description>
- <posx>550</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>54</onleft>
- <onright>56</onright>
- <onup>305</onup>
- <ondown>72</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="56">
- <description>'8' button</description>
- <posx>600</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>55</onleft>
- <onright>57</onright>
- <onup>306</onup>
- <ondown>73</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="57">
- <description>'9' button</description>
- <posx>650</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <onleft>56</onleft>
- <onright>300</onright>
- <onup>306</onup>
- <ondown>74</ondown>
- <texturenofocus flipx="true" border="5,25,25,5">KeyboardCornerTopNF.png</texturenofocus>
- <texturefocus flipx="true" border="5,25,25,5">KeyboardCornerTop.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="radiobutton" id="302">
- <description>SHIFT button</description>
- <posx>0</posx>
- <posy>50</posy>
- <width>200</width>
- <height>50</height>
- <label>20178</label>
- <onleft>74</onleft>
- <onright>65</onright>
- <onup>300</onup>
- <ondown>303</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <radioposy>5</radioposy>
- <radiowidth>20</radiowidth>
- <radioheight>20</radioheight>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="65">
- <description>'A' button</description>
- <posx>200</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>302</onleft>
- <onright>66</onright>
- <onup>48</onup>
- <ondown>75</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="66">
- <description>'B' button</description>
- <posx>250</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>65</onleft>
- <onright>67</onright>
- <onup>49</onup>
- <ondown>76</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="67">
- <description>'C' button</description>
- <posx>300</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>66</onleft>
- <onright>68</onright>
- <onup>50</onup>
- <ondown>77</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="68">
- <description>'D' button</description>
- <posx>350</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>67</onleft>
- <onright>69</onright>
- <onup>51</onup>
- <ondown>78</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="69">
- <description>'E' button</description>
- <posx>400</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>68</onleft>
- <onright>70</onright>
- <onup>52</onup>
- <ondown>79</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="70">
- <description>'F' button</description>
- <posx>450</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>69</onleft>
- <onright>71</onright>
- <onup>53</onup>
- <ondown>80</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="71">
- <description>'G' button</description>
- <posx>500</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>70</onleft>
- <onright>72</onright>
- <onup>54</onup>
- <ondown>81</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="72">
- <description>'H' button</description>
- <posx>550</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>71</onleft>
- <onright>73</onright>
- <onup>55</onup>
- <ondown>82</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="73">
- <description>'I' button</description>
- <posx>600</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>72</onleft>
- <onright>74</onright>
- <onup>56</onup>
- <ondown>83</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="74">
- <description>'J' button</description>
- <posx>650</posx>
- <posy>50</posy>
- <width>50</width>
- <height>50</height>
- <onleft>73</onleft>
- <onright>302</onright>
- <onup>57</onup>
- <ondown>84</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="radiobutton" id="303">
- <description>CAPS LOCK button</description>
- <posx>0</posx>
- <posy>100</posy>
- <width>200</width>
- <height>50</height>
- <label>20179</label>
- <onleft>84</onleft>
- <onright>75</onright>
- <onup>302</onup>
- <ondown>304</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <radioposy>5</radioposy>
- <radiowidth>20</radiowidth>
- <radioheight>20</radioheight>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="75">
- <description>'K' button</description>
- <posx>200</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>303</onleft>
- <onright>76</onright>
- <onup>65</onup>
- <ondown>85</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="76">
- <description>'L' button</description>
- <posx>250</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>75</onleft>
- <onright>77</onright>
- <onup>66</onup>
- <ondown>86</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="77">
- <description>'M' button</description>
- <posx>300</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>76</onleft>
- <onright>78</onright>
- <onup>67</onup>
- <ondown>87</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="78">
- <description>'N' button</description>
- <posx>350</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>77</onleft>
- <onright>79</onright>
- <onup>68</onup>
- <ondown>88</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="79">
- <description>'O' button</description>
- <posx>400</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>78</onleft>
- <onright>80</onright>
- <onup>69</onup>
- <ondown>89</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="80">
- <description>'P' button</description>
- <posx>450</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>79</onleft>
- <onright>81</onright>
- <onup>70</onup>
- <ondown>90</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="81">
- <description>'Q' button</description>
- <posx>500</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>80</onleft>
- <onright>82</onright>
- <onup>71</onup>
- <ondown>8</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="82">
- <description>'R' button</description>
- <posx>550</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>81</onleft>
- <onright>83</onright>
- <onup>72</onup>
- <ondown>8</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="83">
- <description>'S' button</description>
- <posx>600</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>82</onleft>
- <onright>84</onright>
- <onup>73</onup>
- <ondown>8</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="84">
- <description>'T' button</description>
- <posx>650</posx>
- <posy>100</posy>
- <width>50</width>
- <height>50</height>
- <onleft>83</onleft>
- <onright>303</onright>
- <onup>74</onup>
- <ondown>8</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="radiobutton" id="304">
- <description>Symbols button</description>
- <posx>0</posx>
- <posy>150</posy>
- <width>200</width>
- <height>50</height>
- <label>20180</label>
- <onleft>8</onleft>
- <onright>85</onright>
- <onup>303</onup>
- <ondown>307</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <radioposy>5</radioposy>
- <radiowidth>20</radiowidth>
- <radioheight>20</radioheight>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="85">
- <description>'U' button</description>
- <posx>200</posx>
- <posy>150</posy>
- <width>50</width>
- <height>50</height>
- <onleft>304</onleft>
- <onright>86</onright>
- <onup>75</onup>
- <ondown>32</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="86">
- <description>'V' button</description>
- <posx>250</posx>
- <posy>150</posy>
- <width>50</width>
- <height>50</height>
- <onleft>85</onleft>
- <onright>87</onright>
- <onup>76</onup>
- <ondown>32</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="87">
- <description>'W' button</description>
- <posx>300</posx>
- <posy>150</posy>
- <width>50</width>
- <height>50</height>
- <onleft>86</onleft>
- <onright>88</onright>
- <onup>77</onup>
- <ondown>32</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="88">
- <description>'X' button</description>
- <posx>350</posx>
- <posy>150</posy>
- <width>50</width>
- <height>50</height>
- <onleft>87</onleft>
- <onright>89</onright>
- <onup>78</onup>
- <ondown>32</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="89">
- <description>'Y' button</description>
- <posx>400</posx>
- <posy>150</posy>
- <width>50</width>
- <height>50</height>
- <onleft>88</onleft>
- <onright>90</onright>
- <onup>79</onup>
- <ondown>32</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="90">
- <description>'Z' button</description>
- <posx>450</posx>
- <posy>150</posy>
- <width>50</width>
- <height>50</height>
- <onleft>89</onleft>
- <onright>8</onright>
- <onup>80</onup>
- <ondown>32</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="8">
- <description>BACKSPACE button</description>
- <posx>500</posx>
- <posy>150</posy>
- <width>200</width>
- <height>50</height>
- <label>20181</label>
- <onleft>90</onleft>
- <onright>304</onright>
- <onup>81</onup>
- <ondown>305</ondown>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="307">
- <description>IP Input button</description>
- <posx>0</posx>
- <posy>200</posy>
- <width>200</width>
- <height>50</height>
- <texturenofocus border="25,5,25,5">KeyboardCornerBottomNF.png</texturenofocus>
- <texturefocus border="25,5,25,5">KeyboardCornerBottom.png</texturefocus>
- <label>1006</label>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <onleft>306</onleft>
- <onright>32</onright>
- <onup>304</onup>
- <ondown>300</ondown>
- <focusedcolor>black</focusedcolor>
- </control>
- <control type="button" id="32">
- <description>SPACE button</description>
- <posx>200</posx>
- <posy>200</posy>
- <width>300</width>
- <height>50</height>
- <label>20182</label>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <focusedcolor>black</focusedcolor>
- <onleft>307</onleft>
- <onright>305</onright>
- <onup>85</onup>
- <ondown>48</ondown>
- </control>
- <control type="button" id="305">
- <description>previous button</description>
- <posx>500</posx>
- <posy>200</posy>
- <width>100</width>
- <height>50</height>
- <label><</label>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <font>font30</font>
- <focusedcolor>black</focusedcolor>
- <onleft>32</onleft>
- <onright>306</onright>
- <onup>8</onup>
- <ondown>54</ondown>
- </control>
- <control type="button" id="306">
- <description>next button</description>
- <posx>600</posx>
- <posy>200</posy>
- <width>100</width>
- <height>50</height>
- <label>></label>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus flipx="true" border="5,5,25,25">KeyboardCornerBottomNF.png</texturenofocus>
- <texturefocus flipx="true" border="5,5,25,25">KeyboardCornerBottom.png</texturefocus>
- <font>font30</font>
- <focusedcolor>black</focusedcolor>
- <onleft>305</onleft>
- <onright>307</onright>
- <onup>8</onup>
- <ondown>56</ondown>
- </control>
- </control>
- </control>
- </controls>
+<window id="103"> + <defaultcontrol always="true">65</defaultcontrol> + <include>dialogeffect</include> + <coordinates> + <system>2</system> + <posx>255</posx> + <posy>145</posy> + </coordinates> + <controls> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>!Window.IsVisible(numericinput)</visible> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>430</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>600</width> + <height>70</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>670</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>3</onleft> + <onright>3</onright> + <onup>3</onup> + <ondown>3</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>660</width> + <height>50</height> + <aspectratio>stretch</aspectratio> + <texture border="20">KeyboardEditArea.png</texture> + </control> + <control type="label" id="310"> + <description>Edit Text</description> + <posx>55</posx> + <posy>60</posy> + <width>650</width> + <height>50</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + </control> + <control type="image"> + <posx>130</posx> + <posy>110</posy> + <width>500</width> + <height>30</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>380</posy> + <width>600</width> + <height>40</height> + <aspectratio>stretch</aspectratio> + <colordiffuse>AAFFFFFF</colordiffuse> + <texture flipy="true">GlassTitleBar.png</texture> + </control> + <control type="label" id="311"> + <description>dialog Heading</description> + <posx>10</posx> + <posy>20</posy> + <width>740</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <align>center</align> + <aligny>center</aligny> + </control> + <control type="group"> + <posx>30</posx> + <posy>135</posy> + <control type="button" id="300"> + <description>DONE button</description> + <posx>0</posx> + <posy>0</posy> + <width>200</width> + <height>50</height> + <label>20177</label> + <onleft>57</onleft> + <onright>48</onright> + <onup>307</onup> + <ondown>302</ondown> + <texturenofocus border="25,25,5,5">KeyboardCornerTopNF.png</texturenofocus> + <texturefocus border="25,25,5,5">KeyboardCornerTop.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="48"> + <description>'0' button</description> + <posx>200</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>300</onleft> + <onright>49</onright> + <onup>32</onup> + <ondown>65</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="49"> + <description>'1' button</description> + <posx>250</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>48</onleft> + <onright>50</onright> + <onup>32</onup> + <ondown>66</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="50"> + <description>'2' button</description> + <posx>300</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>49</onleft> + <onright>51</onright> + <onup>32</onup> + <ondown>67</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="51"> + <description>'3' button</description> + <posx>350</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>50</onleft> + <onright>52</onright> + <onup>32</onup> + <ondown>68</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="52"> + <description>'4' button</description> + <posx>400</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>51</onleft> + <onright>53</onright> + <onup>32</onup> + <ondown>69</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="53"> + <description>'5' button</description> + <posx>450</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>52</onleft> + <onright>54</onright> + <onup>32</onup> + <ondown>70</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="54"> + <description>'6' button</description> + <posx>500</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>53</onleft> + <onright>55</onright> + <onup>305</onup> + <ondown>71</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="55"> + <description>'7' button</description> + <posx>550</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>54</onleft> + <onright>56</onright> + <onup>305</onup> + <ondown>72</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="56"> + <description>'8' button</description> + <posx>600</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>55</onleft> + <onright>57</onright> + <onup>306</onup> + <ondown>73</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="57"> + <description>'9' button</description> + <posx>650</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <onleft>56</onleft> + <onright>300</onright> + <onup>306</onup> + <ondown>74</ondown> + <texturenofocus flipx="true" border="5,25,25,5">KeyboardCornerTopNF.png</texturenofocus> + <texturefocus flipx="true" border="5,25,25,5">KeyboardCornerTop.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="radiobutton" id="302"> + <description>SHIFT button</description> + <posx>0</posx> + <posy>50</posy> + <width>200</width> + <height>50</height> + <label>20178</label> + <onleft>74</onleft> + <onright>65</onright> + <onup>300</onup> + <ondown>303</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <radioposy>5</radioposy> + <radiowidth>20</radiowidth> + <radioheight>20</radioheight> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="65"> + <description>'A' button</description> + <posx>200</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>302</onleft> + <onright>66</onright> + <onup>48</onup> + <ondown>75</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="66"> + <description>'B' button</description> + <posx>250</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>65</onleft> + <onright>67</onright> + <onup>49</onup> + <ondown>76</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="67"> + <description>'C' button</description> + <posx>300</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>66</onleft> + <onright>68</onright> + <onup>50</onup> + <ondown>77</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="68"> + <description>'D' button</description> + <posx>350</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>67</onleft> + <onright>69</onright> + <onup>51</onup> + <ondown>78</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="69"> + <description>'E' button</description> + <posx>400</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>68</onleft> + <onright>70</onright> + <onup>52</onup> + <ondown>79</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="70"> + <description>'F' button</description> + <posx>450</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>69</onleft> + <onright>71</onright> + <onup>53</onup> + <ondown>80</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="71"> + <description>'G' button</description> + <posx>500</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>70</onleft> + <onright>72</onright> + <onup>54</onup> + <ondown>81</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="72"> + <description>'H' button</description> + <posx>550</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>71</onleft> + <onright>73</onright> + <onup>55</onup> + <ondown>82</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="73"> + <description>'I' button</description> + <posx>600</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>72</onleft> + <onright>74</onright> + <onup>56</onup> + <ondown>83</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="74"> + <description>'J' button</description> + <posx>650</posx> + <posy>50</posy> + <width>50</width> + <height>50</height> + <onleft>73</onleft> + <onright>302</onright> + <onup>57</onup> + <ondown>84</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="radiobutton" id="303"> + <description>CAPS LOCK button</description> + <posx>0</posx> + <posy>100</posy> + <width>200</width> + <height>50</height> + <label>20179</label> + <onleft>84</onleft> + <onright>75</onright> + <onup>302</onup> + <ondown>304</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <radioposy>5</radioposy> + <radiowidth>20</radiowidth> + <radioheight>20</radioheight> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="75"> + <description>'K' button</description> + <posx>200</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>303</onleft> + <onright>76</onright> + <onup>65</onup> + <ondown>85</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="76"> + <description>'L' button</description> + <posx>250</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>75</onleft> + <onright>77</onright> + <onup>66</onup> + <ondown>86</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="77"> + <description>'M' button</description> + <posx>300</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>76</onleft> + <onright>78</onright> + <onup>67</onup> + <ondown>87</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="78"> + <description>'N' button</description> + <posx>350</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>77</onleft> + <onright>79</onright> + <onup>68</onup> + <ondown>88</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="79"> + <description>'O' button</description> + <posx>400</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>78</onleft> + <onright>80</onright> + <onup>69</onup> + <ondown>89</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="80"> + <description>'P' button</description> + <posx>450</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>79</onleft> + <onright>81</onright> + <onup>70</onup> + <ondown>90</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="81"> + <description>'Q' button</description> + <posx>500</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>80</onleft> + <onright>82</onright> + <onup>71</onup> + <ondown>8</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="82"> + <description>'R' button</description> + <posx>550</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>81</onleft> + <onright>83</onright> + <onup>72</onup> + <ondown>8</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="83"> + <description>'S' button</description> + <posx>600</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>82</onleft> + <onright>84</onright> + <onup>73</onup> + <ondown>8</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="84"> + <description>'T' button</description> + <posx>650</posx> + <posy>100</posy> + <width>50</width> + <height>50</height> + <onleft>83</onleft> + <onright>303</onright> + <onup>74</onup> + <ondown>8</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="radiobutton" id="304"> + <description>Symbols button</description> + <posx>0</posx> + <posy>150</posy> + <width>200</width> + <height>50</height> + <label>20180</label> + <onleft>8</onleft> + <onright>85</onright> + <onup>303</onup> + <ondown>307</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <radioposy>5</radioposy> + <radiowidth>20</radiowidth> + <radioheight>20</radioheight> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="85"> + <description>'U' button</description> + <posx>200</posx> + <posy>150</posy> + <width>50</width> + <height>50</height> + <onleft>304</onleft> + <onright>86</onright> + <onup>75</onup> + <ondown>32</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="86"> + <description>'V' button</description> + <posx>250</posx> + <posy>150</posy> + <width>50</width> + <height>50</height> + <onleft>85</onleft> + <onright>87</onright> + <onup>76</onup> + <ondown>32</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="87"> + <description>'W' button</description> + <posx>300</posx> + <posy>150</posy> + <width>50</width> + <height>50</height> + <onleft>86</onleft> + <onright>88</onright> + <onup>77</onup> + <ondown>32</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="88"> + <description>'X' button</description> + <posx>350</posx> + <posy>150</posy> + <width>50</width> + <height>50</height> + <onleft>87</onleft> + <onright>89</onright> + <onup>78</onup> + <ondown>32</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="89"> + <description>'Y' button</description> + <posx>400</posx> + <posy>150</posy> + <width>50</width> + <height>50</height> + <onleft>88</onleft> + <onright>90</onright> + <onup>79</onup> + <ondown>32</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="90"> + <description>'Z' button</description> + <posx>450</posx> + <posy>150</posy> + <width>50</width> + <height>50</height> + <onleft>89</onleft> + <onright>8</onright> + <onup>80</onup> + <ondown>32</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="8"> + <description>BACKSPACE button</description> + <posx>500</posx> + <posy>150</posy> + <width>200</width> + <height>50</height> + <label>20181</label> + <onleft>90</onleft> + <onright>304</onright> + <onup>81</onup> + <ondown>305</ondown> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="307"> + <description>IP Input button</description> + <posx>0</posx> + <posy>200</posy> + <width>200</width> + <height>50</height> + <texturenofocus border="25,5,25,5">KeyboardCornerBottomNF.png</texturenofocus> + <texturefocus border="25,5,25,5">KeyboardCornerBottom.png</texturefocus> + <label>1006</label> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <onleft>306</onleft> + <onright>32</onright> + <onup>304</onup> + <ondown>300</ondown> + <focusedcolor>black</focusedcolor> + </control> + <control type="button" id="32"> + <description>SPACE button</description> + <posx>200</posx> + <posy>200</posy> + <width>300</width> + <height>50</height> + <label>20182</label> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <focusedcolor>black</focusedcolor> + <onleft>307</onleft> + <onright>305</onright> + <onup>85</onup> + <ondown>48</ondown> + </control> + <control type="button" id="305"> + <description>previous button</description> + <posx>500</posx> + <posy>200</posy> + <width>100</width> + <height>50</height> + <label><</label> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <font>font30</font> + <focusedcolor>black</focusedcolor> + <onleft>32</onleft> + <onright>306</onright> + <onup>8</onup> + <ondown>54</ondown> + </control> + <control type="button" id="306"> + <description>next button</description> + <posx>600</posx> + <posy>200</posy> + <width>100</width> + <height>50</height> + <label>></label> + <align>center</align> + <aligny>center</aligny> + <texturenofocus flipx="true" border="5,5,25,25">KeyboardCornerBottomNF.png</texturenofocus> + <texturefocus flipx="true" border="5,5,25,25">KeyboardCornerBottom.png</texturefocus> + <font>font30</font> + <focusedcolor>black</focusedcolor> + <onleft>305</onleft> + <onright>307</onright> + <onup>8</onup> + <ondown>56</ondown> + </control> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogMediaSource.xml b/addons/skin.confluence/720p/DialogMediaSource.xml index f118c5cc9a..31fe6ae804 100644 --- a/addons/skin.confluence/720p/DialogMediaSource.xml +++ b/addons/skin.confluence/720p/DialogMediaSource.xml @@ -1,287 +1,287 @@ -<window id="129">
- <defaultcontrol>10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>100</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>500</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label" id="2">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[13406]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>path label</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>760</width>
- <height>30</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12caps</font>
- <label>1021</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="list" id="10">
- <posx>30</posx>
- <posy>105</posy>
- <width>500</width>
- <height>201</height>
- <onup>9001</onup>
- <onleft>9000</onleft>
- <onright>60</onright>
- <ondown>12</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>490</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <visible>!Control.HasFocus(10)</visible>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <visible>Control.HasFocus(10)</visible>
- <texture>MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>490</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>555</posx>
- <posy>105</posy>
- <width>25</width>
- <height>200</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>10</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="group" id="9000">
- <posx>580</posx>
- <posy>105</posy>
- <control type="button" id="11">
- <description>Browse Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>200</width>
- <height>41</height>
- <label>1024</label>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>18</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>13</ondown>
- </control>
- <control type="button" id="13">
- <description>Add Path Button</description>
- <posx>0</posx>
- <posy>40</posy>
- <width>200</width>
- <height>41</height>
- <label>15019</label>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>11</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>14</ondown>
- </control>
- <control type="button" id="14">
- <description>Remove Path Button</description>
- <posx>0</posx>
- <posy>80</posy>
- <width>200</width>
- <height>41</height>
- <label>1210</label>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>13</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>12</ondown>
- </control>
- </control>
- <control type="label">
- <description>Name label</description>
- <posx>20</posx>
- <posy>335</posy>
- <width>760</width>
- <height>30</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12caps</font>
- <label>1022</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="button" id="12">
- <description>Name Button</description>
- <posx>20</posx>
- <posy>370</posy>
- <width>760</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onup>10</onup>
- <onleft>12</onleft>
- <onright>19</onright>
- <ondown>9001</ondown>
- </control>
- <control type="group" id="9001">
- <control type="button" id="18">
- <description>Ok Button</description>
- <posx>300</posx>
- <posy>435</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>186</label>
- <font>font12_title</font>
- <onup>12</onup>
- <onleft>20</onleft>
- <onright>19</onright>
- <ondown>10</ondown>
- <animation effect="slide" start="0,0" end="-102,0" time="0" condition="!Control.IsVisible(20)">Conditional</animation>
- </control>
- <control type="button" id="19">
- <description>Cancel Button</description>
- <posx>510</posx>
- <posy>435</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>222</label>
- <font>font12_title</font>
- <onup>12</onup>
- <onleft>18</onleft>
- <onright>20</onright>
- <ondown>10</ondown>
- <animation effect="slide" start="0,0" end="-102,0" time="0" condition="!Control.IsVisible(20)">Conditional</animation>
- </control>
- <control type="button" id="20">
- <description>Set Content Button</description>
- <posx>90</posx>
- <posy>435</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>20333</label>
- <font>font12_title</font>
- <onup>12</onup>
- <onleft>19</onleft>
- <onright>18</onright>
- <ondown>10</ondown>
- </control>
- </control>
- </controls>
-</window>
+<window id="129"> + <defaultcontrol>10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>100</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>500</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>10</onup> + <ondown>10</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label" id="2"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[13406]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>path label</description> + <posx>20</posx> + <posy>60</posy> + <width>760</width> + <height>30</height> + <align>center</align> + <aligny>center</aligny> + <font>font12caps</font> + <label>1021</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="list" id="10"> + <posx>30</posx> + <posy>105</posy> + <width>500</width> + <height>201</height> + <onup>9001</onup> + <onleft>9000</onleft> + <onright>60</onright> + <ondown>12</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <texture>MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>490</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <visible>!Control.HasFocus(10)</visible> + <texture>MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <visible>Control.HasFocus(10)</visible> + <texture>MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>490</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>555</posx> + <posy>105</posy> + <width>25</width> + <height>200</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>10</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="group" id="9000"> + <posx>580</posx> + <posy>105</posy> + <control type="button" id="11"> + <description>Browse Button</description> + <posx>0</posx> + <posy>0</posy> + <width>200</width> + <height>41</height> + <label>1024</label> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>18</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>13</ondown> + </control> + <control type="button" id="13"> + <description>Add Path Button</description> + <posx>0</posx> + <posy>40</posy> + <width>200</width> + <height>41</height> + <label>15019</label> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>11</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>14</ondown> + </control> + <control type="button" id="14"> + <description>Remove Path Button</description> + <posx>0</posx> + <posy>80</posy> + <width>200</width> + <height>41</height> + <label>1210</label> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>13</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>12</ondown> + </control> + </control> + <control type="label"> + <description>Name label</description> + <posx>20</posx> + <posy>335</posy> + <width>760</width> + <height>30</height> + <align>center</align> + <aligny>center</aligny> + <font>font12caps</font> + <label>1022</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="button" id="12"> + <description>Name Button</description> + <posx>20</posx> + <posy>370</posy> + <width>760</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onup>10</onup> + <onleft>12</onleft> + <onright>19</onright> + <ondown>9001</ondown> + </control> + <control type="group" id="9001"> + <control type="button" id="18"> + <description>Ok Button</description> + <posx>300</posx> + <posy>435</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>186</label> + <font>font12_title</font> + <onup>12</onup> + <onleft>20</onleft> + <onright>19</onright> + <ondown>10</ondown> + <animation effect="slide" start="0,0" end="-102,0" time="0" condition="!Control.IsVisible(20)">Conditional</animation> + </control> + <control type="button" id="19"> + <description>Cancel Button</description> + <posx>510</posx> + <posy>435</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>222</label> + <font>font12_title</font> + <onup>12</onup> + <onleft>18</onleft> + <onright>20</onright> + <ondown>10</ondown> + <animation effect="slide" start="0,0" end="-102,0" time="0" condition="!Control.IsVisible(20)">Conditional</animation> + </control> + <control type="button" id="20"> + <description>Set Content Button</description> + <posx>90</posx> + <posy>435</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>20333</label> + <font>font12_title</font> + <onup>12</onup> + <onleft>19</onleft> + <onright>18</onright> + <ondown>10</ondown> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogMusicScan.xml b/addons/skin.confluence/720p/DialogMusicScan.xml index d9029fe2c9..096061557e 100644 --- a/addons/skin.confluence/720p/DialogMusicScan.xml +++ b/addons/skin.confluence/720p/DialogMusicScan.xml @@ -1,49 +1,49 @@ -<window id="112">
- <defaultcontrol></defaultcontrol>
- <animation effect="slide" start="0,-70" end="0,0" time="100">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,-70" delay="400" time="100">WindowClose</animation>
- <controls>
- <control type="group">
- <posx>720</posx>
- <posy>0</posy>
- <animation effect="slide" end="-400,0" time="200" condition="Window.IsVisible(133)">conditional</animation>
- <animation effect="slide" end="0,-80" time="200" condition="Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">conditional</animation>
- <control type="image">
- <posx>0</posx>
- <posy>-10</posy>
- <width>400</width>
- <height>70</height>
- <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="label" id="401">
- <description>Caption Label</description>
- <posx>15</posx>
- <posy>4</posy>
- <width>370</width>
- <height>18</height>
- <font>font10_title</font>
- <textcolor>selected</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="label" id="402">
- <description>Current Directory Label</description>
- <posx>15</posx>
- <posy>20</posy>
- <width>370</width>
- <height>20</height>
- <font>font10</font>
- <align>left</align>
- <aligny>center</aligny>
- <haspath>true</haspath>
- </control>
- <control type="progress" id="403">
- <description>progress control</description>
- <posx>15</posx>
- <posy>42</posy>
- <width>370</width>
- <height>8</height>
- </control>
- </control>
- </controls>
+<window id="112"> + <defaultcontrol></defaultcontrol> + <animation effect="slide" start="0,-70" end="0,0" time="100">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,-70" delay="400" time="100">WindowClose</animation> + <controls> + <control type="group"> + <posx>720</posx> + <posy>0</posy> + <animation effect="slide" end="-400,0" time="200" condition="Window.IsVisible(133)">conditional</animation> + <animation effect="slide" end="0,-80" time="200" condition="Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">conditional</animation> + <control type="image"> + <posx>0</posx> + <posy>-10</posy> + <width>400</width> + <height>70</height> + <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="label" id="401"> + <description>Caption Label</description> + <posx>15</posx> + <posy>4</posy> + <width>370</width> + <height>18</height> + <font>font10_title</font> + <textcolor>selected</textcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="label" id="402"> + <description>Current Directory Label</description> + <posx>15</posx> + <posy>20</posy> + <width>370</width> + <height>20</height> + <font>font10</font> + <align>left</align> + <aligny>center</aligny> + <haspath>true</haspath> + </control> + <control type="progress" id="403"> + <description>progress control</description> + <posx>15</posx> + <posy>42</posy> + <width>370</width> + <height>8</height> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogMuteBug.xml b/addons/skin.confluence/720p/DialogMuteBug.xml index 80f96b8c4f..0325d88a99 100644 --- a/addons/skin.confluence/720p/DialogMuteBug.xml +++ b/addons/skin.confluence/720p/DialogMuteBug.xml @@ -1,32 +1,32 @@ -<window id="113">
- <defaultcontrol>-</defaultcontrol>
- <include>dialogeffect</include>
- <coordinates>
- <system>0</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="group">
- <posx>80r</posx>
- <posy>0</posy>
- <animation effect="slide" end="100,0" time="200" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="100,0" time="200" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>80</width>
- <height>35</height>
- <texture flipx="true" border="32,0,0,0">header.png</texture>
- </control>
- <control type="image">
- <posx>35</posx>
- <posy>0</posy>
- <width>30</width>
- <height>30</height>
- <aspectratio>keep</aspectratio>
- <texture>icon-mute.png</texture>
- </control>
- </control>
- </controls>
+<window id="113"> + <defaultcontrol>-</defaultcontrol> + <include>dialogeffect</include> + <coordinates> + <system>0</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="group"> + <posx>80r</posx> + <posy>0</posy> + <animation effect="slide" end="100,0" time="200" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="100,0" time="200" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>80</width> + <height>35</height> + <texture flipx="true" border="32,0,0,0">header.png</texture> + </control> + <control type="image"> + <posx>35</posx> + <posy>0</posy> + <width>30</width> + <height>30</height> + <aspectratio>keep</aspectratio> + <texture>icon-mute.png</texture> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogNetworkSetup.xml b/addons/skin.confluence/720p/DialogNetworkSetup.xml index 6d25b3c615..0551b5e789 100644 --- a/addons/skin.confluence/720p/DialogNetworkSetup.xml +++ b/addons/skin.confluence/720p/DialogNetworkSetup.xml @@ -1,214 +1,214 @@ -<window id="128">
- <defaultcontrol>10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>155</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>410</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label" id="2">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[1007]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="spincontrolex" id="10">
- <description>Protocol SpinControl</description>
- <posx>20</posx>
- <posy>70</posy>
- <height>41</height>
- <width>760</width>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- <textoffsetx>12</textoffsetx>
- <aligny>center</aligny>
- <reverse>yes</reverse>
- <font>font132</font>
- <label>1008</label>
- <onup>18</onup>
- <ondown>11</ondown>
- <onleft>10</onleft>
- <onright>10</onright>
- </control>
- <control type="button" id="11">
- <description>Server Address Button</description>
- <posx>20</posx>
- <posy>110</posy>
- <width>585</width>
- <height>41</height>
- <textoffsetx>12</textoffsetx>
- <aligny>center</aligny>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <font>font13</font>
- <label>-</label>
- <onup>10</onup>
- <onleft>12</onleft>
- <onright>12</onright>
- <ondown>16</ondown>
- </control>
- <control type="button" id="12">
- <description>Server Browse Button</description>
- <posx>610</posx>
- <posy>110</posy>
- <width>170</width>
- <height>41</height>
- <textoffsetx>12</textoffsetx>
- <font>font12_title</font>
- <label>1024</label>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>\n
- <onup>10</onup>
- <onleft>11</onleft>
- <onright>11</onright>
- <ondown>16</ondown>
- </control>
- <control type="button" id="16">
- <description>Remote path Button</description>
- <posx>20</posx>
- <posy>150</posy>
- <width>760</width>
- <height>41</height>
- <textoffsetx>12</textoffsetx>
- <aligny>center</aligny>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <font>font13</font>
- <label>-</label>
- <onup>11</onup>
- <onleft>16</onleft>
- <onright>16</onright>
- <ondown>13</ondown>
- </control>
- <control type="button" id="13">
- <description>Port Button</description>
- <posx>20</posx>
- <posy>190</posy>
- <width>760</width>
- <height>41</height>
- <textoffsetx>12</textoffsetx>
- <aligny>center</aligny>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <font>font13</font>
- <label>1013</label>
- <onup>16</onup>
- <onleft>13</onleft>
- <onright>13</onright>
- <ondown>14</ondown>
- </control>
- <control type="button" id="14">
- <description>Username Button</description>
- <posx>20</posx>
- <posy>230</posy>
- <width>760</width>
- <height>41</height>
- <textoffsetx>12</textoffsetx>
- <aligny>center</aligny>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <font>font13</font>
- <label>1014</label>
- <onup>13</onup>
- <onleft>14</onleft>
- <onright>14</onright>
- <ondown>15</ondown>
- </control>
- <control type="button" id="15">
- <description>Password Button</description>
- <posx>20</posx>
- <posy>270</posy>
- <width>760</width>
- <height>41</height>
- <textoffsetx>12</textoffsetx>
- <aligny>center</aligny>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <font>font13</font>
- <label>15052</label>
- <onup>14</onup>
- <onleft>15</onleft>
- <onright>15</onright>
- <ondown>18</ondown>
- </control>
- <control type="button" id="18">
- <description>Ok Button</description>
- <posx>195</posx>
- <posy>340</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="3">button-focus.png</texturefocus>\n
- <font>font12_title</font>
- <label>186</label>
- <onup>15</onup>
- <onleft>19</onleft>
- <onright>19</onright>
- <ondown>10</ondown>
- </control>
- <control type="button" id="19">
- <description>Cancel Button</description>
- <posx>405</posx>
- <posy>340</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="3">button-focus.png</texturefocus>\n
- <font>font12_title</font>
- <label>222</label>
- <onup>15</onup>
- <onleft>18</onleft>
- <onright>18</onright>
- <ondown>10</ondown>
- </control>
- </controls>
+<window id="128"> + <defaultcontrol>10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>155</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>410</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>10</onup> + <ondown>10</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label" id="2"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[1007]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="spincontrolex" id="10"> + <description>Protocol SpinControl</description> + <posx>20</posx> + <posy>70</posy> + <height>41</height> + <width>760</width> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + <textoffsetx>12</textoffsetx> + <aligny>center</aligny> + <reverse>yes</reverse> + <font>font132</font> + <label>1008</label> + <onup>18</onup> + <ondown>11</ondown> + <onleft>10</onleft> + <onright>10</onright> + </control> + <control type="button" id="11"> + <description>Server Address Button</description> + <posx>20</posx> + <posy>110</posy> + <width>585</width> + <height>41</height> + <textoffsetx>12</textoffsetx> + <aligny>center</aligny> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <font>font13</font> + <label>-</label> + <onup>10</onup> + <onleft>12</onleft> + <onright>12</onright> + <ondown>16</ondown> + </control> + <control type="button" id="12"> + <description>Server Browse Button</description> + <posx>610</posx> + <posy>110</posy> + <width>170</width> + <height>41</height> + <textoffsetx>12</textoffsetx> + <font>font12_title</font> + <label>1024</label> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus>\n + <onup>10</onup> + <onleft>11</onleft> + <onright>11</onright> + <ondown>16</ondown> + </control> + <control type="button" id="16"> + <description>Remote path Button</description> + <posx>20</posx> + <posy>150</posy> + <width>760</width> + <height>41</height> + <textoffsetx>12</textoffsetx> + <aligny>center</aligny> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <font>font13</font> + <label>-</label> + <onup>11</onup> + <onleft>16</onleft> + <onright>16</onright> + <ondown>13</ondown> + </control> + <control type="button" id="13"> + <description>Port Button</description> + <posx>20</posx> + <posy>190</posy> + <width>760</width> + <height>41</height> + <textoffsetx>12</textoffsetx> + <aligny>center</aligny> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <font>font13</font> + <label>1013</label> + <onup>16</onup> + <onleft>13</onleft> + <onright>13</onright> + <ondown>14</ondown> + </control> + <control type="button" id="14"> + <description>Username Button</description> + <posx>20</posx> + <posy>230</posy> + <width>760</width> + <height>41</height> + <textoffsetx>12</textoffsetx> + <aligny>center</aligny> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <font>font13</font> + <label>1014</label> + <onup>13</onup> + <onleft>14</onleft> + <onright>14</onright> + <ondown>15</ondown> + </control> + <control type="button" id="15"> + <description>Password Button</description> + <posx>20</posx> + <posy>270</posy> + <width>760</width> + <height>41</height> + <textoffsetx>12</textoffsetx> + <aligny>center</aligny> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <font>font13</font> + <label>15052</label> + <onup>14</onup> + <onleft>15</onleft> + <onright>15</onright> + <ondown>18</ondown> + </control> + <control type="button" id="18"> + <description>Ok Button</description> + <posx>195</posx> + <posy>340</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="3">button-focus.png</texturefocus>\n + <font>font12_title</font> + <label>186</label> + <onup>15</onup> + <onleft>19</onleft> + <onright>19</onright> + <ondown>10</ondown> + </control> + <control type="button" id="19"> + <description>Cancel Button</description> + <posx>405</posx> + <posy>340</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="3">button-focus.png</texturefocus>\n + <font>font12_title</font> + <label>222</label> + <onup>15</onup> + <onleft>18</onleft> + <onright>18</onright> + <ondown>10</ondown> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogNumeric.xml b/addons/skin.confluence/720p/DialogNumeric.xml index b59e921896..80d16e36f1 100644 --- a/addons/skin.confluence/720p/DialogNumeric.xml +++ b/addons/skin.confluence/720p/DialogNumeric.xml @@ -1,336 +1,336 @@ -<window id="109">
- <defaultcontrol always="true">21</defaultcontrol>
- <include>dialogeffect</include>
- <coordinates>
- <system>2</system>
- <posx>480</posx>
- <posy>145</posy>
- </coordinates>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>320</width>
- <height>430</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>10</posy>
- <width>300</width>
- <height>70</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="image">
- <posx>30</posx>
- <posy>70</posy>
- <width>260</width>
- <height>50</height>
- <aspectratio>stretch</aspectratio>
- <texture border="20">KeyboardEditArea.png</texture>
- </control>
- <control type="label" id="4">
- <description>Edit Text</description>
- <posx>35</posx>
- <posy>70</posy>
- <width>250</width>
- <height>50</height>
- <font>font13</font>
- <textcolor>selected</textcolor>
- <disabledcolor>grey2</disabledcolor>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>120</posy>
- <width>240</width>
- <height>30</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label" id="1">
- <description>dialog Heading</description>
- <posx>20</posx>
- <posy>20</posy>
- <width>280</width>
- <height>40</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>center</align>
- <aligny>center</aligny>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>380</posy>
- <width>240</width>
- <height>40</height>
- <aspectratio>stretch</aspectratio>
- <colordiffuse>AAFFFFFF</colordiffuse>
- <texture flipy="true">GlassTitleBar.png</texture>
- </control>
- <control type="group">
- <posx>40</posx>
- <posy>150</posy>
- <control type="button" id="11">
- <description>1 button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="25,25,5,5">KeyboardCornerTopNF.png</texturenofocus>
- <texturefocus border="25,25,5,5">KeyboardCornerTop.png</texturefocus>
- <label>12311</label>
- <focusedcolor>black</focusedcolor>
- <onleft>23</onleft>
- <onright>12</onright>
- <onup>20</onup>
- <ondown>14</ondown>
- </control>
- <control type="button" id="12">
- <description>2 button</description>
- <posx>60</posx>
- <posy>0</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12312</label>
- <focusedcolor>black</focusedcolor>
- <onleft>11</onleft>
- <onright>13</onright>
- <onup>10</onup>
- <ondown>15</ondown>
- </control>
- <control type="button" id="13">
- <description>3 button</description>
- <posx>120</posx>
- <posy>0</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12313</label>
- <focusedcolor>black</focusedcolor>
- <onleft>12</onleft>
- <onright>23</onright>
- <onup>22</onup>
- <ondown>16</ondown>
- </control>
- <control type="button" id="23">
- <description>Backspace button</description>
- <posx>180</posx>
- <posy>0</posy>
- <width>60</width>
- <height>120</height>
- <font>font12</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus flipx="true" border="5,25,25,5">KeyboardCornerTopNF.png</texturenofocus>
- <texturefocus flipx="true" border="5,35,25,5">KeyboardCornerTop.png</texturefocus>
- <textwidth>120</textwidth>
- <label>20181</label>
- <focusedcolor>black</focusedcolor>
- <angle>270</angle>
- <onleft>13</onleft>
- <onright>11</onright>
- <onup>21</onup>
- <ondown>21</ondown>
- </control>
- <control type="button" id="14">
- <description>4 button</description>
- <posx>0</posx>
- <posy>60</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12314</label>
- <focusedcolor>black</focusedcolor>
- <onleft>23</onleft>
- <onright>15</onright>
- <onup>11</onup>
- <ondown>17</ondown>
- </control>
- <control type="button" id="15">
- <description>5 button</description>
- <posx>60</posx>
- <posy>60</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12315</label>
- <focusedcolor>black</focusedcolor>
- <onleft>14</onleft>
- <onright>16</onright>
- <onup>12</onup>
- <ondown>18</ondown>
- </control>
- <control type="button" id="16">
- <description>6 button</description>
- <posx>120</posx>
- <posy>60</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12316</label>
- <focusedcolor>black</focusedcolor>
- <onleft>15</onleft>
- <onright>23</onright>
- <onup>13</onup>
- <ondown>19</ondown>
- </control>
- <control type="button" id="17">
- <description>7 button</description>
- <posx>0</posx>
- <posy>120</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12317</label>
- <focusedcolor>black</focusedcolor>
- <onleft>21</onleft>
- <onright>18</onright>
- <onup>14</onup>
- <ondown>20</ondown>
- </control>
- <control type="button" id="18">
- <description>8 button</description>
- <posx>60</posx>
- <posy>120</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12318</label>
- <focusedcolor>black</focusedcolor>
- <onleft>17</onleft>
- <onright>19</onright>
- <onup>15</onup>
- <ondown>10</ondown>
- </control>
- <control type="button" id="19">
- <description>9 button</description>
- <posx>120</posx>
- <posy>120</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12319</label>
- <focusedcolor>black</focusedcolor>
- <onleft>18</onleft>
- <onright>21</onright>
- <onup>16</onup>
- <ondown>22</ondown>
- </control>
- <control type="button" id="21">
- <description>Done button</description>
- <posx>180</posx>
- <posy>120</posy>
- <width>60</width>
- <height>120</height>
- <font>font12</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus flipx="true" border="5,5,25,25">KeyboardCornerBottomNF.png</texturenofocus>
- <texturefocus flipx="true" border="5,30,25,25">KeyboardCornerBottom.png</texturefocus>
- <textwidth>120</textwidth>
- <label>20177</label>
- <focusedcolor>black</focusedcolor>
- <angle>270</angle>
- <onleft>19</onleft>
- <onright>17</onright>
- <onup>23</onup>
- <ondown>23</ondown>
- </control>
- <control type="button" id="20">
- <description>prev button</description>
- <posx>0</posx>
- <posy>180</posy>
- <width>60</width>
- <height>60</height>
- <font>font30</font>
- <label><</label>
- <focusedcolor>black</focusedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="25,5,25,5">KeyboardCornerBottomNF.png</texturenofocus>
- <texturefocus border="25,5,25,5">KeyboardCornerBottom.png</texturefocus>
- <onleft>21</onleft>
- <onright>10</onright>
- <onup>17</onup>
- <ondown>11</ondown>
- </control>
- <control type="button" id="10">
- <description>0 button</description>
- <posx>60</posx>
- <posy>180</posy>
- <width>60</width>
- <height>60</height>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <label>12310</label>
- <focusedcolor>black</focusedcolor>
- <onleft>20</onleft>
- <onright>22</onright>
- <onup>18</onup>
- <ondown>12</ondown>
- </control>
- <control type="button" id="22">
- <description>next button</description>
- <posx>120</posx>
- <posy>180</posy>
- <width>60</width>
- <height>60</height>
- <font>font30</font>
- <label>></label>
- <focusedcolor>black</focusedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
- <texturefocus border="5">KeyboardKey.png</texturefocus>
- <onleft>10</onleft>
- <onright>21</onright>
- <onup>19</onup>
- <ondown>13</ondown>
- </control>
- </control>
- </controls>
-</window>
+<window id="109"> + <defaultcontrol always="true">21</defaultcontrol> + <include>dialogeffect</include> + <coordinates> + <system>2</system> + <posx>480</posx> + <posy>145</posy> + </coordinates> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>320</width> + <height>430</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>10</posy> + <width>300</width> + <height>70</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="image"> + <posx>30</posx> + <posy>70</posy> + <width>260</width> + <height>50</height> + <aspectratio>stretch</aspectratio> + <texture border="20">KeyboardEditArea.png</texture> + </control> + <control type="label" id="4"> + <description>Edit Text</description> + <posx>35</posx> + <posy>70</posy> + <width>250</width> + <height>50</height> + <font>font13</font> + <textcolor>selected</textcolor> + <disabledcolor>grey2</disabledcolor> + <align>center</align> + <aligny>center</aligny> + </control> + <control type="image"> + <posx>40</posx> + <posy>120</posy> + <width>240</width> + <height>30</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label" id="1"> + <description>dialog Heading</description> + <posx>20</posx> + <posy>20</posy> + <width>280</width> + <height>40</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <align>center</align> + <aligny>center</aligny> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>40</posx> + <posy>380</posy> + <width>240</width> + <height>40</height> + <aspectratio>stretch</aspectratio> + <colordiffuse>AAFFFFFF</colordiffuse> + <texture flipy="true">GlassTitleBar.png</texture> + </control> + <control type="group"> + <posx>40</posx> + <posy>150</posy> + <control type="button" id="11"> + <description>1 button</description> + <posx>0</posx> + <posy>0</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="25,25,5,5">KeyboardCornerTopNF.png</texturenofocus> + <texturefocus border="25,25,5,5">KeyboardCornerTop.png</texturefocus> + <label>12311</label> + <focusedcolor>black</focusedcolor> + <onleft>23</onleft> + <onright>12</onright> + <onup>20</onup> + <ondown>14</ondown> + </control> + <control type="button" id="12"> + <description>2 button</description> + <posx>60</posx> + <posy>0</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12312</label> + <focusedcolor>black</focusedcolor> + <onleft>11</onleft> + <onright>13</onright> + <onup>10</onup> + <ondown>15</ondown> + </control> + <control type="button" id="13"> + <description>3 button</description> + <posx>120</posx> + <posy>0</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12313</label> + <focusedcolor>black</focusedcolor> + <onleft>12</onleft> + <onright>23</onright> + <onup>22</onup> + <ondown>16</ondown> + </control> + <control type="button" id="23"> + <description>Backspace button</description> + <posx>180</posx> + <posy>0</posy> + <width>60</width> + <height>120</height> + <font>font12</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus flipx="true" border="5,25,25,5">KeyboardCornerTopNF.png</texturenofocus> + <texturefocus flipx="true" border="5,35,25,5">KeyboardCornerTop.png</texturefocus> + <textwidth>120</textwidth> + <label>20181</label> + <focusedcolor>black</focusedcolor> + <angle>270</angle> + <onleft>13</onleft> + <onright>11</onright> + <onup>21</onup> + <ondown>21</ondown> + </control> + <control type="button" id="14"> + <description>4 button</description> + <posx>0</posx> + <posy>60</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12314</label> + <focusedcolor>black</focusedcolor> + <onleft>23</onleft> + <onright>15</onright> + <onup>11</onup> + <ondown>17</ondown> + </control> + <control type="button" id="15"> + <description>5 button</description> + <posx>60</posx> + <posy>60</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12315</label> + <focusedcolor>black</focusedcolor> + <onleft>14</onleft> + <onright>16</onright> + <onup>12</onup> + <ondown>18</ondown> + </control> + <control type="button" id="16"> + <description>6 button</description> + <posx>120</posx> + <posy>60</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12316</label> + <focusedcolor>black</focusedcolor> + <onleft>15</onleft> + <onright>23</onright> + <onup>13</onup> + <ondown>19</ondown> + </control> + <control type="button" id="17"> + <description>7 button</description> + <posx>0</posx> + <posy>120</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12317</label> + <focusedcolor>black</focusedcolor> + <onleft>21</onleft> + <onright>18</onright> + <onup>14</onup> + <ondown>20</ondown> + </control> + <control type="button" id="18"> + <description>8 button</description> + <posx>60</posx> + <posy>120</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12318</label> + <focusedcolor>black</focusedcolor> + <onleft>17</onleft> + <onright>19</onright> + <onup>15</onup> + <ondown>10</ondown> + </control> + <control type="button" id="19"> + <description>9 button</description> + <posx>120</posx> + <posy>120</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12319</label> + <focusedcolor>black</focusedcolor> + <onleft>18</onleft> + <onright>21</onright> + <onup>16</onup> + <ondown>22</ondown> + </control> + <control type="button" id="21"> + <description>Done button</description> + <posx>180</posx> + <posy>120</posy> + <width>60</width> + <height>120</height> + <font>font12</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus flipx="true" border="5,5,25,25">KeyboardCornerBottomNF.png</texturenofocus> + <texturefocus flipx="true" border="5,30,25,25">KeyboardCornerBottom.png</texturefocus> + <textwidth>120</textwidth> + <label>20177</label> + <focusedcolor>black</focusedcolor> + <angle>270</angle> + <onleft>19</onleft> + <onright>17</onright> + <onup>23</onup> + <ondown>23</ondown> + </control> + <control type="button" id="20"> + <description>prev button</description> + <posx>0</posx> + <posy>180</posy> + <width>60</width> + <height>60</height> + <font>font30</font> + <label><</label> + <focusedcolor>black</focusedcolor> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="25,5,25,5">KeyboardCornerBottomNF.png</texturenofocus> + <texturefocus border="25,5,25,5">KeyboardCornerBottom.png</texturefocus> + <onleft>21</onleft> + <onright>10</onright> + <onup>17</onup> + <ondown>11</ondown> + </control> + <control type="button" id="10"> + <description>0 button</description> + <posx>60</posx> + <posy>180</posy> + <width>60</width> + <height>60</height> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <label>12310</label> + <focusedcolor>black</focusedcolor> + <onleft>20</onleft> + <onright>22</onright> + <onup>18</onup> + <ondown>12</ondown> + </control> + <control type="button" id="22"> + <description>next button</description> + <posx>120</posx> + <posy>180</posy> + <width>60</width> + <height>60</height> + <font>font30</font> + <label>></label> + <focusedcolor>black</focusedcolor> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="3">KeyboardKeyNF.png</texturenofocus> + <texturefocus border="5">KeyboardKey.png</texturefocus> + <onleft>10</onleft> + <onright>21</onright> + <onup>19</onup> + <ondown>13</ondown> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogOK.xml b/addons/skin.confluence/720p/DialogOK.xml index a40e60532d..56f9a0b6b4 100644 --- a/addons/skin.confluence/720p/DialogOK.xml +++ b/addons/skin.confluence/720p/DialogOK.xml @@ -1,82 +1,82 @@ -<window id="2002">
- <defaultcontrol always="true">10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>340</posx>
- <posy>235</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>230</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="label" id="1">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>560</width>
- <height>30</height>
- <font>font13_title</font>
- <label>13406</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="2">
- <description>dialog line 1</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="3">
- <description>dialog line 2</description>
- <posx>20</posx>
- <posy>85</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="4">
- <description>dialog line 3</description>
- <posx>20</posx>
- <posy>110</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="button" id="10">
- <description>OK button</description>
- <posx>200</posx>
- <posy>170</posy>
- <width>200</width>
- <height>40</height>
- <label>186</label>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- </control>
- </controls>
+<window id="2002"> + <defaultcontrol always="true">10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>340</posx> + <posy>235</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>230</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="label" id="1"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>560</width> + <height>30</height> + <font>font13_title</font> + <label>13406</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="2"> + <description>dialog line 1</description> + <posx>20</posx> + <posy>60</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="3"> + <description>dialog line 2</description> + <posx>20</posx> + <posy>85</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="4"> + <description>dialog line 3</description> + <posx>20</posx> + <posy>110</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="button" id="10"> + <description>OK button</description> + <posx>200</posx> + <posy>170</posy> + <width>200</width> + <height>40</height> + <label>186</label> + <font>font12_title</font> + <textcolor>white</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>10</onup> + <ondown>10</ondown> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogPictureInfo.xml b/addons/skin.confluence/720p/DialogPictureInfo.xml index 72159adb16..95df9b9029 100644 --- a/addons/skin.confluence/720p/DialogPictureInfo.xml +++ b/addons/skin.confluence/720p/DialogPictureInfo.xml @@ -1,152 +1,152 @@ -<window id="139">
- <defaultcontrol always="true">5</defaultcontrol>
- <controls>
- <control type="group">
- <animation effect="slide" start="640,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="640,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>640</posx>
- <posy>0</posy>
- <width>640</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>660</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>5</onleft>
- <onright>5</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>35r</posx>
- <posy>40</posy>
- <width>710</width>
- <height>30</height>
- <font>font30_title</font>
- <label>$LOCALIZE[13406]</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="scrollbar" id="60">
- <posx>1235</posx>
- <posy>90</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>5</onleft>
- <onright>5</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="list" id="5">
- <posx>670</posx>
- <posy>90</posy>
- <width>560</width>
- <height>601</height>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>560</width>
- <height>41</height>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>170</posx>
- <posy>0</posy>
- <width>160</width>
- <height>35</height>
- <font>font12_title</font>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <label>$INFO[ListItem.Label][COLOR=grey2] : [/COLOR]</label>
- </control>
- <control type="label">
- <posx>170</posx>
- <posy>0</posy>
- <width>390</width>
- <height>35</height>
- <font>font12</font>
- <aligny>center</aligny>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>560</width>
- <height>41</height>
- <visible>!Control.HasFocus(5)</visible>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>560</width>
- <height>41</height>
- <visible>Control.HasFocus(5)</visible>
- <texture border="5">MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>170</posx>
- <posy>0</posy>
- <width>160</width>
- <height>35</height>
- <font>font12_title</font>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <label>$INFO[ListItem.Label][COLOR=grey2] : [/COLOR]</label>
- </control>
- <control type="label">
- <posx>170</posx>
- <posy>0</posy>
- <width>390</width>
- <height>35</height>
- <font>font12</font>
- <aligny>center</aligny>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- </control>
- </control>
- <include>SideBladeRight</include>
- <include>Clock</include>
- </controls>
+<window id="139"> + <defaultcontrol always="true">5</defaultcontrol> + <controls> + <control type="group"> + <animation effect="slide" start="640,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="640,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>640</posx> + <posy>0</posy> + <width>640</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>660</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>5</onleft> + <onright>5</onright> + <onup>5</onup> + <ondown>5</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>35r</posx> + <posy>40</posy> + <width>710</width> + <height>30</height> + <font>font30_title</font> + <label>$LOCALIZE[13406]</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="scrollbar" id="60"> + <posx>1235</posx> + <posy>90</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>5</onleft> + <onright>5</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="list" id="5"> + <posx>670</posx> + <posy>90</posy> + <width>560</width> + <height>601</height> + <onleft>60</onleft> + <onright>60</onright> + <onup>5</onup> + <ondown>5</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>560</width> + <height>41</height> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>170</posx> + <posy>0</posy> + <width>160</width> + <height>35</height> + <font>font12_title</font> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <label>$INFO[ListItem.Label][COLOR=grey2] : [/COLOR]</label> + </control> + <control type="label"> + <posx>170</posx> + <posy>0</posy> + <width>390</width> + <height>35</height> + <font>font12</font> + <aligny>center</aligny> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>560</width> + <height>41</height> + <visible>!Control.HasFocus(5)</visible> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>560</width> + <height>41</height> + <visible>Control.HasFocus(5)</visible> + <texture border="5">MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>170</posx> + <posy>0</posy> + <width>160</width> + <height>35</height> + <font>font12_title</font> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <label>$INFO[ListItem.Label][COLOR=grey2] : [/COLOR]</label> + </control> + <control type="label"> + <posx>170</posx> + <posy>0</posy> + <width>390</width> + <height>35</height> + <font>font12</font> + <aligny>center</aligny> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + </control> + </control> + <include>SideBladeRight</include> + <include>Clock</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogProgress.xml b/addons/skin.confluence/720p/DialogProgress.xml index b79b90b9b3..0a4ad24486 100644 --- a/addons/skin.confluence/720p/DialogProgress.xml +++ b/addons/skin.confluence/720p/DialogProgress.xml @@ -1,102 +1,102 @@ -<window id="101">
- <defaultcontrol always="true">10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>340</posx>
- <posy>235</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>230</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="label" id="1">
- <description>heading label</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>0</width>
- <height>0</height>
- <font>-</font>
- <visible>false</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>560</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$INFO[Control.GetLabel(1)] $INFO[System.Progressbar,- ,%]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="2">
- <description>dialog line 1</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <haspath>true</haspath>
- <font>font13</font>
- </control>
- <control type="label" id="3">
- <description>dialog line 2</description>
- <posx>20</posx>
- <posy>85</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <haspath>true</haspath>
- <font>font13</font>
- </control>
- <control type="label" id="4">
- <description>dialog line 3</description>
- <posx>20</posx>
- <posy>110</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <haspath>true</haspath>
- <font>font13</font>
- </control>
- <control type="progress">
- <description>Progressbar</description>
- <posx>20</posx>
- <posy>142</posy>
- <width>560</width>
- <height>16</height>
- <info>System.Progressbar</info>
- </control>
- <control type="button" id="10">
- <description>Cancel button</description>
- <posx>200</posx>
- <posy>170</posy>
- <width>200</width>
- <height>40</height>
- <label>222</label>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- </control>
- </controls>
+<window id="101"> + <defaultcontrol always="true">10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>340</posx> + <posy>235</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>230</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="label" id="1"> + <description>heading label</description> + <posx>0</posx> + <posy>0</posy> + <width>0</width> + <height>0</height> + <font>-</font> + <visible>false</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>560</width> + <height>30</height> + <font>font13_title</font> + <label>$INFO[Control.GetLabel(1)] $INFO[System.Progressbar,- ,%]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="2"> + <description>dialog line 1</description> + <posx>20</posx> + <posy>60</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <haspath>true</haspath> + <font>font13</font> + </control> + <control type="label" id="3"> + <description>dialog line 2</description> + <posx>20</posx> + <posy>85</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <haspath>true</haspath> + <font>font13</font> + </control> + <control type="label" id="4"> + <description>dialog line 3</description> + <posx>20</posx> + <posy>110</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <haspath>true</haspath> + <font>font13</font> + </control> + <control type="progress"> + <description>Progressbar</description> + <posx>20</posx> + <posy>142</posy> + <width>560</width> + <height>16</height> + <info>System.Progressbar</info> + </control> + <control type="button" id="10"> + <description>Cancel button</description> + <posx>200</posx> + <posy>170</posy> + <width>200</width> + <height>40</height> + <label>222</label> + <font>font12_title</font> + <textcolor>white</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>10</onup> + <ondown>10</ondown> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogSeekBar.xml b/addons/skin.confluence/720p/DialogSeekBar.xml index 36031d7d40..c3c622a0c2 100644 --- a/addons/skin.confluence/720p/DialogSeekBar.xml +++ b/addons/skin.confluence/720p/DialogSeekBar.xml @@ -1,324 +1,324 @@ -<window id="115">
- <defaultcontrol>1</defaultcontrol>
- <visible>[Player.Seeking | Player.DisplayAfterSeek | Player.Paused | Player.Forwarding | Player.Rewinding]</visible>
- <animation effect="slide" start="0,80" end="0,0" time="100">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,80" time="100">WindowClose</animation>
- <coordinates>
- <system>1</system>
- <posx>820</posx>
- <posy>650</posy>
- </coordinates>
- <controls>
- <control type="group">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>370</width>
- <height>80</height>
- <texture border="20,20,20,2">InfoMessagePanel.png</texture>
- <visible>!player.chaptercount</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>450</width>
- <height>80</height>
- <texture border="20,20,20,2">InfoMessagePanel.png</texture>
- <visible>player.chaptercount</visible>
- </control>
- <control type="group">
- <posx>260</posx>
- <posy>15</posy>
- <control type="image">
- <posx>10</posx>
- <posy>0</posy>
- <width>80</width>
- <height>50</height>
- <texture>OSDSeekFrame.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>3</posy>
- <width>20</width>
- <height>44</height>
- <texture>OSDSeekRewind.png</texture>
- <visible>Player.Rewinding</visible>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>3</posy>
- <width>20</width>
- <height>44</height>
- <texture>OSDSeekForward.png</texture>
- <visible>Player.Forwarding</visible>
- </control>
- <control type="image">
- <posx>31</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDPause.png</texture>
- <visible>Player.Paused</visible>
- </control>
- <control type="image">
- <posx>31</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDPlay.png</texture>
- <visible>Player.Playing</visible>
- </control>
-
- <control type="image">
- <posx>28</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD2x.png</texture>
- <visible>Player.Rewinding2x</visible>
- </control>
- <control type="image">
- <posx>25</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD4x.png</texture>
- <visible>Player.Rewinding4x</visible>
- </control>
- <control type="image">
- <posx>22</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD8x.png</texture>
- <visible>Player.Rewinding8x</visible>
- </control>
- <control type="image">
- <posx>19</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD16x.png</texture>
- <visible>Player.Rewinding16x</visible>
- </control>
- <control type="image">
- <posx>17</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD32x.png</texture>
- <visible>Player.Rewinding32x</visible>
- </control>
-
- <control type="image">
- <posx>34</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD2x.png</texture>
- <visible>Player.Forwarding2x</visible>
- </control>
- <control type="image">
- <posx>37</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD4x.png</texture>
- <visible>Player.Forwarding4x</visible>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD8x.png</texture>
- <visible>Player.Forwarding8x</visible>
- </control>
- <control type="image">
- <posx>43</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD16x.png</texture>
- <visible>Player.Forwarding16x</visible>
- </control>
- <control type="image">
- <posx>45</posx>
- <posy>4</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSD32x.png</texture>
- <visible>Player.Forwarding32x</visible>
- </control>
- </control>
-
- <control type="label">
- <description>Playing Label</description>
- <posx>20</posx>
- <posy>8</posy>
- <width>240</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[31042]</label>
- <visible>Player.Playing + !Player.Seeking + !Player.DisplayAfterSeek</visible>
- </control>
- <control type="label">
- <description>Paused Label</description>
- <posx>20</posx>
- <posy>8</posy>
- <width>240</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>31043</label>
- <visible>[Player.Paused + !Player.Caching] + !Player.Seeking + !Player.DisplayAfterSeek</visible>
- </control>
- <control type="label">
- <description>Cache Label</description>
- <posx>20</posx>
- <posy>8</posy>
- <width>240</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[15107] $INFO[Player.CacheLevel]%</label>
- <visible>[Player.Paused + Player.Caching] + !Player.Seeking</visible>
- </control>
- <control type="label">
- <description>Seeking Label</description>
- <posx>20</posx>
- <posy>8</posy>
- <width>240</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>[UPPERCASE]$LOCALIZE[773][/UPPERCASE]</label>
- <visible>Player.Seeking</visible>
- </control>
- <control type="label">
- <description>Final Seek amount Label</description>
- <posx>20</posx>
- <posy>8</posy>
- <width>240</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>[UPPERCASE]$LOCALIZE[773][/UPPERCASE][COLOR=grey] $INFO[Player.SeekOffset][/COLOR]</label>
- <visible>Player.DisplayAfterSeek + ![player.forwarding | player.rewinding]</visible>
- </control>
- <control type="label">
- <description>FF Label</description>
- <posx>20</posx>
- <posy>8</posy>
- <width>240</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>31044</label>
- <visible>Player.Forwarding</visible>
- </control>
- <control type="label">
- <description>RW Label</description>
- <posx>20</posx>
- <posy>8</posy>
- <width>240</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>31045</label>
- <visible>Player.Rewinding</visible>
- </control>
- <control type="label">
- <description>Elapsed Time Label</description>
- <posx>20</posx>
- <posy>27</posy>
- <width>240</width>
- <height>20</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[Player.Time] - $INFO[Player.Duration]</label>
- <visible>!Player.Seeking</visible>
- </control>
- <control type="label">
- <description>Seek Time Label</description>
- <posx>20</posx>
- <posy>27</posy>
- <width>240</width>
- <height>20</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[Player.SeekTime] - $INFO[Player.Duration]</label>
- <visible>Player.Seeking</visible>
- </control>
- <control type="progress" id="23">
- <description>Progressbar</description>
- <posx>20</posx>
- <posy>50</posy>
- <width>240</width>
- <height>15</height>
- <info>Player.Progress</info>
- <visible>true</visible>
- </control>
- <control type="slider" id="401">
- <description>Seek Slider</description>
- <posx>20</posx>
- <posy>47</posy>
- <width>240</width>
- <height>12</height>
- <texturesliderbar>seekslider.png</texturesliderbar>
- <textureslidernib>osd_slider_nib.png</textureslidernib>
- <textureslidernibfocus>osd_slider_nib.png</textureslidernibfocus>
- <visible>Player.Seeking</visible>
- </control>
- </control>
- <control type="group">
- <!-- Chapter Count images -->
- <visible>player.chaptercount</visible>
- <control type="label" id="1">
- <description>Chapter Pos No</description>
- <posx>435</posx>
- <posy>8</posy>
- <width>200</width>
- <height>20</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[21396]</label>
- <visible>player.chaptercount</visible>
- </control>
- <control type="label" id="1">
- <description>Chapter Pos No</description>
- <posx>435</posx>
- <posy>27</posy>
- <width>200</width>
- <height>20</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <label>$INFO[player.chapter]$INFO[player.chaptercount, / ]</label>
- <visible>player.chaptercount</visible>
- </control>
- </control>
- </controls>
+<window id="115"> + <defaultcontrol>1</defaultcontrol> + <visible>[Player.Seeking | Player.DisplayAfterSeek | Player.Paused | Player.Forwarding | Player.Rewinding]</visible> + <animation effect="slide" start="0,80" end="0,0" time="100">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,80" time="100">WindowClose</animation> + <coordinates> + <system>1</system> + <posx>820</posx> + <posy>650</posy> + </coordinates> + <controls> + <control type="group"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>370</width> + <height>80</height> + <texture border="20,20,20,2">InfoMessagePanel.png</texture> + <visible>!player.chaptercount</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>450</width> + <height>80</height> + <texture border="20,20,20,2">InfoMessagePanel.png</texture> + <visible>player.chaptercount</visible> + </control> + <control type="group"> + <posx>260</posx> + <posy>15</posy> + <control type="image"> + <posx>10</posx> + <posy>0</posy> + <width>80</width> + <height>50</height> + <texture>OSDSeekFrame.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>3</posy> + <width>20</width> + <height>44</height> + <texture>OSDSeekRewind.png</texture> + <visible>Player.Rewinding</visible> + </control> + <control type="image"> + <posx>80</posx> + <posy>3</posy> + <width>20</width> + <height>44</height> + <texture>OSDSeekForward.png</texture> + <visible>Player.Forwarding</visible> + </control> + <control type="image"> + <posx>31</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSDPause.png</texture> + <visible>Player.Paused</visible> + </control> + <control type="image"> + <posx>31</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSDPlay.png</texture> + <visible>Player.Playing</visible> + </control> + + <control type="image"> + <posx>28</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD2x.png</texture> + <visible>Player.Rewinding2x</visible> + </control> + <control type="image"> + <posx>25</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD4x.png</texture> + <visible>Player.Rewinding4x</visible> + </control> + <control type="image"> + <posx>22</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD8x.png</texture> + <visible>Player.Rewinding8x</visible> + </control> + <control type="image"> + <posx>19</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD16x.png</texture> + <visible>Player.Rewinding16x</visible> + </control> + <control type="image"> + <posx>17</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD32x.png</texture> + <visible>Player.Rewinding32x</visible> + </control> + + <control type="image"> + <posx>34</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD2x.png</texture> + <visible>Player.Forwarding2x</visible> + </control> + <control type="image"> + <posx>37</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD4x.png</texture> + <visible>Player.Forwarding4x</visible> + </control> + <control type="image"> + <posx>40</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD8x.png</texture> + <visible>Player.Forwarding8x</visible> + </control> + <control type="image"> + <posx>43</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD16x.png</texture> + <visible>Player.Forwarding16x</visible> + </control> + <control type="image"> + <posx>45</posx> + <posy>4</posy> + <width>40</width> + <height>40</height> + <texture>OSD32x.png</texture> + <visible>Player.Forwarding32x</visible> + </control> + </control> + + <control type="label"> + <description>Playing Label</description> + <posx>20</posx> + <posy>8</posy> + <width>240</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[31042]</label> + <visible>Player.Playing + !Player.Seeking + !Player.DisplayAfterSeek</visible> + </control> + <control type="label"> + <description>Paused Label</description> + <posx>20</posx> + <posy>8</posy> + <width>240</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>31043</label> + <visible>[Player.Paused + !Player.Caching] + !Player.Seeking + !Player.DisplayAfterSeek</visible> + </control> + <control type="label"> + <description>Cache Label</description> + <posx>20</posx> + <posy>8</posy> + <width>240</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[15107] $INFO[Player.CacheLevel]%</label> + <visible>[Player.Paused + Player.Caching] + !Player.Seeking</visible> + </control> + <control type="label"> + <description>Seeking Label</description> + <posx>20</posx> + <posy>8</posy> + <width>240</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>[UPPERCASE]$LOCALIZE[773][/UPPERCASE]</label> + <visible>Player.Seeking</visible> + </control> + <control type="label"> + <description>Final Seek amount Label</description> + <posx>20</posx> + <posy>8</posy> + <width>240</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>[UPPERCASE]$LOCALIZE[773][/UPPERCASE][COLOR=grey] $INFO[Player.SeekOffset][/COLOR]</label> + <visible>Player.DisplayAfterSeek + ![player.forwarding | player.rewinding]</visible> + </control> + <control type="label"> + <description>FF Label</description> + <posx>20</posx> + <posy>8</posy> + <width>240</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>31044</label> + <visible>Player.Forwarding</visible> + </control> + <control type="label"> + <description>RW Label</description> + <posx>20</posx> + <posy>8</posy> + <width>240</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>31045</label> + <visible>Player.Rewinding</visible> + </control> + <control type="label"> + <description>Elapsed Time Label</description> + <posx>20</posx> + <posy>27</posy> + <width>240</width> + <height>20</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[Player.Time] - $INFO[Player.Duration]</label> + <visible>!Player.Seeking</visible> + </control> + <control type="label"> + <description>Seek Time Label</description> + <posx>20</posx> + <posy>27</posy> + <width>240</width> + <height>20</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[Player.SeekTime] - $INFO[Player.Duration]</label> + <visible>Player.Seeking</visible> + </control> + <control type="progress" id="23"> + <description>Progressbar</description> + <posx>20</posx> + <posy>50</posy> + <width>240</width> + <height>15</height> + <info>Player.Progress</info> + <visible>true</visible> + </control> + <control type="slider" id="401"> + <description>Seek Slider</description> + <posx>20</posx> + <posy>47</posy> + <width>240</width> + <height>12</height> + <texturesliderbar>seekslider.png</texturesliderbar> + <textureslidernib>osd_slider_nib.png</textureslidernib> + <textureslidernibfocus>osd_slider_nib.png</textureslidernibfocus> + <visible>Player.Seeking</visible> + </control> + </control> + <control type="group"> + <!-- Chapter Count images --> + <visible>player.chaptercount</visible> + <control type="label" id="1"> + <description>Chapter Pos No</description> + <posx>435</posx> + <posy>8</posy> + <width>200</width> + <height>20</height> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[21396]</label> + <visible>player.chaptercount</visible> + </control> + <control type="label" id="1"> + <description>Chapter Pos No</description> + <posx>435</posx> + <posy>27</posy> + <width>200</width> + <height>20</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <label>$INFO[player.chapter]$INFO[player.chaptercount, / ]</label> + <visible>player.chaptercount</visible> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogSelect.xml b/addons/skin.confluence/720p/DialogSelect.xml index bf16cc3f09..fdbb93ce92 100644 --- a/addons/skin.confluence/720p/DialogSelect.xml +++ b/addons/skin.confluence/720p/DialogSelect.xml @@ -1,292 +1,292 @@ -<window type="dialog" id="2000">
- <defaultcontrol always="true">3</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>335</posx>
- <posy>35</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>610</width>
- <height>650</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>10</posy>
- <width>530</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>520</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label" id="1">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>570</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[13406]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="list" id="3">
- <posx>20</posx>
- <posy>60</posy>
- <width>550</width>
- <height>520</height>
- <onup>3</onup>
- <ondown>3</ondown>
- <onleft>5</onleft>
- <onright>61</onright>
- <pagecontrol>61</pagecontrol>
- <scrolltime>200</scrolltime>
- <animation effect="slide" start="0,0" end="10,0" time="0" condition="!Control.IsVisible(61)">Conditional</animation>
- <itemlayout height="40" width="550">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>20</posx>
- <posy>0</posy>
- <width>510</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="550">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(3)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(3)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>20</posx>
- <posy>0</posy>
- <width>510</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="list" id="6">
- <posx>20</posx>
- <posy>60</posy>
- <width>550</width>
- <height>520</height>
- <onup>6</onup>
- <ondown>6</ondown>
- <onleft>5</onleft>
- <onright>61</onright>
- <pagecontrol>61</pagecontrol>
- <scrolltime>200</scrolltime>
- <animation effect="slide" start="0,0" end="10,0" time="0" condition="!Control.IsVisible(61)">Conditional</animation>
- <itemlayout height="80" width="550">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>81</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>2</posy>
- <width>120</width>
- <height>76</height>
- <texture>$INFO[Listitem.Icon]</texture>
- <bordertexture border="3">black-back2.png</bordertexture>
- <bordersize>2</bordersize>
- </control>
- <control type="label">
- <posx>130</posx>
- <posy>0</posy>
- <width>410</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>grey</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>[B]$INFO[ListItem.Label][/B]</label>
- </control>
- <control type="textbox">
- <posx>130</posx>
- <posy>30</posy>
- <width>410</width>
- <height>50</height>
- <font>font12</font>
- <textcolor>grey</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <label>$INFO[ListItem.Property(Addon.Summary)]</label>
- </control>
- </itemlayout>
- <focusedlayout height="80" width="550">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>81</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(6)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>81</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(6)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>2</posy>
- <width>120</width>
- <height>76</height>
- <texture>$INFO[Listitem.Icon]</texture>
- <bordertexture border="3">black-back2.png</bordertexture>
- <bordersize>2</bordersize>
- </control>
- <control type="label">
- <posx>130</posx>
- <posy>0</posy>
- <width>410</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>[B]$INFO[ListItem.Label][/B]</label>
- </control>
- <control type="textbox">
- <posx>130</posx>
- <posy>30</posy>
- <width>410</width>
- <height>50</height>
- <font>font12</font>
- <textcolor>grey</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <label>$INFO[ListItem.Property(Addon.Summary)]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="61">
- <posx>570</posx>
- <posy>60</posy>
- <width>25</width>
- <height>520</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>3</onleft>
- <onright>3</onright>
- <ondown>61</ondown>
- <onup>61</onup>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="label">
- <description>number of files/pages in list text label</description>
- <posx>580</posx>
- <posy>592</posy>
- <width>300</width>
- <height>35</height>
- <font>font12</font>
- <align>right</align>
- <aligny>center</aligny>
- <scroll>true</scroll>
- <textcolor>grey</textcolor>
- <label>([COLOR=blue]$INFO[Container(3).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(3).CurrentPage]/$INFO[Container(3).NumPages][/COLOR])</label>
- <visible>Control.IsVisible(3)</visible>
- </control>
- <control type="label">
- <description>number of files/pages in list text label</description>
- <posx>580</posx>
- <posy>592</posy>
- <width>300</width>
- <height>35</height>
- <font>font12</font>
- <align>right</align>
- <aligny>center</aligny>
- <scroll>true</scroll>
- <textcolor>grey</textcolor>
- <label>([COLOR=blue]$INFO[Container(6).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(6).CurrentPage]/$INFO[Container(6).NumPages][/COLOR])</label>
- <visible>Control.IsVisible(6)</visible>
- </control>
- <control type="button" id="5">
- <description>Manual button</description>
- <posx>20</posx>
- <posy>590</posy>
- <width>200</width>
- <height>40</height>
- <label>186</label>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onleft>61</onleft>
- <onright>3</onright>
- <onup>3</onup>
- <ondown>3</ondown>
- </control>
- </controls>
-</window>
+<window type="dialog" id="2000"> + <defaultcontrol always="true">3</defaultcontrol> + <coordinates> + <system>1</system> + <posx>335</posx> + <posy>35</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>610</width> + <height>650</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>40</posx> + <posy>10</posy> + <width>530</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>520</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>10</onup> + <ondown>10</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label" id="1"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>570</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[13406]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="list" id="3"> + <posx>20</posx> + <posy>60</posy> + <width>550</width> + <height>520</height> + <onup>3</onup> + <ondown>3</ondown> + <onleft>5</onleft> + <onright>61</onright> + <pagecontrol>61</pagecontrol> + <scrolltime>200</scrolltime> + <animation effect="slide" start="0,0" end="10,0" time="0" condition="!Control.IsVisible(61)">Conditional</animation> + <itemlayout height="40" width="550"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>20</posx> + <posy>0</posy> + <width>510</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </itemlayout> + <focusedlayout height="40" width="550"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(3)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(3)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>20</posx> + <posy>0</posy> + <width>510</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </focusedlayout> + </control> + <control type="list" id="6"> + <posx>20</posx> + <posy>60</posy> + <width>550</width> + <height>520</height> + <onup>6</onup> + <ondown>6</ondown> + <onleft>5</onleft> + <onright>61</onright> + <pagecontrol>61</pagecontrol> + <scrolltime>200</scrolltime> + <animation effect="slide" start="0,0" end="10,0" time="0" condition="!Control.IsVisible(61)">Conditional</animation> + <itemlayout height="80" width="550"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>81</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>2</posy> + <width>120</width> + <height>76</height> + <texture>$INFO[Listitem.Icon]</texture> + <bordertexture border="3">black-back2.png</bordertexture> + <bordersize>2</bordersize> + </control> + <control type="label"> + <posx>130</posx> + <posy>0</posy> + <width>410</width> + <height>30</height> + <font>font13</font> + <textcolor>grey</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>[B]$INFO[ListItem.Label][/B]</label> + </control> + <control type="textbox"> + <posx>130</posx> + <posy>30</posy> + <width>410</width> + <height>50</height> + <font>font12</font> + <textcolor>grey</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <label>$INFO[ListItem.Property(Addon.Summary)]</label> + </control> + </itemlayout> + <focusedlayout height="80" width="550"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>81</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(6)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>81</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(6)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>2</posy> + <width>120</width> + <height>76</height> + <texture>$INFO[Listitem.Icon]</texture> + <bordertexture border="3">black-back2.png</bordertexture> + <bordersize>2</bordersize> + </control> + <control type="label"> + <posx>130</posx> + <posy>0</posy> + <width>410</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>[B]$INFO[ListItem.Label][/B]</label> + </control> + <control type="textbox"> + <posx>130</posx> + <posy>30</posy> + <width>410</width> + <height>50</height> + <font>font12</font> + <textcolor>grey</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <label>$INFO[ListItem.Property(Addon.Summary)]</label> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="61"> + <posx>570</posx> + <posy>60</posy> + <width>25</width> + <height>520</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>3</onleft> + <onright>3</onright> + <ondown>61</ondown> + <onup>61</onup> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="label"> + <description>number of files/pages in list text label</description> + <posx>580</posx> + <posy>592</posy> + <width>300</width> + <height>35</height> + <font>font12</font> + <align>right</align> + <aligny>center</aligny> + <scroll>true</scroll> + <textcolor>grey</textcolor> + <label>([COLOR=blue]$INFO[Container(3).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(3).CurrentPage]/$INFO[Container(3).NumPages][/COLOR])</label> + <visible>Control.IsVisible(3)</visible> + </control> + <control type="label"> + <description>number of files/pages in list text label</description> + <posx>580</posx> + <posy>592</posy> + <width>300</width> + <height>35</height> + <font>font12</font> + <align>right</align> + <aligny>center</aligny> + <scroll>true</scroll> + <textcolor>grey</textcolor> + <label>([COLOR=blue]$INFO[Container(6).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(6).CurrentPage]/$INFO[Container(6).NumPages][/COLOR])</label> + <visible>Control.IsVisible(6)</visible> + </control> + <control type="button" id="5"> + <description>Manual button</description> + <posx>20</posx> + <posy>590</posy> + <width>200</width> + <height>40</height> + <label>186</label> + <font>font12_title</font> + <textcolor>white</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onleft>61</onleft> + <onright>3</onright> + <onup>3</onup> + <ondown>3</ondown> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogSlider.xml b/addons/skin.confluence/720p/DialogSlider.xml index fc0833a243..7d4528d88d 100644 --- a/addons/skin.confluence/720p/DialogSlider.xml +++ b/addons/skin.confluence/720p/DialogSlider.xml @@ -1,58 +1,58 @@ -<window id="145">
- <defaultcontrol>11</defaultcontrol>
- <animation effect="slide" start="0,-80" end="0,0" time="100">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,-80" time="100">WindowClose</animation>
- <coordinates>
- <system>1</system>
- <posx>405</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>-10</posy>
- <width>460</width>
- <height>80</height>
- <texture flipy="true" border="20,2,20,20">InfoMessagePanel.png</texture>
- </control>
- <control type="label" id="10">
- <description>Dialog header</description>
- <posx>20</posx>
- <posy>10</posy>
- <width>230</width>
- <height>20</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label" id="12">
- <description>Slider Value</description>
- <posx>440</posx>
- <posy>10</posy>
- <width>220</width>
- <height>20</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- </control>
- <control type="slider" id="11">
- <description>Slider</description>
- <posx>20</posx>
- <posy>35</posy>
- <width>420</width>
- <height>20</height>
- <aligny>center</aligny>
- <texturefocus>-</texturefocus>
- <texturenofocus>-</texturenofocus>
- <texturesliderbar>osd_slider_bg_2.png</texturesliderbar>
- <textureslidernib>osd_slider_nibNF.png</textureslidernib>
- <textureslidernibfocus>osd_slider_nib.png</textureslidernibfocus>
- <onup>11</onup>
- <ondown>11</ondown>
- <onleft>11</onleft>
- <onright>11</onright>
- </control>
- </controls>
-</window>
+<window id="145"> + <defaultcontrol>11</defaultcontrol> + <animation effect="slide" start="0,-80" end="0,0" time="100">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,-80" time="100">WindowClose</animation> + <coordinates> + <system>1</system> + <posx>405</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="image"> + <posx>0</posx> + <posy>-10</posy> + <width>460</width> + <height>80</height> + <texture flipy="true" border="20,2,20,20">InfoMessagePanel.png</texture> + </control> + <control type="label" id="10"> + <description>Dialog header</description> + <posx>20</posx> + <posy>10</posy> + <width>230</width> + <height>20</height> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label" id="12"> + <description>Slider Value</description> + <posx>440</posx> + <posy>10</posy> + <width>220</width> + <height>20</height> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + </control> + <control type="slider" id="11"> + <description>Slider</description> + <posx>20</posx> + <posy>35</posy> + <width>420</width> + <height>20</height> + <aligny>center</aligny> + <texturefocus>-</texturefocus> + <texturenofocus>-</texturenofocus> + <texturesliderbar>osd_slider_bg_2.png</texturesliderbar> + <textureslidernib>osd_slider_nibNF.png</textureslidernib> + <textureslidernibfocus>osd_slider_nib.png</textureslidernibfocus> + <onup>11</onup> + <ondown>11</ondown> + <onleft>11</onleft> + <onright>11</onright> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogSongInfo.xml b/addons/skin.confluence/720p/DialogSongInfo.xml index 6fc2855c55..2d3c036bbb 100644 --- a/addons/skin.confluence/720p/DialogSongInfo.xml +++ b/addons/skin.confluence/720p/DialogSongInfo.xml @@ -1,359 +1,359 @@ -<window id="135">
- <defaultcontrol always="true">10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>185</posx>
- <posy>125</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>!Window.IsVisible(MusicInformation)</visible>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>910</width>
- <height>470</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>260</posx>
- <posy>10</posy>
- <width>620</width>
- <height>448</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>260</posx>
- <posy>10</posy>
- <width>610</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>810</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>3</onleft>
- <onright>3</onright>
- <onup>3</onup>
- <ondown>3</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>280</posx>
- <posy>20</posy>
- <width>580</width>
- <height>30</height>
- <font>font30_title</font>
- <label>$LOCALIZE[658]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>35</posx>
- <posy>40</posy>
- <width>200</width>
- <height>200</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>35</posx>
- <posy>240</posy>
- <width>200</width>
- <height>200</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <description>Song Title value</description>
- <posx>280</posx>
- <posy>80</posy>
- <width>580</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13caps</font>
- <label>[B]$INFO[ListItem.Title][/B]</label>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Artist Title</description>
- <posx>400</posx>
- <posy>140</posy>
- <width>130</width>
- <height>25</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[557]:</label>
- </control>
- <control type="fadelabel">
- <description>Artist Value</description>
- <posx>410</posx>
- <posy>140</posy>
- <width>460</width>
- <height>25</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <label fallback="161">$INFO[ListItem.Artist]</label>
- </control>
- <control type="label">
- <description>Album Title</description>
- <posx>400</posx>
- <posy>175</posy>
- <width>130</width>
- <height>25</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[558]:</label>
- </control>
- <control type="fadelabel">
- <description>Album Value</description>
- <posx>410</posx>
- <posy>175</posy>
- <width>460</width>
- <height>25</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <label fallback="161">$INFO[ListItem.Album]$INFO[musicplayer.discnumber, - $LOCALIZE[427]:]</label>
- </control>
- <control type="label">
- <description>Genre Title</description>
- <posx>400</posx>
- <posy>210</posy>
- <width>130</width>
- <height>25</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[515]:</label>
- </control>
- <control type="fadelabel">
- <description>Genre Value</description>
- <posx>410</posx>
- <posy>210</posy>
- <width>460</width>
- <height>25</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <label fallback="161">$INFO[ListItem.Genre]</label>
- </control>
- <control type="label">
- <description>Year Title</description>
- <posx>400</posx>
- <posy>245</posy>
- <width>130</width>
- <height>25</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[562]:</label>
- </control>
- <control type="fadelabel">
- <description>Year Value</description>
- <posx>410</posx>
- <posy>245</posy>
- <width>460</width>
- <height>25</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <label fallback="161">$INFO[ListItem.Year]</label>
- </control>
- <control type="label">
- <description>Track Number Title</description>
- <posx>400</posx>
- <posy>280</posy>
- <width>130</width>
- <height>25</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[554]:</label>
- </control>
- <control type="fadelabel">
- <description>Track Number Value</description>
- <posx>410</posx>
- <posy>280</posy>
- <width>460</width>
- <height>25</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <label fallback="161">$INFO[ListItem.TrackNumber]</label>
- </control>
- <control type="label">
- <description>Rating Title</description>
- <posx>400</posx>
- <posy>315</posy>
- <width>130</width>
- <height>25</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[563]:</label>
- </control>
- <control type="group">
- <posx>410</posx>
- <posy>313</posy>
- <control type="image">
- <description>Rating value</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>160</width>
- <height>32</height>
- <texture>LeftRating/$INFO[ListItem.StarRating]</texture>
- </control>
- <control type="button" id="14">
- <description>Decrease Rating</description>
- <posx>170</posx>
- <posy>5</posy>
- <width>33</width>
- <height>22</height>
- <onclick>DecreaseRating</onclick>
- <texturenofocus>scroll-down-2.png</texturenofocus>
- <texturefocus>scroll-down-focus-2.png</texturefocus>
- <onleft>9000</onleft>
- <onright>15</onright>
- <ondown>14</ondown>
- <onup>14</onup>
- </control>
- <control type="button" id="15">
- <description>Increase Rating</description>
- <posx>203</posx>
- <posy>5</posy>
- <width>33</width>
- <height>22</height>
- <onclick>IncreaseRating</onclick>
- <texturenofocus>scroll-up-2.png</texturenofocus>
- <texturefocus>scroll-up-focus-2.png</texturefocus>
- <onleft>14</onleft>
- <onright>15</onright>
- <ondown>15</ondown>
- <onup>15</onup>
- </control>
- </control>
- <control type="label">
- <description>Comment Title</description>
- <posx>400</posx>
- <posy>350</posy>
- <width>130</width>
- <height>25</height>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[569]:</label>
- </control>
- <control type="textbox">
- <description>Comment value</description>
- <posx>410</posx>
- <posy>345</posy>
- <width>460</width>
- <height>100</height>
- <font>font13</font>
- <pagecontrol>-</pagecontrol>
- <label fallback="161">$INFO[ListItem.Comment]</label>
- </control>
- <control type="group" id="9000">
- <posx>10</posx>
- <posy>280</posy>
- <control type="button" id ="10">
- <description>Ok button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>240</width>
- <height>41</height>
- <label>186</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <texturefocus>MenuItemFO.png</texturefocus>
- <onleft>10</onleft>
- <onright>14</onright>
- <onup>13</onup>
- <ondown>11</ondown>
- </control>
- <control type="button" id="11">
- <description>Cancel button</description>
- <posx>0</posx>
- <posy>40</posy>
- <width>240</width>
- <height>41</height>
- <label>222</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <texturefocus>MenuItemFO.png</texturefocus>
- <onleft>11</onleft>
- <onright>14</onright>
- <onup>10</onup>
- <ondown>12</ondown>
- </control>
- <control type="button" id="12">
- <description>Album Info button</description>
- <posx>0</posx>
- <posy>80</posy>
- <width>240</width>
- <height>41</height>
- <label>10523</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <texturefocus>MenuItemFO.png</texturefocus>
- <onleft>12</onleft>
- <onright>14</onright>
- <onup>11</onup>
- <ondown>13</ondown>
- </control>
- <control type="button" id ="13">
- <description>Get Thumb button</description>
- <posx>0</posx>
- <posy>120</posy>
- <width>240</width>
- <height>41</height>
- <label>13405</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <texturefocus>MenuItemFO.png</texturefocus>
- <onleft>13</onleft>
- <onright>14</onright>
- <onup>12</onup>
- <ondown>10</ondown>
- </control>
- </control>
- </control>
- </controls>
+<window id="135"> + <defaultcontrol always="true">10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>185</posx> + <posy>125</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>!Window.IsVisible(MusicInformation)</visible> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>910</width> + <height>470</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>260</posx> + <posy>10</posy> + <width>620</width> + <height>448</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>260</posx> + <posy>10</posy> + <width>610</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>810</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>3</onleft> + <onright>3</onright> + <onup>3</onup> + <ondown>3</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>280</posx> + <posy>20</posy> + <width>580</width> + <height>30</height> + <font>font30_title</font> + <label>$LOCALIZE[658]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>35</posx> + <posy>40</posy> + <width>200</width> + <height>200</height> + <aspectratio aligny="bottom">keep</aspectratio> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>35</posx> + <posy>240</posy> + <width>200</width> + <height>200</height> + <aspectratio aligny="top">keep</aspectratio> + <texture flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <description>Song Title value</description> + <posx>280</posx> + <posy>80</posy> + <width>580</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <font>font13caps</font> + <label>[B]$INFO[ListItem.Title][/B]</label> + <textcolor>white</textcolor> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Artist Title</description> + <posx>400</posx> + <posy>140</posy> + <width>130</width> + <height>25</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[557]:</label> + </control> + <control type="fadelabel"> + <description>Artist Value</description> + <posx>410</posx> + <posy>140</posy> + <width>460</width> + <height>25</height> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <label fallback="161">$INFO[ListItem.Artist]</label> + </control> + <control type="label"> + <description>Album Title</description> + <posx>400</posx> + <posy>175</posy> + <width>130</width> + <height>25</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[558]:</label> + </control> + <control type="fadelabel"> + <description>Album Value</description> + <posx>410</posx> + <posy>175</posy> + <width>460</width> + <height>25</height> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <label fallback="161">$INFO[ListItem.Album]$INFO[musicplayer.discnumber, - $LOCALIZE[427]:]</label> + </control> + <control type="label"> + <description>Genre Title</description> + <posx>400</posx> + <posy>210</posy> + <width>130</width> + <height>25</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[515]:</label> + </control> + <control type="fadelabel"> + <description>Genre Value</description> + <posx>410</posx> + <posy>210</posy> + <width>460</width> + <height>25</height> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <label fallback="161">$INFO[ListItem.Genre]</label> + </control> + <control type="label"> + <description>Year Title</description> + <posx>400</posx> + <posy>245</posy> + <width>130</width> + <height>25</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[562]:</label> + </control> + <control type="fadelabel"> + <description>Year Value</description> + <posx>410</posx> + <posy>245</posy> + <width>460</width> + <height>25</height> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <label fallback="161">$INFO[ListItem.Year]</label> + </control> + <control type="label"> + <description>Track Number Title</description> + <posx>400</posx> + <posy>280</posy> + <width>130</width> + <height>25</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[554]:</label> + </control> + <control type="fadelabel"> + <description>Track Number Value</description> + <posx>410</posx> + <posy>280</posy> + <width>460</width> + <height>25</height> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <label fallback="161">$INFO[ListItem.TrackNumber]</label> + </control> + <control type="label"> + <description>Rating Title</description> + <posx>400</posx> + <posy>315</posy> + <width>130</width> + <height>25</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[563]:</label> + </control> + <control type="group"> + <posx>410</posx> + <posy>313</posy> + <control type="image"> + <description>Rating value</description> + <posx>0</posx> + <posy>0</posy> + <width>160</width> + <height>32</height> + <texture>LeftRating/$INFO[ListItem.StarRating]</texture> + </control> + <control type="button" id="14"> + <description>Decrease Rating</description> + <posx>170</posx> + <posy>5</posy> + <width>33</width> + <height>22</height> + <onclick>DecreaseRating</onclick> + <texturenofocus>scroll-down-2.png</texturenofocus> + <texturefocus>scroll-down-focus-2.png</texturefocus> + <onleft>9000</onleft> + <onright>15</onright> + <ondown>14</ondown> + <onup>14</onup> + </control> + <control type="button" id="15"> + <description>Increase Rating</description> + <posx>203</posx> + <posy>5</posy> + <width>33</width> + <height>22</height> + <onclick>IncreaseRating</onclick> + <texturenofocus>scroll-up-2.png</texturenofocus> + <texturefocus>scroll-up-focus-2.png</texturefocus> + <onleft>14</onleft> + <onright>15</onright> + <ondown>15</ondown> + <onup>15</onup> + </control> + </control> + <control type="label"> + <description>Comment Title</description> + <posx>400</posx> + <posy>350</posy> + <width>130</width> + <height>25</height> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[569]:</label> + </control> + <control type="textbox"> + <description>Comment value</description> + <posx>410</posx> + <posy>345</posy> + <width>460</width> + <height>100</height> + <font>font13</font> + <pagecontrol>-</pagecontrol> + <label fallback="161">$INFO[ListItem.Comment]</label> + </control> + <control type="group" id="9000"> + <posx>10</posx> + <posy>280</posy> + <control type="button" id ="10"> + <description>Ok button</description> + <posx>0</posx> + <posy>0</posy> + <width>240</width> + <height>41</height> + <label>186</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus>MenuItemNF.png</texturenofocus> + <texturefocus>MenuItemFO.png</texturefocus> + <onleft>10</onleft> + <onright>14</onright> + <onup>13</onup> + <ondown>11</ondown> + </control> + <control type="button" id="11"> + <description>Cancel button</description> + <posx>0</posx> + <posy>40</posy> + <width>240</width> + <height>41</height> + <label>222</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus>MenuItemNF.png</texturenofocus> + <texturefocus>MenuItemFO.png</texturefocus> + <onleft>11</onleft> + <onright>14</onright> + <onup>10</onup> + <ondown>12</ondown> + </control> + <control type="button" id="12"> + <description>Album Info button</description> + <posx>0</posx> + <posy>80</posy> + <width>240</width> + <height>41</height> + <label>10523</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus>MenuItemNF.png</texturenofocus> + <texturefocus>MenuItemFO.png</texturefocus> + <onleft>12</onleft> + <onright>14</onright> + <onup>11</onup> + <ondown>13</ondown> + </control> + <control type="button" id ="13"> + <description>Get Thumb button</description> + <posx>0</posx> + <posy>120</posy> + <width>240</width> + <height>41</height> + <label>13405</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus>MenuItemNF.png</texturenofocus> + <texturefocus>MenuItemFO.png</texturefocus> + <onleft>13</onleft> + <onright>14</onright> + <onup>12</onup> + <ondown>10</ondown> + </control> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogTextViewer.xml b/addons/skin.confluence/720p/DialogTextViewer.xml index d88b3dcc85..23ad90a5e1 100644 --- a/addons/skin.confluence/720p/DialogTextViewer.xml +++ b/addons/skin.confluence/720p/DialogTextViewer.xml @@ -1,81 +1,81 @@ -<window id="147">
- <defaultcontrol>61</defaultcontrol>
- <controls>
- <control type="group">
- <animation effect="slide" start="1100,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="1100,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>180</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>200</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>61</onleft>
- <onright>61</onright>
- <onup>61</onup>
- <ondown>61</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="group">
- <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation>
- <animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
- <control type="label" id="1">
- <description>header label</description>
- <posx>210</posx>
- <posy>50</posy>
- <width>1030</width>
- <height>30</height>
- <font>font35_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="textbox" id="5">
- <description>textarea</description>
- <posx>210</posx>
- <posy>90</posy>
- <width>1000</width>
- <height>600</height>
- <label>-</label>
- <font>font13</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <pagecontrol>61</pagecontrol>
- </control>
- <control type="scrollbar" id="61">
- <posx>1215</posx>
- <posy>90</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>61</onleft>
- <onright>61</onright>
- <ondown>61</ondown>
- <onup>61</onup>
- <showonepage>true</showonepage>
- <orientation>vertical</orientation>
- </control>
- </control>
- </control>
- <include>SideBladeRight</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="147"> + <defaultcontrol>61</defaultcontrol> + <controls> + <control type="group"> + <animation effect="slide" start="1100,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="1100,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>180</posx> + <posy>0</posy> + <width>1100</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>200</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>61</onleft> + <onright>61</onright> + <onup>61</onup> + <ondown>61</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="group"> + <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation> + <animation effect="fade" start="100" end="0" time="200">WindowClose</animation> + <control type="label" id="1"> + <description>header label</description> + <posx>210</posx> + <posy>50</posy> + <width>1030</width> + <height>30</height> + <font>font35_title</font> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="textbox" id="5"> + <description>textarea</description> + <posx>210</posx> + <posy>90</posy> + <width>1000</width> + <height>600</height> + <label>-</label> + <font>font13</font> + <align>justify</align> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <pagecontrol>61</pagecontrol> + </control> + <control type="scrollbar" id="61"> + <posx>1215</posx> + <posy>90</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>61</onleft> + <onright>61</onright> + <ondown>61</ondown> + <onup>61</onup> + <showonepage>true</showonepage> + <orientation>vertical</orientation> + </control> + </control> + </control> + <include>SideBladeRight</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogVideoInfo.xml b/addons/skin.confluence/720p/DialogVideoInfo.xml index 29a670a194..b0053335fe 100644 --- a/addons/skin.confluence/720p/DialogVideoInfo.xml +++ b/addons/skin.confluence/720p/DialogVideoInfo.xml @@ -1,1135 +1,1135 @@ -<window id="2003">
- <defaultcontrol always="true">8</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <control type="group">
- <visible>!Window.IsVisible(FileBrowser)</visible>
- <animation effect="slide" start="1100,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="1100,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>180</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>230</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="group">
- <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation>
- <animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
- <control type="label">
- <description>header label</description>
- <posx>210</posx>
- <posy>50</posy>
- <width>1030</width>
- <height>30</height>
- <font>font35_title</font>
- <label>$INFO[Listitem.Title]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>210</posx>
- <posy>480</posy>
- <width>600</width>
- <align>left</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VisibleFadeEffect</include>
- <visible>!Control.IsVisible(50) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)]</visible>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- </control>
- <control type="group">
- <visible>Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>387</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <description>Current Fanart image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <aspectratio>keep</aspectratio>
- <visible>!IsEmpty(Listitem.Property(Fanart_Image))</visible>
- </control>
- <control type="group">
- <visible>IsEmpty(Listitem.Property(Fanart_Image))</visible>
- <control type="image">
- <description>No Fanart Back</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <texture>Fanart_Fallback_Small.jpg</texture>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <aspectratio>stretch</aspectratio>
- <colordiffuse>99FFFFFF</colordiffuse>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <font>font30_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>31311</label>
- </control>
- </control>
- </control>
- <control type="group">
- <posy>90</posy>
- <posx>387</posx>
- <visible>Control.HasFocus(15)</visible>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <description>Border</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="image">
- <description>background</description>
- <posx>5</posx>
- <posy>5</posy>
- <width>665</width>
- <height>370</height>
- <texture>black-back.png</texture>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>675</width>
- <height>380</height>
- <font>font30_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>31330</label>
- <visible>!Player.HasVideo</visible>
- </control>
- <control type="videowindow">
- <description>No Fanart Back</description>
- <posx>5</posx>
- <posy>5</posy>
- <width>665</width>
- <height>370</height>
- <visible>Player.HasVideo</visible>
- </control>
- </control>
- <control type="group">
- <visible>[!container.content(tvshows) + !container.content(episodes) + !container.content(musicvideos)] + ![Control.HasFocus(12) | Control.HasFocus(15)]</visible>
- <posy>90</posy>
- <posx>210</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>270</width>
- <height>380</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>4</posx>
- <posy>4</posy>
- <width>200</width>
- <height>230</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="list" id="49">
- <posx>290</posx>
- <posy>20</posy>
- <width>740</width>
- <height>330</height>
- <onleft>49</onleft>
- <onright>49</onright>
- <onup>9000</onup>
- <ondown>61</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30">
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>565</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>740</width>
- <height>30</height>
- <visible>Control.HasFocus(49)</visible>
- <texture>MenuItemFO.png</texture>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>565</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- <content>
- <item>
- <label>$LOCALIZE[20376]:</label>
- <label2>$INFO[ListItem.OriginalTitle]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.OriginalTitle) + !stringcompare(ListItem.OriginalTitle,Listitem.Title)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20339]:</label>
- <label2>$INFO[ListItem.Director]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Director)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20417]:</label>
- <label2>$INFO[ListItem.Writer]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Writer)</visible>
- </item>
- <item>
- <label>$LOCALIZE[572]:</label>
- <label2>$INFO[ListItem.Studio]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Studio)</visible>
- </item>
- <item>
- <label>$LOCALIZE[515]:</label>
- <label2>$INFO[ListItem.Genre]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Genre)</visible>
- </item>
- <item>
- <label>$LOCALIZE[562]:</label>
- <label2>$INFO[ListItem.Year]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Year)</visible>
- </item>
- <item>
- <label>$LOCALIZE[2050]:</label>
- <label2>$INFO[ListItem.Duration] $LOCALIZE[12391]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Duration)</visible>
- </item>
- <item>
- <label>$LOCALIZE[563]:</label>
- <label2>$INFO[ListItem.RatingAndVotes]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.RatingAndVotes)</visible>
- </item>
- <item>
- <label>$LOCALIZE[202]:</label>
- <label2>$INFO[ListItem.TagLine]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.TagLine)</visible>
- </item>
- <item>
- <label>$LOCALIZE[203]:</label>
- <label2>$INFO[ListItem.PlotOutline]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.PlotOutline)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20074]:</label>
- <label2>$INFO[ListItem.mpaa]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.mpaa)</visible>
- </item>
- <item>
- <label>$LOCALIZE[15311]</label>
- <label2>$INFO[ListItem.FilenameAndPath]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.FilenameAndPath)</visible>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>290</posx>
- <posy>370</posy>
- <width>740</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <visible>[Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)] + !Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>210</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>177</posx>
- <posy>10</posy>
- <width>675</width>
- <height>124</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>177</posx>
- <posy>10</posy>
- <width>400</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="list" id="49">
- <posx>95</posx>
- <posy>160</posy>
- <width>840</width>
- <height>180</height>
- <onleft>49</onleft>
- <onright>49</onright>
- <onup>9000</onup>
- <ondown>61</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30">
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>665</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>840</width>
- <height>30</height>
- <visible>Control.HasFocus(49)</visible>
- <texture>MenuItemFO.png</texture>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>665</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- <content>
- <item>
- <label>$LOCALIZE[20360]:</label>
- <label2>$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Episode)</visible>
- </item>
- <item>
- <label>$LOCALIZE[31322]:</label>
- <label2>$INFO[ListItem.Premiered]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Premiered)</visible>
- </item>
- <item>
- <label>$LOCALIZE[515]:</label>
- <label2>$INFO[ListItem.Genre]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Genre)</visible>
- </item>
- <item>
- <label>$LOCALIZE[562]:</label>
- <label2>$INFO[ListItem.Year]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Year)</visible>
- </item>
- <item>
- <label>$LOCALIZE[563]:</label>
- <label2>$INFO[ListItem.Rating]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Rating)</visible>
- </item>
- <item>
- <label>$LOCALIZE[15311]</label>
- <label2>$INFO[ListItem.FilenameAndPath]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.FilenameAndPath)</visible>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>370</posy>
- <width>1030</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <visible>[Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)] + !Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>210</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>270</width>
- <height>380</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>4</posx>
- <posy>4</posy>
- <width>200</width>
- <height>230</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="list" id="49">
- <posx>290</posx>
- <posy>20</posy>
- <width>740</width>
- <height>330</height>
- <onleft>49</onleft>
- <onright>49</onright>
- <onup>9000</onup>
- <ondown>61</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30">
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>565</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>740</width>
- <height>30</height>
- <visible>Control.HasFocus(49)</visible>
- <texture>MenuItemFO.png</texture>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>565</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- <content>
- <item>
- <label>$LOCALIZE[20360]:</label>
- <label2>$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Episode)</visible>
- </item>
- <item>
- <label>$LOCALIZE[31322]:</label>
- <label2>$INFO[ListItem.Premiered]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Premiered)</visible>
- </item>
- <item>
- <label>$LOCALIZE[515]:</label>
- <label2>$INFO[ListItem.Genre]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Genre)</visible>
- </item>
- <item>
- <label>$LOCALIZE[562]:</label>
- <label2>$INFO[ListItem.Year]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Year)</visible>
- </item>
- <item>
- <label>$LOCALIZE[563]:</label>
- <label2>$INFO[ListItem.Rating]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Rating)</visible>
- </item>
- <item>
- <label>$LOCALIZE[15311]</label>
- <label2>$INFO[ListItem.FilenameAndPath]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.FilenameAndPath)</visible>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>290</posx>
- <posy>370</posy>
- <width>740</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <visible>container.content(episodes) + !Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>210</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>380</width>
- <height>250</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>250</posy>
- <width>380</width>
- <height>250</height>
- <aspectratio aligny="top">keep</aspectratio>
- <bordertexture border="5" flipy="true" diffuse="diffuse_mirror2.png">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="list" id="49">
- <posx>390</posx>
- <posy>20</posy>
- <width>640</width>
- <height>330</height>
- <onleft>49</onleft>
- <onright>49</onright>
- <onup>9000</onup>
- <ondown>61</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30">
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>465</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>30</height>
- <visible>Control.HasFocus(49)</visible>
- <texture>MenuItemFO.png</texture>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>465</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- <content>
- <item>
- <label>$LOCALIZE[20364]:</label>
- <label2>$INFO[ListItem.TVShowTitle]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.TVShowTitle)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20373]:</label>
- <label2>$INFO[ListItem.Season]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Season)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20359]:</label>
- <label2>$INFO[ListItem.Episode]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Episode)</visible>
- </item>
- <item>
- <label>$LOCALIZE[31322]:</label>
- <label2>$INFO[ListItem.Premiered]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Premiered)</visible>
- </item>
- <item>
- <label>$LOCALIZE[515]:</label>
- <label2>$INFO[ListItem.Genre]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Genre)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20339]:</label>
- <label2>$INFO[ListItem.Director]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Director)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20417]:</label>
- <label2>$INFO[ListItem.Writer]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Writer)</visible>
- </item>
- <item>
- <label>$LOCALIZE[562]:</label>
- <label2>$INFO[ListItem.Year]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Year)</visible>
- </item>
- <item>
- <label>$LOCALIZE[2050]:</label>
- <label2>$INFO[ListItem.Duration] $LOCALIZE[12391]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Duration)</visible>
- </item>
- <item>
- <label>$LOCALIZE[563]:</label>
- <label2>$INFO[ListItem.Rating]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Rating)</visible>
- </item>
- <item>
- <label>$LOCALIZE[15311]</label>
- <label2>$INFO[ListItem.FilenameAndPath]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.FilenameAndPath)</visible>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>290</posx>
- <posy>370</posy>
- <width>740</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <visible>container.content(musicvideos) + !Control.HasFocus(12)</visible>
- <posy>90</posy>
- <posx>210</posx>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>380</width>
- <height>360</height>
- <aspectratio>keep</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="list" id="49">
- <posx>390</posx>
- <posy>20</posy>
- <width>640</width>
- <height>330</height>
- <onleft>49</onleft>
- <onright>49</onright>
- <onup>9000</onup>
- <ondown>61</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30">
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>465</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>30</height>
- <visible>Control.HasFocus(49)</visible>
- <texture>MenuItemFO.png</texture>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>165</posx>
- <posy>0</posy>
- <width>160</width>
- <height>30</height>
- <font>font13_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>175</posx>
- <posy>0</posy>
- <width>465</width>
- <height>30</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- <content>
- <item>
- <label>$LOCALIZE[557]:</label>
- <label2>$INFO[ListItem.Artist]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Artist)</visible>
- </item>
- <item>
- <label>$LOCALIZE[558]:</label>
- <label2>$INFO[ListItem.Album]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Album)</visible>
- </item>
- <item>
- <label>$LOCALIZE[515]:</label>
- <label2>$INFO[ListItem.Genre]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Genre)</visible>
- </item>
- <item>
- <label>$LOCALIZE[572]:</label>
- <label2>$INFO[ListItem.Studio]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Studio)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20417]:</label>
- <label2>$INFO[ListItem.Writer]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Writer)</visible>
- </item>
- <item>
- <label>$LOCALIZE[20339]:</label>
- <label2>$INFO[ListItem.Director]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Director)</visible>
- </item>
- <item>
- <label>$LOCALIZE[562]:</label>
- <label2>$INFO[ListItem.Year]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Year)</visible>
- </item>
- <item>
- <label>$LOCALIZE[2050]:</label>
- <label2>$INFO[ListItem.Duration] $LOCALIZE[12391]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.Duration)</visible>
- </item>
- <item>
- <label>$LOCALIZE[15311]</label>
- <label2>$INFO[ListItem.FilenameAndPath]</label2>
- <onclick>-</onclick>
- <visible>!IsEmpty(ListItem.FilenameAndPath)</visible>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>390</posx>
- <posy>370</posy>
- <width>640</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="label">
- <posx>130r</posx>
- <posy>480</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>[COLOR=blue]$LOCALIZE[207][/COLOR]$INFO[Container(400).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(400).NumPages,/, )]</label>
- <visible>Control.IsVisible(400)</visible>
- </control>
- <control type="label">
- <posx>130r</posx>
- <posy>480</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>[COLOR=blue]$LOCALIZE[206][/COLOR]$INFO[Container(50).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(50).NumPages,/, )]</label>
- <visible>Control.IsVisible(50)</visible>
- </control>
- <control type="spincontrol" id="61">
- <description>Next page button</description>
- <posx>120r</posx>
- <posy>485</posy>
- <subtype>page</subtype>
- <font>-</font>
- <onleft>61</onleft>
- <onright>61</onright>
- <ondown>9000</ondown>
- <onup>49</onup>
- <textcolor>-</textcolor>
- <showonepage>true</showonepage>
- </control>
- <control type="textbox" id="400">
- <description>Description Value for Movies</description>
- <posx>210</posx>
- <posy>515</posy>
- <width>1030</width>
- <height>120</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <pagecontrol>61</pagecontrol>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="3000" delay="4000" repeat="5000">!Control.HasFocus(61) + Skin.HasSetting(AutoScroll)</autoscroll>
- <visible>!Control.IsVisible(50)</visible>
- </control>
- <control type="image">
- <description>Actor image</description>
- <posx>210</posx>
- <posy>480</posy>
- <width>160</width>
- <height>160</height>
- <texture>$INFO[Container(50).Listitem.Icon]</texture>
- <aspectratio>keep</aspectratio>
- <visible>Control.IsVisible(50)</visible>
- </control>
- <control type="panel" id="50">
- <posx>380</posx>
- <posy>520</posy>
- <width>860</width>
- <height>120</height>
- <onleft>9000</onleft>
- <onright>61</onright>
- <onup>61</onup>
- <ondown>9000</ondown>
- <viewtype label="">list</viewtype>
- <pagecontrol>61</pagecontrol>
- <scrolltime>200</scrolltime>
- <orientation>vertical</orientation>
- <itemlayout height="40" width="430">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>410</width>
- <height>40</height>
- <font>font12</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="430">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <visible>!Control.HasFocus(50)</visible>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>430</width>
- <height>40</height>
- <visible>Control.HasFocus(50)</visible>
- <texture border="5">button-focus.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>410</width>
- <height>40</height>
- <font>font12</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>white</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="grouplist" id="9000">
- <posx>210</posx>
- <posy>660</posy>
- <width>1030</width>
- <height>40</height>
- <itemgap>2</itemgap>
- <align>center</align>
- <orientation>horizontal</orientation>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>50</onup>
- <ondown>49</ondown>
- <control type="togglebutton" id="8">
- <description>Play/browse to Show</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>208</label>
- <alttexturefocus border="2">button-focus.png</alttexturefocus>
- <alttexturenofocus border="2">button-nofocus.png</alttexturenofocus>
- <altlabel>1024</altlabel>
- <usealttexture>Container.Content(TVShows)</usealttexture>
- </control>
- <control type="button" id="5">
- <description>Cast/Review</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>206</label>
- </control>
- <control type="button" id="6">
- <description>Refresh</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>184</label>
- </control>
- <control type="button" id="10">
- <description>Get Thumb</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>13405</label>
- </control>
- <control type="button" id="12">
- <description>Get Fanart</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>20413</label>
- </control>
- <control type="button" id="11">
- <description>Play Trailer</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>20410</label>
- <visible>!IsEmpty(ListItem.Trailer) + !Skin.HasSetting(WindowedTrailer)</visible>
- </control>
- <control type="button" id="15">
- <description>Play Trailer Windowed</description>
- <include>ButtonInfoDialogsCommonValues</include>
- <label>20410</label>
- <onclick>PlayMedia($INFO[ListItem.Trailer],1)</onclick>
- <visible>!IsEmpty(ListItem.Trailer) + Skin.HasSetting(WindowedTrailer)</visible>
- </control>
- </control>
- </control>
- </control>
- <include>SideBladeRight</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="2003"> + <defaultcontrol always="true">8</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <control type="group"> + <visible>!Window.IsVisible(FileBrowser)</visible> + <animation effect="slide" start="1100,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="1100,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>180</posx> + <posy>0</posy> + <width>1100</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>230</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>9000</onup> + <ondown>9000</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="group"> + <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation> + <animation effect="fade" start="100" end="0" time="200">WindowClose</animation> + <control type="label"> + <description>header label</description> + <posx>210</posx> + <posy>50</posy> + <width>1030</width> + <height>30</height> + <font>font35_title</font> + <label>$INFO[Listitem.Title]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>210</posx> + <posy>480</posy> + <width>600</width> + <align>left</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VisibleFadeEffect</include> + <visible>!Control.IsVisible(50) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)]</visible> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + </control> + <control type="group"> + <visible>Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>387</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <description>Current Fanart image</description> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <aspectratio>keep</aspectratio> + <visible>!IsEmpty(Listitem.Property(Fanart_Image))</visible> + </control> + <control type="group"> + <visible>IsEmpty(Listitem.Property(Fanart_Image))</visible> + <control type="image"> + <description>No Fanart Back</description> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <texture>Fanart_Fallback_Small.jpg</texture> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <aspectratio>stretch</aspectratio> + <colordiffuse>99FFFFFF</colordiffuse> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <font>font30_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <align>center</align> + <aligny>center</aligny> + <label>31311</label> + </control> + </control> + </control> + <control type="group"> + <posy>90</posy> + <posx>387</posx> + <visible>Control.HasFocus(15)</visible> + <include>VisibleFadeEffect</include> + <control type="image"> + <description>Border</description> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="image"> + <description>background</description> + <posx>5</posx> + <posy>5</posy> + <width>665</width> + <height>370</height> + <texture>black-back.png</texture> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>675</width> + <height>380</height> + <font>font30_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <align>center</align> + <aligny>center</aligny> + <label>31330</label> + <visible>!Player.HasVideo</visible> + </control> + <control type="videowindow"> + <description>No Fanart Back</description> + <posx>5</posx> + <posy>5</posy> + <width>665</width> + <height>370</height> + <visible>Player.HasVideo</visible> + </control> + </control> + <control type="group"> + <visible>[!container.content(tvshows) + !container.content(episodes) + !container.content(musicvideos)] + ![Control.HasFocus(12) | Control.HasFocus(15)]</visible> + <posy>90</posy> + <posx>210</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>270</width> + <height>380</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>4</posx> + <posy>4</posy> + <width>200</width> + <height>230</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="list" id="49"> + <posx>290</posx> + <posy>20</posy> + <width>740</width> + <height>330</height> + <onleft>49</onleft> + <onright>49</onright> + <onup>9000</onup> + <ondown>61</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30"> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>565</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>740</width> + <height>30</height> + <visible>Control.HasFocus(49)</visible> + <texture>MenuItemFO.png</texture> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>565</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + <content> + <item> + <label>$LOCALIZE[20376]:</label> + <label2>$INFO[ListItem.OriginalTitle]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.OriginalTitle) + !stringcompare(ListItem.OriginalTitle,Listitem.Title)</visible> + </item> + <item> + <label>$LOCALIZE[20339]:</label> + <label2>$INFO[ListItem.Director]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Director)</visible> + </item> + <item> + <label>$LOCALIZE[20417]:</label> + <label2>$INFO[ListItem.Writer]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Writer)</visible> + </item> + <item> + <label>$LOCALIZE[572]:</label> + <label2>$INFO[ListItem.Studio]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Studio)</visible> + </item> + <item> + <label>$LOCALIZE[515]:</label> + <label2>$INFO[ListItem.Genre]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Genre)</visible> + </item> + <item> + <label>$LOCALIZE[562]:</label> + <label2>$INFO[ListItem.Year]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Year)</visible> + </item> + <item> + <label>$LOCALIZE[2050]:</label> + <label2>$INFO[ListItem.Duration] $LOCALIZE[12391]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Duration)</visible> + </item> + <item> + <label>$LOCALIZE[563]:</label> + <label2>$INFO[ListItem.RatingAndVotes]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.RatingAndVotes)</visible> + </item> + <item> + <label>$LOCALIZE[202]:</label> + <label2>$INFO[ListItem.TagLine]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.TagLine)</visible> + </item> + <item> + <label>$LOCALIZE[203]:</label> + <label2>$INFO[ListItem.PlotOutline]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.PlotOutline)</visible> + </item> + <item> + <label>$LOCALIZE[20074]:</label> + <label2>$INFO[ListItem.mpaa]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.mpaa)</visible> + </item> + <item> + <label>$LOCALIZE[15311]</label> + <label2>$INFO[ListItem.FilenameAndPath]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.FilenameAndPath)</visible> + </item> + </content> + </control> + <control type="image"> + <posx>290</posx> + <posy>370</posy> + <width>740</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <visible>[Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)] + !Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>210</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>177</posx> + <posy>10</posy> + <width>675</width> + <height>124</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>177</posx> + <posy>10</posy> + <width>400</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="list" id="49"> + <posx>95</posx> + <posy>160</posy> + <width>840</width> + <height>180</height> + <onleft>49</onleft> + <onright>49</onright> + <onup>9000</onup> + <ondown>61</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30"> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>665</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>840</width> + <height>30</height> + <visible>Control.HasFocus(49)</visible> + <texture>MenuItemFO.png</texture> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>665</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + <content> + <item> + <label>$LOCALIZE[20360]:</label> + <label2>$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Episode)</visible> + </item> + <item> + <label>$LOCALIZE[31322]:</label> + <label2>$INFO[ListItem.Premiered]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Premiered)</visible> + </item> + <item> + <label>$LOCALIZE[515]:</label> + <label2>$INFO[ListItem.Genre]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Genre)</visible> + </item> + <item> + <label>$LOCALIZE[562]:</label> + <label2>$INFO[ListItem.Year]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Year)</visible> + </item> + <item> + <label>$LOCALIZE[563]:</label> + <label2>$INFO[ListItem.Rating]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Rating)</visible> + </item> + <item> + <label>$LOCALIZE[15311]</label> + <label2>$INFO[ListItem.FilenameAndPath]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.FilenameAndPath)</visible> + </item> + </content> + </control> + <control type="image"> + <posx>0</posx> + <posy>370</posy> + <width>1030</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <visible>[Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)] + !Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>210</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>270</width> + <height>380</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>4</posx> + <posy>4</posy> + <width>200</width> + <height>230</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="list" id="49"> + <posx>290</posx> + <posy>20</posy> + <width>740</width> + <height>330</height> + <onleft>49</onleft> + <onright>49</onright> + <onup>9000</onup> + <ondown>61</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30"> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>565</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>740</width> + <height>30</height> + <visible>Control.HasFocus(49)</visible> + <texture>MenuItemFO.png</texture> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>565</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + <content> + <item> + <label>$LOCALIZE[20360]:</label> + <label2>$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Episode)</visible> + </item> + <item> + <label>$LOCALIZE[31322]:</label> + <label2>$INFO[ListItem.Premiered]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Premiered)</visible> + </item> + <item> + <label>$LOCALIZE[515]:</label> + <label2>$INFO[ListItem.Genre]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Genre)</visible> + </item> + <item> + <label>$LOCALIZE[562]:</label> + <label2>$INFO[ListItem.Year]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Year)</visible> + </item> + <item> + <label>$LOCALIZE[563]:</label> + <label2>$INFO[ListItem.Rating]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Rating)</visible> + </item> + <item> + <label>$LOCALIZE[15311]</label> + <label2>$INFO[ListItem.FilenameAndPath]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.FilenameAndPath)</visible> + </item> + </content> + </control> + <control type="image"> + <posx>290</posx> + <posy>370</posy> + <width>740</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <visible>container.content(episodes) + !Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>210</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>380</width> + <height>250</height> + <aspectratio aligny="bottom">keep</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>250</posy> + <width>380</width> + <height>250</height> + <aspectratio aligny="top">keep</aspectratio> + <bordertexture border="5" flipy="true" diffuse="diffuse_mirror2.png">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="list" id="49"> + <posx>390</posx> + <posy>20</posy> + <width>640</width> + <height>330</height> + <onleft>49</onleft> + <onright>49</onright> + <onup>9000</onup> + <ondown>61</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30"> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>465</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>30</height> + <visible>Control.HasFocus(49)</visible> + <texture>MenuItemFO.png</texture> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>465</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + <content> + <item> + <label>$LOCALIZE[20364]:</label> + <label2>$INFO[ListItem.TVShowTitle]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.TVShowTitle)</visible> + </item> + <item> + <label>$LOCALIZE[20373]:</label> + <label2>$INFO[ListItem.Season]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Season)</visible> + </item> + <item> + <label>$LOCALIZE[20359]:</label> + <label2>$INFO[ListItem.Episode]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Episode)</visible> + </item> + <item> + <label>$LOCALIZE[31322]:</label> + <label2>$INFO[ListItem.Premiered]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Premiered)</visible> + </item> + <item> + <label>$LOCALIZE[515]:</label> + <label2>$INFO[ListItem.Genre]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Genre)</visible> + </item> + <item> + <label>$LOCALIZE[20339]:</label> + <label2>$INFO[ListItem.Director]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Director)</visible> + </item> + <item> + <label>$LOCALIZE[20417]:</label> + <label2>$INFO[ListItem.Writer]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Writer)</visible> + </item> + <item> + <label>$LOCALIZE[562]:</label> + <label2>$INFO[ListItem.Year]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Year)</visible> + </item> + <item> + <label>$LOCALIZE[2050]:</label> + <label2>$INFO[ListItem.Duration] $LOCALIZE[12391]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Duration)</visible> + </item> + <item> + <label>$LOCALIZE[563]:</label> + <label2>$INFO[ListItem.Rating]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Rating)</visible> + </item> + <item> + <label>$LOCALIZE[15311]</label> + <label2>$INFO[ListItem.FilenameAndPath]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.FilenameAndPath)</visible> + </item> + </content> + </control> + <control type="image"> + <posx>290</posx> + <posy>370</posy> + <width>740</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <visible>container.content(musicvideos) + !Control.HasFocus(12)</visible> + <posy>90</posy> + <posx>210</posx> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>380</width> + <height>360</height> + <aspectratio>keep</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="list" id="49"> + <posx>390</posx> + <posy>20</posy> + <width>640</width> + <height>330</height> + <onleft>49</onleft> + <onright>49</onright> + <onup>9000</onup> + <ondown>61</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30"> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>465</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>30</height> + <visible>Control.HasFocus(49)</visible> + <texture>MenuItemFO.png</texture> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>165</posx> + <posy>0</posy> + <width>160</width> + <height>30</height> + <font>font13_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>175</posx> + <posy>0</posy> + <width>465</width> + <height>30</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + <content> + <item> + <label>$LOCALIZE[557]:</label> + <label2>$INFO[ListItem.Artist]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Artist)</visible> + </item> + <item> + <label>$LOCALIZE[558]:</label> + <label2>$INFO[ListItem.Album]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Album)</visible> + </item> + <item> + <label>$LOCALIZE[515]:</label> + <label2>$INFO[ListItem.Genre]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Genre)</visible> + </item> + <item> + <label>$LOCALIZE[572]:</label> + <label2>$INFO[ListItem.Studio]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Studio)</visible> + </item> + <item> + <label>$LOCALIZE[20417]:</label> + <label2>$INFO[ListItem.Writer]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Writer)</visible> + </item> + <item> + <label>$LOCALIZE[20339]:</label> + <label2>$INFO[ListItem.Director]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Director)</visible> + </item> + <item> + <label>$LOCALIZE[562]:</label> + <label2>$INFO[ListItem.Year]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Year)</visible> + </item> + <item> + <label>$LOCALIZE[2050]:</label> + <label2>$INFO[ListItem.Duration] $LOCALIZE[12391]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.Duration)</visible> + </item> + <item> + <label>$LOCALIZE[15311]</label> + <label2>$INFO[ListItem.FilenameAndPath]</label2> + <onclick>-</onclick> + <visible>!IsEmpty(ListItem.FilenameAndPath)</visible> + </item> + </content> + </control> + <control type="image"> + <posx>390</posx> + <posy>370</posy> + <width>640</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + </control> + <control type="label"> + <posx>130r</posx> + <posy>480</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <label>[COLOR=blue]$LOCALIZE[207][/COLOR]$INFO[Container(400).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(400).NumPages,/, )]</label> + <visible>Control.IsVisible(400)</visible> + </control> + <control type="label"> + <posx>130r</posx> + <posy>480</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <label>[COLOR=blue]$LOCALIZE[206][/COLOR]$INFO[Container(50).CurrentPage, ( $LOCALIZE[31024] ]$INFO[Container(50).NumPages,/, )]</label> + <visible>Control.IsVisible(50)</visible> + </control> + <control type="spincontrol" id="61"> + <description>Next page button</description> + <posx>120r</posx> + <posy>485</posy> + <subtype>page</subtype> + <font>-</font> + <onleft>61</onleft> + <onright>61</onright> + <ondown>9000</ondown> + <onup>49</onup> + <textcolor>-</textcolor> + <showonepage>true</showonepage> + </control> + <control type="textbox" id="400"> + <description>Description Value for Movies</description> + <posx>210</posx> + <posy>515</posy> + <width>1030</width> + <height>120</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <pagecontrol>61</pagecontrol> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="3000" delay="4000" repeat="5000">!Control.HasFocus(61) + Skin.HasSetting(AutoScroll)</autoscroll> + <visible>!Control.IsVisible(50)</visible> + </control> + <control type="image"> + <description>Actor image</description> + <posx>210</posx> + <posy>480</posy> + <width>160</width> + <height>160</height> + <texture>$INFO[Container(50).Listitem.Icon]</texture> + <aspectratio>keep</aspectratio> + <visible>Control.IsVisible(50)</visible> + </control> + <control type="panel" id="50"> + <posx>380</posx> + <posy>520</posy> + <width>860</width> + <height>120</height> + <onleft>9000</onleft> + <onright>61</onright> + <onup>61</onup> + <ondown>9000</ondown> + <viewtype label="">list</viewtype> + <pagecontrol>61</pagecontrol> + <scrolltime>200</scrolltime> + <orientation>vertical</orientation> + <itemlayout height="40" width="430"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>410</width> + <height>40</height> + <font>font12</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40" width="430"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <visible>!Control.HasFocus(50)</visible> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>430</width> + <height>40</height> + <visible>Control.HasFocus(50)</visible> + <texture border="5">button-focus.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>410</width> + <height>40</height> + <font>font12</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>white</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="grouplist" id="9000"> + <posx>210</posx> + <posy>660</posy> + <width>1030</width> + <height>40</height> + <itemgap>2</itemgap> + <align>center</align> + <orientation>horizontal</orientation> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>50</onup> + <ondown>49</ondown> + <control type="togglebutton" id="8"> + <description>Play/browse to Show</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>208</label> + <alttexturefocus border="2">button-focus.png</alttexturefocus> + <alttexturenofocus border="2">button-nofocus.png</alttexturenofocus> + <altlabel>1024</altlabel> + <usealttexture>Container.Content(TVShows)</usealttexture> + </control> + <control type="button" id="5"> + <description>Cast/Review</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>206</label> + </control> + <control type="button" id="6"> + <description>Refresh</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>184</label> + </control> + <control type="button" id="10"> + <description>Get Thumb</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>13405</label> + </control> + <control type="button" id="12"> + <description>Get Fanart</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>20413</label> + </control> + <control type="button" id="11"> + <description>Play Trailer</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>20410</label> + <visible>!IsEmpty(ListItem.Trailer) + !Skin.HasSetting(WindowedTrailer)</visible> + </control> + <control type="button" id="15"> + <description>Play Trailer Windowed</description> + <include>ButtonInfoDialogsCommonValues</include> + <label>20410</label> + <onclick>PlayMedia($INFO[ListItem.Trailer],1)</onclick> + <visible>!IsEmpty(ListItem.Trailer) + Skin.HasSetting(WindowedTrailer)</visible> + </control> + </control> + </control> + </control> + <include>SideBladeRight</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/DialogVideoScan.xml b/addons/skin.confluence/720p/DialogVideoScan.xml index ee19aabb1b..df76facd5f 100644 --- a/addons/skin.confluence/720p/DialogVideoScan.xml +++ b/addons/skin.confluence/720p/DialogVideoScan.xml @@ -1,54 +1,54 @@ -<window id="133">
- <defaultcontrol></defaultcontrol>
- <animation effect="slide" start="0,-70" end="0,0" time="100">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,-70" delay="400" time="100">WindowClose</animation>
- <controls>
- <control type="group">
- <posx>720</posx>
- <posy>0</posy>
- <animation effect="slide" end="0,-80" time="200" condition="Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">conditional</animation>
- <control type="image">
- <posx>0</posx>
- <posy>-10</posy>
- <width>400</width>
- <height>70</height>
- <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="label" id="401">
- <description>Caption Label</description>
- <posx>15</posx>
- <posy>4</posy>
- <width>370</width>
- <height>18</height>
- <font>font10_title</font>
- <textcolor>selected</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="label" id="405">
- <description>Current Directory Label</description>
- <posx>15</posx>
- <posy>20</posy>
- <width>370</width>
- <height>20</height>
- <font>font10</font>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="progress" id="403">
- <description>progress control</description>
- <posx>15</posx>
- <posy>38</posy>
- <width>370</width>
- <height>8</height>
- </control>
- <control type="progress" id="404">
- <description>progress control</description>
- <posx>15</posx>
- <posy>45</posy>
- <width>370</width>
- <height>8</height>
- </control>
- </control>
- </controls>
+<window id="133"> + <defaultcontrol></defaultcontrol> + <animation effect="slide" start="0,-70" end="0,0" time="100">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,-70" delay="400" time="100">WindowClose</animation> + <controls> + <control type="group"> + <posx>720</posx> + <posy>0</posy> + <animation effect="slide" end="0,-80" time="200" condition="Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">conditional</animation> + <control type="image"> + <posx>0</posx> + <posy>-10</posy> + <width>400</width> + <height>70</height> + <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="label" id="401"> + <description>Caption Label</description> + <posx>15</posx> + <posy>4</posy> + <width>370</width> + <height>18</height> + <font>font10_title</font> + <textcolor>selected</textcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="label" id="405"> + <description>Current Directory Label</description> + <posx>15</posx> + <posy>20</posy> + <width>370</width> + <height>20</height> + <font>font10</font> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="progress" id="403"> + <description>progress control</description> + <posx>15</posx> + <posy>38</posy> + <width>370</width> + <height>8</height> + </control> + <control type="progress" id="404"> + <description>progress control</description> + <posx>15</posx> + <posy>45</posy> + <width>370</width> + <height>8</height> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogVolumeBar.xml b/addons/skin.confluence/720p/DialogVolumeBar.xml index f763f05701..a465a456a8 100644 --- a/addons/skin.confluence/720p/DialogVolumeBar.xml +++ b/addons/skin.confluence/720p/DialogVolumeBar.xml @@ -1,64 +1,64 @@ -<window id="104">
- <defaultcontrol>1</defaultcontrol>
- <animation effect="slide" start="0,-40" end="0,0" time="100">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,-40" delay="400" time="100">WindowClose</animation>
- <controls>
- <control type="group">
- <posx>820</posx>
- <posy>0</posy>
- <control type="image">
- <posx>0</posx>
- <posy>-10</posy>
- <width>300</width>
- <height>50</height>
- <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="group">
- <visible>!player.passthrough</visible>
- <control type="image">
- <description>Lite Volume Logo</description>
- <posx>10</posx>
- <posy>0</posy>
- <width>40</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>VolumeIcon.png</texture>
- </control>
- <control type="progress" id="1">
- <description>progress control</description>
- <posx>50</posx>
- <posy>8</posy>
- <width>230</width>
- <height>18</height>
- <info>Player.Volume</info>
- </control>
- </control>
- <control type="group">
- <visible>player.passthrough</visible>
- <control type="image">
- <description>Lite Volume Logo</description>
- <posx>10</posx>
- <posy>0</posy>
- <width>40</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <colordiffuse>CCFF0000</colordiffuse>
- <texture>VolumeIcon.png</texture>
- </control>
- <control type="label">
- <description>Passthrough Label</description>
- <posx>50</posx>
- <posy>6</posy>
- <width>230</width>
- <height>20</height>
- <label>$LOCALIZE[29802]</label>
- <font>font10_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- </control>
- </control>
- </controls>
+<window id="104"> + <defaultcontrol>1</defaultcontrol> + <animation effect="slide" start="0,-40" end="0,0" time="100">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,-40" delay="400" time="100">WindowClose</animation> + <controls> + <control type="group"> + <posx>820</posx> + <posy>0</posy> + <control type="image"> + <posx>0</posx> + <posy>-10</posy> + <width>300</width> + <height>50</height> + <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="group"> + <visible>!player.passthrough</visible> + <control type="image"> + <description>Lite Volume Logo</description> + <posx>10</posx> + <posy>0</posy> + <width>40</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>VolumeIcon.png</texture> + </control> + <control type="progress" id="1"> + <description>progress control</description> + <posx>50</posx> + <posy>8</posy> + <width>230</width> + <height>18</height> + <info>Player.Volume</info> + </control> + </control> + <control type="group"> + <visible>player.passthrough</visible> + <control type="image"> + <description>Lite Volume Logo</description> + <posx>10</posx> + <posy>0</posy> + <width>40</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <colordiffuse>CCFF0000</colordiffuse> + <texture>VolumeIcon.png</texture> + </control> + <control type="label"> + <description>Passthrough Label</description> + <posx>50</posx> + <posy>6</posy> + <width>230</width> + <height>20</height> + <label>$LOCALIZE[29802]</label> + <font>font10_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/DialogYesNo.xml b/addons/skin.confluence/720p/DialogYesNo.xml index 7d4a7bca9f..f58ad914dc 100644 --- a/addons/skin.confluence/720p/DialogYesNo.xml +++ b/addons/skin.confluence/720p/DialogYesNo.xml @@ -1,100 +1,100 @@ -<window id="100">
- <defaultcontrol always="true">10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>340</posx>
- <posy>235</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>230</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="label" id="1">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>560</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[13406]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="2">
- <description>dialog line 1</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="3">
- <description>dialog line 2</description>
- <posx>20</posx>
- <posy>85</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="4">
- <description>dialog line 3</description>
- <posx>20</posx>
- <posy>110</posy>
- <width>560</width>
- <height>30</height>
- <align>left</align>
- <aligny>center</aligny>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="button" id="11">
- <description>Yes button</description>
- <posx>75</posx>
- <posy>170</posy>
- <width>200</width>
- <height>40</height>
- <label>107</label>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>11</onup>
- <ondown>11</ondown>
- </control>
- <control type="button" id="10">
- <description>No button</description>
- <posx>325</posx>
- <posy>170</posy>
- <width>200</width>
- <height>40</height>
- <label>106</label>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onleft>11</onleft>
- <onright>11</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- </control>
- </controls>
+<window id="100"> + <defaultcontrol always="true">10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>340</posx> + <posy>235</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>230</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="label" id="1"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>560</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[13406]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="2"> + <description>dialog line 1</description> + <posx>20</posx> + <posy>60</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="3"> + <description>dialog line 2</description> + <posx>20</posx> + <posy>85</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="4"> + <description>dialog line 3</description> + <posx>20</posx> + <posy>110</posy> + <width>560</width> + <height>30</height> + <align>left</align> + <aligny>center</aligny> + <label>-</label> + <font>font13</font> + </control> + <control type="button" id="11"> + <description>Yes button</description> + <posx>75</posx> + <posy>170</posy> + <width>200</width> + <height>40</height> + <label>107</label> + <font>font12_title</font> + <textcolor>white</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>11</onup> + <ondown>11</ondown> + </control> + <control type="button" id="10"> + <description>No button</description> + <posx>325</posx> + <posy>170</posy> + <width>200</width> + <height>40</height> + <label>106</label> + <font>font12_title</font> + <textcolor>white</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onleft>11</onleft> + <onright>11</onright> + <onup>10</onup> + <ondown>10</ondown> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/FileBrowser.xml b/addons/skin.confluence/720p/FileBrowser.xml index ca339e71b4..53637f2aed 100644 --- a/addons/skin.confluence/720p/FileBrowser.xml +++ b/addons/skin.confluence/720p/FileBrowser.xml @@ -1,325 +1,325 @@ -<window id="126">
- <defaultcontrol always="true">450</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <coordinates>
- <system>1</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="group">
- <posx>580</posx>
- <animation effect="slide" start="700,0" end="0,0" time="400" tween="quadratic" easing="out" condition="![Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowOpen</animation>
- <animation effect="slide" start="-400,0" end="0,0" time="400" tween="quadratic" easing="out" condition="[Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="700,0" time="400" tween="quadratic" easing="out" condition="![Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowClose</animation>
- <animation effect="slide" start="0,0" end="-400,0" time="400" tween="quadratic" easing="out" condition="[Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowClose</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>20</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>450</onleft>
- <onright>450</onright>
- <onup>450</onup>
- <ondown>450</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="group">
- <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation>
- <animation effect="fade" start="100" end="0" time="200">WindowClose</animation>
- <control type="label" id="411">
- <description>header label</description>
- <posx>660</posx>
- <posy>40</posy>
- <width>630</width>
- <height>30</height>
- <font>font30_title</font>
- <label>1023</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="412">
- <description>Path label</description>
- <posx>660</posx>
- <posy>70</posy>
- <width>630</width>
- <height>30</height>
- <font>font13caps</font>
- <haspath>true</haspath>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="grouplist" id="9000">
- <posx>20</posx>
- <posy>460</posy>
- <width>221</width>
- <height>225</height>
- <itemgap>-1</itemgap>
- <orientation>vertical</orientation>
- <onleft>450</onleft>
- <onright>450</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <control type="button" id="413">
- <description>OK button</description>
- <height>52</height>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <include>ButtonMediaSubCommonValues</include>
- <label>186</label>
- </control>
- <control type="button" id="414">
- <description>Cancel button</description>
- <height>52</height>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <include>ButtonMediaSubCommonValues</include>
- <label>222</label>
- </control>
- <control type="button" id="415">
- <description>Create folder button</description>
- <height>52</height>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <include>ButtonMediaSubCommonValues</include>
- <label>119</label>
- </control>
- <control type="radiobutton" id="416">
- <description>Flip Image button</description>
- <height>52</height>
- <align>center</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <include>ButtonMediaSubCommonValues</include>
- <label>749</label>
- </control>
- </control>
- <control type="image">
- <posx>245</posx>
- <posy>460</posy>
- <width>420</width>
- <height>210</height>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="image">
- <posx>250</posx>
- <posy>465</posy>
- <width>410</width>
- <height>200</height>
- <aspectratio>keep</aspectratio>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="panel" id="450">
- <posx>20</posx>
- <posy>120</posy>
- <width>640</width>
- <height>321</height>
- <onleft>9000</onleft>
- <onright>60</onright>
- <onup>450</onup>
- <ondown>450</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40" width="640">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>41</height>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>2</posy>
- <width>38</width>
- <height>38</height>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>55</posx>
- <posy>0</posy>
- <width>580</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>green</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="640">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>41</height>
- <visible>!Control.HasFocus(450)</visible>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>41</height>
- <visible>Control.HasFocus(450)</visible>
- <texture border="5">MenuItemFO.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>2</posy>
- <width>38</width>
- <height>38</height>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>55</posx>
- <posy>0</posy>
- <width>580</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>green</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="panel" id="451">
- <posx>20</posx>
- <posy>120</posy>
- <width>640</width>
- <height>321</height>
- <onleft>9000</onleft>
- <onright>60</onright>
- <onup>451</onup>
- <ondown>451</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40" width="640">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>41</height>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>2</posy>
- <width>38</width>
- <height>38</height>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>55</posx>
- <posy>0</posy>
- <width>580</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>green</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="640">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>41</height>
- <visible>!Control.HasFocus(451)</visible>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>640</width>
- <height>41</height>
- <visible>Control.HasFocus(451)</visible>
- <texture border="5">MenuItemFO.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>2</posy>
- <width>38</width>
- <height>38</height>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>55</posx>
- <posy>0</posy>
- <width>580</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>green</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
-
- <control type="scrollbar" id="60">
- <posx>650</posx>
- <posy>120</posy>
- <width>25</width>
- <height>320</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>450</onleft>
- <onright>450</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="label">
- <description>Page label</description>
- <posx>660</posx>
- <posy>680</posy>
- <width>560</width>
- <height>30</height>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>grey</textcolor>
- <font>font12</font>
- <label>([COLOR=blue]$INFO[Container(450).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(450).CurrentPage]/$INFO[Container(450).NumPages][/COLOR])</label>
- <visible>!Control.IsVisible(451)</visible>
- </control>
- <control type="label">
- <description>Page label</description>
- <posx>660</posx>
- <posy>680</posy>
- <width>560</width>
- <height>30</height>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>grey</textcolor>
- <font>font12</font>
- <label>([COLOR=blue]$INFO[Container(451).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(451).CurrentPage]/$INFO[Container(451).NumPages][/COLOR])</label>
- <visible>Control.IsVisible(451)</visible>
- </control>
- </control>
- </control>
- <include>SideBladeRight</include>
- <include>Clock</include>
- </controls>
+<window id="126"> + <defaultcontrol always="true">450</defaultcontrol> + <allowoverlay>no</allowoverlay> + <coordinates> + <system>1</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="group"> + <posx>580</posx> + <animation effect="slide" start="700,0" end="0,0" time="400" tween="quadratic" easing="out" condition="![Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowOpen</animation> + <animation effect="slide" start="-400,0" end="0,0" time="400" tween="quadratic" easing="out" condition="[Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowOpen</animation> + <animation effect="slide" start="0,0" end="700,0" time="400" tween="quadratic" easing="out" condition="![Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowClose</animation> + <animation effect="slide" start="0,0" end="-400,0" time="400" tween="quadratic" easing="out" condition="[Window.IsVisible(MovieInformation) | Window.IsVisible(MusicInformation)]">WindowClose</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1100</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>20</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>450</onleft> + <onright>450</onright> + <onup>450</onup> + <ondown>450</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="group"> + <animation effect="fade" delay="400" start="0" end="100" time="200">WindowOpen</animation> + <animation effect="fade" start="100" end="0" time="200">WindowClose</animation> + <control type="label" id="411"> + <description>header label</description> + <posx>660</posx> + <posy>40</posy> + <width>630</width> + <height>30</height> + <font>font30_title</font> + <label>1023</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="412"> + <description>Path label</description> + <posx>660</posx> + <posy>70</posy> + <width>630</width> + <height>30</height> + <font>font13caps</font> + <haspath>true</haspath> + <align>right</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="grouplist" id="9000"> + <posx>20</posx> + <posy>460</posy> + <width>221</width> + <height>225</height> + <itemgap>-1</itemgap> + <orientation>vertical</orientation> + <onleft>450</onleft> + <onright>450</onright> + <onup>9000</onup> + <ondown>9000</ondown> + <control type="button" id="413"> + <description>OK button</description> + <height>52</height> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <include>ButtonMediaSubCommonValues</include> + <label>186</label> + </control> + <control type="button" id="414"> + <description>Cancel button</description> + <height>52</height> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <include>ButtonMediaSubCommonValues</include> + <label>222</label> + </control> + <control type="button" id="415"> + <description>Create folder button</description> + <height>52</height> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <include>ButtonMediaSubCommonValues</include> + <label>119</label> + </control> + <control type="radiobutton" id="416"> + <description>Flip Image button</description> + <height>52</height> + <align>center</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <include>ButtonMediaSubCommonValues</include> + <label>749</label> + </control> + </control> + <control type="image"> + <posx>245</posx> + <posy>460</posy> + <width>420</width> + <height>210</height> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="image"> + <posx>250</posx> + <posy>465</posy> + <width>410</width> + <height>200</height> + <aspectratio>keep</aspectratio> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="panel" id="450"> + <posx>20</posx> + <posy>120</posy> + <width>640</width> + <height>321</height> + <onleft>9000</onleft> + <onright>60</onright> + <onup>450</onup> + <ondown>450</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40" width="640"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>41</height> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>2</posy> + <width>38</width> + <height>38</height> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>55</posx> + <posy>0</posy> + <width>580</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>green</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40" width="640"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>41</height> + <visible>!Control.HasFocus(450)</visible> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>41</height> + <visible>Control.HasFocus(450)</visible> + <texture border="5">MenuItemFO.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>2</posy> + <width>38</width> + <height>38</height> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>55</posx> + <posy>0</posy> + <width>580</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>green</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="panel" id="451"> + <posx>20</posx> + <posy>120</posy> + <width>640</width> + <height>321</height> + <onleft>9000</onleft> + <onright>60</onright> + <onup>451</onup> + <ondown>451</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40" width="640"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>41</height> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>2</posy> + <width>38</width> + <height>38</height> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>55</posx> + <posy>0</posy> + <width>580</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>green</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40" width="640"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>41</height> + <visible>!Control.HasFocus(451)</visible> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>640</width> + <height>41</height> + <visible>Control.HasFocus(451)</visible> + <texture border="5">MenuItemFO.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>2</posy> + <width>38</width> + <height>38</height> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>55</posx> + <posy>0</posy> + <width>580</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>green</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + + <control type="scrollbar" id="60"> + <posx>650</posx> + <posy>120</posy> + <width>25</width> + <height>320</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>450</onleft> + <onright>450</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="label"> + <description>Page label</description> + <posx>660</posx> + <posy>680</posy> + <width>560</width> + <height>30</height> + <align>right</align> + <aligny>center</aligny> + <textcolor>grey</textcolor> + <font>font12</font> + <label>([COLOR=blue]$INFO[Container(450).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(450).CurrentPage]/$INFO[Container(450).NumPages][/COLOR])</label> + <visible>!Control.IsVisible(451)</visible> + </control> + <control type="label"> + <description>Page label</description> + <posx>660</posx> + <posy>680</posy> + <width>560</width> + <height>30</height> + <align>right</align> + <aligny>center</aligny> + <textcolor>grey</textcolor> + <font>font12</font> + <label>([COLOR=blue]$INFO[Container(451).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(451).CurrentPage]/$INFO[Container(451).NumPages][/COLOR])</label> + <visible>Control.IsVisible(451)</visible> + </control> + </control> + </control> + <include>SideBladeRight</include> + <include>Clock</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/FileManager.xml b/addons/skin.confluence/720p/FileManager.xml index 8d7c42c1ba..ba5be94545 100644 --- a/addons/skin.confluence/720p/FileManager.xml +++ b/addons/skin.confluence/720p/FileManager.xml @@ -1,352 +1,352 @@ -<window id="3">
- <defaultcontrol>20</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <include>CommonSettingsBackground</include>
- <control type="group">
- <animation effect="slide" start="-620,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="-620,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>620</width>
- <height>720</height>
- <texture border="0,0,15,0">MediaBladeSub.png</texture>
- </control>
- <control type="image">
- <posx>480</posx>
- <posy>10</posy>
- <width>90</width>
- <height>90</height>
- <aspectratio>keep</aspectratio>
- <info>Container(20).ListItem.Icon</info>
- <bordertexture border="3">black-back2.png</bordertexture>
- <bordersize>5</bordersize>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>35</posx>
- <posy>50</posy>
- <width>570</width>
- <height>30</height>
- <font>font35_title</font>
- <label>A</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="101">
- <description>current directory text label</description>
- <posx>35</posx>
- <posy>100</posy>
- <width>570</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="label">
- <description>number of files/pages in left list text label</description>
- <posx>35</posx>
- <posy>670</posy>
- <width>570</width>
- <font>font12</font>
- <align>left</align>
- <scroll>true</scroll>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>([COLOR=blue]$INFO[Container(20).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(20).CurrentPage]/$INFO[Container(20).NumPages][/COLOR])</label>
- </control>
- <control type="scrollbar" id="30">
- <posx>25</posx>
- <posy>140</posy>
- <width>25</width>
- <height>490</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>-</textureslidernib>
- <textureslidernibfocus>-</textureslidernibfocus>
- <onleft>31</onleft>
- <onright>20</onright>
- <ondown>20</ondown>
- <onup>20</onup>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="list" id="20">
- <posx>60</posx>
- <posy>140</posy>
- <width>540</width>
- <height>491</height>
- <onleft>30</onleft>
- <onright>21</onright>
- <onup>20</onup>
- <ondown>20</ondown>
- <pagecontrol>30</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="35">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>540</width>
- <height>36</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>36</height>
- <font>font13</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>grey2</textcolor>
- <align>left</align>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>530</posx>
- <posy>5</posy>
- <width>200</width>
- <height>24</height>
- <font>font12</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>grey</textcolor>
- <align>right</align>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="35">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>540</width>
- <height>36</height>
- <visible>!Control.HasFocus(20)</visible>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>540</width>
- <height>36</height>
- <visible>Control.HasFocus(20)</visible>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>36</height>
- <font>font13</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>white</textcolor>
- <align>left</align>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>530</posx>
- <posy>5</posy>
- <width>200</width>
- <height>24</height>
- <font>font12</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>grey</textcolor>
- <align>right</align>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- </control>
- </control>
- <control type="group">
- <animation effect="slide" start="620,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="620,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>620r</posx>
- <posy>0</posy>
- <width>620</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
- </control>
- <control type="image">
- <posx>570r</posx>
- <posy>10</posy>
- <width>90</width>
- <height>90</height>
- <aspectratio>keep</aspectratio>
- <info>Container(21).ListItem.Icon</info>
- <bordertexture border="3">black-back2.png</bordertexture>
- <bordersize>5</bordersize>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>35r</posx>
- <posy>50</posy>
- <width>570</width>
- <height>30</height>
- <font>font35_title</font>
- <label>B</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="102">
- <description>current directory text label right</description>
- <posx>35r</posx>
- <posy>100</posy>
- <width>570</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- </control>
- <control type="label">
- <description>number of files/pages in left list text label</description>
- <posx>35r</posx>
- <posy>670</posy>
- <width>570</width>
- <font>font12</font>
- <align>right</align>
- <scroll>true</scroll>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>([COLOR=blue]$INFO[Container(21).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(21).CurrentPage]/$INFO[Container(21).NumPages][/COLOR])</label>
- </control>
- <control type="scrollbar" id="31">
- <posx>50r</posx>
- <posy>140</posy>
- <width>25</width>
- <height>490</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>-</textureslidernib>
- <textureslidernibfocus>-</textureslidernibfocus>
- <onleft>21</onleft>
- <onright>30</onright>
- <ondown>21</ondown>
- <onup>21</onup>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="list" id="21">
- <posx>590r</posx>
- <posy>140</posy>
- <width>540</width>
- <height>491</height>
- <onleft>20</onleft>
- <onright>31</onright>
- <onup>21</onup>
- <ondown>21</ondown>
- <pagecontrol>31</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="35">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>540</width>
- <height>36</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>36</height>
- <font>font13</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>grey2</textcolor>
- <align>left</align>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>530</posx>
- <posy>5</posy>
- <width>200</width>
- <height>24</height>
- <font>font12</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>grey</textcolor>
- <align>right</align>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="35">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>540</width>
- <height>36</height>
- <visible>!Control.HasFocus(21)</visible>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>540</width>
- <height>36</height>
- <visible>Control.HasFocus(21)</visible>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>36</height>
- <font>font13</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>white</textcolor>
- <align>left</align>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>530</posx>
- <posy>5</posy>
- <width>200</width>
- <height>24</height>
- <font>font12</font>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <textcolor>grey</textcolor>
- <align>right</align>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[7]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
+<window id="3"> + <defaultcontrol>20</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <include>CommonSettingsBackground</include> + <control type="group"> + <animation effect="slide" start="-620,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="-620,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>620</width> + <height>720</height> + <texture border="0,0,15,0">MediaBladeSub.png</texture> + </control> + <control type="image"> + <posx>480</posx> + <posy>10</posy> + <width>90</width> + <height>90</height> + <aspectratio>keep</aspectratio> + <info>Container(20).ListItem.Icon</info> + <bordertexture border="3">black-back2.png</bordertexture> + <bordersize>5</bordersize> + </control> + <control type="label"> + <description>header label</description> + <posx>35</posx> + <posy>50</posy> + <width>570</width> + <height>30</height> + <font>font35_title</font> + <label>A</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="101"> + <description>current directory text label</description> + <posx>35</posx> + <posy>100</posy> + <width>570</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="label"> + <description>number of files/pages in left list text label</description> + <posx>35</posx> + <posy>670</posy> + <width>570</width> + <font>font12</font> + <align>left</align> + <scroll>true</scroll> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <label>([COLOR=blue]$INFO[Container(20).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(20).CurrentPage]/$INFO[Container(20).NumPages][/COLOR])</label> + </control> + <control type="scrollbar" id="30"> + <posx>25</posx> + <posy>140</posy> + <width>25</width> + <height>490</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>-</textureslidernib> + <textureslidernibfocus>-</textureslidernibfocus> + <onleft>31</onleft> + <onright>20</onright> + <ondown>20</ondown> + <onup>20</onup> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="list" id="20"> + <posx>60</posx> + <posy>140</posy> + <width>540</width> + <height>491</height> + <onleft>30</onleft> + <onright>21</onright> + <onup>20</onup> + <ondown>20</ondown> + <pagecontrol>30</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="35"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>540</width> + <height>36</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>36</height> + <font>font13</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>grey2</textcolor> + <align>left</align> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>530</posx> + <posy>5</posy> + <width>200</width> + <height>24</height> + <font>font12</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>grey</textcolor> + <align>right</align> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="35"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>540</width> + <height>36</height> + <visible>!Control.HasFocus(20)</visible> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>540</width> + <height>36</height> + <visible>Control.HasFocus(20)</visible> + <texture border="0,2,0,2">MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>36</height> + <font>font13</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>white</textcolor> + <align>left</align> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>530</posx> + <posy>5</posy> + <width>200</width> + <height>24</height> + <font>font12</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>grey</textcolor> + <align>right</align> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + </control> + </control> + <control type="group"> + <animation effect="slide" start="620,0" end="0,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="620,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>620r</posx> + <posy>0</posy> + <width>620</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture> + </control> + <control type="image"> + <posx>570r</posx> + <posy>10</posy> + <width>90</width> + <height>90</height> + <aspectratio>keep</aspectratio> + <info>Container(21).ListItem.Icon</info> + <bordertexture border="3">black-back2.png</bordertexture> + <bordersize>5</bordersize> + </control> + <control type="label"> + <description>header label</description> + <posx>35r</posx> + <posy>50</posy> + <width>570</width> + <height>30</height> + <font>font35_title</font> + <label>B</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="102"> + <description>current directory text label right</description> + <posx>35r</posx> + <posy>100</posy> + <width>570</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + </control> + <control type="label"> + <description>number of files/pages in left list text label</description> + <posx>35r</posx> + <posy>670</posy> + <width>570</width> + <font>font12</font> + <align>right</align> + <scroll>true</scroll> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <label>([COLOR=blue]$INFO[Container(21).NumItems][/COLOR]) $LOCALIZE[31025] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container(21).CurrentPage]/$INFO[Container(21).NumPages][/COLOR])</label> + </control> + <control type="scrollbar" id="31"> + <posx>50r</posx> + <posy>140</posy> + <width>25</width> + <height>490</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>-</textureslidernib> + <textureslidernibfocus>-</textureslidernibfocus> + <onleft>21</onleft> + <onright>30</onright> + <ondown>21</ondown> + <onup>21</onup> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="list" id="21"> + <posx>590r</posx> + <posy>140</posy> + <width>540</width> + <height>491</height> + <onleft>20</onleft> + <onright>31</onright> + <onup>21</onup> + <ondown>21</ondown> + <pagecontrol>31</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="35"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>540</width> + <height>36</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>36</height> + <font>font13</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>grey2</textcolor> + <align>left</align> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>530</posx> + <posy>5</posy> + <width>200</width> + <height>24</height> + <font>font12</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>grey</textcolor> + <align>right</align> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="35"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>540</width> + <height>36</height> + <visible>!Control.HasFocus(21)</visible> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>540</width> + <height>36</height> + <visible>Control.HasFocus(21)</visible> + <texture border="0,2,0,2">MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>36</height> + <font>font13</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>white</textcolor> + <align>left</align> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>530</posx> + <posy>5</posy> + <width>200</width> + <height>24</height> + <font>font12</font> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <textcolor>grey</textcolor> + <align>right</align> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[7]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/Font.xml b/addons/skin.confluence/720p/Font.xml index 6f9501b246..7b4df46dac 100644 --- a/addons/skin.confluence/720p/Font.xml +++ b/addons/skin.confluence/720p/Font.xml @@ -1,295 +1,295 @@ -<fonts>
- <fontset id="Default" idloc="31390" unicode="true">
- <!-- Normal Fonts -->
- <font>
- <name>font10</name>
- <filename>DejaVuSans.ttf</filename>
- <size>12</size>
- </font>
- <font>
- <name>font12</name>
- <filename>DejaVuSans.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font12caps</name>
- <filename>DefaultCaps.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font13</name>
- <filename>DejaVuSans.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font13caps</name>
- <filename>DefaultCaps.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font16caps</name>
- <filename>DefaultCaps.ttf</filename>
- <size>25</size>
- </font>
- <font>
- <name>font30</name>
- <filename>DejaVuSans.ttf</filename>
- <size>30</size>
- </font>
- <font>
- <name>fontContextMenu</name>
- <filename>DejaVuSans.ttf</filename>
- <size>18</size>
- </font>
-
-
- <!-- Title Fonts -->
- <font>
- <name>font10_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>12</size>
- </font>
- <font>
- <name>font12_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font13_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font24_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>24</size>
- </font>
- <font>
- <name>font28_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>28</size>
- </font>
- <font>
- <name>font30_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>30</size>
- </font>
- <font>
- <name>font35_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>35</size>
- </font>
- <font>
- <name>font50caps_title</name>
- <filename>DejaVuSans-Bold-Caps.ttf</filename>
- <size>50</size>
- </font>
- <font>
- <name>font45caps_title</name>
- <filename>DejaVuSans-Bold-Caps.ttf</filename>
- <size>45</size>
- </font>
-
- <font>
- <name>WeatherTemp</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>80</size>
- </font>
- </fontset>
-
- <fontset id="Default_NoCaps" idloc="31391" unicode="true">
- <!-- Normal Fonts -->
- <font>
- <name>font10</name>
- <filename>DejaVuSans.ttf</filename>
- <size>12</size>
- </font>
- <font>
- <name>font12</name>
- <filename>DejaVuSans.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font12caps</name>
- <filename>DejaVuSans.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font13</name>
- <filename>DejaVuSans.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font13caps</name>
- <filename>DejaVuSans.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font16caps</name>
- <filename>DejaVuSans.ttf</filename>
- <size>25</size>
- </font>
- <font>
- <name>font30</name>
- <filename>DejaVuSans.ttf</filename>
- <size>30</size>
- </font>
- <font>
- <name>fontContextMenu</name>
- <filename>DejaVuSans.ttf</filename>
- <size>18</size>
- </font>
-
-
- <!-- Title Fonts -->
- <font>
- <name>font10_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>12</size>
- </font>
- <font>
- <name>font12_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font13_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font24_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>24</size>
- </font>
- <font>
- <name>font28_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>28</size>
- </font>
- <font>
- <name>font30_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>30</size>
- </font>
- <font>
- <name>font35_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>35</size>
- </font>
- <font>
- <name>font45caps_title</name>
- <filename>DejaVuSans-Bold-Caps.ttf</filename>
- <size>45</size>
- </font>
- <font>
- <name>font50caps_title</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>50</size>
- </font>
-
- <font>
- <name>WeatherTemp</name>
- <filename>DejaVuSans-Bold.ttf</filename>
- <size>80</size>
- </font>
- </fontset>
-
- <fontset id="Arial" idloc="31392" unicode="true">
- <!-- Normal Fonts -->
- <font>
- <name>font10</name>
- <filename>Arial.ttf</filename>
- <size>12</size>
- </font>
- <font>
- <name>font12</name>
- <filename>Arial.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font12caps</name>
- <filename>Arial.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font13</name>
- <filename>Arial.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font13caps</name>
- <filename>Arial.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font16caps</name>
- <filename>Arial.ttf</filename>
- <size>25</size>
- </font>
- <font>
- <name>font30</name>
- <filename>Arial.ttf</filename>
- <size>30</size>
- </font>
- <font>
- <name>fontContextMenu</name>
- <filename>Arial.ttf</filename>
- <size>18</size>
- </font>
-
-
- <!-- Title Fonts -->
- <font>
- <name>font10_title</name>
- <filename>Arial.ttf</filename>
- <size>12</size>
- </font>
- <font>
- <name>font12_title</name>
- <filename>Arial.ttf</filename>
- <size>16</size>
- </font>
- <font>
- <name>font13_title</name>
- <filename>Arial.ttf</filename>
- <size>20</size>
- </font>
- <font>
- <name>font24_title</name>
- <filename>Arial.ttf</filename>
- <size>24</size>
- </font>
- <font>
- <name>font28_title</name>
- <filename>Arial.ttf</filename>
- <size>28</size>
- </font>
- <font>
- <name>font30_title</name>
- <filename>Arial.ttf</filename>
- <size>30</size>
- </font>
- <font>
- <name>font35_title</name>
- <filename>Arial.ttf</filename>
- <size>35</size>
- </font>
- <font>
- <name>font50caps_title</name>
- <filename>Arial.ttf</filename>
- <size>50</size>
- </font>
- <font>
- <name>font45caps_title</name>
- <filename>Arial.ttf</filename>
- <size>45</size>
- </font>
-
- <font>
- <name>WeatherTemp</name>
- <filename>Arial.ttf</filename>
- <size>80</size>
- </font>
- </fontset>
+<fonts> + <fontset id="Default" idloc="31390" unicode="true"> + <!-- Normal Fonts --> + <font> + <name>font10</name> + <filename>DejaVuSans.ttf</filename> + <size>12</size> + </font> + <font> + <name>font12</name> + <filename>DejaVuSans.ttf</filename> + <size>16</size> + </font> + <font> + <name>font12caps</name> + <filename>DefaultCaps.ttf</filename> + <size>16</size> + </font> + <font> + <name>font13</name> + <filename>DejaVuSans.ttf</filename> + <size>20</size> + </font> + <font> + <name>font13caps</name> + <filename>DefaultCaps.ttf</filename> + <size>20</size> + </font> + <font> + <name>font16caps</name> + <filename>DefaultCaps.ttf</filename> + <size>25</size> + </font> + <font> + <name>font30</name> + <filename>DejaVuSans.ttf</filename> + <size>30</size> + </font> + <font> + <name>fontContextMenu</name> + <filename>DejaVuSans.ttf</filename> + <size>18</size> + </font> + + + <!-- Title Fonts --> + <font> + <name>font10_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>12</size> + </font> + <font> + <name>font12_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>16</size> + </font> + <font> + <name>font13_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>20</size> + </font> + <font> + <name>font24_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>24</size> + </font> + <font> + <name>font28_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>28</size> + </font> + <font> + <name>font30_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>30</size> + </font> + <font> + <name>font35_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>35</size> + </font> + <font> + <name>font50caps_title</name> + <filename>DejaVuSans-Bold-Caps.ttf</filename> + <size>50</size> + </font> + <font> + <name>font45caps_title</name> + <filename>DejaVuSans-Bold-Caps.ttf</filename> + <size>45</size> + </font> + + <font> + <name>WeatherTemp</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>80</size> + </font> + </fontset> + + <fontset id="Default_NoCaps" idloc="31391" unicode="true"> + <!-- Normal Fonts --> + <font> + <name>font10</name> + <filename>DejaVuSans.ttf</filename> + <size>12</size> + </font> + <font> + <name>font12</name> + <filename>DejaVuSans.ttf</filename> + <size>16</size> + </font> + <font> + <name>font12caps</name> + <filename>DejaVuSans.ttf</filename> + <size>16</size> + </font> + <font> + <name>font13</name> + <filename>DejaVuSans.ttf</filename> + <size>20</size> + </font> + <font> + <name>font13caps</name> + <filename>DejaVuSans.ttf</filename> + <size>20</size> + </font> + <font> + <name>font16caps</name> + <filename>DejaVuSans.ttf</filename> + <size>25</size> + </font> + <font> + <name>font30</name> + <filename>DejaVuSans.ttf</filename> + <size>30</size> + </font> + <font> + <name>fontContextMenu</name> + <filename>DejaVuSans.ttf</filename> + <size>18</size> + </font> + + + <!-- Title Fonts --> + <font> + <name>font10_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>12</size> + </font> + <font> + <name>font12_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>16</size> + </font> + <font> + <name>font13_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>20</size> + </font> + <font> + <name>font24_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>24</size> + </font> + <font> + <name>font28_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>28</size> + </font> + <font> + <name>font30_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>30</size> + </font> + <font> + <name>font35_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>35</size> + </font> + <font> + <name>font45caps_title</name> + <filename>DejaVuSans-Bold-Caps.ttf</filename> + <size>45</size> + </font> + <font> + <name>font50caps_title</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>50</size> + </font> + + <font> + <name>WeatherTemp</name> + <filename>DejaVuSans-Bold.ttf</filename> + <size>80</size> + </font> + </fontset> + + <fontset id="Arial" idloc="31392" unicode="true"> + <!-- Normal Fonts --> + <font> + <name>font10</name> + <filename>Arial.ttf</filename> + <size>12</size> + </font> + <font> + <name>font12</name> + <filename>Arial.ttf</filename> + <size>16</size> + </font> + <font> + <name>font12caps</name> + <filename>Arial.ttf</filename> + <size>16</size> + </font> + <font> + <name>font13</name> + <filename>Arial.ttf</filename> + <size>20</size> + </font> + <font> + <name>font13caps</name> + <filename>Arial.ttf</filename> + <size>20</size> + </font> + <font> + <name>font16caps</name> + <filename>Arial.ttf</filename> + <size>25</size> + </font> + <font> + <name>font30</name> + <filename>Arial.ttf</filename> + <size>30</size> + </font> + <font> + <name>fontContextMenu</name> + <filename>Arial.ttf</filename> + <size>18</size> + </font> + + + <!-- Title Fonts --> + <font> + <name>font10_title</name> + <filename>Arial.ttf</filename> + <size>12</size> + </font> + <font> + <name>font12_title</name> + <filename>Arial.ttf</filename> + <size>16</size> + </font> + <font> + <name>font13_title</name> + <filename>Arial.ttf</filename> + <size>20</size> + </font> + <font> + <name>font24_title</name> + <filename>Arial.ttf</filename> + <size>24</size> + </font> + <font> + <name>font28_title</name> + <filename>Arial.ttf</filename> + <size>28</size> + </font> + <font> + <name>font30_title</name> + <filename>Arial.ttf</filename> + <size>30</size> + </font> + <font> + <name>font35_title</name> + <filename>Arial.ttf</filename> + <size>35</size> + </font> + <font> + <name>font50caps_title</name> + <filename>Arial.ttf</filename> + <size>50</size> + </font> + <font> + <name>font45caps_title</name> + <filename>Arial.ttf</filename> + <size>45</size> + </font> + + <font> + <name>WeatherTemp</name> + <filename>Arial.ttf</filename> + <size>80</size> + </font> + </fontset> </fonts>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/Home.xml b/addons/skin.confluence/720p/Home.xml index 1c4dea34c3..23218940bf 100644 --- a/addons/skin.confluence/720p/Home.xml +++ b/addons/skin.confluence/720p/Home.xml @@ -1,831 +1,831 @@ -<window id="0">
- <defaultcontrol always="true">8999</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath background="true">$INFO[Container(9000).ListItem.Icon]</imagepath>
- <timeperimage>8000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- </control>
- <include>CommonMediaPlayingBackground</include>
- <!-- weather Info -->
- <control type="button" id="8999">
- <description>Run Recently added</description>
- <posx>-20</posx>
- <posy>-20</posy>
- <width>1</width>
- <height>1</height>
- <label>-</label>
- <font>-</font>
- <onfocus>XBMC.RunScript(script.recentlyadded,limit=4)</onfocus>
- <onfocus>SetFocus(9000)</onfocus>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>Skin.HasSetting(homepageShowRecentlyAdded)</visible>
- </control>
- <control type="button" id="8999">
- <description>Don't run Recently added</description>
- <posx>-20</posx>
- <posy>-20</posy>
- <width>1</width>
- <height>1</height>
- <label>-</label>
- <font>-</font>
- <onfocus>SetFocus(9000)</onfocus>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>!Skin.HasSetting(homepageShowRecentlyAdded)</visible>
- </control>
- <!-- Music Info -->
- <control type="group">
- <posx>0</posx>
- <posy>400r</posy>
- <visible>Player.HasAudio + !Skin.HasSetting(homepageMusicinfo)</visible>
- <include>VisibleFadeEffect</include>
- <include>Window_OpenClose_Animation</include>
- <animation effect="slide" end="0,30" time="0" condition="!system.getbool(lookandfeel.enablerssfeeds)">conditional</animation>
- <control type="image">
- <posx>0</posx>
- <posy>150</posy>
- <width>1280</width>
- <height>250</height>
- <texture>HomeNowPlayingBack.png</texture>
- </control>
- <control type="image">
- <description>Cover image</description>
- <posx>200r</posx>
- <posy>60</posy>
- <width>180</width>
- <height>280</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <texture>$INFO[MusicPlayer.Cover]</texture>
- <bordertexture border="8">ThumbBorder.png</bordertexture>
- <bordersize>5</bordersize>
- </control>
- <control type="label">
- <description>NowPlaying label</description>
- <posx>210r</posx>
- <posy>210</posy>
- <height>30</height>
- <width>660</width>
- <label>$LOCALIZE[31040]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Artist label</description>
- <posx>210r</posx>
- <posy>235</posy>
- <height>30</height>
- <width>660</width>
- <label>$INFO[MusicPlayer.Artist]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Album Label</description>
- <posx>210r</posx>
- <posy>260</posy>
- <height>30</height>
- <width>660</width>
- <label>$INFO[MusicPlayer.Album]$INFO[musicplayer.discnumber, - $LOCALIZE[427]:]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Title label</description>
- <posx>210r</posx>
- <posy>285</posy>
- <height>30</height>
- <width>660</width>
- <label>$INFO[MusicPlayer.Title]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Time Label</description>
- <posx>210r</posx>
- <posy>310</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <!-- Video Info -->
- <control type="group">
- <posx>0</posx>
- <posy>400r</posy>
- <visible>Player.HasVideo + !Skin.HasSetting(homepageVideoinfo)</visible>
- <include>VisibleFadeEffect</include>
- <include>Window_OpenClose_Animation</include>
- <animation effect="slide" end="0,30" time="0" condition="!system.getbool(lookandfeel.enablerssfeeds)">conditional</animation>
- <control type="image">
- <posx>0</posx>
- <posy>150</posy>
- <width>1280</width>
- <height>250</height>
- <texture>HomeNowPlayingBack.png</texture>
- </control>
- <control type="group">
- <visible>!VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes)</visible>
- <control type="image">
- <description>Cover image</description>
- <posx>200r</posx>
- <posy>160</posy>
- <width>180</width>
- <height>180</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <texture>$INFO[VideoPlayer.Cover]</texture>
- <bordertexture border="8">ThumbBorder.png</bordertexture>
- <bordersize>5</bordersize>
- </control>
- <control type="label">
- <description>NowPlaying label</description>
- <posx>210r</posx>
- <posy>260</posy>
- <height>30</height>
- <width>660</width>
- <label>$LOCALIZE[31040]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Title label</description>
- <posx>210r</posx>
- <posy>285</posy>
- <height>30</height>
- <width>660</width>
- <label>$INFO[VideoPlayer.Title]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Time Label</description>
- <posx>210r</posx>
- <posy>310</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <control type="group">
- <visible>VideoPlayer.Content(Movies)</visible>
- <control type="image">
- <description>Cover image</description>
- <posx>200r</posx>
- <posy>0</posy>
- <width>180</width>
- <height>340</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <texture>$INFO[VideoPlayer.Cover]</texture>
- <bordertexture border="8">ThumbBorder.png</bordertexture>
- <bordersize>5</bordersize>
- </control>
- <control type="label">
- <description>NowPlaying label</description>
- <posx>210r</posx>
- <posy>210</posy>
- <height>30</height>
- <width>660</width>
- <label>$LOCALIZE[31040]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Studio label</description>
- <posx>210r</posx>
- <posy>235</posy>
- <height>30</height>
- <width>660</width>
- <label>$INFO[VideoPlayer.Studio]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Genre Label</description>
- <posx>210r</posx>
- <posy>260</posy>
- <height>30</height>
- <width>660</width>
- <label>$INFO[VideoPlayer.Genre]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Title label</description>
- <posx>210r</posx>
- <posy>285</posy>
- <height>30</height>
- <width>660</width>
- <label>$INFO[VideoPlayer.Title]$INFO[VideoPlayer.Year,[COLOR=grey] (,)[/COLOR]]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Time Label</description>
- <posx>210r</posx>
- <posy>310</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <control type="group">
- <visible>VideoPlayer.Content(Episodes)</visible>
- <control type="image">
- <description>Cover image</description>
- <posx>250r</posx>
- <posy>0</posy>
- <width>230</width>
- <height>340</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <texture>$INFO[VideoPlayer.Cover]</texture>
- <bordertexture border="8">ThumbBorder.png</bordertexture>
- <bordersize>5</bordersize>
- </control>
- <control type="label">
- <description>NowPlaying label</description>
- <posx>260r</posx>
- <posy>210</posy>
- <height>30</height>
- <width>610</width>
- <label>$LOCALIZE[31040]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>TV Show label</description>
- <posx>260r</posx>
- <posy>235</posy>
- <height>30</height>
- <width>610</width>
- <label>$INFO[VideoPlayer.TVShowTitle]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Season Ep Label</description>
- <posx>260r</posx>
- <posy>260</posy>
- <height>30</height>
- <width>610</width>
- <label>$LOCALIZE[20373] $INFO[VideoPlayer.Season] - $LOCALIZE[20359] $INFO[VideoPlayer.episode]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Title label</description>
- <posx>260r</posx>
- <posy>285</posy>
- <height>30</height>
- <width>610</width>
- <label>$INFO[VideoPlayer.Title]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Time Label</description>
- <posx>260r</posx>
- <posy>310</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- </control>
- <include condition="Skin.HasSetting(homepageShowRecentlyAdded)">HomeRecentlyAddedInfo</include>
- <control type="group">
- <animation effect="slide" end="-400,0" time="500" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-400,0" time="500" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="group">
- <animation effect="slide" end="-228,0" time="300" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>379</posx>
- <posy>0</posy>
- <width>1</width>
- <height>720</height>
- <texture>HomeBladeSub_Part1.png</texture>
- <animation effect="zoom" start="379,0,1,720" end="379,0,229,720" time="300" tween="quadratic" easing="out" condition="ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- <control type="image">
- <posx>380</posx>
- <posy>0</posy>
- <width>12</width>
- <height>720</height>
- <texture>HomeBladeSub_Part2.png</texture>
- <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- </control>
- <control type="group" id="9001">
- <posx>170</posx>
- <posy>0</posy>
- <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus">conditional</animation>
- <animation effect="fade" start="0" end="100" delay="300" time="200" condition="ControlGroup(9001).HasFocus">conditional</animation>
- <animation effect="fade" start="100" end="0" time="0" condition="ControlGroup(9001).HasFocus">WindowClose</animation>
- <animation effect="slide" end="210,0" time="300" tween="quadratic" easing="out" condition="ControlGroup(9001).HasFocus">conditional</animation>
- <control type="grouplist" id="9010">
- <posx>10</posx>
- <posy>0</posy>
- <width>240</width>
- <height>720</height>
- <align>center</align>
- <onleft>9000</onleft>
- <onright>Control.SetFocus(8000,0)</onright>
- <onup>9010</onup>
- <ondown>9010</ondown>
- <itemgap>0</itemgap>
- <visible>Container(9000).HasFocus(2)</visible>
- <include>HomeSubMenuVideos</include> <!-- Buttons for the grouplist -->
- </control>
- <control type="grouplist" id="9011">
- <posx>10</posx>
- <posy>0</posy>
- <width>240</width>
- <height>720</height>
- <align>center</align>
- <onleft>9000</onleft>
- <onright>9001</onright>
- <onup>9011</onup>
- <ondown>9011</ondown>
- <itemgap>0</itemgap>
- <visible>Container(9000).HasFocus(3)</visible>
- <include>HomeSubMenuMusic</include> <!-- Buttons for the grouplist -->
- </control>
- <control type="grouplist" id="9013">
- <posx>10</posx>
- <posy>0</posy>
- <width>240</width>
- <height>720</height>
- <align>center</align>
- <onleft>9000</onleft>
- <onright>9001</onright>
- <onup>9015</onup>
- <ondown>9015</ondown>
- <itemgap>0</itemgap>
- <visible>Container(9000).HasFocus(4) + [!IsEmpty(Skin.String(HomePictureButton1)) | !IsEmpty(Skin.String(HomePictureButton2)) | !IsEmpty(Skin.String(HomePictureButton3)) | !IsEmpty(Skin.String(HomePictureButton4)) | !IsEmpty(Skin.String(HomePictureButton5)) | !IsEmpty(Skin.String(HomePictureButton6))]</visible>
- <include>HomeSubMenuPictures</include> <!-- Buttons for the grouplist -->
- </control>
- <control type="grouplist" id="9014">
- <posx>10</posx>
- <posy>0</posy>
- <width>240</width>
- <height>720</height>
- <align>center</align>
- <onleft>9000</onleft>
- <onright>9001</onright>
- <onup>9014</onup>
- <ondown>9014</ondown>
- <itemgap>0</itemgap>
- <visible>Container(9000).HasFocus(5)</visible>
- <include>HomeSubMenuSystem</include> <!-- Buttons for the grouplist -->
- </control>
- <control type="grouplist" id="9015">
- <posx>10</posx>
- <posy>0</posy>
- <width>240</width>
- <height>720</height>
- <align>center</align>
- <onleft>9000</onleft>
- <onright>9001</onright>
- <onup>9015</onup>
- <ondown>9015</ondown>
- <itemgap>0</itemgap>
- <visible>Container(9000).HasFocus(1) + [!IsEmpty(Skin.String(HomeProgramButton1)) | !IsEmpty(Skin.String(HomeProgramButton2)) | !IsEmpty(Skin.String(HomeProgramButton3)) | !IsEmpty(Skin.String(HomeProgramButton4)) | !IsEmpty(Skin.String(HomeProgramButton5)) | !IsEmpty(Skin.String(HomeProgramButton6))]</visible>
- <include>HomeSubMenuPrograms</include> <!-- Buttons for the grouplist -->
- </control>
- <control type="grouplist" id="9016">
- <posx>10</posx>
- <posy>0</posy>
- <width>240</width>
- <height>720</height>
- <align>center</align>
- <onleft>9000</onleft>
- <onright>Control.SetFocus(8000,0)</onright>
- <onup>9016</onup>
- <ondown>9016</ondown>
- <itemgap>0</itemgap>
- <visible>Container(9000).HasFocus(10)</visible>
- <include>HomeSubMenuMovies</include> <!-- Buttons for the grouplist -->
- </control>
- <control type="grouplist" id="9017">
- <posx>10</posx>
- <posy>0</posy>
- <width>240</width>
- <height>720</height>
- <align>center</align>
- <onleft>9000</onleft>
- <onright>Control.SetFocus(8001,0)</onright>
- <onup>9017</onup>
- <ondown>9017</ondown>
- <itemgap>0</itemgap>
- <visible>Container(9000).HasFocus(11)</visible>
- <include>HomeSubMenuTVShows</include> <!-- Buttons for the grouplist -->
- </control>
- </control>
- <control type="image">
- <posx>-450</posx>
- <posy>0</posy>
- <width>846</width>
- <height>720</height>
- <colordiffuse>DAFFFFFF</colordiffuse>
- <texture>HomeBlade_bottom.png</texture>
- </control>
- <control type="fixedlist" id="9000">
- <hitrect x="50" y="50" w="330" h="620" />
- <posx>-20</posx>
- <posy>0</posy>
- <width>400</width>
- <height>720</height>
- <onleft>10</onleft>
- <onright>9001</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>300</scrolltime>
- <focusposition>3</focusposition>
- <movement>2</movement>
- <animation effect="fade" start="0" end="100" time="200">Visible</animation>
- <animation effect="fade" start="100" end="30" time="200" condition="Window.IsVisible(1113) | ControlGroup(9001).HasFocus | ControlGroup(10).HasFocus | Control.HasFocus(8000) | Control.HasFocus(8001)">conditional</animation>
- <itemlayout height="102" width="380">
- <control type="label">
- <posx>380</posx>
- <posy>21</posy>
- <width>380</width>
- <height>40</height>
- <font>font50caps_title</font>
- <textcolor>grey3</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- <animation effect="zoom" start="65" end="65" center="380,51" time="0" condition="true">Conditional</animation>
- <animation effect="fade" start="100" end="30" time="200" condition="Window.IsVisible(1113) | ControlGroup(9001).HasFocus | ControlGroup(10).HasFocus">conditional</animation>
- </control>
- </itemlayout>
- <focusedlayout height="102" width="380">
- <control type="label">
- <posx>380</posx>
- <posy>21</posy>
- <width>380</width>
- <height>40</height>
- <font>font50caps_title</font>
- <textcolor>white</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <animation effect="zoom" start="65" end="100" center="380,51" time="200">Focus</animation>
- <animation effect="zoom" start="100" end="65" center="380,51" time="200">UnFocus</animation>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="image">
- <posx>370</posx>
- <posy>63</posy>
- <width>18</width>
- <height>18</height>
- <texture>HomeHasSub.png</texture>
- <visible>Container(9000).HasFocus(2) | Container(9000).HasFocus(3) | Container(9000).HasFocus(5) | Container(9000).HasFocus(7) | Container(9000).HasFocus(9) | [Container(9000).HasFocus(4) + [!IsEmpty(Skin.String(HomePictureButton1)) | !IsEmpty(Skin.String(HomePictureButton2)) | !IsEmpty(Skin.String(HomePictureButton3)) | !IsEmpty(Skin.String(HomePictureButton4)) | !IsEmpty(Skin.String(HomePictureButton5)) | !IsEmpty(Skin.String(HomePictureButton6))]] | [Container(9000).HasFocus(1) + [!IsEmpty(Skin.String(HomeProgramButton1)) | !IsEmpty(Skin.String(HomeProgramButton2)) | !IsEmpty(Skin.String(HomeProgramButton3)) | !IsEmpty(Skin.String(HomeProgramButton4)) | !IsEmpty(Skin.String(HomeProgramButton5)) | !IsEmpty(Skin.String(HomeProgramButton6))]] | Container(9000).HasFocus(10) | Container(9000).HasFocus(11)</visible>
- <animation effect="fade" start="0" end="100" time="200">Focus</animation>
- <animation effect="fade" start="100" end="0" time="200">UnFocus</animation>
- </control>
- </focusedlayout>
- <content>
- <item id="6">
- <label>8</label>
- <onclick>ActivateWindow(Weather)</onclick>
- <icon>special://skin/backgrounds/weather.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb>
- <visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
- <visible>!Skin.HasSetting(ShowWeatherFanart) | IsEmpty(Skin.String(WeatherFanartDir))</visible>
- </item>
- <item id="6">
- <label>8</label>
- <onclick>ActivateWindow(Weather)</onclick>
- <icon>special://skin/backgrounds/weather.jpg</icon>
- <thumb>$INFO[Skin.String(WeatherFanartDir)]$INFO[Weather.FanartCode]</thumb>
- <visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
- <visible>Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir))</visible>
- </item>
- <item id="4">
- <label>1</label>
- <onclick>ActivateWindow(Pictures)</onclick>
- <icon>special://skin/backgrounds/pictures.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Pictures_Folder)]</thumb>
- <visible>!Skin.HasSetting(HomeMenuNoPicturesButton)</visible>
- </item>
- <item id="3">
- <label>2</label>
- <onclick>ActivateWindow(Music)</onclick>
- <icon>special://skin/backgrounds/music.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Music_Folder)]</thumb>
- <visible>!Skin.HasSetting(HomeMenuNoMusicButton)</visible>
- </item>
- <item id="2">
- <label>3</label>
- <onclick>ActivateWindow(Videos)</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb>
- <visible>!Skin.HasSetting(HomeMenuNoVideosButton) + ![Skin.HasSetting(HomeMenuNoMoviesButton) + Skin.HasSetting(HomeMenuNoTVShowsButton)]</visible>
- </item>
- <item id="2">
- <label>3</label>
- <onclick>ActivateWindow(VideoFiles)</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb>
- <visible>!Skin.HasSetting(HomeMenuNoVideosButton) + [Skin.HasSetting(HomeMenuNoMoviesButton) + Skin.HasSetting(HomeMenuNoTVShowsButton)]</visible>
- </item>
- <item id="10">
- <label>20342</label>
- <onclick>ActivateWindow(VideoLibrary,MovieTitles,return)</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Movies_Folder)]</thumb>
- <visible>Skin.HasSetting(HomeMenuNoMoviesButton) + Library.HasContent(Movies)</visible>
- </item>
- <item id="11">
- <label>20343</label>
- <onclick>ActivateWindow(VideoLibrary,TVShowTitles,return)</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_TVShow_Folder)]</thumb>
- <visible>Skin.HasSetting(HomeMenuNoTVShowsButton) + Library.HasContent(TVShows)</visible>
- </item>
- <item id="1">
- <label>0</label>
- <onclick>ActivateWindow(Programs,Addons,return)</onclick>
- <icon>special://skin/backgrounds/programs.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</thumb>
- <visible>!Skin.HasSetting(HomeMenuNoProgramsButton)</visible>
- </item>
- <item id="5">
- <label>13000</label>
- <onclick>ActivateWindow(Settings)</onclick>
- <icon>special://skin/backgrounds/settings.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Settings_Folder)]</thumb>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-205</posy>
- <width>385</width>
- <height>1130</height>
- <texture>HomeBlade_middle.png</texture>
- <animation effect="slide" end="0,-204" time="300" condition="Container(9000).Row(1)">conditional</animation>
- <animation effect="slide" end="0,-102" time="300" condition="Container(9000).Row(2)">conditional</animation>
- <animation effect="slide" end="0,102" time="300" condition="Container(9000).Row(4)">conditional</animation>
- <animation effect="slide" end="0,204" time="300" condition="Container(9000).Row(5)">conditional</animation>
- </control>
- <control type="image">
- <posx>-450</posx>
- <posy>0</posy>
- <width>846</width>
- <height>720</height>
- <texture>HomeBlade_top.png</texture>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>10</posx>
- <posy>10</posy>
- <width>140</width>
- <height>40</height>
- <texture>XBMC_Logo.png</texture>
- </control>
- <control type="image">
- <description>LOGO Mirror</description>
- <posx>10</posx>
- <posy>42</posy>
- <width>140</width>
- <height>40</height>
- <texture diffuse="diffuse_mirror.png" flipy="true">XBMC_Logo.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>100r</posy>
- <width>256</width>
- <height>100</height>
- <texture>HomeButtonsBack.png</texture>
- </control>
- <control type="group" id="10">
- <posx>15</posx>
- <posy>55r</posy>
- <control type="button" id="20">
- <description>Power push button</description>
- <posx>90</posx>
- <posy>0</posy>
- <width>43</width>
- <height>43</height>
- <label>31003</label>
- <font>-</font>
- <aligny>-</aligny>
- <onclick>ActivateWindow(ShutdownMenu)</onclick>
- <texturefocus>home-power-FO.png</texturefocus>
- <texturenofocus>home-power.png</texturenofocus>
- <onleft>21</onleft>
- <onright>9000</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- </control>
- <control type="button" id="21">
- <description>Favourites push button</description>
- <posx>45</posx>
- <posy>0</posy>
- <width>43</width>
- <height>43</height>
- <label>1036</label>
- <font>-</font>
- <aligny>-</aligny>
- <onclick>ActivateWindow(Favourites)</onclick>
- <texturefocus>home-favourites-FO.png</texturefocus>
- <texturenofocus>home-favourites.png</texturenofocus>
- <onleft>22</onleft>
- <onright>20</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- </control>
- <control type="button" id="22">
- <description>Play Disc Media push button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>43</width>
- <height>43</height>
- <label>16004</label>
- <font>-</font>
- <aligny>-</aligny>
- <onclick>ActivateWindow(1113)</onclick>
- <texturefocus>home-playmedia-FO.png</texturefocus>
- <texturenofocus>home-playmedia.png</texturenofocus>
- <onleft>9000</onleft>
- <onright>21</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>420</posx>
- <posy>35r</posy>
- <animation effect="slide" end="0,35" time="300" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="0,35" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <description>RSS background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>860</width>
- <height>35</height>
- <texture border="32,0,0,0">Rss_Back.png</texture>
- <visible>system.getbool(lookandfeel.enablerssfeeds)</visible>
- </control>
- <control type="rss">
- <description>RSS feed</description>
- <posx>35</posx>
- <posy>6</posy>
- <height>35</height>
- <width>825</width>
- <font>font12</font>
- <urlset>1</urlset>
- <textcolor>blue</textcolor>
- <titlecolor>blue</titlecolor>
- <headlinecolor>white</headlinecolor>
- <visible>system.getbool(lookandfeel.enablerssfeeds)</visible>
- </control>
- <control type="image">
- <description>RSS background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>100</width>
- <height>35</height>
- <texture border="32,0,0,0">Rss_Back_Overlay.png</texture>
- <visible>system.getbool(lookandfeel.enablerssfeeds)</visible>
- </control>
- </control>
- <control type="group">
- <posx>520r</posx>
- <posy>0</posy>
- <animation effect="slide" start="0,0" end="-60,0" delay="0" time="300" condition="Window.IsVisible(MuteBug)">conditional</animation>
- <animation effect="slide" start="0,0" end="550,0" delay="0" time="300">WindowClose</animation>
- <animation effect="slide" start="550,0" end="0,0" delay="0" time="300">WindowOpen</animation>
- <visible>!Skin.HasSetting(homepageWeatherinfo) + Weather.IsFetched</visible>
- <control type="image">
- <description>time background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>180</width>
- <height>35</height>
- <texture flipx="true" border="32,0,0,0">header.png</texture>
- </control>
- <control type="image">
- <description>Weather image</description>
- <posx>30</posx>
- <posy>1</posy>
- <width>25</width>
- <height>25</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[Weather.Conditions]</texture>
- </control>
- <control type="label">
- <description>time label</description>
- <posx>60</posx>
- <posy>0</posy>
- <width>100</width>
- <height>28</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>[B]$INFO[Weather.Temperature][/B]</label>
- </control>
- </control>
- <control type="group">
- <posx>390r</posx>
- <posy>0</posy>
- <animation effect="slide" start="0,0" end="-60,0" delay="0" time="300" condition="Window.IsVisible(MuteBug)">conditional</animation>
- <animation effect="slide" start="0,0" end="420,0" delay="0" time="300">WindowClose</animation>
- <animation effect="slide" start="420,0" end="0,0" delay="0" time="300">WindowOpen</animation>
- <control type="image">
- <description>time background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>440</width>
- <height>35</height>
- <texture flipx="true" border="32,0,0,0">header.png</texture>
- </control>
- <control type="label">
- <description>time label</description>
- <posx>30</posx>
- <posy>0</posy>
- <width>400</width>
- <height>28</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>[COLOR=grey]$INFO[System.Date][/COLOR] | $INFO[System.Time]</label>
- </control>
- </control>
- </controls>
+<window id="0"> + <defaultcontrol always="true">8999</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath background="true">$INFO[Container(9000).ListItem.Icon]</imagepath> + <timeperimage>8000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + </control> + <include>CommonMediaPlayingBackground</include> + <!-- weather Info --> + <control type="button" id="8999"> + <description>Run Recently added</description> + <posx>-20</posx> + <posy>-20</posy> + <width>1</width> + <height>1</height> + <label>-</label> + <font>-</font> + <onfocus>XBMC.RunScript(script.recentlyadded,limit=4)</onfocus> + <onfocus>SetFocus(9000)</onfocus> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>Skin.HasSetting(homepageShowRecentlyAdded)</visible> + </control> + <control type="button" id="8999"> + <description>Don't run Recently added</description> + <posx>-20</posx> + <posy>-20</posy> + <width>1</width> + <height>1</height> + <label>-</label> + <font>-</font> + <onfocus>SetFocus(9000)</onfocus> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>!Skin.HasSetting(homepageShowRecentlyAdded)</visible> + </control> + <!-- Music Info --> + <control type="group"> + <posx>0</posx> + <posy>400r</posy> + <visible>Player.HasAudio + !Skin.HasSetting(homepageMusicinfo)</visible> + <include>VisibleFadeEffect</include> + <include>Window_OpenClose_Animation</include> + <animation effect="slide" end="0,30" time="0" condition="!system.getbool(lookandfeel.enablerssfeeds)">conditional</animation> + <control type="image"> + <posx>0</posx> + <posy>150</posy> + <width>1280</width> + <height>250</height> + <texture>HomeNowPlayingBack.png</texture> + </control> + <control type="image"> + <description>Cover image</description> + <posx>200r</posx> + <posy>60</posy> + <width>180</width> + <height>280</height> + <aspectratio aligny="bottom">keep</aspectratio> + <texture>$INFO[MusicPlayer.Cover]</texture> + <bordertexture border="8">ThumbBorder.png</bordertexture> + <bordersize>5</bordersize> + </control> + <control type="label"> + <description>NowPlaying label</description> + <posx>210r</posx> + <posy>210</posy> + <height>30</height> + <width>660</width> + <label>$LOCALIZE[31040]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Artist label</description> + <posx>210r</posx> + <posy>235</posy> + <height>30</height> + <width>660</width> + <label>$INFO[MusicPlayer.Artist]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Album Label</description> + <posx>210r</posx> + <posy>260</posy> + <height>30</height> + <width>660</width> + <label>$INFO[MusicPlayer.Album]$INFO[musicplayer.discnumber, - $LOCALIZE[427]:]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Title label</description> + <posx>210r</posx> + <posy>285</posy> + <height>30</height> + <width>660</width> + <label>$INFO[MusicPlayer.Title]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Time Label</description> + <posx>210r</posx> + <posy>310</posy> + <height>30</height> + <width>325</width> + <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <!-- Video Info --> + <control type="group"> + <posx>0</posx> + <posy>400r</posy> + <visible>Player.HasVideo + !Skin.HasSetting(homepageVideoinfo)</visible> + <include>VisibleFadeEffect</include> + <include>Window_OpenClose_Animation</include> + <animation effect="slide" end="0,30" time="0" condition="!system.getbool(lookandfeel.enablerssfeeds)">conditional</animation> + <control type="image"> + <posx>0</posx> + <posy>150</posy> + <width>1280</width> + <height>250</height> + <texture>HomeNowPlayingBack.png</texture> + </control> + <control type="group"> + <visible>!VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes)</visible> + <control type="image"> + <description>Cover image</description> + <posx>200r</posx> + <posy>160</posy> + <width>180</width> + <height>180</height> + <aspectratio aligny="bottom">keep</aspectratio> + <texture>$INFO[VideoPlayer.Cover]</texture> + <bordertexture border="8">ThumbBorder.png</bordertexture> + <bordersize>5</bordersize> + </control> + <control type="label"> + <description>NowPlaying label</description> + <posx>210r</posx> + <posy>260</posy> + <height>30</height> + <width>660</width> + <label>$LOCALIZE[31040]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Title label</description> + <posx>210r</posx> + <posy>285</posy> + <height>30</height> + <width>660</width> + <label>$INFO[VideoPlayer.Title]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Time Label</description> + <posx>210r</posx> + <posy>310</posy> + <height>30</height> + <width>325</width> + <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <control type="group"> + <visible>VideoPlayer.Content(Movies)</visible> + <control type="image"> + <description>Cover image</description> + <posx>200r</posx> + <posy>0</posy> + <width>180</width> + <height>340</height> + <aspectratio aligny="bottom">keep</aspectratio> + <texture>$INFO[VideoPlayer.Cover]</texture> + <bordertexture border="8">ThumbBorder.png</bordertexture> + <bordersize>5</bordersize> + </control> + <control type="label"> + <description>NowPlaying label</description> + <posx>210r</posx> + <posy>210</posy> + <height>30</height> + <width>660</width> + <label>$LOCALIZE[31040]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Studio label</description> + <posx>210r</posx> + <posy>235</posy> + <height>30</height> + <width>660</width> + <label>$INFO[VideoPlayer.Studio]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Genre Label</description> + <posx>210r</posx> + <posy>260</posy> + <height>30</height> + <width>660</width> + <label>$INFO[VideoPlayer.Genre]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Title label</description> + <posx>210r</posx> + <posy>285</posy> + <height>30</height> + <width>660</width> + <label>$INFO[VideoPlayer.Title]$INFO[VideoPlayer.Year,[COLOR=grey] (,)[/COLOR]]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Time Label</description> + <posx>210r</posx> + <posy>310</posy> + <height>30</height> + <width>325</width> + <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <control type="group"> + <visible>VideoPlayer.Content(Episodes)</visible> + <control type="image"> + <description>Cover image</description> + <posx>250r</posx> + <posy>0</posy> + <width>230</width> + <height>340</height> + <aspectratio aligny="bottom">keep</aspectratio> + <texture>$INFO[VideoPlayer.Cover]</texture> + <bordertexture border="8">ThumbBorder.png</bordertexture> + <bordersize>5</bordersize> + </control> + <control type="label"> + <description>NowPlaying label</description> + <posx>260r</posx> + <posy>210</posy> + <height>30</height> + <width>610</width> + <label>$LOCALIZE[31040]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>TV Show label</description> + <posx>260r</posx> + <posy>235</posy> + <height>30</height> + <width>610</width> + <label>$INFO[VideoPlayer.TVShowTitle]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Season Ep Label</description> + <posx>260r</posx> + <posy>260</posy> + <height>30</height> + <width>610</width> + <label>$LOCALIZE[20373] $INFO[VideoPlayer.Season] - $LOCALIZE[20359] $INFO[VideoPlayer.episode]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Title label</description> + <posx>260r</posx> + <posy>285</posy> + <height>30</height> + <width>610</width> + <label>$INFO[VideoPlayer.Title]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Time Label</description> + <posx>260r</posx> + <posy>310</posy> + <height>30</height> + <width>325</width> + <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + </control> + <include condition="Skin.HasSetting(homepageShowRecentlyAdded)">HomeRecentlyAddedInfo</include> + <control type="group"> + <animation effect="slide" end="-400,0" time="500" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-400,0" time="500" tween="quadratic" easing="out">WindowOpen</animation> + <control type="group"> + <animation effect="slide" end="-228,0" time="300" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>379</posx> + <posy>0</posy> + <width>1</width> + <height>720</height> + <texture>HomeBladeSub_Part1.png</texture> + <animation effect="zoom" start="379,0,1,720" end="379,0,229,720" time="300" tween="quadratic" easing="out" condition="ControlGroup(9001).HasFocus">Conditional</animation> + </control> + <control type="image"> + <posx>380</posx> + <posy>0</posy> + <width>12</width> + <height>720</height> + <texture>HomeBladeSub_Part2.png</texture> + <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="ControlGroup(9001).HasFocus">Conditional</animation> + </control> + </control> + <control type="group" id="9001"> + <posx>170</posx> + <posy>0</posy> + <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus">conditional</animation> + <animation effect="fade" start="0" end="100" delay="300" time="200" condition="ControlGroup(9001).HasFocus">conditional</animation> + <animation effect="fade" start="100" end="0" time="0" condition="ControlGroup(9001).HasFocus">WindowClose</animation> + <animation effect="slide" end="210,0" time="300" tween="quadratic" easing="out" condition="ControlGroup(9001).HasFocus">conditional</animation> + <control type="grouplist" id="9010"> + <posx>10</posx> + <posy>0</posy> + <width>240</width> + <height>720</height> + <align>center</align> + <onleft>9000</onleft> + <onright>Control.SetFocus(8000,0)</onright> + <onup>9010</onup> + <ondown>9010</ondown> + <itemgap>0</itemgap> + <visible>Container(9000).HasFocus(2)</visible> + <include>HomeSubMenuVideos</include> <!-- Buttons for the grouplist --> + </control> + <control type="grouplist" id="9011"> + <posx>10</posx> + <posy>0</posy> + <width>240</width> + <height>720</height> + <align>center</align> + <onleft>9000</onleft> + <onright>9001</onright> + <onup>9011</onup> + <ondown>9011</ondown> + <itemgap>0</itemgap> + <visible>Container(9000).HasFocus(3)</visible> + <include>HomeSubMenuMusic</include> <!-- Buttons for the grouplist --> + </control> + <control type="grouplist" id="9013"> + <posx>10</posx> + <posy>0</posy> + <width>240</width> + <height>720</height> + <align>center</align> + <onleft>9000</onleft> + <onright>9001</onright> + <onup>9015</onup> + <ondown>9015</ondown> + <itemgap>0</itemgap> + <visible>Container(9000).HasFocus(4) + [!IsEmpty(Skin.String(HomePictureButton1)) | !IsEmpty(Skin.String(HomePictureButton2)) | !IsEmpty(Skin.String(HomePictureButton3)) | !IsEmpty(Skin.String(HomePictureButton4)) | !IsEmpty(Skin.String(HomePictureButton5)) | !IsEmpty(Skin.String(HomePictureButton6))]</visible> + <include>HomeSubMenuPictures</include> <!-- Buttons for the grouplist --> + </control> + <control type="grouplist" id="9014"> + <posx>10</posx> + <posy>0</posy> + <width>240</width> + <height>720</height> + <align>center</align> + <onleft>9000</onleft> + <onright>9001</onright> + <onup>9014</onup> + <ondown>9014</ondown> + <itemgap>0</itemgap> + <visible>Container(9000).HasFocus(5)</visible> + <include>HomeSubMenuSystem</include> <!-- Buttons for the grouplist --> + </control> + <control type="grouplist" id="9015"> + <posx>10</posx> + <posy>0</posy> + <width>240</width> + <height>720</height> + <align>center</align> + <onleft>9000</onleft> + <onright>9001</onright> + <onup>9015</onup> + <ondown>9015</ondown> + <itemgap>0</itemgap> + <visible>Container(9000).HasFocus(1) + [!IsEmpty(Skin.String(HomeProgramButton1)) | !IsEmpty(Skin.String(HomeProgramButton2)) | !IsEmpty(Skin.String(HomeProgramButton3)) | !IsEmpty(Skin.String(HomeProgramButton4)) | !IsEmpty(Skin.String(HomeProgramButton5)) | !IsEmpty(Skin.String(HomeProgramButton6))]</visible> + <include>HomeSubMenuPrograms</include> <!-- Buttons for the grouplist --> + </control> + <control type="grouplist" id="9016"> + <posx>10</posx> + <posy>0</posy> + <width>240</width> + <height>720</height> + <align>center</align> + <onleft>9000</onleft> + <onright>Control.SetFocus(8000,0)</onright> + <onup>9016</onup> + <ondown>9016</ondown> + <itemgap>0</itemgap> + <visible>Container(9000).HasFocus(10)</visible> + <include>HomeSubMenuMovies</include> <!-- Buttons for the grouplist --> + </control> + <control type="grouplist" id="9017"> + <posx>10</posx> + <posy>0</posy> + <width>240</width> + <height>720</height> + <align>center</align> + <onleft>9000</onleft> + <onright>Control.SetFocus(8001,0)</onright> + <onup>9017</onup> + <ondown>9017</ondown> + <itemgap>0</itemgap> + <visible>Container(9000).HasFocus(11)</visible> + <include>HomeSubMenuTVShows</include> <!-- Buttons for the grouplist --> + </control> + </control> + <control type="image"> + <posx>-450</posx> + <posy>0</posy> + <width>846</width> + <height>720</height> + <colordiffuse>DAFFFFFF</colordiffuse> + <texture>HomeBlade_bottom.png</texture> + </control> + <control type="fixedlist" id="9000"> + <hitrect x="50" y="50" w="330" h="620" /> + <posx>-20</posx> + <posy>0</posy> + <width>400</width> + <height>720</height> + <onleft>10</onleft> + <onright>9001</onright> + <onup>9000</onup> + <ondown>9000</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>300</scrolltime> + <focusposition>3</focusposition> + <movement>2</movement> + <animation effect="fade" start="0" end="100" time="200">Visible</animation> + <animation effect="fade" start="100" end="30" time="200" condition="Window.IsVisible(1113) | ControlGroup(9001).HasFocus | ControlGroup(10).HasFocus | Control.HasFocus(8000) | Control.HasFocus(8001)">conditional</animation> + <itemlayout height="102" width="380"> + <control type="label"> + <posx>380</posx> + <posy>21</posy> + <width>380</width> + <height>40</height> + <font>font50caps_title</font> + <textcolor>grey3</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + <animation effect="zoom" start="65" end="65" center="380,51" time="0" condition="true">Conditional</animation> + <animation effect="fade" start="100" end="30" time="200" condition="Window.IsVisible(1113) | ControlGroup(9001).HasFocus | ControlGroup(10).HasFocus">conditional</animation> + </control> + </itemlayout> + <focusedlayout height="102" width="380"> + <control type="label"> + <posx>380</posx> + <posy>21</posy> + <width>380</width> + <height>40</height> + <font>font50caps_title</font> + <textcolor>white</textcolor> + <align>right</align> + <aligny>center</aligny> + <animation effect="zoom" start="65" end="100" center="380,51" time="200">Focus</animation> + <animation effect="zoom" start="100" end="65" center="380,51" time="200">UnFocus</animation> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="image"> + <posx>370</posx> + <posy>63</posy> + <width>18</width> + <height>18</height> + <texture>HomeHasSub.png</texture> + <visible>Container(9000).HasFocus(2) | Container(9000).HasFocus(3) | Container(9000).HasFocus(5) | Container(9000).HasFocus(7) | Container(9000).HasFocus(9) | [Container(9000).HasFocus(4) + [!IsEmpty(Skin.String(HomePictureButton1)) | !IsEmpty(Skin.String(HomePictureButton2)) | !IsEmpty(Skin.String(HomePictureButton3)) | !IsEmpty(Skin.String(HomePictureButton4)) | !IsEmpty(Skin.String(HomePictureButton5)) | !IsEmpty(Skin.String(HomePictureButton6))]] | [Container(9000).HasFocus(1) + [!IsEmpty(Skin.String(HomeProgramButton1)) | !IsEmpty(Skin.String(HomeProgramButton2)) | !IsEmpty(Skin.String(HomeProgramButton3)) | !IsEmpty(Skin.String(HomeProgramButton4)) | !IsEmpty(Skin.String(HomeProgramButton5)) | !IsEmpty(Skin.String(HomeProgramButton6))]] | Container(9000).HasFocus(10) | Container(9000).HasFocus(11)</visible> + <animation effect="fade" start="0" end="100" time="200">Focus</animation> + <animation effect="fade" start="100" end="0" time="200">UnFocus</animation> + </control> + </focusedlayout> + <content> + <item id="6"> + <label>8</label> + <onclick>ActivateWindow(Weather)</onclick> + <icon>special://skin/backgrounds/weather.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb> + <visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible> + <visible>!Skin.HasSetting(ShowWeatherFanart) | IsEmpty(Skin.String(WeatherFanartDir))</visible> + </item> + <item id="6"> + <label>8</label> + <onclick>ActivateWindow(Weather)</onclick> + <icon>special://skin/backgrounds/weather.jpg</icon> + <thumb>$INFO[Skin.String(WeatherFanartDir)]$INFO[Weather.FanartCode]</thumb> + <visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible> + <visible>Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir))</visible> + </item> + <item id="4"> + <label>1</label> + <onclick>ActivateWindow(Pictures)</onclick> + <icon>special://skin/backgrounds/pictures.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Pictures_Folder)]</thumb> + <visible>!Skin.HasSetting(HomeMenuNoPicturesButton)</visible> + </item> + <item id="3"> + <label>2</label> + <onclick>ActivateWindow(Music)</onclick> + <icon>special://skin/backgrounds/music.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Music_Folder)]</thumb> + <visible>!Skin.HasSetting(HomeMenuNoMusicButton)</visible> + </item> + <item id="2"> + <label>3</label> + <onclick>ActivateWindow(Videos)</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb> + <visible>!Skin.HasSetting(HomeMenuNoVideosButton) + ![Skin.HasSetting(HomeMenuNoMoviesButton) + Skin.HasSetting(HomeMenuNoTVShowsButton)]</visible> + </item> + <item id="2"> + <label>3</label> + <onclick>ActivateWindow(VideoFiles)</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb> + <visible>!Skin.HasSetting(HomeMenuNoVideosButton) + [Skin.HasSetting(HomeMenuNoMoviesButton) + Skin.HasSetting(HomeMenuNoTVShowsButton)]</visible> + </item> + <item id="10"> + <label>20342</label> + <onclick>ActivateWindow(VideoLibrary,MovieTitles,return)</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Movies_Folder)]</thumb> + <visible>Skin.HasSetting(HomeMenuNoMoviesButton) + Library.HasContent(Movies)</visible> + </item> + <item id="11"> + <label>20343</label> + <onclick>ActivateWindow(VideoLibrary,TVShowTitles,return)</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_TVShow_Folder)]</thumb> + <visible>Skin.HasSetting(HomeMenuNoTVShowsButton) + Library.HasContent(TVShows)</visible> + </item> + <item id="1"> + <label>0</label> + <onclick>ActivateWindow(Programs,Addons,return)</onclick> + <icon>special://skin/backgrounds/programs.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</thumb> + <visible>!Skin.HasSetting(HomeMenuNoProgramsButton)</visible> + </item> + <item id="5"> + <label>13000</label> + <onclick>ActivateWindow(Settings)</onclick> + <icon>special://skin/backgrounds/settings.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Settings_Folder)]</thumb> + </item> + </content> + </control> + <control type="image"> + <posx>0</posx> + <posy>-205</posy> + <width>385</width> + <height>1130</height> + <texture>HomeBlade_middle.png</texture> + <animation effect="slide" end="0,-204" time="300" condition="Container(9000).Row(1)">conditional</animation> + <animation effect="slide" end="0,-102" time="300" condition="Container(9000).Row(2)">conditional</animation> + <animation effect="slide" end="0,102" time="300" condition="Container(9000).Row(4)">conditional</animation> + <animation effect="slide" end="0,204" time="300" condition="Container(9000).Row(5)">conditional</animation> + </control> + <control type="image"> + <posx>-450</posx> + <posy>0</posy> + <width>846</width> + <height>720</height> + <texture>HomeBlade_top.png</texture> + </control> + <control type="image"> + <description>LOGO</description> + <posx>10</posx> + <posy>10</posy> + <width>140</width> + <height>40</height> + <texture>XBMC_Logo.png</texture> + </control> + <control type="image"> + <description>LOGO Mirror</description> + <posx>10</posx> + <posy>42</posy> + <width>140</width> + <height>40</height> + <texture diffuse="diffuse_mirror.png" flipy="true">XBMC_Logo.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>100r</posy> + <width>256</width> + <height>100</height> + <texture>HomeButtonsBack.png</texture> + </control> + <control type="group" id="10"> + <posx>15</posx> + <posy>55r</posy> + <control type="button" id="20"> + <description>Power push button</description> + <posx>90</posx> + <posy>0</posy> + <width>43</width> + <height>43</height> + <label>31003</label> + <font>-</font> + <aligny>-</aligny> + <onclick>ActivateWindow(ShutdownMenu)</onclick> + <texturefocus>home-power-FO.png</texturefocus> + <texturenofocus>home-power.png</texturenofocus> + <onleft>21</onleft> + <onright>9000</onright> + <onup>9000</onup> + <ondown>9000</ondown> + </control> + <control type="button" id="21"> + <description>Favourites push button</description> + <posx>45</posx> + <posy>0</posy> + <width>43</width> + <height>43</height> + <label>1036</label> + <font>-</font> + <aligny>-</aligny> + <onclick>ActivateWindow(Favourites)</onclick> + <texturefocus>home-favourites-FO.png</texturefocus> + <texturenofocus>home-favourites.png</texturenofocus> + <onleft>22</onleft> + <onright>20</onright> + <onup>9000</onup> + <ondown>9000</ondown> + </control> + <control type="button" id="22"> + <description>Play Disc Media push button</description> + <posx>0</posx> + <posy>0</posy> + <width>43</width> + <height>43</height> + <label>16004</label> + <font>-</font> + <aligny>-</aligny> + <onclick>ActivateWindow(1113)</onclick> + <texturefocus>home-playmedia-FO.png</texturefocus> + <texturenofocus>home-playmedia.png</texturenofocus> + <onleft>9000</onleft> + <onright>21</onright> + <onup>9000</onup> + <ondown>9000</ondown> + </control> + </control> + </control> + <control type="group"> + <posx>420</posx> + <posy>35r</posy> + <animation effect="slide" end="0,35" time="300" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="0,35" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <description>RSS background</description> + <posx>0</posx> + <posy>0</posy> + <width>860</width> + <height>35</height> + <texture border="32,0,0,0">Rss_Back.png</texture> + <visible>system.getbool(lookandfeel.enablerssfeeds)</visible> + </control> + <control type="rss"> + <description>RSS feed</description> + <posx>35</posx> + <posy>6</posy> + <height>35</height> + <width>825</width> + <font>font12</font> + <urlset>1</urlset> + <textcolor>blue</textcolor> + <titlecolor>blue</titlecolor> + <headlinecolor>white</headlinecolor> + <visible>system.getbool(lookandfeel.enablerssfeeds)</visible> + </control> + <control type="image"> + <description>RSS background</description> + <posx>0</posx> + <posy>0</posy> + <width>100</width> + <height>35</height> + <texture border="32,0,0,0">Rss_Back_Overlay.png</texture> + <visible>system.getbool(lookandfeel.enablerssfeeds)</visible> + </control> + </control> + <control type="group"> + <posx>520r</posx> + <posy>0</posy> + <animation effect="slide" start="0,0" end="-60,0" delay="0" time="300" condition="Window.IsVisible(MuteBug)">conditional</animation> + <animation effect="slide" start="0,0" end="550,0" delay="0" time="300">WindowClose</animation> + <animation effect="slide" start="550,0" end="0,0" delay="0" time="300">WindowOpen</animation> + <visible>!Skin.HasSetting(homepageWeatherinfo) + Weather.IsFetched</visible> + <control type="image"> + <description>time background</description> + <posx>0</posx> + <posy>0</posy> + <width>180</width> + <height>35</height> + <texture flipx="true" border="32,0,0,0">header.png</texture> + </control> + <control type="image"> + <description>Weather image</description> + <posx>30</posx> + <posy>1</posy> + <width>25</width> + <height>25</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[Weather.Conditions]</texture> + </control> + <control type="label"> + <description>time label</description> + <posx>60</posx> + <posy>0</posy> + <width>100</width> + <height>28</height> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <label>[B]$INFO[Weather.Temperature][/B]</label> + </control> + </control> + <control type="group"> + <posx>390r</posx> + <posy>0</posy> + <animation effect="slide" start="0,0" end="-60,0" delay="0" time="300" condition="Window.IsVisible(MuteBug)">conditional</animation> + <animation effect="slide" start="0,0" end="420,0" delay="0" time="300">WindowClose</animation> + <animation effect="slide" start="420,0" end="0,0" delay="0" time="300">WindowOpen</animation> + <control type="image"> + <description>time background</description> + <posx>0</posx> + <posy>0</posy> + <width>440</width> + <height>35</height> + <texture flipx="true" border="32,0,0,0">header.png</texture> + </control> + <control type="label"> + <description>time label</description> + <posx>30</posx> + <posy>0</posy> + <width>400</width> + <height>28</height> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <label>[COLOR=grey]$INFO[System.Date][/COLOR] | $INFO[System.Time]</label> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/IncludesCodecFlagging.xml b/addons/skin.confluence/720p/IncludesCodecFlagging.xml index 3db0311648..2f15ef06a4 100644 --- a/addons/skin.confluence/720p/IncludesCodecFlagging.xml +++ b/addons/skin.confluence/720p/IncludesCodecFlagging.xml @@ -1,140 +1,140 @@ -<includes>
- <include name="VideoCodecFlaggingConditions">
- <control type="image">
- <description>Video rez Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.VideoResolution,flagging/video/,.png]</texture>
- </control>
- <control type="image">
- <description>Common Codec Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.VideoCodec,flagging/video/,.png]</texture>
- <!-- Don't show if its one of the 500 divx codecs -->
- <visible>![substring(ListItem.VideoCodec,div,left) | stringcompare(ListItem.VideoCodec,dx50)]</visible>
- </control>
- <control type="image">
- <description>Divx Codec Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/video/divx.png</texture>
- <visible>[substring(ListItem.VideoCodec,div,left) | stringcompare(ListItem.VideoCodec,dx50)]</visible>
- </control>
- </include>
- <include name="VideoTypeHackFlaggingConditions">
- <control type="image">
- <description>Bluray Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/video/bluray.png</texture>
- <visible>[substring(ListItem.FilenameAndPath,bluray) | substring(ListItem.FilenameAndPath,bdrip)] + !Skin.HasSetting(HideFilenameFlagging)</visible>
- </control>
- <control type="image">
- <description>HDDVD Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/video/hddvd.png</texture>
- <visible>substring(ListItem.FilenameAndPath,hddvd) + !Skin.HasSetting(HideFilenameFlagging)</visible>
- </control>
- <control type="image">
- <description>DVD Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/video/dvd.png</texture>
- <visible>[substring(ListItem.FilenameAndPath,dvd) + ![substring(ListItem.FilenameAndPath,hddvd) | substring(ListItem.FilenameAndPath,bluray) | substring(ListItem.FilenameAndPath,bdrip)]] + !Skin.HasSetting(HideFilenameFlagging)</visible>
- </control>
- <control type="image">
- <description>TV Types Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/video/TV.png</texture>
- <visible>[substring(ListItem.FilenameAndPath,pdtv) | substring(ListItem.FilenameAndPath,hdtv) | substring(ListItem.FilenameAndPath,dsr)] + !Skin.HasSetting(HideFilenameFlagging)</visible>
- </control>
- <control type="image">
- <description>VHS Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/video/vhs.png</texture>
- <visible>substring(ListItem.FilenameAndPath,vhs) + !Skin.HasSetting(HideFilenameFlagging)</visible>
- </control>
- </include>
- <include name="VideoMPAAFlaggingConditions">
- <control type="image">
- <description>Rated G</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/ratings/mpaa_general.png</texture>
- <visible>substring(listitem.mpaa,Rated G)</visible>
- </control>
- <control type="image">
- <description>Rated PG</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/ratings/mpaa_pg.png</texture>
- <visible>substring(listitem.mpaa,Rated PG) + !substring(listitem.mpaa,Rated PG-13)</visible>
- </control>
- <control type="image">
- <description>Rated PG-13</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/ratings/mpaa_pg13.png</texture>
- <visible>substring(listitem.mpaa,Rated PG-13)</visible>
- </control>
- <control type="image">
- <description>Rated R</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/ratings/mpaa_restricted.png</texture>
- <visible>substring(Listitem.mpaa,Rated R)</visible>
- </control>
- <control type="image">
- <description>Rated NC-17</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/ratings/mpaa_nc17.png</texture>
- <visible>substring(Listitem.mpaa,Rated NC)</visible>
- </control>
- </include>
- <include name="AudioCodecFlaggingConditions">
- <control type="image">
- <description>Dolby Digital Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>flagging/audio/dolbydigital.png</texture>
- <visible>[stringcompare(ListItem.AudioCodec,ac3) + stringcompare(ListItem.AudioChannels,6)]</visible>
- </control>
- <control type="image">
- <description>Audio Codec Image</description>
- <width>90</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.AudioCodec,flagging/audio/,.png]</texture>
- <!-- Don't show if I want the Dolby Digital Logo -->
- <visible>![stringcompare(ListItem.AudioCodec,ac3) + stringcompare(ListItem.AudioChannels,6)]</visible>
- </control>
- </include>
- <include name="AspectCodecFlaggingConditions">
- <control type="image">
- <description>Aspectratio Image</description>
- <width>60</width>
- <height>33</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.VideoAspect,flagging/aspectratio/,.png]</texture>
- </control>
- </include>
+<includes> + <include name="VideoCodecFlaggingConditions"> + <control type="image"> + <description>Video rez Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.VideoResolution,flagging/video/,.png]</texture> + </control> + <control type="image"> + <description>Common Codec Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.VideoCodec,flagging/video/,.png]</texture> + <!-- Don't show if its one of the 500 divx codecs --> + <visible>![substring(ListItem.VideoCodec,div,left) | stringcompare(ListItem.VideoCodec,dx50)]</visible> + </control> + <control type="image"> + <description>Divx Codec Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/video/divx.png</texture> + <visible>[substring(ListItem.VideoCodec,div,left) | stringcompare(ListItem.VideoCodec,dx50)]</visible> + </control> + </include> + <include name="VideoTypeHackFlaggingConditions"> + <control type="image"> + <description>Bluray Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/video/bluray.png</texture> + <visible>[substring(ListItem.FilenameAndPath,bluray) | substring(ListItem.FilenameAndPath,bdrip)] + !Skin.HasSetting(HideFilenameFlagging)</visible> + </control> + <control type="image"> + <description>HDDVD Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/video/hddvd.png</texture> + <visible>substring(ListItem.FilenameAndPath,hddvd) + !Skin.HasSetting(HideFilenameFlagging)</visible> + </control> + <control type="image"> + <description>DVD Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/video/dvd.png</texture> + <visible>[substring(ListItem.FilenameAndPath,dvd) + ![substring(ListItem.FilenameAndPath,hddvd) | substring(ListItem.FilenameAndPath,bluray) | substring(ListItem.FilenameAndPath,bdrip)]] + !Skin.HasSetting(HideFilenameFlagging)</visible> + </control> + <control type="image"> + <description>TV Types Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/video/TV.png</texture> + <visible>[substring(ListItem.FilenameAndPath,pdtv) | substring(ListItem.FilenameAndPath,hdtv) | substring(ListItem.FilenameAndPath,dsr)] + !Skin.HasSetting(HideFilenameFlagging)</visible> + </control> + <control type="image"> + <description>VHS Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/video/vhs.png</texture> + <visible>substring(ListItem.FilenameAndPath,vhs) + !Skin.HasSetting(HideFilenameFlagging)</visible> + </control> + </include> + <include name="VideoMPAAFlaggingConditions"> + <control type="image"> + <description>Rated G</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/ratings/mpaa_general.png</texture> + <visible>substring(listitem.mpaa,Rated G)</visible> + </control> + <control type="image"> + <description>Rated PG</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/ratings/mpaa_pg.png</texture> + <visible>substring(listitem.mpaa,Rated PG) + !substring(listitem.mpaa,Rated PG-13)</visible> + </control> + <control type="image"> + <description>Rated PG-13</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/ratings/mpaa_pg13.png</texture> + <visible>substring(listitem.mpaa,Rated PG-13)</visible> + </control> + <control type="image"> + <description>Rated R</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/ratings/mpaa_restricted.png</texture> + <visible>substring(Listitem.mpaa,Rated R)</visible> + </control> + <control type="image"> + <description>Rated NC-17</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/ratings/mpaa_nc17.png</texture> + <visible>substring(Listitem.mpaa,Rated NC)</visible> + </control> + </include> + <include name="AudioCodecFlaggingConditions"> + <control type="image"> + <description>Dolby Digital Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>flagging/audio/dolbydigital.png</texture> + <visible>[stringcompare(ListItem.AudioCodec,ac3) + stringcompare(ListItem.AudioChannels,6)]</visible> + </control> + <control type="image"> + <description>Audio Codec Image</description> + <width>90</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.AudioCodec,flagging/audio/,.png]</texture> + <!-- Don't show if I want the Dolby Digital Logo --> + <visible>![stringcompare(ListItem.AudioCodec,ac3) + stringcompare(ListItem.AudioChannels,6)]</visible> + </control> + </include> + <include name="AspectCodecFlaggingConditions"> + <control type="image"> + <description>Aspectratio Image</description> + <width>60</width> + <height>33</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.VideoAspect,flagging/aspectratio/,.png]</texture> + </control> + </include> </includes>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/IncludesHomeMenuItems.xml b/addons/skin.confluence/720p/IncludesHomeMenuItems.xml index 3342ef2653..2c6fe05e84 100644 --- a/addons/skin.confluence/720p/IncludesHomeMenuItems.xml +++ b/addons/skin.confluence/720p/IncludesHomeMenuItems.xml @@ -1,323 +1,323 @@ -<includes>
- <include name="HomeSubMenuVideos">
- <control type="button" id="90101">
- <include>ButtonHomeSubCommonValues</include>
- <label>342</label>
- <onclick>ActivateWindow(VideoLibrary,MovieTitles,return)</onclick>
- <visible>Library.HasContent(Movies)</visible>
- </control>
- <control type="button" id="90102">
- <include>ButtonHomeSubCommonValues</include>
- <label>20343</label>
- <onclick>ActivateWindow(VideoLibrary,TvShowTitles,return)</onclick>
- <visible>Library.HasContent(TVShows)</visible>
- </control>
- <control type="button" id="90103">
- <include>ButtonHomeSubCommonValues</include>
- <label>20389</label>
- <onclick>ActivateWindow(VideoLibrary,MusicVideoTitles,return)</onclick>
- <visible>Library.HasContent(MusicVideos)</visible>
- </control>
- <control type="button" id="90104">
- <include>ButtonHomeSubCommonValues</include>
- <label>744</label>
- <onclick>ActivateWindow(VideoFiles)</onclick>
- </control>
- <control type="button" id="90105">
- <include>ButtonHomeSubCommonValues</include>
- <label>14022</label>
- <onclick>ActivateWindow(VideoLibrary)</onclick>
- <visible>Library.HasContent(Videos)</visible>
- </control>
- <control type="button" id="90106">
- <include>ButtonHomeSubCommonValues</include>
- <label>24001</label>
- <onclick>ActivateWindow(VideoLibrary,Addons,return)</onclick>
- <visible>Library.HasContent(Video)</visible>
- </control>
- <control type="button" id="90107">
- <include>ButtonHomeSubCommonValues</include>
- <label>24001</label>
- <onclick>ActivateWindow(VideoFiles,Addons,return)</onclick>
- <visible>!Library.HasContent(Video)</visible>
- </control>
- <control type="button" id="90108">
- <description>Custom Addon Button 1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeVideosButton1))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeVideosButton1)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeVideosButton1))</visible>
- </control>
- <control type="button" id="90109">
- <description>Custom Addon Button 2</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeVideosButton2))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeVideosButton2)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeVideosButton2))</visible>
- </control>
- <control type="button" id="90110">
- <description>Custom Addon Button 3</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeVideosButton3))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeVideosButton3)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeVideosButton3))</visible>
- </control>
- </include>
- <include name="HomeSubMenuMusic">
- <control type="button" id="90111">
- <include>ButtonHomeSubCommonValues</include>
- <label>133</label>
- <onclick>ActivateWindow(MusicLibrary,Artists,return)</onclick>
- <visible>Library.HasContent(Music)</visible>
- </control>
- <control type="button" id="90112">
- <include>ButtonHomeSubCommonValues</include>
- <label>132</label>
- <onclick>ActivateWindow(MusicLibrary,Albums,return)</onclick>
- <visible>Library.HasContent(Music)</visible>
- </control>
- <control type="button" id="90113">
- <include>ButtonHomeSubCommonValues</include>
- <label>134</label>
- <onclick>ActivateWindow(MusicLibrary,Songs,return)</onclick>
- <visible>Library.HasContent(Music)</visible>
- </control>
- <control type="button" id="90114">
- <include>ButtonHomeSubCommonValues</include>
- <label>744</label>
- <onclick>ActivateWindow(MusicFiles)</onclick>
- </control>
- <control type="button" id="90115">
- <include>ButtonHomeSubCommonValues</include>
- <label>14022</label>
- <onclick>ActivateWindow(MusicLibrary)</onclick>
- <visible>Library.HasContent(Music)</visible>
- </control>
- <control type="button" id="90116">
- <include>ButtonHomeSubCommonValues</include>
- <label>24001</label>
- <onclick>ActivateWindow(MusicLibrary,Addons,return)</onclick>
- <visible>Library.HasContent(Music)</visible>
- </control>
- <control type="button" id="90117">
- <include>ButtonHomeSubCommonValues</include>
- <label>24001</label>
- <onclick>ActivateWindow(MusicFiles,Addons,return)</onclick>
- <visible>!Library.HasContent(Music)</visible>
- </control>
- <control type="button" id="90118">
- <description>Custom Addon Button 1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeMusicButton1))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeMusicButton1)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeMusicButton1))</visible>
- </control>
- <control type="button" id="90119">
- <description>Custom Addon Button 2</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeMusicButton2))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeMusicButton2)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeMusicButton2))</visible>
- </control>
- <control type="button" id="90120">
- <description>Custom Addon Button 3</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeMusicButton3))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeMusicButton3)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeMusicButton3))</visible>
- </control>
- </include>
- <include name="HomeSubMenuSystem">
- <control type="button" id="90141">
- <include>ButtonHomeSubCommonValues</include>
- <label>5</label>
- <onclick>ActivateWindow(Settings)</onclick>
- </control>
- <control type="button" id="90142">
- <include>ButtonHomeSubCommonValues</include>
- <label>7</label>
- <onclick>ActivateWindow(FileManager)</onclick>
- </control>
- <control type="button" id="90143">
- <include>ButtonHomeSubCommonValues</include>
- <label>13200</label>
- <onclick>ActivateWindow(Profiles)</onclick>
- </control>
- <control type="button" id="90144">
- <include>ButtonHomeSubCommonValues</include>
- <label>130</label>
- <onclick>ActivateWindow(SystemInfo)</onclick>
- </control>
- <control type="button" id="90145">
- <include>ButtonHomeSubCommonValues</include>
- <label>Credits</label>
- <onclick>ActivateWindow(Credits)</onclick>
- <visible>False</visible>
- </control>
- </include>
- <include name="HomeSubMenuPictures">
- <control type="button" id="90131">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomePictureButton1))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomePictureButton1)])</onclick>
- <visible>!IsEmpty(Skin.String(HomePictureButton1))</visible>
- </control>
- <control type="button" id="90132">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomePictureButton2))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomePictureButton2)])</onclick>
- <visible>!IsEmpty(Skin.String(HomePictureButton2))</visible>
- </control>
- <control type="button" id="90133">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomePictureButton3))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomePictureButton3)])</onclick>
- <visible>!IsEmpty(Skin.String(HomePictureButton3))</visible>
- </control>
- <control type="button" id="90134">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomePictureButton4))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomePictureButton4)])</onclick>
- <visible>!IsEmpty(Skin.String(HomePictureButton4))</visible>
- </control>
- <control type="button" id="90135">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomePictureButton5))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomePictureButton5)])</onclick>
- <visible>!IsEmpty(Skin.String(HomePictureButton5))</visible>
- </control>
- <control type="button" id="90136">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomePictureButton6))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomePictureButton6)])</onclick>
- <visible>!IsEmpty(Skin.String(HomePictureButton6))</visible>
- </control>
- </include>
- <include name="HomeSubMenuPrograms">
- <control type="button" id="90151">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeProgramButton1))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeProgramButton1)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeProgramButton1))</visible>
- </control>
- <control type="button" id="90152">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeProgramButton2))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeProgramButton2)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeProgramButton2))</visible>
- </control>
- <control type="button" id="90153">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeProgramButton3))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeProgramButton3)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeProgramButton3))</visible>
- </control>
- <control type="button" id="90154">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeProgramButton4))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeProgramButton4)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeProgramButton4))</visible>
- </control>
- <control type="button" id="90155">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeProgramButton5))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeProgramButton5)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeProgramButton5))</visible>
- </control>
- <control type="button" id="90156">
- <description>Button1</description>
- <include>ButtonHomeSubCommonValues</include>
- <label>$INFO[system.addontitle(Skin.String(HomeProgramButton6))]</label>
- <onclick>Setfocus(9000)</onclick>
- <onclick>RunAddon($INFO[Skin.String(HomeProgramButton6)])</onclick>
- <visible>!IsEmpty(Skin.String(HomeProgramButton6))</visible>
- </control>
- </include>
- <include name="HomeSubMenuMovies">
- <control type="button" id="90161">
- <include>ButtonHomeSubCommonValues</include>
- <label>369</label>
- <onclick>ActivateWindow(VideoLibrary,MovieTitles,return)</onclick>
- </control>
- <control type="button" id="90162">
- <include>ButtonHomeSubCommonValues</include>
- <label>135</label>
- <onclick>ActivateWindow(VideoLibrary,MovieGenres,return)</onclick>
- </control>
- <control type="button" id="90163">
- <include>ButtonHomeSubCommonValues</include>
- <label>652</label>
- <onclick>ActivateWindow(VideoLibrary,MovieYears,return)</onclick>
- </control>
- <control type="button" id="90164">
- <include>ButtonHomeSubCommonValues</include>
- <label>344</label>
- <onclick>ActivateWindow(VideoLibrary,MovieActors,return)</onclick>
- </control>
- <control type="button" id="90165">
- <include>ButtonHomeSubCommonValues</include>
- <label>20348</label>
- <onclick>ActivateWindow(VideoLibrary,MovieDirectors,return)</onclick>
- </control>
- <control type="button" id="90166">
- <include>ButtonHomeSubCommonValues</include>
- <label>31328</label>
- <onclick>ActivateWindow(VideoLibrary,RecentlyAddedMovies,return)</onclick>
- </control>
- </include>
- <include name="HomeSubMenuTVShows">
- <control type="button" id="90171">
- <include>ButtonHomeSubCommonValues</include>
- <label>369</label>
- <onclick>ActivateWindow(VideoLibrary,TVShowTitles,return)</onclick>
- </control>
- <control type="button" id="90172">
- <include>ButtonHomeSubCommonValues</include>
- <label>135</label>
- <onclick>ActivateWindow(VideoLibrary,TVShowGenres,return)</onclick>
- </control>
- <control type="button" id="90173">
- <include>ButtonHomeSubCommonValues</include>
- <label>652</label>
- <onclick>ActivateWindow(VideoLibrary,TVShowYears,return)</onclick>
- </control>
- <control type="button" id="90174">
- <include>ButtonHomeSubCommonValues</include>
- <label>344</label>
- <onclick>ActivateWindow(VideoLibrary,TVShowActors,return)</onclick>
- </control>
- <control type="button" id="90175">
- <include>ButtonHomeSubCommonValues</include>
- <label>31328</label>
- <onclick>ActivateWindow(VideoLibrary,RecentlyAddedEpisodes,return)</onclick>
- </control>
- </include>
-</includes>
+<includes> + <include name="HomeSubMenuVideos"> + <control type="button" id="90101"> + <include>ButtonHomeSubCommonValues</include> + <label>342</label> + <onclick>ActivateWindow(VideoLibrary,MovieTitles,return)</onclick> + <visible>Library.HasContent(Movies)</visible> + </control> + <control type="button" id="90102"> + <include>ButtonHomeSubCommonValues</include> + <label>20343</label> + <onclick>ActivateWindow(VideoLibrary,TvShowTitles,return)</onclick> + <visible>Library.HasContent(TVShows)</visible> + </control> + <control type="button" id="90103"> + <include>ButtonHomeSubCommonValues</include> + <label>20389</label> + <onclick>ActivateWindow(VideoLibrary,MusicVideoTitles,return)</onclick> + <visible>Library.HasContent(MusicVideos)</visible> + </control> + <control type="button" id="90104"> + <include>ButtonHomeSubCommonValues</include> + <label>744</label> + <onclick>ActivateWindow(VideoFiles)</onclick> + </control> + <control type="button" id="90105"> + <include>ButtonHomeSubCommonValues</include> + <label>14022</label> + <onclick>ActivateWindow(VideoLibrary)</onclick> + <visible>Library.HasContent(Videos)</visible> + </control> + <control type="button" id="90106"> + <include>ButtonHomeSubCommonValues</include> + <label>24001</label> + <onclick>ActivateWindow(VideoLibrary,Addons,return)</onclick> + <visible>Library.HasContent(Video)</visible> + </control> + <control type="button" id="90107"> + <include>ButtonHomeSubCommonValues</include> + <label>24001</label> + <onclick>ActivateWindow(VideoFiles,Addons,return)</onclick> + <visible>!Library.HasContent(Video)</visible> + </control> + <control type="button" id="90108"> + <description>Custom Addon Button 1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeVideosButton1))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeVideosButton1)])</onclick> + <visible>!IsEmpty(Skin.String(HomeVideosButton1))</visible> + </control> + <control type="button" id="90109"> + <description>Custom Addon Button 2</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeVideosButton2))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeVideosButton2)])</onclick> + <visible>!IsEmpty(Skin.String(HomeVideosButton2))</visible> + </control> + <control type="button" id="90110"> + <description>Custom Addon Button 3</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeVideosButton3))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeVideosButton3)])</onclick> + <visible>!IsEmpty(Skin.String(HomeVideosButton3))</visible> + </control> + </include> + <include name="HomeSubMenuMusic"> + <control type="button" id="90111"> + <include>ButtonHomeSubCommonValues</include> + <label>133</label> + <onclick>ActivateWindow(MusicLibrary,Artists,return)</onclick> + <visible>Library.HasContent(Music)</visible> + </control> + <control type="button" id="90112"> + <include>ButtonHomeSubCommonValues</include> + <label>132</label> + <onclick>ActivateWindow(MusicLibrary,Albums,return)</onclick> + <visible>Library.HasContent(Music)</visible> + </control> + <control type="button" id="90113"> + <include>ButtonHomeSubCommonValues</include> + <label>134</label> + <onclick>ActivateWindow(MusicLibrary,Songs,return)</onclick> + <visible>Library.HasContent(Music)</visible> + </control> + <control type="button" id="90114"> + <include>ButtonHomeSubCommonValues</include> + <label>744</label> + <onclick>ActivateWindow(MusicFiles)</onclick> + </control> + <control type="button" id="90115"> + <include>ButtonHomeSubCommonValues</include> + <label>14022</label> + <onclick>ActivateWindow(MusicLibrary)</onclick> + <visible>Library.HasContent(Music)</visible> + </control> + <control type="button" id="90116"> + <include>ButtonHomeSubCommonValues</include> + <label>24001</label> + <onclick>ActivateWindow(MusicLibrary,Addons,return)</onclick> + <visible>Library.HasContent(Music)</visible> + </control> + <control type="button" id="90117"> + <include>ButtonHomeSubCommonValues</include> + <label>24001</label> + <onclick>ActivateWindow(MusicFiles,Addons,return)</onclick> + <visible>!Library.HasContent(Music)</visible> + </control> + <control type="button" id="90118"> + <description>Custom Addon Button 1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeMusicButton1))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeMusicButton1)])</onclick> + <visible>!IsEmpty(Skin.String(HomeMusicButton1))</visible> + </control> + <control type="button" id="90119"> + <description>Custom Addon Button 2</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeMusicButton2))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeMusicButton2)])</onclick> + <visible>!IsEmpty(Skin.String(HomeMusicButton2))</visible> + </control> + <control type="button" id="90120"> + <description>Custom Addon Button 3</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeMusicButton3))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeMusicButton3)])</onclick> + <visible>!IsEmpty(Skin.String(HomeMusicButton3))</visible> + </control> + </include> + <include name="HomeSubMenuSystem"> + <control type="button" id="90141"> + <include>ButtonHomeSubCommonValues</include> + <label>5</label> + <onclick>ActivateWindow(Settings)</onclick> + </control> + <control type="button" id="90142"> + <include>ButtonHomeSubCommonValues</include> + <label>7</label> + <onclick>ActivateWindow(FileManager)</onclick> + </control> + <control type="button" id="90143"> + <include>ButtonHomeSubCommonValues</include> + <label>13200</label> + <onclick>ActivateWindow(Profiles)</onclick> + </control> + <control type="button" id="90144"> + <include>ButtonHomeSubCommonValues</include> + <label>130</label> + <onclick>ActivateWindow(SystemInfo)</onclick> + </control> + <control type="button" id="90145"> + <include>ButtonHomeSubCommonValues</include> + <label>Credits</label> + <onclick>ActivateWindow(Credits)</onclick> + <visible>False</visible> + </control> + </include> + <include name="HomeSubMenuPictures"> + <control type="button" id="90131"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomePictureButton1))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomePictureButton1)])</onclick> + <visible>!IsEmpty(Skin.String(HomePictureButton1))</visible> + </control> + <control type="button" id="90132"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomePictureButton2))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomePictureButton2)])</onclick> + <visible>!IsEmpty(Skin.String(HomePictureButton2))</visible> + </control> + <control type="button" id="90133"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomePictureButton3))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomePictureButton3)])</onclick> + <visible>!IsEmpty(Skin.String(HomePictureButton3))</visible> + </control> + <control type="button" id="90134"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomePictureButton4))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomePictureButton4)])</onclick> + <visible>!IsEmpty(Skin.String(HomePictureButton4))</visible> + </control> + <control type="button" id="90135"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomePictureButton5))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomePictureButton5)])</onclick> + <visible>!IsEmpty(Skin.String(HomePictureButton5))</visible> + </control> + <control type="button" id="90136"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomePictureButton6))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomePictureButton6)])</onclick> + <visible>!IsEmpty(Skin.String(HomePictureButton6))</visible> + </control> + </include> + <include name="HomeSubMenuPrograms"> + <control type="button" id="90151"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeProgramButton1))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeProgramButton1)])</onclick> + <visible>!IsEmpty(Skin.String(HomeProgramButton1))</visible> + </control> + <control type="button" id="90152"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeProgramButton2))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeProgramButton2)])</onclick> + <visible>!IsEmpty(Skin.String(HomeProgramButton2))</visible> + </control> + <control type="button" id="90153"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeProgramButton3))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeProgramButton3)])</onclick> + <visible>!IsEmpty(Skin.String(HomeProgramButton3))</visible> + </control> + <control type="button" id="90154"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeProgramButton4))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeProgramButton4)])</onclick> + <visible>!IsEmpty(Skin.String(HomeProgramButton4))</visible> + </control> + <control type="button" id="90155"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeProgramButton5))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeProgramButton5)])</onclick> + <visible>!IsEmpty(Skin.String(HomeProgramButton5))</visible> + </control> + <control type="button" id="90156"> + <description>Button1</description> + <include>ButtonHomeSubCommonValues</include> + <label>$INFO[system.addontitle(Skin.String(HomeProgramButton6))]</label> + <onclick>Setfocus(9000)</onclick> + <onclick>RunAddon($INFO[Skin.String(HomeProgramButton6)])</onclick> + <visible>!IsEmpty(Skin.String(HomeProgramButton6))</visible> + </control> + </include> + <include name="HomeSubMenuMovies"> + <control type="button" id="90161"> + <include>ButtonHomeSubCommonValues</include> + <label>369</label> + <onclick>ActivateWindow(VideoLibrary,MovieTitles,return)</onclick> + </control> + <control type="button" id="90162"> + <include>ButtonHomeSubCommonValues</include> + <label>135</label> + <onclick>ActivateWindow(VideoLibrary,MovieGenres,return)</onclick> + </control> + <control type="button" id="90163"> + <include>ButtonHomeSubCommonValues</include> + <label>652</label> + <onclick>ActivateWindow(VideoLibrary,MovieYears,return)</onclick> + </control> + <control type="button" id="90164"> + <include>ButtonHomeSubCommonValues</include> + <label>344</label> + <onclick>ActivateWindow(VideoLibrary,MovieActors,return)</onclick> + </control> + <control type="button" id="90165"> + <include>ButtonHomeSubCommonValues</include> + <label>20348</label> + <onclick>ActivateWindow(VideoLibrary,MovieDirectors,return)</onclick> + </control> + <control type="button" id="90166"> + <include>ButtonHomeSubCommonValues</include> + <label>31328</label> + <onclick>ActivateWindow(VideoLibrary,RecentlyAddedMovies,return)</onclick> + </control> + </include> + <include name="HomeSubMenuTVShows"> + <control type="button" id="90171"> + <include>ButtonHomeSubCommonValues</include> + <label>369</label> + <onclick>ActivateWindow(VideoLibrary,TVShowTitles,return)</onclick> + </control> + <control type="button" id="90172"> + <include>ButtonHomeSubCommonValues</include> + <label>135</label> + <onclick>ActivateWindow(VideoLibrary,TVShowGenres,return)</onclick> + </control> + <control type="button" id="90173"> + <include>ButtonHomeSubCommonValues</include> + <label>652</label> + <onclick>ActivateWindow(VideoLibrary,TVShowYears,return)</onclick> + </control> + <control type="button" id="90174"> + <include>ButtonHomeSubCommonValues</include> + <label>344</label> + <onclick>ActivateWindow(VideoLibrary,TVShowActors,return)</onclick> + </control> + <control type="button" id="90175"> + <include>ButtonHomeSubCommonValues</include> + <label>31328</label> + <onclick>ActivateWindow(VideoLibrary,RecentlyAddedEpisodes,return)</onclick> + </control> + </include> +</includes> diff --git a/addons/skin.confluence/720p/IncludesHomeRecentlyAdded.xml b/addons/skin.confluence/720p/IncludesHomeRecentlyAdded.xml index 224587d119..c22d94fd40 100644 --- a/addons/skin.confluence/720p/IncludesHomeRecentlyAdded.xml +++ b/addons/skin.confluence/720p/IncludesHomeRecentlyAdded.xml @@ -1,324 +1,324 @@ -<includes>
- <include name="HomeRecentlyAddedInfo">
- <control type="group">
- <visible>!Window.IsVisible(Favourites)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="fade" time="300" delay="1000">WindowOpen</animation>
- <animation effect="fade" time="200">WindowClose</animation>
- <control type="group">
- <posx>275r</posx>
- <posy>50</posy>
- <visible>Library.HasContent(Movies)</visible>
- <visible>[Container(9000).Hasfocus(2) + !Skin.HasSetting(HomeMenuNoMoviesButton)] | Container(9000).Hasfocus(10)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" time="0" start="0,0" end="-260,0" condition="[Library.HasContent(TVShows) + ![Skin.HasSetting(HomeMenuNoMoviesButton) | Skin.HasSetting(HomeMenuNoTVShowsButton)]]">Conditional</animation>
- <control type="image">
- <description>background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>300</height>
- <texture border="10">RecentAddedNF.png</texture>
- </control>
- <control type="label">
- <description>Title label</description>
- <posx>10</posx>
- <posy>5</posy>
- <height>20</height>
- <width>230</width>
- <label>31323</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>Main Icon -3</description>
- <posx>165</posx>
- <posy>60</posy>
- <width>75</width>
- <height>110</height>
- <aspectratio align="left">keep</aspectratio>
- <texture background="true">$INFO[Window.Property(LatestMovie.4.Thumb)]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <description>Main Icon -2</description>
- <posx>130</posx>
- <posy>50</posy>
- <width>86</width>
- <height>130</height>
- <aspectratio align="left">keep</aspectratio>
- <texture background="true">$INFO[Window.Property(LatestMovie.3.Thumb)]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <description>Main Icon -1</description>
- <posx>80</posx>
- <posy>40</posy>
- <width>100</width>
- <height>150</height>
- <aspectratio align="left">keep</aspectratio>
- <texture background="true">$INFO[Window.Property(LatestMovie.2.Thumb)]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <description>Main Icon</description>
- <posx>10</posx>
- <posy>25</posy>
- <width>120</width>
- <height>180</height>
- <aspectratio align="left">keep</aspectratio>
- <texture background="true">$INFO[Window.Property(LatestMovie.1.Thumb)]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="list" id="8000">
- <posx>0</posx>
- <posy>200</posy>
- <width>250</width>
- <height>92</height>
- <onleft>9000</onleft>
- <onright>8001</onright>
- <onup>8000</onup>
- <ondown>8000</ondown>
- <viewtype label="535">list</viewtype>
- <pagecontrol>-</pagecontrol>
- <scrolltime>0</scrolltime>
- <itemlayout height="23" width="230">
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>230</width>
- <height>23</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </itemlayout>
- <focusedlayout height="23" width="230">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>23</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(8000)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>230</width>
- <height>23</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </focusedlayout>
- <content>
- <item id="1">
- <label>$INFO[Window.Property(LatestMovie.1.Title)]</label>
- <label2></label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestMovie.1.Path)])</onclick>
- <icon>-</icon>
- <thumb>-</thumb>
- </item>
- <item id="2">
- <label>$INFO[Window.Property(LatestMovie.2.Title)]</label>
- <label2></label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestMovie.2.Path)])</onclick>
- <icon>-</icon>
- <thumb>-</thumb>
- </item>
- <item id="3">
- <label>$INFO[Window.Property(LatestMovie.3.Title)]</label>
- <label2></label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestMovie.3.Path)])</onclick>
- <icon>-</icon>
- <thumb>-</thumb>
- </item>
- <item id="4">
- <label>$INFO[Window.Property(LatestMovie.4.Title)]</label>
- <label2></label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestMovie.4.Path)])</onclick>
- <icon>-</icon>
- <thumb>-</thumb>
- </item>
- </content>
- </control>
- </control>
- <control type="group">
- <posx>275r</posx>
- <posy>50</posy>
- <visible>Library.HasContent(TVShows)</visible>
- <visible>[Container(9000).Hasfocus(2) + !Skin.HasSetting(HomeMenuNoTVShowsButton)] | Container(9000).Hasfocus(11)</visible>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <description>background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>300</height>
- <texture border="10">RecentAddedNF.png</texture>
- </control>
- <control type="label">
- <description>Title label</description>
- <posx>10</posx>
- <posy>5</posy>
- <height>20</height>
- <width>230</width>
- <label>31324</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>Main Icon</description>
- <posx>10</posx>
- <posy>30</posy>
- <width>230</width>
- <height>120</height>
- <aspectratio>keep</aspectratio>
- <texture background="true">$INFO[Window.Property(LatestEpisode.1.Thumb)]</texture>
- <visible>!Control.HasFocus(8001)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <description>Main Icon</description>
- <posx>10</posx>
- <posy>30</posy>
- <width>230</width>
- <height>120</height>
- <aspectratio>keep</aspectratio>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[Container(8001).ListItem.Thumb]</texture>
- <visible>Control.HasFocus(8001)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="list" id="8001">
- <posx>0</posx>
- <posy>155</posy>
- <width>250</width>
- <height>136</height>
- <onleft>8000</onleft>
- <onright>8001</onright>
- <onup>8001</onup>
- <ondown>8001</ondown>
- <viewtype label="535">list</viewtype>
- <pagecontrol>-</pagecontrol>
- <scrolltime>0</scrolltime>
- <itemlayout height="34" width="230">
- <control type="label">
- <posx>10</posx>
- <posy>2</posy>
- <width>230</width>
- <height>10</height>
- <font>font10</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>12</posy>
- <width>230</width>
- <height>20</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </itemlayout>
- <focusedlayout height="34" width="230">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>34</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(8001)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>2</posy>
- <width>230</width>
- <height>10</height>
- <font>font10</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>12</posy>
- <width>230</width>
- <height>20</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </focusedlayout>
- <content>
- <item id="1">
- <label>$INFO[Window.Property(LatestEpisode.1.EpisodeTitle)]</label>
- <label2>$INFO[Window.Property(LatestEpisode.1.ShowTitle)] - $INFO[Window.Property(LatestEpisode.1.EpisodeNo)]</label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.1.Path)])</onclick>
- <icon>-</icon>
- <thumb>$INFO[Window.Property(LatestEpisode.1.Thumb)]</thumb>
- </item>
- <item id="2">
- <label>$INFO[Window.Property(LatestEpisode.2.EpisodeTitle)]</label>
- <label2>$INFO[Window.Property(LatestEpisode.2.ShowTitle)] - $INFO[Window.Property(LatestEpisode.2.EpisodeNo)]</label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.2.Path)])</onclick>
- <icon>-</icon>
- <thumb>$INFO[Window.Property(LatestEpisode.2.Thumb)]</thumb>
- </item>
- <item id="3">
- <label>$INFO[Window.Property(LatestEpisode.3.EpisodeTitle)]</label>
- <label2>$INFO[Window.Property(LatestEpisode.3.ShowTitle)] - $INFO[Window.Property(LatestEpisode.3.EpisodeNo)]</label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.3.Path)])</onclick>
- <icon>-</icon>
- <thumb>$INFO[Window.Property(LatestEpisode.3.Thumb)]</thumb>
- </item>
- <item id="4">
- <label>$INFO[Window.Property(LatestEpisode.4.EpisodeTitle)]</label>
- <label2>$INFO[Window.Property(LatestEpisode.4.ShowTitle)] - $INFO[Window.Property(LatestEpisode.4.EpisodeNo)]</label2>
- <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.4.Path)])</onclick>
- <icon>-</icon>
- <thumb>$INFO[Window.Property(LatestEpisode.4.Thumb)]</thumb>
- </item>
- </content>
- </control>
- </control>
- </control>
- </include>
+<includes> + <include name="HomeRecentlyAddedInfo"> + <control type="group"> + <visible>!Window.IsVisible(Favourites)</visible> + <include>VisibleFadeEffect</include> + <animation effect="fade" time="300" delay="1000">WindowOpen</animation> + <animation effect="fade" time="200">WindowClose</animation> + <control type="group"> + <posx>275r</posx> + <posy>50</posy> + <visible>Library.HasContent(Movies)</visible> + <visible>[Container(9000).Hasfocus(2) + !Skin.HasSetting(HomeMenuNoMoviesButton)] | Container(9000).Hasfocus(10)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" time="0" start="0,0" end="-260,0" condition="[Library.HasContent(TVShows) + ![Skin.HasSetting(HomeMenuNoMoviesButton) | Skin.HasSetting(HomeMenuNoTVShowsButton)]]">Conditional</animation> + <control type="image"> + <description>background</description> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>300</height> + <texture border="10">RecentAddedNF.png</texture> + </control> + <control type="label"> + <description>Title label</description> + <posx>10</posx> + <posy>5</posy> + <height>20</height> + <width>230</width> + <label>31323</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>Main Icon -3</description> + <posx>165</posx> + <posy>60</posy> + <width>75</width> + <height>110</height> + <aspectratio align="left">keep</aspectratio> + <texture background="true">$INFO[Window.Property(LatestMovie.4.Thumb)]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <description>Main Icon -2</description> + <posx>130</posx> + <posy>50</posy> + <width>86</width> + <height>130</height> + <aspectratio align="left">keep</aspectratio> + <texture background="true">$INFO[Window.Property(LatestMovie.3.Thumb)]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <description>Main Icon -1</description> + <posx>80</posx> + <posy>40</posy> + <width>100</width> + <height>150</height> + <aspectratio align="left">keep</aspectratio> + <texture background="true">$INFO[Window.Property(LatestMovie.2.Thumb)]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <description>Main Icon</description> + <posx>10</posx> + <posy>25</posy> + <width>120</width> + <height>180</height> + <aspectratio align="left">keep</aspectratio> + <texture background="true">$INFO[Window.Property(LatestMovie.1.Thumb)]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="list" id="8000"> + <posx>0</posx> + <posy>200</posy> + <width>250</width> + <height>92</height> + <onleft>9000</onleft> + <onright>8001</onright> + <onup>8000</onup> + <ondown>8000</ondown> + <viewtype label="535">list</viewtype> + <pagecontrol>-</pagecontrol> + <scrolltime>0</scrolltime> + <itemlayout height="23" width="230"> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>230</width> + <height>23</height> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </itemlayout> + <focusedlayout height="23" width="230"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>23</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(8000)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>230</width> + <height>23</height> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </focusedlayout> + <content> + <item id="1"> + <label>$INFO[Window.Property(LatestMovie.1.Title)]</label> + <label2></label2> + <onclick>PlayMedia($INFO[Window.Property(LatestMovie.1.Path)])</onclick> + <icon>-</icon> + <thumb>-</thumb> + </item> + <item id="2"> + <label>$INFO[Window.Property(LatestMovie.2.Title)]</label> + <label2></label2> + <onclick>PlayMedia($INFO[Window.Property(LatestMovie.2.Path)])</onclick> + <icon>-</icon> + <thumb>-</thumb> + </item> + <item id="3"> + <label>$INFO[Window.Property(LatestMovie.3.Title)]</label> + <label2></label2> + <onclick>PlayMedia($INFO[Window.Property(LatestMovie.3.Path)])</onclick> + <icon>-</icon> + <thumb>-</thumb> + </item> + <item id="4"> + <label>$INFO[Window.Property(LatestMovie.4.Title)]</label> + <label2></label2> + <onclick>PlayMedia($INFO[Window.Property(LatestMovie.4.Path)])</onclick> + <icon>-</icon> + <thumb>-</thumb> + </item> + </content> + </control> + </control> + <control type="group"> + <posx>275r</posx> + <posy>50</posy> + <visible>Library.HasContent(TVShows)</visible> + <visible>[Container(9000).Hasfocus(2) + !Skin.HasSetting(HomeMenuNoTVShowsButton)] | Container(9000).Hasfocus(11)</visible> + <include>VisibleFadeEffect</include> + <control type="image"> + <description>background</description> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>300</height> + <texture border="10">RecentAddedNF.png</texture> + </control> + <control type="label"> + <description>Title label</description> + <posx>10</posx> + <posy>5</posy> + <height>20</height> + <width>230</width> + <label>31324</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>Main Icon</description> + <posx>10</posx> + <posy>30</posy> + <width>230</width> + <height>120</height> + <aspectratio>keep</aspectratio> + <texture background="true">$INFO[Window.Property(LatestEpisode.1.Thumb)]</texture> + <visible>!Control.HasFocus(8001)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <description>Main Icon</description> + <posx>10</posx> + <posy>30</posy> + <width>230</width> + <height>120</height> + <aspectratio>keep</aspectratio> + <fadetime>200</fadetime> + <texture background="true">$INFO[Container(8001).ListItem.Thumb]</texture> + <visible>Control.HasFocus(8001)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="list" id="8001"> + <posx>0</posx> + <posy>155</posy> + <width>250</width> + <height>136</height> + <onleft>8000</onleft> + <onright>8001</onright> + <onup>8001</onup> + <ondown>8001</ondown> + <viewtype label="535">list</viewtype> + <pagecontrol>-</pagecontrol> + <scrolltime>0</scrolltime> + <itemlayout height="34" width="230"> + <control type="label"> + <posx>10</posx> + <posy>2</posy> + <width>230</width> + <height>10</height> + <font>font10</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="label"> + <posx>10</posx> + <posy>12</posy> + <width>230</width> + <height>20</height> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </itemlayout> + <focusedlayout height="34" width="230"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>34</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(8001)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>10</posx> + <posy>2</posy> + <width>230</width> + <height>10</height> + <font>font10</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="label"> + <posx>10</posx> + <posy>12</posy> + <width>230</width> + <height>20</height> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </focusedlayout> + <content> + <item id="1"> + <label>$INFO[Window.Property(LatestEpisode.1.EpisodeTitle)]</label> + <label2>$INFO[Window.Property(LatestEpisode.1.ShowTitle)] - $INFO[Window.Property(LatestEpisode.1.EpisodeNo)]</label2> + <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.1.Path)])</onclick> + <icon>-</icon> + <thumb>$INFO[Window.Property(LatestEpisode.1.Thumb)]</thumb> + </item> + <item id="2"> + <label>$INFO[Window.Property(LatestEpisode.2.EpisodeTitle)]</label> + <label2>$INFO[Window.Property(LatestEpisode.2.ShowTitle)] - $INFO[Window.Property(LatestEpisode.2.EpisodeNo)]</label2> + <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.2.Path)])</onclick> + <icon>-</icon> + <thumb>$INFO[Window.Property(LatestEpisode.2.Thumb)]</thumb> + </item> + <item id="3"> + <label>$INFO[Window.Property(LatestEpisode.3.EpisodeTitle)]</label> + <label2>$INFO[Window.Property(LatestEpisode.3.ShowTitle)] - $INFO[Window.Property(LatestEpisode.3.EpisodeNo)]</label2> + <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.3.Path)])</onclick> + <icon>-</icon> + <thumb>$INFO[Window.Property(LatestEpisode.3.Thumb)]</thumb> + </item> + <item id="4"> + <label>$INFO[Window.Property(LatestEpisode.4.EpisodeTitle)]</label> + <label2>$INFO[Window.Property(LatestEpisode.4.ShowTitle)] - $INFO[Window.Property(LatestEpisode.4.EpisodeNo)]</label2> + <onclick>PlayMedia($INFO[Window.Property(LatestEpisode.4.Path)])</onclick> + <icon>-</icon> + <thumb>$INFO[Window.Property(LatestEpisode.4.Thumb)]</thumb> + </item> + </content> + </control> + </control> + </control> + </include> </includes>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/LockSettings.xml b/addons/skin.confluence/720p/LockSettings.xml index 088fd538d8..2e1ba29b24 100644 --- a/addons/skin.confluence/720p/LockSettings.xml +++ b/addons/skin.confluence/720p/LockSettings.xml @@ -1,144 +1,144 @@ -<window id="131">
- <defaultcontrol>5</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>290</posx>
- <posy>75</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>700</width>
- <height>570</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>450</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>610</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>5</onleft>
- <onright>5</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>660</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[20043]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="grouplist" id="5">
- <description>control area</description>
- <posx>20</posx>
- <posy>80</posy>
- <width>660</width>
- <height>400</height>
- <itemgap>-1</itemgap>
- <pagecontrol>60</pagecontrol>
- <onleft>28</onleft>
- <onright>60</onright>
- <onup>28</onup>
- <ondown>28</ondown>
- </control>
- <control type="button" id="7">
- <description>Default Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="8">
- <description>Default RadioButton</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="spincontrolex" id="9">
- <description>Default SpinControlex</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <aligny>center</aligny>
- <reverse>yes</reverse>
- </control>
- <control type="image" id="11">
- <description>separator image</description>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="button" id="28">
- <description>Ok Button</description>
- <posx>145</posx>
- <posy>500</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>186</label>
- <onleft>29</onleft>
- <onright>29</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- </control>
- <control type="button" id="29">
- <description>Cancel Button</description>
- <posx>355</posx>
- <posy>500</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>222</label>
- <onleft>28</onleft>
- <onright>28</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- </control>
- </controls>
+<window id="131"> + <defaultcontrol>5</defaultcontrol> + <coordinates> + <system>1</system> + <posx>290</posx> + <posy>75</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>700</width> + <height>570</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>450</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>610</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>5</onleft> + <onright>5</onright> + <onup>5</onup> + <ondown>5</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>660</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[20043]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="grouplist" id="5"> + <description>control area</description> + <posx>20</posx> + <posy>80</posy> + <width>660</width> + <height>400</height> + <itemgap>-1</itemgap> + <pagecontrol>60</pagecontrol> + <onleft>28</onleft> + <onright>60</onright> + <onup>28</onup> + <ondown>28</ondown> + </control> + <control type="button" id="7"> + <description>Default Button</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="8"> + <description>Default RadioButton</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="spincontrolex" id="9"> + <description>Default SpinControlex</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <aligny>center</aligny> + <reverse>yes</reverse> + </control> + <control type="image" id="11"> + <description>separator image</description> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="button" id="28"> + <description>Ok Button</description> + <posx>145</posx> + <posy>500</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>186</label> + <onleft>29</onleft> + <onright>29</onright> + <onup>5</onup> + <ondown>5</ondown> + </control> + <control type="button" id="29"> + <description>Cancel Button</description> + <posx>355</posx> + <posy>500</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>222</label> + <onleft>28</onleft> + <onright>28</onright> + <onup>5</onup> + <ondown>5</ondown> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/LoginScreen.xml b/addons/skin.confluence/720p/LoginScreen.xml index 87ed855c41..baad82d48f 100644 --- a/addons/skin.confluence/720p/LoginScreen.xml +++ b/addons/skin.confluence/720p/LoginScreen.xml @@ -1,272 +1,272 @@ -<window id="29">
- <defaultcontrol always="true">52</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <coordinates>
- <system>1</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- <animation effect="fade" time="400">WindowClose</animation>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- </control>
- <control type="image">
- <posx>265</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>265</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>250r</posx>
- <posy>80r</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>50</posx>
- <posy>60r</posy>
- <width>140</width>
- <height>40</height>
- <texture>XBMC_Logo.png</texture>
- </control>
- <control type="label">
- <posx>295</posx>
- <posy>100</posy>
- <width>690</width>
- <height>40</height>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31421]</label>
- </control>
- <control type="list" id="52">
- <posx>295</posx>
- <posy>170</posy>
- <width>690</width>
- <height>401</height>
- <onleft>20</onleft>
- <onright>20</onright>
- <onup>52</onup>
- <ondown>52</ondown>
- <viewtype label="535">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="100" width="690">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>690</width>
- <height>101</height>
- <texture border="0,5,0,5">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>10</posy>
- <width>80</width>
- <height>80</height>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>110</posx>
- <posy>10</posy>
- <width>580</width>
- <height>40</height>
- <font>font24_title</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>110</posx>
- <posy>50</posy>
- <width>580</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </itemlayout>
- <focusedlayout height="100" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>690</width>
- <height>101</height>
- <texture border="0,5,0,5">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(52)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>690</width>
- <height>101</height>
- <texture border="0,5,0,5">MenuItemFO.png</texture>
- <visible>Control.HasFocus(52)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>10</posy>
- <width>80</width>
- <height>80</height>
- <texture>$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>110</posx>
- <posy>10</posy>
- <width>580</width>
- <height>40</height>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>110</posx>
- <posy>50</posy>
- <width>580</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <posx>940</posx>
- <posy>600</posy>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>35</height>
- <font>font12caps</font>
- <textcolor>grey2</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31003]</label>
- </control>
- <control type="button" id="20">
- <description>Power push button</description>
- <posx>10</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <font>-</font>
- <aligny>-</aligny>
- <onclick>ActivateWindow(ShutdownMenu)</onclick>
- <texturefocus>home-power-FO.png</texturefocus>
- <texturenofocus>home-power.png</texturenofocus>
- <onleft>52</onleft>
- <onright>52</onright>
- <onup>52</onup>
- <ondown>52</ondown>
- <colordiffuse>CCFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>13</posx>
- <posy>3</posy>
- <width>30</width>
- <height>29</height>
- <texture>home-power-focus.gif</texture>
- <visible>Control.HasFocus(20)</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>400r</posx>
- <posy>0</posy>
- <animation effect="slide" start="0,0" end="400,0" delay="0" time="300">WindowClose</animation>
- <animation effect="slide" start="400,0" end="0,0" delay="0" time="300">WindowOpen</animation>
- <control type="image">
- <description>time background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>440</width>
- <height>35</height>
- <texture flipx="true" border="32,0,0,0">header.png</texture>
- </control>
- <control type="label">
- <description>time label</description>
- <posx>30</posx>
- <posy>0</posy>
- <width>400</width>
- <height>28</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>[COLOR=grey]$INFO[System.Date][/COLOR] | $INFO[System.Time]</label>
- </control>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>0</posy>
- <animation effect="slide" end="-270,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-270,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[20096]</label>
- </control>
- </control>
- </controls>
-</window>
+<window id="29"> + <defaultcontrol always="true">52</defaultcontrol> + <allowoverlay>no</allowoverlay> + <coordinates> + <system>1</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + <animation effect="fade" time="400">WindowClose</animation> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + </control> + <control type="image"> + <posx>265</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>265</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <description>LOGO</description> + <posx>250r</posx> + <posy>80r</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="image"> + <description>LOGO</description> + <posx>50</posx> + <posy>60r</posy> + <width>140</width> + <height>40</height> + <texture>XBMC_Logo.png</texture> + </control> + <control type="label"> + <posx>295</posx> + <posy>100</posy> + <width>690</width> + <height>40</height> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <align>center</align> + <aligny>center</aligny> + <label>$LOCALIZE[31421]</label> + </control> + <control type="list" id="52"> + <posx>295</posx> + <posy>170</posy> + <width>690</width> + <height>401</height> + <onleft>20</onleft> + <onright>20</onright> + <onup>52</onup> + <ondown>52</ondown> + <viewtype label="535">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="100" width="690"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>690</width> + <height>101</height> + <texture border="0,5,0,5">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>10</posy> + <width>80</width> + <height>80</height> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>110</posx> + <posy>10</posy> + <width>580</width> + <height>40</height> + <font>font24_title</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>110</posx> + <posy>50</posy> + <width>580</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </itemlayout> + <focusedlayout height="100" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>690</width> + <height>101</height> + <texture border="0,5,0,5">MenuItemNF.png</texture> + <visible>!Control.HasFocus(52)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>690</width> + <height>101</height> + <texture border="0,5,0,5">MenuItemFO.png</texture> + <visible>Control.HasFocus(52)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>10</posx> + <posy>10</posy> + <width>80</width> + <height>80</height> + <texture>$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>110</posx> + <posy>10</posy> + <width>580</width> + <height>40</height> + <font>font24_title</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>110</posx> + <posy>50</posy> + <width>580</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </focusedlayout> + </control> + <control type="group"> + <posx>940</posx> + <posy>600</posy> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>35</height> + <font>font12caps</font> + <textcolor>grey2</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$LOCALIZE[31003]</label> + </control> + <control type="button" id="20"> + <description>Power push button</description> + <posx>10</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <font>-</font> + <aligny>-</aligny> + <onclick>ActivateWindow(ShutdownMenu)</onclick> + <texturefocus>home-power-FO.png</texturefocus> + <texturenofocus>home-power.png</texturenofocus> + <onleft>52</onleft> + <onright>52</onright> + <onup>52</onup> + <ondown>52</ondown> + <colordiffuse>CCFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>13</posx> + <posy>3</posy> + <width>30</width> + <height>29</height> + <texture>home-power-focus.gif</texture> + <visible>Control.HasFocus(20)</visible> + </control> + </control> + </control> + <control type="group"> + <posx>400r</posx> + <posy>0</posy> + <animation effect="slide" start="0,0" end="400,0" delay="0" time="300">WindowClose</animation> + <animation effect="slide" start="400,0" end="0,0" delay="0" time="300">WindowOpen</animation> + <control type="image"> + <description>time background</description> + <posx>0</posx> + <posy>0</posy> + <width>440</width> + <height>35</height> + <texture flipx="true" border="32,0,0,0">header.png</texture> + </control> + <control type="label"> + <description>time label</description> + <posx>30</posx> + <posy>0</posy> + <width>400</width> + <height>28</height> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <label>[COLOR=grey]$INFO[System.Date][/COLOR] | $INFO[System.Time]</label> + </control> + </control> + <control type="group"> + <posx>0</posx> + <posy>0</posy> + <animation effect="slide" end="-270,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-270,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[20096]</label> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MusicKaraokeLyrics.xml b/addons/skin.confluence/720p/MusicKaraokeLyrics.xml index 6ab6078fbb..84900bf39d 100644 --- a/addons/skin.confluence/720p/MusicKaraokeLyrics.xml +++ b/addons/skin.confluence/720p/MusicKaraokeLyrics.xml @@ -1,45 +1,45 @@ -<window id="2009">
- <controls>
- <control type="karvisualisation" id="1">
- <description>visualisation</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <visibility>false</visibility>
- </control>
- <control type="image" id="2">
- <description>fullscreen image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <visibility>false</visibility>
- </control>
- <control type="group">
- <visible>MusicPlayer.Offset(number).Exists + !IntegerGreaterThan(Player.TimeRemaining,20)</visible>
- <animation effect="slide" start="0,-40" end="0,0" time="100">Visible</animation>
- <posx>420</posx>
- <posy>0</posy>
- <control type="image">
- <posx>0</posx>
- <posy>-10</posy>
- <width>470</width>
- <height>55</height>
- <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="label" id="402">
- <description>Next Song Name</description>
- <posx>5</posx>
- <posy>5</posy>
- <width>470</width>
- <height>25</height>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>[COLOR=blue]$LOCALIZE[209] :[/COLOR] [COLOR=selected]$INFO[MusicPlayer.offset(1).Title][/COLOR]</label>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- </control>
- </controls>
-</window>
+<window id="2009"> + <controls> + <control type="karvisualisation" id="1"> + <description>visualisation</description> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <visibility>false</visibility> + </control> + <control type="image" id="2"> + <description>fullscreen image</description> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <visibility>false</visibility> + </control> + <control type="group"> + <visible>MusicPlayer.Offset(number).Exists + !IntegerGreaterThan(Player.TimeRemaining,20)</visible> + <animation effect="slide" start="0,-40" end="0,0" time="100">Visible</animation> + <posx>420</posx> + <posy>0</posy> + <control type="image"> + <posx>0</posx> + <posy>-10</posy> + <width>470</width> + <height>55</height> + <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="label" id="402"> + <description>Next Song Name</description> + <posx>5</posx> + <posy>5</posy> + <width>470</width> + <height>25</height> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>[COLOR=blue]$LOCALIZE[209] :[/COLOR] [COLOR=selected]$INFO[MusicPlayer.offset(1).Title][/COLOR]</label> + <align>center</align> + <aligny>center</aligny> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MusicOSD.xml b/addons/skin.confluence/720p/MusicOSD.xml index 3c215f7204..78b8121043 100644 --- a/addons/skin.confluence/720p/MusicOSD.xml +++ b/addons/skin.confluence/720p/MusicOSD.xml @@ -1,448 +1,448 @@ -<window type="dialog" id="120">
- <defaultcontrol always="true">602</defaultcontrol>
- <controls>
- <control type="group">
- <animation effect="slide" start="0,-145" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,-145" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="0,0" end="0,-145" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(VisualisationSettings) | Window.IsVisible(VisualisationPresetList)">Conditional</animation>
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>-145</posy>
- <width>1280</width>
- <height>256</height>
- <texture>MediaInfoBackUpper.png</texture>
- </control>
- <control type="group" id="200">
- <posx>367</posx>
- <posy>4</posy>
- <control type="button" id="700">
- <posx>0</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>10517</label>
- <font>-</font>
- <texturefocus>OSDPlaylistFO.png</texturefocus>
- <texturenofocus>OSDPlaylistNF.png</texturenofocus>
- <onleft>706</onleft>
- <onright>500</onright>
- <onup>600</onup>
- <ondown>600</ondown>
- <onclick>ActivateWindow(MusicPlaylist)</onclick>
- </control>
- <control type="button" id="500">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>12006</label>
- <font>-</font>
- <texturefocus>OSDVizFO.png</texturefocus>
- <texturenofocus>OSDVizNF.png</texturenofocus>
- <onleft>700</onleft>
- <onright>701</onright>
- <onup>600</onup>
- <ondown>600</ondown>
- </control>
- <control type="button" id="701">
- <posx>100</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>$LOCALIZE[250] $LOCALIZE[21417]</label>
- <font>-</font>
- <texturefocus>OSDPresetSettingsFO.png</texturefocus>
- <texturenofocus>OSDPresetSettingsNF.png</texturenofocus>
- <onleft>500</onleft>
- <onright>702</onright>
- <onup>600</onup>
- <ondown>600</ondown>
- <onclick>Addon.Default.OpenSettings(xbmc.player.musicviz)</onclick>
- </control>
- <control type="button" id="702">
- <posx>150</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>31048</label>
- <font>-</font>
- <texturefocus>OSDPreFO.png</texturefocus>
- <texturenofocus>OSDPreNF.png</texturenofocus>
- <onleft>701</onleft>
- <onright>800</onright>
- <onup>601</onup>
- <ondown>601</ondown>
- <onclick>ActivateWindow(122)</onclick>
- </control>
- </control>
- <control type="image" id="11">
- <description>separator image</description>
- <posx>567</posx>
- <posy>25</posy>
- <width>150</width>
- <height>1</height>
- <colordiffuse>66FFFFFF</colordiffuse>
- <texture>separator2.png</texture>
- <visible>!LastFM.RadioPlaying</visible>
- </control>
- <control type="group" id="202">
- <posx>607</posx>
- <posy>10</posy>
- <visible>LastFM.RadioPlaying</visible>
- <control type="button" id="800">
- <posx>0</posx>
- <posy>0</posy>
- <width>30</width>
- <height>30</height>
- <label>$LOCALIZE[15200] $LOCALIZE[31001]</label>
- <align>right</align>
- <font>-</font>
- <textoffsetx>35</textoffsetx>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <texturefocus>lastfm-love-focus.png</texturefocus>
- <texturenofocus>lastfm-love-nofocus.png</texturenofocus>
- <onleft>702</onleft>
- <onright>801</onright>
- <onup>602</onup>
- <ondown>602</ondown>
- <onclick>XBMC.LastFM.Love</onclick>
- </control>
- <control type="button" id="801">
- <posx>36</posx>
- <posy>0</posy>
- <width>30</width>
- <width>30</width>
- <height>30</height>
- <label>$LOCALIZE[15200] $LOCALIZE[31002]</label>
- <align>left</align>
- <font>-</font>
- <textoffsetx>35</textoffsetx>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <texturefocus>lastfm-hate-focus.png</texturefocus>
- <texturenofocus>lastfm-hate-nofocus.png</texturenofocus>
- <onleft>800</onleft>
- <onright>703</onright>
- <onup>603</onup>
- <ondown>603</ondown>
- <onclick>XBMC.LastFM.Ban</onclick>
- </control>
- </control>
- <control type="group" id="201">
- <posx>718</posx>
- <posy>4</posy>
- <control type="togglebutton" id="703">
- <posx>0</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>31128</label>
- <font>-</font>
- <texturefocus>OSDLyricsFO.png</texturefocus>
- <texturenofocus>OSDLyricsNF.png</texturenofocus>
- <alttexturefocus>OSDLyricsFO.png</alttexturefocus>
- <alttexturenofocus>OSDLyricsNF.png</alttexturenofocus>
- <onleft>801</onleft>
- <onright>704</onright>
- <onup>604</onup>
- <ondown>604</ondown>
- <onclick>Close</onclick>
- <onclick>XBMC.RunScript($INFO[Skin.String(LyricScript_Path)])</onclick>
- <altclick>Skin.SetAddon(LyricScript_Path,xbmc.python.lyrics)</altclick>
- <altclick>Close</altclick>
- <altclick>XBMC.RunScript($INFO[Skin.String(LyricScript_Path)])</altclick>
- <usealttexture>IsEmpty(Skin.String(LyricScript_Path))</usealttexture>
- </control>
- <control type="button" id="704">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>$LOCALIZE[486]$INFO[Playlist.Repeat, : ]</label>
- <font>-</font>
- <texturefocus>-</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onclick>XBMC.PlayerControl(Repeat)</onclick>
- <onleft>703</onleft>
- <onright>705</onright>
- <onup>605</onup>
- <ondown>605</ondown>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <texture>OSDRepeatNF.png</texture>
- <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
- <visible>!Control.HasFocus(704)</visible>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <texture>OSDRepeatFO.png</texture>
- <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
- <visible>Control.HasFocus(704)</visible>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <texture>OSDRepeatOneNF.png</texture>
- <visible>Playlist.IsRepeatOne</visible>
- <visible>!Control.HasFocus(704)</visible>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <texture>OSDRepeatOneFO.png</texture>
- <visible>Playlist.IsRepeatOne</visible>
- <visible>Control.HasFocus(704)</visible>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <texture>OSDRepeatAllNF.png</texture>
- <visible>Playlist.IsRepeat</visible>
- <visible>!Control.HasFocus(704)</visible>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <texture>OSDRepeatAllFO.png</texture>
- <visible>Playlist.IsRepeat</visible>
- <visible>Control.HasFocus(704)</visible>
- </control>
- <control type="togglebutton" id="705">
- <posx>100</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>$LOCALIZE[590]$INFO[Playlist.Random, : ]</label>
- <font>-</font>
- <texturefocus>OSDRandomOffFO.png</texturefocus>
- <texturenofocus>OSDRandomOffNF.png</texturenofocus>
- <usealttexture>Playlist.IsRandom</usealttexture>
- <alttexturefocus>OSDRandomOnFO.png</alttexturefocus>
- <alttexturenofocus>OSDRandomOnNF.png</alttexturenofocus>
- <onclick>XBMC.PlayerControl(Random)</onclick>
- <onleft>704</onleft>
- <onright>706</onright>
- <onup>605</onup>
- <ondown>605</ondown>
- </control>
- <control type="button" id="706">
- <posx>150</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>264</label>
- <font>-</font>
- <texturefocus>OSDRecordFO.png</texturefocus>
- <texturenofocus>OSDRecordNF.png</texturenofocus>
- <onleft>705</onleft>
- <onright>700</onright>
- <onup>605</onup>
- <ondown>605</ondown>
- <onclick>XBMC.PlayerControl(record)</onclick>
- <enable>Player.CanRecord</enable>
- <animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation>
- </control>
- </control>
- <control type="group" id="100">
- <posx>490</posx>
- <posy>40</posy>
- <control type="button" id="600">
- <posx>0</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>210</label>
- <font>-</font>
- <texturefocus>OSDPrevTrackFO.png</texturefocus>
- <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
- <onleft>605</onleft>
- <onright>601</onright>
- <onup>701</onup>
- <ondown>701</ondown>
- <onclick>PlayerControl(Previous)</onclick>
- </control>
- <control type="button" id="601">
- <posx>50</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31354</label>
- <font>-</font>
- <texturefocus>OSDRewindFO.png</texturefocus>
- <texturenofocus>OSDRewindNF.png</texturenofocus>
- <onleft>600</onleft>
- <onright>602</onright>
- <onup>702</onup>
- <ondown>702</ondown>
- <onclick>PlayerControl(Rewind)</onclick>
- </control>
- <control type="togglebutton" id="602">
- <posx>100</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31351</label>
- <altlabel>208</altlabel>
- <font>-</font>
- <texturefocus>OSDPauseFO.png</texturefocus>
- <texturenofocus>OSDPauseNF.png</texturenofocus>
- <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture>
- <alttexturefocus>OSDPlayFO.png</alttexturefocus>
- <alttexturenofocus>OSDPlayNF.png</alttexturenofocus>
- <onleft>601</onleft>
- <onright>603</onright>
- <onup>800</onup>
- <ondown>800</ondown>
- <onclick>PlayerControl(Play)</onclick>
- <visible>LastFM.RadioPlaying</visible>
- </control>
- <control type="button" id="603">
- <posx>150</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31352</label>
- <font>-</font>
- <texturefocus>OSDStopFO.png</texturefocus>
- <texturenofocus>OSDStopNF.png</texturenofocus>
- <onleft>602</onleft>
- <onright>604</onright>
- <onup>801</onup>
- <ondown>801</ondown>
- <onclick>PlayerControl(Stop)</onclick>
- <visible>LastFM.RadioPlaying</visible>
- </control>
- <control type="togglebutton" id="602">
- <posx>100</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31351</label>
- <altlabel>208</altlabel>
- <font>-</font>
- <texturefocus>OSDPauseFO.png</texturefocus>
- <texturenofocus>OSDPauseNF.png</texturenofocus>
- <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture>
- <alttexturefocus>OSDPlayFO.png</alttexturefocus>
- <alttexturenofocus>OSDPlayNF.png</alttexturenofocus>
- <onleft>601</onleft>
- <onright>603</onright>
- <onup>702</onup>
- <ondown>702</ondown>
- <onclick>PlayerControl(Play)</onclick>
- <visible>!LastFM.RadioPlaying</visible>
- </control>
- <control type="button" id="603">
- <posx>150</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31352</label>
- <font>-</font>
- <texturefocus>OSDStopFO.png</texturefocus>
- <texturenofocus>OSDStopNF.png</texturenofocus>
- <onleft>602</onleft>
- <onright>604</onright>
- <onup>703</onup>
- <ondown>703</ondown>
- <onclick>down</onclick>
- <onclick>PlayerControl(Stop)</onclick>
- <visible>!LastFM.RadioPlaying</visible>
- </control>
- <control type="button" id="604">
- <posx>200</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31353</label>
- <font>-</font>
- <texturefocus>OSDForwardFO.png</texturefocus>
- <texturenofocus>OSDForwardNF.png</texturenofocus>
- <onleft>603</onleft>
- <onright>605</onright>
- <onup>703</onup>
- <ondown>703</ondown>
- <onclick>PlayerControl(Forward)</onclick>
- </control>
- <control type="button" id="605">
- <posx>250</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>209</label>
- <font>-</font>
- <texturefocus>OSDNextTrackFO.png</texturefocus>
- <texturenofocus>OSDNextTrackNF.png</texturenofocus>
- <onleft>604</onleft>
- <onright>600</onright>
- <onup>704</onup>
- <ondown>704</ondown>
- <onclick>PlayerControl(Next)</onclick>
- </control>
- </control>
- <control type="label">
- <posx>20</posx>
- <posy>60</posy>
- <width>460</width>
- <height>25</height>
- <label>$INFO[System.CurrentControl]</label>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Window.IsTopmost(MusicOSD)</visible>
- </control>
- <control type="label">
- <posx>1260</posx>
- <posy>60</posy>
- <width>460</width>
- <height>25</height>
- <label>$INFO[Player.Time] - $INFO[Player.Duration]</label>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>0</posy>
- <animation effect="slide" end="-200,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-200,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>170</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>140</posx>
- <label>31140</label>
- </control>
- </control>
- <include>Clock</include>
- </control>
- </controls>
-</window>
+<window type="dialog" id="120"> + <defaultcontrol always="true">602</defaultcontrol> + <controls> + <control type="group"> + <animation effect="slide" start="0,-145" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,-145" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="0,0" end="0,-145" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(VisualisationSettings) | Window.IsVisible(VisualisationPresetList)">Conditional</animation> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>-145</posy> + <width>1280</width> + <height>256</height> + <texture>MediaInfoBackUpper.png</texture> + </control> + <control type="group" id="200"> + <posx>367</posx> + <posy>4</posy> + <control type="button" id="700"> + <posx>0</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>10517</label> + <font>-</font> + <texturefocus>OSDPlaylistFO.png</texturefocus> + <texturenofocus>OSDPlaylistNF.png</texturenofocus> + <onleft>706</onleft> + <onright>500</onright> + <onup>600</onup> + <ondown>600</ondown> + <onclick>ActivateWindow(MusicPlaylist)</onclick> + </control> + <control type="button" id="500"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>12006</label> + <font>-</font> + <texturefocus>OSDVizFO.png</texturefocus> + <texturenofocus>OSDVizNF.png</texturenofocus> + <onleft>700</onleft> + <onright>701</onright> + <onup>600</onup> + <ondown>600</ondown> + </control> + <control type="button" id="701"> + <posx>100</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>$LOCALIZE[250] $LOCALIZE[21417]</label> + <font>-</font> + <texturefocus>OSDPresetSettingsFO.png</texturefocus> + <texturenofocus>OSDPresetSettingsNF.png</texturenofocus> + <onleft>500</onleft> + <onright>702</onright> + <onup>600</onup> + <ondown>600</ondown> + <onclick>Addon.Default.OpenSettings(xbmc.player.musicviz)</onclick> + </control> + <control type="button" id="702"> + <posx>150</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>31048</label> + <font>-</font> + <texturefocus>OSDPreFO.png</texturefocus> + <texturenofocus>OSDPreNF.png</texturenofocus> + <onleft>701</onleft> + <onright>800</onright> + <onup>601</onup> + <ondown>601</ondown> + <onclick>ActivateWindow(122)</onclick> + </control> + </control> + <control type="image" id="11"> + <description>separator image</description> + <posx>567</posx> + <posy>25</posy> + <width>150</width> + <height>1</height> + <colordiffuse>66FFFFFF</colordiffuse> + <texture>separator2.png</texture> + <visible>!LastFM.RadioPlaying</visible> + </control> + <control type="group" id="202"> + <posx>607</posx> + <posy>10</posy> + <visible>LastFM.RadioPlaying</visible> + <control type="button" id="800"> + <posx>0</posx> + <posy>0</posy> + <width>30</width> + <height>30</height> + <label>$LOCALIZE[15200] $LOCALIZE[31001]</label> + <align>right</align> + <font>-</font> + <textoffsetx>35</textoffsetx> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <texturefocus>lastfm-love-focus.png</texturefocus> + <texturenofocus>lastfm-love-nofocus.png</texturenofocus> + <onleft>702</onleft> + <onright>801</onright> + <onup>602</onup> + <ondown>602</ondown> + <onclick>XBMC.LastFM.Love</onclick> + </control> + <control type="button" id="801"> + <posx>36</posx> + <posy>0</posy> + <width>30</width> + <width>30</width> + <height>30</height> + <label>$LOCALIZE[15200] $LOCALIZE[31002]</label> + <align>left</align> + <font>-</font> + <textoffsetx>35</textoffsetx> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <texturefocus>lastfm-hate-focus.png</texturefocus> + <texturenofocus>lastfm-hate-nofocus.png</texturenofocus> + <onleft>800</onleft> + <onright>703</onright> + <onup>603</onup> + <ondown>603</ondown> + <onclick>XBMC.LastFM.Ban</onclick> + </control> + </control> + <control type="group" id="201"> + <posx>718</posx> + <posy>4</posy> + <control type="togglebutton" id="703"> + <posx>0</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>31128</label> + <font>-</font> + <texturefocus>OSDLyricsFO.png</texturefocus> + <texturenofocus>OSDLyricsNF.png</texturenofocus> + <alttexturefocus>OSDLyricsFO.png</alttexturefocus> + <alttexturenofocus>OSDLyricsNF.png</alttexturenofocus> + <onleft>801</onleft> + <onright>704</onright> + <onup>604</onup> + <ondown>604</ondown> + <onclick>Close</onclick> + <onclick>XBMC.RunScript($INFO[Skin.String(LyricScript_Path)])</onclick> + <altclick>Skin.SetAddon(LyricScript_Path,xbmc.python.lyrics)</altclick> + <altclick>Close</altclick> + <altclick>XBMC.RunScript($INFO[Skin.String(LyricScript_Path)])</altclick> + <usealttexture>IsEmpty(Skin.String(LyricScript_Path))</usealttexture> + </control> + <control type="button" id="704"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>$LOCALIZE[486]$INFO[Playlist.Repeat, : ]</label> + <font>-</font> + <texturefocus>-</texturefocus> + <texturenofocus>-</texturenofocus> + <onclick>XBMC.PlayerControl(Repeat)</onclick> + <onleft>703</onleft> + <onright>705</onright> + <onup>605</onup> + <ondown>605</ondown> + </control> + <control type="image"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <texture>OSDRepeatNF.png</texture> + <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible> + <visible>!Control.HasFocus(704)</visible> + </control> + <control type="image"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <texture>OSDRepeatFO.png</texture> + <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible> + <visible>Control.HasFocus(704)</visible> + </control> + <control type="image"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <texture>OSDRepeatOneNF.png</texture> + <visible>Playlist.IsRepeatOne</visible> + <visible>!Control.HasFocus(704)</visible> + </control> + <control type="image"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <texture>OSDRepeatOneFO.png</texture> + <visible>Playlist.IsRepeatOne</visible> + <visible>Control.HasFocus(704)</visible> + </control> + <control type="image"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <texture>OSDRepeatAllNF.png</texture> + <visible>Playlist.IsRepeat</visible> + <visible>!Control.HasFocus(704)</visible> + </control> + <control type="image"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <texture>OSDRepeatAllFO.png</texture> + <visible>Playlist.IsRepeat</visible> + <visible>Control.HasFocus(704)</visible> + </control> + <control type="togglebutton" id="705"> + <posx>100</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>$LOCALIZE[590]$INFO[Playlist.Random, : ]</label> + <font>-</font> + <texturefocus>OSDRandomOffFO.png</texturefocus> + <texturenofocus>OSDRandomOffNF.png</texturenofocus> + <usealttexture>Playlist.IsRandom</usealttexture> + <alttexturefocus>OSDRandomOnFO.png</alttexturefocus> + <alttexturenofocus>OSDRandomOnNF.png</alttexturenofocus> + <onclick>XBMC.PlayerControl(Random)</onclick> + <onleft>704</onleft> + <onright>706</onright> + <onup>605</onup> + <ondown>605</ondown> + </control> + <control type="button" id="706"> + <posx>150</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>264</label> + <font>-</font> + <texturefocus>OSDRecordFO.png</texturefocus> + <texturenofocus>OSDRecordNF.png</texturenofocus> + <onleft>705</onleft> + <onright>700</onright> + <onup>605</onup> + <ondown>605</ondown> + <onclick>XBMC.PlayerControl(record)</onclick> + <enable>Player.CanRecord</enable> + <animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation> + </control> + </control> + <control type="group" id="100"> + <posx>490</posx> + <posy>40</posy> + <control type="button" id="600"> + <posx>0</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>210</label> + <font>-</font> + <texturefocus>OSDPrevTrackFO.png</texturefocus> + <texturenofocus>OSDPrevTrackNF.png</texturenofocus> + <onleft>605</onleft> + <onright>601</onright> + <onup>701</onup> + <ondown>701</ondown> + <onclick>PlayerControl(Previous)</onclick> + </control> + <control type="button" id="601"> + <posx>50</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31354</label> + <font>-</font> + <texturefocus>OSDRewindFO.png</texturefocus> + <texturenofocus>OSDRewindNF.png</texturenofocus> + <onleft>600</onleft> + <onright>602</onright> + <onup>702</onup> + <ondown>702</ondown> + <onclick>PlayerControl(Rewind)</onclick> + </control> + <control type="togglebutton" id="602"> + <posx>100</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31351</label> + <altlabel>208</altlabel> + <font>-</font> + <texturefocus>OSDPauseFO.png</texturefocus> + <texturenofocus>OSDPauseNF.png</texturenofocus> + <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture> + <alttexturefocus>OSDPlayFO.png</alttexturefocus> + <alttexturenofocus>OSDPlayNF.png</alttexturenofocus> + <onleft>601</onleft> + <onright>603</onright> + <onup>800</onup> + <ondown>800</ondown> + <onclick>PlayerControl(Play)</onclick> + <visible>LastFM.RadioPlaying</visible> + </control> + <control type="button" id="603"> + <posx>150</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31352</label> + <font>-</font> + <texturefocus>OSDStopFO.png</texturefocus> + <texturenofocus>OSDStopNF.png</texturenofocus> + <onleft>602</onleft> + <onright>604</onright> + <onup>801</onup> + <ondown>801</ondown> + <onclick>PlayerControl(Stop)</onclick> + <visible>LastFM.RadioPlaying</visible> + </control> + <control type="togglebutton" id="602"> + <posx>100</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31351</label> + <altlabel>208</altlabel> + <font>-</font> + <texturefocus>OSDPauseFO.png</texturefocus> + <texturenofocus>OSDPauseNF.png</texturenofocus> + <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture> + <alttexturefocus>OSDPlayFO.png</alttexturefocus> + <alttexturenofocus>OSDPlayNF.png</alttexturenofocus> + <onleft>601</onleft> + <onright>603</onright> + <onup>702</onup> + <ondown>702</ondown> + <onclick>PlayerControl(Play)</onclick> + <visible>!LastFM.RadioPlaying</visible> + </control> + <control type="button" id="603"> + <posx>150</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31352</label> + <font>-</font> + <texturefocus>OSDStopFO.png</texturefocus> + <texturenofocus>OSDStopNF.png</texturenofocus> + <onleft>602</onleft> + <onright>604</onright> + <onup>703</onup> + <ondown>703</ondown> + <onclick>down</onclick> + <onclick>PlayerControl(Stop)</onclick> + <visible>!LastFM.RadioPlaying</visible> + </control> + <control type="button" id="604"> + <posx>200</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31353</label> + <font>-</font> + <texturefocus>OSDForwardFO.png</texturefocus> + <texturenofocus>OSDForwardNF.png</texturenofocus> + <onleft>603</onleft> + <onright>605</onright> + <onup>703</onup> + <ondown>703</ondown> + <onclick>PlayerControl(Forward)</onclick> + </control> + <control type="button" id="605"> + <posx>250</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>209</label> + <font>-</font> + <texturefocus>OSDNextTrackFO.png</texturefocus> + <texturenofocus>OSDNextTrackNF.png</texturenofocus> + <onleft>604</onleft> + <onright>600</onright> + <onup>704</onup> + <ondown>704</ondown> + <onclick>PlayerControl(Next)</onclick> + </control> + </control> + <control type="label"> + <posx>20</posx> + <posy>60</posy> + <width>460</width> + <height>25</height> + <label>$INFO[System.CurrentControl]</label> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Window.IsTopmost(MusicOSD)</visible> + </control> + <control type="label"> + <posx>1260</posx> + <posy>60</posy> + <width>460</width> + <height>25</height> + <label>$INFO[Player.Time] - $INFO[Player.Duration]</label> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="group"> + <posx>0</posx> + <posy>0</posy> + <animation effect="slide" end="-200,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-200,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>170</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>140</posx> + <label>31140</label> + </control> + </control> + <include>Clock</include> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MusicOverlay.xml b/addons/skin.confluence/720p/MusicOverlay.xml index b2a398f5f4..510e6e3223 100644 --- a/addons/skin.confluence/720p/MusicOverlay.xml +++ b/addons/skin.confluence/720p/MusicOverlay.xml @@ -1,5 +1,5 @@ -<window id="2903">
- <defaultcontrol>-</defaultcontrol>
- <controls>
- </controls>
+<window id="2903"> + <defaultcontrol>-</defaultcontrol> + <controls> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/MusicVisualisation.xml b/addons/skin.confluence/720p/MusicVisualisation.xml index bca0496e7c..fa3fcd21ba 100644 --- a/addons/skin.confluence/720p/MusicVisualisation.xml +++ b/addons/skin.confluence/720p/MusicVisualisation.xml @@ -1,284 +1,284 @@ -<window id="2006">
- <defaultcontrol>-</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <control type="visualisation" id="2">
- <description>visualisation</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
-<!-- <visible>IsEmpty(MusicPlayer.Property(Fanart_Image)</visible>
- </control>
- <control type="image">
- <description>Fanart image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture>$INFO[MusicPlayer.Property(Fanart_Image)]</texture>
- <visible>!IsEmpty(MusicPlayer.Property(Fanart_Image))</visible>
---> </control>
-
- <control type="group">
- <visible>Player.ShowInfo + ![Window.IsVisible(VisualisationSettings) | Window.IsVisible(VisualisationPresetList)]</visible>
- <animation effect="fade" start="0" end="100" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="fade" start="100" end="0" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="fade" start="0" end="100" time="300" tween="quadratic" easing="out">visible</animation>
- <animation effect="fade" start="100" end="0" time="300" delay="150" tween="quadratic" easing="out">hidden</animation>
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>270r</posy>
- <width>1280</width>
- <height>270</height>
- <texture>HomeNowPlayingBack.png</texture>
- </control>
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>270r</posy>
- <width>1280</width>
- <height>270</height>
- <colordiffuse>88FFFFFF</colordiffuse>
- <texture>HomeNowPlayingBack.png</texture>
- </control>
- <control type="image">
- <description>cover image</description>
- <posx>10</posx>
- <posy>290r</posy>
- <width>340</width>
- <height>260</height>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[MusicPlayer.cover]</texture>
- <aspectratio aligny="bottom">keep</aspectratio>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="progress">
- <description>Progressbar</description>
- <posx>10</posx>
- <posy>30r</posy>
- <width>340</width>
- <height>14</height>
- <info>Player.Progress</info>
- </control>
- <control type="group">
- <posx>370</posx>
- <posy>180r</posy>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>340</posx>
- <posy>0</posy>
- <width>550</width>
- <align>right</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <control type="image">
- <description>Rating image</description>
- <width>120</width>
- <height>40</height>
- <aspectratio align="right">keep</aspectratio>
- <texture>LeftRating/$INFO[Player.StarRating]</texture>
- </control>
- <control type="image">
- <description>Codec Image</description>
- <width>80</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[MusicPlayer.Codec,flagging/audio/,.png]</texture>
- </control>
- <control type="image">
- <description>Channels Image</description>
- <width>80</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[MusicPlayer.Channels,flagging/audio/,.png]</texture>
- </control>
- </control>
- <control type="label">
- <description>Playing Label</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>25</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>31040</label>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>35</posy>
- <width>880</width>
- <height>30</height>
- <label>$INFO[MusicPlayer.Artist]$INFO[MusicPlayer.Album, - ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>65</posy>
- <width>880</width>
- <height>30</height>
- <label>$INFO[MusicPlayer.Title]</label>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>110</posy>
- <width>300</width>
- <height>20</height>
- <label>$INFO[musicplayer.Playlistposition,[COLOR=blue]$LOCALIZE[554]:[/COLOR] ]$INFO[musicplayer.Playlistlength, / ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>890</posx>
- <posy>115</posy>
- <width>500</width>
- <height>25</height>
- <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font35_title</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>890</posx>
- <posy>150</posy>
- <width>890</width>
- <height>20</height>
- <label>[COLOR=blue]$LOCALIZE[209] :[/COLOR] $INFO[MusicPlayer.offset(1).Artist,, - ]$INFO[MusicPlayer.offset(1).Title]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- </control>
- <control type="group">
- <visible>Player.ShowInfo</visible>
- <animation effect="slide" start="0,0" end="160,0" delay="0" time="300" condition="!Window.IsVisible(MusicOSD)">hidden</animation>
- <animation effect="slide" start="160,0" end="0,0" delay="0" time="300" condition="!Window.IsVisible(MusicOSD)">visible</animation>
- <include>Clock</include>
- </control>
- <control type="group" id="0">
- <posx>240</posx>
- <posy>100</posy>
- <include>VisibleFadeEffect</include>
- <visible>Player.ShowCodec + ![Window.IsVisible(121) | Window.IsVisible(122)]</visible>
- <control type="image">
- <description>gradient</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>200</height>
- <colordiffuse>CCFFFFFF</colordiffuse>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="label">
- <posx>30</posx>
- <posy>20</posy>
- <width>360</width>
- <height>25</height>
- <label>$LOCALIZE[31046]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>30</posx>
- <posy>50</posy>
- <width>360</width>
- <height>100</height>
- <label>$INFO[musicplayer.Codec,· $LOCALIZE[21446]: ,]$INFO[musicplayer.Bitrate,[CR]· $LOCALIZE[623]: ,kbps]$INFO[musicplayer.bitspersample,[CR]· $LOCALIZE[612]: ,bit]$INFO[musicplayer.Samplerate,[CR]· $LOCALIZE[613]: ,kHz]$INFO[musicplayer.Channels,[CR]· $LOCALIZE[21444]: ]</label>
- <align>left</align>
- <aligny>top</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>760</posx>
- <posy>20</posy>
- <width>360</width>
- <height>25</height>
- <label>$LOCALIZE[250]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>760</posx>
- <posy>50</posy>
- <width>360</width>
- <height>25</height>
- <label>$INFO[Visualisation.Name] [I]($LOCALIZE[20166])[/I] ·[CR]fps: $INFO[System.FPS] ·</label>
- <align>right</align>
- <aligny>top</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Visualisation.Locked</visible>
- </control>
- <control type="label">
- <posx>760</posx>
- <posy>50</posy>
- <width>360</width>
- <height>25</height>
- <label>$INFO[Visualisation.Name] ·[CR]fps: $INFO[System.FPS] ·</label>
- <align>right</align>
- <aligny>top</aligny>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!Visualisation.Locked</visible>
- </control>
- <control type="label">
- <posx>760</posx>
- <posy>105</posy>
- <width>360</width>
- <height>25</height>
- <label>$LOCALIZE[31047]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>760</posx>
- <posy>135</posy>
- <width>360</width>
- <height>25</height>
- <label fallback="161">$INFO[Visualisation.Preset,, ·]</label>
- <align>right</align>
- <aligny>top</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- </control>
- </controls>
-</window>
+<window id="2006"> + <defaultcontrol>-</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <control type="visualisation" id="2"> + <description>visualisation</description> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> +<!-- <visible>IsEmpty(MusicPlayer.Property(Fanart_Image)</visible> + </control> + <control type="image"> + <description>Fanart image</description> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture>$INFO[MusicPlayer.Property(Fanart_Image)]</texture> + <visible>!IsEmpty(MusicPlayer.Property(Fanart_Image))</visible> +--> </control> + + <control type="group"> + <visible>Player.ShowInfo + ![Window.IsVisible(VisualisationSettings) | Window.IsVisible(VisualisationPresetList)]</visible> + <animation effect="fade" start="0" end="100" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="fade" start="100" end="0" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="fade" start="0" end="100" time="300" tween="quadratic" easing="out">visible</animation> + <animation effect="fade" start="100" end="0" time="300" delay="150" tween="quadratic" easing="out">hidden</animation> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>270r</posy> + <width>1280</width> + <height>270</height> + <texture>HomeNowPlayingBack.png</texture> + </control> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>270r</posy> + <width>1280</width> + <height>270</height> + <colordiffuse>88FFFFFF</colordiffuse> + <texture>HomeNowPlayingBack.png</texture> + </control> + <control type="image"> + <description>cover image</description> + <posx>10</posx> + <posy>290r</posy> + <width>340</width> + <height>260</height> + <fadetime>200</fadetime> + <texture background="true">$INFO[MusicPlayer.cover]</texture> + <aspectratio aligny="bottom">keep</aspectratio> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="progress"> + <description>Progressbar</description> + <posx>10</posx> + <posy>30r</posy> + <width>340</width> + <height>14</height> + <info>Player.Progress</info> + </control> + <control type="group"> + <posx>370</posx> + <posy>180r</posy> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>340</posx> + <posy>0</posy> + <width>550</width> + <align>right</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <control type="image"> + <description>Rating image</description> + <width>120</width> + <height>40</height> + <aspectratio align="right">keep</aspectratio> + <texture>LeftRating/$INFO[Player.StarRating]</texture> + </control> + <control type="image"> + <description>Codec Image</description> + <width>80</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[MusicPlayer.Codec,flagging/audio/,.png]</texture> + </control> + <control type="image"> + <description>Channels Image</description> + <width>80</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[MusicPlayer.Channels,flagging/audio/,.png]</texture> + </control> + </control> + <control type="label"> + <description>Playing Label</description> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>25</height> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <label>31040</label> + </control> + <control type="label"> + <posx>10</posx> + <posy>35</posy> + <width>880</width> + <height>30</height> + <label>$INFO[MusicPlayer.Artist]$INFO[MusicPlayer.Album, - ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>10</posx> + <posy>65</posy> + <width>880</width> + <height>30</height> + <label>$INFO[MusicPlayer.Title]</label> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>0</posx> + <posy>110</posy> + <width>300</width> + <height>20</height> + <label>$INFO[musicplayer.Playlistposition,[COLOR=blue]$LOCALIZE[554]:[/COLOR] ]$INFO[musicplayer.Playlistlength, / ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>890</posx> + <posy>115</posy> + <width>500</width> + <height>25</height> + <label>$INFO[Player.Time]$INFO[Player.Duration, / ]</label> + <align>right</align> + <aligny>center</aligny> + <font>font35_title</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>890</posx> + <posy>150</posy> + <width>890</width> + <height>20</height> + <label>[COLOR=blue]$LOCALIZE[209] :[/COLOR] $INFO[MusicPlayer.offset(1).Artist,, - ]$INFO[MusicPlayer.offset(1).Title]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + </control> + <control type="group"> + <visible>Player.ShowInfo</visible> + <animation effect="slide" start="0,0" end="160,0" delay="0" time="300" condition="!Window.IsVisible(MusicOSD)">hidden</animation> + <animation effect="slide" start="160,0" end="0,0" delay="0" time="300" condition="!Window.IsVisible(MusicOSD)">visible</animation> + <include>Clock</include> + </control> + <control type="group" id="0"> + <posx>240</posx> + <posy>100</posy> + <include>VisibleFadeEffect</include> + <visible>Player.ShowCodec + ![Window.IsVisible(121) | Window.IsVisible(122)]</visible> + <control type="image"> + <description>gradient</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>200</height> + <colordiffuse>CCFFFFFF</colordiffuse> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="label"> + <posx>30</posx> + <posy>20</posy> + <width>360</width> + <height>25</height> + <label>$LOCALIZE[31046]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>30</posx> + <posy>50</posy> + <width>360</width> + <height>100</height> + <label>$INFO[musicplayer.Codec,· $LOCALIZE[21446]: ,]$INFO[musicplayer.Bitrate,[CR]· $LOCALIZE[623]: ,kbps]$INFO[musicplayer.bitspersample,[CR]· $LOCALIZE[612]: ,bit]$INFO[musicplayer.Samplerate,[CR]· $LOCALIZE[613]: ,kHz]$INFO[musicplayer.Channels,[CR]· $LOCALIZE[21444]: ]</label> + <align>left</align> + <aligny>top</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>760</posx> + <posy>20</posy> + <width>360</width> + <height>25</height> + <label>$LOCALIZE[250]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>760</posx> + <posy>50</posy> + <width>360</width> + <height>25</height> + <label>$INFO[Visualisation.Name] [I]($LOCALIZE[20166])[/I] ·[CR]fps: $INFO[System.FPS] ·</label> + <align>right</align> + <aligny>top</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Visualisation.Locked</visible> + </control> + <control type="label"> + <posx>760</posx> + <posy>50</posy> + <width>360</width> + <height>25</height> + <label>$INFO[Visualisation.Name] ·[CR]fps: $INFO[System.FPS] ·</label> + <align>right</align> + <aligny>top</aligny> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!Visualisation.Locked</visible> + </control> + <control type="label"> + <posx>760</posx> + <posy>105</posy> + <width>360</width> + <height>25</height> + <label>$LOCALIZE[31047]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>760</posx> + <posy>135</posy> + <width>360</width> + <height>25</height> + <label fallback="161">$INFO[Visualisation.Preset,, ·]</label> + <align>right</align> + <aligny>top</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyMusicNav.xml b/addons/skin.confluence/720p/MyMusicNav.xml index 82fb9d72fd..e91a5415bf 100644 --- a/addons/skin.confluence/720p/MyMusicNav.xml +++ b/addons/skin.confluence/720p/MyMusicNav.xml @@ -1,431 +1,431 @@ -<window id="502">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,500,550,509,506,511,512,513</views>
- <controls>
- <include>CommonMusicBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <visible>!Skin.HasSetting(MusicLibraryFanart) + !IsEmpty(ListItem.Property(Fanart_Image))</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture background="true">$INFO[Fanart.Image]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <visible>!Skin.HasSetting(MusicLibraryFanart) + !IsEmpty(Fanart.Image)</visible>
- </control>
- </control>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(500)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(500) | Control.IsVisible(509)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(500)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0,5,0,0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(506) | Control.IsVisible(511) | Control.IsVisible(512) | Control.IsVisible(513) | Control.IsVisible(550)</visible>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>ThumbnailView</include> <!-- view id = 500 -->
- <include>MusicInfoListView</include> <!-- view id = 506 -->
- <include>AlbumWrapView2_Fanart</include> <!-- view id = 509 -->
- <include>MusicVideoInfoListView</include> <!-- view id = 511 -->
- <include>ArtistMediaListView</include> <!-- view id = 512 -->
- <include>AlbumInfoListView</include> <!-- view id = 513 -->
- <include>AddonInfoListView1</include> <!-- view id = 550 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation>
- <control type="group">
- <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1</width>
- <height>720</height>
- <texture>MediaBladeSub_Part1.png</texture>
- <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>12</width>
- <height>720</height>
- <texture>MediaBladeSub_Part2.png</texture>
- <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- </control>
- <control type="group" id="9001">
- <posx>-220</posx>
- <posy>0</posy>
- <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation>
- <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation>
- <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <control type="button">
- <description>Fake button for mouse control</description>
- <posx>-15</posx>
- <posy>0</posy>
- <width>245</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <control type="image">
- <posx>185</posx>
- <posy>240</posy>
- <width>40</width>
- <height>40</height>
- <texture>MediaSubSet.png</texture>
- </control>
- <control type="grouplist" id="9010">
- <posx>10</posx>
- <posy>290</posy>
- <width>240</width>
- <height>550</height>
- <onleft>9000</onleft>
- <onright>50</onright>
- <onup>9010</onup>
- <ondown>9010</ondown>
- <itemgap>0</itemgap>
- <control type="button" id="8">
- <description>Search</description>
- <include>ButtonMediaSubCommonValues</include>
- <label>137</label>
- </control>
- <control type="radiobutton" id="19">
- <description>Filter</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>587</label>
- </control>
- <control type="label" id="200">
- <width>220</width>
- <height>45</height>
- <font>font12caps</font>
- <label>14018</label>
- <textcolor>dialogheader</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="201">
- <description>Toggle Fanart</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31307</label>
- <onclick>Skin.ToggleSetting(MusicLibraryFanart)</onclick>
- <selected>Skin.HasSetting(MusicLibraryFanart)</selected>
- </control>
- <control type="radiobutton" id="202">
- <description>Toggle Fanart</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31318</label>
- <onclick>Skin.ToggleSetting(MusicLibraryFanartView512)</onclick>
- <selected>!Skin.HasSetting(MusicLibraryFanartView512)</selected>
- <visible>Control.IsVisible(512) + Container.Content(Artists)</visible>
- </control>
- </control>
- </control>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Sort by button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>4</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="togglebutton" id="4">
- <description>Sort asc</description>
- <posx>220</posx>
- <posy>53</posy>
- <label>-</label>
- <onleft>3</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="radiobutton" id="99">
- <description>Library button</description>
- <posx>0</posx>
- <posy>80</posy>
- <label>$LOCALIZE[29800]</label>
- <onclick>ReplaceWindow(MusicFiles)</onclick>
- <selected>Window.IsVisible(MusicLibrary)</selected>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>3</onup>
- <ondown>16</ondown>
- </control>
- <control type="radiobutton" id="16">
- <description>PartyMode</description>
- <posx>0</posx>
- <posy>120</posy>
- <label>589</label>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>99</onup>
- <ondown>98</ondown>
- </control>
- <control type="radiobutton" id="98">
- <description>Extra Options</description>
- <hitrect x="0" y="160" w="265" h="40" />
- <posx>0</posx>
- <posy>160</posy>
- <include>ButtonCommonValues</include>
- <radiowidth>18</radiowidth>
- <radioheight>18</radioheight>
- <radioposx>222</radioposx>
- <radioposy>12</radioposy>
- <textureradiofocus>HomeHasSub.png</textureradiofocus>
- <textureradionofocus>HomeHasSub.png</textureradionofocus>
- <label>31026</label>
- <onleft>50</onleft>
- <onright>9010</onright>
- <onup>16</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>98</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(MusicVideos)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[20389]</label>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(Artists)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[133]</label>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(Songs)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[134]</label>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(Albums)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[132]</label>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[10516]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="502"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,500,550,509,506,511,512,513</views> + <controls> + <include>CommonMusicBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <visible>!Skin.HasSetting(MusicLibraryFanart) + !IsEmpty(ListItem.Property(Fanart_Image))</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture background="true">$INFO[Fanart.Image]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <visible>!Skin.HasSetting(MusicLibraryFanart) + !IsEmpty(Fanart.Image)</visible> + </control> + </control> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(500)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(500) | Control.IsVisible(509)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(500)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0,5,0,0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(506) | Control.IsVisible(511) | Control.IsVisible(512) | Control.IsVisible(513) | Control.IsVisible(550)</visible> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>ThumbnailView</include> <!-- view id = 500 --> + <include>MusicInfoListView</include> <!-- view id = 506 --> + <include>AlbumWrapView2_Fanart</include> <!-- view id = 509 --> + <include>MusicVideoInfoListView</include> <!-- view id = 511 --> + <include>ArtistMediaListView</include> <!-- view id = 512 --> + <include>AlbumInfoListView</include> <!-- view id = 513 --> + <include>AddonInfoListView1</include> <!-- view id = 550 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation> + <control type="group"> + <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1</width> + <height>720</height> + <texture>MediaBladeSub_Part1.png</texture> + <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>12</width> + <height>720</height> + <texture>MediaBladeSub_Part2.png</texture> + <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + </control> + <control type="group" id="9001"> + <posx>-220</posx> + <posy>0</posy> + <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation> + <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation> + <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <control type="button"> + <description>Fake button for mouse control</description> + <posx>-15</posx> + <posy>0</posy> + <width>245</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <control type="image"> + <posx>185</posx> + <posy>240</posy> + <width>40</width> + <height>40</height> + <texture>MediaSubSet.png</texture> + </control> + <control type="grouplist" id="9010"> + <posx>10</posx> + <posy>290</posy> + <width>240</width> + <height>550</height> + <onleft>9000</onleft> + <onright>50</onright> + <onup>9010</onup> + <ondown>9010</ondown> + <itemgap>0</itemgap> + <control type="button" id="8"> + <description>Search</description> + <include>ButtonMediaSubCommonValues</include> + <label>137</label> + </control> + <control type="radiobutton" id="19"> + <description>Filter</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>587</label> + </control> + <control type="label" id="200"> + <width>220</width> + <height>45</height> + <font>font12caps</font> + <label>14018</label> + <textcolor>dialogheader</textcolor> + <align>center</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="201"> + <description>Toggle Fanart</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31307</label> + <onclick>Skin.ToggleSetting(MusicLibraryFanart)</onclick> + <selected>Skin.HasSetting(MusicLibraryFanart)</selected> + </control> + <control type="radiobutton" id="202"> + <description>Toggle Fanart</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31318</label> + <onclick>Skin.ToggleSetting(MusicLibraryFanartView512)</onclick> + <selected>!Skin.HasSetting(MusicLibraryFanartView512)</selected> + <visible>Control.IsVisible(512) + Container.Content(Artists)</visible> + </control> + </control> + </control> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Sort by button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>4</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="togglebutton" id="4"> + <description>Sort asc</description> + <posx>220</posx> + <posy>53</posy> + <label>-</label> + <onleft>3</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="radiobutton" id="99"> + <description>Library button</description> + <posx>0</posx> + <posy>80</posy> + <label>$LOCALIZE[29800]</label> + <onclick>ReplaceWindow(MusicFiles)</onclick> + <selected>Window.IsVisible(MusicLibrary)</selected> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>3</onup> + <ondown>16</ondown> + </control> + <control type="radiobutton" id="16"> + <description>PartyMode</description> + <posx>0</posx> + <posy>120</posy> + <label>589</label> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>99</onup> + <ondown>98</ondown> + </control> + <control type="radiobutton" id="98"> + <description>Extra Options</description> + <hitrect x="0" y="160" w="265" h="40" /> + <posx>0</posx> + <posy>160</posy> + <include>ButtonCommonValues</include> + <radiowidth>18</radiowidth> + <radioheight>18</radioheight> + <radioposx>222</radioposx> + <radioposy>12</radioposy> + <textureradiofocus>HomeHasSub.png</textureradiofocus> + <textureradionofocus>HomeHasSub.png</textureradionofocus> + <label>31026</label> + <onleft>50</onleft> + <onright>9010</onright> + <onup>16</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>98</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(MusicVideos)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[20389]</label> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(Artists)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[133]</label> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(Songs)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[134]</label> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(Albums)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[132]</label> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[10516]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyMusicPlaylist.xml b/addons/skin.confluence/720p/MyMusicPlaylist.xml index 8e1bf972a5..6ba3252b34 100644 --- a/addons/skin.confluence/720p/MyMusicPlaylist.xml +++ b/addons/skin.confluence/720p/MyMusicPlaylist.xml @@ -1,210 +1,210 @@ -<window id="500">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,51,506</views>
- <controls>
- <include>CommonMusicBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(51)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0.5.0.0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(506)</visible>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>FullWidthList</include> <!-- view id = 51 -->
- <include>MusicInfoListView</include> <!-- view id = 506 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>20</ondown>
- </control>
- <control type="radiobutton" id="20">
- <description>Shuffle button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>191</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>26</ondown>
- </control>
- <control type="button" id="26">
- <description>Repeat button</description>
- <posx>0</posx>
- <posy>80</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>20</onup>
- <ondown>21</ondown>
- </control>
- <control type="button" id="21">
- <description>Save button</description>
- <posx>0</posx>
- <posy>120</posy>
- <label>190</label>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>26</onup>
- <ondown>22</ondown>
- </control>
- <control type="button" id="22">
- <description>Clear button</description>
- <posx>0</posx>
- <posy>160</posy>
- <label>192</label>
- <onclick>ReplaceWindow(music)</onclick>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>21</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>22</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-360,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-360,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>300</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>270</posx>
- <label>$LOCALIZE[10517]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="500"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,51,506</views> + <controls> + <include>CommonMusicBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(51)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0.5.0.0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(506)</visible> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>FullWidthList</include> <!-- view id = 51 --> + <include>MusicInfoListView</include> <!-- view id = 506 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>20</ondown> + </control> + <control type="radiobutton" id="20"> + <description>Shuffle button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>191</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>26</ondown> + </control> + <control type="button" id="26"> + <description>Repeat button</description> + <posx>0</posx> + <posy>80</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>20</onup> + <ondown>21</ondown> + </control> + <control type="button" id="21"> + <description>Save button</description> + <posx>0</posx> + <posy>120</posy> + <label>190</label> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>26</onup> + <ondown>22</ondown> + </control> + <control type="button" id="22"> + <description>Clear button</description> + <posx>0</posx> + <posy>160</posy> + <label>192</label> + <onclick>ReplaceWindow(music)</onclick> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>21</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>22</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-360,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-360,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>300</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>270</posx> + <label>$LOCALIZE[10517]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyMusicPlaylistEditor.xml b/addons/skin.confluence/720p/MyMusicPlaylistEditor.xml index 72b924bb32..82e7bbf3d8 100644 --- a/addons/skin.confluence/720p/MyMusicPlaylistEditor.xml +++ b/addons/skin.confluence/720p/MyMusicPlaylistEditor.xml @@ -1,420 +1,420 @@ -<window id="503">
- <defaultcontrol allways="true">6</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <include>CommonMusicBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <posy>10</posy>
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>445</posx>
- <posy>40</posy>
- <width>390</width>
- <height>640</height>
- <texture>black-back.png</texture>
- </control>
- <control type="label">
- <posx>475</posx>
- <posy>45</posy>
- <width>330</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31061]</label>
- </control>
- <control type="group" id="9000">
- <posx>475</posx>
- <posy>550</posy>
- <control type="button" id="6">
- <description>Open Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>330</width>
- <label>31055</label>
- <align>center</align>
- <include>ButtonHomeSubCommonValues</include>
- <onleft>50</onleft>
- <onright>100</onright>
- <onup>8</onup>
- <ondown>7</ondown>
- </control>
- <control type="button" id="7">
- <description>Save Button</description>
- <posx>0</posx>
- <posy>40</posy>
- <width>330</width>
- <label>31056</label>
- <align>center</align>
- <include>ButtonHomeSubCommonValues</include>
- <onleft>50</onleft>
- <onright>100</onright>
- <onup>6</onup>
- <ondown>8</ondown>
- </control>
- <control type="button" id="8">
- <description>Clear button</description>
- <posx>0</posx>
- <posy>80</posy>
- <width>330</width>
- <label>31057</label>
- <align>center</align>
- <include>ButtonHomeSubCommonValues</include>
- <onleft>50</onleft>
- <onright>100</onright>
- <onup>7</onup>
- <ondown>6</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Control.HasFocus(50)</visible>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>480</posx>
- <posy>90</posy>
- <width>320</width>
- <height>200</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[Container(50).ListItem.Icon]</texture>
- </control>
- <control type="textbox">
- <posx>480</posx>
- <posy>300</posy>
- <width>320</width>
- <height>220</height>
- <font>font11</font>
- <align>center</align>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <pagecontrol>-</pagecontrol>
- <label>$INFO[Container(50).ListItem.Title,[COLOR=blue]$LOCALIZE[556]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Artist,[COLOR=blue]$LOCALIZE[557]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Album,[COLOR=blue]$LOCALIZE[558]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Duration,[COLOR=blue]$LOCALIZE[555]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.TrackNumber,[COLOR=blue]$LOCALIZE[554]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Genre,[COLOR=blue]$LOCALIZE[515]:[/COLOR] ,[CR]]</label>
- </control>
- </control>
- <control type="group">
- <visible>Control.HasFocus(100)</visible>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>465</posx>
- <posy>90</posy>
- <width>350</width>
- <height>200</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[Container(100).ListItem.Icon]</texture>
- </control>
- <control type="textbox">
- <posx>465</posx>
- <posy>300</posy>
- <width>350</width>
- <height>220</height>
- <font>font11</font>
- <align>center</align>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <pagecontrol>-</pagecontrol>
- <label>$INFO[Container(100).ListItem.Title,[COLOR=blue]$LOCALIZE[556]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Artist,[COLOR=blue]$LOCALIZE[557]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Album,[COLOR=blue]$LOCALIZE[558]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Duration,[COLOR=blue]$LOCALIZE[555]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.TrackNumber,[COLOR=blue]$LOCALIZE[554]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Genre,[COLOR=blue]$LOCALIZE[515]:[/COLOR] ,[CR]]</label>
- </control>
- </control>
- </control>
- <control type="group">
- <animation effect="slide" start="-480,0" end="0,0" time="500" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" end="-480,0" start="0,0" time="500" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>480</width>
- <height>720</height>
- <texture border="0,0,15,0">MediaBladeSub.png</texture>
- </control>
- <control type="label">
- <posx>30</posx>
- <posy>40</posy>
- <width>410</width>
- <height>30</height>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>31058</label>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>80</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>50r</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>number of files/pages in left list text label</description>
- <posx>30</posx>
- <posy>38r</posy>
- <width>410</width>
- <font>font12</font>
- <align>left</align>
- <scroll>true</scroll>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>($INFO[Container(50).NumItems]) $LOCALIZE[31025] - $LOCALIZE[31024] ($INFO[Container(50).CurrentPage]/$INFO[Container(50).NumPages])</label>
- </control>
- <control type="scrollbar" id="30">
- <posx>20</posx>
- <posy>100</posy>
- <width>25</width>
- <height>540</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>31</onleft>
- <onright>50</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="list" id="50">
- <posx>50</posx>
- <posy>100</posy>
- <width>400</width>
- <height>540</height>
- <onleft>30</onleft>
- <onright>9000</onright>
- <onup>50</onup>
- <ondown>50</ondown>
- <viewtype label="">list</viewtype>
- <pagecontrol>30</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30" width="400">
- <control type="label">
- <posx>5</posx>
- <posy>0</posy>
- <width>380</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>395</posx>
- <posy>0</posy>
- <width>360</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30" width="400">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>30</height>
- <texture border="7">MenuItemFO.png</texture>
- <visible>Control.HasFocus(50)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>5</posx>
- <posy>0</posy>
- <width>380</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>395</posx>
- <posy>0</posy>
- <width>360</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- </control>
- </control>
- <control type="group">
- <animation effect="slide" start="480,0" end="0,0" time="500" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" end="480,0" start="0,0" time="500" tween="quadratic" easing="out">WindowClose</animation>
- <posx>800</posx>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>480</width>
- <height>720</height>
- <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture>
- </control>
- <control type="label">
- <posx>440</posx>
- <posy>40</posy>
- <width>410</width>
- <height>30</height>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>31059</label>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>80</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>50r</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Page Count Label</description>
- <posx>440</posx>
- <posy>38r</posy>
- <width>300</width>
- <height>20</height>
- <font>font12</font>
- <textcolor>blue</textcolor>
- <scroll>false</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>($INFO[Container(100).NumItems]) $LOCALIZE[31025] - $LOCALIZE[31024] ($INFO[Container(100).CurrentPage]/$INFO[Container(100).NumPages])</label>
- </control>
- <control type="scrollbar" id="31">
- <posx>430</posx>
- <posy>100</posy>
- <width>25</width>
- <height>550</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>100</onleft>
- <onright>30</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="list" id="100">
- <posx>20</posx>
- <posy>100</posy>
- <width>400</width>
- <height>550</height>
- <onleft>9000</onleft>
- <onright>31</onright>
- <onup>100</onup>
- <ondown>100</ondown>
- <viewtype label="">list</viewtype>
- <pagecontrol>31</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="30" width="400">
- <control type="label">
- <posx>5</posx>
- <posy>0</posy>
- <width>380</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>395</posx>
- <posy>0</posy>
- <width>360</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <info>ListItem.Label2</info>
- </control>
- </itemlayout>
- <focusedlayout height="30" width="400">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>30</height>
- <texture border="7">MenuItemFO.png</texture>
- <visible>Control.HasFocus(100)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>5</posx>
- <posy>0</posy>
- <width>380</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- <control type="label">
- <posx>395</posx>
- <posy>0</posy>
- <width>360</width>
- <height>30</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <info>ListItem.Label2</info>
- </control>
- </focusedlayout>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[10503]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="503"> + <defaultcontrol allways="true">6</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <include>CommonMusicBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <posy>10</posy> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>445</posx> + <posy>40</posy> + <width>390</width> + <height>640</height> + <texture>black-back.png</texture> + </control> + <control type="label"> + <posx>475</posx> + <posy>45</posy> + <width>330</width> + <height>30</height> + <font>font13_title</font> + <textcolor>blue</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$LOCALIZE[31061]</label> + </control> + <control type="group" id="9000"> + <posx>475</posx> + <posy>550</posy> + <control type="button" id="6"> + <description>Open Button</description> + <posx>0</posx> + <posy>0</posy> + <width>330</width> + <label>31055</label> + <align>center</align> + <include>ButtonHomeSubCommonValues</include> + <onleft>50</onleft> + <onright>100</onright> + <onup>8</onup> + <ondown>7</ondown> + </control> + <control type="button" id="7"> + <description>Save Button</description> + <posx>0</posx> + <posy>40</posy> + <width>330</width> + <label>31056</label> + <align>center</align> + <include>ButtonHomeSubCommonValues</include> + <onleft>50</onleft> + <onright>100</onright> + <onup>6</onup> + <ondown>8</ondown> + </control> + <control type="button" id="8"> + <description>Clear button</description> + <posx>0</posx> + <posy>80</posy> + <width>330</width> + <label>31057</label> + <align>center</align> + <include>ButtonHomeSubCommonValues</include> + <onleft>50</onleft> + <onright>100</onright> + <onup>7</onup> + <ondown>6</ondown> + </control> + </control> + <control type="group"> + <visible>Control.HasFocus(50)</visible> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>480</posx> + <posy>90</posy> + <width>320</width> + <height>200</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[Container(50).ListItem.Icon]</texture> + </control> + <control type="textbox"> + <posx>480</posx> + <posy>300</posy> + <width>320</width> + <height>220</height> + <font>font11</font> + <align>center</align> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <pagecontrol>-</pagecontrol> + <label>$INFO[Container(50).ListItem.Title,[COLOR=blue]$LOCALIZE[556]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Artist,[COLOR=blue]$LOCALIZE[557]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Album,[COLOR=blue]$LOCALIZE[558]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Duration,[COLOR=blue]$LOCALIZE[555]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.TrackNumber,[COLOR=blue]$LOCALIZE[554]:[/COLOR] ,[CR]]$INFO[Container(50).ListItem.Genre,[COLOR=blue]$LOCALIZE[515]:[/COLOR] ,[CR]]</label> + </control> + </control> + <control type="group"> + <visible>Control.HasFocus(100)</visible> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>465</posx> + <posy>90</posy> + <width>350</width> + <height>200</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[Container(100).ListItem.Icon]</texture> + </control> + <control type="textbox"> + <posx>465</posx> + <posy>300</posy> + <width>350</width> + <height>220</height> + <font>font11</font> + <align>center</align> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <pagecontrol>-</pagecontrol> + <label>$INFO[Container(100).ListItem.Title,[COLOR=blue]$LOCALIZE[556]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Artist,[COLOR=blue]$LOCALIZE[557]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Album,[COLOR=blue]$LOCALIZE[558]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Duration,[COLOR=blue]$LOCALIZE[555]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.TrackNumber,[COLOR=blue]$LOCALIZE[554]:[/COLOR] ,[CR]]$INFO[Container(100).ListItem.Genre,[COLOR=blue]$LOCALIZE[515]:[/COLOR] ,[CR]]</label> + </control> + </control> + </control> + <control type="group"> + <animation effect="slide" start="-480,0" end="0,0" time="500" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" end="-480,0" start="0,0" time="500" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>480</width> + <height>720</height> + <texture border="0,0,15,0">MediaBladeSub.png</texture> + </control> + <control type="label"> + <posx>30</posx> + <posy>40</posy> + <width>410</width> + <height>30</height> + <font>font24_title</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>31058</label> + </control> + <control type="image"> + <posx>10</posx> + <posy>80</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>50r</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>number of files/pages in left list text label</description> + <posx>30</posx> + <posy>38r</posy> + <width>410</width> + <font>font12</font> + <align>left</align> + <scroll>true</scroll> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <label>($INFO[Container(50).NumItems]) $LOCALIZE[31025] - $LOCALIZE[31024] ($INFO[Container(50).CurrentPage]/$INFO[Container(50).NumPages])</label> + </control> + <control type="scrollbar" id="30"> + <posx>20</posx> + <posy>100</posy> + <width>25</width> + <height>540</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>31</onleft> + <onright>50</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="list" id="50"> + <posx>50</posx> + <posy>100</posy> + <width>400</width> + <height>540</height> + <onleft>30</onleft> + <onright>9000</onright> + <onup>50</onup> + <ondown>50</ondown> + <viewtype label="">list</viewtype> + <pagecontrol>30</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30" width="400"> + <control type="label"> + <posx>5</posx> + <posy>0</posy> + <width>380</width> + <height>30</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>395</posx> + <posy>0</posy> + <width>360</width> + <height>30</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30" width="400"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>30</height> + <texture border="7">MenuItemFO.png</texture> + <visible>Control.HasFocus(50)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>5</posx> + <posy>0</posy> + <width>380</width> + <height>30</height> + <font>font12</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>395</posx> + <posy>0</posy> + <width>360</width> + <height>30</height> + <font>font12</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + </control> + </control> + <control type="group"> + <animation effect="slide" start="480,0" end="0,0" time="500" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" end="480,0" start="0,0" time="500" tween="quadratic" easing="out">WindowClose</animation> + <posx>800</posx> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>480</width> + <height>720</height> + <texture border="15,0,0,0" flipx="true">MediaBladeSub.png</texture> + </control> + <control type="label"> + <posx>440</posx> + <posy>40</posy> + <width>410</width> + <height>30</height> + <font>font24_title</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <label>31059</label> + </control> + <control type="image"> + <posx>10</posx> + <posy>80</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>50r</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Page Count Label</description> + <posx>440</posx> + <posy>38r</posy> + <width>300</width> + <height>20</height> + <font>font12</font> + <textcolor>blue</textcolor> + <scroll>false</scroll> + <align>right</align> + <aligny>center</aligny> + <label>($INFO[Container(100).NumItems]) $LOCALIZE[31025] - $LOCALIZE[31024] ($INFO[Container(100).CurrentPage]/$INFO[Container(100).NumPages])</label> + </control> + <control type="scrollbar" id="31"> + <posx>430</posx> + <posy>100</posy> + <width>25</width> + <height>550</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>100</onleft> + <onright>30</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="list" id="100"> + <posx>20</posx> + <posy>100</posy> + <width>400</width> + <height>550</height> + <onleft>9000</onleft> + <onright>31</onright> + <onup>100</onup> + <ondown>100</ondown> + <viewtype label="">list</viewtype> + <pagecontrol>31</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="30" width="400"> + <control type="label"> + <posx>5</posx> + <posy>0</posy> + <width>380</width> + <height>30</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>395</posx> + <posy>0</posy> + <width>360</width> + <height>30</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <info>ListItem.Label2</info> + </control> + </itemlayout> + <focusedlayout height="30" width="400"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>30</height> + <texture border="7">MenuItemFO.png</texture> + <visible>Control.HasFocus(100)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>5</posx> + <posy>0</posy> + <width>380</width> + <height>30</height> + <font>font12</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + <control type="label"> + <posx>395</posx> + <posy>0</posy> + <width>360</width> + <height>30</height> + <font>font12</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <info>ListItem.Label2</info> + </control> + </focusedlayout> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[10503]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyMusicSongs.xml b/addons/skin.confluence/720p/MyMusicSongs.xml index 2580590783..db058ad4b1 100644 --- a/addons/skin.confluence/720p/MyMusicSongs.xml +++ b/addons/skin.confluence/720p/MyMusicSongs.xml @@ -1,202 +1,202 @@ -<window id="501">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,51,550,500,506</views>
- <controls>
- <include>CommonMusicBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(51) | Control.IsVisible(500)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0,5,0,0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(506) | Control.IsVisible(550)</visible>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>FullWidthList</include> <!-- view id = 51 -->
- <include>ThumbnailView</include> <!-- view id = 500 -->
- <include>MusicInfoListView</include> <!-- view id = 506 -->
- <include>AddonInfoListView1</include> <!-- view id = 550 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Sort by button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>4</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="togglebutton" id="4">
- <description>Sort asc</description>
- <posx>220</posx>
- <posy>53</posy>
- <label>-</label>
- <onleft>3</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="radiobutton" id="99">
- <description>Library button</description>
- <posx>0</posx>
- <posy>80</posy>
- <label>$LOCALIZE[29800]</label>
- <onclick>ReplaceWindow(MusicLibrary)</onclick>
- <selected>Window.IsVisible(MusicLibrary)</selected>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>3</onup>
- <ondown>610</ondown>
- <enable>Library.HasContent(Music)</enable>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>99</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[31022]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="501"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,51,550,500,506</views> + <controls> + <include>CommonMusicBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(51) | Control.IsVisible(500)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0,5,0,0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(506) | Control.IsVisible(550)</visible> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>FullWidthList</include> <!-- view id = 51 --> + <include>ThumbnailView</include> <!-- view id = 500 --> + <include>MusicInfoListView</include> <!-- view id = 506 --> + <include>AddonInfoListView1</include> <!-- view id = 550 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Sort by button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>4</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="togglebutton" id="4"> + <description>Sort asc</description> + <posx>220</posx> + <posy>53</posy> + <label>-</label> + <onleft>3</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="radiobutton" id="99"> + <description>Library button</description> + <posx>0</posx> + <posy>80</posy> + <label>$LOCALIZE[29800]</label> + <onclick>ReplaceWindow(MusicLibrary)</onclick> + <selected>Window.IsVisible(MusicLibrary)</selected> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>3</onup> + <ondown>610</ondown> + <enable>Library.HasContent(Music)</enable> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>99</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[31022]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyPics.xml b/addons/skin.confluence/720p/MyPics.xml index 70ee85e67a..31b2e838d6 100644 --- a/addons/skin.confluence/720p/MyPics.xml +++ b/addons/skin.confluence/720p/MyPics.xml @@ -1,242 +1,242 @@ -<window id="2">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,51,550,500,511,510</views>
- <controls>
- <include>CommonPictureBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0.5.0.0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(510) | Control.IsVisible(511)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>600</height>
- <texture background="true">$INFO[ListItem.FilenameAndPath]</texture>
- <fadetime>1000</fadetime>
- <aspectratio>keep</aspectratio>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(510)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(510)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(51) | Control.IsVisible(500)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0,5,0,0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(550)</visible>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>FullWidthList</include> <!-- view id = 51 -->
- <include>ThumbnailView</include> <!-- view id = 500 -->
- <include>PictureWrapView</include> <!-- view id = 510 -->
- <include>PictureThumbView</include> <!-- view id = 511 -->
- <include>AddonInfoListView1</include> <!-- view id = 550 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Sort by button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>4</onright>
- <onup>2</onup>
- <ondown>6</ondown>
- </control>
- <control type="togglebutton" id="4">
- <description>Sort asc</description>
- <posx>220</posx>
- <posy>53</posy>
- <label>-</label>
- <onleft>3</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>6</ondown>
- </control>
- <control type="button" id="6">
- <description>Slideshow</description>
- <posx>0</posx>
- <posy>80</posy>
- <include>ButtonCommonValues</include>
- <label>108</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>3</onup>
- <ondown>7</ondown>
- </control>
- <control type="button" id="7">
- <description>Recersive Slideshow</description>
- <posx>0</posx>
- <posy>120</posy>
- <include>ButtonCommonValues</include>
- <label>361</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>6</onup>
- <ondown>9</ondown>
- </control>
- <control type="radiobutton" id="9">
- <description>Randomize Toggle</description>
- <posx>0</posx>
- <posy>160</posy>
- <include>ButtonCommonValues</include>
- <label>13319</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>7</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>9</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[1]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="2"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,51,550,500,511,510</views> + <controls> + <include>CommonPictureBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0.5.0.0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(510) | Control.IsVisible(511)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>600</height> + <texture background="true">$INFO[ListItem.FilenameAndPath]</texture> + <fadetime>1000</fadetime> + <aspectratio>keep</aspectratio> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(510)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(510)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(51) | Control.IsVisible(500)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0,5,0,0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(550)</visible> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>FullWidthList</include> <!-- view id = 51 --> + <include>ThumbnailView</include> <!-- view id = 500 --> + <include>PictureWrapView</include> <!-- view id = 510 --> + <include>PictureThumbView</include> <!-- view id = 511 --> + <include>AddonInfoListView1</include> <!-- view id = 550 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Sort by button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>4</onright> + <onup>2</onup> + <ondown>6</ondown> + </control> + <control type="togglebutton" id="4"> + <description>Sort asc</description> + <posx>220</posx> + <posy>53</posy> + <label>-</label> + <onleft>3</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>6</ondown> + </control> + <control type="button" id="6"> + <description>Slideshow</description> + <posx>0</posx> + <posy>80</posy> + <include>ButtonCommonValues</include> + <label>108</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>3</onup> + <ondown>7</ondown> + </control> + <control type="button" id="7"> + <description>Recersive Slideshow</description> + <posx>0</posx> + <posy>120</posy> + <include>ButtonCommonValues</include> + <label>361</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>6</onup> + <ondown>9</ondown> + </control> + <control type="radiobutton" id="9"> + <description>Randomize Toggle</description> + <posx>0</posx> + <posy>160</posy> + <include>ButtonCommonValues</include> + <label>13319</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>7</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>9</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[1]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyPrograms.xml b/addons/skin.confluence/720p/MyPrograms.xml index 593328162b..32800a7659 100644 --- a/addons/skin.confluence/720p/MyPrograms.xml +++ b/addons/skin.confluence/720p/MyPrograms.xml @@ -1,187 +1,187 @@ -<window id="1">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,51,500,550</views>
- <controls>
- <include>CommonProgramsBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0,5,0,0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(550)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(51) | Control.IsVisible(500)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>FullWidthList</include> <!-- view id = 51 -->
- <include>ThumbnailView</include> <!-- view id = 500 -->
- <include>AddonInfoListView1</include> <!-- view id = 550 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Sort by button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>4</onright>
- <onup>2</onup>
- <ondown>610</ondown>
- </control>
- <control type="togglebutton" id="4">
- <description>Sort asc</description>
- <posx>220</posx>
- <posy>53</posy>
- <label>-</label>
- <onleft>3</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>3</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-370,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-370,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[0]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="1"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,51,500,550</views> + <controls> + <include>CommonProgramsBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0,5,0,0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(550)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(51) | Control.IsVisible(500)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>FullWidthList</include> <!-- view id = 51 --> + <include>ThumbnailView</include> <!-- view id = 500 --> + <include>AddonInfoListView1</include> <!-- view id = 550 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Sort by button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>4</onright> + <onup>2</onup> + <ondown>610</ondown> + </control> + <control type="togglebutton" id="4"> + <description>Sort asc</description> + <posx>220</posx> + <posy>53</posy> + <label>-</label> + <onleft>3</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>3</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-370,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-370,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[0]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyVideo.xml b/addons/skin.confluence/720p/MyVideo.xml index 465c41c25f..6be283da29 100644 --- a/addons/skin.confluence/720p/MyVideo.xml +++ b/addons/skin.confluence/720p/MyVideo.xml @@ -1,325 +1,325 @@ -<window id="6">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,51,550,560,500,501,508,505</views>
- <controls>
- <include>CommonVideoBackground</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <visible>!Skin.HasSetting(VideoFilesFanart) | Control.IsVisible(508)</visible>
- <include>Window_OpenClose_Animation</include>
- </control>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(505)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(505) | Control.IsVisible(508)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">ContentPanel2.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(501)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(505)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0,5,0,0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(550) | Control.IsVisible(560)</visible>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>FullWidthList</include> <!-- view id = 51 -->
- <include>ThumbnailView</include> <!-- view id = 500 -->
- <include>PosterWrapView</include> <!-- view id = 501 -->
- <include>PosterWrapView2_Fanart</include> <!-- view id = 508 -->
- <include>WideIconView</include> <!-- view id = 505 -->
- <include>AddonInfoListView1</include> <!-- view id = 550 -->
- <include>LiveTVView1</include> <!-- view id = 560 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation>
- <control type="group">
- <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1</width>
- <height>720</height>
- <texture>MediaBladeSub_Part1.png</texture>
- <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>12</width>
- <height>720</height>
- <texture>MediaBladeSub_Part2.png</texture>
- <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- </control>
- <control type="group" id="9001">
- <posx>-220</posx>
- <posy>0</posy>
- <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation>
- <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation>
- <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <control type="button">
- <description>Fake button for mouse control</description>
- <posx>-15</posx>
- <posy>0</posy>
- <width>245</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <control type="image">
- <posx>185</posx>
- <posy>200</posy>
- <width>40</width>
- <height>40</height>
- <texture>MediaSubSet.png</texture>
- </control>
- <control type="grouplist" id="9010">
- <posx>10</posx>
- <posy>250</posy>
- <width>240</width>
- <height>550</height>
- <onleft>9000</onleft>
- <onright>50</onright>
- <onup>9010</onup>
- <ondown>9010</ondown>
- <itemgap>0</itemgap>
- <control type="radiobutton" id="7">
- <description>Stack Toggle</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>346</label>
- </control>
- <control type="label" id="200">
- <width>220</width>
- <height>45</height>
- <font>font12caps</font>
- <label>14018</label>
- <textcolor>dialogheader</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="201">
- <description>Toggle Fanart</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31307</label>
- <onclick>Skin.ToggleSetting(VideoFilesFanart)</onclick>
- <selected>Skin.HasSetting(VideoFilesFanart)</selected>
- <visible>!Control.IsVisible(508)</visible>
- </control>
- </control>
- </control>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Sort by button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>4</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="togglebutton" id="4">
- <description>Sort asc</description>
- <posx>220</posx>
- <posy>53</posy>
- <label>-</label>
- <onleft>3</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="radiobutton" id="99">
- <description>Library button</description>
- <posx>0</posx>
- <posy>80</posy>
- <label>$LOCALIZE[29800]</label>
- <onclick>ReplaceWindow(VideoLibrary)</onclick>
- <selected>Window.IsVisible(VideoLibrary)</selected>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>3</onup>
- <ondown>98</ondown>
- <enable>Library.HasContent(Video)</enable>
- </control>
- <control type="radiobutton" id="98">
- <description>Extra Options</description>
- <hitrect x="0" y="120" w="265" h="40" />
- <posx>0</posx>
- <posy>120</posy>
- <include>ButtonCommonValues</include>
- <radiowidth>18</radiowidth>
- <radioheight>18</radioheight>
- <radioposx>222</radioposx>
- <radioposy>12</radioposy>
- <textureradiofocus>HomeHasSub.png</textureradiofocus>
- <textureradionofocus>HomeHasSub.png</textureradionofocus>
- <label>31026</label>
- <onleft>50</onleft>
- <onright>9010</onright>
- <onup>99</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>98</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[31021]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
+<window id="6"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,51,550,560,500,501,508,505</views> + <controls> + <include>CommonVideoBackground</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <visible>!Skin.HasSetting(VideoFilesFanart) | Control.IsVisible(508)</visible> + <include>Window_OpenClose_Animation</include> + </control> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(505)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(505) | Control.IsVisible(508)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">ContentPanel2.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(501)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(505)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0,5,0,0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(550) | Control.IsVisible(560)</visible> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>FullWidthList</include> <!-- view id = 51 --> + <include>ThumbnailView</include> <!-- view id = 500 --> + <include>PosterWrapView</include> <!-- view id = 501 --> + <include>PosterWrapView2_Fanart</include> <!-- view id = 508 --> + <include>WideIconView</include> <!-- view id = 505 --> + <include>AddonInfoListView1</include> <!-- view id = 550 --> + <include>LiveTVView1</include> <!-- view id = 560 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation> + <control type="group"> + <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1</width> + <height>720</height> + <texture>MediaBladeSub_Part1.png</texture> + <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>12</width> + <height>720</height> + <texture>MediaBladeSub_Part2.png</texture> + <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + </control> + <control type="group" id="9001"> + <posx>-220</posx> + <posy>0</posy> + <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation> + <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation> + <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <control type="button"> + <description>Fake button for mouse control</description> + <posx>-15</posx> + <posy>0</posy> + <width>245</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <control type="image"> + <posx>185</posx> + <posy>200</posy> + <width>40</width> + <height>40</height> + <texture>MediaSubSet.png</texture> + </control> + <control type="grouplist" id="9010"> + <posx>10</posx> + <posy>250</posy> + <width>240</width> + <height>550</height> + <onleft>9000</onleft> + <onright>50</onright> + <onup>9010</onup> + <ondown>9010</ondown> + <itemgap>0</itemgap> + <control type="radiobutton" id="7"> + <description>Stack Toggle</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>346</label> + </control> + <control type="label" id="200"> + <width>220</width> + <height>45</height> + <font>font12caps</font> + <label>14018</label> + <textcolor>dialogheader</textcolor> + <align>center</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="201"> + <description>Toggle Fanart</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31307</label> + <onclick>Skin.ToggleSetting(VideoFilesFanart)</onclick> + <selected>Skin.HasSetting(VideoFilesFanart)</selected> + <visible>!Control.IsVisible(508)</visible> + </control> + </control> + </control> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Sort by button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>4</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="togglebutton" id="4"> + <description>Sort asc</description> + <posx>220</posx> + <posy>53</posy> + <label>-</label> + <onleft>3</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="radiobutton" id="99"> + <description>Library button</description> + <posx>0</posx> + <posy>80</posy> + <label>$LOCALIZE[29800]</label> + <onclick>ReplaceWindow(VideoLibrary)</onclick> + <selected>Window.IsVisible(VideoLibrary)</selected> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>3</onup> + <ondown>98</ondown> + <enable>Library.HasContent(Video)</enable> + </control> + <control type="radiobutton" id="98"> + <description>Extra Options</description> + <hitrect x="0" y="120" w="265" h="40" /> + <posx>0</posx> + <posy>120</posy> + <include>ButtonCommonValues</include> + <radiowidth>18</radiowidth> + <radioheight>18</radioheight> + <radioposx>222</radioposx> + <radioposy>12</radioposy> + <textureradiofocus>HomeHasSub.png</textureradiofocus> + <textureradionofocus>HomeHasSub.png</textureradionofocus> + <label>31026</label> + <onleft>50</onleft> + <onright>9010</onright> + <onup>99</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>98</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[31021]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/MyVideoNav.xml b/addons/skin.confluence/720p/MyVideoNav.xml index 672cba51c4..833bf20ee6 100644 --- a/addons/skin.confluence/720p/MyVideoNav.xml +++ b/addons/skin.confluence/720p/MyVideoNav.xml @@ -1,547 +1,547 @@ -<window id="25">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,500,550,560,501,508,504,503,505,511</views>
- <controls>
- <include>CommonVideoBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <visible>!Skin.HasSetting(VideoLibraryMovieFanart) | Control.IsVisible(508)</visible>
- <visible>Container.Content(Movies)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <visible>!Skin.HasSetting(VideoLibraryTVFanart)</visible>
- <visible>Container.Content(TVShows) | [Container.Content(Episodes) + stringcompare(Container.FolderPath,videodb://5/)]</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <info>Fanart.Image</info>
- <texture background="true">$INFO[Fanart.Image]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <visible>!Skin.HasSetting(VideoLibraryTVFanart)</visible>
- <visible>Container.Content(Seasons) | [Container.Content(Episodes) + !stringcompare(Container.FolderPath,videodb://5/)]</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture>
- <include>backgroundfade</include>
- <fadetime>FanartCrossfadeTime</fadetime>
- <visible>!Skin.HasSetting(VideoLibraryMusicVideoFanart)</visible>
- <visible>Container.Content(MusicVideos) | Container.Content(Artists) | Container.Content(Albums)</visible>
- </control>
- </control>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(500) | Control.IsVisible(505)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(500) | Control.IsVisible(505) | Control.IsVisible(508)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture>ContentPanel2.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(501)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>220</posy>
- <width>1280</width>
- <height>500</height>
- <texture border="20">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(503)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>-5</posy>
- <width>1280</width>
- <height>725</height>
- <texture border="0,5,0,0">ContentPanel4.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(504) | Control.IsVisible(511) | Control.IsVisible(550) | Control.IsVisible(560)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(500) | Control.IsVisible(505)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>ThumbnailView</include> <!-- view id = 500 -->
- <include>PosterWrapView</include> <!-- view id = 501 -->
- <include>PosterWrapView2_Fanart</include> <!-- view id = 508 -->
- <include>MediaListView3</include> <!-- view id = 503 -->
- <include>MediaListView2</include> <!-- view id = 504 -->
- <include>WideIconView</include> <!-- view id = 505 -->
- <include>MusicVideoInfoListView</include> <!-- view id = 511 -->
- <include>AddonInfoListView1</include> <!-- view id = 550 -->
- <include>LiveTVView1</include> <!-- view id = 560 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation>
- <control type="group">
- <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1</width>
- <height>720</height>
- <texture>MediaBladeSub_Part1.png</texture>
- <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>12</width>
- <height>720</height>
- <texture>MediaBladeSub_Part2.png</texture>
- <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- </control>
- <control type="group" id="9001">
- <posx>-220</posx>
- <posy>0</posy>
- <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation>
- <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation>
- <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <control type="button">
- <description>Fake button for mouse control</description>
- <posx>-15</posx>
- <posy>0</posy>
- <width>245</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <control type="image">
- <posx>185</posx>
- <posy>240</posy>
- <width>40</width>
- <height>40</height>
- <texture>MediaSubSet.png</texture>
- </control>
- <control type="grouplist" id="9010">
- <posx>10</posx>
- <posy>290</posy>
- <width>240</width>
- <height>550</height>
- <onleft>9000</onleft>
- <onright>50</onright>
- <onup>9010</onup>
- <ondown>9010</ondown>
- <itemgap>0</itemgap>
- <control type="radiobutton" id="14">
- <description>Watched Toggle</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>20367</label>
- </control>
- <control type="button" id="8">
- <description>Search</description>
- <include>ButtonMediaSubCommonValues</include>
- <label>137</label>
- </control>
- <control type="radiobutton" id="19">
- <description>Filter</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>587</label>
- </control>
- <control type="radiobutton" id="17">
- <description>Flatten</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>20411</label>
- </control>
- <control type="radiobutton" id="11">
- <description>Unlock Shares</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>20336</label>
- <onclick>xbmc.mastermode</onclick>
- <selected>system.ismaster</selected>
- <visible>system.haslocks</visible>
- </control>
- <control type="label" id="200">
- <width>220</width>
- <height>45</height>
- <font>font12caps</font>
- <label>14018</label>
- <textcolor>dialogheader</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- <visible>Control.IsVisible(201) | Control.IsVisible(202) | Control.IsVisible(203) | Control.IsVisible(204) | Control.IsVisible(205)</visible>
- </control>
- <control type="radiobutton" id="201">
- <description>Toggle MoviesFanart</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31307</label>
- <onclick>Skin.ToggleSetting(VideoLibraryMovieFanart)</onclick>
- <selected>Skin.HasSetting(VideoLibraryMovieFanart)</selected>
- <visible>Container.Content(Movies) + !Control.IsVisible(508)</visible>
- </control>
- <control type="radiobutton" id="202">
- <description>Toggle TVShow Fanart</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31307</label>
- <onclick>Skin.ToggleSetting(VideoLibraryTVFanart)</onclick>
- <selected>Skin.HasSetting(VideoLibraryTVFanart)</selected>
- <visible>Container.Content(TVShows) | Container.Content(Seasons) | Container.Content(Episodes)</visible>
- </control>
- <control type="radiobutton" id="203">
- <description>Toggle MusicVideo Fanart</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31307</label>
- <onclick>Skin.ToggleSetting(VideoLibraryMusicVideoFanart)</onclick>
- <selected>Skin.HasSetting(VideoLibraryMusicVideoFanart)</selected>
- <visible>Container.Content(MusicVideos) | Container.Content(Artists) | Container.Content(Albums)</visible>
- </control>
- <control type="radiobutton" id="204">
- <description>Toggle Fanart</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31318</label>
- <onclick>Skin.ToggleSetting(VideoLibraryFanartView504)</onclick>
- <selected>!Skin.HasSetting(VideoLibraryFanartView504)</selected>
- <visible>[Control.IsVisible(504) + [Container.Content(Movies) | Container.Content(TVShows)]]</visible>
- </control>
- <control type="radiobutton" id="205">
- <textwidth>170</textwidth>
- <description>Toggle Fanart View Media Info</description>
- <include>ButtonMediaSubCommonValues</include>
- <label>31005</label>
- <onclick>Skin.ToggleSetting(View508HideInfo)</onclick>
- <selected>Skin.HasSetting(View508HideInfo)</selected>
- <visible>Control.IsVisible(508)</visible>
- </control>
- </control>
- </control>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Sort by button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>4</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="togglebutton" id="4">
- <description>Sort asc</description>
- <posx>220</posx>
- <posy>53</posy>
- <label>-</label>
- <onleft>3</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>99</ondown>
- </control>
- <control type="radiobutton" id="99">
- <description>Library button</description>
- <posx>0</posx>
- <posy>80</posy>
- <label>$LOCALIZE[29800]</label>
- <onclick>ReplaceWindow(VideoFiles)</onclick>
- <selected>Window.IsVisible(VideoLibrary)</selected>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>3</onup>
- <ondown>16</ondown>
- </control>
- <control type="radiobutton" id="16">
- <description>PartyMode</description>
- <posx>0</posx>
- <posy>120</posy>
- <label>589</label>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>99</onup>
- <ondown>98</ondown>
- </control>
- <control type="radiobutton" id="98">
- <description>Extra Options</description>
- <hitrect x="0" y="160" w="265" h="40" />
- <posx>0</posx>
- <posy>160</posy>
- <include>ButtonCommonValues</include>
- <radiowidth>18</radiowidth>
- <radioheight>18</radioheight>
- <radioposx>222</radioposx>
- <radioposy>12</radioposy>
- <textureradiofocus>HomeHasSub.png</textureradiofocus>
- <textureradionofocus>HomeHasSub.png</textureradionofocus>
- <label>31026</label>
- <onleft>50</onleft>
- <onright>9010</onright>
- <onup>16</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>98</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(MusicVideos)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[20389]</label>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(TVShows)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[20343]</label>
- </control>
- </control>
- <control type="group">
- <posx>470</posx>
- <posy>0</posy>
- <visible>Container.Content(Episodes)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-710,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-710,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$INFO[ListItem.Season,$LOCALIZE[20373] ]</label>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(Seasons) | Container.Content(Episodes)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-600,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-600,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>350</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <width>250</width>
- <include>WindowTitleCommons</include>
- <posx>320</posx>
- <label>$INFO[ListItem.TVShowTitle]</label>
- </control>
- </control>
- <control type="group">
- <posx>240</posx>
- <posy>0</posy>
- <visible>Container.Content(Movies)</visible>
- <include>VisibleFadeEffect</include>
- <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[20342]</label>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[20314]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="25"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,500,550,560,501,508,504,503,505,511</views> + <controls> + <include>CommonVideoBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <visible>!Skin.HasSetting(VideoLibraryMovieFanart) | Control.IsVisible(508)</visible> + <visible>Container.Content(Movies)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <visible>!Skin.HasSetting(VideoLibraryTVFanart)</visible> + <visible>Container.Content(TVShows) | [Container.Content(Episodes) + stringcompare(Container.FolderPath,videodb://5/)]</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <info>Fanart.Image</info> + <texture background="true">$INFO[Fanart.Image]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <visible>!Skin.HasSetting(VideoLibraryTVFanart)</visible> + <visible>Container.Content(Seasons) | [Container.Content(Episodes) + !stringcompare(Container.FolderPath,videodb://5/)]</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture background="true">$INFO[ListItem.Property(Fanart_Image)]</texture> + <include>backgroundfade</include> + <fadetime>FanartCrossfadeTime</fadetime> + <visible>!Skin.HasSetting(VideoLibraryMusicVideoFanart)</visible> + <visible>Container.Content(MusicVideos) | Container.Content(Artists) | Container.Content(Albums)</visible> + </control> + </control> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(500) | Control.IsVisible(505)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(500) | Control.IsVisible(505) | Control.IsVisible(508)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture>ContentPanel2.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(501)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>220</posy> + <width>1280</width> + <height>500</height> + <texture border="20">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(503)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>-5</posy> + <width>1280</width> + <height>725</height> + <texture border="0,5,0,0">ContentPanel4.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(504) | Control.IsVisible(511) | Control.IsVisible(550) | Control.IsVisible(560)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(500) | Control.IsVisible(505)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>ThumbnailView</include> <!-- view id = 500 --> + <include>PosterWrapView</include> <!-- view id = 501 --> + <include>PosterWrapView2_Fanart</include> <!-- view id = 508 --> + <include>MediaListView3</include> <!-- view id = 503 --> + <include>MediaListView2</include> <!-- view id = 504 --> + <include>WideIconView</include> <!-- view id = 505 --> + <include>MusicVideoInfoListView</include> <!-- view id = 511 --> + <include>AddonInfoListView1</include> <!-- view id = 550 --> + <include>LiveTVView1</include> <!-- view id = 560 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation> + <control type="group"> + <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1</width> + <height>720</height> + <texture>MediaBladeSub_Part1.png</texture> + <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>12</width> + <height>720</height> + <texture>MediaBladeSub_Part2.png</texture> + <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + </control> + <control type="group" id="9001"> + <posx>-220</posx> + <posy>0</posy> + <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation> + <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation> + <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <control type="button"> + <description>Fake button for mouse control</description> + <posx>-15</posx> + <posy>0</posy> + <width>245</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <control type="image"> + <posx>185</posx> + <posy>240</posy> + <width>40</width> + <height>40</height> + <texture>MediaSubSet.png</texture> + </control> + <control type="grouplist" id="9010"> + <posx>10</posx> + <posy>290</posy> + <width>240</width> + <height>550</height> + <onleft>9000</onleft> + <onright>50</onright> + <onup>9010</onup> + <ondown>9010</ondown> + <itemgap>0</itemgap> + <control type="radiobutton" id="14"> + <description>Watched Toggle</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>20367</label> + </control> + <control type="button" id="8"> + <description>Search</description> + <include>ButtonMediaSubCommonValues</include> + <label>137</label> + </control> + <control type="radiobutton" id="19"> + <description>Filter</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>587</label> + </control> + <control type="radiobutton" id="17"> + <description>Flatten</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>20411</label> + </control> + <control type="radiobutton" id="11"> + <description>Unlock Shares</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>20336</label> + <onclick>xbmc.mastermode</onclick> + <selected>system.ismaster</selected> + <visible>system.haslocks</visible> + </control> + <control type="label" id="200"> + <width>220</width> + <height>45</height> + <font>font12caps</font> + <label>14018</label> + <textcolor>dialogheader</textcolor> + <align>center</align> + <aligny>center</aligny> + <visible>Control.IsVisible(201) | Control.IsVisible(202) | Control.IsVisible(203) | Control.IsVisible(204) | Control.IsVisible(205)</visible> + </control> + <control type="radiobutton" id="201"> + <description>Toggle MoviesFanart</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31307</label> + <onclick>Skin.ToggleSetting(VideoLibraryMovieFanart)</onclick> + <selected>Skin.HasSetting(VideoLibraryMovieFanart)</selected> + <visible>Container.Content(Movies) + !Control.IsVisible(508)</visible> + </control> + <control type="radiobutton" id="202"> + <description>Toggle TVShow Fanart</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31307</label> + <onclick>Skin.ToggleSetting(VideoLibraryTVFanart)</onclick> + <selected>Skin.HasSetting(VideoLibraryTVFanart)</selected> + <visible>Container.Content(TVShows) | Container.Content(Seasons) | Container.Content(Episodes)</visible> + </control> + <control type="radiobutton" id="203"> + <description>Toggle MusicVideo Fanart</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31307</label> + <onclick>Skin.ToggleSetting(VideoLibraryMusicVideoFanart)</onclick> + <selected>Skin.HasSetting(VideoLibraryMusicVideoFanart)</selected> + <visible>Container.Content(MusicVideos) | Container.Content(Artists) | Container.Content(Albums)</visible> + </control> + <control type="radiobutton" id="204"> + <description>Toggle Fanart</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31318</label> + <onclick>Skin.ToggleSetting(VideoLibraryFanartView504)</onclick> + <selected>!Skin.HasSetting(VideoLibraryFanartView504)</selected> + <visible>[Control.IsVisible(504) + [Container.Content(Movies) | Container.Content(TVShows)]]</visible> + </control> + <control type="radiobutton" id="205"> + <textwidth>170</textwidth> + <description>Toggle Fanart View Media Info</description> + <include>ButtonMediaSubCommonValues</include> + <label>31005</label> + <onclick>Skin.ToggleSetting(View508HideInfo)</onclick> + <selected>Skin.HasSetting(View508HideInfo)</selected> + <visible>Control.IsVisible(508)</visible> + </control> + </control> + </control> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Sort by button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>4</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="togglebutton" id="4"> + <description>Sort asc</description> + <posx>220</posx> + <posy>53</posy> + <label>-</label> + <onleft>3</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>99</ondown> + </control> + <control type="radiobutton" id="99"> + <description>Library button</description> + <posx>0</posx> + <posy>80</posy> + <label>$LOCALIZE[29800]</label> + <onclick>ReplaceWindow(VideoFiles)</onclick> + <selected>Window.IsVisible(VideoLibrary)</selected> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>3</onup> + <ondown>16</ondown> + </control> + <control type="radiobutton" id="16"> + <description>PartyMode</description> + <posx>0</posx> + <posy>120</posy> + <label>589</label> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>99</onup> + <ondown>98</ondown> + </control> + <control type="radiobutton" id="98"> + <description>Extra Options</description> + <hitrect x="0" y="160" w="265" h="40" /> + <posx>0</posx> + <posy>160</posy> + <include>ButtonCommonValues</include> + <radiowidth>18</radiowidth> + <radioheight>18</radioheight> + <radioposx>222</radioposx> + <radioposy>12</radioposy> + <textureradiofocus>HomeHasSub.png</textureradiofocus> + <textureradionofocus>HomeHasSub.png</textureradionofocus> + <label>31026</label> + <onleft>50</onleft> + <onright>9010</onright> + <onup>16</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>98</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(MusicVideos)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[20389]</label> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(TVShows)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[20343]</label> + </control> + </control> + <control type="group"> + <posx>470</posx> + <posy>0</posy> + <visible>Container.Content(Episodes)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-710,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-710,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$INFO[ListItem.Season,$LOCALIZE[20373] ]</label> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(Seasons) | Container.Content(Episodes)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-600,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-600,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>350</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <width>250</width> + <include>WindowTitleCommons</include> + <posx>320</posx> + <label>$INFO[ListItem.TVShowTitle]</label> + </control> + </control> + <control type="group"> + <posx>240</posx> + <posy>0</posy> + <visible>Container.Content(Movies)</visible> + <include>VisibleFadeEffect</include> + <animation effect="slide" end="-510,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-510,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[20342]</label> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[20314]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/MyVideoPlaylist.xml b/addons/skin.confluence/720p/MyVideoPlaylist.xml index 51847573b6..9e8692d028 100644 --- a/addons/skin.confluence/720p/MyVideoPlaylist.xml +++ b/addons/skin.confluence/720p/MyVideoPlaylist.xml @@ -1,200 +1,200 @@ -<window id="28">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <views>50,51</views>
- <controls>
- <include>CommonVideoBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture border="20">black-back.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>128r</posy>
- <width>1280</width>
- <height>128</height>
- <texture>floor.png</texture>
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>50</posx>
- <posy>60</posy>
- <width>750</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>50</posx>
- <posy>645</posy>
- <width>750</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- <control type="group">
- <include>VisibleFadeEffect</include>
- <visible>Control.IsVisible(51)</visible>
- <control type="image">
- <posx>75</posx>
- <posy>60</posy>
- <width>1130</width>
- <height>600</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>75</posx>
- <posy>645</posy>
- <width>1130</width>
- <height>600</height>
- <aspectratio aligny="top">keep</aspectratio>
- <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture>
- </control>
- </control>
- </control>
- <control type="group">
- <include>Window_OpenClose_Animation</include>
- <include>CommonRootView</include> <!-- view id = 50 -->
- <include>FullWidthList</include> <!-- view id = 51 -->
- </control>
- <include>CommonPageCount</include>
- <include>BehindDialogFadeOut</include>
- <include>ScrollOffsetLabel</include>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="button" id="2">
- <description>View As button</description>
- <posx>0</posx>
- <posy>0</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>20</ondown>
- </control>
- <control type="radiobutton" id="20">
- <description>Shuffle button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>191</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>26</ondown>
- </control>
- <control type="button" id="26">
- <description>Repeat button</description>
- <posx>0</posx>
- <posy>80</posy>
- <include>ButtonCommonValues</include>
- <label>-</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>20</onup>
- <ondown>21</ondown>
- </control>
- <control type="button" id="21">
- <description>Save button</description>
- <posx>0</posx>
- <posy>120</posy>
- <label>190</label>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>26</onup>
- <ondown>22</ondown>
- </control>
- <control type="button" id="22">
- <description>Clear button</description>
- <posx>0</posx>
- <posy>160</posy>
- <label>192</label>
- <onclick>ReplaceWindow(video)</onclick>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>21</onup>
- <ondown>610</ondown>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>22</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>2</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-370,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-370,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>300</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>270</posx>
- <label>$LOCALIZE[10522]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
+<window id="28"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <views>50,51</views> + <controls> + <include>CommonVideoBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture border="20">black-back.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>128r</posy> + <width>1280</width> + <height>128</height> + <texture>floor.png</texture> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50) | Control.IsVisible(51)</visible> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>50</posx> + <posy>60</posy> + <width>750</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>50</posx> + <posy>645</posy> + <width>750</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + <control type="group"> + <include>VisibleFadeEffect</include> + <visible>Control.IsVisible(51)</visible> + <control type="image"> + <posx>75</posx> + <posy>60</posy> + <width>1130</width> + <height>600</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>75</posx> + <posy>645</posy> + <width>1130</width> + <height>600</height> + <aspectratio aligny="top">keep</aspectratio> + <texture diffuse="diffuse_mirror3.png" flipy="true" border="20">ContentPanel.png</texture> + </control> + </control> + </control> + <control type="group"> + <include>Window_OpenClose_Animation</include> + <include>CommonRootView</include> <!-- view id = 50 --> + <include>FullWidthList</include> <!-- view id = 51 --> + </control> + <include>CommonPageCount</include> + <include>BehindDialogFadeOut</include> + <include>ScrollOffsetLabel</include> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | Control.HasFocus(8999)">WindowClose</animation> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="button" id="2"> + <description>View As button</description> + <posx>0</posx> + <posy>0</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>20</ondown> + </control> + <control type="radiobutton" id="20"> + <description>Shuffle button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>191</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>26</ondown> + </control> + <control type="button" id="26"> + <description>Repeat button</description> + <posx>0</posx> + <posy>80</posy> + <include>ButtonCommonValues</include> + <label>-</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>20</onup> + <ondown>21</ondown> + </control> + <control type="button" id="21"> + <description>Save button</description> + <posx>0</posx> + <posy>120</posy> + <label>190</label> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>26</onup> + <ondown>22</ondown> + </control> + <control type="button" id="22"> + <description>Clear button</description> + <posx>0</posx> + <posy>160</posy> + <label>192</label> + <onclick>ReplaceWindow(video)</onclick> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>21</onup> + <ondown>610</ondown> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>22</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>2</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-370,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-370,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>300</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>270</posx> + <label>$LOCALIZE[10522]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/MyWeather.xml b/addons/skin.confluence/720p/MyWeather.xml index f602a4b248..1e583353d0 100644 --- a/addons/skin.confluence/720p/MyWeather.xml +++ b/addons/skin.confluence/720p/MyWeather.xml @@ -1,917 +1,917 @@ -<window id="2600">
- <defaultcontrol always="true">50</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <include>CommonWeatherBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <animation type="WindowOpen" reversible="false">
- <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
- <effect type="fade" start="0" end="100" time="300" />
- </animation>
- <animation type="WindowClose" reversible="false">
- <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
- <effect type="fade" start="100" end="0" time="300" />
- </animation>
- <visible>!Window.IsVisible(script-twc-main.xml)</visible>
- <include>VisibleFadeEffect</include>
- <control type="group">
- <posx>100</posx>
- <posy>50</posy>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>620</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>20</posx>
- <posy>10</posy>
- <width>460</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>460</width>
- <height>30</height>
- <font>font13_title</font>
- <label>31300</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>weather location label</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>460</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <scroll>false</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[Weather.Location]</label>
- </control>
- <control type="label">
- <description>update label</description>
- <posx>20</posx>
- <posy>80</posy>
- <width>460</width>
- <height>35</height>
- <font>font12</font>
- <label>$LOCALIZE[31301] - $INFO[Window.Property(Updated)]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>grey2</textcolor>
- </control>
- <control type="label">
- <description>current temp Value</description>
- <posx>195</posx>
- <posy>175</posy>
- <width>180</width>
- <height>40</height>
- <font>WeatherTemp</font>
- <align>right</align>
- <aligny>top</aligny>
- <label>$INFO[Window.Property(Current.Temperature)]</label>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current temp Value Units</description>
- <posx>190</posx>
- <posy>185</posy>
- <width>100</width>
- <height>40</height>
- <font>font16caps</font>
- <align>left</align>
- <aligny>top</aligny>
- <label>$INFO[System.TemperatureUnits]</label>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>current weather icon</description>
- <posx>230</posx>
- <posy>135</posy>
- <width>230</width>
- <height>180</height>
- <info>Window.Property(Current.ConditionIcon)</info>
- <aspectratio>keep</aspectratio>
- </control>
- <control type="label">
- <description>current condition label</description>
- <posx>20</posx>
- <posy>320</posy>
- <width>460</width>
- <height>30</height>
- <info>Window.Property(Current.Condition)</info>
- <wrapmultiline>true</wrapmultiline>
- <font>font13</font>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>20</posx>
- <posy>390</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>current feels like label</description>
- <posx>170</posx>
- <posy>400</posy>
- <width>170</width>
- <height>35</height>
- <font>font13</font>
- <align>right</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[402] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current dew label</description>
- <posx>170</posx>
- <posy>430</posy>
- <width>170</width>
- <height>35</height>
- <font>font13</font>
- <align>right</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[405] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current humidity label</description>
- <posx>170</posx>
- <posy>460</posy>
- <width>170</width>
- <height>35</height>
- <font>font13</font>
- <align>right</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[406] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current UV Index label</description>
- <posx>170</posx>
- <posy>490</posy>
- <width>170</width>
- <height>35</height>
- <font>font13</font>
- <align>right</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[403] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current Wind label</description>
- <posx>170</posx>
- <posy>520</posy>
- <width>170</width>
- <height>35</height>
- <font>font13</font>
- <align>right</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[404] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current feels like Value</description>
- <posx>185</posx>
- <posy>400</posy>
- <width>300</width>
- <height>35</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[Window.Property(Current.FeelsLike)]$INFO[System.TemperatureUnits]</label>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current dew Value</description>
- <posx>185</posx>
- <posy>430</posy>
- <width>300</width>
- <height>35</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[Window.Property(Current.DewPoint)]$INFO[System.TemperatureUnits]</label>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current humidity Value</description>
- <posx>185</posx>
- <posy>460</posy>
- <width>300</width>
- <height>35</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <info>Window.Property(Current.Humidity)</info>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current UV Index Value</description>
- <posx>185</posx>
- <posy>490</posy>
- <width>300</width>
- <height>35</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <info>Window.Property(Current.UVIndex)</info>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>current Wind Value</description>
- <posx>185</posx>
- <posy>520</posy>
- <width>300</width>
- <height>35</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <info>Window.Property(Current.Wind)</info>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <control type="group">
- <posx>680</posx>
- <posy>50</posy>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>620</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="image">
- <posx>20</posx>
- <posy>10</posy>
- <width>460</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>460</width>
- <height>30</height>
- <font>font13_title</font>
- <label>10508</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="group">
- <description>day 0</description>
- <posx>20</posx>
- <posy>60</posy>
- <control type="label">
- <description>Day label</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>460</width>
- <height>35</height>
- <font>font13_title</font>
- <info>Window.Property(Day0.Title)</info>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>day icon</description>
- <posx>370</posx>
- <posy>40</posy>
- <height>80</height>
- <width>80</width>
- <info>Window.Property(Day0.OutlookIcon)</info>
- <aspectratio align="right">keep</aspectratio>
- </control>
- <control type="label">
- <description>high label</description>
- <posx>40</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[419] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>high value</description>
- <posx>110</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day0.HighTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day0.HighTemp))</visible>
- </control>
- <control type="label">
- <description>low label</description>
- <posx>220</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[418] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>low value</description>
- <posx>290</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day0.LowTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day0.LowTemp))</visible>
- </control>
- <control type="label">
- <description>conditions label</description>
- <posx>40</posx>
- <posy>80</posy>
- <width>320</width>
- <height>20</height>
- <info>Window.Property(Day0.Outlook)</info>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>20</posx>
- <posy>120</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <description>day 1</description>
- <posx>20</posx>
- <posy>190</posy>
- <control type="label">
- <description>Day label</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>460</width>
- <height>35</height>
- <font>font13_title</font>
- <info>Window.Property(Day1.Title)</info>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>day icon</description>
- <posx>370</posx>
- <posy>40</posy>
- <height>80</height>
- <width>80</width>
- <info>Window.Property(Day1.OutlookIcon)</info>
- <aspectratio align="right">keep</aspectratio>
- </control>
- <control type="label">
- <description>high label</description>
- <posx>40</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[419] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>high value</description>
- <posx>110</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day1.HighTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day1.HighTemp))</visible>
- </control>
- <control type="label">
- <description>low label</description>
- <posx>220</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[418] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>low value</description>
- <posx>290</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day1.LowTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day1.LowTemp))</visible>
- </control>
- <control type="label">
- <description>conditions label</description>
- <posx>40</posx>
- <posy>80</posy>
- <width>320</width>
- <height>20</height>
- <info>Window.Property(Day1.Outlook)</info>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>20</posx>
- <posy>120</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <description>day 2</description>
- <posx>20</posx>
- <posy>320</posy>
- <control type="label">
- <description>Day label</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>460</width>
- <height>35</height>
- <font>font13_title</font>
- <info>Window.Property(Day2.Title)</info>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>day icon</description>
- <posx>370</posx>
- <posy>40</posy>
- <height>80</height>
- <width>80</width>
- <info>Window.Property(Day2.OutlookIcon)</info>
- <aspectratio align="right">keep</aspectratio>
- </control>
- <control type="label">
- <description>high label</description>
- <posx>40</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[419] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>high value</description>
- <posx>110</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day2.HighTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day2.HighTemp))</visible>
- </control>
- <control type="label">
- <description>low label</description>
- <posx>220</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[418] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>low value</description>
- <posx>290</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day2.LowTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day2.LowTemp))</visible>
- </control>
- <control type="label">
- <description>conditions label</description>
- <posx>40</posx>
- <posy>80</posy>
- <width>320</width>
- <height>20</height>
- <info>Window.Property(Day2.Outlook)</info>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <shadowcolor>black</shadowcolor>
- <textcolor>white</textcolor>
- </control>
- <control type="image">
- <posx>20</posx>
- <posy>120</posy>
- <width>460</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- </control>
- <control type="group">
- <description>day 3</description>
- <posx>20</posx>
- <posy>450</posy>
- <control type="label">
- <description>Day label</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>460</width>
- <height>35</height>
- <font>font13_title</font>
- <info>Window.Property(Day3.Title)</info>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <description>day icon</description>
- <posx>370</posx>
- <posy>40</posy>
- <height>80</height>
- <width>80</width>
- <info>Window.Property(Day3.OutlookIcon)</info>
- <aspectratio align="right">keep</aspectratio>
- </control>
- <control type="label">
- <description>high label</description>
- <posx>40</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[419] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>high value</description>
- <posx>110</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day3.HighTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day3.HighTemp))</visible>
- </control>
- <control type="label">
- <description>low label</description>
- <posx>220</posx>
- <posy>50</posy>
- <height>20</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[418] :</label>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Weather.IsFetched</visible>
- </control>
- <control type="label">
- <description>low value</description>
- <posx>290</posx>
- <posy>50</posy>
- <height>20</height>
- <label>$INFO[Window.Property(Day3.LowTemp)]$INFO[System.TemperatureUnits]</label>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!IsEmpty(Window.Property(Day3.LowTemp))</visible>
- </control>
- <control type="label">
- <description>conditions label</description>
- <posx>40</posx>
- <posy>80</posy>
- <width>320</width>
- <height>20</height>
- <info>Window.Property(Day3.Outlook)</info>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- </control>
- </control>
- <control type="group">
- <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation>
- <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation>
- <control type="group">
- <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1</width>
- <height>720</height>
- <texture>MediaBladeSub_Part1.png</texture>
- <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>12</width>
- <height>720</height>
- <texture>MediaBladeSub_Part2.png</texture>
- <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation>
- </control>
- </control>
- <control type="group" id="9001">
- <posx>-220</posx>
- <posy>0</posy>
- <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation>
- <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation>
- <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation>
- <control type="button">
- <description>Fake button for mouse control</description>
- <posx>-15</posx>
- <posy>0</posy>
- <width>245</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <control type="image">
- <posx>185</posx>
- <posy>200</posy>
- <width>40</width>
- <height>40</height>
- <texture>MediaSubSet.png</texture>
- </control>
- <control type="grouplist" id="9010">
- <posx>10</posx>
- <posy>250</posy>
- <width>240</width>
- <height>550</height>
- <onleft>9000</onleft>
- <onright>50</onright>
- <onup>9010</onup>
- <ondown>9010</ondown>
- <itemgap>0</itemgap>
- <control type="radiobutton" id="200">
- <description>Fanart Toggle</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31307</label>
- <onclick>Skin.ToggleSetting(ShowWeatherFanart)</onclick>
- <selected>!Skin.HasSetting(ShowWeatherFanart)</selected>
- </control>
- <control type="button" id="201">
- <description>Search</description>
- <textwidth>170</textwidth>
- <include>ButtonMediaSubCommonValues</include>
- <label>31317</label>
- <onclick>Skin.SetPath(WeatherFanartDir)</onclick>
- <enable>Skin.HasSetting(ShowWeatherFanart)</enable>
- </control>
- </control>
- </control>
- <control type="button" id="8999">
- <description>Fake button for mouse control</description>
- <posx>-250</posx>
- <posy>0</posy>
- <width>265</width>
- <height>720</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>true</visible>
- </control>
- <include>SideBladeLeft</include>
- <control type="image">
- <description>LOGO</description>
- <posx>-230</posx>
- <posy>50</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="group" id="9000">
- <posx>-250</posx>
- <posy>130</posy>
- <include>CommonNowPlaying</include>
- <control type="spincontrolex" id="3">
- <description>change location button</description>
- <posx>0</posx>
- <posy>0</posy>
- <font>-</font>
- <textoffsetx>10</textoffsetx>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>611</onup>
- <ondown>2</ondown>
- </control>
- <control type="label">
- <description>change location label</description>
- <posx>10</posx>
- <posy>0</posy>
- <height>40</height>
- <width>270</width>
- <font>font13caps</font>
- <label>31027</label>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="2">
- <description>Refresh button</description>
- <posx>0</posx>
- <posy>40</posy>
- <include>ButtonCommonValues</include>
- <label>103</label>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>3</onup>
- <ondown>5</ondown>
- </control>
- <control type="button" id="5">
- <description>Custom Weather Script Button</description>
- <posx>0</posx>
- <posy>80</posy>
- <label>$INFO[Skin.String(WeatherScript_Label)]</label>
- <onclick>SetFocus(50)</onclick>
- <onclick>XBMC.RunScript($INFO[Skin.String(WeatherScript_Path)])</onclick>
- <onclick>SetFocus(50)</onclick>
- <include>ButtonCommonValues</include>
- <visible>Skin.HasSetting(WeatherScript_Enable) + !IsEmpty(Skin.String(WeatherScript_Label))</visible>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>2</onup>
- <ondown>4</ondown>
- </control>
- <control type="button" id="4">
- <description>Settings button</description>
- <posx>0</posx>
- <posy>120</posy>
- <label>5</label>
- <onclick>ActivateWindow(MyWeatherSettings)</onclick>
- <include>ButtonCommonValues</include>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>5</onup>
- <ondown>98</ondown>
- <animation effect="slide" end="0,-40" time="0" condition="!Control.IsVisible(5)">Conditional</animation>
- </control>
- <control type="radiobutton" id="98">
- <description>Extra Options</description>
- <hitrect x="0" y="160" w="265" h="40" />
- <posx>0</posx>
- <posy>160</posy>
- <include>ButtonCommonValues</include>
- <radiowidth>18</radiowidth>
- <radioheight>18</radioheight>
- <radioposx>222</radioposx>
- <radioposy>12</radioposy>
- <textureradiofocus>HomeHasSub.png</textureradiofocus>
- <textureradionofocus>HomeHasSub.png</textureradionofocus>
- <label>31026</label>
- <onleft>50</onleft>
- <onright>9010</onright>
- <onup>4</onup>
- <ondown>610</ondown>
- <animation effect="slide" end="0,-40" time="0" condition="!Control.IsVisible(5)">Conditional</animation>
- </control>
- <control type="button" id="610">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>98</onup>
- <ondown>603</ondown>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>260</posy>
- <include>CommonNowPlaying_Controls</include>
- </control>
- <control type="button" id="611">
- <description>Fake Button to fix Player Controls Navigation</description>
- <onup>608</onup>
- <ondown>3</ondown>
- <visible>false</visible>
- </control>
- </control>
- </control>
- <control type="button" id="50">
- <description>Fake Button to fix Side Menu Navigation</description>
- <onleft>3</onleft>
- <onright>3</onright>
- <onup>3</onup>
- <ondown>3</ondown>
- <visible allowhiddenfocus="true">false</visible>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[8]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="2600"> + <defaultcontrol always="true">50</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <include>CommonWeatherBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <animation type="WindowOpen" reversible="false"> + <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" /> + <effect type="fade" start="0" end="100" time="300" /> + </animation> + <animation type="WindowClose" reversible="false"> + <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" /> + <effect type="fade" start="100" end="0" time="300" /> + </animation> + <visible>!Window.IsVisible(script-twc-main.xml)</visible> + <include>VisibleFadeEffect</include> + <control type="group"> + <posx>100</posx> + <posy>50</posy> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>620</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>20</posx> + <posy>10</posy> + <width>460</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>460</width> + <height>30</height> + <font>font13_title</font> + <label>31300</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>weather location label</description> + <posx>20</posx> + <posy>60</posy> + <width>460</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <scroll>false</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[Weather.Location]</label> + </control> + <control type="label"> + <description>update label</description> + <posx>20</posx> + <posy>80</posy> + <width>460</width> + <height>35</height> + <font>font12</font> + <label>$LOCALIZE[31301] - $INFO[Window.Property(Updated)]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>grey2</textcolor> + </control> + <control type="label"> + <description>current temp Value</description> + <posx>195</posx> + <posy>175</posy> + <width>180</width> + <height>40</height> + <font>WeatherTemp</font> + <align>right</align> + <aligny>top</aligny> + <label>$INFO[Window.Property(Current.Temperature)]</label> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current temp Value Units</description> + <posx>190</posx> + <posy>185</posy> + <width>100</width> + <height>40</height> + <font>font16caps</font> + <align>left</align> + <aligny>top</aligny> + <label>$INFO[System.TemperatureUnits]</label> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>current weather icon</description> + <posx>230</posx> + <posy>135</posy> + <width>230</width> + <height>180</height> + <info>Window.Property(Current.ConditionIcon)</info> + <aspectratio>keep</aspectratio> + </control> + <control type="label"> + <description>current condition label</description> + <posx>20</posx> + <posy>320</posy> + <width>460</width> + <height>30</height> + <info>Window.Property(Current.Condition)</info> + <wrapmultiline>true</wrapmultiline> + <font>font13</font> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>20</posx> + <posy>390</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>current feels like label</description> + <posx>170</posx> + <posy>400</posy> + <width>170</width> + <height>35</height> + <font>font13</font> + <align>right</align> + <aligny>center</aligny> + <label>$LOCALIZE[402] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current dew label</description> + <posx>170</posx> + <posy>430</posy> + <width>170</width> + <height>35</height> + <font>font13</font> + <align>right</align> + <aligny>center</aligny> + <label>$LOCALIZE[405] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current humidity label</description> + <posx>170</posx> + <posy>460</posy> + <width>170</width> + <height>35</height> + <font>font13</font> + <align>right</align> + <aligny>center</aligny> + <label>$LOCALIZE[406] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current UV Index label</description> + <posx>170</posx> + <posy>490</posy> + <width>170</width> + <height>35</height> + <font>font13</font> + <align>right</align> + <aligny>center</aligny> + <label>$LOCALIZE[403] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current Wind label</description> + <posx>170</posx> + <posy>520</posy> + <width>170</width> + <height>35</height> + <font>font13</font> + <align>right</align> + <aligny>center</aligny> + <label>$LOCALIZE[404] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current feels like Value</description> + <posx>185</posx> + <posy>400</posy> + <width>300</width> + <height>35</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[Window.Property(Current.FeelsLike)]$INFO[System.TemperatureUnits]</label> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current dew Value</description> + <posx>185</posx> + <posy>430</posy> + <width>300</width> + <height>35</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[Window.Property(Current.DewPoint)]$INFO[System.TemperatureUnits]</label> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current humidity Value</description> + <posx>185</posx> + <posy>460</posy> + <width>300</width> + <height>35</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <info>Window.Property(Current.Humidity)</info> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current UV Index Value</description> + <posx>185</posx> + <posy>490</posy> + <width>300</width> + <height>35</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <info>Window.Property(Current.UVIndex)</info> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>current Wind Value</description> + <posx>185</posx> + <posy>520</posy> + <width>300</width> + <height>35</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <info>Window.Property(Current.Wind)</info> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <control type="group"> + <posx>680</posx> + <posy>50</posy> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>620</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="image"> + <posx>20</posx> + <posy>10</posy> + <width>460</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>460</width> + <height>30</height> + <font>font13_title</font> + <label>10508</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="group"> + <description>day 0</description> + <posx>20</posx> + <posy>60</posy> + <control type="label"> + <description>Day label</description> + <posx>0</posx> + <posy>0</posy> + <width>460</width> + <height>35</height> + <font>font13_title</font> + <info>Window.Property(Day0.Title)</info> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>day icon</description> + <posx>370</posx> + <posy>40</posy> + <height>80</height> + <width>80</width> + <info>Window.Property(Day0.OutlookIcon)</info> + <aspectratio align="right">keep</aspectratio> + </control> + <control type="label"> + <description>high label</description> + <posx>40</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[419] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>high value</description> + <posx>110</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day0.HighTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day0.HighTemp))</visible> + </control> + <control type="label"> + <description>low label</description> + <posx>220</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[418] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>low value</description> + <posx>290</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day0.LowTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day0.LowTemp))</visible> + </control> + <control type="label"> + <description>conditions label</description> + <posx>40</posx> + <posy>80</posy> + <width>320</width> + <height>20</height> + <info>Window.Property(Day0.Outlook)</info> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>20</posx> + <posy>120</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <description>day 1</description> + <posx>20</posx> + <posy>190</posy> + <control type="label"> + <description>Day label</description> + <posx>0</posx> + <posy>0</posy> + <width>460</width> + <height>35</height> + <font>font13_title</font> + <info>Window.Property(Day1.Title)</info> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>day icon</description> + <posx>370</posx> + <posy>40</posy> + <height>80</height> + <width>80</width> + <info>Window.Property(Day1.OutlookIcon)</info> + <aspectratio align="right">keep</aspectratio> + </control> + <control type="label"> + <description>high label</description> + <posx>40</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[419] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>high value</description> + <posx>110</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day1.HighTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day1.HighTemp))</visible> + </control> + <control type="label"> + <description>low label</description> + <posx>220</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[418] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>low value</description> + <posx>290</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day1.LowTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day1.LowTemp))</visible> + </control> + <control type="label"> + <description>conditions label</description> + <posx>40</posx> + <posy>80</posy> + <width>320</width> + <height>20</height> + <info>Window.Property(Day1.Outlook)</info> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>20</posx> + <posy>120</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <description>day 2</description> + <posx>20</posx> + <posy>320</posy> + <control type="label"> + <description>Day label</description> + <posx>0</posx> + <posy>0</posy> + <width>460</width> + <height>35</height> + <font>font13_title</font> + <info>Window.Property(Day2.Title)</info> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>day icon</description> + <posx>370</posx> + <posy>40</posy> + <height>80</height> + <width>80</width> + <info>Window.Property(Day2.OutlookIcon)</info> + <aspectratio align="right">keep</aspectratio> + </control> + <control type="label"> + <description>high label</description> + <posx>40</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[419] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>high value</description> + <posx>110</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day2.HighTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day2.HighTemp))</visible> + </control> + <control type="label"> + <description>low label</description> + <posx>220</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[418] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>low value</description> + <posx>290</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day2.LowTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day2.LowTemp))</visible> + </control> + <control type="label"> + <description>conditions label</description> + <posx>40</posx> + <posy>80</posy> + <width>320</width> + <height>20</height> + <info>Window.Property(Day2.Outlook)</info> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <shadowcolor>black</shadowcolor> + <textcolor>white</textcolor> + </control> + <control type="image"> + <posx>20</posx> + <posy>120</posy> + <width>460</width> + <height>4</height> + <texture>separator.png</texture> + </control> + </control> + <control type="group"> + <description>day 3</description> + <posx>20</posx> + <posy>450</posy> + <control type="label"> + <description>Day label</description> + <posx>0</posx> + <posy>0</posy> + <width>460</width> + <height>35</height> + <font>font13_title</font> + <info>Window.Property(Day3.Title)</info> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <description>day icon</description> + <posx>370</posx> + <posy>40</posy> + <height>80</height> + <width>80</width> + <info>Window.Property(Day3.OutlookIcon)</info> + <aspectratio align="right">keep</aspectratio> + </control> + <control type="label"> + <description>high label</description> + <posx>40</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[419] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>high value</description> + <posx>110</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day3.HighTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day3.HighTemp))</visible> + </control> + <control type="label"> + <description>low label</description> + <posx>220</posx> + <posy>50</posy> + <height>20</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[418] :</label> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Weather.IsFetched</visible> + </control> + <control type="label"> + <description>low value</description> + <posx>290</posx> + <posy>50</posy> + <height>20</height> + <label>$INFO[Window.Property(Day3.LowTemp)]$INFO[System.TemperatureUnits]</label> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!IsEmpty(Window.Property(Day3.LowTemp))</visible> + </control> + <control type="label"> + <description>conditions label</description> + <posx>40</posx> + <posy>80</posy> + <width>320</width> + <height>20</height> + <info>Window.Property(Day3.Outlook)</info> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + </control> + </control> + <control type="group"> + <animation effect="slide" start="0,0" end="250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus | Control.HasFocus(8999)">Conditional</animation> + <animation effect="slide" start="0,0" end="-250,0" time="400" tween="quadratic" easing="out" condition="ControlGroup(9000).HasFocus | ControlGroup(9001).HasFocus">WindowClose</animation> + <control type="group"> + <animation effect="slide" end="-240,0" time="300" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-15,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1</width> + <height>720</height> + <texture>MediaBladeSub_Part1.png</texture> + <animation effect="zoom" start="0,0,1,720" end="0,0,229,720" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>12</width> + <height>720</height> + <texture>MediaBladeSub_Part2.png</texture> + <animation effect="slide" end="228,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">Conditional</animation> + </control> + </control> + <control type="group" id="9001"> + <posx>-220</posx> + <posy>0</posy> + <animation effect="fade" start="100" end="0" time="0" condition="!ControlGroup(9001).HasFocus + !Control.HasFocus(98)">conditional</animation> + <animation effect="fade" start="0" end="100" delay="300" time="200" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <animation effect="fade" start="100" end="0" time="0" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">WindowClose</animation> + <animation effect="slide" end="220,0" time="300" tween="quadratic" easing="out" condition="Control.HasFocus(98) | ControlGroup(9001).HasFocus">conditional</animation> + <control type="button"> + <description>Fake button for mouse control</description> + <posx>-15</posx> + <posy>0</posy> + <width>245</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <control type="image"> + <posx>185</posx> + <posy>200</posy> + <width>40</width> + <height>40</height> + <texture>MediaSubSet.png</texture> + </control> + <control type="grouplist" id="9010"> + <posx>10</posx> + <posy>250</posy> + <width>240</width> + <height>550</height> + <onleft>9000</onleft> + <onright>50</onright> + <onup>9010</onup> + <ondown>9010</ondown> + <itemgap>0</itemgap> + <control type="radiobutton" id="200"> + <description>Fanart Toggle</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31307</label> + <onclick>Skin.ToggleSetting(ShowWeatherFanart)</onclick> + <selected>!Skin.HasSetting(ShowWeatherFanart)</selected> + </control> + <control type="button" id="201"> + <description>Search</description> + <textwidth>170</textwidth> + <include>ButtonMediaSubCommonValues</include> + <label>31317</label> + <onclick>Skin.SetPath(WeatherFanartDir)</onclick> + <enable>Skin.HasSetting(ShowWeatherFanart)</enable> + </control> + </control> + </control> + <control type="button" id="8999"> + <description>Fake button for mouse control</description> + <posx>-250</posx> + <posy>0</posy> + <width>265</width> + <height>720</height> + <label>-</label> + <font>-</font> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>true</visible> + </control> + <include>SideBladeLeft</include> + <control type="image"> + <description>LOGO</description> + <posx>-230</posx> + <posy>50</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="group" id="9000"> + <posx>-250</posx> + <posy>130</posy> + <include>CommonNowPlaying</include> + <control type="spincontrolex" id="3"> + <description>change location button</description> + <posx>0</posx> + <posy>0</posy> + <font>-</font> + <textoffsetx>10</textoffsetx> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>611</onup> + <ondown>2</ondown> + </control> + <control type="label"> + <description>change location label</description> + <posx>10</posx> + <posy>0</posy> + <height>40</height> + <width>270</width> + <font>font13caps</font> + <label>31027</label> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="2"> + <description>Refresh button</description> + <posx>0</posx> + <posy>40</posy> + <include>ButtonCommonValues</include> + <label>103</label> + <onleft>50</onleft> + <onright>50</onright> + <onup>3</onup> + <ondown>5</ondown> + </control> + <control type="button" id="5"> + <description>Custom Weather Script Button</description> + <posx>0</posx> + <posy>80</posy> + <label>$INFO[Skin.String(WeatherScript_Label)]</label> + <onclick>SetFocus(50)</onclick> + <onclick>XBMC.RunScript($INFO[Skin.String(WeatherScript_Path)])</onclick> + <onclick>SetFocus(50)</onclick> + <include>ButtonCommonValues</include> + <visible>Skin.HasSetting(WeatherScript_Enable) + !IsEmpty(Skin.String(WeatherScript_Label))</visible> + <onleft>50</onleft> + <onright>50</onright> + <onup>2</onup> + <ondown>4</ondown> + </control> + <control type="button" id="4"> + <description>Settings button</description> + <posx>0</posx> + <posy>120</posy> + <label>5</label> + <onclick>ActivateWindow(MyWeatherSettings)</onclick> + <include>ButtonCommonValues</include> + <onleft>50</onleft> + <onright>50</onright> + <onup>5</onup> + <ondown>98</ondown> + <animation effect="slide" end="0,-40" time="0" condition="!Control.IsVisible(5)">Conditional</animation> + </control> + <control type="radiobutton" id="98"> + <description>Extra Options</description> + <hitrect x="0" y="160" w="265" h="40" /> + <posx>0</posx> + <posy>160</posy> + <include>ButtonCommonValues</include> + <radiowidth>18</radiowidth> + <radioheight>18</radioheight> + <radioposx>222</radioposx> + <radioposy>12</radioposy> + <textureradiofocus>HomeHasSub.png</textureradiofocus> + <textureradionofocus>HomeHasSub.png</textureradionofocus> + <label>31026</label> + <onleft>50</onleft> + <onright>9010</onright> + <onup>4</onup> + <ondown>610</ondown> + <animation effect="slide" end="0,-40" time="0" condition="!Control.IsVisible(5)">Conditional</animation> + </control> + <control type="button" id="610"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>98</onup> + <ondown>603</ondown> + <visible>false</visible> + </control> + <control type="group"> + <posx>0</posx> + <posy>260</posy> + <include>CommonNowPlaying_Controls</include> + </control> + <control type="button" id="611"> + <description>Fake Button to fix Player Controls Navigation</description> + <onup>608</onup> + <ondown>3</ondown> + <visible>false</visible> + </control> + </control> + </control> + <control type="button" id="50"> + <description>Fake Button to fix Side Menu Navigation</description> + <onleft>3</onleft> + <onright>3</onright> + <onup>3</onup> + <ondown>3</ondown> + <visible allowhiddenfocus="true">false</visible> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[8]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/PlayerControls.xml b/addons/skin.confluence/720p/PlayerControls.xml index fedacee00f..7f1899e238 100644 --- a/addons/skin.confluence/720p/PlayerControls.xml +++ b/addons/skin.confluence/720p/PlayerControls.xml @@ -1,232 +1,232 @@ -<window type="dialog" id="114">
- <defaultcontrol always="true">603</defaultcontrol>
- <include>dialogeffect</include>
- <visible>Player.HasMedia + Window.IsActive(PlayerControls) + !Window.IsActive(FullscreenVideo) + !Window.IsActive(Visualisation)</visible>
- <coordinates>
- <system>1</system>
- <posx>390</posx>
- <posy>250</posy>
- </coordinates>
- <controls>
- <control type="image">
- <posx>5</posx>
- <posy>156</posy>
- <width>483</width>
- <height>53</height>
- <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="group" id="100">
- <posx>25</posx>
- <posy>162</posy>
- <control type="button" id="600">
- <posx>0</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDPrevTrackFO.png</texturefocus>
- <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
- <onleft>608</onleft>
- <onright>601</onright>
- <onup>300</onup>
- <ondown>200</ondown>
- <onclick>XBMC.PlayerControl(Previous)</onclick>
- </control>
- <control type="button" id="601">
- <posx>40</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDRewindFO.png</texturefocus>
- <texturenofocus>OSDRewindNF.png</texturenofocus>
- <onleft>600</onleft>
- <onright>603</onright>
- <onup>300</onup>
- <ondown>200</ondown>
- <onclick>XBMC.PlayerControl(Rewind)</onclick>
- </control>
- <control type="togglebutton" id="603">
- <posx>80</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDPauseFO.png</texturefocus>
- <texturenofocus>OSDPauseNF.png</texturenofocus>
- <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture>
- <alttexturefocus>OSDPlayFO.png</alttexturefocus>
- <alttexturenofocus>OSDPlayNF.png</alttexturenofocus>
- <onleft>601</onleft>
- <onright>602</onright>
- <onup>300</onup>
- <ondown>200</ondown>
- <onclick>XBMC.PlayerControl(Play)</onclick>
- </control>
- <control type="button" id="602">
- <posx>120</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDStopFO.png</texturefocus>
- <texturenofocus>OSDStopNF.png</texturenofocus>
- <onleft>603</onleft>
- <onright>604</onright>
- <onup>300</onup>
- <ondown>200</ondown>
- <onclick>down</onclick>
- <onclick>XBMC.PlayerControl(Stop)</onclick>
- </control>
- <control type="button" id="604">
- <posx>160</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDForwardFO.png</texturefocus>
- <texturenofocus>OSDForwardNF.png</texturenofocus>
- <onleft>602</onleft>
- <onright>605</onright>
- <onup>300</onup>
- <ondown>200</ondown>
- <onclick>XBMC.PlayerControl(Forward)</onclick>
- </control>
- <control type="button" id="605">
- <posx>200</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDNextTrackFO.png</texturefocus>
- <texturenofocus>OSDNextTrackNF.png</texturenofocus>
- <onleft>604</onleft>
- <onright>606</onright>
- <onup>300</onup>
- <ondown>200</ondown>
- <onclick>XBMC.PlayerControl(Next)</onclick>
- </control>
- <control type="button" id="606">
- <posx>240</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDRecordFO.png</texturefocus>
- <texturenofocus>OSDRecordNF.png</texturenofocus>
- <onleft>605</onleft>
- <onright>607</onright>
- <onup>300</onup>
- <ondown>200</ondown>
- <onclick>XBMC.PlayerControl(record)</onclick>
- <enable>Player.CanRecord</enable>
- <animation effect="fade" start="100" end="30" time="100" condition="!Player.CanRecord">Conditional</animation>
- </control>
- <control type="button" id="607">
- <posx>365</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>-</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onclick>XBMC.PlayerControl(Repeat)</onclick>
- <onleft>606</onleft>
- <onright>608</onright>
- <onup>100</onup>
- <ondown>100</ondown>
- </control>
- <control type="image">
- <posx>365</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDRepeatNF.png</texture>
- <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
- <visible>!Control.HasFocus(607)</visible>
- </control>
- <control type="image">
- <posx>365</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDRepeatFO.png</texture>
- <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
- <visible>Control.HasFocus(607)</visible>
- </control>
- <control type="image">
- <posx>365</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDRepeatOneNF.png</texture>
- <visible>Playlist.IsRepeatOne</visible>
- <visible>!Control.HasFocus(607)</visible>
- </control>
- <control type="image">
- <posx>365</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDRepeatOneFO.png</texture>
- <visible>Playlist.IsRepeatOne</visible>
- <visible>Control.HasFocus(607)</visible>
- </control>
- <control type="image">
- <posx>365</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDRepeatAllNF.png</texture>
- <visible>Playlist.IsRepeat</visible>
- <visible>!Control.HasFocus(607)</visible>
- </control>
- <control type="image">
- <posx>365</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <texture>OSDRepeatAllFO.png</texture>
- <visible>Playlist.IsRepeat</visible>
- <visible>Control.HasFocus(607)</visible>
- </control>
- <control type="togglebutton" id="608">
- <posx>405</posx>
- <posy>0</posy>
- <width>40</width>
- <height>40</height>
- <label>-</label>
- <texturefocus>OSDRandomOffFO.png</texturefocus>
- <texturenofocus>OSDRandomOffNF.png</texturenofocus>
- <usealttexture>Playlist.IsRandom</usealttexture>
- <alttexturefocus>OSDRandomOnFO.png</alttexturefocus>
- <alttexturenofocus>OSDRandomOnNF.png</alttexturenofocus>
- <onclick>XBMC.PlayerControl(Random)</onclick>
- <onleft>607</onleft>
- <onright>600</onright>
- <onup>100</onup>
- <ondown>100</ondown>
- </control>
- </control>
- <!-- Music Info -->
- <control type="image">
- <description>gradient</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>165</height>
- <colordiffuse>CCFFFFFF</colordiffuse>
- <visible>Window.IsVisible(home)</visible>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="group">
- <visible>Player.HasAudio</visible>
- <include>SmallMusicInfo</include>
- </control>
- <!-- Video Info -->
- <control type="group">
- <visible>Player.HasVideo</visible>
- <include>SmallVideoInfo</include>
- </control>
- </controls>
+<window type="dialog" id="114"> + <defaultcontrol always="true">603</defaultcontrol> + <include>dialogeffect</include> + <visible>Player.HasMedia + Window.IsActive(PlayerControls) + !Window.IsActive(FullscreenVideo) + !Window.IsActive(Visualisation)</visible> + <coordinates> + <system>1</system> + <posx>390</posx> + <posy>250</posy> + </coordinates> + <controls> + <control type="image"> + <posx>5</posx> + <posy>156</posy> + <width>483</width> + <height>53</height> + <texture flipy="true" border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="group" id="100"> + <posx>25</posx> + <posy>162</posy> + <control type="button" id="600"> + <posx>0</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDPrevTrackFO.png</texturefocus> + <texturenofocus>OSDPrevTrackNF.png</texturenofocus> + <onleft>608</onleft> + <onright>601</onright> + <onup>300</onup> + <ondown>200</ondown> + <onclick>XBMC.PlayerControl(Previous)</onclick> + </control> + <control type="button" id="601"> + <posx>40</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDRewindFO.png</texturefocus> + <texturenofocus>OSDRewindNF.png</texturenofocus> + <onleft>600</onleft> + <onright>603</onright> + <onup>300</onup> + <ondown>200</ondown> + <onclick>XBMC.PlayerControl(Rewind)</onclick> + </control> + <control type="togglebutton" id="603"> + <posx>80</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDPauseFO.png</texturefocus> + <texturenofocus>OSDPauseNF.png</texturenofocus> + <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture> + <alttexturefocus>OSDPlayFO.png</alttexturefocus> + <alttexturenofocus>OSDPlayNF.png</alttexturenofocus> + <onleft>601</onleft> + <onright>602</onright> + <onup>300</onup> + <ondown>200</ondown> + <onclick>XBMC.PlayerControl(Play)</onclick> + </control> + <control type="button" id="602"> + <posx>120</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDStopFO.png</texturefocus> + <texturenofocus>OSDStopNF.png</texturenofocus> + <onleft>603</onleft> + <onright>604</onright> + <onup>300</onup> + <ondown>200</ondown> + <onclick>down</onclick> + <onclick>XBMC.PlayerControl(Stop)</onclick> + </control> + <control type="button" id="604"> + <posx>160</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDForwardFO.png</texturefocus> + <texturenofocus>OSDForwardNF.png</texturenofocus> + <onleft>602</onleft> + <onright>605</onright> + <onup>300</onup> + <ondown>200</ondown> + <onclick>XBMC.PlayerControl(Forward)</onclick> + </control> + <control type="button" id="605"> + <posx>200</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDNextTrackFO.png</texturefocus> + <texturenofocus>OSDNextTrackNF.png</texturenofocus> + <onleft>604</onleft> + <onright>606</onright> + <onup>300</onup> + <ondown>200</ondown> + <onclick>XBMC.PlayerControl(Next)</onclick> + </control> + <control type="button" id="606"> + <posx>240</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDRecordFO.png</texturefocus> + <texturenofocus>OSDRecordNF.png</texturenofocus> + <onleft>605</onleft> + <onright>607</onright> + <onup>300</onup> + <ondown>200</ondown> + <onclick>XBMC.PlayerControl(record)</onclick> + <enable>Player.CanRecord</enable> + <animation effect="fade" start="100" end="30" time="100" condition="!Player.CanRecord">Conditional</animation> + </control> + <control type="button" id="607"> + <posx>365</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>-</texturefocus> + <texturenofocus>-</texturenofocus> + <onclick>XBMC.PlayerControl(Repeat)</onclick> + <onleft>606</onleft> + <onright>608</onright> + <onup>100</onup> + <ondown>100</ondown> + </control> + <control type="image"> + <posx>365</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <texture>OSDRepeatNF.png</texture> + <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible> + <visible>!Control.HasFocus(607)</visible> + </control> + <control type="image"> + <posx>365</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <texture>OSDRepeatFO.png</texture> + <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible> + <visible>Control.HasFocus(607)</visible> + </control> + <control type="image"> + <posx>365</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <texture>OSDRepeatOneNF.png</texture> + <visible>Playlist.IsRepeatOne</visible> + <visible>!Control.HasFocus(607)</visible> + </control> + <control type="image"> + <posx>365</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <texture>OSDRepeatOneFO.png</texture> + <visible>Playlist.IsRepeatOne</visible> + <visible>Control.HasFocus(607)</visible> + </control> + <control type="image"> + <posx>365</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <texture>OSDRepeatAllNF.png</texture> + <visible>Playlist.IsRepeat</visible> + <visible>!Control.HasFocus(607)</visible> + </control> + <control type="image"> + <posx>365</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <texture>OSDRepeatAllFO.png</texture> + <visible>Playlist.IsRepeat</visible> + <visible>Control.HasFocus(607)</visible> + </control> + <control type="togglebutton" id="608"> + <posx>405</posx> + <posy>0</posy> + <width>40</width> + <height>40</height> + <label>-</label> + <texturefocus>OSDRandomOffFO.png</texturefocus> + <texturenofocus>OSDRandomOffNF.png</texturenofocus> + <usealttexture>Playlist.IsRandom</usealttexture> + <alttexturefocus>OSDRandomOnFO.png</alttexturefocus> + <alttexturenofocus>OSDRandomOnNF.png</alttexturenofocus> + <onclick>XBMC.PlayerControl(Random)</onclick> + <onleft>607</onleft> + <onright>600</onright> + <onup>100</onup> + <ondown>100</ondown> + </control> + </control> + <!-- Music Info --> + <control type="image"> + <description>gradient</description> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>165</height> + <colordiffuse>CCFFFFFF</colordiffuse> + <visible>Window.IsVisible(home)</visible> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="group"> + <visible>Player.HasAudio</visible> + <include>SmallMusicInfo</include> + </control> + <!-- Video Info --> + <control type="group"> + <visible>Player.HasVideo</visible> + <include>SmallVideoInfo</include> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/Pointer.xml b/addons/skin.confluence/720p/Pointer.xml index e1cce723d7..b1888f39ec 100644 --- a/addons/skin.confluence/720p/Pointer.xml +++ b/addons/skin.confluence/720p/Pointer.xml @@ -1,42 +1,42 @@ -<window id="105">
- <defaultcontrol>1</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>0</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="image" id="1">
- <description>Pointer Image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>32</width>
- <height>32</height>
- <texture>pointer-nofocus.png</texture>
- </control>
- <control type="image" id="2">
- <description>Pointer Focus Image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>32</width>
- <height>32</height>
- <texture>pointer-focus.png</texture>
- </control>
- <control type="image" id="3">
- <description>Pointer Drag Image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>32</width>
- <height>32</height>
- <texture>pointer-focus-drag.png</texture>
- </control>
- <control type="image" id="4">
- <description>Pointer Click Image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>32</width>
- <height>32</height>
- <texture>pointer-focus-click.png</texture>
- </control>
- </controls>
+<window id="105"> + <defaultcontrol>1</defaultcontrol> + <coordinates> + <system>1</system> + <posx>0</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="image" id="1"> + <description>Pointer Image</description> + <posx>0</posx> + <posy>0</posy> + <width>32</width> + <height>32</height> + <texture>pointer-nofocus.png</texture> + </control> + <control type="image" id="2"> + <description>Pointer Focus Image</description> + <posx>0</posx> + <posy>0</posy> + <width>32</width> + <height>32</height> + <texture>pointer-focus.png</texture> + </control> + <control type="image" id="3"> + <description>Pointer Drag Image</description> + <posx>0</posx> + <posy>0</posy> + <width>32</width> + <height>32</height> + <texture>pointer-focus-drag.png</texture> + </control> + <control type="image" id="4"> + <description>Pointer Click Image</description> + <posx>0</posx> + <posy>0</posy> + <width>32</width> + <height>32</height> + <texture>pointer-focus-click.png</texture> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/ProfileSettings.xml b/addons/skin.confluence/720p/ProfileSettings.xml index 2cdee8f92a..f6db126ce7 100644 --- a/addons/skin.confluence/720p/ProfileSettings.xml +++ b/addons/skin.confluence/720p/ProfileSettings.xml @@ -1,194 +1,194 @@ -<window id="130">
- <defaultcontrol>1</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>290</posx>
- <posy>75</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>700</width>
- <height>570</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>450</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>610</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>1</onleft>
- <onright>1</onright>
- <onup>1</onup>
- <ondown>1</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>660</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$INFO[Window.Property(heading)]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image" id="2">
- <description>profile image</description>
- <posx>20</posx>
- <posy>70</posy>
- <width>150</width>
- <height>150</height>
- <align>left</align>
- <aspectratio>stretch</aspectratio>
- <texture>unknown-user.png</texture>
- <bordertexture border="12">ThumbBorder.png</bordertexture>
- <bordersize>10</bordersize>
- </control>
- <control type="label">
- <description>profile name label</description>
- <posx>200</posx>
- <posy>70</posy>
- <width>460</width>
- <align>left</align>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[20093]</label>
- </control>
- <control type="label" id="1000">
- <description>profile name Value</description>
- <posx>200</posx>
- <posy>95</posy>
- <width>460</width>
- <align>left</align>
- <font>font16caps</font>
- <textcolor>white</textcolor>
- </control>
- <control type="label">
- <description>profile directory label</description>
- <posx>200</posx>
- <posy>155</posy>
- <width>460</width>
- <align>left</align>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <label>$LOCALIZE[20070]</label>
- </control>
- <control type="label" id="1001">
- <description>profile directory Value</description>
- <posx>200</posx>
- <posy>180</posy>
- <width>460</width>
- <align>left</align>
- <font>font13</font>
- <textcolor>white</textcolor>
- </control>
- <control type="grouplist" id="5">
- <description>control area</description>
- <posx>20</posx>
- <posy>240</posy>
- <width>660</width>
- <height>240</height>
- <itemgap>-1</itemgap>
- <pagecontrol>60</pagecontrol>
- <onleft>28</onleft>
- <onright>60</onright>
- <onup>28</onup>
- <ondown>28</ondown>
- </control>
- <control type="button" id="7">
- <description>Default Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="8">
- <description>Default RadioButton</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="spincontrolex" id="9">
- <description>Default SpinControlex</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <aligny>center</aligny>
- <reverse>yes</reverse>
- </control>
- <control type="image" id="11">
- <description>separator image</description>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="button" id="28">
- <description>Ok Button</description>
- <posx>145</posx>
- <posy>500</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>186</label>
- <onleft>29</onleft>
- <onright>29</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- </control>
- <control type="button" id="29">
- <description>Cancel Button</description>
- <posx>355</posx>
- <posy>500</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <font>font12_title</font>
- <label>222</label>
- <onleft>28</onleft>
- <onright>28</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- </control>
- </controls>
-</window>
+<window id="130"> + <defaultcontrol>1</defaultcontrol> + <coordinates> + <system>1</system> + <posx>290</posx> + <posy>75</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>700</width> + <height>570</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>450</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>610</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>1</onleft> + <onright>1</onright> + <onup>1</onup> + <ondown>1</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>660</width> + <height>30</height> + <font>font13_title</font> + <label>$INFO[Window.Property(heading)]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image" id="2"> + <description>profile image</description> + <posx>20</posx> + <posy>70</posy> + <width>150</width> + <height>150</height> + <align>left</align> + <aspectratio>stretch</aspectratio> + <texture>unknown-user.png</texture> + <bordertexture border="12">ThumbBorder.png</bordertexture> + <bordersize>10</bordersize> + </control> + <control type="label"> + <description>profile name label</description> + <posx>200</posx> + <posy>70</posy> + <width>460</width> + <align>left</align> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[20093]</label> + </control> + <control type="label" id="1000"> + <description>profile name Value</description> + <posx>200</posx> + <posy>95</posy> + <width>460</width> + <align>left</align> + <font>font16caps</font> + <textcolor>white</textcolor> + </control> + <control type="label"> + <description>profile directory label</description> + <posx>200</posx> + <posy>155</posy> + <width>460</width> + <align>left</align> + <font>font13_title</font> + <textcolor>blue</textcolor> + <label>$LOCALIZE[20070]</label> + </control> + <control type="label" id="1001"> + <description>profile directory Value</description> + <posx>200</posx> + <posy>180</posy> + <width>460</width> + <align>left</align> + <font>font13</font> + <textcolor>white</textcolor> + </control> + <control type="grouplist" id="5"> + <description>control area</description> + <posx>20</posx> + <posy>240</posy> + <width>660</width> + <height>240</height> + <itemgap>-1</itemgap> + <pagecontrol>60</pagecontrol> + <onleft>28</onleft> + <onright>60</onright> + <onup>28</onup> + <ondown>28</ondown> + </control> + <control type="button" id="7"> + <description>Default Button</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="8"> + <description>Default RadioButton</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="spincontrolex" id="9"> + <description>Default SpinControlex</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <aligny>center</aligny> + <reverse>yes</reverse> + </control> + <control type="image" id="11"> + <description>separator image</description> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="button" id="28"> + <description>Ok Button</description> + <posx>145</posx> + <posy>500</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>186</label> + <onleft>29</onleft> + <onright>29</onright> + <onup>5</onup> + <ondown>5</ondown> + </control> + <control type="button" id="29"> + <description>Cancel Button</description> + <posx>355</posx> + <posy>500</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <font>font12_title</font> + <label>222</label> + <onleft>28</onleft> + <onright>28</onright> + <onup>5</onup> + <ondown>5</ondown> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/Settings.xml b/addons/skin.confluence/720p/Settings.xml index 42cf51c652..a1982a1bbc 100644 --- a/addons/skin.confluence/720p/Settings.xml +++ b/addons/skin.confluence/720p/Settings.xml @@ -1,237 +1,237 @@ -<window id="4">
- <defaultcontrol always="true">9000</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <include>CommonSettingsBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <posx>90</posx>
- <posy>50</posy>
- <animation type="WindowOpen" reversible="false">
- <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
- <effect type="fade" start="0" end="100" time="300" />
- </animation>
- <animation type="WindowClose" reversible="false">
- <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
- <effect type="fade" start="100" end="0" time="300" />
- </animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>640</height>
- <texture border="20">DialogBack.png</texture>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>30</posx>
- <posy>15</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="list" id="9000">
- <posx>10</posx>
- <posy>82</posy>
- <width>260</width>
- <height>541</height>
- <onleft>9000</onleft>
- <onright>9001</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>300</scrolltime>
- <itemlayout height="54" width="260">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>260</width>
- <height>55</height>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>0</posy>
- <width>380</width>
- <height>55</height>
- <font>font24_title</font>
- <textcolor>grey3</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </itemlayout>
- <focusedlayout height="54" width="260">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>260</width>
- <height>55</height>
- <texture border="5">MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>0</posy>
- <width>380</width>
- <height>55</height>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </focusedlayout>
- <content>
- <item id="1">
- <label>480</label>
- <label2>31400</label2>
- <onclick>ActivateWindow(AppearanceSettings)</onclick>
- <icon>special://skin/backgrounds/appearance.jpg</icon>
- </item>
- <item id="2">
- <label>157</label>
- <label2>31401</label2>
- <onclick>ActivateWindow(VideosSettings)</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- </item>
- <item id="3">
- <label>2</label>
- <label2>31402</label2>
- <onclick>ActivateWindow(MusicSettings)</onclick>
- <icon>special://skin/backgrounds/music.jpg</icon>
- </item>
- <item id="4">
- <label>1</label>
- <label2>31403</label2>
- <onclick>ActivateWindow(PicturesSettings)</onclick>
- <icon>special://skin/backgrounds/pictures.jpg</icon>
- </item>
- <item id="5">
- <label>8</label>
- <label2>31404</label2>
- <onclick>ActivateWindow(WeatherSettings)</onclick>
- <icon>special://skin/backgrounds/weather.jpg</icon>
- </item>
- <item id="6">
- <label>24001</label>
- <label2>31408</label2>
- <onclick>ActivateWindow(AddonBrowser)</onclick>
- <icon>special://skin/backgrounds/addons.jpg</icon>
- </item>
- <item id="7">
- <label>705</label>
- <label2>31405</label2>
- <onclick>ActivateWindow(NetworkSettings)</onclick>
- <icon>special://skin/backgrounds/network.jpg</icon>
- </item>
- <item id="8">
- <label>13000</label>
- <label2>31406</label2>
- <onclick>ActivateWindow(SystemSettings)</onclick>
- <icon>special://skin/backgrounds/system.jpg</icon>
- </item>
- <item id="9">
- <label>166</label>
- <label2>31407</label2>
- <onclick>ActivateWindow(1111)</onclick>
- <icon>special://skin/backgrounds/skinsetting.jpg</icon>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>804</width>
- <height>50</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>804</width>
- <height>70</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>300</posx>
- <posy>20</posy>
- <width>740</width>
- <height>30</height>
- <font>font16caps</font>
- <label>$LOCALIZE[31000] $LOCALIZE[5]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>270</posx>
- <posy>60</posy>
- <width>800</width>
- <height>450</height>
- <texture border="5">button-nofocus.png</texture>
- </control>
- <control type="image">
- <posx>272</posx>
- <posy>62</posy>
- <width>796</width>
- <height>446</height>
- <aspectratio>stretch</aspectratio>
- <fadetime>600</fadetime>
- <texture background="true">$INFO[Container(9000).ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>272</posx>
- <posy>62</posy>
- <width>600</width>
- <height>340</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>510</posy>
- <width>804</width>
- <height>118</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="textbox">
- <description>Appearance Description</description>
- <posx>300</posx>
- <posy>520</posy>
- <width>740</width>
- <height>100</height>
- <font>font12</font>
- <label>$INFO[Container(9000).ListItem.Label2]</label>
- <align>left</align>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <include>BehindDialogFadeOut</include>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out" condition="Window.Next(Home) | Window.Next(1111) | Window.Next(AddonBrowser)">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out" condition="Window.Previous(Home) | Window.Previous(1111) | Window.Previous(AddonBrowser)">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[5]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="4"> + <defaultcontrol always="true">9000</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <include>CommonSettingsBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <posx>90</posx> + <posy>50</posy> + <animation type="WindowOpen" reversible="false"> + <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" /> + <effect type="fade" start="0" end="100" time="300" /> + </animation> + <animation type="WindowClose" reversible="false"> + <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" /> + <effect type="fade" start="100" end="0" time="300" /> + </animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1100</width> + <height>640</height> + <texture border="20">DialogBack.png</texture> + </control> + <control type="image"> + <description>LOGO</description> + <posx>30</posx> + <posy>15</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="list" id="9000"> + <posx>10</posx> + <posy>82</posy> + <width>260</width> + <height>541</height> + <onleft>9000</onleft> + <onright>9001</onright> + <onup>9000</onup> + <ondown>9000</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>300</scrolltime> + <itemlayout height="54" width="260"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>260</width> + <height>55</height> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>250</posx> + <posy>0</posy> + <width>380</width> + <height>55</height> + <font>font24_title</font> + <textcolor>grey3</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </itemlayout> + <focusedlayout height="54" width="260"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>260</width> + <height>55</height> + <texture border="5">MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>250</posx> + <posy>0</posy> + <width>380</width> + <height>55</height> + <font>font24_title</font> + <textcolor>white</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </focusedlayout> + <content> + <item id="1"> + <label>480</label> + <label2>31400</label2> + <onclick>ActivateWindow(AppearanceSettings)</onclick> + <icon>special://skin/backgrounds/appearance.jpg</icon> + </item> + <item id="2"> + <label>157</label> + <label2>31401</label2> + <onclick>ActivateWindow(VideosSettings)</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + </item> + <item id="3"> + <label>2</label> + <label2>31402</label2> + <onclick>ActivateWindow(MusicSettings)</onclick> + <icon>special://skin/backgrounds/music.jpg</icon> + </item> + <item id="4"> + <label>1</label> + <label2>31403</label2> + <onclick>ActivateWindow(PicturesSettings)</onclick> + <icon>special://skin/backgrounds/pictures.jpg</icon> + </item> + <item id="5"> + <label>8</label> + <label2>31404</label2> + <onclick>ActivateWindow(WeatherSettings)</onclick> + <icon>special://skin/backgrounds/weather.jpg</icon> + </item> + <item id="6"> + <label>24001</label> + <label2>31408</label2> + <onclick>ActivateWindow(AddonBrowser)</onclick> + <icon>special://skin/backgrounds/addons.jpg</icon> + </item> + <item id="7"> + <label>705</label> + <label2>31405</label2> + <onclick>ActivateWindow(NetworkSettings)</onclick> + <icon>special://skin/backgrounds/network.jpg</icon> + </item> + <item id="8"> + <label>13000</label> + <label2>31406</label2> + <onclick>ActivateWindow(SystemSettings)</onclick> + <icon>special://skin/backgrounds/system.jpg</icon> + </item> + <item id="9"> + <label>166</label> + <label2>31407</label2> + <onclick>ActivateWindow(1111)</onclick> + <icon>special://skin/backgrounds/skinsetting.jpg</icon> + </item> + </content> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>804</width> + <height>50</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>804</width> + <height>70</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>300</posx> + <posy>20</posy> + <width>740</width> + <height>30</height> + <font>font16caps</font> + <label>$LOCALIZE[31000] $LOCALIZE[5]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>270</posx> + <posy>60</posy> + <width>800</width> + <height>450</height> + <texture border="5">button-nofocus.png</texture> + </control> + <control type="image"> + <posx>272</posx> + <posy>62</posy> + <width>796</width> + <height>446</height> + <aspectratio>stretch</aspectratio> + <fadetime>600</fadetime> + <texture background="true">$INFO[Container(9000).ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>272</posx> + <posy>62</posy> + <width>600</width> + <height>340</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>268</posx> + <posy>510</posy> + <width>804</width> + <height>118</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="textbox"> + <description>Appearance Description</description> + <posx>300</posx> + <posy>520</posy> + <width>740</width> + <height>100</height> + <font>font12</font> + <label>$INFO[Container(9000).ListItem.Label2]</label> + <align>left</align> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <include>BehindDialogFadeOut</include> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out" condition="Window.Next(Home) | Window.Next(1111) | Window.Next(AddonBrowser)">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out" condition="Window.Previous(Home) | Window.Previous(1111) | Window.Previous(AddonBrowser)">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[5]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/SettingsCategory.xml b/addons/skin.confluence/720p/SettingsCategory.xml index ef26c9a22e..8df1c4a4f2 100644 --- a/addons/skin.confluence/720p/SettingsCategory.xml +++ b/addons/skin.confluence/720p/SettingsCategory.xml @@ -1,229 +1,229 @@ -<window id="12">
- <defaultcontrol>3</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <control type="group">
- <visible>!Window.Previous(Weather) + !Window.Previous(VideoFiles) + !Window.Previous(VideoLibrary) + !Window.Previous(MusicFiles) + !Window.Previous(MusicLibrary) + !Window.Previous(Pictures) + !Window.Previous(Programs)</visible>
- <include>CommonSettingsBackground</include>
- </control>
- <control type="group">
- <visible>Window.Previous(Weather)</visible>
- <include>CommonWeatherBackground</include>
- </control>
- <control type="group">
- <visible>Window.Previous(Programs)</visible>
- <include>CommonProgramsBackground</include>
- </control>
- <control type="group">
- <visible>Window.Previous(VideoFiles) | Window.Previous(VideoLibrary)</visible>
- <include>CommonVideoBackground</include>
- </control>
- <control type="group">
- <visible>Window.Previous(MusicFiles) | Window.Previous(MusicLibrary) | Window.Previous(Pictures)</visible>
- <include>CommonMusicBackground</include>
- </control>
- <control type="group">
- <visible>Window.Previous(Pictures)</visible>
- <include>CommonPictureBackground</include>
- </control>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <posx>90</posx>
- <posy>50</posy>
- <animation type="WindowOpen" reversible="false">
- <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
- <effect type="fade" start="0" end="100" time="300" />
- </animation>
- <animation type="WindowClose" reversible="false">
- <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
- <effect type="fade" start="100" end="0" time="300" />
- </animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>640</height>
- <texture border="20">DialogBack.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>980</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>1</onleft>
- <onright>1</onright>
- <onup>1</onup>
- <ondown>1</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>30</posx>
- <posy>15</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="grouplist" id="3">
- <description>button area</description>
- <posx>10</posx>
- <posy>90</posy>
- <width>260</width>
- <height>481</height>
- <itemgap>-1</itemgap>
- <onleft>60</onleft>
- <onright>5</onright>
- <onup>3</onup>
- <ondown>3</ondown>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>790</width>
- <height>618</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>804</width>
- <height>70</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>300</posx>
- <posy>20</posy>
- <width>740</width>
- <height>30</height>
- <font>font16caps</font>
- <label>$INFO[Control.GetLabel(2)] - $LOCALIZE[5]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="grouplist" id="5">
- <description>control area</description>
- <posx>290</posx>
- <posy>70</posy>
- <width>750</width>
- <height>530</height>
- <itemgap>-1</itemgap>
- <pagecontrol>60</pagecontrol>
- <onleft>3</onleft>
- <onright>60</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- </control>
- <control type="scrollbar" id="60">
- <posx>1060</posx>
- <posy>60</posy>
- <width>25</width>
- <height>530</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>5</onleft>
- <onright>3</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- </control>
- <include>BehindDialogFadeOut</include>
-
- <control type="button" id="10">
- <description>Default Category Button</description>
- <height>60</height>
- <width>260</width>
- <textoffsetx>20</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- </control>
- <control type="button" id="7">
- <description>Default Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="8">
- <description>Default RadioButton</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- </control>
- <control type="spincontrolex" id="9">
- <description>Default SpinControlex</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- <aligny>center</aligny>
- <reverse>yes</reverse>
- </control>
- <control type="image" id="11">
- <description>separator image</description>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="label" id="2">
- <description>Fake Label so we can pass it value down to the one below</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>0</width>
- <height>0</height>
- <font>-</font>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out" condition="!Window.Next(Settings)">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out" condition="!Window.Previous(Settings)">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[5]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="12"> + <defaultcontrol>3</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <control type="group"> + <visible>!Window.Previous(Weather) + !Window.Previous(VideoFiles) + !Window.Previous(VideoLibrary) + !Window.Previous(MusicFiles) + !Window.Previous(MusicLibrary) + !Window.Previous(Pictures) + !Window.Previous(Programs)</visible> + <include>CommonSettingsBackground</include> + </control> + <control type="group"> + <visible>Window.Previous(Weather)</visible> + <include>CommonWeatherBackground</include> + </control> + <control type="group"> + <visible>Window.Previous(Programs)</visible> + <include>CommonProgramsBackground</include> + </control> + <control type="group"> + <visible>Window.Previous(VideoFiles) | Window.Previous(VideoLibrary)</visible> + <include>CommonVideoBackground</include> + </control> + <control type="group"> + <visible>Window.Previous(MusicFiles) | Window.Previous(MusicLibrary) | Window.Previous(Pictures)</visible> + <include>CommonMusicBackground</include> + </control> + <control type="group"> + <visible>Window.Previous(Pictures)</visible> + <include>CommonPictureBackground</include> + </control> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <posx>90</posx> + <posy>50</posy> + <animation type="WindowOpen" reversible="false"> + <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" /> + <effect type="fade" start="0" end="100" time="300" /> + </animation> + <animation type="WindowClose" reversible="false"> + <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" /> + <effect type="fade" start="100" end="0" time="300" /> + </animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1100</width> + <height>640</height> + <texture border="20">DialogBack.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>980</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>1</onleft> + <onright>1</onright> + <onup>1</onup> + <ondown>1</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="image"> + <description>LOGO</description> + <posx>30</posx> + <posy>15</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="grouplist" id="3"> + <description>button area</description> + <posx>10</posx> + <posy>90</posy> + <width>260</width> + <height>481</height> + <itemgap>-1</itemgap> + <onleft>60</onleft> + <onright>5</onright> + <onup>3</onup> + <ondown>3</ondown> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>790</width> + <height>618</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>804</width> + <height>70</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>300</posx> + <posy>20</posy> + <width>740</width> + <height>30</height> + <font>font16caps</font> + <label>$INFO[Control.GetLabel(2)] - $LOCALIZE[5]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="grouplist" id="5"> + <description>control area</description> + <posx>290</posx> + <posy>70</posy> + <width>750</width> + <height>530</height> + <itemgap>-1</itemgap> + <pagecontrol>60</pagecontrol> + <onleft>3</onleft> + <onright>60</onright> + <onup>5</onup> + <ondown>5</ondown> + </control> + <control type="scrollbar" id="60"> + <posx>1060</posx> + <posy>60</posy> + <width>25</width> + <height>530</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>5</onleft> + <onright>3</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + </control> + <include>BehindDialogFadeOut</include> + + <control type="button" id="10"> + <description>Default Category Button</description> + <height>60</height> + <width>260</width> + <textoffsetx>20</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + </control> + <control type="button" id="7"> + <description>Default Button</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="8"> + <description>Default RadioButton</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + </control> + <control type="spincontrolex" id="9"> + <description>Default SpinControlex</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + <aligny>center</aligny> + <reverse>yes</reverse> + </control> + <control type="image" id="11"> + <description>separator image</description> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="label" id="2"> + <description>Fake Label so we can pass it value down to the one below</description> + <posx>0</posx> + <posy>0</posy> + <width>0</width> + <height>0</height> + <font>-</font> + <visible>false</visible> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out" condition="!Window.Next(Settings)">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out" condition="!Window.Previous(Settings)">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[5]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/SettingsProfile.xml b/addons/skin.confluence/720p/SettingsProfile.xml index 79d49191bc..49a75ab07c 100644 --- a/addons/skin.confluence/720p/SettingsProfile.xml +++ b/addons/skin.confluence/720p/SettingsProfile.xml @@ -1,260 +1,260 @@ -<window id="34">
- <defaultcontrol always="true">2</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <include>CommonSettingsBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <posx>90</posx>
- <posy>50</posy>
- <animation type="WindowOpen" reversible="false">
- <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
- <effect type="fade" start="0" end="100" time="300" />
- </animation>
- <animation type="WindowClose" reversible="false">
- <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
- <effect type="fade" start="100" end="0" time="300" />
- </animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>640</height>
- <texture border="20">DialogBack.png</texture>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>30</posx>
- <posy>15</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="button" id ="4">
- <description>Enable Login screen</description>
- <posx>10</posx>
- <posy>90</posy>
- <width>250</width>
- <height>80</height>
- <textoffsety>13</textoffsety>
- <label>20096</label>
- <font>font24_title</font>
- <align>right</align>
- <aligny>top</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>2</onleft>
- <onright>2</onright>
- <onup>4</onup>
- <ondown>4</ondown>
- <enable>!Window.IsVisible(ProfileSettings)</enable>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>135</posy>
- <width>240</width>
- <height>25</height>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>305</label>
- <visible>System.HasLoginScreen</visible>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>135</posy>
- <width>240</width>
- <height>25</height>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>1223</label>
- <visible>!System.HasLoginScreen</visible>
- </control>
- <control type="group">
- <posx>20</posx>
- <posy>210</posy>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>240</width>
- <height>200</height>
- <aspectratio>keep</aspectratio>
- <bordertexture border="12">ThumbBorder.png</bordertexture>
- <bordersize>10</bordersize>
- <texture fallback="unknown-user.png">$INFO[Container(2).Listitem.Icon]</texture>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>220</posy>
- <width>240</width>
- <height>20</height>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31319]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>245</posy>
- <width>240</width>
- <height>20</height>
- <font>font13caps</font>
- <textcolor>white</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[Container(2).ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>280</posy>
- <width>240</width>
- <height>30</height>
- <font>font12_title</font>
- <textcolor>blue</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31320]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>305</posy>
- <width>240</width>
- <height>30</height>
- <font>font13caps</font>
- <textcolor>white</textcolor>
- <align>center</align>
- <aligny>center</aligny>
- <label fallback="13170">$INFO[Container(2).ListItem.Label2]</label>
- </control>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>790</width>
- <height>618</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>804</width>
- <height>70</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>300</posx>
- <posy>20</posy>
- <width>740</width>
- <height>30</height>
- <font>font30_title</font>
- <label>$LOCALIZE[10034]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="panel" id="2">
- <posx>283</posx>
- <posy>70</posy>
- <width>760</width>
- <height>540</height>
- <onleft>4</onleft>
- <onright>60</onright>
- <onup>53</onup>
- <ondown>53</ondown>
- <viewtype label="21371">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="180" width="190">
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>188</width>
- <height>145</height>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>5</bordersize>
- <texture fallback="unknown-user.png">$INFO[Listitem.Icon]</texture>
- </control>
- <control type="label">
- <posx>94</posx>
- <posy>145</posy>
- <width>178</width>
- <height>25</height>
- <font>font11</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="180" width="190">
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>188</width>
- <height>145</height>
- <bordertexture border="5">folder-focus.png</bordertexture>
- <bordersize>5</bordersize>
- <texture fallback="unknown-user.png">$INFO[Listitem.Icon]</texture>
- </control>
- <control type="label">
- <posx>94</posx>
- <posy>145</posy>
- <width>178</width>
- <height>25</height>
- <font>font11</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>1060</posx>
- <posy>60</posy>
- <width>25</width>
- <height>530</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>2</onleft>
- <onright>4</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- </control>
- <include>BehindDialogFadeOut</include>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[13200]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="34"> + <defaultcontrol always="true">2</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <include>CommonSettingsBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <posx>90</posx> + <posy>50</posy> + <animation type="WindowOpen" reversible="false"> + <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" /> + <effect type="fade" start="0" end="100" time="300" /> + </animation> + <animation type="WindowClose" reversible="false"> + <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" /> + <effect type="fade" start="100" end="0" time="300" /> + </animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1100</width> + <height>640</height> + <texture border="20">DialogBack.png</texture> + </control> + <control type="image"> + <description>LOGO</description> + <posx>30</posx> + <posy>15</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="button" id ="4"> + <description>Enable Login screen</description> + <posx>10</posx> + <posy>90</posy> + <width>250</width> + <height>80</height> + <textoffsety>13</textoffsety> + <label>20096</label> + <font>font24_title</font> + <align>right</align> + <aligny>top</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>2</onleft> + <onright>2</onright> + <onup>4</onup> + <ondown>4</ondown> + <enable>!Window.IsVisible(ProfileSettings)</enable> + </control> + <control type="label"> + <posx>250</posx> + <posy>135</posy> + <width>240</width> + <height>25</height> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>305</label> + <visible>System.HasLoginScreen</visible> + </control> + <control type="label"> + <posx>250</posx> + <posy>135</posy> + <width>240</width> + <height>25</height> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>1223</label> + <visible>!System.HasLoginScreen</visible> + </control> + <control type="group"> + <posx>20</posx> + <posy>210</posy> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>240</width> + <height>200</height> + <aspectratio>keep</aspectratio> + <bordertexture border="12">ThumbBorder.png</bordertexture> + <bordersize>10</bordersize> + <texture fallback="unknown-user.png">$INFO[Container(2).Listitem.Icon]</texture> + </control> + <control type="label"> + <posx>0</posx> + <posy>220</posy> + <width>240</width> + <height>20</height> + <font>font12_title</font> + <textcolor>blue</textcolor> + <align>center</align> + <aligny>center</aligny> + <label>$LOCALIZE[31319]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>245</posy> + <width>240</width> + <height>20</height> + <font>font13caps</font> + <textcolor>white</textcolor> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[Container(2).ListItem.Label]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>280</posy> + <width>240</width> + <height>30</height> + <font>font12_title</font> + <textcolor>blue</textcolor> + <align>center</align> + <aligny>center</aligny> + <label>$LOCALIZE[31320]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>305</posy> + <width>240</width> + <height>30</height> + <font>font13caps</font> + <textcolor>white</textcolor> + <align>center</align> + <aligny>center</aligny> + <label fallback="13170">$INFO[Container(2).ListItem.Label2]</label> + </control> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>790</width> + <height>618</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>804</width> + <height>70</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>300</posx> + <posy>20</posy> + <width>740</width> + <height>30</height> + <font>font30_title</font> + <label>$LOCALIZE[10034]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="panel" id="2"> + <posx>283</posx> + <posy>70</posy> + <width>760</width> + <height>540</height> + <onleft>4</onleft> + <onright>60</onright> + <onup>53</onup> + <ondown>53</ondown> + <viewtype label="21371">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="180" width="190"> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>188</width> + <height>145</height> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>5</bordersize> + <texture fallback="unknown-user.png">$INFO[Listitem.Icon]</texture> + </control> + <control type="label"> + <posx>94</posx> + <posy>145</posy> + <width>178</width> + <height>25</height> + <font>font11</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>center</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="180" width="190"> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>188</width> + <height>145</height> + <bordertexture border="5">folder-focus.png</bordertexture> + <bordersize>5</bordersize> + <texture fallback="unknown-user.png">$INFO[Listitem.Icon]</texture> + </control> + <control type="label"> + <posx>94</posx> + <posy>145</posy> + <width>178</width> + <height>25</height> + <font>font11</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>center</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>1060</posx> + <posy>60</posy> + <width>25</width> + <height>530</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>2</onleft> + <onright>4</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + </control> + <include>BehindDialogFadeOut</include> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[13200]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/SettingsScreenCalibration.xml b/addons/skin.confluence/720p/SettingsScreenCalibration.xml index 3017630ae8..9b79adf000 100644 --- a/addons/skin.confluence/720p/SettingsScreenCalibration.xml +++ b/addons/skin.confluence/720p/SettingsScreenCalibration.xml @@ -1,101 +1,101 @@ -<window id="11">
- <defaultcontrol>8</defaultcontrol>
- <controls>
- <control type="videowindow" id="20">
- <description>videowindow</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <visible>Player.HasVideo</visible>
- </control>
- <control type="group">
- <visible>!Player.HasVideo</visible>
- <include>CommonSettingsBackground</include>
- </control>
- <control type="image">
- <description>Overlay</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture>black-back.png</texture>
- <include>dialogeffect</include>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>100r</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>1</onleft>
- <onright>1</onright>
- <onup>1</onup>
- <ondown>1</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="mover" id="8">
- <description>top left mover</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>128</width>
- <height>128</height>
- <texturefocus>CalibrateTopLeft.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- </control>
- <control type="mover" id="9">
- <description>right bottom mover</description>
- <posx>700</posx>
- <posy>500</posy>
- <width>128</width>
- <height>128</height>
- <texturefocus>CalibrateBottomRight.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- </control>
- <control type="mover" id="10">
- <description>subtitle position mover</description>
- <posx>200</posx>
- <posy>500</posy>
- <width>512</width>
- <height>128</height>
- <texturefocus>CalibrateSubtitles.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- </control>
- <control type="resize" id="11">
- <description>pixel aspect ratio box</description>
- <posx>0</posx>
- <posy>232</posy>
- <width>256</width>
- <height>256</height>
- <texturefocus>CalibratePixelRatio.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- </control>
- <control type="group">
- <posx>20</posx>
- <posy>80</posy>
- <control type="label" id="2">
- <description>coordinates label</description>
- <posx>0</posx>
- <posy>10</posy>
- <width>1240</width>
- <label>-</label>
- <align>center</align>
- <font>font13caps</font>
- </control>
- <control type="label" id="3">
- <description>help information</description>
- <posx>0</posx>
- <posy>40</posy>
- <width>1240</width>
- <label>-</label>
- <align>center</align>
- <font>font13caps</font>
- </control>
- </control>
- </controls>
+<window id="11"> + <defaultcontrol>8</defaultcontrol> + <controls> + <control type="videowindow" id="20"> + <description>videowindow</description> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <visible>Player.HasVideo</visible> + </control> + <control type="group"> + <visible>!Player.HasVideo</visible> + <include>CommonSettingsBackground</include> + </control> + <control type="image"> + <description>Overlay</description> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture>black-back.png</texture> + <include>dialogeffect</include> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>100r</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>1</onleft> + <onright>1</onright> + <onup>1</onup> + <ondown>1</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="mover" id="8"> + <description>top left mover</description> + <posx>0</posx> + <posy>0</posy> + <width>128</width> + <height>128</height> + <texturefocus>CalibrateTopLeft.png</texturefocus> + <texturenofocus>-</texturenofocus> + </control> + <control type="mover" id="9"> + <description>right bottom mover</description> + <posx>700</posx> + <posy>500</posy> + <width>128</width> + <height>128</height> + <texturefocus>CalibrateBottomRight.png</texturefocus> + <texturenofocus>-</texturenofocus> + </control> + <control type="mover" id="10"> + <description>subtitle position mover</description> + <posx>200</posx> + <posy>500</posy> + <width>512</width> + <height>128</height> + <texturefocus>CalibrateSubtitles.png</texturefocus> + <texturenofocus>-</texturenofocus> + </control> + <control type="resize" id="11"> + <description>pixel aspect ratio box</description> + <posx>0</posx> + <posy>232</posy> + <width>256</width> + <height>256</height> + <texturefocus>CalibratePixelRatio.png</texturefocus> + <texturenofocus>-</texturenofocus> + </control> + <control type="group"> + <posx>20</posx> + <posy>80</posy> + <control type="label" id="2"> + <description>coordinates label</description> + <posx>0</posx> + <posy>10</posy> + <width>1240</width> + <label>-</label> + <align>center</align> + <font>font13caps</font> + </control> + <control type="label" id="3"> + <description>help information</description> + <posx>0</posx> + <posy>40</posy> + <width>1240</width> + <label>-</label> + <align>center</align> + <font>font13caps</font> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/SettingsSystemInfo.xml b/addons/skin.confluence/720p/SettingsSystemInfo.xml index 9c5e570f4d..fb04f0fc50 100644 --- a/addons/skin.confluence/720p/SettingsSystemInfo.xml +++ b/addons/skin.confluence/720p/SettingsSystemInfo.xml @@ -1,363 +1,363 @@ -<window id="7">
- <defaultcontrol always="true">95</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <include>CommonSettingsBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <posx>90</posx>
- <posy>50</posy>
- <animation type="WindowOpen" reversible="false">
- <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
- <effect type="fade" start="0" end="100" time="300" />
- </animation>
- <animation type="WindowClose" reversible="false">
- <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
- <effect type="fade" start="100" end="0" time="300" />
- </animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>640</height>
- <texture border="20">DialogBack.png</texture>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>30</posx>
- <posy>15</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="grouplist" id="9000">
- <posx>10</posx>
- <posy>90</posy>
- <width>260</width>
- <height>481</height>
- <itemgap>-1</itemgap>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <control type="button" id="95">
- <description>Button Summary Values</description>
- <height>60</height>
- <width>241</width>
- <textoffsetx>0</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- <label>20037</label>
- </control>
- <control type="button" id="94">
- <description>Button Storage</description>
- <height>60</height>
- <width>241</width>
- <textoffsetx>0</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- <label>13277</label>
- </control>
- <control type="button" id="92">
- <description>Button HDD</description>
- <height>60</height>
- <width>241</width>
- <textoffsetx>0</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- <label>13275</label>
- <visible>System.Platform.Xbox</visible>
- </control>
- <control type="button" id="93">
- <description>Button DVD</description>
- <height>60</height>
- <width>241</width>
- <textoffsetx>0</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- <label>13276</label>
- <visible>System.Platform.Xbox</visible>
- </control>
- <control type="button" id="96">
- <description>Button Network</description>
- <height>60</height>
- <width>241</width>
- <textoffsetx>0</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- <label>13279</label>
- </control>
- <control type="button" id="97">
- <description>Button Video</description>
- <height>60</height>
- <width>241</width>
- <textoffsetx>0</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- <label>13280</label>
- </control>
- <control type="button" id="98">
- <description>Button Hardware</description>
- <height>60</height>
- <width>241</width>
- <textoffsetx>0</textoffsetx>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- <label>13281</label>
- </control>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>790</width>
- <height>618</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>804</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>300</posx>
- <posy>20</posy>
- <width>740</width>
- <height>30</height>
- <font>font24_title</font>
- <label>$LOCALIZE[130] - $INFO[Control.GetLabel(40)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="40">
- <description>Hiddenlabel to pass to above</description>
- <visible>false</visible>
- </control>
- <control type="group">
- <posx>290</posx>
- <posy>100</posy>
- <control type="label" id="2">
- <description>Label 2</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="3">
- <description>Label 3</description>
- <posx>0</posx>
- <posy>35</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="4">
- <description>Label 4</description>
- <posx>0</posx>
- <posy>70</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="5">
- <description>Label 5</description>
- <posx>0</posx>
- <posy>105</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="6">
- <description>Label 6</description>
- <posx>0</posx>
- <posy>140</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="7">
- <description>Label 7</description>
- <posx>0</posx>
- <posy>175</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="8">
- <description>Label 8</description>
- <posx>0</posx>
- <posy>210</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="9">
- <description>Label 9</description>
- <posx>0</posx>
- <posy>245</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="10">
- <description>Label 10</description>
- <posx>0</posx>
- <posy>280</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="11">
- <description>Label 11</description>
- <posx>0</posx>
- <posy>315</posy>
- <width>750</width>
- <label>-</label>
- <font>font13</font>
- </control>
- <control type="label" id="52">
- <description>XBMC XBE BUILD Version</description>
- <posx>750</posx>
- <posy>400</posy>
- <width>700</width>
- <label>144</label>
- <align>right</align>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <font>font13_title</font>
- </control>
- <control type="label">
- <description>CPU Text</description>
- <posx>420</posx>
- <posy>450</posy>
- <width>350</width>
- <height>25</height>
- <label>$LOCALIZE[13271] $INFO[System.CPUUsage]</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <font>font12_title</font>
- </control>
- <control type="progress">
- <description>CPU BAR</description>
- <posx>430</posx>
- <posy>455</posy>
- <width>320</width>
- <height>16</height>
- <info>System.CPUUsage</info>
- </control>
- <control type="label">
- <description>Memory Text</description>
- <posx>420</posx>
- <posy>480</posy>
- <width>350</width>
- <height>25</height>
- <label>$LOCALIZE[31309] $INFO[system.memory(used.percent)]</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <font>font12_title</font>
- </control>
- <control type="progress">
- <description>Memory BAR</description>
- <posx>430</posx>
- <posy>485</posy>
- <width>320</width>
- <height>16</height>
- <info>system.memory(used)</info>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[130]</label>
- </control>
- </control>
- <control type="group">
- <posx>20</posx>
- <posy>0</posy>
- <animation effect="slide" end="-270,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-270,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>80</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="button">
- <posx>20</posx>
- <posy>5</posy>
- <width>25</width>
- <height>20</height>
- <texturenofocus>HomeIcon.png</texturenofocus>
- <texturefocus>HomeIcon-Focus.png</texturefocus>
- <label>-</label>
- <onclick>ActivateWindow(Home)</onclick>
- </control>
- </control>
- <include>Clock</include>
- </controls>
-</window>
+<window id="7"> + <defaultcontrol always="true">95</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <include>CommonSettingsBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <posx>90</posx> + <posy>50</posy> + <animation type="WindowOpen" reversible="false"> + <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" /> + <effect type="fade" start="0" end="100" time="300" /> + </animation> + <animation type="WindowClose" reversible="false"> + <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" /> + <effect type="fade" start="100" end="0" time="300" /> + </animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1100</width> + <height>640</height> + <texture border="20">DialogBack.png</texture> + </control> + <control type="image"> + <description>LOGO</description> + <posx>30</posx> + <posy>15</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="grouplist" id="9000"> + <posx>10</posx> + <posy>90</posy> + <width>260</width> + <height>481</height> + <itemgap>-1</itemgap> + <onup>9000</onup> + <ondown>9000</ondown> + <control type="button" id="95"> + <description>Button Summary Values</description> + <height>60</height> + <width>241</width> + <textoffsetx>0</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + <label>20037</label> + </control> + <control type="button" id="94"> + <description>Button Storage</description> + <height>60</height> + <width>241</width> + <textoffsetx>0</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + <label>13277</label> + </control> + <control type="button" id="92"> + <description>Button HDD</description> + <height>60</height> + <width>241</width> + <textoffsetx>0</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + <label>13275</label> + <visible>System.Platform.Xbox</visible> + </control> + <control type="button" id="93"> + <description>Button DVD</description> + <height>60</height> + <width>241</width> + <textoffsetx>0</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + <label>13276</label> + <visible>System.Platform.Xbox</visible> + </control> + <control type="button" id="96"> + <description>Button Network</description> + <height>60</height> + <width>241</width> + <textoffsetx>0</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + <label>13279</label> + </control> + <control type="button" id="97"> + <description>Button Video</description> + <height>60</height> + <width>241</width> + <textoffsetx>0</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + <label>13280</label> + </control> + <control type="button" id="98"> + <description>Button Hardware</description> + <height>60</height> + <width>241</width> + <textoffsetx>0</textoffsetx> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <pulseonselect>false</pulseonselect> + <label>13281</label> + </control> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>790</width> + <height>618</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>804</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>300</posx> + <posy>20</posy> + <width>740</width> + <height>30</height> + <font>font24_title</font> + <label>$LOCALIZE[130] - $INFO[Control.GetLabel(40)]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="40"> + <description>Hiddenlabel to pass to above</description> + <visible>false</visible> + </control> + <control type="group"> + <posx>290</posx> + <posy>100</posy> + <control type="label" id="2"> + <description>Label 2</description> + <posx>0</posx> + <posy>0</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="3"> + <description>Label 3</description> + <posx>0</posx> + <posy>35</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="4"> + <description>Label 4</description> + <posx>0</posx> + <posy>70</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="5"> + <description>Label 5</description> + <posx>0</posx> + <posy>105</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="6"> + <description>Label 6</description> + <posx>0</posx> + <posy>140</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="7"> + <description>Label 7</description> + <posx>0</posx> + <posy>175</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="8"> + <description>Label 8</description> + <posx>0</posx> + <posy>210</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="9"> + <description>Label 9</description> + <posx>0</posx> + <posy>245</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="10"> + <description>Label 10</description> + <posx>0</posx> + <posy>280</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="11"> + <description>Label 11</description> + <posx>0</posx> + <posy>315</posy> + <width>750</width> + <label>-</label> + <font>font13</font> + </control> + <control type="label" id="52"> + <description>XBMC XBE BUILD Version</description> + <posx>750</posx> + <posy>400</posy> + <width>700</width> + <label>144</label> + <align>right</align> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <font>font13_title</font> + </control> + <control type="label"> + <description>CPU Text</description> + <posx>420</posx> + <posy>450</posy> + <width>350</width> + <height>25</height> + <label>$LOCALIZE[13271] $INFO[System.CPUUsage]</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <font>font12_title</font> + </control> + <control type="progress"> + <description>CPU BAR</description> + <posx>430</posx> + <posy>455</posy> + <width>320</width> + <height>16</height> + <info>System.CPUUsage</info> + </control> + <control type="label"> + <description>Memory Text</description> + <posx>420</posx> + <posy>480</posy> + <width>350</width> + <height>25</height> + <label>$LOCALIZE[31309] $INFO[system.memory(used.percent)]</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <font>font12_title</font> + </control> + <control type="progress"> + <description>Memory BAR</description> + <posx>430</posx> + <posy>485</posy> + <width>320</width> + <height>16</height> + <info>system.memory(used)</info> + </control> + </control> + </control> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[130]</label> + </control> + </control> + <control type="group"> + <posx>20</posx> + <posy>0</posy> + <animation effect="slide" end="-270,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-270,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>80</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="button"> + <posx>20</posx> + <posy>5</posy> + <width>25</width> + <height>20</height> + <texturenofocus>HomeIcon.png</texturenofocus> + <texturefocus>HomeIcon-Focus.png</texturefocus> + <label>-</label> + <onclick>ActivateWindow(Home)</onclick> + </control> + </control> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/SlideShow.xml b/addons/skin.confluence/720p/SlideShow.xml index 9a5ae033d0..df71874643 100644 --- a/addons/skin.confluence/720p/SlideShow.xml +++ b/addons/skin.confluence/720p/SlideShow.xml @@ -1,39 +1,39 @@ -<window id="2007">
- <defaultcontrol>2</defaultcontrol>
- <controls>
- <control type="group" id="13">
- <posx>130r</posx>
- <posy>10</posy>
- <visible>!Skin.HasSetting(Show_SlideShow_Paused)</visible>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>120</width>
- <height>35</height>
- <texture>black-back.png</texture>
- <bordertexture border="3">NoCover_1.png</bordertexture>
- <bordersize>5</bordersize>
- </control>
- <control type="label">
- <description>paused label</description>
- <posx>10</posx>
- <posy>0</posy>
- <width>100</width>
- <height>35</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font10</font>
- <textcolor>white</textcolor>
- <label>31043</label>
- </control>
- </control>
- <!-- media infos -->
- <control type="group">
- <posx>20</posx>
- <posy>180r</posy>
- <visible>Player.ShowInfo + Player.HasMedia</visible>
- <include>VisibleFadeEffect</include>
- <include>SmallMusicInfo</include>
- </control>
- </controls>
+<window id="2007"> + <defaultcontrol>2</defaultcontrol> + <controls> + <control type="group" id="13"> + <posx>130r</posx> + <posy>10</posy> + <visible>!Skin.HasSetting(Show_SlideShow_Paused)</visible> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>120</width> + <height>35</height> + <texture>black-back.png</texture> + <bordertexture border="3">NoCover_1.png</bordertexture> + <bordersize>5</bordersize> + </control> + <control type="label"> + <description>paused label</description> + <posx>10</posx> + <posy>0</posy> + <width>100</width> + <height>35</height> + <align>center</align> + <aligny>center</aligny> + <font>font10</font> + <textcolor>white</textcolor> + <label>31043</label> + </control> + </control> + <!-- media infos --> + <control type="group"> + <posx>20</posx> + <posy>180r</posy> + <visible>Player.ShowInfo + Player.HasMedia</visible> + <include>VisibleFadeEffect</include> + <include>SmallMusicInfo</include> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/SmartPlaylistEditor.xml b/addons/skin.confluence/720p/SmartPlaylistEditor.xml index 635fcac502..ccc7a2c5e6 100644 --- a/addons/skin.confluence/720p/SmartPlaylistEditor.xml +++ b/addons/skin.confluence/720p/SmartPlaylistEditor.xml @@ -1,338 +1,338 @@ -<window id="136">
- <defaultcontrol always="true">22</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>45</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="group">
- <visible>!Window.IsVisible(smartplaylistrule)</visible>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>630</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>22</onleft>
- <onright>22</onright>
- <onup>22</onup>
- <ondown>22</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label" id="2">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[21432]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="spincontrolex" id="22">
- <description>Set Playlist type</description>
- <posx>20</posx>
- <posy>70</posy>
- <width>760</width>
- <height>40</height>
- <label>467</label>
- <font>font13</font>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onright>22</onright>
- <onleft>22</onleft>
- <onup>9001</onup>
- <ondown>12</ondown>
- </control>
- <control type="label">
- <description>Name Label</description>
- <posx>30</posx>
- <posy>125</posy>
- <width>740</width>
- <label>21433</label>
- <font>font12caps</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="edit" id="12">
- <description>Name Button</description>
- <posx>20</posx>
- <posy>155</posy>
- <width>760</width>
- <height>40</height>
- <textoffsetx>10</textoffsetx>
- <textwidth>750</textwidth>
- <font>font13</font>
- <align>center</align>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <label>-</label>
- <onup>22</onup>
- <onleft>12</onleft>
- <onright>12</onright>
- <ondown>10</ondown>
- </control>
- <control type="label">
- <description>rules label</description>
- <posx>30</posx>
- <posy>210</posy>
- <width>740</width>
- <align>left</align>
- <label>21434</label>
- <font>font12caps</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="list" id="10">
- <description>Rules List Control</description>
- <posx>20</posx>
- <posy>245</posy>
- <width>560</width>
- <height>121</height>
- <onup>12</onup>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <ondown>16</ondown>
- <itemlayout width="560" height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>560</width>
- <height>41</height>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>545</width>
- <height>40</height>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- <selectedcolor>selected</selectedcolor>
- <font>font13</font>
- </control>
- </itemlayout>
- <focusedlayout width="560" height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>560</width>
- <height>41</height>
- <texture>MenuItemFO.png</texture>
- <visible>Control.HasFocus(10)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>560</width>
- <height>41</height>
- <texture>MenuItemNF.png</texture>
- <visible>!Control.HasFocus(10)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>540</width>
- <height>40</height>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- <selectedcolor>selected</selectedcolor>
- <font>font13</font>
- </control>
- </focusedlayout>
- </control>
- <control type="group" id="9000">
- <control type="button" id="13">
- <description>Add Rule Button</description>
- <posx>600</posx>
- <posy>245</posy>
- <width>180</width>
- <height>41</height>
- <label>15019</label>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>17</onup>
- <onleft>10</onleft>
- <onright>10</onright>
- <ondown>14</ondown>
- </control>
- <control type="button" id="14">
- <description>Remove Rule Button</description>
- <posx>600</posx>
- <posy>285</posy>
- <height>41</height>
- <width>180</width>
- <label>1210</label>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>13</onup>
- <onleft>10</onleft>
- <onright>10</onright>
- <ondown>15</ondown>
- </control>
- <control type="button" id="15">
- <description>Edit Rule Button</description>
- <posx>600</posx>
- <posy>325</posy>
- <height>41</height>
- <width>180</width>
- <label>21435</label>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>14</onup>
- <onleft>10</onleft>
- <onright>10</onright>
- <ondown>16</ondown>
- </control>
- </control>
-
- <control type="label">
- <description>Name Label</description>
- <posx>30</posx>
- <posy>380</posy>
- <width>740</width>
- <label>31325</label>
- <font>font12caps</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="spincontrolex" id="16">
- <posx>20</posx>
- <posy>415</posy>
- <width>760</width>
- <height>41</height>
- <label>21424</label>
- <font>font13</font>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onright>16</onright>
- <onleft>16</onleft>
- <onup>10</onup>
- <ondown>17</ondown>
- </control>
-
- <control type="spincontrolex" id="17">
- <posx>20</posx>
- <posy>455</posy>
- <width>760</width>
- <height>41</height>
- <label>21427</label>
- <font>font13</font>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onright>17</onright>
- <onleft>17</onleft>
- <onup>16</onup>
- <ondown>18</ondown>
- </control>
-
- <control type="spincontrolex" id="18">
- <posx>20</posx>
- <posy>495</posy>
- <width>560</width>
- <height>41</height>
- <label>21429</label>
- <font>font13</font>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onright>19</onright>
- <onleft>19</onleft>
- <onup>17</onup>
- <ondown>9001</ondown>
- </control>
-
- <control type="togglebutton" id="19">
- <posx>600</posx>
- <posy>495</posy>
- <width>180</width>
- <height>40</height>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <alttexturenofocus border="5">MenuItemNF.png</alttexturenofocus>
- <alttexturefocus border="5">button-focus.png</alttexturefocus>
- <label>21431</label>
- <altlabel>21430</altlabel>
- <onright>18</onright>
- <onleft>18</onleft>
- <onup>17</onup>
- <ondown>9001</ondown>
- </control>
- <control type="group" id="9001">
- <control type="button" id="20">
- <description>Ok Button</description>
- <posx>195</posx>
- <posy>560</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>186</label>
- <font>font12_title</font>
- <onup>18</onup>
- <onleft>21</onleft>
- <onright>21</onright>
- <ondown>22</ondown>
- </control>
- <control type="button" id="21">
- <description>Cancel Button</description>
- <posx>405</posx>
- <posy>560</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>222</label>
- <font>font12_title</font>
- <onup>18</onup>
- <onleft>20</onleft>
- <onright>20</onright>
- <ondown>22</ondown>
- </control>
- </control>
- </control>
- </controls>
+<window id="136"> + <defaultcontrol always="true">22</defaultcontrol> + <allowoverlay>no</allowoverlay> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>45</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="group"> + <visible>!Window.IsVisible(smartplaylistrule)</visible> + <include>VisibleFadeEffect</include> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>630</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>22</onleft> + <onright>22</onright> + <onup>22</onup> + <ondown>22</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label" id="2"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[21432]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="spincontrolex" id="22"> + <description>Set Playlist type</description> + <posx>20</posx> + <posy>70</posy> + <width>760</width> + <height>40</height> + <label>467</label> + <font>font13</font> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onright>22</onright> + <onleft>22</onleft> + <onup>9001</onup> + <ondown>12</ondown> + </control> + <control type="label"> + <description>Name Label</description> + <posx>30</posx> + <posy>125</posy> + <width>740</width> + <label>21433</label> + <font>font12caps</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="edit" id="12"> + <description>Name Button</description> + <posx>20</posx> + <posy>155</posy> + <width>760</width> + <height>40</height> + <textoffsetx>10</textoffsetx> + <textwidth>750</textwidth> + <font>font13</font> + <align>center</align> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <label>-</label> + <onup>22</onup> + <onleft>12</onleft> + <onright>12</onright> + <ondown>10</ondown> + </control> + <control type="label"> + <description>rules label</description> + <posx>30</posx> + <posy>210</posy> + <width>740</width> + <align>left</align> + <label>21434</label> + <font>font12caps</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="list" id="10"> + <description>Rules List Control</description> + <posx>20</posx> + <posy>245</posy> + <width>560</width> + <height>121</height> + <onup>12</onup> + <onleft>9000</onleft> + <onright>9000</onright> + <ondown>16</ondown> + <itemlayout width="560" height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>560</width> + <height>41</height> + <texture>MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>545</width> + <height>40</height> + <aligny>center</aligny> + <info>ListItem.Label</info> + <selectedcolor>selected</selectedcolor> + <font>font13</font> + </control> + </itemlayout> + <focusedlayout width="560" height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>560</width> + <height>41</height> + <texture>MenuItemFO.png</texture> + <visible>Control.HasFocus(10)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>560</width> + <height>41</height> + <texture>MenuItemNF.png</texture> + <visible>!Control.HasFocus(10)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>540</width> + <height>40</height> + <aligny>center</aligny> + <info>ListItem.Label</info> + <selectedcolor>selected</selectedcolor> + <font>font13</font> + </control> + </focusedlayout> + </control> + <control type="group" id="9000"> + <control type="button" id="13"> + <description>Add Rule Button</description> + <posx>600</posx> + <posy>245</posy> + <width>180</width> + <height>41</height> + <label>15019</label> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>17</onup> + <onleft>10</onleft> + <onright>10</onright> + <ondown>14</ondown> + </control> + <control type="button" id="14"> + <description>Remove Rule Button</description> + <posx>600</posx> + <posy>285</posy> + <height>41</height> + <width>180</width> + <label>1210</label> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>13</onup> + <onleft>10</onleft> + <onright>10</onright> + <ondown>15</ondown> + </control> + <control type="button" id="15"> + <description>Edit Rule Button</description> + <posx>600</posx> + <posy>325</posy> + <height>41</height> + <width>180</width> + <label>21435</label> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>14</onup> + <onleft>10</onleft> + <onright>10</onright> + <ondown>16</ondown> + </control> + </control> + + <control type="label"> + <description>Name Label</description> + <posx>30</posx> + <posy>380</posy> + <width>740</width> + <label>31325</label> + <font>font12caps</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="spincontrolex" id="16"> + <posx>20</posx> + <posy>415</posy> + <width>760</width> + <height>41</height> + <label>21424</label> + <font>font13</font> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onright>16</onright> + <onleft>16</onleft> + <onup>10</onup> + <ondown>17</ondown> + </control> + + <control type="spincontrolex" id="17"> + <posx>20</posx> + <posy>455</posy> + <width>760</width> + <height>41</height> + <label>21427</label> + <font>font13</font> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onright>17</onright> + <onleft>17</onleft> + <onup>16</onup> + <ondown>18</ondown> + </control> + + <control type="spincontrolex" id="18"> + <posx>20</posx> + <posy>495</posy> + <width>560</width> + <height>41</height> + <label>21429</label> + <font>font13</font> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onright>19</onright> + <onleft>19</onleft> + <onup>17</onup> + <ondown>9001</ondown> + </control> + + <control type="togglebutton" id="19"> + <posx>600</posx> + <posy>495</posy> + <width>180</width> + <height>40</height> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <alttexturenofocus border="5">MenuItemNF.png</alttexturenofocus> + <alttexturefocus border="5">button-focus.png</alttexturefocus> + <label>21431</label> + <altlabel>21430</altlabel> + <onright>18</onright> + <onleft>18</onleft> + <onup>17</onup> + <ondown>9001</ondown> + </control> + <control type="group" id="9001"> + <control type="button" id="20"> + <description>Ok Button</description> + <posx>195</posx> + <posy>560</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>186</label> + <font>font12_title</font> + <onup>18</onup> + <onleft>21</onleft> + <onright>21</onright> + <ondown>22</ondown> + </control> + <control type="button" id="21"> + <description>Cancel Button</description> + <posx>405</posx> + <posy>560</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>222</label> + <font>font12_title</font> + <onup>18</onup> + <onleft>20</onleft> + <onright>20</onright> + <ondown>22</ondown> + </control> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/SmartPlaylistRule.xml b/addons/skin.confluence/720p/SmartPlaylistRule.xml index 4569b7e440..e2b8fdde6f 100644 --- a/addons/skin.confluence/720p/SmartPlaylistRule.xml +++ b/addons/skin.confluence/720p/SmartPlaylistRule.xml @@ -1,196 +1,196 @@ -<window id="137">
- <defaultcontrol always="true">9001</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>220</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>280</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>9001</onleft>
- <onright>9001</onright>
- <onup>9001</onup>
- <ondown>9001</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[21421]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Rule match label</description>
- <posx>40</posx>
- <posy>60</posy>
- <width>720</width>
- <height>35</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12caps</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <label>21422</label>
- </control>
- <control type="group" id="9001">
- <control type="spincontrolex" id="15">
- <description>Rule Field</description>
- <posx>20</posx>
- <posy>100</posy>
- <width>375</width>
- <height>40</height>
- <font>-</font>
- <texturefocus border="3">button-focus.png</texturefocus>
- <texturenofocus border="3">button-nofocus.png</texturenofocus>
- <onright>16</onright>
- <onleft>16</onleft>
- <onup>9000</onup>
- <ondown>17</ondown>
- </control>
- <control type="label">
- <description>Rule Field label</description>
- <posx>25</posx>
- <posy>100</posy>
- <width>300</width>
- <height>40</height>
- <font>font13caps</font>
- <label>$INFO[Control.GetLabel(15)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="spincontrolex" id="16">
- <description>Rule operator</description>
- <posx>405</posx>
- <posy>100</posy>
- <width>375</width>
- <height>40</height>
- <font>-</font>
- <texturefocus border="3">button-focus.png</texturefocus>
- <texturenofocus border="3">button-nofocus.png</texturenofocus>
- <onright>15</onright>
- <onleft>15</onleft>
- <onup>9000</onup>
- <ondown>17</ondown>
- </control>
- <control type="label">
- <description>Rule Field label</description>
- <posx>410</posx>
- <posy>100</posy>
- <width>300</width>
- <height>40</height>
- <font>font13caps</font>
- <label>$INFO[Control.GetLabel(16)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <control type="button" id="17">
- <description>Value Button</description>
- <posx>20</posx>
- <posy>145</posy>
- <width>585</width>
- <height>40</height>
- <font>font13</font>
- <aligny>center</aligny>
- <texturefocus border="3">button-focus.png</texturefocus>
- <texturenofocus border="3">button-nofocus.png</texturenofocus>
- <label>-</label>
- <onup>9001</onup>
- <onleft>20</onleft>
- <onright>20</onright>
- <ondown>9000</ondown>
- </control>
- <control type="button" id="20">
- <description>Browse Button</description>
- <posx>610</posx>
- <posy>145</posy>
- <width>170</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturefocus border="3">button-focus.png</texturefocus>
- <texturenofocus border="3">button-nofocus.png</texturenofocus>
- <label>1024</label>
- <font>font12_title</font>
- <onup>9001</onup>
- <onleft>17</onleft>
- <onright>17</onright>
- <ondown>9000</ondown>
- </control>
- <control type="group" id="9000">
- <control type="button" id="18">
- <description>Ok Button</description>
- <posx>195</posx>
- <posy>210</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <texturefocus border="3">button-focus.png</texturefocus>
- <texturenofocus border="3">MenuItemNF.png</texturenofocus>
- <label>186</label>
- <onup>17</onup>
- <onleft>19</onleft>
- <onright>19</onright>
- <ondown>9001</ondown>
- </control>
- <control type="button" id="19">
- <description>Cancel Button</description>
- <posx>405</posx>
- <posy>210</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <texturefocus border="3">button-focus.png</texturefocus>
- <texturenofocus border="3">MenuItemNF.png</texturenofocus>
- <label>222</label>
- <onup>17</onup>
- <onleft>18</onleft>
- <onright>19</onright>
- <ondown>9001</ondown>
- </control>
- </control>
- </controls>
+<window id="137"> + <defaultcontrol always="true">9001</defaultcontrol> + <allowoverlay>no</allowoverlay> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>220</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>280</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>9001</onleft> + <onright>9001</onright> + <onup>9001</onup> + <ondown>9001</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[21421]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Rule match label</description> + <posx>40</posx> + <posy>60</posy> + <width>720</width> + <height>35</height> + <align>center</align> + <aligny>center</aligny> + <font>font12caps</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <label>21422</label> + </control> + <control type="group" id="9001"> + <control type="spincontrolex" id="15"> + <description>Rule Field</description> + <posx>20</posx> + <posy>100</posy> + <width>375</width> + <height>40</height> + <font>-</font> + <texturefocus border="3">button-focus.png</texturefocus> + <texturenofocus border="3">button-nofocus.png</texturenofocus> + <onright>16</onright> + <onleft>16</onleft> + <onup>9000</onup> + <ondown>17</ondown> + </control> + <control type="label"> + <description>Rule Field label</description> + <posx>25</posx> + <posy>100</posy> + <width>300</width> + <height>40</height> + <font>font13caps</font> + <label>$INFO[Control.GetLabel(15)]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="spincontrolex" id="16"> + <description>Rule operator</description> + <posx>405</posx> + <posy>100</posy> + <width>375</width> + <height>40</height> + <font>-</font> + <texturefocus border="3">button-focus.png</texturefocus> + <texturenofocus border="3">button-nofocus.png</texturenofocus> + <onright>15</onright> + <onleft>15</onleft> + <onup>9000</onup> + <ondown>17</ondown> + </control> + <control type="label"> + <description>Rule Field label</description> + <posx>410</posx> + <posy>100</posy> + <width>300</width> + <height>40</height> + <font>font13caps</font> + <label>$INFO[Control.GetLabel(16)]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <control type="button" id="17"> + <description>Value Button</description> + <posx>20</posx> + <posy>145</posy> + <width>585</width> + <height>40</height> + <font>font13</font> + <aligny>center</aligny> + <texturefocus border="3">button-focus.png</texturefocus> + <texturenofocus border="3">button-nofocus.png</texturenofocus> + <label>-</label> + <onup>9001</onup> + <onleft>20</onleft> + <onright>20</onright> + <ondown>9000</ondown> + </control> + <control type="button" id="20"> + <description>Browse Button</description> + <posx>610</posx> + <posy>145</posy> + <width>170</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturefocus border="3">button-focus.png</texturefocus> + <texturenofocus border="3">button-nofocus.png</texturenofocus> + <label>1024</label> + <font>font12_title</font> + <onup>9001</onup> + <onleft>17</onleft> + <onright>17</onright> + <ondown>9000</ondown> + </control> + <control type="group" id="9000"> + <control type="button" id="18"> + <description>Ok Button</description> + <posx>195</posx> + <posy>210</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <font>font12_title</font> + <texturefocus border="3">button-focus.png</texturefocus> + <texturenofocus border="3">MenuItemNF.png</texturenofocus> + <label>186</label> + <onup>17</onup> + <onleft>19</onleft> + <onright>19</onright> + <ondown>9001</ondown> + </control> + <control type="button" id="19"> + <description>Cancel Button</description> + <posx>405</posx> + <posy>210</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <font>font12_title</font> + <texturefocus border="3">button-focus.png</texturefocus> + <texturenofocus border="3">MenuItemNF.png</texturenofocus> + <label>222</label> + <onup>17</onup> + <onleft>18</onleft> + <onright>19</onright> + <ondown>9001</ondown> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/Startup.xml b/addons/skin.confluence/720p/Startup.xml index f446c2e619..940537460f 100644 --- a/addons/skin.confluence/720p/Startup.xml +++ b/addons/skin.confluence/720p/Startup.xml @@ -1,38 +1,38 @@ -<window>
- <defaultcontrol always="true">9</defaultcontrol>
- <allowoverlay>no</allowoverlay>
- <controls>
- <control type="button" id="9">
- <description>Trigger to Auto run the Latest media python after a 1 min delay if scan on startup is enabled</description>
- <onfocus>XBMC.AlarmClock(UpdateRecentAdded,XBMC.RunScript(script.recentlyadded,limit=4),1,true)</onfocus>
- <onfocus>SetFocus(10)</onfocus>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>system.getbool(videolibrary.updateonstartup) + Skin.HasSetting(homepageShowRecentlyAdded)</visible>
- </control>
- <control type="button" id="9">
- <description>Don't run anything is scan on startup is Disabled and jump to the startup playlist</description>
- <onfocus>SetFocus(10)</onfocus>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>!system.getbool(videolibrary.updateonstartup) | !Skin.HasSetting(homepageShowRecentlyAdded)</visible>
- </control>
-
- <control type="button" id="10">
- <description>trigger</description>
- <onfocus>ReplaceWindow(Home)</onfocus>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>!Skin.HasSetting(Use_Startup_Playlist)</visible>
- </control>
- <control type="button" id="10">
- <description>trigger with startup Playlist</description>
- <onfocus>XBMC.PlayMedia($INFO[Skin.String(Startup_Playlist_Path)])</onfocus>
- <onfocus>ReplaceWindow(Home)</onfocus>
- <texturenofocus>-</texturenofocus>
- <texturefocus>-</texturefocus>
- <visible>Skin.HasSetting(Use_Startup_Playlist)</visible>
- </control>
- <include>CommonVideoBackground</include>
- </controls>
+<window> + <defaultcontrol always="true">9</defaultcontrol> + <allowoverlay>no</allowoverlay> + <controls> + <control type="button" id="9"> + <description>Trigger to Auto run the Latest media python after a 1 min delay if scan on startup is enabled</description> + <onfocus>XBMC.AlarmClock(UpdateRecentAdded,XBMC.RunScript(script.recentlyadded,limit=4),1,true)</onfocus> + <onfocus>SetFocus(10)</onfocus> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>system.getbool(videolibrary.updateonstartup) + Skin.HasSetting(homepageShowRecentlyAdded)</visible> + </control> + <control type="button" id="9"> + <description>Don't run anything is scan on startup is Disabled and jump to the startup playlist</description> + <onfocus>SetFocus(10)</onfocus> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>!system.getbool(videolibrary.updateonstartup) | !Skin.HasSetting(homepageShowRecentlyAdded)</visible> + </control> + + <control type="button" id="10"> + <description>trigger</description> + <onfocus>ReplaceWindow(Home)</onfocus> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>!Skin.HasSetting(Use_Startup_Playlist)</visible> + </control> + <control type="button" id="10"> + <description>trigger with startup Playlist</description> + <onfocus>XBMC.PlayMedia($INFO[Skin.String(Startup_Playlist_Path)])</onfocus> + <onfocus>ReplaceWindow(Home)</onfocus> + <texturenofocus>-</texturenofocus> + <texturefocus>-</texturefocus> + <visible>Skin.HasSetting(Use_Startup_Playlist)</visible> + </control> + <include>CommonVideoBackground</include> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/VideoFullScreen.xml b/addons/skin.confluence/720p/VideoFullScreen.xml index 4fd8089f42..e3c0e35019 100644 --- a/addons/skin.confluence/720p/VideoFullScreen.xml +++ b/addons/skin.confluence/720p/VideoFullScreen.xml @@ -1,41 +1,41 @@ -<window id="2005">
- <defaultcontrol>-</defaultcontrol>
- <controls>
- <!-- codec infos -->
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>30</posy>
- <width>1280</width>
- <height>130</height>
- <texture>black-back.png</texture>
- </control>
- <control type="label" id="10">
- <description>row 1 label</description>
- <posx>50</posx>
- <posy>40</posy>
- <label>-</label>
- <align>left</align>
- <font>font12</font>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label" id="11">
- <description>row 2 label</description>
- <posx>50</posx>
- <posy>70</posy>
- <label>-</label>
- <align>left</align>
- <font>font12</font>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label" id="12">
- <description>row 3 label</description>
- <posx>50</posx>
- <posy>100</posy>
- <label>-</label>
- <align>left</align>
- <font>font12</font>
- <include>VisibleFadeEffect</include>
- </control>
- </controls>
+<window id="2005"> + <defaultcontrol>-</defaultcontrol> + <controls> + <!-- codec infos --> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>30</posy> + <width>1280</width> + <height>130</height> + <texture>black-back.png</texture> + </control> + <control type="label" id="10"> + <description>row 1 label</description> + <posx>50</posx> + <posy>40</posy> + <label>-</label> + <align>left</align> + <font>font12</font> + <include>VisibleFadeEffect</include> + </control> + <control type="label" id="11"> + <description>row 2 label</description> + <posx>50</posx> + <posy>70</posy> + <label>-</label> + <align>left</align> + <font>font12</font> + <include>VisibleFadeEffect</include> + </control> + <control type="label" id="12"> + <description>row 3 label</description> + <posx>50</posx> + <posy>100</posy> + <label>-</label> + <align>left</align> + <font>font12</font> + <include>VisibleFadeEffect</include> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/VideoOSD.xml b/addons/skin.confluence/720p/VideoOSD.xml index c4faac447a..2d517f2c53 100644 --- a/addons/skin.confluence/720p/VideoOSD.xml +++ b/addons/skin.confluence/720p/VideoOSD.xml @@ -1,280 +1,280 @@ -<window type="dialog" id="2901">
- <defaultcontrol always="true">602</defaultcontrol>
- <controls>
- <control type="group">
- <animation effect="slide" start="0,-145" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="0,-145" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="0,0" end="0,-145" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)">Conditional</animation>
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>-145</posy>
- <width>1280</width>
- <height>256</height>
- <texture>MediaInfoBackUpper.png</texture>
- </control>
- <control type="group" id="200">
- <posx>417</posx>
- <posy>4</posy>
- <control type="button" id="700">
- <posx>0</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>298</label>
- <font>-</font>
- <texturefocus>OSDBookmarksFO.png</texturefocus>
- <texturenofocus>OSDBookmarksNF.png</texturenofocus>
- <onleft>705</onleft>
- <onright>701</onright>
- <onup>600</onup>
- <ondown>600</ondown>
- <onclick>ActivateWindow(125)</onclick>
- </control>
- <control type="button" id="701">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>13396</label>
- <font>-</font>
- <texturefocus>OSDAudioFO.png</texturefocus>
- <texturenofocus>OSDAudioNF.png</texturenofocus>
- <onleft>700</onleft>
- <onright>702</onright>
- <onup>600</onup>
- <ondown>600</ondown>
- <onclick>ActivateWindow(124)</onclick>
- </control>
- <control type="button" id="702">
- <posx>100</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>13395</label>
- <font>-</font>
- <texturefocus>OSDVideoFO.png</texturefocus>
- <texturenofocus>OSDVideoNF.png</texturenofocus>
- <onleft>701</onleft>
- <onright>703</onright>
- <onup>601</onup>
- <ondown>601</ondown>
- <onclick>ActivateWindow(123)</onclick>
- </control>
- </control>
- <control type="image" id="11">
- <description>separator image</description>
- <posx>567</posx>
- <posy>25</posy>
- <width>150</width>
- <height>1</height>
- <colordiffuse>66FFFFFF</colordiffuse>
- <texture>separator2.png</texture>
- </control>
- <control type="group" id="201">
- <posx>718</posx>
- <posy>4</posy>
- <control type="togglebutton" id="703">
- <posx>0</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>31356</label>
- <font>-</font>
- <texturefocus>OSDSubtitlesFO.png</texturefocus>
- <texturenofocus>OSDSubtitlesNF.png</texturenofocus>
- <alttexturefocus>OSDSubtitlesFO.png</alttexturefocus>
- <alttexturenofocus>OSDSubtitlesNF.png</alttexturenofocus>
- <onleft>702</onleft>
- <onright>704</onright>
- <onup>604</onup>
- <ondown>604</ondown>
- <onclick>Close</onclick>
- <onclick>XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)])</onclick>
- <altclick>Skin.SetAddon(SubtitleScript_Path,xbmc.python.subtitles)</altclick>
- <altclick>Close</altclick>
- <altclick>XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)])</altclick>
- <usealttexture>IsEmpty(Skin.String(SubtitleScript_Path))</usealttexture>
- </control>
- <control type="button" id="704">
- <posx>50</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>31355</label>
- <font>-</font>
- <texturefocus>OSDDvdFO.png</texturefocus>
- <texturenofocus>OSDDvdNF.png</texturenofocus>
- <onleft>703</onleft>
- <onright>705</onright>
- <onup>605</onup>
- <ondown>605</ondown>
- <onclick>PlayerControl(ShowVideoMenu)</onclick>
- <enable>VideoPlayer.HasMenu</enable>
- <animation effect="fade" start="100" end="50" time="100" condition="!VideoPlayer.HasMenu">Conditional</animation>
- </control>
- <control type="button" id="705">
- <posx>100</posx>
- <posy>0</posy>
- <width>45</width>
- <height>45</height>
- <label>264</label>
- <font>-</font>
- <texturefocus>OSDRecordFO.png</texturefocus>
- <texturenofocus>OSDRecordNF.png</texturenofocus>
- <onleft>704</onleft>
- <onright>700</onright>
- <onup>605</onup>
- <ondown>605</ondown>
- <onclick>XBMC.PlayerControl(record)</onclick>
- <enable>Player.CanRecord</enable>
- <animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation>
- </control>
- </control>
- <control type="group" id="100">
- <posx>490</posx>
- <posy>40</posy>
- <control type="button" id="600">
- <posx>0</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>210</label>
- <font>-</font>
- <texturefocus>OSDPrevTrackFO.png</texturefocus>
- <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
- <onleft>605</onleft>
- <onright>601</onright>
- <onup>701</onup>
- <ondown>701</ondown>
- <onclick>PlayerControl(Previous)</onclick>
- </control>
- <control type="button" id="601">
- <posx>50</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31354</label>
- <font>-</font>
- <texturefocus>OSDRewindFO.png</texturefocus>
- <texturenofocus>OSDRewindNF.png</texturenofocus>
- <onleft>600</onleft>
- <onright>602</onright>
- <onup>702</onup>
- <ondown>702</ondown>
- <onclick>PlayerControl(Rewind)</onclick>
- </control>
- <control type="togglebutton" id="602">
- <posx>100</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31351</label>
- <altlabel>208</altlabel>
- <font>-</font>
- <texturefocus>OSDPauseFO.png</texturefocus>
- <texturenofocus>OSDPauseNF.png</texturenofocus>
- <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture>
- <alttexturefocus>OSDPlayFO.png</alttexturefocus>
- <alttexturenofocus>OSDPlayNF.png</alttexturenofocus>
- <onleft>601</onleft>
- <onright>603</onright>
- <onup>702</onup>
- <ondown>702</ondown>
- <onclick>PlayerControl(Play)</onclick>
- </control>
- <control type="button" id="603">
- <posx>150</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31352</label>
- <font>-</font>
- <texturefocus>OSDStopFO.png</texturefocus>
- <texturenofocus>OSDStopNF.png</texturenofocus>
- <onleft>602</onleft>
- <onright>604</onright>
- <onup>703</onup>
- <ondown>703</ondown>
- <onclick>PlayerControl(Stop)</onclick>
- </control>
- <control type="button" id="604">
- <posx>200</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>31353</label>
- <font>-</font>
- <texturefocus>OSDForwardFO.png</texturefocus>
- <texturenofocus>OSDForwardNF.png</texturenofocus>
- <onleft>603</onleft>
- <onright>605</onright>
- <onup>703</onup>
- <ondown>703</ondown>
- <onclick>PlayerControl(Forward)</onclick>
- </control>
- <control type="button" id="605">
- <posx>250</posx>
- <posy>0</posy>
- <width>50</width>
- <height>50</height>
- <label>209</label>
- <font>-</font>
- <texturefocus>OSDNextTrackFO.png</texturefocus>
- <texturenofocus>OSDNextTrackNF.png</texturenofocus>
- <onleft>604</onleft>
- <onright>600</onright>
- <onup>704</onup>
- <ondown>704</ondown>
- <onclick>PlayerControl(Next)</onclick>
- </control>
- </control>
- <control type="label">
- <posx>20</posx>
- <posy>60</posy>
- <width>460</width>
- <height>25</height>
- <label>$INFO[System.CurrentControl]</label>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Window.IsTopmost(VideoOSD)</visible>
- </control>
- <control type="label">
- <posx>1260</posx>
- <posy>60</posy>
- <width>460</width>
- <height>25</height>
- <label>$INFO[VideoPlayer.Time] - $INFO[VideoPlayer.Duration]</label>
- <scroll>true</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="group">
- <posx>0</posx>
- <posy>0</posy>
- <animation effect="slide" end="-200,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-200,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>170</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>140</posx>
- <label>31141</label>
- </control>
- </control>
- <include>Clock</include>
- </control>
- </controls>
+<window type="dialog" id="2901"> + <defaultcontrol always="true">602</defaultcontrol> + <controls> + <control type="group"> + <animation effect="slide" start="0,-145" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="0,-145" time="300" delay="150" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="0,0" end="0,-145" time="300" tween="quadratic" easing="out" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)">Conditional</animation> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>-145</posy> + <width>1280</width> + <height>256</height> + <texture>MediaInfoBackUpper.png</texture> + </control> + <control type="group" id="200"> + <posx>417</posx> + <posy>4</posy> + <control type="button" id="700"> + <posx>0</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>298</label> + <font>-</font> + <texturefocus>OSDBookmarksFO.png</texturefocus> + <texturenofocus>OSDBookmarksNF.png</texturenofocus> + <onleft>705</onleft> + <onright>701</onright> + <onup>600</onup> + <ondown>600</ondown> + <onclick>ActivateWindow(125)</onclick> + </control> + <control type="button" id="701"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>13396</label> + <font>-</font> + <texturefocus>OSDAudioFO.png</texturefocus> + <texturenofocus>OSDAudioNF.png</texturenofocus> + <onleft>700</onleft> + <onright>702</onright> + <onup>600</onup> + <ondown>600</ondown> + <onclick>ActivateWindow(124)</onclick> + </control> + <control type="button" id="702"> + <posx>100</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>13395</label> + <font>-</font> + <texturefocus>OSDVideoFO.png</texturefocus> + <texturenofocus>OSDVideoNF.png</texturenofocus> + <onleft>701</onleft> + <onright>703</onright> + <onup>601</onup> + <ondown>601</ondown> + <onclick>ActivateWindow(123)</onclick> + </control> + </control> + <control type="image" id="11"> + <description>separator image</description> + <posx>567</posx> + <posy>25</posy> + <width>150</width> + <height>1</height> + <colordiffuse>66FFFFFF</colordiffuse> + <texture>separator2.png</texture> + </control> + <control type="group" id="201"> + <posx>718</posx> + <posy>4</posy> + <control type="togglebutton" id="703"> + <posx>0</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>31356</label> + <font>-</font> + <texturefocus>OSDSubtitlesFO.png</texturefocus> + <texturenofocus>OSDSubtitlesNF.png</texturenofocus> + <alttexturefocus>OSDSubtitlesFO.png</alttexturefocus> + <alttexturenofocus>OSDSubtitlesNF.png</alttexturenofocus> + <onleft>702</onleft> + <onright>704</onright> + <onup>604</onup> + <ondown>604</ondown> + <onclick>Close</onclick> + <onclick>XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)])</onclick> + <altclick>Skin.SetAddon(SubtitleScript_Path,xbmc.python.subtitles)</altclick> + <altclick>Close</altclick> + <altclick>XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)])</altclick> + <usealttexture>IsEmpty(Skin.String(SubtitleScript_Path))</usealttexture> + </control> + <control type="button" id="704"> + <posx>50</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>31355</label> + <font>-</font> + <texturefocus>OSDDvdFO.png</texturefocus> + <texturenofocus>OSDDvdNF.png</texturenofocus> + <onleft>703</onleft> + <onright>705</onright> + <onup>605</onup> + <ondown>605</ondown> + <onclick>PlayerControl(ShowVideoMenu)</onclick> + <enable>VideoPlayer.HasMenu</enable> + <animation effect="fade" start="100" end="50" time="100" condition="!VideoPlayer.HasMenu">Conditional</animation> + </control> + <control type="button" id="705"> + <posx>100</posx> + <posy>0</posy> + <width>45</width> + <height>45</height> + <label>264</label> + <font>-</font> + <texturefocus>OSDRecordFO.png</texturefocus> + <texturenofocus>OSDRecordNF.png</texturenofocus> + <onleft>704</onleft> + <onright>700</onright> + <onup>605</onup> + <ondown>605</ondown> + <onclick>XBMC.PlayerControl(record)</onclick> + <enable>Player.CanRecord</enable> + <animation effect="fade" start="100" end="50" time="100" condition="!Player.CanRecord">Conditional</animation> + </control> + </control> + <control type="group" id="100"> + <posx>490</posx> + <posy>40</posy> + <control type="button" id="600"> + <posx>0</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>210</label> + <font>-</font> + <texturefocus>OSDPrevTrackFO.png</texturefocus> + <texturenofocus>OSDPrevTrackNF.png</texturenofocus> + <onleft>605</onleft> + <onright>601</onright> + <onup>701</onup> + <ondown>701</ondown> + <onclick>PlayerControl(Previous)</onclick> + </control> + <control type="button" id="601"> + <posx>50</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31354</label> + <font>-</font> + <texturefocus>OSDRewindFO.png</texturefocus> + <texturenofocus>OSDRewindNF.png</texturenofocus> + <onleft>600</onleft> + <onright>602</onright> + <onup>702</onup> + <ondown>702</ondown> + <onclick>PlayerControl(Rewind)</onclick> + </control> + <control type="togglebutton" id="602"> + <posx>100</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31351</label> + <altlabel>208</altlabel> + <font>-</font> + <texturefocus>OSDPauseFO.png</texturefocus> + <texturenofocus>OSDPauseNF.png</texturenofocus> + <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture> + <alttexturefocus>OSDPlayFO.png</alttexturefocus> + <alttexturenofocus>OSDPlayNF.png</alttexturenofocus> + <onleft>601</onleft> + <onright>603</onright> + <onup>702</onup> + <ondown>702</ondown> + <onclick>PlayerControl(Play)</onclick> + </control> + <control type="button" id="603"> + <posx>150</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31352</label> + <font>-</font> + <texturefocus>OSDStopFO.png</texturefocus> + <texturenofocus>OSDStopNF.png</texturenofocus> + <onleft>602</onleft> + <onright>604</onright> + <onup>703</onup> + <ondown>703</ondown> + <onclick>PlayerControl(Stop)</onclick> + </control> + <control type="button" id="604"> + <posx>200</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>31353</label> + <font>-</font> + <texturefocus>OSDForwardFO.png</texturefocus> + <texturenofocus>OSDForwardNF.png</texturenofocus> + <onleft>603</onleft> + <onright>605</onright> + <onup>703</onup> + <ondown>703</ondown> + <onclick>PlayerControl(Forward)</onclick> + </control> + <control type="button" id="605"> + <posx>250</posx> + <posy>0</posy> + <width>50</width> + <height>50</height> + <label>209</label> + <font>-</font> + <texturefocus>OSDNextTrackFO.png</texturefocus> + <texturenofocus>OSDNextTrackNF.png</texturenofocus> + <onleft>604</onleft> + <onright>600</onright> + <onup>704</onup> + <ondown>704</ondown> + <onclick>PlayerControl(Next)</onclick> + </control> + </control> + <control type="label"> + <posx>20</posx> + <posy>60</posy> + <width>460</width> + <height>25</height> + <label>$INFO[System.CurrentControl]</label> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Window.IsTopmost(VideoOSD)</visible> + </control> + <control type="label"> + <posx>1260</posx> + <posy>60</posy> + <width>460</width> + <height>25</height> + <label>$INFO[VideoPlayer.Time] - $INFO[VideoPlayer.Duration]</label> + <scroll>true</scroll> + <align>right</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="group"> + <posx>0</posx> + <posy>0</posy> + <animation effect="slide" end="-200,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-200,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>170</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>140</posx> + <label>31141</label> + </control> + </control> + <include>Clock</include> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/VideoOSDBookmarks.xml b/addons/skin.confluence/720p/VideoOSDBookmarks.xml index e6c6914c0f..6ecc257bf3 100644 --- a/addons/skin.confluence/720p/VideoOSDBookmarks.xml +++ b/addons/skin.confluence/720p/VideoOSDBookmarks.xml @@ -1,158 +1,158 @@ -<window id="125">
- <defaultcontrol always="true">2</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>115</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>490</height>
- <colordiffuse>DDFFFFFF</colordiffuse>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>2</onleft>
- <onright>2</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>[UPPERCASE]$LOCALIZE[298][/UPPERCASE] - ($INFO[Container(11).NumItems]) $LOCALIZE[31025] - $LOCALIZE[31024] ($INFO[Container(11).CurrentPage]/$INFO[Container(11).NumPages])</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="panel" id="11">
- <posx>40</posx>
- <posy>65</posy>
- <width>720</width>
- <height>350</height>
- <onleft>2</onleft>
- <onright>3</onright>
- <ondown>2</ondown>
- <onup>2</onup>
- <scrolltime>200</scrolltime>
- <viewtype label="536">icon</viewtype>
- <pagecontrol>-</pagecontrol>
- <orientation>horizontal</orientation>
- <itemlayout height="175" width="240">
- <control type="image">
- <posx>2</posx>
- <posy>2</posy>
- <width>235</width>
- <height>170</height>
- <texture border="3">button-nofocus.png</texture>
- </control>
- <control type="image">
- <posx>7</posx>
- <posy>7</posy>
- <width>220</width>
- <height>140</height>
- <info>ListItem.Icon</info>
- </control>
- <control type="label">
- <posx>112</posx>
- <posy>150</posy>
- <width>225</width>
- <height>15</height>
- <font>font12</font>
- <selectedcolor>selected</selectedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="175" width="240">
- <control type="image">
- <posx>2</posx>
- <posy>2</posy>
- <width>235</width>
- <height>170</height>
- <texture border="3">folder-focus.png</texture>
- </control>
- <control type="image">
- <posx>7</posx>
- <posy>7</posy>
- <width>220</width>
- <height>140</height>
- <info>ListItem.Icon</info>
- </control>
- <control type="label">
- <posx>112</posx>
- <posy>150</posy>
- <width>225</width>
- <height>15</height>
- <font>font12</font>
- <selectedcolor>selected</selectedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="grouplist" id="9000">
- <posx>20</posx>
- <posy>425</posy>
- <width>760</width>
- <height>40</height>
- <itemgap>2</itemgap>
- <align>center</align>
- <orientation>horizontal</orientation>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>11</onup>
- <ondown>11</ondown>
- <control type="button" id="2">
- <description>Create Bookmark button</description>
- <label>294</label>
- <width>250</width>
- <include>ButtonInfoDialogsCommonValues</include>
- </control>
- <control type="button" id="3">
- <description>Clear Bookmark button</description>
- <label>296</label>
- <width>250</width>
- <include>ButtonInfoDialogsCommonValues</include>
- </control>
- <control type="button" id="4">
- <description>Clear Bookmark button</description>
- <label>20406</label>
- <width>250</width>
- <include>ButtonInfoDialogsCommonValues</include>
- <visible>videoplayer.content(episodes)</visible>
- </control>
- </control>
- </controls>
-</window>
+<window id="125"> + <defaultcontrol always="true">2</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>115</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>490</height> + <colordiffuse>DDFFFFFF</colordiffuse> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>2</onleft> + <onright>2</onright> + <onup>2</onup> + <ondown>2</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>[UPPERCASE]$LOCALIZE[298][/UPPERCASE] - ($INFO[Container(11).NumItems]) $LOCALIZE[31025] - $LOCALIZE[31024] ($INFO[Container(11).CurrentPage]/$INFO[Container(11).NumPages])</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="panel" id="11"> + <posx>40</posx> + <posy>65</posy> + <width>720</width> + <height>350</height> + <onleft>2</onleft> + <onright>3</onright> + <ondown>2</ondown> + <onup>2</onup> + <scrolltime>200</scrolltime> + <viewtype label="536">icon</viewtype> + <pagecontrol>-</pagecontrol> + <orientation>horizontal</orientation> + <itemlayout height="175" width="240"> + <control type="image"> + <posx>2</posx> + <posy>2</posy> + <width>235</width> + <height>170</height> + <texture border="3">button-nofocus.png</texture> + </control> + <control type="image"> + <posx>7</posx> + <posy>7</posy> + <width>220</width> + <height>140</height> + <info>ListItem.Icon</info> + </control> + <control type="label"> + <posx>112</posx> + <posy>150</posy> + <width>225</width> + <height>15</height> + <font>font12</font> + <selectedcolor>selected</selectedcolor> + <align>center</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="175" width="240"> + <control type="image"> + <posx>2</posx> + <posy>2</posy> + <width>235</width> + <height>170</height> + <texture border="3">folder-focus.png</texture> + </control> + <control type="image"> + <posx>7</posx> + <posy>7</posy> + <width>220</width> + <height>140</height> + <info>ListItem.Icon</info> + </control> + <control type="label"> + <posx>112</posx> + <posy>150</posy> + <width>225</width> + <height>15</height> + <font>font12</font> + <selectedcolor>selected</selectedcolor> + <align>center</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="grouplist" id="9000"> + <posx>20</posx> + <posy>425</posy> + <width>760</width> + <height>40</height> + <itemgap>2</itemgap> + <align>center</align> + <orientation>horizontal</orientation> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>11</onup> + <ondown>11</ondown> + <control type="button" id="2"> + <description>Create Bookmark button</description> + <label>294</label> + <width>250</width> + <include>ButtonInfoDialogsCommonValues</include> + </control> + <control type="button" id="3"> + <description>Clear Bookmark button</description> + <label>296</label> + <width>250</width> + <include>ButtonInfoDialogsCommonValues</include> + </control> + <control type="button" id="4"> + <description>Clear Bookmark button</description> + <label>20406</label> + <width>250</width> + <include>ButtonInfoDialogsCommonValues</include> + <visible>videoplayer.content(episodes)</visible> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/VideoOSDSettings.xml b/addons/skin.confluence/720p/VideoOSDSettings.xml index 204e060e89..c782b312f5 100644 --- a/addons/skin.confluence/720p/VideoOSDSettings.xml +++ b/addons/skin.confluence/720p/VideoOSDSettings.xml @@ -1,164 +1,164 @@ -<window id="123">
- <defaultcontrol>5</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>115</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="group">
- <animation effect="fade" start="100" end="0" time="400" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(FileBrowser)">Conditional</animation>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>490</height>
- <colordiffuse>DDFFFFFF</colordiffuse>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>2</onleft>
- <onright>2</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[3] - $LOCALIZE[5]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Window.IsVisible(123)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$LOCALIZE[292] - $LOCALIZE[5]</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Window.IsVisible(124)</visible>
- </control>
- <control type="label" id="3">
- <description>No Settings Label</description>
- <posx>20</posx>
- <posy>180</posy>
- <width>760</width>
- <align>center</align>
- <label>13390</label>
- <font>font13caps</font>
- </control>
- <control type="grouplist" id="5">
- <description>control area</description>
- <posx>40</posx>
- <posy>65</posy>
- <width>720</width>
- <height>395</height>
- <itemgap>-1</itemgap>
- <pagecontrol>60</pagecontrol>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>5</onup>
- <ondown>5</ondown>
- </control>
- <control type="scrollbar" id="60">
- <posx>760</posx>
- <posy>65</posy>
- <width>25</width>
- <height>390</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>5</onleft>
- <onright>5</onright>
- <ondown>61</ondown>
- <onup>61</onup>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- </control>
- <control type="sliderex" id="10">
- <description>Default Slider</description>
- <height>40</height>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- </control>
- <control type="button" id="7">
- <description>Default Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="8">
- <description>Default RadioButton</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- </control>
- <control type="spincontrolex" id="9">
- <description>Default SpinControlex</description>
- <posx>0</posx>
- <posy>0</posy>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus>
- <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus>
- <aligny>center</aligny>
- <reverse>yes</reverse>
- </control>
- <control type="image" id="11">
- <description>separator image</description>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- </controls>
-</window>
+<window id="123"> + <defaultcontrol>5</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>115</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="group"> + <animation effect="fade" start="100" end="0" time="400" condition="Window.IsVisible(SliderDialog) | Window.IsVisible(FileBrowser)">Conditional</animation> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>490</height> + <colordiffuse>DDFFFFFF</colordiffuse> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>2</onleft> + <onright>2</onright> + <onup>2</onup> + <ondown>2</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[3] - $LOCALIZE[5]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Window.IsVisible(123)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>$LOCALIZE[292] - $LOCALIZE[5]</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Window.IsVisible(124)</visible> + </control> + <control type="label" id="3"> + <description>No Settings Label</description> + <posx>20</posx> + <posy>180</posy> + <width>760</width> + <align>center</align> + <label>13390</label> + <font>font13caps</font> + </control> + <control type="grouplist" id="5"> + <description>control area</description> + <posx>40</posx> + <posy>65</posy> + <width>720</width> + <height>395</height> + <itemgap>-1</itemgap> + <pagecontrol>60</pagecontrol> + <onleft>60</onleft> + <onright>60</onright> + <onup>5</onup> + <ondown>5</ondown> + </control> + <control type="scrollbar" id="60"> + <posx>760</posx> + <posy>65</posy> + <width>25</width> + <height>390</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>5</onleft> + <onright>5</onright> + <ondown>61</ondown> + <onup>61</onup> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + </control> + <control type="sliderex" id="10"> + <description>Default Slider</description> + <height>40</height> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + </control> + <control type="button" id="7"> + <description>Default Button</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="8"> + <description>Default RadioButton</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + </control> + <control type="spincontrolex" id="9"> + <description>Default SpinControlex</description> + <posx>0</posx> + <posy>0</posy> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus border="0,2,0,2">MenuItemFO.png</texturefocus> + <texturenofocus border="0,2,0,2">MenuItemNF.png</texturenofocus> + <aligny>center</aligny> + <reverse>yes</reverse> + </control> + <control type="image" id="11"> + <description>separator image</description> + <height>2</height> + <texture>separator2.png</texture> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/VideoOverlay.xml b/addons/skin.confluence/720p/VideoOverlay.xml index 00e3276cd2..28b36e8be5 100644 --- a/addons/skin.confluence/720p/VideoOverlay.xml +++ b/addons/skin.confluence/720p/VideoOverlay.xml @@ -1,5 +1,5 @@ -<window id="2904">
- <defaultcontrol>-</defaultcontrol>
- <controls>
- </controls>
+<window id="2904"> + <defaultcontrol>-</defaultcontrol> + <controls> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/ViewsAddonBrowser.xml b/addons/skin.confluence/720p/ViewsAddonBrowser.xml index 9fd0a3c31c..472b63e064 100644 --- a/addons/skin.confluence/720p/ViewsAddonBrowser.xml +++ b/addons/skin.confluence/720p/ViewsAddonBrowser.xml @@ -1,272 +1,272 @@ -<includes>
- <include name="AddonInfoListView1">
- <control type="group">
- <visible>Control.IsVisible(550)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="550">
- <posx>660</posx>
- <posy>60</posy>
- <width>580</width>
- <height>601</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>550</onup>
- <ondown>550</ondown>
- <viewtype label="$LOCALIZE[31033]">list</viewtype>
- <visible>Window.IsVisible(AddonBrowser) | Container.Content(Addons)</visible>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>520</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>555</posx>
- <posy>0</posy>
- <width>500</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Property(Addon.Status)]</label>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(550)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(550)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>370</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(550) + !IsEmpty(ListItem.Property(Addon.Status))</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>520</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>555</posx>
- <posy>0</posy>
- <width>500</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Property(Addon.Status)]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <visible>Control.IsVisible(550)</visible>
- <control type="scrollbar" id="60">
- <posx>1180</posx>
- <posy>0</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="10,14,10,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="10,14,10,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="10,14,10,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>550</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(550)</visible>
- </control>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <visible>Control.IsVisible(550)</visible>
- <control type="label">
- <description>Show Title txt</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.Property(Addon.Name)]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>20</posx>
- <posy>30</posy>
- <width>560</width>
- <height>240</height>
- <aspectratio>keep</aspectratio>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="group">
- <posy>280</posy>
- <control type="label">
- <description>Type txt</description>
- <posx>150</posx>
- <posy>0</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[146]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Type Value</description>
- <posx>160</posx>
- <posy>0</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Addon.Type)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Author txt</description>
- <posx>150</posx>
- <posy>30</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[21863]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Author Value</description>
- <posx>160</posx>
- <posy>30</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Addon.Creator)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Version txt</description>
- <posx>150</posx>
- <posy>60</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[24051]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Version Value</description>
- <posx>160</posx>
- <posy>60</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Addon.Version)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Rating txt</description>
- <posx>150</posx>
- <posy>90</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[563]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="image">
- <description>Rating value</description>
- <posx>160</posx>
- <posy>90</posy>
- <width>160</width>
- <height>32</height>
- <texture>LeftRating/$INFO[ListItem.Property(Addon.StarRating)]</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>130</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description</description>
- <posx>0</posx>
- <posy>140</posy>
- <width>600</width>
- <height>190</height>
- <font>font12</font>
- <align>-</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Property(Addon.Description)]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- </control>
- </control>
- </include>
-</includes>
+<includes> + <include name="AddonInfoListView1"> + <control type="group"> + <visible>Control.IsVisible(550)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="550"> + <posx>660</posx> + <posy>60</posy> + <width>580</width> + <height>601</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>550</onup> + <ondown>550</ondown> + <viewtype label="$LOCALIZE[31033]">list</viewtype> + <visible>Window.IsVisible(AddonBrowser) | Container.Content(Addons)</visible> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>520</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>555</posx> + <posy>0</posy> + <width>500</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Property(Addon.Status)]</label> + </control> + </itemlayout> + <focusedlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(550)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(550)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>370</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(550) + !IsEmpty(ListItem.Property(Addon.Status))</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>520</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>555</posx> + <posy>0</posy> + <width>500</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Property(Addon.Status)]</label> + </control> + </focusedlayout> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <visible>Control.IsVisible(550)</visible> + <control type="scrollbar" id="60"> + <posx>1180</posx> + <posy>0</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="10,14,10,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="10,14,10,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="10,14,10,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>550</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(550)</visible> + </control> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <visible>Control.IsVisible(550)</visible> + <control type="label"> + <description>Show Title txt</description> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.Property(Addon.Name)]</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>20</posx> + <posy>30</posy> + <width>560</width> + <height>240</height> + <aspectratio>keep</aspectratio> + <fadetime>200</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="group"> + <posy>280</posy> + <control type="label"> + <description>Type txt</description> + <posx>150</posx> + <posy>0</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[146]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Type Value</description> + <posx>160</posx> + <posy>0</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Addon.Type)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Author txt</description> + <posx>150</posx> + <posy>30</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[21863]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Author Value</description> + <posx>160</posx> + <posy>30</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Addon.Creator)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Version txt</description> + <posx>150</posx> + <posy>60</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[24051]</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Version Value</description> + <posx>160</posx> + <posy>60</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Addon.Version)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Rating txt</description> + <posx>150</posx> + <posy>90</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[563]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="image"> + <description>Rating value</description> + <posx>160</posx> + <posy>90</posy> + <width>160</width> + <height>32</height> + <texture>LeftRating/$INFO[ListItem.Property(Addon.StarRating)]</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>130</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description</description> + <posx>0</posx> + <posy>140</posy> + <width>600</width> + <height>190</height> + <font>font12</font> + <align>-</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Property(Addon.Description)]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + </control> + </control> + </include> +</includes> diff --git a/addons/skin.confluence/720p/ViewsFileMode.xml b/addons/skin.confluence/720p/ViewsFileMode.xml index 91684f85a6..28b52bcf07 100644 --- a/addons/skin.confluence/720p/ViewsFileMode.xml +++ b/addons/skin.confluence/720p/ViewsFileMode.xml @@ -1,495 +1,495 @@ -<includes>
- <include name="CommonRootView">
- <control type="group">
- <visible>Control.IsVisible(50)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="50">
- <posx>70</posx>
- <posy>78</posy>
- <width>690</width>
- <height>561</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>50</onup>
- <ondown>50</ondown>
- <viewtype label="535">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>![Window.IsVisible(VideoLibrary) + Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)]</visible>
- <itemlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>690</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>660</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>660</posx>
- <posy>0</posy>
- <width>400</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation>
- </control>
- <control type="image">
- <posx>665</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>690</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(50)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>690</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(50)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>490</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(50) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>660</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>660</posx>
- <posy>0</posy>
- <width>400</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation>
- </control>
- <control type="image">
- <posx>665</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>760</posx>
- <posy>85</posy>
- <width>25</width>
- <height>550</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>50</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(50)</visible>
- </control>
- <control type="group">
- <posx>850</posx>
- <posy>100</posy>
- <visible>Control.IsVisible(50)</visible>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>360</width>
- <height>540</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>532</posy>
- <width>344</width>
- <height>524</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture diffuse="diffuse_mirror3.png" flipy="true" background="true">$INFO[ListItem.Icon]</texture>
- </control>
- </control>
- </control>
- </include>
- <include name="ThumbnailView">
- <control type="group">
- <visible>Control.IsVisible(500)</visible>
- <include>VisibleFadeEffect</include>
- <control type="panel" id="500">
- <posx>90</posx>
- <posy>80</posy>
- <width>1080</width>
- <height>550</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>500</onup>
- <ondown>500</ondown>
- <viewtype label="21371">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <preloaditems>2</preloaditems>
- <visible>![Window.IsVisible(VideoLibrary) + Container.Content(TVShows)]</visible>
- <itemlayout height="275" width="270">
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>268</width>
- <height>240</height>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>5</bordersize>
- <fadetime>100</fadetime>
- <texture background="true">$INFO[Listitem.Icon]</texture>
- </control>
- <control type="label">
- <posx>135</posx>
- <posy>240</posy>
- <width>260</width>
- <height>25</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- <control type="image">
- <posx>230</posx>
- <posy>200</posy>
- <width>35</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="275" width="270">
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>268</width>
- <height>240</height>
- <bordertexture border="5">folder-focus.png</bordertexture>
- <bordersize>5</bordersize>
- <fadetime>100</fadetime>
- <texture background="true">$INFO[Listitem.Icon]</texture>
- </control>
- <control type="label">
- <posx>135</posx>
- <posy>240</posy>
- <width>260</width>
- <height>25</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>center</align>
- <aligny>center</aligny>
- <info>ListItem.Label</info>
- </control>
- <control type="image">
- <posx>230</posx>
- <posy>200</posy>
- <width>35</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>1170</posx>
- <posy>80</posy>
- <width>25</width>
- <height>550</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>500</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(500)</visible>
- </control>
- </control>
- </include>
- <include name="WideIconView">
- <control type="group">
- <visible>Control.IsVisible(505)</visible>
- <include>VisibleFadeEffect</include>
- <control type="panel" id="505">
- <visible>[Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)] | Window.IsVisible(VideoFiles)</visible>
- <visible>!Container.Content(LiveTV)</visible>
- <posx>95</posx>
- <posy>80</posy>
- <width>1080</width>
- <height>550</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>505</onup>
- <ondown>505</ondown>
- <viewtype label="$LOCALIZE[539] $LOCALIZE[536]">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <preloaditems>2</preloaditems>
- <itemlayout height="110" width="540">
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>538</width>
- <height>105</height>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>5</bordersize>
- <texture background="true">$INFO[Listitem.Icon]</texture>
- </control>
- <control type="image">
- <posx>500</posx>
- <posy>70</posy>
- <width>35</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="110" width="540">
- <control type="image">
- <posx>1</posx>
- <posy>0</posy>
- <width>538</width>
- <height>105</height>
- <bordertexture border="5">folder-focus.png</bordertexture>
- <bordersize>5</bordersize>
- <texture background="true">$INFO[Listitem.Icon]</texture>
- </control>
- <control type="image">
- <posx>500</posx>
- <posy>70</posy>
- <width>35</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>1170</posx>
- <posy>80</posy>
- <width>25</width>
- <height>550</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>505</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(505)</visible>
- </control>
- </control>
- </include>
- <include name="FullWidthList">
- <control type="group">
- <visible>Control.IsVisible(51)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="51">
- <posx>95</posx>
- <posy>78</posy>
- <width>1080</width>
- <height>561</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>51</onup>
- <ondown>51</ondown>
- <viewtype label="537">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40" width="1080">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1080</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>4</posy>
- <width>40</width>
- <height>32</height>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>60</posx>
- <posy>0</posy>
- <width>950</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>1045</posx>
- <posy>0</posy>
- <width>1000</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation>
- </control>
- <control type="image">
- <posx>1050</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="1080">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1080</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(51)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1080</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(51)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>875</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(51) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>4</posy>
- <width>40</width>
- <height>32</height>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>60</posx>
- <posy>0</posy>
- <width>950</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>1045</posx>
- <posy>0</posy>
- <width>1000</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation>
- </control>
- <control type="image">
- <posx>1050</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>1170</posx>
- <posy>80</posy>
- <width>25</width>
- <height>550</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>50</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(51)</visible>
- </control>
- </control>
- </include>
-</includes>
+<includes> + <include name="CommonRootView"> + <control type="group"> + <visible>Control.IsVisible(50)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="50"> + <posx>70</posx> + <posy>78</posy> + <width>690</width> + <height>561</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>50</onup> + <ondown>50</ondown> + <viewtype label="535">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <visible>![Window.IsVisible(VideoLibrary) + Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)]</visible> + <itemlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>690</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>660</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>660</posx> + <posy>0</posy> + <width>400</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation> + </control> + <control type="image"> + <posx>665</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible> + </control> + </itemlayout> + <focusedlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>690</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(50)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>690</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(50)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>490</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(50) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>660</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>660</posx> + <posy>0</posy> + <width>400</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation> + </control> + <control type="image"> + <posx>665</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>760</posx> + <posy>85</posy> + <width>25</width> + <height>550</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>50</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(50)</visible> + </control> + <control type="group"> + <posx>850</posx> + <posy>100</posy> + <visible>Control.IsVisible(50)</visible> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>360</width> + <height>540</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>532</posy> + <width>344</width> + <height>524</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture diffuse="diffuse_mirror3.png" flipy="true" background="true">$INFO[ListItem.Icon]</texture> + </control> + </control> + </control> + </include> + <include name="ThumbnailView"> + <control type="group"> + <visible>Control.IsVisible(500)</visible> + <include>VisibleFadeEffect</include> + <control type="panel" id="500"> + <posx>90</posx> + <posy>80</posy> + <width>1080</width> + <height>550</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>500</onup> + <ondown>500</ondown> + <viewtype label="21371">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <preloaditems>2</preloaditems> + <visible>![Window.IsVisible(VideoLibrary) + Container.Content(TVShows)]</visible> + <itemlayout height="275" width="270"> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>268</width> + <height>240</height> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>5</bordersize> + <fadetime>100</fadetime> + <texture background="true">$INFO[Listitem.Icon]</texture> + </control> + <control type="label"> + <posx>135</posx> + <posy>240</posy> + <width>260</width> + <height>25</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>center</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + <control type="image"> + <posx>230</posx> + <posy>200</posy> + <width>35</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </itemlayout> + <focusedlayout height="275" width="270"> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>268</width> + <height>240</height> + <bordertexture border="5">folder-focus.png</bordertexture> + <bordersize>5</bordersize> + <fadetime>100</fadetime> + <texture background="true">$INFO[Listitem.Icon]</texture> + </control> + <control type="label"> + <posx>135</posx> + <posy>240</posy> + <width>260</width> + <height>25</height> + <font>font12</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>center</align> + <aligny>center</aligny> + <info>ListItem.Label</info> + </control> + <control type="image"> + <posx>230</posx> + <posy>200</posy> + <width>35</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>1170</posx> + <posy>80</posy> + <width>25</width> + <height>550</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>500</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(500)</visible> + </control> + </control> + </include> + <include name="WideIconView"> + <control type="group"> + <visible>Control.IsVisible(505)</visible> + <include>VisibleFadeEffect</include> + <control type="panel" id="505"> + <visible>[Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)] | Window.IsVisible(VideoFiles)</visible> + <visible>!Container.Content(LiveTV)</visible> + <posx>95</posx> + <posy>80</posy> + <width>1080</width> + <height>550</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>505</onup> + <ondown>505</ondown> + <viewtype label="$LOCALIZE[539] $LOCALIZE[536]">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <preloaditems>2</preloaditems> + <itemlayout height="110" width="540"> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>538</width> + <height>105</height> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>5</bordersize> + <texture background="true">$INFO[Listitem.Icon]</texture> + </control> + <control type="image"> + <posx>500</posx> + <posy>70</posy> + <width>35</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </itemlayout> + <focusedlayout height="110" width="540"> + <control type="image"> + <posx>1</posx> + <posy>0</posy> + <width>538</width> + <height>105</height> + <bordertexture border="5">folder-focus.png</bordertexture> + <bordersize>5</bordersize> + <texture background="true">$INFO[Listitem.Icon]</texture> + </control> + <control type="image"> + <posx>500</posx> + <posy>70</posy> + <width>35</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>1170</posx> + <posy>80</posy> + <width>25</width> + <height>550</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>505</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(505)</visible> + </control> + </control> + </include> + <include name="FullWidthList"> + <control type="group"> + <visible>Control.IsVisible(51)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="51"> + <posx>95</posx> + <posy>78</posy> + <width>1080</width> + <height>561</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>51</onup> + <ondown>51</ondown> + <viewtype label="537">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40" width="1080"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1080</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>4</posy> + <width>40</width> + <height>32</height> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>60</posx> + <posy>0</posy> + <width>950</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>1045</posx> + <posy>0</posy> + <width>1000</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation> + </control> + <control type="image"> + <posx>1050</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible> + </control> + </itemlayout> + <focusedlayout height="40" width="1080"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1080</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(51)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1080</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(51)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>875</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(51) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="image"> + <posx>10</posx> + <posy>4</posy> + <width>40</width> + <height>32</height> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>60</posx> + <posy>0</posy> + <width>950</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>1045</posx> + <posy>0</posy> + <width>1000</width> + <height>40</height> + <font>font12</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + <animation effect="slide" start="0,0" end="20,0" delay="0" time="0" condition="![Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)]">conditional</animation> + </control> + <control type="image"> + <posx>1050</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + <visible>Window.IsVisible(VideoLibrary) | Window.IsVisible(VideoFiles)</visible> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>1170</posx> + <posy>80</posy> + <width>25</width> + <height>550</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>50</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(51)</visible> + </control> + </control> + </include> +</includes> diff --git a/addons/skin.confluence/720p/ViewsLiveTV.xml b/addons/skin.confluence/720p/ViewsLiveTV.xml index 68ca18146c..e601663787 100644 --- a/addons/skin.confluence/720p/ViewsLiveTV.xml +++ b/addons/skin.confluence/720p/ViewsLiveTV.xml @@ -1,192 +1,192 @@ -<includes>
- <include name="LiveTVView1">
- <control type="group">
- <visible>Control.IsVisible(560)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="560">
- <posx>460</posx>
- <posy>60</posy>
- <width>760</width>
- <height>601</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>560</onup>
- <ondown>560</ondown>
- <viewtype label="$LOCALIZE[4]">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>Container.Content(LiveTV)</visible>
- <itemlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>730</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>750</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(560)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(560)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>560</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(560) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>730</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>750</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <visible>Control.IsVisible(560)</visible>
- <control type="scrollbar" id="60">
- <posx>1220</posx>
- <posy>60</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>560</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(560)</visible>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>60</posy>
- <width>400</width>
- <height>300</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>350</posy>
- <width>400</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>48</posx>
- <posy>352</posy>
- <width>384</width>
- <height>284</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>380</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Label]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>410</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Label2]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="textbox">
- <description>Description Value for TV Show</description>
- <posx>40</posx>
- <posy>450</posy>
- <width>400</width>
- <height>220</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- </control>
- </include>
-</includes>
+<includes> + <include name="LiveTVView1"> + <control type="group"> + <visible>Control.IsVisible(560)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="560"> + <posx>460</posx> + <posy>60</posy> + <width>760</width> + <height>601</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>560</onup> + <ondown>560</ondown> + <viewtype label="$LOCALIZE[4]">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <visible>Container.Content(LiveTV)</visible> + <itemlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>730</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>750</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </itemlayout> + <focusedlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(560)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(560)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>560</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(560) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>730</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>750</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </focusedlayout> + </control> + <control type="group"> + <visible>Control.IsVisible(560)</visible> + <control type="scrollbar" id="60"> + <posx>1220</posx> + <posy>60</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>560</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(560)</visible> + </control> + <control type="image"> + <posx>40</posx> + <posy>60</posy> + <width>400</width> + <height>300</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>40</posx> + <posy>350</posy> + <width>400</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>48</posx> + <posy>352</posy> + <width>384</width> + <height>284</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>40</posx> + <posy>380</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Label]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>410</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Label2]</label> + <align>center</align> + <aligny>center</aligny> + <font>font13</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="textbox"> + <description>Description Value for TV Show</description> + <posx>40</posx> + <posy>450</posy> + <width>400</width> + <height>220</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + </control> + </include> +</includes> diff --git a/addons/skin.confluence/720p/ViewsMusicLibrary.xml b/addons/skin.confluence/720p/ViewsMusicLibrary.xml index 3321796b11..fefe615d64 100644 --- a/addons/skin.confluence/720p/ViewsMusicLibrary.xml +++ b/addons/skin.confluence/720p/ViewsMusicLibrary.xml @@ -1,1151 +1,1151 @@ -<includes>
- <include name="MusicInfoListView">
- <control type="group">
- <visible>Control.IsVisible(506)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="506">
- <posx>460</posx>
- <posy>60</posy>
- <width>760</width>
- <height>601</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>506</onup>
- <ondown>506</ondown>
- <viewtype label="$LOCALIZE[544]">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>Window.IsVisible(MusicFiles) | Window.IsVisible(MusicPlaylist) | Container.Content(Songs) | Container.Content(Albums)</visible>
- <itemlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>730</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>750</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(506)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(506)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>560</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(506) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>730</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>750</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <visible>Control.IsVisible(506)</visible>
- <control type="scrollbar" id="60">
- <posx>1220</posx>
- <posy>60</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>506</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(506)</visible>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>60</posy>
- <width>400</width>
- <height>300</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>350</posy>
- <width>400</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>48</posx>
- <posy>352</posy>
- <width>384</width>
- <height>284</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>390</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Artist]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>440</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Album]</label>
- <wrapmultiline>true</wrapmultiline>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>490</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Title]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>top</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- <visible>!Container.Content(Albums)</visible>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>490</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Genre]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>top</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- <visible>Container.Content(Albums)</visible>
- </control>
- <control type="label">
- <description>Trackno txt</description>
- <posx>40</posx>
- <posy>550</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[listitem.TrackNumber,[COLOR=blue]$LOCALIZE[31310]: [/COLOR]]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <visible>!Container.Content(Albums)</visible>
- </control>
- <control type="label">
- <description>Year txt</description>
- <posx>40</posx>
- <posy>580</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[listitem.Year,[COLOR=blue]$LOCALIZE[345]: [/COLOR]]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- </control>
- <control type="image">
- <description>Rating value</description>
- <posx>165</posx>
- <posy>610</posy>
- <width>150</width>
- <height>30</height>
- <texture>CenterRating/$INFO[ListItem.StarRating]</texture>
- </control>
- <control type="image">
- <posx>440</posx>
- <posy>60</posy>
- <width>5</width>
- <height>600</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator_vertical.png</texture>
- </control>
- </control>
- </control>
- </include>
- <include name="AlbumWrapView2_Fanart">
- <control type="group">
- <visible>Control.IsVisible(509)</visible>
- <include>VisibleFadeEffect</include>
- <posx>0</posx>
- <posy>440</posy>
- <control type="fixedlist" id="509">
- <visible>Container.Content(Albums)</visible>
- <posx>-80</posx>
- <posy>0</posy>
- <width>1360</width>
- <height>250</height>
- <onleft>509</onleft>
- <onright>509</onright>
- <onup>2</onup>
- <ondown>60</ondown>
- <viewtype label="31029">wrap</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <focusposition>4</focusposition>
- <movement>2</movement>
- <orientation>horizontal</orientation>
- <preloaditems>4</preloaditems>
- <itemlayout height="200" width="160">
- <control type="image">
- <posx>2</posx>
- <posy>20</posy>
- <width>160</width>
- <height>160</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>6</posx>
- <posy>24</posy>
- <width>152</width>
- <height>152</height>
- <aspectratio>stretch</aspectratio>
- <texture>black-back.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>2</posx>
- <posy>180</posy>
- <width>160</width>
- <height>160</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5" diffuse="diffuse_mirror2.png">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <fadetime>200</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="200" width="160">
- <control type="image">
- <posx>-2</posx>
- <posy>16</posy>
- <width>168</width>
- <height>168</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="8">ThumbBorder.png</bordertexture>
- <bordersize>8</bordersize>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <animation reversible="false" effect="zoom" start="-2,16,168,168" end="-12,-4,198,198" time="200">focus</animation>
- <animation reversible="false" effect="zoom" end="-2,16,168,168" start="-12,-4,198,198" time="200">unfocus</animation>
- </control>
- <control type="image">
- <posx>180</posx>
- <posy>325</posy>
- <width>35</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- <animation type="focus">
- <effect type="fade" start="0" end="100" time="200" />
- <effect type="slide" start="0,0" end="40,40" time="200" />
- </animation>
- <animation type="unfocus">
- <effect type="fade" start="100" end="0" time="200" />
- <effect type="slide" end="0,0" start="40,40" time="200" />
- </animation>
- </control>
- </focusedlayout>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>195</posy>
- <width>1200</width>
- <height>30</height>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="scrollbar" id="60">
- <posx>100</posx>
- <posy>225</posy>
- <width>1080</width>
- <height>25</height>
- <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground>
- <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar>
- <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onup>509</onup>
- <ondown>2</ondown>
- <showonepage>false</showonepage>
- <orientation>horizontal</orientation>
- <visible>Control.IsVisible(509)</visible>
- </control>
- </control>
- </include>
- <include name="MusicVideoInfoListView">
- <control type="group">
- <visible>Control.IsVisible(511)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="511">
- <posx>460</posx>
- <posy>60</posy>
- <width>760</width>
- <height>601</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>511</onup>
- <ondown>511</ondown>
- <viewtype label="$LOCALIZE[544]">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>Container.Content(MusicVideos)</visible>
- <itemlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>720</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>730</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="image">
- <posx>735</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(511)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(511)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>560</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(511) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>720</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>730</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="image">
- <posx>735</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <control type="scrollbar" id="60">
- <posx>1220</posx>
- <posy>60</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>511</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(511)</visible>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>60</posy>
- <width>400</width>
- <height>300</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>350</posy>
- <width>400</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>48</posx>
- <posy>352</posy>
- <width>384</width>
- <height>284</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>40</posx>
- <posy>360</posy>
- <width>400</width>
- <align>center</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>410</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Artist]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>470</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Album]</label>
- <wrapmultiline>true</wrapmultiline>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>520</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Title]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>top</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- <visible>!Container.Content(Albums)</visible>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>580</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Studio]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>top</aligny>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="label">
- <description>Year txt</description>
- <posx>40</posx>
- <posy>640</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[listitem.Year,[COLOR=blue]$LOCALIZE[345]: [/COLOR]]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- </control>
- <control type="image">
- <posx>440</posx>
- <posy>60</posy>
- <width>5</width>
- <height>600</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator_vertical.png</texture>
- </control>
- </control>
- </control>
- </include>
- <include name="ArtistMediaListView">
- <control type="group">
- <visible>Control.IsVisible(512)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="512">
- <posx>660</posx>
- <posy>60</posy>
- <width>580</width>
- <height>601</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>512</onup>
- <ondown>512</ondown>
- <viewtype label="$LOCALIZE[544]">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>Container.Content(Artists)</visible>
- <itemlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>560</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(512)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(512)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>560</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <control type="scrollbar" id="60">
- <posx>1180</posx>
- <posy>10</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>512</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(512)</visible>
- </control>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <control type="label">
- <description>Artist Title txt</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.Label]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>340</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" fallback="Fanart_Fallback_Music_Small.jpg" >$INFO[ListItem.Property(fanart_image)]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>!Skin.HasSetting(MusicLibraryFanartView512)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>340</height>
- <aspectratio>keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>Skin.HasSetting(MusicLibraryFanartView512)</visible>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>502</posy>
- <width>584</width>
- <height>324</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- <visible>Skin.HasSetting(MusicLibraryFanartView512)</visible>
- </control>
- <control type="group">
- <posy>200</posy>
- <control type="image">
- <posx>0</posx>
- <posy>205</posy>
- <width>600</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Born txt</description>
- <posx>140</posx>
- <posy>215</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[21893]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <visible>!IsEmpty(ListItem.Property(Artist_Born))</visible>
- </control>
- <control type="label">
- <description>Born Value</description>
- <posx>150</posx>
- <posy>215</posy>
- <width>450</width>
- <height>25</height>
- <label>$INFO[ListItem.Property(Artist_Born)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- <visible>!IsEmpty(ListItem.Property(Artist_Born))</visible>
- </control>
- <control type="label">
- <description>Formed txt</description>
- <posx>140</posx>
- <posy>215</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[21894]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <visible>!IsEmpty(ListItem.Property(Artist_Formed))</visible>
- </control>
- <control type="label">
- <description>Formed Value</description>
- <posx>150</posx>
- <posy>215</posy>
- <width>450</width>
- <height>25</height>
- <label>$INFO[ListItem.Property(Artist_Formed)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- <visible>!IsEmpty(ListItem.Property(Artist_Formed))</visible>
- </control>
- <control type="label">
- <description>Genre txt</description>
- <posx>140</posx>
- <posy>240</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[515]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>150</posx>
- <posy>240</posy>
- <width>450</width>
- <height>25</height>
- <label fallback="416">$INFO[ListItem.Property(Artist_Genre)]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>275</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for Artist</description>
- <posx>0</posx>
- <posy>290</posy>
- <width>600</width>
- <height>120</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Property(Artist_Description)]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- </control>
- </control>
- </include>
- <include name="AlbumInfoListView">
- <control type="group">
- <visible>Control.IsVisible(513)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="513">
- <posx>460</posx>
- <posy>60</posy>
- <width>760</width>
- <height>361</height>
- <onleft>2</onleft>
- <onright>51360</onright>
- <onup>513</onup>
- <ondown>513</ondown>
- <viewtype label="$LOCALIZE[10523]">list</viewtype>
- <pagecontrol>51360</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>Container.Content(Albums)</visible>
- <itemlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>730</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>750</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="760">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(513)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>760</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(513)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>560</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(513) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>730</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>750</posx>
- <posy>0</posy>
- <width>700</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <control type="scrollbar" id="51360">
- <posx>1220</posx>
- <posy>60</posy>
- <width>25</width>
- <height>360</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>513</onleft>
- <onright>51361</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(513)</visible>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>60</posy>
- <width>400</width>
- <height>340</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>390</posy>
- <width>400</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>48</posx>
- <posy>392</posy>
- <width>384</width>
- <height>324</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>440</posx>
- <posy>60</posy>
- <width>5</width>
- <height>600</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator_vertical.png</texture>
- </control>
- <control type="image">
- <posx>440</posx>
- <posy>440</posy>
- <width>800</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>450</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Artist]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>500</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Album]</label>
- <wrapmultiline>true</wrapmultiline>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>550</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[ListItem.Genre]</label>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>top</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="label">
- <description>Year txt</description>
- <posx>40</posx>
- <posy>600</posy>
- <width>400</width>
- <height>25</height>
- <label>$INFO[listitem.Year,[COLOR=blue]$LOCALIZE[345]: [/COLOR]]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- </control>
- <control type="image">
- <description>Rating value</description>
- <posx>165</posx>
- <posy>630</posy>
- <width>150</width>
- <height>30</height>
- <texture>CenterRating/$INFO[ListItem.StarRating]</texture>
- </control>
- <control type="image">
- <posx>440</posx>
- <posy>440</posy>
- <width>800</width>
- <height>4</height>
- <aspectratio>stretch</aspectratio>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Description Header txt</description>
- <posx>460</posx>
- <posy>460</posy>
- <width>750</width>
- <height>25</height>
- <label>21821</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="textbox">
- <description>Description Value for Album</description>
- <posx>460</posx>
- <posy>490</posy>
- <width>750</width>
- <height>165</height>
- <font>font12</font>
- <align>justify</align>
- <pagecontrol>51361</pagecontrol>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Property(Album_Description)]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- <control type="scrollbar" id="51361">
- <posx>1220</posx>
- <posy>495</posy>
- <width>25</width>
- <height>170</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>51360</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(513)</visible>
- </control>
- </control>
- </control>
- </include>
-</includes>
+<includes> + <include name="MusicInfoListView"> + <control type="group"> + <visible>Control.IsVisible(506)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="506"> + <posx>460</posx> + <posy>60</posy> + <width>760</width> + <height>601</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>506</onup> + <ondown>506</ondown> + <viewtype label="$LOCALIZE[544]">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <visible>Window.IsVisible(MusicFiles) | Window.IsVisible(MusicPlaylist) | Container.Content(Songs) | Container.Content(Albums)</visible> + <itemlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>730</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>750</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </itemlayout> + <focusedlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(506)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(506)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>560</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(506) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>730</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>750</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </focusedlayout> + </control> + <control type="group"> + <visible>Control.IsVisible(506)</visible> + <control type="scrollbar" id="60"> + <posx>1220</posx> + <posy>60</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>506</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(506)</visible> + </control> + <control type="image"> + <posx>40</posx> + <posy>60</posy> + <width>400</width> + <height>300</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>40</posx> + <posy>350</posy> + <width>400</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>48</posx> + <posy>352</posy> + <width>384</width> + <height>284</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <posx>40</posx> + <posy>390</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Artist]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>440</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Album]</label> + <wrapmultiline>true</wrapmultiline> + <align>center</align> + <aligny>center</aligny> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>490</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Title]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>top</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + <visible>!Container.Content(Albums)</visible> + </control> + <control type="label"> + <posx>40</posx> + <posy>490</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Genre]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>top</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + <visible>Container.Content(Albums)</visible> + </control> + <control type="label"> + <description>Trackno txt</description> + <posx>40</posx> + <posy>550</posy> + <width>400</width> + <height>25</height> + <label>$INFO[listitem.TrackNumber,[COLOR=blue]$LOCALIZE[31310]: [/COLOR]]</label> + <align>center</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <visible>!Container.Content(Albums)</visible> + </control> + <control type="label"> + <description>Year txt</description> + <posx>40</posx> + <posy>580</posy> + <width>400</width> + <height>25</height> + <label>$INFO[listitem.Year,[COLOR=blue]$LOCALIZE[345]: [/COLOR]]</label> + <align>center</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + </control> + <control type="image"> + <description>Rating value</description> + <posx>165</posx> + <posy>610</posy> + <width>150</width> + <height>30</height> + <texture>CenterRating/$INFO[ListItem.StarRating]</texture> + </control> + <control type="image"> + <posx>440</posx> + <posy>60</posy> + <width>5</width> + <height>600</height> + <aspectratio>stretch</aspectratio> + <texture>separator_vertical.png</texture> + </control> + </control> + </control> + </include> + <include name="AlbumWrapView2_Fanart"> + <control type="group"> + <visible>Control.IsVisible(509)</visible> + <include>VisibleFadeEffect</include> + <posx>0</posx> + <posy>440</posy> + <control type="fixedlist" id="509"> + <visible>Container.Content(Albums)</visible> + <posx>-80</posx> + <posy>0</posy> + <width>1360</width> + <height>250</height> + <onleft>509</onleft> + <onright>509</onright> + <onup>2</onup> + <ondown>60</ondown> + <viewtype label="31029">wrap</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <focusposition>4</focusposition> + <movement>2</movement> + <orientation>horizontal</orientation> + <preloaditems>4</preloaditems> + <itemlayout height="200" width="160"> + <control type="image"> + <posx>2</posx> + <posy>20</posy> + <width>160</width> + <height>160</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <fadetime>200</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>6</posx> + <posy>24</posy> + <width>152</width> + <height>152</height> + <aspectratio>stretch</aspectratio> + <texture>black-back.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>2</posx> + <posy>180</posy> + <width>160</width> + <height>160</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5" diffuse="diffuse_mirror2.png">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <fadetime>200</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + </itemlayout> + <focusedlayout height="200" width="160"> + <control type="image"> + <posx>-2</posx> + <posy>16</posy> + <width>168</width> + <height>168</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="8">ThumbBorder.png</bordertexture> + <bordersize>8</bordersize> + <fadetime>200</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <animation reversible="false" effect="zoom" start="-2,16,168,168" end="-12,-4,198,198" time="200">focus</animation> + <animation reversible="false" effect="zoom" end="-2,16,168,168" start="-12,-4,198,198" time="200">unfocus</animation> + </control> + <control type="image"> + <posx>180</posx> + <posy>325</posy> + <width>35</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + <animation type="focus"> + <effect type="fade" start="0" end="100" time="200" /> + <effect type="slide" start="0,0" end="40,40" time="200" /> + </animation> + <animation type="unfocus"> + <effect type="fade" start="100" end="0" time="200" /> + <effect type="slide" end="0,0" start="40,40" time="200" /> + </animation> + </control> + </focusedlayout> + </control> + <control type="label"> + <posx>40</posx> + <posy>195</posy> + <width>1200</width> + <height>30</height> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="scrollbar" id="60"> + <posx>100</posx> + <posy>225</posy> + <width>1080</width> + <height>25</height> + <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground> + <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar> + <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onup>509</onup> + <ondown>2</ondown> + <showonepage>false</showonepage> + <orientation>horizontal</orientation> + <visible>Control.IsVisible(509)</visible> + </control> + </control> + </include> + <include name="MusicVideoInfoListView"> + <control type="group"> + <visible>Control.IsVisible(511)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="511"> + <posx>460</posx> + <posy>60</posy> + <width>760</width> + <height>601</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>511</onup> + <ondown>511</ondown> + <viewtype label="$LOCALIZE[544]">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <visible>Container.Content(MusicVideos)</visible> + <itemlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>720</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>730</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="image"> + <posx>735</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </itemlayout> + <focusedlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(511)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(511)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>560</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(511) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>720</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>730</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="image"> + <posx>735</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </focusedlayout> + </control> + <control type="group"> + <control type="scrollbar" id="60"> + <posx>1220</posx> + <posy>60</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>511</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(511)</visible> + </control> + <control type="image"> + <posx>40</posx> + <posy>60</posy> + <width>400</width> + <height>300</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>40</posx> + <posy>350</posy> + <width>400</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>48</posx> + <posy>352</posy> + <width>384</width> + <height>284</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>40</posx> + <posy>360</posy> + <width>400</width> + <align>center</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + </control> + <control type="label"> + <posx>40</posx> + <posy>410</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Artist]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>470</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Album]</label> + <wrapmultiline>true</wrapmultiline> + <align>center</align> + <aligny>center</aligny> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>520</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Title]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>top</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + <visible>!Container.Content(Albums)</visible> + </control> + <control type="label"> + <posx>40</posx> + <posy>580</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Studio]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>top</aligny> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="label"> + <description>Year txt</description> + <posx>40</posx> + <posy>640</posy> + <width>400</width> + <height>25</height> + <label>$INFO[listitem.Year,[COLOR=blue]$LOCALIZE[345]: [/COLOR]]</label> + <align>center</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + </control> + <control type="image"> + <posx>440</posx> + <posy>60</posy> + <width>5</width> + <height>600</height> + <aspectratio>stretch</aspectratio> + <texture>separator_vertical.png</texture> + </control> + </control> + </control> + </include> + <include name="ArtistMediaListView"> + <control type="group"> + <visible>Control.IsVisible(512)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="512"> + <posx>660</posx> + <posy>60</posy> + <width>580</width> + <height>601</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>512</onup> + <ondown>512</ondown> + <viewtype label="$LOCALIZE[544]">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <visible>Container.Content(Artists)</visible> + <itemlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>560</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </itemlayout> + <focusedlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(512)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(512)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>560</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </focusedlayout> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <control type="scrollbar" id="60"> + <posx>1180</posx> + <posy>10</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>512</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(512)</visible> + </control> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <control type="label"> + <description>Artist Title txt</description> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.Label]</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>340</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" fallback="Fanart_Fallback_Music_Small.jpg" >$INFO[ListItem.Property(fanart_image)]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>!Skin.HasSetting(MusicLibraryFanartView512)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>340</height> + <aspectratio>keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>Skin.HasSetting(MusicLibraryFanartView512)</visible> + </control> + <control type="image"> + <posx>8</posx> + <posy>502</posy> + <width>584</width> + <height>324</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + <visible>Skin.HasSetting(MusicLibraryFanartView512)</visible> + </control> + <control type="group"> + <posy>200</posy> + <control type="image"> + <posx>0</posx> + <posy>205</posy> + <width>600</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Born txt</description> + <posx>140</posx> + <posy>215</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[21893]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <visible>!IsEmpty(ListItem.Property(Artist_Born))</visible> + </control> + <control type="label"> + <description>Born Value</description> + <posx>150</posx> + <posy>215</posy> + <width>450</width> + <height>25</height> + <label>$INFO[ListItem.Property(Artist_Born)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + <visible>!IsEmpty(ListItem.Property(Artist_Born))</visible> + </control> + <control type="label"> + <description>Formed txt</description> + <posx>140</posx> + <posy>215</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[21894]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <visible>!IsEmpty(ListItem.Property(Artist_Formed))</visible> + </control> + <control type="label"> + <description>Formed Value</description> + <posx>150</posx> + <posy>215</posy> + <width>450</width> + <height>25</height> + <label>$INFO[ListItem.Property(Artist_Formed)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + <visible>!IsEmpty(ListItem.Property(Artist_Formed))</visible> + </control> + <control type="label"> + <description>Genre txt</description> + <posx>140</posx> + <posy>240</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[515]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>150</posx> + <posy>240</posy> + <width>450</width> + <height>25</height> + <label fallback="416">$INFO[ListItem.Property(Artist_Genre)]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="image"> + <posx>0</posx> + <posy>275</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for Artist</description> + <posx>0</posx> + <posy>290</posy> + <width>600</width> + <height>120</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Property(Artist_Description)]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + </control> + </control> + </include> + <include name="AlbumInfoListView"> + <control type="group"> + <visible>Control.IsVisible(513)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="513"> + <posx>460</posx> + <posy>60</posy> + <width>760</width> + <height>361</height> + <onleft>2</onleft> + <onright>51360</onright> + <onup>513</onup> + <ondown>513</ondown> + <viewtype label="$LOCALIZE[10523]">list</viewtype> + <pagecontrol>51360</pagecontrol> + <scrolltime>200</scrolltime> + <visible>Container.Content(Albums)</visible> + <itemlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>730</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>750</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </itemlayout> + <focusedlayout height="40" width="760"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(513)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>760</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(513)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>560</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(513) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>730</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>750</posx> + <posy>0</posy> + <width>700</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </focusedlayout> + </control> + <control type="group"> + <control type="scrollbar" id="51360"> + <posx>1220</posx> + <posy>60</posy> + <width>25</width> + <height>360</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>513</onleft> + <onright>51361</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(513)</visible> + </control> + <control type="image"> + <posx>40</posx> + <posy>60</posy> + <width>400</width> + <height>340</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>40</posx> + <posy>390</posy> + <width>400</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>48</posx> + <posy>392</posy> + <width>384</width> + <height>324</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>440</posx> + <posy>60</posy> + <width>5</width> + <height>600</height> + <aspectratio>stretch</aspectratio> + <texture>separator_vertical.png</texture> + </control> + <control type="image"> + <posx>440</posx> + <posy>440</posy> + <width>800</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + <control type="label"> + <posx>40</posx> + <posy>450</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Artist]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>500</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Album]</label> + <wrapmultiline>true</wrapmultiline> + <align>center</align> + <aligny>center</aligny> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <posx>40</posx> + <posy>550</posy> + <width>400</width> + <height>25</height> + <label>$INFO[ListItem.Genre]</label> + <scroll>true</scroll> + <align>center</align> + <aligny>top</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="label"> + <description>Year txt</description> + <posx>40</posx> + <posy>600</posy> + <width>400</width> + <height>25</height> + <label>$INFO[listitem.Year,[COLOR=blue]$LOCALIZE[345]: [/COLOR]]</label> + <align>center</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + </control> + <control type="image"> + <description>Rating value</description> + <posx>165</posx> + <posy>630</posy> + <width>150</width> + <height>30</height> + <texture>CenterRating/$INFO[ListItem.StarRating]</texture> + </control> + <control type="image"> + <posx>440</posx> + <posy>440</posy> + <width>800</width> + <height>4</height> + <aspectratio>stretch</aspectratio> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Description Header txt</description> + <posx>460</posx> + <posy>460</posy> + <width>750</width> + <height>25</height> + <label>21821</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="textbox"> + <description>Description Value for Album</description> + <posx>460</posx> + <posy>490</posy> + <width>750</width> + <height>165</height> + <font>font12</font> + <align>justify</align> + <pagecontrol>51361</pagecontrol> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Property(Album_Description)]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + <control type="scrollbar" id="51361"> + <posx>1220</posx> + <posy>495</posy> + <width>25</width> + <height>170</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="2,16,2,16">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="2,16,2,16">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>51360</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(513)</visible> + </control> + </control> + </control> + </include> +</includes> diff --git a/addons/skin.confluence/720p/ViewsPictures.xml b/addons/skin.confluence/720p/ViewsPictures.xml index e985e49b88..d428260bf5 100644 --- a/addons/skin.confluence/720p/ViewsPictures.xml +++ b/addons/skin.confluence/720p/ViewsPictures.xml @@ -1,232 +1,232 @@ -<includes>
- <include name="PictureWrapView">
- <control type="group">
- <visible>Control.IsVisible(510)</visible>
- <include>VisibleFadeEffect</include>
- <posx>0</posx>
- <posy>440</posy>
- <control type="wraplist" id="510">
- <posx>-25</posx>
- <posy>5</posy>
- <width>1330</width>
- <height>250</height>
- <onleft>508</onleft>
- <onright>508</onright>
- <onup>2</onup>
- <ondown>60</ondown>
- <viewtype label="31032">wrap</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <focusposition>3</focusposition>
- <orientation>horizontal</orientation>
- <preloaditems>4</preloaditems>
- <itemlayout height="200" width="190">
- <control type="image">
- <posx>15</posx>
- <posy>40</posy>
- <width>160</width>
- <height>160</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="10">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <fadetime>200</fadetime>
- <texture border="2">ThumbBG.png</texture>
- </control>
- <control type="image">
- <posx>25</posx>
- <posy>50</posy>
- <width>140</width>
- <height>140</height>
- <aspectratio>keep</aspectratio>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="200" width="190">
- <control type="image">
- <posx>15</posx>
- <posy>40</posy>
- <width>160</width>
- <height>160</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="10">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <fadetime>200</fadetime>
- <texture border="2">ThumbBG.png</texture>
- <animation reversible="false" effect="zoom" start="15,40,160,160" end="-10,-5,210,210" time="200">focus</animation>
- <animation reversible="false" effect="zoom" end="15,40,160,160" start="-10,-5,210,210" time="200">unfocus</animation>
- </control>
- <control type="image">
- <posx>25</posx>
- <posy>50</posy>
- <width>140</width>
- <height>140</height>
- <aspectratio>keep</aspectratio>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <animation reversible="false" effect="zoom" start="25,50,140,140" end="5,10,180,180" time="200">focus</animation>
- <animation reversible="false" effect="zoom" end="25,50,140,140" start="5,10,180,180" time="200">unfocus</animation>
- </control>
- </focusedlayout>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>200</posy>
- <width>1200</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="scrollbar" id="60">
- <posx>310</posx>
- <posy>225</posy>
- <width>660</width>
- <height>25</height>
- <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground>
- <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar>
- <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onup>510</onup>
- <ondown>2</ondown>
- <showonepage>false</showonepage>
- <orientation>horizontal</orientation>
- <visible>Control.IsVisible(510)</visible>
- </control>
- </control>
- </include>
- <include name="PictureThumbView">
- <control type="group">
- <visible>Control.IsVisible(511)</visible>
- <control type="panel" id="511">
- <posx>40</posx>
- <posy>80</posy>
- <width>432</width>
- <height>576</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>511</onup>
- <ondown>511</ondown>
- <viewtype label="$LOCALIZE[31031]">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <preloaditems>2</preloaditems>
- <itemlayout height="144" width="144">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>144</width>
- <height>144</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="10">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <fadetime>200</fadetime>
- <texture border="2">ThumbBG.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>10</posy>
- <width>124</width>
- <height>124</height>
- <aspectratio>keep</aspectratio>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="144" width="144">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>144</width>
- <height>144</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="10">folder-Focus.png</bordertexture>
- <bordersize>8</bordersize>
- <fadetime>200</fadetime>
- <texture border="2">ThumbBG.png</texture>
- </control>
- <control type="image">
- <posx>10</posx>
- <posy>10</posy>
- <width>124</width>
- <height>124</height>
- <aspectratio>keep</aspectratio>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>480</posx>
- <posy>80</posy>
- <width>25</width>
- <height>576</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>510</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(511)</visible>
- </control>
- <control type="group">
- <posx>540</posx>
- <posy>60</posy>
- <control type="label">
- <description>Title txt</description>
- <posx>0</posx>
- <posy>20</posy>
- <width>700</width>
- <height>15</height>
- <label>$INFO[ListItem.Label]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>-9</posx>
- <posy>50</posy>
- <width>700</width>
- <height>500</height>
- <texture background="true">$INFO[ListItem.FilenameAndPath]</texture>
- <fadetime>600</fadetime>
- <aspectratio>keep</aspectratio>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>9</bordersize>
- </control>
- <control type="label">
- <description>Date time txt</description>
- <posx>0</posx>
- <posy>570</posy>
- <width>700</width>
- <height>15</height>
- <label>$INFO[ListItem.PictureDateTime,[COLOR=blue]$LOCALIZE[31326][/COLOR] - ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13caps</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Resolution txt</description>
- <posx>0</posx>
- <posy>600</posy>
- <width>700</width>
- <height>15</height>
- <label>$INFO[ListItem.PictureResolution,[COLOR=blue]$LOCALIZE[31327][/COLOR] - ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13caps</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- </control>
- </include>
-</includes>
+<includes> + <include name="PictureWrapView"> + <control type="group"> + <visible>Control.IsVisible(510)</visible> + <include>VisibleFadeEffect</include> + <posx>0</posx> + <posy>440</posy> + <control type="wraplist" id="510"> + <posx>-25</posx> + <posy>5</posy> + <width>1330</width> + <height>250</height> + <onleft>508</onleft> + <onright>508</onright> + <onup>2</onup> + <ondown>60</ondown> + <viewtype label="31032">wrap</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <focusposition>3</focusposition> + <orientation>horizontal</orientation> + <preloaditems>4</preloaditems> + <itemlayout height="200" width="190"> + <control type="image"> + <posx>15</posx> + <posy>40</posy> + <width>160</width> + <height>160</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="10">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <fadetime>200</fadetime> + <texture border="2">ThumbBG.png</texture> + </control> + <control type="image"> + <posx>25</posx> + <posy>50</posy> + <width>140</width> + <height>140</height> + <aspectratio>keep</aspectratio> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + </itemlayout> + <focusedlayout height="200" width="190"> + <control type="image"> + <posx>15</posx> + <posy>40</posy> + <width>160</width> + <height>160</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="10">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <fadetime>200</fadetime> + <texture border="2">ThumbBG.png</texture> + <animation reversible="false" effect="zoom" start="15,40,160,160" end="-10,-5,210,210" time="200">focus</animation> + <animation reversible="false" effect="zoom" end="15,40,160,160" start="-10,-5,210,210" time="200">unfocus</animation> + </control> + <control type="image"> + <posx>25</posx> + <posy>50</posy> + <width>140</width> + <height>140</height> + <aspectratio>keep</aspectratio> + <texture background="true">$INFO[ListItem.Icon]</texture> + <animation reversible="false" effect="zoom" start="25,50,140,140" end="5,10,180,180" time="200">focus</animation> + <animation reversible="false" effect="zoom" end="25,50,140,140" start="5,10,180,180" time="200">unfocus</animation> + </control> + </focusedlayout> + </control> + <control type="label"> + <posx>40</posx> + <posy>200</posy> + <width>1200</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="scrollbar" id="60"> + <posx>310</posx> + <posy>225</posy> + <width>660</width> + <height>25</height> + <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground> + <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar> + <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onup>510</onup> + <ondown>2</ondown> + <showonepage>false</showonepage> + <orientation>horizontal</orientation> + <visible>Control.IsVisible(510)</visible> + </control> + </control> + </include> + <include name="PictureThumbView"> + <control type="group"> + <visible>Control.IsVisible(511)</visible> + <control type="panel" id="511"> + <posx>40</posx> + <posy>80</posy> + <width>432</width> + <height>576</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>511</onup> + <ondown>511</ondown> + <viewtype label="$LOCALIZE[31031]">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <preloaditems>2</preloaditems> + <itemlayout height="144" width="144"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>144</width> + <height>144</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="10">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <fadetime>200</fadetime> + <texture border="2">ThumbBG.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>10</posy> + <width>124</width> + <height>124</height> + <aspectratio>keep</aspectratio> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + </itemlayout> + <focusedlayout height="144" width="144"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>144</width> + <height>144</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="10">folder-Focus.png</bordertexture> + <bordersize>8</bordersize> + <fadetime>200</fadetime> + <texture border="2">ThumbBG.png</texture> + </control> + <control type="image"> + <posx>10</posx> + <posy>10</posy> + <width>124</width> + <height>124</height> + <aspectratio>keep</aspectratio> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>480</posx> + <posy>80</posy> + <width>25</width> + <height>576</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>510</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(511)</visible> + </control> + <control type="group"> + <posx>540</posx> + <posy>60</posy> + <control type="label"> + <description>Title txt</description> + <posx>0</posx> + <posy>20</posy> + <width>700</width> + <height>15</height> + <label>$INFO[ListItem.Label]</label> + <align>left</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>-9</posx> + <posy>50</posy> + <width>700</width> + <height>500</height> + <texture background="true">$INFO[ListItem.FilenameAndPath]</texture> + <fadetime>600</fadetime> + <aspectratio>keep</aspectratio> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>9</bordersize> + </control> + <control type="label"> + <description>Date time txt</description> + <posx>0</posx> + <posy>570</posy> + <width>700</width> + <height>15</height> + <label>$INFO[ListItem.PictureDateTime,[COLOR=blue]$LOCALIZE[31326][/COLOR] - ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13caps</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Resolution txt</description> + <posx>0</posx> + <posy>600</posy> + <width>700</width> + <height>15</height> + <label>$INFO[ListItem.PictureResolution,[COLOR=blue]$LOCALIZE[31327][/COLOR] - ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13caps</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + </control> + </include> +</includes> diff --git a/addons/skin.confluence/720p/ViewsVideoLibrary.xml b/addons/skin.confluence/720p/ViewsVideoLibrary.xml index 005a79f381..2601d07a4d 100644 --- a/addons/skin.confluence/720p/ViewsVideoLibrary.xml +++ b/addons/skin.confluence/720p/ViewsVideoLibrary.xml @@ -1,2187 +1,2187 @@ -<includes>
- <include name="PosterWrapView">
- <control type="group">
- <visible>Control.IsVisible(501)</visible>
- <include>VisibleFadeEffect</include>
- <posx>0</posx>
- <posy>80</posy>
- <control type="image">
- <posx>240</posx>
- <posy>420</posy>
- <width>800</width>
- <height>70</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="wraplist" id="501">
- <visible>Container.Content(Movies) | Container.Content(Seasons) | [Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)] | Window.IsVisible(VideoFiles)</visible>
- <visible>!Container.Content(LiveTV)</visible>
- <posx>-123</posx>
- <posy>0</posy>
- <width>1526</width>
- <height>460</height>
- <onleft>57</onleft>
- <onright>57</onright>
- <onup>2</onup>
- <ondown>60</ondown>
- <viewtype label="31028">bigwrap</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <focusposition>3</focusposition>
- <orientation>horizontal</orientation>
- <preloaditems>4</preloaditems>
- <itemlayout height="310" width="218">
- <control type="image">
- <posx>2</posx>
- <posy>40</posy>
- <width>214</width>
- <height>310</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="310" width="218">
- <control type="image">
- <posx>-2</posx>
- <posy>36</posy>
- <width>222</width>
- <height>318</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="8">ThumbBorder.png</bordertexture>
- <bordersize>8</bordersize>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <animation reversible="false" effect="zoom" start="-2,36,222,318" end="-28,0,284,390" time="200">focus</animation>
- <animation reversible="false" effect="zoom" end="-2,36,222,318" start="-28,0,284,390" time="200">unfocus</animation>
- </control>
- <control type="image">
- <posx>6</posx>
- <posy>44</posy>
- <width>170</width>
- <height>180</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <animation reversible="false" effect="zoom" start="6,44,170,180" end="-24,4,240,250" time="200">focus</animation>
- <animation reversible="false" effect="zoom" end="6,44,170,180" start="-24,4,240,250" time="200">unfocus</animation>
- </control>
- <control type="image">
- <posx>205</posx>
- <posy>310</posy>
- <width>35</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- <animation type="focus">
- <effect type="fade" start="0" end="100" time="200" />
- <effect type="slide" start="0,0" end="40,40" time="200" />
- </animation>
- <animation type="unfocus">
- <effect type="fade" start="100" end="0" time="200" />
- <effect type="slide" end="0,0" start="40,40" time="200" />
- </animation>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>200</posx>
- <posy>390</posy>
- <width>880</width>
- <height>25</height>
- <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground>
- <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar>
- <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onup>501</onup>
- <ondown>9000</ondown>
- <showonepage>false</showonepage>
- <orientation>horizontal</orientation>
- <visible>Control.IsVisible(501)</visible>
- </control>
- </control>
- <control type="group">
- <visible>Control.IsVisible(501) + Window.IsVisible(VideoFiles)</visible>
- <control type="label">
- <posx>30</posx>
- <posy>530</posy>
- <width>1220</width>
- <height>35</height>
- <font>font30_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>580</posy>
- <width>1280</width>
- <height>35</height>
- <font>font30</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </control>
- <control type="group">
- <visible>[Control.IsVisible(501) + !Window.IsVisible(VideoFiles)] + Container.Content(Movies)</visible>
- <control type="label">
- <posx>30</posx>
- <posy>510</posy>
- <width>1220</width>
- <height>35</height>
- <font>font30_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>550</posy>
- <width>1280</width>
- <height>35</height>
- <font>font30</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Year]</label>
- </control>
- <control type="image">
- <description>Rating value</description>
- <posx>580</posx>
- <posy>590</posy>
- <width>120</width>
- <height>24</height>
- <texture>CenterRating/$INFO[ListItem.StarRating]</texture>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>0</posx>
- <posy>620</posy>
- <width>1280</width>
- <align>center</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>650</posy>
- <width>1280</width>
- <height>35</height>
- <font>font13caps</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Duration,$LOCALIZE[2050] , $LOCALIZE[12391]]</label>
- </control>
- </control>
- <control type="group">
- <visible>[Control.IsVisible(501) + !Window.IsVisible(VideoFiles)] + Container.Content(Seasons)</visible>
- <control type="label">
- <posx>30</posx>
- <posy>530</posy>
- <width>1220</width>
- <height>35</height>
- <font>font30_title</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>570</posy>
- <width>1280</width>
- <height>35</height>
- <font>font30</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.TVShowTitle]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>610</posy>
- <width>1280</width>
- <height>35</height>
- <font>font13caps</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>640</posy>
- <width>1280</width>
- <height>35</height>
- <font>font12caps</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])</label>
- </control>
- </control>
- <control type="group">
- <visible>[Control.IsVisible(501) + !Window.IsVisible(VideoFiles)] + Container.Content(TVShows)</visible>
- <control type="label">
- <posx>30</posx>
- <posy>530</posy>
- <width>1220</width>
- <height>35</height>
- <font>font30_title</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>570</posy>
- <width>1280</width>
- <height>35</height>
- <font>font30</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Genre]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>610</posy>
- <width>1280</width>
- <height>35</height>
- <font>font13caps</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>640</posy>
- <width>1280</width>
- <height>35</height>
- <font>font12caps</font>
- <textcolor>white</textcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])</label>
- </control>
- </control>
- </include>
- <include name="PosterWrapView2_Fanart">
- <control type="group">
- <visible>Control.IsVisible(508)</visible>
- <include>VisibleFadeEffect</include>
- <posx>0</posx>
- <posy>440</posy>
- <control type="fixedlist" id="508">
- <visible>Container.Content(Movies) | [Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)]</visible>
- <posx>-20</posx>
- <posy>0</posy>
- <width>1320</width>
- <height>250</height>
- <onleft>508</onleft>
- <onright>508</onright>
- <onup>2</onup>
- <ondown>60</ondown>
- <viewtype label="31029">wrap</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <focusposition>5</focusposition>
- <movement>3</movement>
- <orientation>horizontal</orientation>
- <preloaditems>4</preloaditems>
- <itemlayout height="200" width="120">
- <control type="image">
- <posx>2</posx>
- <posy>20</posy>
- <width>120</width>
- <height>160</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>6</posx>
- <posy>24</posy>
- <width>112</width>
- <height>152</height>
- <aspectratio>stretch</aspectratio>
- <texture>black-back.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>2</posx>
- <posy>180</posy>
- <width>120</width>
- <height>160</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="5" diffuse="diffuse_mirror2.png">button-nofocus.png</bordertexture>
- <bordersize>4</bordersize>
- <fadetime>200</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="310" width="120">
- <control type="image">
- <posx>-2</posx>
- <posy>16</posy>
- <width>128</width>
- <height>168</height>
- <aspectratio>stretch</aspectratio>
- <bordertexture border="8">ThumbBorder.png</bordertexture>
- <bordersize>8</bordersize>
- <fadetime>200</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <animation reversible="false" effect="zoom" start="-2,16,128,168" end="-12,-10,148,198" time="200">focus</animation>
- <animation reversible="false" effect="zoom" end="-2,16,128,168" start="-12,-10,148,198" time="200">unfocus</animation>
- </control>
- <control type="image">
- <posx>90</posx>
- <posy>150</posy>
- <width>35</width>
- <height>35</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- <animation type="focus">
- <effect type="fade" start="0" end="100" time="200" />
- <effect type="slide" start="0,0" end="10,5" time="200" />
- </animation>
- <animation type="unfocus">
- <effect type="fade" start="100" end="0" time="200" />
- <effect type="slide" end="0,0" start="10,5" time="200" />
- </animation>
- </control>
- </focusedlayout>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>10</posx>
- <posy>215</posy>
- <width>290</width>
- <align>right</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- <visible>Skin.HasSetting(View508HideInfo)</visible>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>300r</posx>
- <posy>215</posy>
- <width>290</width>
- <align>left</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>AudioCodecFlaggingConditions</include>
- <visible>Skin.HasSetting(View508HideInfo)</visible>
- </control>
- <control type="label">
- <posx>40</posx>
- <posy>188</posy>
- <width>1200</width>
- <height>30</height>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="scrollbar" id="60">
- <posx>310</posx>
- <posy>220</posy>
- <width>660</width>
- <height>25</height>
- <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground>
- <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar>
- <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onup>508</onup>
- <ondown>2</ondown>
- <showonepage>false</showonepage>
- <orientation>horizontal</orientation>
- <visible>Control.IsVisible(508)</visible>
- </control>
- </control>
- <control type="group">
- <posx>180</posx>
- <posy>30</posy>
- <visible>Control.IsVisible(508) + !Skin.HasSetting(View508HideInfo) + !Window.IsVisible(VideoFiles) + ![ListItem.IsFolder + Container.Content(Movies)]</visible>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>920</width>
- <height>410</height>
- <texture border="20">ContentPanel.png</texture>
- </control>
- <control type="group">
- <posx>40</posx>
- <posy>20</posy>
- <visible>Container.Content(Movies)</visible>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>31308</label>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>30</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Genre]</label>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>55</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Year]</label>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>80</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Duration,, $LOCALIZE[12391]]</label>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>105</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[563] : $INFO[ListItem.RatingAndVotes]</label>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- </control>
- <control type="group">
- <posx>480</posx>
- <posy>20</posy>
- <visible>Container.Content(Movies)</visible>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>20339</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>30</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Director]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>75</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>20417</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>105</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>top</aligny>
- <label>$INFO[ListItem.Writer]</label>
- </control>
- </control>
- <control type="group">
- <posx>40</posx>
- <posy>20</posy>
- <visible>Container.Content(TVShows)</visible>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>20351</label>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>30</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Genre]</label>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>55</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Year]</label>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>80</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[563] : $INFO[ListItem.RatingAndVotes]</label>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- </control>
- <control type="group">
- <posx>480</posx>
- <posy>20</posy>
- <visible>Container.Content(TVShows)</visible>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>20360</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>30</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[20161] : $INFO[ListItem.Episode]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>55</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[16102] : $INFO[ListItem.Property(WatchedEpisodes)]</label>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>80</posy>
- <width>400</width>
- <height>30</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[16101] : $INFO[ListItem.Property(UnWatchedEpisodes)]</label>
- </control>
- </control>
- <control type="group">
- <posx>40</posx>
- <posy>180</posy>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>400</width>
- <height>30</height>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scroll>true</scroll>
- <align>left</align>
- <aligny>center</aligny>
- <label>207</label>
- </control>
- <control type="textbox">
- <description>Description Value The Movie</description>
- <posx>0</posx>
- <posy>30</posy>
- <width>850</width>
- <height>120</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>40</posx>
- <posy>350</posy>
- <width>800</width>
- <align>left</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- </control>
- <control type="grouplist">
- <description>MPAA Rating Flagging Images</description>
- <posx>80</posx>
- <posy>350</posy>
- <width>800</width>
- <align>right</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoMPAAFlaggingConditions</include>
- </control>
- </control>
- </include>
- <include name="MediaListView3">
- <control type="group">
- <visible>Control.IsVisible(503)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="503">
- <posx>660</posx>
- <posy>260</posy>
- <width>580</width>
- <height>401</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>503</onup>
- <ondown>503</ondown>
- <viewtype label="$LOCALIZE[544] 2">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>Container.Content(TVShows) | Container.Content(Seasons) | Container.Content(Episodes) | Container.Content(Movies)</visible>
- <itemlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>520</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>535</posx>
- <posy>0</posy>
- <width>500</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="image">
- <posx>545</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(503)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(503)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>370</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(503) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>520</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>535</posx>
- <posy>0</posy>
- <width>500</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="image">
- <posx>545</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>1230</posx>
- <posy>260</posy>
- <width>25</width>
- <height>400</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>503</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(503)</visible>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>250</posy>
- <visible>Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)</visible>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>130</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>122</posy>
- <width>584</width>
- <height>114</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="image">
- <posx>560</posx>
- <posy>90</posy>
- <width>40</width>
- <height>40</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- <control type="label">
- <description>Episodes txt</description>
- <posx>150</posx>
- <posy>145</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[20360]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Episodes Value</description>
- <posx>160</posx>
- <posy>145</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Aired txt</description>
- <posx>150</posx>
- <posy>170</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[31322]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Aired Value</description>
- <posx>160</posx>
- <posy>170</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.premiered]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Genre txt</description>
- <posx>150</posx>
- <posy>195</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[515]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>160</posx>
- <posy>195</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Genre]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>232</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for TVShows</description>
- <posx>0</posx>
- <posy>250</posy>
- <width>600</width>
- <height>160</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- <control type="group">
- <posx>80</posx>
- <posy>170</posy>
- <visible>Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)</visible>
- <control type="group">
- <posx>10</posx>
- <camera x="640" y="200" />
- <animation effect="rotatey" center="90" start="-30" end="-30" time="0" condition="true">Conditional</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>260</width>
- <height>480</height>
- <aspectratio aligny="bottom">stretch</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>8</posy>
- <width>180</width>
- <height>350</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>472</posy>
- <width>244</width>
- <height>464</height>
- <aspectratio aligny="top">stretch</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- </control>
- <control type="label">
- <description>Episodes Count</description>
- <posx>320</posx>
- <posy>320</posy>
- <width>250</width>
- <height>25</height>
- <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Watched Count</description>
- <posx>320</posx>
- <posy>380</posy>
- <width>250</width>
- <height>25</height>
- <label>$INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>UnWatched Count</description>
- <posx>320</posx>
- <posy>400</posy>
- <width>250</width>
- <height>25</height>
- <label>$INFO[ListItem.Property(UnWatchedEpisodes),, $LOCALIZE[16101]]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <control type="group">
- <posx>80</posx>
- <posy>170</posy>
- <visible>Container.Content(Seasons)</visible>
- <control type="group">
- <posx>10</posx>
- <camera x="640" y="200" />
- <animation effect="rotatey" center="90" start="-30" end="-30" time="0" condition="true">Conditional</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>260</width>
- <height>480</height>
- <aspectratio aligny="bottom">stretch</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>8</posy>
- <width>180</width>
- <height>350</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>472</posy>
- <width>244</width>
- <height>464</height>
- <aspectratio aligny="top">stretch</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- </control>
- <control type="label">
- <description>Main Label txt</description>
- <posx>320</posx>
- <posy>260</posy>
- <width>250</width>
- <height>25</height>
- <label>$INFO[ListItem.Label]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font30</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Episodes Count</description>
- <posx>320</posx>
- <posy>320</posy>
- <width>250</width>
- <height>25</height>
- <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Watched Count</description>
- <posx>320</posx>
- <posy>380</posy>
- <width>250</width>
- <height>25</height>
- <label>$INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>UnWatched Count</description>
- <posx>320</posx>
- <posy>400</posy>
- <width>250</width>
- <height>25</height>
- <label>$INFO[ListItem.Property(UnWatchedEpisodes),, $LOCALIZE[16101]]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>250</posy>
- <visible>Container.Content(Episodes)</visible>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>210</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>202</posy>
- <width>600</width>
- <height>194</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>0</posx>
- <posy>210</posy>
- <width>600</width>
- <align>center</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- </control>
- <control type="label">
- <description>INFO txt</description>
- <posx>0</posx>
- <posy>245</posy>
- <width>600</width>
- <height>25</height>
- <label>$INFO[ListItem.Season,[COLOR=blue] $LOCALIZE[20373] :[/COLOR] ] $INFO[ListItem.episode,[COLOR=blue] $LOCALIZE[20359] :[/COLOR] ] $INFO[ListItem.premiered,[COLOR=blue] $LOCALIZE[31322] :[/COLOR] ]</label>
- <align>center</align>
- <aligny>top</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>275</posy>
- <width>600</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for TVShows</description>
- <posx>0</posx>
- <posy>280</posy>
- <width>600</width>
- <height>140</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- <control type="group">
- <posx>40</posx>
- <posy>170</posy>
- <visible>Container.Content(Movies)</visible>
- <control type="group">
- <posx>10</posx>
- <camera x="640" y="200" />
- <animation effect="rotatey" center="50" start="-30" end="-30" time="0" condition="true">Conditional</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>260</width>
- <height>480</height>
- <aspectratio aligny="bottom">stretch</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>8</posy>
- <width>180</width>
- <height>350</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassOverlay.png</texture>
- <colordiffuse>AAFFFFFF</colordiffuse>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>472</posy>
- <width>244</width>
- <height>464</height>
- <aspectratio aligny="top">stretch</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- </control>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>0</posx>
- <posy>480</posy>
- <width>590</width>
- <align>center</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- </control>
- <control type="textbox">
- <description>Description Value for Movie</description>
- <posx>320</posx>
- <posy>80</posy>
- <width>270</width>
- <height>370</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- </control>
- </include>
- <include name="MediaListView2">
- <control type="group">
- <visible>Control.IsVisible(504)</visible>
- <include>VisibleFadeEffect</include>
- <control type="list" id="504">
- <posx>660</posx>
- <posy>60</posy>
- <width>580</width>
- <height>601</height>
- <onleft>2</onleft>
- <onright>60</onright>
- <onup>504</onup>
- <ondown>504</ondown>
- <viewtype label="$LOCALIZE[544]">list</viewtype>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <visible>Container.Content(TVShows) | Container.Content(Movies) | Container.Content(Seasons) | Container.Content(Episodes)</visible>
- <itemlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>520</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>535</posx>
- <posy>0</posy>
- <width>500</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="image">
- <posx>545</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="580">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(504)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>580</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(504)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>370</posx>
- <posy>5</posy>
- <width>200</width>
- <height>31</height>
- <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
- <visible>Control.HasFocus(504) + !IsEmpty(ListItem.Label2)</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>520</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>535</posx>
- <posy>0</posy>
- <width>500</width>
- <height>40</height>
- <font>font12</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- <control type="image">
- <posx>545</posx>
- <posy>14</posy>
- <width>20</width>
- <height>16</height>
- <texture>$INFO[ListItem.Overlay]</texture>
- </control>
- </focusedlayout>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <visible>Control.IsVisible(504)</visible>
- <control type="scrollbar" id="60">
- <posx>1180</posx>
- <posy>0</posy>
- <width>25</width>
- <height>600</height>
- <texturesliderbackground border="10,14,10,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="10,14,10,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="10,14,10,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>504</onleft>
- <onright>2</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Control.IsVisible(504)</visible>
- </control>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <visible>Control.IsVisible(504) + Container.Content(TVShows)</visible>
- <control type="label">
- <description>Show Title txt</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.Label]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>340</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" fallback="Fanart_Fallback_Small.jpg">$INFO[ListItem.Property(fanart_image)]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>140</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>Skin.HasSetting(VideoLibraryFanartView504) + !Skin.HasSetting(TVShowsUsePosters)</visible>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>162</posy>
- <width>584</width>
- <height>140</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- <visible>Skin.HasSetting(VideoLibraryFanartView504) + !Skin.HasSetting(TVShowsUsePosters)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>400</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>Skin.HasSetting(VideoLibraryFanartView504) + Skin.HasSetting(TVShowsUsePosters)</visible>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>422</posy>
- <width>584</width>
- <height>380</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- <visible>Skin.HasSetting(VideoLibraryFanartView504) + Skin.HasSetting(TVShowsUsePosters)</visible>
- </control>
- <control type="group">
- <posy>200</posy>
- <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible>
- <control type="label">
- <description>Aired txt</description>
- <posx>150</posx>
- <posy>170</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[31322]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Aired Value</description>
- <posx>160</posx>
- <posy>170</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.premiered]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Genre txt</description>
- <posx>150</posx>
- <posy>195</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[515]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>160</posx>
- <posy>195</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Genre]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>232</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for TVShows</description>
- <posx>0</posx>
- <posy>250</posy>
- <width>600</width>
- <height>160</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- <control type="group">
- <posy>30</posy>
- <visible>Skin.HasSetting(VideoLibraryFanartView504) + !Skin.HasSetting(TVShowsUsePosters)</visible>
- <control type="label">
- <description>Aired txt</description>
- <posx>150</posx>
- <posy>170</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[31322]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Aired Value</description>
- <posx>160</posx>
- <posy>170</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.premiered]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Genre txt</description>
- <posx>150</posx>
- <posy>195</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[515]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>160</posx>
- <posy>195</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Genre]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Episodes txt</description>
- <posx>150</posx>
- <posy>220</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[20360]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Episodes Value</description>
- <posx>160</posx>
- <posy>220</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>260</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for TVShows</description>
- <posx>0</posx>
- <posy>275</posy>
- <width>600</width>
- <height>290</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- <control type="group">
- <posy>250</posy>
- <visible>Skin.HasSetting(VideoLibraryFanartView504) + Skin.HasSetting(TVShowsUsePosters)</visible>
- <control type="label">
- <description>Genre txt</description>
- <posx>150</posx>
- <posy>195</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[515]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>160</posx>
- <posy>195</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Genre]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Episodes txt</description>
- <posx>150</posx>
- <posy>220</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[20360]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Episodes Value</description>
- <posx>160</posx>
- <posy>220</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>260</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for TVShows</description>
- <posx>0</posx>
- <posy>275</posy>
- <width>600</width>
- <height>100</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <visible>Control.IsVisible(504) + Container.Content(Movies)</visible>
- <control type="label">
- <description>Show Title txt</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.Label]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>340</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" fallback="Fanart_Fallback_Small.jpg" >$INFO[ListItem.Property(fanart_image)]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>480</height>
- <aspectratio>keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- <visible>Skin.HasSetting(VideoLibraryFanartView504)</visible>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>502</posy>
- <width>584</width>
- <height>464</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- <visible>Skin.HasSetting(VideoLibraryFanartView504)</visible>
- </control>
- <control type="group">
- <posy>200</posy>
- <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>0</posx>
- <posy>170</posy>
- <width>600</width>
- <align>center</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>205</posy>
- <width>600</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Year txt</description>
- <posx>150</posx>
- <posy>215</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[345]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Year Value</description>
- <posx>160</posx>
- <posy>215</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Year]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Genre txt</description>
- <posx>150</posx>
- <posy>240</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[515]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>160</posx>
- <posy>240</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Genre]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>275</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for Movie</description>
- <posx>0</posx>
- <posy>290</posy>
- <width>600</width>
- <height>120</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- <control type="group">
- <posy>370</posy>
- <visible>Skin.HasSetting(VideoLibraryFanartView504)</visible>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>0</posx>
- <posy>140</posy>
- <width>600</width>
- <align>center</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>175</posy>
- <width>600</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Year txt</description>
- <posx>150</posx>
- <posy>185</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[345]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Year Value</description>
- <posx>160</posx>
- <posy>185</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Year]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Genre txt</description>
- <posx>150</posx>
- <posy>210</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[515]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>160</posx>
- <posy>210</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Genre]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- </control>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <visible>Control.IsVisible(504) + Container.Content(Seasons)</visible>
- <control type="label">
- <description>Show Title txt</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.TVShowTitle]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>30</posy>
- <width>600</width>
- <height>480</height>
- <aspectratio>keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>502</posy>
- <width>584</width>
- <height>464</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="label">
- <description>Season Title txt</description>
- <posx>0</posx>
- <posy>530</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.Label]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="label">
- <description>Episode Count txt</description>
- <posx>0</posx>
- <posy>560</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.Episode] $LOCALIZE[20453]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font16caps</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- </control>
- <control type="group">
- <posx>50</posx>
- <posy>60</posy>
- <visible>Control.IsVisible(504) + Container.Content(Episodes)</visible>
- <control type="label">
- <description>Episode txt</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>15</height>
- <label>$INFO[ListItem.Title]</label>
- <align>center</align>
- <aligny>center</aligny>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <wrapmultiline>true</wrapmultiline>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>40</posy>
- <width>600</width>
- <height>320</height>
- <aspectratio aligny="bottom">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true">$INFO[ListItem.Icon]</texture>
- <bordertexture background="true" border="8">ThumbShadow.png</bordertexture>
- <bordersize>8</bordersize>
- </control>
- <control type="image">
- <posx>8</posx>
- <posy>352</posy>
- <width>584</width>
- <height>304</height>
- <aspectratio aligny="top">keep</aspectratio>
- <fadetime>IconCrossfadeTime</fadetime>
- <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture>
- </control>
- <control type="group">
- <posy>200</posy>
- <control type="grouplist">
- <description>Media Codec Flagging Images</description>
- <posx>0</posx>
- <posy>160</posy>
- <width>600</width>
- <align>center</align>
- <itemgap>0</itemgap>
- <orientation>horizontal</orientation>
- <include>VideoCodecFlaggingConditions</include>
- <include>AudioCodecFlaggingConditions</include>
- <include>AspectCodecFlaggingConditions</include>
- <include>VideoTypeHackFlaggingConditions</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>200</posy>
- <width>600</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Aired txt</description>
- <posx>150</posx>
- <posy>210</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[31322]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Aired Value</description>
- <posx>160</posx>
- <posy>210</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.premiered]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="label">
- <description>Episode txt</description>
- <posx>150</posx>
- <posy>235</posy>
- <width>140</width>
- <height>25</height>
- <label>$LOCALIZE[20359]:</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>blue</textcolor>
- </control>
- <control type="label">
- <description>Genre Value</description>
- <posx>160</posx>
- <posy>235</posy>
- <width>440</width>
- <height>25</height>
- <label fallback="416">$INFO[listitem.Season,,x]$INFO[listitem.Episode]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13</font>
- <scroll>true</scroll>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>272</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="textbox">
- <description>Description Value for Episodes</description>
- <posx>0</posx>
- <posy>290</posy>
- <width>600</width>
- <height>120</height>
- <font>font12</font>
- <align>justify</align>
- <textcolor>white</textcolor>
- <label>$INFO[ListItem.Plot]</label>
- <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
- </control>
- </control>
- </control>
- </control>
- </include>
-</includes>
+<includes> + <include name="PosterWrapView"> + <control type="group"> + <visible>Control.IsVisible(501)</visible> + <include>VisibleFadeEffect</include> + <posx>0</posx> + <posy>80</posy> + <control type="image"> + <posx>240</posx> + <posy>420</posy> + <width>800</width> + <height>70</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="wraplist" id="501"> + <visible>Container.Content(Movies) | Container.Content(Seasons) | [Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)] | Window.IsVisible(VideoFiles)</visible> + <visible>!Container.Content(LiveTV)</visible> + <posx>-123</posx> + <posy>0</posy> + <width>1526</width> + <height>460</height> + <onleft>57</onleft> + <onright>57</onright> + <onup>2</onup> + <ondown>60</ondown> + <viewtype label="31028">bigwrap</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <focusposition>3</focusposition> + <orientation>horizontal</orientation> + <preloaditems>4</preloaditems> + <itemlayout height="310" width="218"> + <control type="image"> + <posx>2</posx> + <posy>40</posy> + <width>214</width> + <height>310</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + </itemlayout> + <focusedlayout height="310" width="218"> + <control type="image"> + <posx>-2</posx> + <posy>36</posy> + <width>222</width> + <height>318</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="8">ThumbBorder.png</bordertexture> + <bordersize>8</bordersize> + <texture background="true">$INFO[ListItem.Icon]</texture> + <animation reversible="false" effect="zoom" start="-2,36,222,318" end="-28,0,284,390" time="200">focus</animation> + <animation reversible="false" effect="zoom" end="-2,36,222,318" start="-28,0,284,390" time="200">unfocus</animation> + </control> + <control type="image"> + <posx>6</posx> + <posy>44</posy> + <width>170</width> + <height>180</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <animation reversible="false" effect="zoom" start="6,44,170,180" end="-24,4,240,250" time="200">focus</animation> + <animation reversible="false" effect="zoom" end="6,44,170,180" start="-24,4,240,250" time="200">unfocus</animation> + </control> + <control type="image"> + <posx>205</posx> + <posy>310</posy> + <width>35</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + <animation type="focus"> + <effect type="fade" start="0" end="100" time="200" /> + <effect type="slide" start="0,0" end="40,40" time="200" /> + </animation> + <animation type="unfocus"> + <effect type="fade" start="100" end="0" time="200" /> + <effect type="slide" end="0,0" start="40,40" time="200" /> + </animation> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>200</posx> + <posy>390</posy> + <width>880</width> + <height>25</height> + <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground> + <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar> + <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onup>501</onup> + <ondown>9000</ondown> + <showonepage>false</showonepage> + <orientation>horizontal</orientation> + <visible>Control.IsVisible(501)</visible> + </control> + </control> + <control type="group"> + <visible>Control.IsVisible(501) + Window.IsVisible(VideoFiles)</visible> + <control type="label"> + <posx>30</posx> + <posy>530</posy> + <width>1220</width> + <height>35</height> + <font>font30_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>580</posy> + <width>1280</width> + <height>35</height> + <font>font30</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </control> + <control type="group"> + <visible>[Control.IsVisible(501) + !Window.IsVisible(VideoFiles)] + Container.Content(Movies)</visible> + <control type="label"> + <posx>30</posx> + <posy>510</posy> + <width>1220</width> + <height>35</height> + <font>font30_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>550</posy> + <width>1280</width> + <height>35</height> + <font>font30</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Year]</label> + </control> + <control type="image"> + <description>Rating value</description> + <posx>580</posx> + <posy>590</posy> + <width>120</width> + <height>24</height> + <texture>CenterRating/$INFO[ListItem.StarRating]</texture> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>0</posx> + <posy>620</posy> + <width>1280</width> + <align>center</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + </control> + <control type="label"> + <posx>0</posx> + <posy>650</posy> + <width>1280</width> + <height>35</height> + <font>font13caps</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Duration,$LOCALIZE[2050] , $LOCALIZE[12391]]</label> + </control> + </control> + <control type="group"> + <visible>[Control.IsVisible(501) + !Window.IsVisible(VideoFiles)] + Container.Content(Seasons)</visible> + <control type="label"> + <posx>30</posx> + <posy>530</posy> + <width>1220</width> + <height>35</height> + <font>font30_title</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>570</posy> + <width>1280</width> + <height>35</height> + <font>font30</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.TVShowTitle]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>610</posy> + <width>1280</width> + <height>35</height> + <font>font13caps</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>640</posy> + <width>1280</width> + <height>35</height> + <font>font12caps</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])</label> + </control> + </control> + <control type="group"> + <visible>[Control.IsVisible(501) + !Window.IsVisible(VideoFiles)] + Container.Content(TVShows)</visible> + <control type="label"> + <posx>30</posx> + <posy>530</posy> + <width>1220</width> + <height>35</height> + <font>font30_title</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>570</posy> + <width>1280</width> + <height>35</height> + <font>font30</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Genre]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>610</posy> + <width>1280</width> + <height>35</height> + <font>font13caps</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>640</posy> + <width>1280</width> + <height>35</height> + <font>font12caps</font> + <textcolor>white</textcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])</label> + </control> + </control> + </include> + <include name="PosterWrapView2_Fanart"> + <control type="group"> + <visible>Control.IsVisible(508)</visible> + <include>VisibleFadeEffect</include> + <posx>0</posx> + <posy>440</posy> + <control type="fixedlist" id="508"> + <visible>Container.Content(Movies) | [Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)]</visible> + <posx>-20</posx> + <posy>0</posy> + <width>1320</width> + <height>250</height> + <onleft>508</onleft> + <onright>508</onright> + <onup>2</onup> + <ondown>60</ondown> + <viewtype label="31029">wrap</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <focusposition>5</focusposition> + <movement>3</movement> + <orientation>horizontal</orientation> + <preloaditems>4</preloaditems> + <itemlayout height="200" width="120"> + <control type="image"> + <posx>2</posx> + <posy>20</posy> + <width>120</width> + <height>160</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <fadetime>200</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>6</posx> + <posy>24</posy> + <width>112</width> + <height>152</height> + <aspectratio>stretch</aspectratio> + <texture>black-back.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>2</posx> + <posy>180</posy> + <width>120</width> + <height>160</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="5" diffuse="diffuse_mirror2.png">button-nofocus.png</bordertexture> + <bordersize>4</bordersize> + <fadetime>200</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + </itemlayout> + <focusedlayout height="310" width="120"> + <control type="image"> + <posx>-2</posx> + <posy>16</posy> + <width>128</width> + <height>168</height> + <aspectratio>stretch</aspectratio> + <bordertexture border="8">ThumbBorder.png</bordertexture> + <bordersize>8</bordersize> + <fadetime>200</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <animation reversible="false" effect="zoom" start="-2,16,128,168" end="-12,-10,148,198" time="200">focus</animation> + <animation reversible="false" effect="zoom" end="-2,16,128,168" start="-12,-10,148,198" time="200">unfocus</animation> + </control> + <control type="image"> + <posx>90</posx> + <posy>150</posy> + <width>35</width> + <height>35</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + <animation type="focus"> + <effect type="fade" start="0" end="100" time="200" /> + <effect type="slide" start="0,0" end="10,5" time="200" /> + </animation> + <animation type="unfocus"> + <effect type="fade" start="100" end="0" time="200" /> + <effect type="slide" end="0,0" start="10,5" time="200" /> + </animation> + </control> + </focusedlayout> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>10</posx> + <posy>215</posy> + <width>290</width> + <align>right</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + <visible>Skin.HasSetting(View508HideInfo)</visible> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>300r</posx> + <posy>215</posy> + <width>290</width> + <align>left</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>AudioCodecFlaggingConditions</include> + <visible>Skin.HasSetting(View508HideInfo)</visible> + </control> + <control type="label"> + <posx>40</posx> + <posy>188</posy> + <width>1200</width> + <height>30</height> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="scrollbar" id="60"> + <posx>310</posx> + <posy>220</posy> + <width>660</width> + <height>25</height> + <texturesliderbackground border="14,0,14,0">ScrollBarH.png</texturesliderbackground> + <texturesliderbar border="14,0,14,0">ScrollBarH_bar.png</texturesliderbar> + <texturesliderbarfocus border="14,0,14,0">ScrollBarH_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onup>508</onup> + <ondown>2</ondown> + <showonepage>false</showonepage> + <orientation>horizontal</orientation> + <visible>Control.IsVisible(508)</visible> + </control> + </control> + <control type="group"> + <posx>180</posx> + <posy>30</posy> + <visible>Control.IsVisible(508) + !Skin.HasSetting(View508HideInfo) + !Window.IsVisible(VideoFiles) + ![ListItem.IsFolder + Container.Content(Movies)]</visible> + <include>VisibleFadeEffect</include> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>920</width> + <height>410</height> + <texture border="20">ContentPanel.png</texture> + </control> + <control type="group"> + <posx>40</posx> + <posy>20</posy> + <visible>Container.Content(Movies)</visible> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>31308</label> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>30</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Genre]</label> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>55</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Year]</label> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>80</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Duration,, $LOCALIZE[12391]]</label> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>105</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[563] : $INFO[ListItem.RatingAndVotes]</label> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + </control> + <control type="group"> + <posx>480</posx> + <posy>20</posy> + <visible>Container.Content(Movies)</visible> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>20339</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>30</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Director]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>75</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>20417</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>105</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>top</aligny> + <label>$INFO[ListItem.Writer]</label> + </control> + </control> + <control type="group"> + <posx>40</posx> + <posy>20</posy> + <visible>Container.Content(TVShows)</visible> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>20351</label> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>30</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Genre]</label> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>55</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Year]</label> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>80</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[563] : $INFO[ListItem.RatingAndVotes]</label> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + </control> + <control type="group"> + <posx>480</posx> + <posy>20</posy> + <visible>Container.Content(TVShows)</visible> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>20360</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>30</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[20161] : $INFO[ListItem.Episode]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>55</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[16102] : $INFO[ListItem.Property(WatchedEpisodes)]</label> + </control> + <control type="label"> + <posx>0</posx> + <posy>80</posy> + <width>400</width> + <height>30</height> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[16101] : $INFO[ListItem.Property(UnWatchedEpisodes)]</label> + </control> + </control> + <control type="group"> + <posx>40</posx> + <posy>180</posy> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>400</width> + <height>30</height> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scroll>true</scroll> + <align>left</align> + <aligny>center</aligny> + <label>207</label> + </control> + <control type="textbox"> + <description>Description Value The Movie</description> + <posx>0</posx> + <posy>30</posy> + <width>850</width> + <height>120</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>40</posx> + <posy>350</posy> + <width>800</width> + <align>left</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + </control> + <control type="grouplist"> + <description>MPAA Rating Flagging Images</description> + <posx>80</posx> + <posy>350</posy> + <width>800</width> + <align>right</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoMPAAFlaggingConditions</include> + </control> + </control> + </include> + <include name="MediaListView3"> + <control type="group"> + <visible>Control.IsVisible(503)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="503"> + <posx>660</posx> + <posy>260</posy> + <width>580</width> + <height>401</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>503</onup> + <ondown>503</ondown> + <viewtype label="$LOCALIZE[544] 2">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <visible>Container.Content(TVShows) | Container.Content(Seasons) | Container.Content(Episodes) | Container.Content(Movies)</visible> + <itemlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>520</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>535</posx> + <posy>0</posy> + <width>500</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="image"> + <posx>545</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </itemlayout> + <focusedlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(503)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(503)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>370</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(503) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>520</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>535</posx> + <posy>0</posy> + <width>500</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="image"> + <posx>545</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>1230</posx> + <posy>260</posy> + <width>25</width> + <height>400</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>503</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(503)</visible> + </control> + <control type="group"> + <posx>50</posx> + <posy>250</posy> + <visible>Container.Content(TVShows) + !Skin.HasSetting(TVShowsUsePosters)</visible> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>130</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>122</posy> + <width>584</width> + <height>114</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="image"> + <posx>560</posx> + <posy>90</posy> + <width>40</width> + <height>40</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + <control type="label"> + <description>Episodes txt</description> + <posx>150</posx> + <posy>145</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[20360]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Episodes Value</description> + <posx>160</posx> + <posy>145</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Aired txt</description> + <posx>150</posx> + <posy>170</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[31322]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Aired Value</description> + <posx>160</posx> + <posy>170</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.premiered]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Genre txt</description> + <posx>150</posx> + <posy>195</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[515]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>160</posx> + <posy>195</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Genre]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="image"> + <posx>0</posx> + <posy>232</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for TVShows</description> + <posx>0</posx> + <posy>250</posy> + <width>600</width> + <height>160</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + <control type="group"> + <posx>80</posx> + <posy>170</posy> + <visible>Container.Content(TVShows) + Skin.HasSetting(TVShowsUsePosters)</visible> + <control type="group"> + <posx>10</posx> + <camera x="640" y="200" /> + <animation effect="rotatey" center="90" start="-30" end="-30" time="0" condition="true">Conditional</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>260</width> + <height>480</height> + <aspectratio aligny="bottom">stretch</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>8</posy> + <width>180</width> + <height>350</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>8</posx> + <posy>472</posy> + <width>244</width> + <height>464</height> + <aspectratio aligny="top">stretch</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + </control> + <control type="label"> + <description>Episodes Count</description> + <posx>320</posx> + <posy>320</posy> + <width>250</width> + <height>25</height> + <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Watched Count</description> + <posx>320</posx> + <posy>380</posy> + <width>250</width> + <height>25</height> + <label>$INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>UnWatched Count</description> + <posx>320</posx> + <posy>400</posy> + <width>250</width> + <height>25</height> + <label>$INFO[ListItem.Property(UnWatchedEpisodes),, $LOCALIZE[16101]]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <control type="group"> + <posx>80</posx> + <posy>170</posy> + <visible>Container.Content(Seasons)</visible> + <control type="group"> + <posx>10</posx> + <camera x="640" y="200" /> + <animation effect="rotatey" center="90" start="-30" end="-30" time="0" condition="true">Conditional</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>260</width> + <height>480</height> + <aspectratio aligny="bottom">stretch</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>8</posy> + <width>180</width> + <height>350</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>8</posx> + <posy>472</posy> + <width>244</width> + <height>464</height> + <aspectratio aligny="top">stretch</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + </control> + <control type="label"> + <description>Main Label txt</description> + <posx>320</posx> + <posy>260</posy> + <width>250</width> + <height>25</height> + <label>$INFO[ListItem.Label]</label> + <align>left</align> + <aligny>center</aligny> + <font>font30</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Episodes Count</description> + <posx>320</posx> + <posy>320</posy> + <width>250</width> + <height>25</height> + <label>$INFO[ListItem.Episode,, $LOCALIZE[20453]]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Watched Count</description> + <posx>320</posx> + <posy>380</posy> + <width>250</width> + <height>25</height> + <label>$INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>UnWatched Count</description> + <posx>320</posx> + <posy>400</posy> + <width>250</width> + <height>25</height> + <label>$INFO[ListItem.Property(UnWatchedEpisodes),, $LOCALIZE[16101]]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </control> + <control type="group"> + <posx>50</posx> + <posy>250</posy> + <visible>Container.Content(Episodes)</visible> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>210</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>202</posy> + <width>600</width> + <height>194</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>0</posx> + <posy>210</posy> + <width>600</width> + <align>center</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + </control> + <control type="label"> + <description>INFO txt</description> + <posx>0</posx> + <posy>245</posy> + <width>600</width> + <height>25</height> + <label>$INFO[ListItem.Season,[COLOR=blue] $LOCALIZE[20373] :[/COLOR] ] $INFO[ListItem.episode,[COLOR=blue] $LOCALIZE[20359] :[/COLOR] ] $INFO[ListItem.premiered,[COLOR=blue] $LOCALIZE[31322] :[/COLOR] ]</label> + <align>center</align> + <aligny>top</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>0</posx> + <posy>275</posy> + <width>600</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for TVShows</description> + <posx>0</posx> + <posy>280</posy> + <width>600</width> + <height>140</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + <control type="group"> + <posx>40</posx> + <posy>170</posy> + <visible>Container.Content(Movies)</visible> + <control type="group"> + <posx>10</posx> + <camera x="640" y="200" /> + <animation effect="rotatey" center="50" start="-30" end="-30" time="0" condition="true">Conditional</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>260</width> + <height>480</height> + <aspectratio aligny="bottom">stretch</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>8</posy> + <width>180</width> + <height>350</height> + <aspectratio>stretch</aspectratio> + <texture>GlassOverlay.png</texture> + <colordiffuse>AAFFFFFF</colordiffuse> + </control> + <control type="image"> + <posx>8</posx> + <posy>472</posy> + <width>244</width> + <height>464</height> + <aspectratio aligny="top">stretch</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + </control> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>0</posx> + <posy>480</posy> + <width>590</width> + <align>center</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + </control> + <control type="textbox"> + <description>Description Value for Movie</description> + <posx>320</posx> + <posy>80</posy> + <width>270</width> + <height>370</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + </control> + </include> + <include name="MediaListView2"> + <control type="group"> + <visible>Control.IsVisible(504)</visible> + <include>VisibleFadeEffect</include> + <control type="list" id="504"> + <posx>660</posx> + <posy>60</posy> + <width>580</width> + <height>601</height> + <onleft>2</onleft> + <onright>60</onright> + <onup>504</onup> + <ondown>504</ondown> + <viewtype label="$LOCALIZE[544]">list</viewtype> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <visible>Container.Content(TVShows) | Container.Content(Movies) | Container.Content(Seasons) | Container.Content(Episodes)</visible> + <itemlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>520</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>535</posx> + <posy>0</posy> + <width>500</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="image"> + <posx>545</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </itemlayout> + <focusedlayout height="40" width="580"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(504)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>580</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(504)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>370</posx> + <posy>5</posy> + <width>200</width> + <height>31</height> + <texture border="0,0,14,0">MediaItemDetailBG.png</texture> + <visible>Control.HasFocus(504) + !IsEmpty(ListItem.Label2)</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>520</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>535</posx> + <posy>0</posy> + <width>500</width> + <height>40</height> + <font>font12</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + <control type="image"> + <posx>545</posx> + <posy>14</posy> + <width>20</width> + <height>16</height> + <texture>$INFO[ListItem.Overlay]</texture> + </control> + </focusedlayout> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <visible>Control.IsVisible(504)</visible> + <control type="scrollbar" id="60"> + <posx>1180</posx> + <posy>0</posy> + <width>25</width> + <height>600</height> + <texturesliderbackground border="10,14,10,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="10,14,10,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="10,14,10,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>504</onleft> + <onright>2</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Control.IsVisible(504)</visible> + </control> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <visible>Control.IsVisible(504) + Container.Content(TVShows)</visible> + <control type="label"> + <description>Show Title txt</description> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.Label]</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>340</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" fallback="Fanart_Fallback_Small.jpg">$INFO[ListItem.Property(fanart_image)]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>140</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>Skin.HasSetting(VideoLibraryFanartView504) + !Skin.HasSetting(TVShowsUsePosters)</visible> + </control> + <control type="image"> + <posx>8</posx> + <posy>162</posy> + <width>584</width> + <height>140</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + <visible>Skin.HasSetting(VideoLibraryFanartView504) + !Skin.HasSetting(TVShowsUsePosters)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>400</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>Skin.HasSetting(VideoLibraryFanartView504) + Skin.HasSetting(TVShowsUsePosters)</visible> + </control> + <control type="image"> + <posx>8</posx> + <posy>422</posy> + <width>584</width> + <height>380</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + <visible>Skin.HasSetting(VideoLibraryFanartView504) + Skin.HasSetting(TVShowsUsePosters)</visible> + </control> + <control type="group"> + <posy>200</posy> + <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible> + <control type="label"> + <description>Aired txt</description> + <posx>150</posx> + <posy>170</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[31322]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Aired Value</description> + <posx>160</posx> + <posy>170</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.premiered]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Genre txt</description> + <posx>150</posx> + <posy>195</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[515]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>160</posx> + <posy>195</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Genre]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="image"> + <posx>0</posx> + <posy>232</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for TVShows</description> + <posx>0</posx> + <posy>250</posy> + <width>600</width> + <height>160</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + <control type="group"> + <posy>30</posy> + <visible>Skin.HasSetting(VideoLibraryFanartView504) + !Skin.HasSetting(TVShowsUsePosters)</visible> + <control type="label"> + <description>Aired txt</description> + <posx>150</posx> + <posy>170</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[31322]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Aired Value</description> + <posx>160</posx> + <posy>170</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.premiered]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Genre txt</description> + <posx>150</posx> + <posy>195</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[515]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>160</posx> + <posy>195</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Genre]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Episodes txt</description> + <posx>150</posx> + <posy>220</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[20360]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Episodes Value</description> + <posx>160</posx> + <posy>220</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="image"> + <posx>0</posx> + <posy>260</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for TVShows</description> + <posx>0</posx> + <posy>275</posy> + <width>600</width> + <height>290</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + <control type="group"> + <posy>250</posy> + <visible>Skin.HasSetting(VideoLibraryFanartView504) + Skin.HasSetting(TVShowsUsePosters)</visible> + <control type="label"> + <description>Genre txt</description> + <posx>150</posx> + <posy>195</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[515]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>160</posx> + <posy>195</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Genre]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Episodes txt</description> + <posx>150</posx> + <posy>220</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[20360]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Episodes Value</description> + <posx>160</posx> + <posy>220</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="image"> + <posx>0</posx> + <posy>260</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for TVShows</description> + <posx>0</posx> + <posy>275</posy> + <width>600</width> + <height>100</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <visible>Control.IsVisible(504) + Container.Content(Movies)</visible> + <control type="label"> + <description>Show Title txt</description> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.Label]</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>340</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" fallback="Fanart_Fallback_Small.jpg" >$INFO[ListItem.Property(fanart_image)]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>480</height> + <aspectratio>keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + <visible>Skin.HasSetting(VideoLibraryFanartView504)</visible> + </control> + <control type="image"> + <posx>8</posx> + <posy>502</posy> + <width>584</width> + <height>464</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + <visible>Skin.HasSetting(VideoLibraryFanartView504)</visible> + </control> + <control type="group"> + <posy>200</posy> + <visible>!Skin.HasSetting(VideoLibraryFanartView504)</visible> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>0</posx> + <posy>170</posy> + <width>600</width> + <align>center</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>205</posy> + <width>600</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Year txt</description> + <posx>150</posx> + <posy>215</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[345]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Year Value</description> + <posx>160</posx> + <posy>215</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Year]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Genre txt</description> + <posx>150</posx> + <posy>240</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[515]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>160</posx> + <posy>240</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Genre]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="image"> + <posx>0</posx> + <posy>275</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for Movie</description> + <posx>0</posx> + <posy>290</posy> + <width>600</width> + <height>120</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + <control type="group"> + <posy>370</posy> + <visible>Skin.HasSetting(VideoLibraryFanartView504)</visible> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>0</posx> + <posy>140</posy> + <width>600</width> + <align>center</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>175</posy> + <width>600</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Year txt</description> + <posx>150</posx> + <posy>185</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[345]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Year Value</description> + <posx>160</posx> + <posy>185</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Year]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Genre txt</description> + <posx>150</posx> + <posy>210</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[515]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>160</posx> + <posy>210</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Genre]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + </control> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <visible>Control.IsVisible(504) + Container.Content(Seasons)</visible> + <control type="label"> + <description>Show Title txt</description> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.TVShowTitle]</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>0</posx> + <posy>30</posy> + <width>600</width> + <height>480</height> + <aspectratio>keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>502</posy> + <width>584</width> + <height>464</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="label"> + <description>Season Title txt</description> + <posx>0</posx> + <posy>530</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.Label]</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="label"> + <description>Episode Count txt</description> + <posx>0</posx> + <posy>560</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.Episode] $LOCALIZE[20453]</label> + <align>center</align> + <aligny>center</aligny> + <font>font16caps</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + </control> + <control type="group"> + <posx>50</posx> + <posy>60</posy> + <visible>Control.IsVisible(504) + Container.Content(Episodes)</visible> + <control type="label"> + <description>Episode txt</description> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>15</height> + <label>$INFO[ListItem.Title]</label> + <align>center</align> + <aligny>center</aligny> + <font>font24_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <wrapmultiline>true</wrapmultiline> + </control> + <control type="image"> + <posx>0</posx> + <posy>40</posy> + <width>600</width> + <height>320</height> + <aspectratio aligny="bottom">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true">$INFO[ListItem.Icon]</texture> + <bordertexture background="true" border="8">ThumbShadow.png</bordertexture> + <bordersize>8</bordersize> + </control> + <control type="image"> + <posx>8</posx> + <posy>352</posy> + <width>584</width> + <height>304</height> + <aspectratio aligny="top">keep</aspectratio> + <fadetime>IconCrossfadeTime</fadetime> + <texture background="true" flipy="true" diffuse="diffuse_mirror2.png">$INFO[ListItem.Icon]</texture> + </control> + <control type="group"> + <posy>200</posy> + <control type="grouplist"> + <description>Media Codec Flagging Images</description> + <posx>0</posx> + <posy>160</posy> + <width>600</width> + <align>center</align> + <itemgap>0</itemgap> + <orientation>horizontal</orientation> + <include>VideoCodecFlaggingConditions</include> + <include>AudioCodecFlaggingConditions</include> + <include>AspectCodecFlaggingConditions</include> + <include>VideoTypeHackFlaggingConditions</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>200</posy> + <width>600</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Aired txt</description> + <posx>150</posx> + <posy>210</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[31322]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Aired Value</description> + <posx>160</posx> + <posy>210</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.premiered]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="label"> + <description>Episode txt</description> + <posx>150</posx> + <posy>235</posy> + <width>140</width> + <height>25</height> + <label>$LOCALIZE[20359]:</label> + <align>right</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>blue</textcolor> + </control> + <control type="label"> + <description>Genre Value</description> + <posx>160</posx> + <posy>235</posy> + <width>440</width> + <height>25</height> + <label fallback="416">$INFO[listitem.Season,,x]$INFO[listitem.Episode]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13</font> + <scroll>true</scroll> + </control> + <control type="image"> + <posx>0</posx> + <posy>272</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="textbox"> + <description>Description Value for Episodes</description> + <posx>0</posx> + <posy>290</posy> + <width>600</width> + <height>120</height> + <font>font12</font> + <align>justify</align> + <textcolor>white</textcolor> + <label>$INFO[ListItem.Plot]</label> + <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll> + </control> + </control> + </control> + </control> + </include> +</includes> diff --git a/addons/skin.confluence/720p/VisualisationPresetList.xml b/addons/skin.confluence/720p/VisualisationPresetList.xml index cace47e7d0..07f0220ce7 100644 --- a/addons/skin.confluence/720p/VisualisationPresetList.xml +++ b/addons/skin.confluence/720p/VisualisationPresetList.xml @@ -1,151 +1,151 @@ -<window id="122">
- <defaultcontrol>2</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>115</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="group">
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>490</height>
- <colordiffuse>DDFFFFFF</colordiffuse>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>2</onleft>
- <onright>2</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <label>31048</label>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="4">
- <description>No Settings Label</description>
- <posx>20</posx>
- <posy>180</posy>
- <width>760</width>
- <align>center</align>
- <label>13389</label>
- <font>font13caps</font>
- </control>
- <control type="list" id="2">
- <posx>40</posx>
- <posy>65</posy>
- <width>720</width>
- <height>395</height>
- <onleft>60</onleft>
- <onright>60</onright>
- <onup>2</onup>
- <ondown>2</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40" width="720">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>720</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>720</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </itemlayout>
- <focusedlayout height="40" width="720">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>720</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemNF.png</texture>
- <visible>!Control.HasFocus(2)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>720</width>
- <height>41</height>
- <texture border="0,2,0,2">MenuItemFO.png</texture>
- <visible>Control.HasFocus(2)</visible>
- <include>VisibleFadeEffect</include>
- </control>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>720</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>760</posx>
- <posy>65</posy>
- <width>25</width>
- <height>390</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>2</onleft>
- <onright>2</onright>
- <ondown>60</ondown>
- <onup>60</onup>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- </control>
- </controls>
-</window>
+<window id="122"> + <defaultcontrol>2</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>115</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="group"> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>490</height> + <colordiffuse>DDFFFFFF</colordiffuse> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>2</onleft> + <onright>2</onright> + <onup>2</onup> + <ondown>2</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <label>31048</label> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="4"> + <description>No Settings Label</description> + <posx>20</posx> + <posy>180</posy> + <width>760</width> + <align>center</align> + <label>13389</label> + <font>font13caps</font> + </control> + <control type="list" id="2"> + <posx>40</posx> + <posy>65</posy> + <width>720</width> + <height>395</height> + <onleft>60</onleft> + <onright>60</onright> + <onup>2</onup> + <ondown>2</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40" width="720"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>720</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>720</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </itemlayout> + <focusedlayout height="40" width="720"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>720</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemNF.png</texture> + <visible>!Control.HasFocus(2)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>720</width> + <height>41</height> + <texture border="0,2,0,2">MenuItemFO.png</texture> + <visible>Control.HasFocus(2)</visible> + <include>VisibleFadeEffect</include> + </control> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>720</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>760</posx> + <posy>65</posy> + <width>25</width> + <height>390</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>2</onleft> + <onright>2</onright> + <ondown>60</ondown> + <onup>60</onup> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + </control> + </controls> +</window> diff --git a/addons/skin.confluence/720p/custom_DiscDialog_1113.xml b/addons/skin.confluence/720p/custom_DiscDialog_1113.xml index 913f352cf2..ff7b39b891 100644 --- a/addons/skin.confluence/720p/custom_DiscDialog_1113.xml +++ b/addons/skin.confluence/720p/custom_DiscDialog_1113.xml @@ -1,79 +1,79 @@ -<window id="1113" type="dialog">
- <defaultcontrol always="true">9000</defaultcontrol>
- <include>dialogeffect</include>
- <coordinates>
- <system>1</system>
- <posx>55</posx>
- <posy>570</posy>
- </coordinates>
- <controls>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>200</width>
- <height>150</height>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="group" id="9000">
- <control type="button" id="1">
- <description>Play Button</description>
- <posx>10</posx>
- <posy>10</posy>
- <width>180</width>
- <height>40</height>
- <label>208</label>
- <font>font13</font>
- <align>center</align>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <onclick>XBMC.PlayDVD()</onclick>
- <onclick>Dialog.Close(1113)</onclick>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onleft>Dialog.Close(1113)</onleft>
- <onright>1</onright>
- <onup>3</onup>
- <ondown>2</ondown>
- <enable>System.HasMediaDVD</enable>
- </control>
- <control type="button" id="2">
- <description>Eject Button</description>
- <posx>10</posx>
- <posy>50</posy>
- <width>180</width>
- <height>40</height>
- <label>13391</label>
- <font>font13</font>
- <align>center</align>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <onclick>EjectTray()</onclick>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onleft>Dialog.Close(1113)2</onleft>
- <onright>2</onright>
- <onup>1</onup>
- <ondown>3</ondown>
- </control>
- <control type="button" id="3">
- <description>Cancel Button</description>
- <posx>10</posx>
- <posy>90</posy>
- <width>180</width>
- <height>40</height>
- <label>222</label>
- <font>font13</font>
- <align>center</align>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <onclick>Dialog.Close(1113)</onclick>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onleft>Dialog.Close(1113)</onleft>
- <onright>3</onright>
- <onup>2</onup>
- <ondown>1</ondown>
- </control>
- </control>
- </controls>
+<window id="1113" type="dialog"> + <defaultcontrol always="true">9000</defaultcontrol> + <include>dialogeffect</include> + <coordinates> + <system>1</system> + <posx>55</posx> + <posy>570</posy> + </coordinates> + <controls> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>200</width> + <height>150</height> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="group" id="9000"> + <control type="button" id="1"> + <description>Play Button</description> + <posx>10</posx> + <posy>10</posy> + <width>180</width> + <height>40</height> + <label>208</label> + <font>font13</font> + <align>center</align> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <onclick>XBMC.PlayDVD()</onclick> + <onclick>Dialog.Close(1113)</onclick> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + <onleft>Dialog.Close(1113)</onleft> + <onright>1</onright> + <onup>3</onup> + <ondown>2</ondown> + <enable>System.HasMediaDVD</enable> + </control> + <control type="button" id="2"> + <description>Eject Button</description> + <posx>10</posx> + <posy>50</posy> + <width>180</width> + <height>40</height> + <label>13391</label> + <font>font13</font> + <align>center</align> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <onclick>EjectTray()</onclick> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + <onleft>Dialog.Close(1113)2</onleft> + <onright>2</onright> + <onup>1</onup> + <ondown>3</ondown> + </control> + <control type="button" id="3"> + <description>Cancel Button</description> + <posx>10</posx> + <posy>90</posy> + <width>180</width> + <height>40</height> + <label>222</label> + <font>font13</font> + <align>center</align> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <onclick>Dialog.Close(1113)</onclick> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + <onleft>Dialog.Close(1113)</onleft> + <onright>3</onright> + <onup>2</onup> + <ondown>1</ondown> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/custom_SkinSetting_1111.xml b/addons/skin.confluence/720p/custom_SkinSetting_1111.xml index 523145cc99..b7f2823637 100644 --- a/addons/skin.confluence/720p/custom_SkinSetting_1111.xml +++ b/addons/skin.confluence/720p/custom_SkinSetting_1111.xml @@ -1,1682 +1,1682 @@ -<window id="1111">
- <defaultcontrol always="true">9000</defaultcontrol>
- <controls>
- <include>CommonSettingsBackground</include>
- <include>CommonMediaPlayingBackground</include>
- <control type="group">
- <posx>90</posx>
- <posy>50</posy>
- <animation type="WindowOpen" reversible="false">
- <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" />
- <effect type="fade" start="0" end="100" time="300" />
- </animation>
- <animation type="WindowClose" reversible="false">
- <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" />
- <effect type="fade" start="100" end="0" time="300" />
- </animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1100</width>
- <height>640</height>
- <texture border="20">DialogBack.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>980</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>1</onleft>
- <onright>1</onright>
- <onup>1</onup>
- <ondown>1</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="image">
- <description>LOGO</description>
- <posx>30</posx>
- <posy>15</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="list" id="9000">
- <posx>10</posx>
- <posy>90</posy>
- <width>260</width>
- <height>481</height>
- <onleft>9010</onleft>
- <onright>9010</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>300</scrolltime>
- <itemlayout height="80" width="260">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>260</width>
- <height>81</height>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>15</posy>
- <width>380</width>
- <height>25</height>
- <font>font24_title</font>
- <textcolor>grey3</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>42</posy>
- <width>870</width>
- <height>25</height>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </itemlayout>
- <focusedlayout height="80" width="260">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>260</width>
- <height>81</height>
- <texture border="5">MenuItemFO.png</texture>
- <animation effect="fade" start="100" end="30" time="100" condition="!Control.HasFocus(9000)">Conditional</animation>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>15</posy>
- <width>380</width>
- <height>25</height>
- <font>font24_title</font>
- <textcolor>white</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="label">
- <posx>250</posx>
- <posy>42</posy>
- <width>870</width>
- <height>25</height>
- <font>font13caps</font>
- <textcolor>grey2</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label2]</label>
- </control>
- </focusedlayout>
- <content>
- <item id="1">
- <label>128</label>
- <label2>5</label2>
- <onclick>-</onclick>
- </item>
- <item id="2">
- <label>513</label>
- <label2>31112</label2>
- <onclick>-</onclick>
- </item>
- <item id="3">
- <label>31102</label>
- <label2>31115</label2>
- <onclick>-</onclick>
- </item>
- <item id="4">
- <label>24000</label>
- <label2>31200</label2>
- <onclick>-</onclick>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>790</width>
- <height>618</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>268</posx>
- <posy>10</posy>
- <width>804</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>300</posx>
- <posy>20</posy>
- <width>740</width>
- <height>30</height>
- <font>font16caps</font>
- <label>$LOCALIZE[20077] - $INFO[Container(9000).ListItem.Label]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="group" id="9010">
- <control type="grouplist" id="9001">
- <visible>Container(9000).Hasfocus(1)</visible>
- <posx>290</posx>
- <posy>60</posy>
- <width>750</width>
- <height>530</height>
- <itemgap>-1</itemgap>
- <pagecontrol>60</pagecontrol>
- <onleft>9000</onleft>
- <onright>60</onright>
- <onup>9001</onup>
- <ondown>9001</ondown>
- <control type="label" id="100">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31106</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="101">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>20189</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(AutoScroll)</onclick>
- <selected>Skin.HasSetting(AutoScroll)</selected>
- </control>
- <control type="radiobutton" id="102">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>31103</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(Show_SlideShow_Paused)</onclick>
- <selected>!Skin.HasSetting(Show_SlideShow_Paused)</selected>
- </control>
- <control type="radiobutton" id="103">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>31105</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(No_Media_Titles_In_Scanner)</onclick>
- <selected>!Skin.HasSetting(No_Media_Titles_In_Scanner)</selected>
- </control>
- <control type="radiobutton" id="112">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>31104</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(WindowedTrailer)</onclick>
- <selected>Skin.HasSetting(WindowedTrailer)</selected>
- </control>
- <control type="radiobutton" id="113">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>31107</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(HideFilenameFlagging)</onclick>
- <selected>Skin.HasSetting(HideFilenameFlagging)</selected>
- </control>
- <control type="label" id="104">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>20343</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="105">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>31123</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(TVShowsUsePosters)</onclick>
- <selected>Skin.HasSetting(TVShowsUsePosters)</selected>
- </control>
- <control type="label" id="106">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>512</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="107">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>21398</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(Use_Startup_Playlist)</onclick>
- <selected>Skin.HasSetting(Use_Startup_Playlist)</selected>
- </control>
- <control type="button" id="108">
- <description>Startup Playlist Path</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>15311</label>
- <label2>$INFO[Skin.String(Startup_Playlist_Path)]</label2>
- <onclick>Skin.SetFile(Startup_Playlist_Path,.m3u,t:\playlists\music\)</onclick>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <enable>Skin.HasSetting(Use_Startup_Playlist)</enable>
- </control>
- <control type="label" id="109">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31102</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="110">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>31124</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(ShowBackgroundVideo)</onclick>
- <selected>!Skin.HasSetting(ShowBackgroundVideo)</selected>
- </control>
- <control type="radiobutton" id="111">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>31125</label>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.ToggleSetting(ShowBackgroundVis)</onclick>
- <selected>!Skin.HasSetting(ShowBackgroundVis)</selected>
- </control>
- </control>
- <control type="scrollbar" id="60">
- <posx>1060</posx>
- <posy>60</posy>
- <width>25</width>
- <height>530</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>9001</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Container(9000).Hasfocus(1)</visible>
- </control>
- <control type="grouplist" id="9002">
- <visible>Container(9000).Hasfocus(2)</visible>
- <posx>290</posx>
- <posy>60</posy>
- <width>750</width>
- <height>530</height>
- <itemgap>-1</itemgap>
- <pagecontrol>60</pagecontrol>
- <onleft>9000</onleft>
- <onright>60</onright>
- <onup>9002</onup>
- <ondown>9002</ondown>
- <control type="label" id="200">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31101</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="202">
- <description>enable video info</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>20176</label>
- <onclick>Skin.ToggleSetting(homepageVideoinfo)</onclick>
- <selected>!Skin.HasSetting(homepageVideoinfo)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="203">
- <description>enable music info</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>20083</label>
- <onclick>Skin.ToggleSetting(homepageMusicinfo)</onclick>
- <selected>!Skin.HasSetting(homepageMusicinfo)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="204">
- <description>enable weather info</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>20084</label>
- <onclick>Skin.ToggleSetting(homepageWeatherinfo)</onclick>
- <selected>!Skin.HasSetting(homepageWeatherinfo)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="205">
- <description>Show Recently added info</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>31117</label>
- <onclick>Skin.ToggleSetting(homepageShowRecentlyAdded)</onclick>
- <selected>Skin.HasSetting(homepageShowRecentlyAdded)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="label" id="206">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31108</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="radiobutton" id="207">
- <description>Hide Videos Button</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>$LOCALIZE[31111] - $LOCALIZE[3]</label>
- <onclick>Skin.ToggleSetting(HomeMenuNoVideosButton)</onclick>
- <selected>Skin.HasSetting(HomeMenuNoVideosButton)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="217">
- <description>Hide Movies Button</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>$LOCALIZE[31111] - $LOCALIZE[20342] [COLOR=grey3] ($LOCALIZE[20314])[/COLOR]</label>
- <onclick>Skin.ToggleSetting(HomeMenuNoMoviesButton)</onclick>
- <selected>!Skin.HasSetting(HomeMenuNoMoviesButton)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <enable>Library.HasContent(Movies)</enable>
- </control>
- <control type="radiobutton" id="218">
- <description>Hide TV Shows Button</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>$LOCALIZE[31111] - $LOCALIZE[20343] [COLOR=grey3] ($LOCALIZE[20314])[/COLOR]</label>
- <onclick>Skin.ToggleSetting(HomeMenuNoTVShowsButton)</onclick>
- <selected>!Skin.HasSetting(HomeMenuNoTVShowsButton)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <enable>Library.HasContent(TVShows)</enable>
- </control>
- <control type="radiobutton" id="208">
- <description>Hide Music Button</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>$LOCALIZE[31111] - $LOCALIZE[2]</label>
- <onclick>Skin.ToggleSetting(HomeMenuNoMusicButton)</onclick>
- <selected>Skin.HasSetting(HomeMenuNoMusicButton)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="209">
- <description>Hide Pictures Button</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>$LOCALIZE[31111] - $LOCALIZE[1]</label>
- <onclick>Skin.ToggleSetting(HomeMenuNoPicturesButton)</onclick>
- <selected>Skin.HasSetting(HomeMenuNoPicturesButton)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="210">
- <description>Hide Programs Button</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>$LOCALIZE[31111] - $LOCALIZE[0]</label>
- <onclick>Skin.ToggleSetting(HomeMenuNoProgramsButton)</onclick>
- <selected>Skin.HasSetting(HomeMenuNoProgramsButton)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="212">
- <description>Hide Weather Button</description>
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <label>$LOCALIZE[31111] - $LOCALIZE[8]</label>
- <onclick>Skin.ToggleSetting(HomeMenuNoWeatherButton)</onclick>
- <selected>Skin.HasSetting(HomeMenuNoWeatherButton)</selected>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- </control>
- <control type="scrollbar" id="60">
- <posx>1060</posx>
- <posy>60</posy>
- <width>25</width>
- <height>530</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>9002</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Container(9000).Hasfocus(2)</visible>
- </control>
- <control type="group">
- <posx>290</posx>
- <posy>60</posy>
- <visible>Container(9000).Hasfocus(3)</visible>
- <control type="label">
- <posx>0</posx>
- <posy>0</posy>
- <width>680</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31109</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="304">
- <description>Menu Item Next Button</description>
- <posx>670</posx>
- <posy>53</posy>
- <width>33</width>
- <height>22</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>scroll-down-2.png</texturenofocus>
- <texturefocus>scroll-down-focus-2.png</texturefocus>
- <onclick>Control.Move(9003,1)</onclick>
- <onleft>9000</onleft>
- <onright>305</onright>
- <onup>300</onup>
- <ondown>300</ondown>
- </control>
- <control type="button" id="305">
- <description>Menu Item Prev Button</description>
- <posx>703</posx>
- <posy>53</posy>
- <width>33</width>
- <height>22</height>
- <label>-</label>
- <font>-</font>
- <texturenofocus>scroll-up-2.png</texturenofocus>
- <texturefocus>scroll-up-focus-2.png</texturefocus>
- <onclick>Control.Move(9003,-1)</onclick>
- <onleft>304</onleft>
- <onright>9000</onright>
- <onup>300</onup>
- <ondown>300</ondown>
- </control>
- <control type="list" id="9003">
- <hitrect x="0" y="0" w="0" h="0" />
- <posx>0</posx>
- <posy>45</posy>
- <width>750</width>
- <height>40</height>
- <onleft>9000</onleft>
- <onright>300</onright>
- <onup>9003</onup>
- <ondown>9003</ondown>
- <pagecontrol>-</pagecontrol>
- <scrolltime>0</scrolltime>
- <itemlayout height="1" width="750">
- </itemlayout>
- <focusedlayout height="40" width="750">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>750</width>
- <height>40</height>
- <texture>MenuItemNF.png</texture>
- <visible>![Control.HasFocus(304) | Control.HasFocus(305)]</visible>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>750</width>
- <height>40</height>
- <texture>MenuItemFO.png</texture>
- <visible>[Control.HasFocus(304) | Control.HasFocus(305)]</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>600</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31110]</label>
- <visible>![Control.HasFocus(304) | Control.HasFocus(305)]</visible>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>600</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <align>left</align>
- <aligny>center</aligny>
- <label>$LOCALIZE[31110]</label>
- <visible>[Control.HasFocus(304) | Control.HasFocus(305)]</visible>
- </control>
- <control type="label">
- <posx>650</posx>
- <posy>0</posy>
- <width>640</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- <visible>![Control.HasFocus(304) | Control.HasFocus(305)]</visible>
- </control>
- <control type="label">
- <posx>650</posx>
- <posy>0</posy>
- <width>640</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>white</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- <visible>[Control.HasFocus(304) | Control.HasFocus(305)]</visible>
- </control>
- </focusedlayout>
- <content>
- <item id="1">
- <label>3</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb>
- </item>
- <item id="10">
- <label>20342</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Movies_Folder)]</thumb>
- <visible>Skin.HasSetting(HomeMenuNoMoviesButton) + Library.HasContent(Movies)</visible>
- </item>
- <item id="11">
- <label>20343</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/videos.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_TVShow_Folder)]</thumb>
- <visible>Skin.HasSetting(HomeMenuNoTVShowsButton) + Library.HasContent(TVShows)</visible>
- </item>
- <item id="2">
- <label>2</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/music.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Music_Folder)]</thumb>
- </item>
- <item id="3">
- <label>1</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/pictures.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Pictures_Folder)]</thumb>
- </item>
- <item id="4">
- <label>0</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/programs.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</thumb>
- </item>
- <item id="5">
- <label>8</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/weather.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb>
- </item>
- <item id="7">
- <label>13000</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/settings.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Settings_Folder)]</thumb>
- </item>
- <item id="8">
- <label>24001</label>
- <onclick>-</onclick>
- <icon>special://skin/backgrounds/Addons.jpg</icon>
- <thumb>$INFO[Skin.String(Home_Custom_Back_Addons_Folder)]</thumb>
- </item>
- </content>
- </control>
- <control type="image">
- <posx>85</posx>
- <posy>100</posy>
- <width>580</width>
- <height>435</height>
- <texture>black-back.png</texture>
- </control>
- <control type="group">
- <posx>95</posx>
- <posy>110</posy>
- <control type="group">
- <visible>Container(9003).HasFocus(1)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Video_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Video_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Video_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(2)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Music_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Music_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Music_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(3)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Pictures_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Pictures_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Pictures_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(4)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Programs_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Programs_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Programs_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(5)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Weather_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Weather_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Weather_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(7)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Settings_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Settings_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Settings_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(8)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Addons_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Addons_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Addons_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(10)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_Movies_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_Movies_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_Movies_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- <control type="group">
- <visible>Container(9003).HasFocus(11)</visible>
- <control type="button" id="300">
- <description>Single Image button</description>
- <posx>5</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31113</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetImage(Home_Custom_Back_TVShow_Folder)</onclick>
- <onleft>302</onleft>
- <onright>301</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="301">
- <description>Multi Image button</description>
- <posx>190</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>31114</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.SetPath(Home_Custom_Back_TVShow_Folder)</onclick>
- <onleft>300</onleft>
- <onright>302</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- <control type="button" id="302">
- <description>Default Image button</description>
- <posx>375</posx>
- <posy>0</posy>
- <width>180</width>
- <height>40</height>
- <label>571</label>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <align>center</align>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onclick>Skin.Reset(Home_Custom_Back_TVShow_Folder)</onclick>
- <onleft>301</onleft>
- <onright>300</onright>
- <onup>304</onup>
- <ondown>304</ondown>
- </control>
- </control>
- </control>
- <control type="multiimage">
- <posx>95</posx>
- <posy>160</posy>
- <width>560</width>
- <height>335</height>
- <imagepath background="true">$INFO[Container(9003).ListItem.Icon]</imagepath>
- <timeperimage>6000</timeperimage>
- <randomize>true</randomize>
- <fadetime>500</fadetime>
- </control>
- <control type="label">
- <posx>95</posx>
- <posy>505</posy>
- <width>560</width>
- <height>20</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font11</font>
- <haspath>yes</haspath>
- <label fallback="571">$INFO[Container(9003).ListItem.Thumb]</label>
- <textcolor>white</textcolor>
- </control>
- </control>
- <control type="group">
- <control type="grouplist" id="9004">
- <visible>Container(9000).Hasfocus(4)</visible>
- <posx>290</posx>
- <posy>60</posy>
- <width>750</width>
- <height>530</height>
- <itemgap>-1</itemgap>
- <pagecontrol>61</pagecontrol>
- <onleft>9000</onleft>
- <onright>61</onright>
- <onup>9004</onup>
- <ondown>9004</ondown>
- <control type="label" id="410">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31134</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="411">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]1[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton1))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeVideosButton1,xbmc.addon.video)</onclick>
- </control>
- <control type="button" id="412">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]2[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton2))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeVideosButton2,xbmc.addon.video)</onclick>
- </control>
- <control type="button" id="413">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]3[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton3))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeVideosButton3,xbmc.addon.video)</onclick>
- </control>
-
- <control type="label" id="420">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31135</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="421">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]1[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton1))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeMusicButton1,xbmc.addon.audio)</onclick>
- </control>
- <control type="button" id="422">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]2[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton2))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeMusicButton2,xbmc.addon.audio)</onclick>
- </control>
- <control type="button" id="423">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]3[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton3))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeMusicButton3,xbmc.addon.audio)</onclick>
- </control>
-
- <control type="label" id="430">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31136</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="431">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]1[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton1))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomePictureButton1,xbmc.addon.image)</onclick>
- </control>
- <control type="button" id="432">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]2[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton2))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomePictureButton2,xbmc.addon.image)</onclick>
- </control>
- <control type="button" id="433">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]3[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton3))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomePictureButton3,xbmc.addon.image)</onclick>
- </control>
- <control type="button" id="434">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]4[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton4))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomePictureButton4,xbmc.addon.image)</onclick>
- </control>
- <control type="button" id="435">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]5[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton5))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomePictureButton5,xbmc.addon.image)</onclick>
- </control>
- <control type="button" id="436">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]6[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton6))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomePictureButton6,xbmc.addon.image)</onclick>
- </control>
-
- <control type="label" id="440">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31118</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="441">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]1[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton1))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeProgramButton1,xbmc.addon.executable)</onclick>
- </control>
- <control type="button" id="442">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]2[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton2))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeProgramButton2,xbmc.addon.executable)</onclick>
- </control>
- <control type="button" id="443">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]3[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton3))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeProgramButton3,xbmc.addon.executable)</onclick>
- </control>
- <control type="button" id="444">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]4[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton4))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeProgramButton4,xbmc.addon.executable)</onclick>
- </control>
- <control type="button" id="445">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]5[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton5))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeProgramButton5,xbmc.addon.executable)</onclick>
- </control>
- <control type="button" id="446">
- <width>750</width>
- <height>40</height>
- <font>font13</font>
- <label>$LOCALIZE[24000] [B]6[/B]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton6))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(HomeProgramButton6,xbmc.addon.executable)</onclick>
- </control>
-
- <control type="label" id="453">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31140</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="455">
- <width>750</width>
- <height>35</height>
- <font>font12</font>
- <label>$LOCALIZE[31132]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(LyricScript_Path))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(LyricScript_Path,xbmc.python.lyrics)</onclick>
- </control>
-
- <control type="label" id="456">
- <width>750</width>
- <height>45</height>
- <font>font13_title</font>
- <label>31141</label>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- <align>left</align>
- <aligny>center</aligny>
- </control>
- <control type="button" id="458">
- <width>750</width>
- <height>35</height>
- <font>font12</font>
- <label>$LOCALIZE[31133]</label>
- <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(SubtitleScript_Path))][/COLOR]</label2>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <onclick>Skin.SetAddon(SubtitleScript_Path,xbmc.python.subtitles)</onclick>
- </control>
- </control>
- </control>
- <control type="scrollbar" id="61">
- <posx>1060</posx>
- <posy>60</posy>
- <width>25</width>
- <height>530</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>9004</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- <visible>Container(9000).Hasfocus(4)</visible>
- </control>
- </control>
- </control>
- <include>BehindDialogFadeOut</include>
- <control type="group">
- <posx>60</posx>
- <posy>0</posy>
- <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation>
- <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>250</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="label">
- <include>WindowTitleCommons</include>
- <posx>220</posx>
- <label>$LOCALIZE[20077]</label>
- </control>
- </control>
- <include>WindowTitleHomeButton</include>
- <include>Clock</include>
- </controls>
-</window>
+<window id="1111"> + <defaultcontrol always="true">9000</defaultcontrol> + <controls> + <include>CommonSettingsBackground</include> + <include>CommonMediaPlayingBackground</include> + <control type="group"> + <posx>90</posx> + <posy>50</posy> + <animation type="WindowOpen" reversible="false"> + <effect type="zoom" start="80" end="100" center="640,360" easing="out" tween="back" time="300" /> + <effect type="fade" start="0" end="100" time="300" /> + </animation> + <animation type="WindowClose" reversible="false"> + <effect type="zoom" start="100" end="80" center="640,360" easing="in" tween="back" time="300" /> + <effect type="fade" start="100" end="0" time="300" /> + </animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1100</width> + <height>640</height> + <texture border="20">DialogBack.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>980</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>1</onleft> + <onright>1</onright> + <onup>1</onup> + <ondown>1</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="image"> + <description>LOGO</description> + <posx>30</posx> + <posy>15</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="list" id="9000"> + <posx>10</posx> + <posy>90</posy> + <width>260</width> + <height>481</height> + <onleft>9010</onleft> + <onright>9010</onright> + <onup>9000</onup> + <ondown>9000</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>300</scrolltime> + <itemlayout height="80" width="260"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>260</width> + <height>81</height> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>250</posx> + <posy>15</posy> + <width>380</width> + <height>25</height> + <font>font24_title</font> + <textcolor>grey3</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>250</posx> + <posy>42</posy> + <width>870</width> + <height>25</height> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </itemlayout> + <focusedlayout height="80" width="260"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>260</width> + <height>81</height> + <texture border="5">MenuItemFO.png</texture> + <animation effect="fade" start="100" end="30" time="100" condition="!Control.HasFocus(9000)">Conditional</animation> + </control> + <control type="label"> + <posx>250</posx> + <posy>15</posy> + <width>380</width> + <height>25</height> + <font>font24_title</font> + <textcolor>white</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + </control> + <control type="label"> + <posx>250</posx> + <posy>42</posy> + <width>870</width> + <height>25</height> + <font>font13caps</font> + <textcolor>grey2</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label2]</label> + </control> + </focusedlayout> + <content> + <item id="1"> + <label>128</label> + <label2>5</label2> + <onclick>-</onclick> + </item> + <item id="2"> + <label>513</label> + <label2>31112</label2> + <onclick>-</onclick> + </item> + <item id="3"> + <label>31102</label> + <label2>31115</label2> + <onclick>-</onclick> + </item> + <item id="4"> + <label>24000</label> + <label2>31200</label2> + <onclick>-</onclick> + </item> + </content> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>790</width> + <height>618</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>268</posx> + <posy>10</posy> + <width>804</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="label"> + <description>header label</description> + <posx>300</posx> + <posy>20</posy> + <width>740</width> + <height>30</height> + <font>font16caps</font> + <label>$LOCALIZE[20077] - $INFO[Container(9000).ListItem.Label]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="group" id="9010"> + <control type="grouplist" id="9001"> + <visible>Container(9000).Hasfocus(1)</visible> + <posx>290</posx> + <posy>60</posy> + <width>750</width> + <height>530</height> + <itemgap>-1</itemgap> + <pagecontrol>60</pagecontrol> + <onleft>9000</onleft> + <onright>60</onright> + <onup>9001</onup> + <ondown>9001</ondown> + <control type="label" id="100"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31106</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="101"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>20189</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(AutoScroll)</onclick> + <selected>Skin.HasSetting(AutoScroll)</selected> + </control> + <control type="radiobutton" id="102"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>31103</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(Show_SlideShow_Paused)</onclick> + <selected>!Skin.HasSetting(Show_SlideShow_Paused)</selected> + </control> + <control type="radiobutton" id="103"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>31105</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(No_Media_Titles_In_Scanner)</onclick> + <selected>!Skin.HasSetting(No_Media_Titles_In_Scanner)</selected> + </control> + <control type="radiobutton" id="112"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>31104</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(WindowedTrailer)</onclick> + <selected>Skin.HasSetting(WindowedTrailer)</selected> + </control> + <control type="radiobutton" id="113"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>31107</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(HideFilenameFlagging)</onclick> + <selected>Skin.HasSetting(HideFilenameFlagging)</selected> + </control> + <control type="label" id="104"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>20343</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="105"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>31123</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(TVShowsUsePosters)</onclick> + <selected>Skin.HasSetting(TVShowsUsePosters)</selected> + </control> + <control type="label" id="106"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>512</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="107"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>21398</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(Use_Startup_Playlist)</onclick> + <selected>Skin.HasSetting(Use_Startup_Playlist)</selected> + </control> + <control type="button" id="108"> + <description>Startup Playlist Path</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>15311</label> + <label2>$INFO[Skin.String(Startup_Playlist_Path)]</label2> + <onclick>Skin.SetFile(Startup_Playlist_Path,.m3u,t:\playlists\music\)</onclick> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <enable>Skin.HasSetting(Use_Startup_Playlist)</enable> + </control> + <control type="label" id="109"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31102</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="110"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>31124</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(ShowBackgroundVideo)</onclick> + <selected>!Skin.HasSetting(ShowBackgroundVideo)</selected> + </control> + <control type="radiobutton" id="111"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>31125</label> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.ToggleSetting(ShowBackgroundVis)</onclick> + <selected>!Skin.HasSetting(ShowBackgroundVis)</selected> + </control> + </control> + <control type="scrollbar" id="60"> + <posx>1060</posx> + <posy>60</posy> + <width>25</width> + <height>530</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>9001</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Container(9000).Hasfocus(1)</visible> + </control> + <control type="grouplist" id="9002"> + <visible>Container(9000).Hasfocus(2)</visible> + <posx>290</posx> + <posy>60</posy> + <width>750</width> + <height>530</height> + <itemgap>-1</itemgap> + <pagecontrol>60</pagecontrol> + <onleft>9000</onleft> + <onright>60</onright> + <onup>9002</onup> + <ondown>9002</ondown> + <control type="label" id="200"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31101</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="202"> + <description>enable video info</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>20176</label> + <onclick>Skin.ToggleSetting(homepageVideoinfo)</onclick> + <selected>!Skin.HasSetting(homepageVideoinfo)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="203"> + <description>enable music info</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>20083</label> + <onclick>Skin.ToggleSetting(homepageMusicinfo)</onclick> + <selected>!Skin.HasSetting(homepageMusicinfo)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="204"> + <description>enable weather info</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>20084</label> + <onclick>Skin.ToggleSetting(homepageWeatherinfo)</onclick> + <selected>!Skin.HasSetting(homepageWeatherinfo)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="205"> + <description>Show Recently added info</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>31117</label> + <onclick>Skin.ToggleSetting(homepageShowRecentlyAdded)</onclick> + <selected>Skin.HasSetting(homepageShowRecentlyAdded)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="label" id="206"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31108</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="radiobutton" id="207"> + <description>Hide Videos Button</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>$LOCALIZE[31111] - $LOCALIZE[3]</label> + <onclick>Skin.ToggleSetting(HomeMenuNoVideosButton)</onclick> + <selected>Skin.HasSetting(HomeMenuNoVideosButton)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="217"> + <description>Hide Movies Button</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>$LOCALIZE[31111] - $LOCALIZE[20342] [COLOR=grey3] ($LOCALIZE[20314])[/COLOR]</label> + <onclick>Skin.ToggleSetting(HomeMenuNoMoviesButton)</onclick> + <selected>!Skin.HasSetting(HomeMenuNoMoviesButton)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <enable>Library.HasContent(Movies)</enable> + </control> + <control type="radiobutton" id="218"> + <description>Hide TV Shows Button</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>$LOCALIZE[31111] - $LOCALIZE[20343] [COLOR=grey3] ($LOCALIZE[20314])[/COLOR]</label> + <onclick>Skin.ToggleSetting(HomeMenuNoTVShowsButton)</onclick> + <selected>!Skin.HasSetting(HomeMenuNoTVShowsButton)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <enable>Library.HasContent(TVShows)</enable> + </control> + <control type="radiobutton" id="208"> + <description>Hide Music Button</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>$LOCALIZE[31111] - $LOCALIZE[2]</label> + <onclick>Skin.ToggleSetting(HomeMenuNoMusicButton)</onclick> + <selected>Skin.HasSetting(HomeMenuNoMusicButton)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="209"> + <description>Hide Pictures Button</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>$LOCALIZE[31111] - $LOCALIZE[1]</label> + <onclick>Skin.ToggleSetting(HomeMenuNoPicturesButton)</onclick> + <selected>Skin.HasSetting(HomeMenuNoPicturesButton)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="210"> + <description>Hide Programs Button</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>$LOCALIZE[31111] - $LOCALIZE[0]</label> + <onclick>Skin.ToggleSetting(HomeMenuNoProgramsButton)</onclick> + <selected>Skin.HasSetting(HomeMenuNoProgramsButton)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="212"> + <description>Hide Weather Button</description> + <width>750</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <label>$LOCALIZE[31111] - $LOCALIZE[8]</label> + <onclick>Skin.ToggleSetting(HomeMenuNoWeatherButton)</onclick> + <selected>Skin.HasSetting(HomeMenuNoWeatherButton)</selected> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + </control> + <control type="scrollbar" id="60"> + <posx>1060</posx> + <posy>60</posy> + <width>25</width> + <height>530</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>9002</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Container(9000).Hasfocus(2)</visible> + </control> + <control type="group"> + <posx>290</posx> + <posy>60</posy> + <visible>Container(9000).Hasfocus(3)</visible> + <control type="label"> + <posx>0</posx> + <posy>0</posy> + <width>680</width> + <height>45</height> + <font>font13_title</font> + <label>31109</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="304"> + <description>Menu Item Next Button</description> + <posx>670</posx> + <posy>53</posy> + <width>33</width> + <height>22</height> + <label>-</label> + <font>-</font> + <texturenofocus>scroll-down-2.png</texturenofocus> + <texturefocus>scroll-down-focus-2.png</texturefocus> + <onclick>Control.Move(9003,1)</onclick> + <onleft>9000</onleft> + <onright>305</onright> + <onup>300</onup> + <ondown>300</ondown> + </control> + <control type="button" id="305"> + <description>Menu Item Prev Button</description> + <posx>703</posx> + <posy>53</posy> + <width>33</width> + <height>22</height> + <label>-</label> + <font>-</font> + <texturenofocus>scroll-up-2.png</texturenofocus> + <texturefocus>scroll-up-focus-2.png</texturefocus> + <onclick>Control.Move(9003,-1)</onclick> + <onleft>304</onleft> + <onright>9000</onright> + <onup>300</onup> + <ondown>300</ondown> + </control> + <control type="list" id="9003"> + <hitrect x="0" y="0" w="0" h="0" /> + <posx>0</posx> + <posy>45</posy> + <width>750</width> + <height>40</height> + <onleft>9000</onleft> + <onright>300</onright> + <onup>9003</onup> + <ondown>9003</ondown> + <pagecontrol>-</pagecontrol> + <scrolltime>0</scrolltime> + <itemlayout height="1" width="750"> + </itemlayout> + <focusedlayout height="40" width="750"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>750</width> + <height>40</height> + <texture>MenuItemNF.png</texture> + <visible>![Control.HasFocus(304) | Control.HasFocus(305)]</visible> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>750</width> + <height>40</height> + <texture>MenuItemFO.png</texture> + <visible>[Control.HasFocus(304) | Control.HasFocus(305)]</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>600</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[31110]</label> + <visible>![Control.HasFocus(304) | Control.HasFocus(305)]</visible> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>600</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <align>left</align> + <aligny>center</aligny> + <label>$LOCALIZE[31110]</label> + <visible>[Control.HasFocus(304) | Control.HasFocus(305)]</visible> + </control> + <control type="label"> + <posx>650</posx> + <posy>0</posy> + <width>640</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + <visible>![Control.HasFocus(304) | Control.HasFocus(305)]</visible> + </control> + <control type="label"> + <posx>650</posx> + <posy>0</posy> + <width>640</width> + <height>40</height> + <font>font13</font> + <textcolor>white</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>$INFO[ListItem.Label]</label> + <visible>[Control.HasFocus(304) | Control.HasFocus(305)]</visible> + </control> + </focusedlayout> + <content> + <item id="1"> + <label>3</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</thumb> + </item> + <item id="10"> + <label>20342</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Movies_Folder)]</thumb> + <visible>Skin.HasSetting(HomeMenuNoMoviesButton) + Library.HasContent(Movies)</visible> + </item> + <item id="11"> + <label>20343</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/videos.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_TVShow_Folder)]</thumb> + <visible>Skin.HasSetting(HomeMenuNoTVShowsButton) + Library.HasContent(TVShows)</visible> + </item> + <item id="2"> + <label>2</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/music.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Music_Folder)]</thumb> + </item> + <item id="3"> + <label>1</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/pictures.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Pictures_Folder)]</thumb> + </item> + <item id="4"> + <label>0</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/programs.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</thumb> + </item> + <item id="5"> + <label>8</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/weather.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb> + </item> + <item id="7"> + <label>13000</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/settings.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Settings_Folder)]</thumb> + </item> + <item id="8"> + <label>24001</label> + <onclick>-</onclick> + <icon>special://skin/backgrounds/Addons.jpg</icon> + <thumb>$INFO[Skin.String(Home_Custom_Back_Addons_Folder)]</thumb> + </item> + </content> + </control> + <control type="image"> + <posx>85</posx> + <posy>100</posy> + <width>580</width> + <height>435</height> + <texture>black-back.png</texture> + </control> + <control type="group"> + <posx>95</posx> + <posy>110</posy> + <control type="group"> + <visible>Container(9003).HasFocus(1)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Video_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Video_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Video_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(2)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Music_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Music_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Music_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(3)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Pictures_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Pictures_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Pictures_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(4)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Programs_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Programs_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Programs_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(5)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Weather_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Weather_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Weather_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(7)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Settings_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Settings_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Settings_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(8)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Addons_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Addons_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Addons_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(10)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_Movies_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_Movies_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_Movies_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + <control type="group"> + <visible>Container(9003).HasFocus(11)</visible> + <control type="button" id="300"> + <description>Single Image button</description> + <posx>5</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31113</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetImage(Home_Custom_Back_TVShow_Folder)</onclick> + <onleft>302</onleft> + <onright>301</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="301"> + <description>Multi Image button</description> + <posx>190</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>31114</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.SetPath(Home_Custom_Back_TVShow_Folder)</onclick> + <onleft>300</onleft> + <onright>302</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + <control type="button" id="302"> + <description>Default Image button</description> + <posx>375</posx> + <posy>0</posy> + <width>180</width> + <height>40</height> + <label>571</label> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <align>center</align> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onclick>Skin.Reset(Home_Custom_Back_TVShow_Folder)</onclick> + <onleft>301</onleft> + <onright>300</onright> + <onup>304</onup> + <ondown>304</ondown> + </control> + </control> + </control> + <control type="multiimage"> + <posx>95</posx> + <posy>160</posy> + <width>560</width> + <height>335</height> + <imagepath background="true">$INFO[Container(9003).ListItem.Icon]</imagepath> + <timeperimage>6000</timeperimage> + <randomize>true</randomize> + <fadetime>500</fadetime> + </control> + <control type="label"> + <posx>95</posx> + <posy>505</posy> + <width>560</width> + <height>20</height> + <align>center</align> + <aligny>center</aligny> + <font>font11</font> + <haspath>yes</haspath> + <label fallback="571">$INFO[Container(9003).ListItem.Thumb]</label> + <textcolor>white</textcolor> + </control> + </control> + <control type="group"> + <control type="grouplist" id="9004"> + <visible>Container(9000).Hasfocus(4)</visible> + <posx>290</posx> + <posy>60</posy> + <width>750</width> + <height>530</height> + <itemgap>-1</itemgap> + <pagecontrol>61</pagecontrol> + <onleft>9000</onleft> + <onright>61</onright> + <onup>9004</onup> + <ondown>9004</ondown> + <control type="label" id="410"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31134</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="411"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]1[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton1))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeVideosButton1,xbmc.addon.video)</onclick> + </control> + <control type="button" id="412"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]2[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton2))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeVideosButton2,xbmc.addon.video)</onclick> + </control> + <control type="button" id="413"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]3[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton3))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeVideosButton3,xbmc.addon.video)</onclick> + </control> + + <control type="label" id="420"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31135</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="421"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]1[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton1))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeMusicButton1,xbmc.addon.audio)</onclick> + </control> + <control type="button" id="422"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]2[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton2))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeMusicButton2,xbmc.addon.audio)</onclick> + </control> + <control type="button" id="423"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]3[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton3))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeMusicButton3,xbmc.addon.audio)</onclick> + </control> + + <control type="label" id="430"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31136</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="431"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]1[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton1))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomePictureButton1,xbmc.addon.image)</onclick> + </control> + <control type="button" id="432"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]2[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton2))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomePictureButton2,xbmc.addon.image)</onclick> + </control> + <control type="button" id="433"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]3[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton3))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomePictureButton3,xbmc.addon.image)</onclick> + </control> + <control type="button" id="434"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]4[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton4))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomePictureButton4,xbmc.addon.image)</onclick> + </control> + <control type="button" id="435"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]5[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton5))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomePictureButton5,xbmc.addon.image)</onclick> + </control> + <control type="button" id="436"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]6[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton6))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomePictureButton6,xbmc.addon.image)</onclick> + </control> + + <control type="label" id="440"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31118</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="441"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]1[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton1))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeProgramButton1,xbmc.addon.executable)</onclick> + </control> + <control type="button" id="442"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]2[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton2))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeProgramButton2,xbmc.addon.executable)</onclick> + </control> + <control type="button" id="443"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]3[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton3))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeProgramButton3,xbmc.addon.executable)</onclick> + </control> + <control type="button" id="444"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]4[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton4))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeProgramButton4,xbmc.addon.executable)</onclick> + </control> + <control type="button" id="445"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]5[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton5))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeProgramButton5,xbmc.addon.executable)</onclick> + </control> + <control type="button" id="446"> + <width>750</width> + <height>40</height> + <font>font13</font> + <label>$LOCALIZE[24000] [B]6[/B]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton6))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(HomeProgramButton6,xbmc.addon.executable)</onclick> + </control> + + <control type="label" id="453"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31140</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="455"> + <width>750</width> + <height>35</height> + <font>font12</font> + <label>$LOCALIZE[31132]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(LyricScript_Path))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(LyricScript_Path,xbmc.python.lyrics)</onclick> + </control> + + <control type="label" id="456"> + <width>750</width> + <height>45</height> + <font>font13_title</font> + <label>31141</label> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + <align>left</align> + <aligny>center</aligny> + </control> + <control type="button" id="458"> + <width>750</width> + <height>35</height> + <font>font12</font> + <label>$LOCALIZE[31133]</label> + <label2>[COLOR=selected]$INFO[system.addontitle(Skin.String(SubtitleScript_Path))][/COLOR]</label2> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <onclick>Skin.SetAddon(SubtitleScript_Path,xbmc.python.subtitles)</onclick> + </control> + </control> + </control> + <control type="scrollbar" id="61"> + <posx>1060</posx> + <posy>60</posy> + <width>25</width> + <height>530</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>9004</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + <visible>Container(9000).Hasfocus(4)</visible> + </control> + </control> + </control> + <include>BehindDialogFadeOut</include> + <control type="group"> + <posx>60</posx> + <posy>0</posy> + <animation effect="slide" end="-310,0" time="400" tween="quadratic" easing="out">WindowClose</animation> + <animation effect="slide" start="-310,0" time="400" tween="quadratic" easing="out">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>250</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="label"> + <include>WindowTitleCommons</include> + <posx>220</posx> + <label>$LOCALIZE[20077]</label> + </control> + </control> + <include>WindowTitleHomeButton</include> + <include>Clock</include> + </controls> +</window> diff --git a/addons/skin.confluence/720p/defaults.xml b/addons/skin.confluence/720p/defaults.xml index 7d2ca4ad69..5c617c9cba 100644 --- a/addons/skin.confluence/720p/defaults.xml +++ b/addons/skin.confluence/720p/defaults.xml @@ -1,200 +1,200 @@ -<includes>
- <default type="image">
- <posx>0</posx>
- <posy>0</posy>
- <texture>-</texture>
- <colorkey>0</colorkey>
- </default>
- <default type="label">
- <posx>80</posx>
- <posy>60</posy>
- <label>-</label>
- <font>font13</font>
- <textcolor>white</textcolor>
- </default>
- <default type="fadelabel">
- <posx>80</posx>
- <posy>60</posy>
- <font>font13</font>
- <textcolor>white</textcolor>
- </default>
- <default type="button">
- <posx>300</posx>
- <posy>200</posy>
- <width>300</width>
- <height>42</height>
- <texturefocus>button-focus.png</texturefocus>
- <texturenofocus>button-nofocus.png</texturenofocus>
- <font>font13</font>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- <textoffsetx>7</textoffsetx>
- <aligny>center</aligny>
- <pulseonselect>no</pulseonselect>
- </default>
- <default type="togglebutton">
- <posx>140</posx>
- <posy>167</posy>
- <width>20</width>
- <height>20</height>
- <texturefocus>scroll-up-focus.png</texturefocus>
- <texturenofocus>scroll-up.png</texturenofocus>
- <alttexturefocus>scroll-down-focus.png</alttexturefocus>
- <alttexturenofocus>scroll-down.png</alttexturenofocus>
- <textcolor>white</textcolor>
- <label>-</label>
- <font>font13</font>
- <disabledcolor>grey3</disabledcolor>
- <pulseonselect>no</pulseonselect>
- </default>
- <default type="textbox">
- <posx>220</posx>
- <posy>220</posy>
- <width>410</width>
- <height>215</height>
- <spinwidth>18</spinwidth>
- <spinheight>16</spinheight>
- <spinposx>410</spinposx>
- <spinposy>305</spinposy>
- <spincolor>white</spincolor>
- <spinfont>font13</spinfont>
- <textcolor>white</textcolor>
- <textureup>scroll-up.png</textureup>
- <texturedown>scroll-down.png</texturedown>
- <textureupfocus>scroll-up-focus.png</textureupfocus>
- <texturedownfocus>scroll-down-focus.png</texturedownfocus>
- <font>font13</font>
- </default>
- <default type="progress">
- <posx>100</posx>
- <posy>325</posy>
- <texturebg border="6,0,6,0">OSDProgressBack.png</texturebg>
- <lefttexture>-</lefttexture>
- <midtexture border="6,0,6,0">OSDProgressMid.png</midtexture>
- <righttexture>-</righttexture>
- <overlaytexture>-</overlaytexture>
- </default>
- <default type="spincontrol">
- <posx>330</posx>
- <posy>126</posy>
- <textureup>scroll-up-2.png</textureup>
- <texturedown>scroll-down-2.png</texturedown>
- <textureupfocus>scroll-up-focus-2.png</textureupfocus>
- <texturedownfocus>scroll-down-focus-2.png</texturedownfocus>
- <align>right</align>
- <width>33</width>
- <height>22</height>
- <font>font13</font>
- <reverse>yes</reverse>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- <subtype>text</subtype>
- <textoffsetx>-5</textoffsetx>
- <textoffsety>0</textoffsety>
- <aligny>-</aligny>
- <pulseonselect>no</pulseonselect>
- </default>
- <default type="spincontrolex">
- <posx>530</posx>
- <posy>160</posy>
- <width>300</width>
- <height>42</height>
- <spinwidth>33</spinwidth>
- <spinheight>22</spinheight>
- <texturefocus>button-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- <textureup>scroll-up-2.png</textureup>
- <texturedown>scroll-down-2.png</texturedown>
- <textureupfocus>scroll-up-focus-2.png</textureupfocus>
- <texturedownfocus>scroll-down-focus-2.png</texturedownfocus>
- <font>font13</font>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- <textoffsetx>7</textoffsetx>
- <aligny>center</aligny>
- <reverse>yes</reverse>
- <pulseonselect>no</pulseonselect>
- </default>
- <default type="radiobutton">
- <posx>300</posx>
- <posy>200</posy>
- <width>300</width>
- <height>42</height>
- <radiowidth>24</radiowidth>
- <radioheight>24</radioheight>
- <textureradiofocus>radiobutton-focus.png</textureradiofocus>
- <textureradionofocus>radiobutton-nofocus.png</textureradionofocus>
- <texturefocus>button-focus.png</texturefocus>
- <texturenofocus>button-nofocus.png</texturenofocus>
- <label>215</label>
- <font>font13</font>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- <textoffsetx>7</textoffsetx>
- <aligny>center</aligny>
- </default>
- <default type="selectbutton">
- <posx>490</posx>
- <posy>335</posy>
- <width>300</width>
- <height>50</height>
- <label>-</label>
- <font>font12</font>
- <texturefocus>-</texturefocus>
- <texturenofocus>-</texturenofocus>
- <texturebg>button-focus.png</texturebg>
- <textureleft>scroll-left.png</textureleft>
- <textureleftfocus>scroll-left-focus.png</textureleftfocus>
- <textureright>scroll-right.png</textureright>
- <texturerightfocus>scroll-right-focus.png</texturerightfocus>
- <font>font13</font>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- <aligny>center</aligny>
- </default>
- <default type="slider">
- <controloffsetx>75</controloffsetx>
- <controloffsety>0</controloffsety>
- </default>
- <default type="sliderex">
- <height>35</height>
- <textoffsetx>7</textoffsetx>
- <aligny>center</aligny>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <sliderwidth>150</sliderwidth>
- <sliderheight>20</sliderheight>
- <texturesliderbar>osd_slider_bg.png</texturesliderbar>
- <textureslidernib>osd_slider_nibNF.png</textureslidernib>
- <textureslidernibfocus>osd_slider_nib.png</textureslidernibfocus>
- <font>font12</font>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- </default>
- <default type="mover">
- <posx>60</posx>
- <posy>192</posy>
- <texturefocus>button-focus.png</texturefocus>
- <texturenofocus>button-nofocus.png</texturenofocus>
- </default>
- <default type="resize">
- <posx>60</posx>
- <posy>192</posy>
- <texturefocus>button-focus.png</texturefocus>
- <texturenofocus>button-nofocus.png</texturenofocus>
- </default>
- <default type="edit">
- <posx>300</posx>
- <posy>200</posy>
- <width>300</width>
- <height>42</height>
- <texturefocus>button-focus.png</texturefocus>
- <texturenofocus>button-nofocus.png</texturenofocus>
- <font>font13</font>
- <textcolor>white</textcolor>
- <disabledcolor>grey3</disabledcolor>
- <textoffsetx>7</textoffsetx>
- <aligny>center</aligny>
- <pulseonselect>no</pulseonselect>
- </default>
+<includes> + <default type="image"> + <posx>0</posx> + <posy>0</posy> + <texture>-</texture> + <colorkey>0</colorkey> + </default> + <default type="label"> + <posx>80</posx> + <posy>60</posy> + <label>-</label> + <font>font13</font> + <textcolor>white</textcolor> + </default> + <default type="fadelabel"> + <posx>80</posx> + <posy>60</posy> + <font>font13</font> + <textcolor>white</textcolor> + </default> + <default type="button"> + <posx>300</posx> + <posy>200</posy> + <width>300</width> + <height>42</height> + <texturefocus>button-focus.png</texturefocus> + <texturenofocus>button-nofocus.png</texturenofocus> + <font>font13</font> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + <textoffsetx>7</textoffsetx> + <aligny>center</aligny> + <pulseonselect>no</pulseonselect> + </default> + <default type="togglebutton"> + <posx>140</posx> + <posy>167</posy> + <width>20</width> + <height>20</height> + <texturefocus>scroll-up-focus.png</texturefocus> + <texturenofocus>scroll-up.png</texturenofocus> + <alttexturefocus>scroll-down-focus.png</alttexturefocus> + <alttexturenofocus>scroll-down.png</alttexturenofocus> + <textcolor>white</textcolor> + <label>-</label> + <font>font13</font> + <disabledcolor>grey3</disabledcolor> + <pulseonselect>no</pulseonselect> + </default> + <default type="textbox"> + <posx>220</posx> + <posy>220</posy> + <width>410</width> + <height>215</height> + <spinwidth>18</spinwidth> + <spinheight>16</spinheight> + <spinposx>410</spinposx> + <spinposy>305</spinposy> + <spincolor>white</spincolor> + <spinfont>font13</spinfont> + <textcolor>white</textcolor> + <textureup>scroll-up.png</textureup> + <texturedown>scroll-down.png</texturedown> + <textureupfocus>scroll-up-focus.png</textureupfocus> + <texturedownfocus>scroll-down-focus.png</texturedownfocus> + <font>font13</font> + </default> + <default type="progress"> + <posx>100</posx> + <posy>325</posy> + <texturebg border="6,0,6,0">OSDProgressBack.png</texturebg> + <lefttexture>-</lefttexture> + <midtexture border="6,0,6,0">OSDProgressMid.png</midtexture> + <righttexture>-</righttexture> + <overlaytexture>-</overlaytexture> + </default> + <default type="spincontrol"> + <posx>330</posx> + <posy>126</posy> + <textureup>scroll-up-2.png</textureup> + <texturedown>scroll-down-2.png</texturedown> + <textureupfocus>scroll-up-focus-2.png</textureupfocus> + <texturedownfocus>scroll-down-focus-2.png</texturedownfocus> + <align>right</align> + <width>33</width> + <height>22</height> + <font>font13</font> + <reverse>yes</reverse> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + <subtype>text</subtype> + <textoffsetx>-5</textoffsetx> + <textoffsety>0</textoffsety> + <aligny>-</aligny> + <pulseonselect>no</pulseonselect> + </default> + <default type="spincontrolex"> + <posx>530</posx> + <posy>160</posy> + <width>300</width> + <height>42</height> + <spinwidth>33</spinwidth> + <spinheight>22</spinheight> + <texturefocus>button-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + <textureup>scroll-up-2.png</textureup> + <texturedown>scroll-down-2.png</texturedown> + <textureupfocus>scroll-up-focus-2.png</textureupfocus> + <texturedownfocus>scroll-down-focus-2.png</texturedownfocus> + <font>font13</font> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + <textoffsetx>7</textoffsetx> + <aligny>center</aligny> + <reverse>yes</reverse> + <pulseonselect>no</pulseonselect> + </default> + <default type="radiobutton"> + <posx>300</posx> + <posy>200</posy> + <width>300</width> + <height>42</height> + <radiowidth>24</radiowidth> + <radioheight>24</radioheight> + <textureradiofocus>radiobutton-focus.png</textureradiofocus> + <textureradionofocus>radiobutton-nofocus.png</textureradionofocus> + <texturefocus>button-focus.png</texturefocus> + <texturenofocus>button-nofocus.png</texturenofocus> + <label>215</label> + <font>font13</font> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + <textoffsetx>7</textoffsetx> + <aligny>center</aligny> + </default> + <default type="selectbutton"> + <posx>490</posx> + <posy>335</posy> + <width>300</width> + <height>50</height> + <label>-</label> + <font>font12</font> + <texturefocus>-</texturefocus> + <texturenofocus>-</texturenofocus> + <texturebg>button-focus.png</texturebg> + <textureleft>scroll-left.png</textureleft> + <textureleftfocus>scroll-left-focus.png</textureleftfocus> + <textureright>scroll-right.png</textureright> + <texturerightfocus>scroll-right-focus.png</texturerightfocus> + <font>font13</font> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + <aligny>center</aligny> + </default> + <default type="slider"> + <controloffsetx>75</controloffsetx> + <controloffsety>0</controloffsety> + </default> + <default type="sliderex"> + <height>35</height> + <textoffsetx>7</textoffsetx> + <aligny>center</aligny> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <sliderwidth>150</sliderwidth> + <sliderheight>20</sliderheight> + <texturesliderbar>osd_slider_bg.png</texturesliderbar> + <textureslidernib>osd_slider_nibNF.png</textureslidernib> + <textureslidernibfocus>osd_slider_nib.png</textureslidernibfocus> + <font>font12</font> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + </default> + <default type="mover"> + <posx>60</posx> + <posy>192</posy> + <texturefocus>button-focus.png</texturefocus> + <texturenofocus>button-nofocus.png</texturenofocus> + </default> + <default type="resize"> + <posx>60</posx> + <posy>192</posy> + <texturefocus>button-focus.png</texturefocus> + <texturenofocus>button-nofocus.png</texturenofocus> + </default> + <default type="edit"> + <posx>300</posx> + <posy>200</posy> + <width>300</width> + <height>42</height> + <texturefocus>button-focus.png</texturefocus> + <texturenofocus>button-nofocus.png</texturenofocus> + <font>font13</font> + <textcolor>white</textcolor> + <disabledcolor>grey3</disabledcolor> + <textoffsetx>7</textoffsetx> + <aligny>center</aligny> + <pulseonselect>no</pulseonselect> + </default> </includes>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/includes.xml b/addons/skin.confluence/720p/includes.xml index c6510be6f2..11dda73aa0 100644 --- a/addons/skin.confluence/720p/includes.xml +++ b/addons/skin.confluence/720p/includes.xml @@ -1,926 +1,926 @@ -<includes>
- <include file="defaults.xml" />
- <include file="ViewsVideoLibrary.xml" />
- <include file="ViewsMusicLibrary.xml" />
- <include file="ViewsFileMode.xml" />
- <include file="ViewsPictures.xml" />
- <include file="ViewsAddonBrowser.xml" />
- <include file="ViewsLiveTV.xml" />
- <include file="IncludesCodecFlagging.xml" />
- <include file="IncludesHomeRecentlyAdded.xml" />
- <include file="IncludesHomeMenuItems.xml" />
-
- <constant name="FanartCrossfadeTime">500</constant>
- <constant name="IconCrossfadeTime">400</constant>
-
- <include name="CommonMediaPlayingBackground">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture>special://skin/backgrounds/media-overlay.png</texture>
- <visible>Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)</visible>
- </control>
- <control type="visualisation">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <visible>Player.HasAudio + !Skin.HasSetting(ShowBackgroundVis)</visible>
- </control>
- <control type="videowindow">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <visible>Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)</visible>
- </control>
- </include>
- <include name="CommonVideoBackground">
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- </control>
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Movies_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- <visible>Container.Content(Movies) + [!IsEmpty(Skin.String(Home_Custom_Back_Movies_Folder)) + Skin.HasSetting(HomeMenuNoMoviesButton)]</visible>
- </control>
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_TVShow_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- <visible>[Container.Content(TVShows) | Container.Content(Seasons) |Container.Content(Episodes)] + [!IsEmpty(Skin.String(Home_Custom_Back_TVShow_Folder) + Skin.HasSetting(HomeMenuNoTVShowsButton)])</visible>
- </control>
- </include>
- <include name="CommonMusicBackground">
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/music.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Music_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- </control>
- </include>
- <include name="CommonPictureBackground">
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/pictures.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Pictures_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- </control>
- </include>
- <include name="CommonProgramsBackground">
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/programs.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- </control>
- </include>
- <include name="CommonScriptBackground">
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/scripts.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Scripts_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- </control>
- </include>
- <include name="CommonWeatherBackground">
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/weather.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- <visible>![Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir))]</visible>
- </control>
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath background="true">$INFO[Skin.String(WeatherFanartDir)]$INFO[Weather.FanartCode]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- <visible>Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir))</visible>
- <animation effect="fade" time="200">WindowClose</animation>
- </control>
- </include>
- <include name="CommonSettingsBackground">
- <control type="multiimage">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <imagepath fallback="special://skin/backgrounds/settings.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Settings_Folder)]</imagepath>
- <timeperimage>10000</timeperimage>
- <randomize>true</randomize>
- <fadetime>1000</fadetime>
- </control>
- </include>
- <include name="BehindDialogFadeOut">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>1280</width>
- <height>720</height>
- <texture>black-back.png</texture>
- <animation effect="fade" time="400">Visible</animation>
- <animation effect="fade" time="200">Hidden</animation>
- <visible>Window.IsActive(MovieInformation) | Window.IsActive(MusicInformation) | Window.IsActive(SongInformation) | Window.IsActive(FileBrowser) | Window.IsActive(TextViewer) | Window.IsActive(AddonSettings) | Window.IsActive(ContentSettings) | Window.IsActive(SelectDialog) | Window.IsActive(FileStackingDialog) | Window.IsActive(MediaSource) | Window.IsActive(PictureInfo) | Window.IsActive(PlayerControls) | Window.IsActive(VirtualKeyboard) | Window.IsActive(NumericInput) | Window.IsActive(ProfileSettings) | Window.IsActive(LockSettings) | Window.IsActive(SmartPlaylistEditor) | Window.IsActive(SmartPlaylistRule) | Window.IsActive(script-Apple_Movie_Trailers-settings.xml) | Window.IsActive(script-Apple_Movie_Trailers-chooser.xml) | Window.IsActive(script-Apple_Movie_Trailers-search.xml) | Window.IsActive(script-Apple_Movie_Trailers-showtimes.xml) | Window.IsActive(script-XBMC_Lyrics-settings.xml) | Window.IsActive(script-RSS_Editor-rssEditor.xml) | Window.IsActive(script-RSS_Editor-setEditor.xml) | Window.IsActive(AddonInformation)</visible>
- </control>
- </include>
- <include name="WindowTitleCommons">
- <posy>0</posy>
- <width>1060</width>
- <height>28</height>
- <font>font12caps</font>
- <textcolor>white</textcolor>
- <scroll>false</scroll>
- <align>right</align>
- <aligny>center</aligny>
- </include>
- <include name="WindowTitleHomeButton">
- <control type="group">
- <posx>20</posx>
- <posy>0</posy>
- <animation effect="slide" end="-270,0" time="400" tween="quadratic" easing="out" condition="Window.Next(Home)">WindowClose</animation>
- <animation effect="slide" start="-270,0" time="400" tween="quadratic" easing="out" condition="Window.Previous(Home)">WindowOpen</animation>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>80</width>
- <height>35</height>
- <texture border="0,0,32,0">header.png</texture>
- </control>
- <control type="button">
- <hitrect x="0" y="0" w="60" h="30" />
- <posx>20</posx>
- <posy>5</posy>
- <width>25</width>
- <height>20</height>
- <texturenofocus>HomeIcon.png</texturenofocus>
- <texturefocus>HomeIcon-Focus.png</texturefocus>
- <label>-</label>
- <onclick>ActivateWindow(Home)</onclick>
- </control>
- </control>
- </include>
- <include name="ButtonCommonValues">
- <height>40</height>
- <width>250</width>
- <textoffsetx>10</textoffsetx>
- <textwidth>235</textwidth>
- <aligny>center</aligny>
- <font>font13caps</font>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- <pulseonselect>false</pulseonselect>
- </include>
- <include name="ButtonMediaSubCommonValues">
- <height>40</height>
- <width>221</width>
- <textoffsetx>20</textoffsetx>
- <textwidth>195</textwidth>
- <aligny>center</aligny>
- <font>font12_title</font>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- </include>
- <include name="ButtonHomeSubCommonValues">
- <height>40</height>
- <width>220</width>
- <textoffsetx>20</textoffsetx>
- <textwidth>195</textwidth>
- <aligny>center</aligny>
- <font>font12_title</font>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- </include>
- <include name="ButtonInfoDialogsCommonValues">
- <height>40</height>
- <width>170</width>
- <textoffsetx>20</textoffsetx>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <texturefocus border="5">button-focus.png</texturefocus>
- <texturenofocus border="5">button-nofocus.png</texturenofocus>
- <pulseonselect>false</pulseonselect>
- </include>
- <include name="SideBladeRight">
- <control type="image">
- <posx>26r</posx>
- <posy>0</posy>
- <width>846</width>
- <height>720</height>
- <texture flipx="true">HomeBlade.png</texture>
- <animation effect="slide" start="26,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="26,0" time="200" delay="200" tween="quadratic" easing="out">WindowClose</animation>
- </control>
- </include>
- <include name="SideBladeLeft">
- <control type="image">
- <posx>-820</posx>
- <posy>0</posy>
- <width>846</width>
- <height>720</height>
- <texture>HomeBlade.png</texture>
- <animation effect="slide" start="-26,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="-26,0" time="200" delay="200" tween="quadratic" easing="out">WindowClose</animation>
- </control>
- </include>
- <include name="CommonPageCount">
- <control type="label">
- <posx>40</posx>
- <posy>30r</posy>
- <width>700</width>
- <height>20</height>
- <label>([COLOR=blue]$INFO[Player.Time] / $INFO[Player.Duration,][/COLOR]) - $INFO[MusicPlayer.Title]$INFO[VideoPlayer.Title]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>Player.HasMedia</visible>
- <include>VisibleFadeEffect</include>
- <include>Window_OpenClose_Animation</include>
- </control>
- <control type="label">
- <description>Page Count Label</description>
- <posx>40r</posx>
- <posy>30r</posy>
- <width>500</width>
- <height>20</height>
- <font>font12</font>
- <textcolor>grey</textcolor>
- <scroll>false</scroll>
- <align>right</align>
- <aligny>center</aligny>
- <label>([COLOR=blue]$INFO[Container.NumItems][/COLOR]) $LOCALIZE[31025]$INFO[Container.TotalTime, - $LOCALIZE[180] ([COLOR=blue],[/COLOR])] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container.CurrentPage]/$INFO[Container.NumPages][/COLOR])</label>
- <include>Window_OpenClose_Animation</include>
- </control>
- </include>
- <include name="SmallMusicInfo">
- <control type="image">
- <description>gradient</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>165</height>
- <colordiffuse>DDFFFFFF</colordiffuse>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="image">
- <description>Cover image</description>
- <posx>20</posx>
- <posy>17</posy>
- <width>130</width>
- <height>130</height>
- <texture>$INFO[MusicPlayer.Cover]</texture>
- </control>
- <control type="label">
- <description>Artist label</description>
- <posx>160</posx>
- <posy>20</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[MusicPlayer.Artist]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="fadelabel">
- <description>Title label</description>
- <posx>160</posx>
- <posy>43</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[MusicPlayer.Title]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="label">
- <description>Album Label</description>
- <posx>160</posx>
- <posy>70</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[MusicPlayer.Album]$INFO[musicplayer.discnumber, - $LOCALIZE[427]:]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Time Label</description>
- <posx>160</posx>
- <posy>95</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[MusicPlayer.Time]$INFO[MusicPlayer.Duration, / ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Next Label</description>
- <posx>485</posx>
- <posy>120</posy>
- <height>30</height>
- <width>325</width>
- <label>[COLOR=blue]$LOCALIZE[209] :[/COLOR] $INFO[MusicPlayer.offset(1).Title]</label>
- <align>right</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </include>
- <include name="SmallVideoInfo">
- <control type="image">
- <description>gradient</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>165</height>
- <colordiffuse>DDFFFFFF</colordiffuse>
- <texture border="20">OverlayDialogBackground.png</texture>
- </control>
- <control type="image">
- <description>Cover image</description>
- <posx>20</posx>
- <posy>17</posy>
- <width>130</width>
- <height>130</height>
- <aspectratio>keep</aspectratio>
- <texture>$INFO[VideoPlayer.cover]</texture>
- </control>
- <control type="label">
- <description>Studio label</description>
- <posx>160</posx>
- <posy>20</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[VideoPlayer.Studio]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!videoplayer.content(episodes) + !videoplayer.content(musicvideos)</visible>
- </control>
- <control type="label">
- <description>TV Show Title label</description>
- <posx>160</posx>
- <posy>20</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[VideoPlayer.tvshowtitle]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>videoplayer.content(episodes)</visible>
- </control>
- <control type="fadelabel">
- <description>Music Video Artist label</description>
- <posx>160</posx>
- <posy>20</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[VideoPlayer.Artist]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>videoplayer.content(musicvideos)</visible>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <description>Title label</description>
- <posx>160</posx>
- <posy>43</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[VideoPlayer.Title]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="label">
- <description>Genre label</description>
- <posx>160</posx>
- <posy>70</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[VideoPlayer.Genre]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>!videoplayer.content(episodes) + !videoplayer.content(musicvideos)</visible>
- </control>
- <control type="label">
- <posx>160</posx>
- <posy>70</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[VideoPlayer.Album]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>videoplayer.content(musicvideos)</visible>
- </control>
- <control type="label">
- <description>Season and Episode label</description>
- <posx>160</posx>
- <posy>70</posy>
- <height>30</height>
- <width>325</width>
- <label>$LOCALIZE[20373] $INFO[VideoPlayer.Season] - $LOCALIZE[20359] $INFO[VideoPlayer.episode]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <visible>videoplayer.content(episodes)</visible>
- </control>
- <control type="label">
- <description>Time Label</description>
- <posx>160</posx>
- <posy>95</posy>
- <height>30</height>
- <width>325</width>
- <label>$INFO[VideoPlayer.Time]$INFO[VideoPlayer.Duration, / ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- </include>
- <include name="CommonNowPlaying_Controls">
- <visible>[Player.HasAudio | Player.HasVideo]</visible>
- <include>VisibleFadeEffect</include>
- <control type="label">
- <posx>250</posx>
- <posy>0</posy>
- <width>250</width>
- <height>40</height>
- <font>font28_title</font>
- <textcolor>grey2</textcolor>
- <align>right</align>
- <aligny>center</aligny>
- <label>31023</label>
- </control>
- <control type="group" id="9005">
- <posx>12</posx>
- <posy>40</posy>
- <control type="button" id="600">
- <posx>0</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>OSDPrevTrackFO.png</texturefocus>
- <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
- <onleft>50</onleft>
- <onright>606</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- <onclick>XBMC.PlayerControl(Previous)</onclick>
- </control>
- <control type="button" id="606">
- <posx>40</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>OSDRewindFO.png</texturefocus>
- <texturenofocus>OSDRewindNF.png</texturenofocus>
- <onleft>600</onleft>
- <onright>603</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- <onclick>XBMC.PlayerControl(Rewind)</onclick>
- <visible>Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo</visible>
- </control>
- <control type="group">
- <animation effect="slide" start="0,0" end="40,0" time="0" condition="Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo">Conditional</animation>
- <control type="togglebutton" id="603">
- <posx>40</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>OSDPauseFO.png</texturefocus>
- <texturenofocus>OSDPauseNF.png</texturenofocus>
- <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture>
- <alttexturefocus>OSDPlayFO.png</alttexturefocus>
- <alttexturenofocus>OSDPlayNF.png</alttexturenofocus>
- <onleft>606</onleft>
- <onright>601</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- <onclick>XBMC.PlayerControl(Play)</onclick>
- </control>
- <control type="button" id="601">
- <posx>80</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>OSDStopFO.png</texturefocus>
- <texturenofocus>OSDStopNF.png</texturenofocus>
- <onleft>603</onleft>
- <onright>607</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- <onclick>down</onclick>
- <onclick>XBMC.PlayerControl(Stop)</onclick>
- </control>
- <control type="button" id="607">
- <posx>120</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>OSDForwardFO.png</texturefocus>
- <texturenofocus>OSDForwardNF.png</texturenofocus>
- <onleft>601</onleft>
- <onright>602</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- <onclick>XBMC.PlayerControl(Forward)</onclick>
- <visible>Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo</visible>
- </control>
- <control type="button" id="602">
- <posx>120</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>OSDNextTrackFO.png</texturefocus>
- <texturenofocus>OSDNextTrackNF.png</texturenofocus>
- <onleft>607</onleft>
- <onright>604</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- <onclick>XBMC.PlayerControl(Next)</onclick>
- <animation effect="slide" start="0,0" end="40,0" time="0" condition="Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo">Conditional</animation>
- </control>
- </control>
- <control type="group">
- <visible>!Window.IsVisible(MusicPlaylist) + !Window.IsVisible(VideoPlaylist) + !Player.HasVideo</visible>
- <control type="button" id="604">
- <posx>160</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>-</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onclick>XBMC.PlayerControl(Repeat)</onclick>
- <onleft>602</onleft>
- <onright>605</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- </control>
- <control type="image">
- <posx>160</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <texture>OSDRepeatNF.png</texture>
- <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
- <visible>!Control.HasFocus(604)</visible>
- </control>
- <control type="image">
- <posx>160</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <texture>OSDRepeatFO.png</texture>
- <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible>
- <visible>Control.HasFocus(604)</visible>
- </control>
- <control type="image">
- <posx>160</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <texture>OSDRepeatOneNF.png</texture>
- <visible>Playlist.IsRepeatOne</visible>
- <visible>!Control.HasFocus(604)</visible>
- </control>
- <control type="image">
- <posx>160</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <texture>OSDRepeatOneFO.png</texture>
- <visible>Playlist.IsRepeatOne</visible>
- <visible>Control.HasFocus(604)</visible>
- </control>
- <control type="image">
- <posx>160</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <texture>OSDRepeatAllNF.png</texture>
- <visible>Playlist.IsRepeat</visible>
- <visible>!Control.HasFocus(604)</visible>
- </control>
- <control type="image">
- <posx>160</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <texture>OSDRepeatAllFO.png</texture>
- <visible>Playlist.IsRepeat</visible>
- <visible>Control.HasFocus(604)</visible>
- </control>
- <control type="togglebutton" id="605">
- <posx>200</posx>
- <posy>2</posy>
- <width>39</width>
- <height>39</height>
- <label>-</label>
- <texturefocus>OSDRandomOffFO.png</texturefocus>
- <texturenofocus>OSDRandomOffNF.png</texturenofocus>
- <usealttexture>Playlist.IsRandom</usealttexture>
- <alttexturefocus>OSDRandomOnFO.png</alttexturefocus>
- <alttexturenofocus>OSDRandomOnNF.png</alttexturenofocus>
- <onclick>XBMC.PlayerControl(Random)</onclick>
- <onleft>604</onleft>
- <onright>50</onright>
- <onup>610</onup>
- <ondown>608</ondown>
- </control>
- </control>
- </control>
- </include>
- <include name="CommonNowPlaying">
- <control type="group">
- <posx>10</posx>
- <posy>345</posy>
- <visible>Player.HasAudio</visible>
- <include>VisibleFadeEffect</include>
- <control type="button" id="608">
- <posx>38</posx>
- <posy>0</posy>
- <width>164</width>
- <height>164</height>
- <label>-</label>
- <texturefocus border="5">folder-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>603</onup>
- <ondown>611</ondown>
- <onclick>fullscreen</onclick>
- </control>
- <control type="image">
- <posx>40</posx>
- <posy>2</posy>
- <width>160</width>
- <height>160</height>
- <texture>$INFO[MusicPlayer.Cover]</texture>
- <bordertexture border="3">black-back2.png</bordertexture>
- <bordersize>5</bordersize>
- <aspectratio align="center">keep</aspectratio>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>170</posy>
- <width>240</width>
- <height>20</height>
- <label>$INFO[MusicPlayer.Title]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>190</posy>
- <width>240</width>
- <height>20</height>
- <label>$INFO[MusicPlayer.Artist]$INFO[MusicPlayer.Album, | ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font10</font>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- </control>
- <control type="group">
- <posx>10</posx>
- <posy>345</posy>
- <visible>Player.HasVideo</visible>
- <include>VisibleFadeEffect</include>
- <control type="button" id="608">
- <posx>0</posx>
- <posy>0</posy>
- <width>240</width>
- <height>164</height>
- <label>-</label>
- <texturefocus border="5">folder-focus.png</texturefocus>
- <texturenofocus>-</texturenofocus>
- <onleft>50</onleft>
- <onright>50</onright>
- <onup>603</onup>
- <ondown>611</ondown>
- <onclick>fullscreen</onclick>
- </control>
- <control type="videowindow">
- <posx>2</posx>
- <posy>2</posy>
- <width>236</width>
- <height>160</height>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>170</posy>
- <width>240</width>
- <height>20</height>
- <label>$INFO[VideoPlayer.Title]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>190</posy>
- <width>240</width>
- <height>20</height>
- <label>$INFO[VideoPlayer.TVShowTitle,, - ]$INFO[VideoPlayer.Season,,x]$INFO[VideoPlayer.Episode]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font10</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- <visible>VideoPlayer.Content(Episodes)</visible>
- </control>
- <control type="fadelabel">
- <posx>0</posx>
- <posy>190</posy>
- <width>240</width>
- <height>20</height>
- <label>$INFO[VideoPlayer.Year]$INFO[VideoPlayer.Director, | ]$INFO[VideoPlayer.Genre, | ]</label>
- <align>left</align>
- <aligny>center</aligny>
- <font>font10</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <scrollout>false</scrollout>
- <pauseatend>2000</pauseatend>
- <visible>VideoPlayer.Content(Movies)</visible>
- </control>
- </control>
- </include>
- <include name="ScrollOffsetLabel">
- <control type="group">
- <visible>Container.Scrolling + [StringCompare(Container.SortMethod,$LOCALIZE[551]) | StringCompare(Container.SortMethod,$LOCALIZE[561]) | StringCompare(Container.SortMethod,$LOCALIZE[558]) | StringCompare(Container.SortMethod,$LOCALIZE[557]) | StringCompare(Container.SortMethod,$LOCALIZE[556])]</visible>
- <animation effect="slide" start="0,0" end="0,-60" time="100">Visible</animation>
- <animation effect="slide" start="0,-60" end="0,0" delay="400" time="100">Hidden</animation>
- <posx>300r</posx>
- <posy>720</posy>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>70</width>
- <height>65</height>
- <texture border="20,20,20,2">InfoMessagePanel.png</texture>
- </control>
- <control type="label">
- <posx>5</posx>
- <posy>0</posy>
- <width>65</width>
- <height>60</height>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.SortLetter]</label>
- <textcolor>white</textcolor>
- <font>font30_title</font>
- </control>
- </control>
- </include>
- <include name="Clock">
- <control type="group">
- <posx>140r</posx>
- <posy>0</posy>
- <animation effect="slide" start="0,0" end="-60,0" delay="0" time="300" condition="Window.IsVisible(MuteBug)">conditional</animation>
- <animation effect="slide" start="0,0" end="210,0" delay="0" time="300" condition="Window.Next(Home) | Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">WindowClose</animation>
- <animation effect="slide" start="210,0" end="0,0" delay="0" time="300" condition="Window.Previous(Home) | Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">WindowOpen</animation>
- <control type="image">
- <description>time background</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>150</width>
- <height>35</height>
- <texture flipx="true" border="32,0,0,0">header.png</texture>
- </control>
- <control type="label">
- <description>time label</description>
- <posx>30</posx>
- <posy>0</posy>
- <width>400</width>
- <height>28</height>
- <align>left</align>
- <aligny>center</aligny>
- <font>font12</font>
- <textcolor>white</textcolor>
- <label>$INFO[System.Time]</label>
- </control>
- </control>
- </include>
- <include name="backgroundfade">
- <animation effect="fade" time="600">Visible</animation>
- <animation effect="fade" time="600">Hidden</animation>
- </include>
- <include name="Window_OpenClose_Animation">
- <animation effect="fade" time="250">WindowOpen</animation>
- <animation effect="fade" time="250">WindowClose</animation>
- </include>
- <include name="dialogeffect">
- <animation effect="fade" time="250">WindowOpen</animation>
- <animation effect="fade" time="250">WindowClose</animation>
- </include>
- <include name="VisibleFadeEffect">
- <animation effect="fade" time="300">Visible</animation>
- <animation effect="fade" time="300">Hidden</animation>
- </include>
-</includes>
+<includes> + <include file="defaults.xml" /> + <include file="ViewsVideoLibrary.xml" /> + <include file="ViewsMusicLibrary.xml" /> + <include file="ViewsFileMode.xml" /> + <include file="ViewsPictures.xml" /> + <include file="ViewsAddonBrowser.xml" /> + <include file="ViewsLiveTV.xml" /> + <include file="IncludesCodecFlagging.xml" /> + <include file="IncludesHomeRecentlyAdded.xml" /> + <include file="IncludesHomeMenuItems.xml" /> + + <constant name="FanartCrossfadeTime">500</constant> + <constant name="IconCrossfadeTime">400</constant> + + <include name="CommonMediaPlayingBackground"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture>special://skin/backgrounds/media-overlay.png</texture> + <visible>Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)</visible> + </control> + <control type="visualisation"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <visible>Player.HasAudio + !Skin.HasSetting(ShowBackgroundVis)</visible> + </control> + <control type="videowindow"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <visible>Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)</visible> + </control> + </include> + <include name="CommonVideoBackground"> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Video_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + </control> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Movies_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + <visible>Container.Content(Movies) + [!IsEmpty(Skin.String(Home_Custom_Back_Movies_Folder)) + Skin.HasSetting(HomeMenuNoMoviesButton)]</visible> + </control> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/videos.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_TVShow_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + <visible>[Container.Content(TVShows) | Container.Content(Seasons) |Container.Content(Episodes)] + [!IsEmpty(Skin.String(Home_Custom_Back_TVShow_Folder) + Skin.HasSetting(HomeMenuNoTVShowsButton)])</visible> + </control> + </include> + <include name="CommonMusicBackground"> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/music.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Music_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + </control> + </include> + <include name="CommonPictureBackground"> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/pictures.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Pictures_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + </control> + </include> + <include name="CommonProgramsBackground"> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/programs.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + </control> + </include> + <include name="CommonScriptBackground"> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/scripts.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Scripts_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + </control> + </include> + <include name="CommonWeatherBackground"> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/weather.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + <visible>![Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir))]</visible> + </control> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath background="true">$INFO[Skin.String(WeatherFanartDir)]$INFO[Weather.FanartCode]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + <visible>Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir))</visible> + <animation effect="fade" time="200">WindowClose</animation> + </control> + </include> + <include name="CommonSettingsBackground"> + <control type="multiimage"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <imagepath fallback="special://skin/backgrounds/settings.jpg" background="true">$INFO[Skin.String(Home_Custom_Back_Settings_Folder)]</imagepath> + <timeperimage>10000</timeperimage> + <randomize>true</randomize> + <fadetime>1000</fadetime> + </control> + </include> + <include name="BehindDialogFadeOut"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>1280</width> + <height>720</height> + <texture>black-back.png</texture> + <animation effect="fade" time="400">Visible</animation> + <animation effect="fade" time="200">Hidden</animation> + <visible>Window.IsActive(MovieInformation) | Window.IsActive(MusicInformation) | Window.IsActive(SongInformation) | Window.IsActive(FileBrowser) | Window.IsActive(TextViewer) | Window.IsActive(AddonSettings) | Window.IsActive(ContentSettings) | Window.IsActive(SelectDialog) | Window.IsActive(FileStackingDialog) | Window.IsActive(MediaSource) | Window.IsActive(PictureInfo) | Window.IsActive(PlayerControls) | Window.IsActive(VirtualKeyboard) | Window.IsActive(NumericInput) | Window.IsActive(ProfileSettings) | Window.IsActive(LockSettings) | Window.IsActive(SmartPlaylistEditor) | Window.IsActive(SmartPlaylistRule) | Window.IsActive(script-Apple_Movie_Trailers-settings.xml) | Window.IsActive(script-Apple_Movie_Trailers-chooser.xml) | Window.IsActive(script-Apple_Movie_Trailers-search.xml) | Window.IsActive(script-Apple_Movie_Trailers-showtimes.xml) | Window.IsActive(script-XBMC_Lyrics-settings.xml) | Window.IsActive(script-RSS_Editor-rssEditor.xml) | Window.IsActive(script-RSS_Editor-setEditor.xml) | Window.IsActive(AddonInformation)</visible> + </control> + </include> + <include name="WindowTitleCommons"> + <posy>0</posy> + <width>1060</width> + <height>28</height> + <font>font12caps</font> + <textcolor>white</textcolor> + <scroll>false</scroll> + <align>right</align> + <aligny>center</aligny> + </include> + <include name="WindowTitleHomeButton"> + <control type="group"> + <posx>20</posx> + <posy>0</posy> + <animation effect="slide" end="-270,0" time="400" tween="quadratic" easing="out" condition="Window.Next(Home)">WindowClose</animation> + <animation effect="slide" start="-270,0" time="400" tween="quadratic" easing="out" condition="Window.Previous(Home)">WindowOpen</animation> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>80</width> + <height>35</height> + <texture border="0,0,32,0">header.png</texture> + </control> + <control type="button"> + <hitrect x="0" y="0" w="60" h="30" /> + <posx>20</posx> + <posy>5</posy> + <width>25</width> + <height>20</height> + <texturenofocus>HomeIcon.png</texturenofocus> + <texturefocus>HomeIcon-Focus.png</texturefocus> + <label>-</label> + <onclick>ActivateWindow(Home)</onclick> + </control> + </control> + </include> + <include name="ButtonCommonValues"> + <height>40</height> + <width>250</width> + <textoffsetx>10</textoffsetx> + <textwidth>235</textwidth> + <aligny>center</aligny> + <font>font13caps</font> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + <pulseonselect>false</pulseonselect> + </include> + <include name="ButtonMediaSubCommonValues"> + <height>40</height> + <width>221</width> + <textoffsetx>20</textoffsetx> + <textwidth>195</textwidth> + <aligny>center</aligny> + <font>font12_title</font> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <pulseonselect>false</pulseonselect> + </include> + <include name="ButtonHomeSubCommonValues"> + <height>40</height> + <width>220</width> + <textoffsetx>20</textoffsetx> + <textwidth>195</textwidth> + <aligny>center</aligny> + <font>font12_title</font> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <pulseonselect>false</pulseonselect> + </include> + <include name="ButtonInfoDialogsCommonValues"> + <height>40</height> + <width>170</width> + <textoffsetx>20</textoffsetx> + <align>center</align> + <aligny>center</aligny> + <font>font12_title</font> + <texturefocus border="5">button-focus.png</texturefocus> + <texturenofocus border="5">button-nofocus.png</texturenofocus> + <pulseonselect>false</pulseonselect> + </include> + <include name="SideBladeRight"> + <control type="image"> + <posx>26r</posx> + <posy>0</posy> + <width>846</width> + <height>720</height> + <texture flipx="true">HomeBlade.png</texture> + <animation effect="slide" start="26,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="26,0" time="200" delay="200" tween="quadratic" easing="out">WindowClose</animation> + </control> + </include> + <include name="SideBladeLeft"> + <control type="image"> + <posx>-820</posx> + <posy>0</posy> + <width>846</width> + <height>720</height> + <texture>HomeBlade.png</texture> + <animation effect="slide" start="-26,0" end="0,0" time="300" tween="quadratic" easing="out">WindowOpen</animation> + <animation effect="slide" start="0,0" end="-26,0" time="200" delay="200" tween="quadratic" easing="out">WindowClose</animation> + </control> + </include> + <include name="CommonPageCount"> + <control type="label"> + <posx>40</posx> + <posy>30r</posy> + <width>700</width> + <height>20</height> + <label>([COLOR=blue]$INFO[Player.Time] / $INFO[Player.Duration,][/COLOR]) - $INFO[MusicPlayer.Title]$INFO[VideoPlayer.Title]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + <visible>Player.HasMedia</visible> + <include>VisibleFadeEffect</include> + <include>Window_OpenClose_Animation</include> + </control> + <control type="label"> + <description>Page Count Label</description> + <posx>40r</posx> + <posy>30r</posy> + <width>500</width> + <height>20</height> + <font>font12</font> + <textcolor>grey</textcolor> + <scroll>false</scroll> + <align>right</align> + <aligny>center</aligny> + <label>([COLOR=blue]$INFO[Container.NumItems][/COLOR]) $LOCALIZE[31025]$INFO[Container.TotalTime, - $LOCALIZE[180] ([COLOR=blue],[/COLOR])] - $LOCALIZE[31024] ([COLOR=blue]$INFO[Container.CurrentPage]/$INFO[Container.NumPages][/COLOR])</label> + <include>Window_OpenClose_Animation</include> + </control> + </include> + <include name="SmallMusicInfo"> + <control type="image"> + <description>gradient</description> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>165</height> + <colordiffuse>DDFFFFFF</colordiffuse> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="image"> + <description>Cover image</description> + <posx>20</posx> + <posy>17</posy> + <width>130</width> + <height>130</height> + <texture>$INFO[MusicPlayer.Cover]</texture> + </control> + <control type="label"> + <description>Artist label</description> + <posx>160</posx> + <posy>20</posy> + <height>30</height> + <width>325</width> + <label>$INFO[MusicPlayer.Artist]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="fadelabel"> + <description>Title label</description> + <posx>160</posx> + <posy>43</posy> + <height>30</height> + <width>325</width> + <label>$INFO[MusicPlayer.Title]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="label"> + <description>Album Label</description> + <posx>160</posx> + <posy>70</posy> + <height>30</height> + <width>325</width> + <label>$INFO[MusicPlayer.Album]$INFO[musicplayer.discnumber, - $LOCALIZE[427]:]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Time Label</description> + <posx>160</posx> + <posy>95</posy> + <height>30</height> + <width>325</width> + <label>$INFO[MusicPlayer.Time]$INFO[MusicPlayer.Duration, / ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Next Label</description> + <posx>485</posx> + <posy>120</posy> + <height>30</height> + <width>325</width> + <label>[COLOR=blue]$LOCALIZE[209] :[/COLOR] $INFO[MusicPlayer.offset(1).Title]</label> + <align>right</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </include> + <include name="SmallVideoInfo"> + <control type="image"> + <description>gradient</description> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>165</height> + <colordiffuse>DDFFFFFF</colordiffuse> + <texture border="20">OverlayDialogBackground.png</texture> + </control> + <control type="image"> + <description>Cover image</description> + <posx>20</posx> + <posy>17</posy> + <width>130</width> + <height>130</height> + <aspectratio>keep</aspectratio> + <texture>$INFO[VideoPlayer.cover]</texture> + </control> + <control type="label"> + <description>Studio label</description> + <posx>160</posx> + <posy>20</posy> + <height>30</height> + <width>325</width> + <label>$INFO[VideoPlayer.Studio]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!videoplayer.content(episodes) + !videoplayer.content(musicvideos)</visible> + </control> + <control type="label"> + <description>TV Show Title label</description> + <posx>160</posx> + <posy>20</posy> + <height>30</height> + <width>325</width> + <label>$INFO[VideoPlayer.tvshowtitle]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>videoplayer.content(episodes)</visible> + </control> + <control type="fadelabel"> + <description>Music Video Artist label</description> + <posx>160</posx> + <posy>20</posy> + <height>30</height> + <width>325</width> + <label>$INFO[VideoPlayer.Artist]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>videoplayer.content(musicvideos)</visible> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <description>Title label</description> + <posx>160</posx> + <posy>43</posy> + <height>30</height> + <width>325</width> + <label>$INFO[VideoPlayer.Title]</label> + <align>left</align> + <aligny>center</aligny> + <font>font13_title</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="label"> + <description>Genre label</description> + <posx>160</posx> + <posy>70</posy> + <height>30</height> + <width>325</width> + <label>$INFO[VideoPlayer.Genre]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>!videoplayer.content(episodes) + !videoplayer.content(musicvideos)</visible> + </control> + <control type="label"> + <posx>160</posx> + <posy>70</posy> + <height>30</height> + <width>325</width> + <label>$INFO[VideoPlayer.Album]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>videoplayer.content(musicvideos)</visible> + </control> + <control type="label"> + <description>Season and Episode label</description> + <posx>160</posx> + <posy>70</posy> + <height>30</height> + <width>325</width> + <label>$LOCALIZE[20373] $INFO[VideoPlayer.Season] - $LOCALIZE[20359] $INFO[VideoPlayer.episode]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <visible>videoplayer.content(episodes)</visible> + </control> + <control type="label"> + <description>Time Label</description> + <posx>160</posx> + <posy>95</posy> + <height>30</height> + <width>325</width> + <label>$INFO[VideoPlayer.Time]$INFO[VideoPlayer.Duration, / ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + </include> + <include name="CommonNowPlaying_Controls"> + <visible>[Player.HasAudio | Player.HasVideo]</visible> + <include>VisibleFadeEffect</include> + <control type="label"> + <posx>250</posx> + <posy>0</posy> + <width>250</width> + <height>40</height> + <font>font28_title</font> + <textcolor>grey2</textcolor> + <align>right</align> + <aligny>center</aligny> + <label>31023</label> + </control> + <control type="group" id="9005"> + <posx>12</posx> + <posy>40</posy> + <control type="button" id="600"> + <posx>0</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>OSDPrevTrackFO.png</texturefocus> + <texturenofocus>OSDPrevTrackNF.png</texturenofocus> + <onleft>50</onleft> + <onright>606</onright> + <onup>610</onup> + <ondown>608</ondown> + <onclick>XBMC.PlayerControl(Previous)</onclick> + </control> + <control type="button" id="606"> + <posx>40</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>OSDRewindFO.png</texturefocus> + <texturenofocus>OSDRewindNF.png</texturenofocus> + <onleft>600</onleft> + <onright>603</onright> + <onup>610</onup> + <ondown>608</ondown> + <onclick>XBMC.PlayerControl(Rewind)</onclick> + <visible>Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo</visible> + </control> + <control type="group"> + <animation effect="slide" start="0,0" end="40,0" time="0" condition="Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo">Conditional</animation> + <control type="togglebutton" id="603"> + <posx>40</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>OSDPauseFO.png</texturefocus> + <texturenofocus>OSDPauseNF.png</texturenofocus> + <usealttexture>Player.Paused | Player.Forwarding | Player.Rewinding</usealttexture> + <alttexturefocus>OSDPlayFO.png</alttexturefocus> + <alttexturenofocus>OSDPlayNF.png</alttexturenofocus> + <onleft>606</onleft> + <onright>601</onright> + <onup>610</onup> + <ondown>608</ondown> + <onclick>XBMC.PlayerControl(Play)</onclick> + </control> + <control type="button" id="601"> + <posx>80</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>OSDStopFO.png</texturefocus> + <texturenofocus>OSDStopNF.png</texturenofocus> + <onleft>603</onleft> + <onright>607</onright> + <onup>610</onup> + <ondown>608</ondown> + <onclick>down</onclick> + <onclick>XBMC.PlayerControl(Stop)</onclick> + </control> + <control type="button" id="607"> + <posx>120</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>OSDForwardFO.png</texturefocus> + <texturenofocus>OSDForwardNF.png</texturenofocus> + <onleft>601</onleft> + <onright>602</onright> + <onup>610</onup> + <ondown>608</ondown> + <onclick>XBMC.PlayerControl(Forward)</onclick> + <visible>Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo</visible> + </control> + <control type="button" id="602"> + <posx>120</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>OSDNextTrackFO.png</texturefocus> + <texturenofocus>OSDNextTrackNF.png</texturenofocus> + <onleft>607</onleft> + <onright>604</onright> + <onup>610</onup> + <ondown>608</ondown> + <onclick>XBMC.PlayerControl(Next)</onclick> + <animation effect="slide" start="0,0" end="40,0" time="0" condition="Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo">Conditional</animation> + </control> + </control> + <control type="group"> + <visible>!Window.IsVisible(MusicPlaylist) + !Window.IsVisible(VideoPlaylist) + !Player.HasVideo</visible> + <control type="button" id="604"> + <posx>160</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>-</texturefocus> + <texturenofocus>-</texturenofocus> + <onclick>XBMC.PlayerControl(Repeat)</onclick> + <onleft>602</onleft> + <onright>605</onright> + <onup>610</onup> + <ondown>608</ondown> + </control> + <control type="image"> + <posx>160</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <texture>OSDRepeatNF.png</texture> + <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible> + <visible>!Control.HasFocus(604)</visible> + </control> + <control type="image"> + <posx>160</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <texture>OSDRepeatFO.png</texture> + <visible>!Playlist.IsRepeat + !Playlist.IsRepeatOne</visible> + <visible>Control.HasFocus(604)</visible> + </control> + <control type="image"> + <posx>160</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <texture>OSDRepeatOneNF.png</texture> + <visible>Playlist.IsRepeatOne</visible> + <visible>!Control.HasFocus(604)</visible> + </control> + <control type="image"> + <posx>160</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <texture>OSDRepeatOneFO.png</texture> + <visible>Playlist.IsRepeatOne</visible> + <visible>Control.HasFocus(604)</visible> + </control> + <control type="image"> + <posx>160</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <texture>OSDRepeatAllNF.png</texture> + <visible>Playlist.IsRepeat</visible> + <visible>!Control.HasFocus(604)</visible> + </control> + <control type="image"> + <posx>160</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <texture>OSDRepeatAllFO.png</texture> + <visible>Playlist.IsRepeat</visible> + <visible>Control.HasFocus(604)</visible> + </control> + <control type="togglebutton" id="605"> + <posx>200</posx> + <posy>2</posy> + <width>39</width> + <height>39</height> + <label>-</label> + <texturefocus>OSDRandomOffFO.png</texturefocus> + <texturenofocus>OSDRandomOffNF.png</texturenofocus> + <usealttexture>Playlist.IsRandom</usealttexture> + <alttexturefocus>OSDRandomOnFO.png</alttexturefocus> + <alttexturenofocus>OSDRandomOnNF.png</alttexturenofocus> + <onclick>XBMC.PlayerControl(Random)</onclick> + <onleft>604</onleft> + <onright>50</onright> + <onup>610</onup> + <ondown>608</ondown> + </control> + </control> + </control> + </include> + <include name="CommonNowPlaying"> + <control type="group"> + <posx>10</posx> + <posy>345</posy> + <visible>Player.HasAudio</visible> + <include>VisibleFadeEffect</include> + <control type="button" id="608"> + <posx>38</posx> + <posy>0</posy> + <width>164</width> + <height>164</height> + <label>-</label> + <texturefocus border="5">folder-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + <onleft>50</onleft> + <onright>50</onright> + <onup>603</onup> + <ondown>611</ondown> + <onclick>fullscreen</onclick> + </control> + <control type="image"> + <posx>40</posx> + <posy>2</posy> + <width>160</width> + <height>160</height> + <texture>$INFO[MusicPlayer.Cover]</texture> + <bordertexture border="3">black-back2.png</bordertexture> + <bordersize>5</bordersize> + <aspectratio align="center">keep</aspectratio> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>170</posy> + <width>240</width> + <height>20</height> + <label>$INFO[MusicPlayer.Title]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>190</posy> + <width>240</width> + <height>20</height> + <label>$INFO[MusicPlayer.Artist]$INFO[MusicPlayer.Album, | ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font10</font> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + </control> + <control type="group"> + <posx>10</posx> + <posy>345</posy> + <visible>Player.HasVideo</visible> + <include>VisibleFadeEffect</include> + <control type="button" id="608"> + <posx>0</posx> + <posy>0</posy> + <width>240</width> + <height>164</height> + <label>-</label> + <texturefocus border="5">folder-focus.png</texturefocus> + <texturenofocus>-</texturenofocus> + <onleft>50</onleft> + <onright>50</onright> + <onup>603</onup> + <ondown>611</ondown> + <onclick>fullscreen</onclick> + </control> + <control type="videowindow"> + <posx>2</posx> + <posy>2</posy> + <width>236</width> + <height>160</height> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>170</posy> + <width>240</width> + <height>20</height> + <label>$INFO[VideoPlayer.Title]</label> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>190</posy> + <width>240</width> + <height>20</height> + <label>$INFO[VideoPlayer.TVShowTitle,, - ]$INFO[VideoPlayer.Season,,x]$INFO[VideoPlayer.Episode]</label> + <align>left</align> + <aligny>center</aligny> + <font>font10</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + <visible>VideoPlayer.Content(Episodes)</visible> + </control> + <control type="fadelabel"> + <posx>0</posx> + <posy>190</posy> + <width>240</width> + <height>20</height> + <label>$INFO[VideoPlayer.Year]$INFO[VideoPlayer.Director, | ]$INFO[VideoPlayer.Genre, | ]</label> + <align>left</align> + <aligny>center</aligny> + <font>font10</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <scrollout>false</scrollout> + <pauseatend>2000</pauseatend> + <visible>VideoPlayer.Content(Movies)</visible> + </control> + </control> + </include> + <include name="ScrollOffsetLabel"> + <control type="group"> + <visible>Container.Scrolling + [StringCompare(Container.SortMethod,$LOCALIZE[551]) | StringCompare(Container.SortMethod,$LOCALIZE[561]) | StringCompare(Container.SortMethod,$LOCALIZE[558]) | StringCompare(Container.SortMethod,$LOCALIZE[557]) | StringCompare(Container.SortMethod,$LOCALIZE[556])]</visible> + <animation effect="slide" start="0,0" end="0,-60" time="100">Visible</animation> + <animation effect="slide" start="0,-60" end="0,0" delay="400" time="100">Hidden</animation> + <posx>300r</posx> + <posy>720</posy> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>70</width> + <height>65</height> + <texture border="20,20,20,2">InfoMessagePanel.png</texture> + </control> + <control type="label"> + <posx>5</posx> + <posy>0</posy> + <width>65</width> + <height>60</height> + <align>center</align> + <aligny>center</aligny> + <label>$INFO[ListItem.SortLetter]</label> + <textcolor>white</textcolor> + <font>font30_title</font> + </control> + </control> + </include> + <include name="Clock"> + <control type="group"> + <posx>140r</posx> + <posy>0</posy> + <animation effect="slide" start="0,0" end="-60,0" delay="0" time="300" condition="Window.IsVisible(MuteBug)">conditional</animation> + <animation effect="slide" start="0,0" end="210,0" delay="0" time="300" condition="Window.Next(Home) | Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">WindowClose</animation> + <animation effect="slide" start="210,0" end="0,0" delay="0" time="300" condition="Window.Previous(Home) | Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)">WindowOpen</animation> + <control type="image"> + <description>time background</description> + <posx>0</posx> + <posy>0</posy> + <width>150</width> + <height>35</height> + <texture flipx="true" border="32,0,0,0">header.png</texture> + </control> + <control type="label"> + <description>time label</description> + <posx>30</posx> + <posy>0</posy> + <width>400</width> + <height>28</height> + <align>left</align> + <aligny>center</aligny> + <font>font12</font> + <textcolor>white</textcolor> + <label>$INFO[System.Time]</label> + </control> + </control> + </include> + <include name="backgroundfade"> + <animation effect="fade" time="600">Visible</animation> + <animation effect="fade" time="600">Hidden</animation> + </include> + <include name="Window_OpenClose_Animation"> + <animation effect="fade" time="250">WindowOpen</animation> + <animation effect="fade" time="250">WindowClose</animation> + </include> + <include name="dialogeffect"> + <animation effect="fade" time="250">WindowOpen</animation> + <animation effect="fade" time="250">WindowClose</animation> + </include> + <include name="VisibleFadeEffect"> + <animation effect="fade" time="300">Visible</animation> + <animation effect="fade" time="300">Hidden</animation> + </include> +</includes> diff --git a/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml b/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml index 95e2ef2b57..5d2cf229f6 100644 --- a/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml +++ b/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml @@ -1,235 +1,235 @@ -<window>
- <defaultcontrol>10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>140</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>420</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label" id="2">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="3">
- <description>List label</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>760</width>
- <height>30</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12caps</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="list" id="10">
- <posx>30</posx>
- <posy>105</posy>
- <width>500</width>
- <height>201</height>
- <onup>9001</onup>
- <onleft>9000</onleft>
- <onright>60</onright>
- <ondown>9001</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>490</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <visible>!Control.HasFocus(10)</visible>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <visible>Control.hasfocus(14) | Control.HasFocus(10)</visible>
- <texture>MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>490</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>555</posx>
- <posy>105</posy>
- <width>25</width>
- <height>200</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>10</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="group" id="9000">
- <posx>580</posx>
- <posy>105</posy>
- <control type="button" id="11">
- <description>Change Set Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>200</width>
- <height>41</height>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>18</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>13</ondown>
- </control>
- <control type="button" id="13">
- <description>Add Button</description>
- <posx>0</posx>
- <posy>40</posy>
- <width>200</width>
- <height>41</height>
- <font>font12_title</font>
- <label>15019</label>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>11</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>14</ondown>
- </control>
- <control type="button" id="14">
- <description>Remove Button</description>
- <posx>0</posx>
- <posy>80</posy>
- <width>200</width>
- <height>41</height>
- <font>font12_title</font>
- <label>1210</label>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>13</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>9001</ondown>
- </control>
- </control>
- <control type="group" id="9001">
- <control type="button" id="18">
- <description>Ok Button</description>
- <posx>200</posx>
- <posy>355</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>186</label>
- <font>font12_title</font>
- <onup>9000</onup>
- <onleft>20</onleft>
- <onright>19</onright>
- <ondown>10</ondown>
- </control>
- <control type="button" id="19">
- <description>Cancel Button</description>
- <posx>410</posx>
- <posy>355</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>222</label>
- <font>font12_title</font>
- <onup>9000</onup>
- <onleft>18</onleft>
- <onright>20</onright>
- <ondown>10</ondown>
- </control>
- </control>
- </controls>
+<window> + <defaultcontrol>10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>140</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>420</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>10</onup> + <ondown>10</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label" id="2"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="3"> + <description>List label</description> + <posx>20</posx> + <posy>60</posy> + <width>760</width> + <height>30</height> + <align>center</align> + <aligny>center</aligny> + <font>font12caps</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="list" id="10"> + <posx>30</posx> + <posy>105</posy> + <width>500</width> + <height>201</height> + <onup>9001</onup> + <onleft>9000</onleft> + <onright>60</onright> + <ondown>9001</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <texture>MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>490</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <visible>!Control.HasFocus(10)</visible> + <texture>MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <visible>Control.hasfocus(14) | Control.HasFocus(10)</visible> + <texture>MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>490</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>555</posx> + <posy>105</posy> + <width>25</width> + <height>200</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>10</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="group" id="9000"> + <posx>580</posx> + <posy>105</posy> + <control type="button" id="11"> + <description>Change Set Button</description> + <posx>0</posx> + <posy>0</posy> + <width>200</width> + <height>41</height> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>18</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>13</ondown> + </control> + <control type="button" id="13"> + <description>Add Button</description> + <posx>0</posx> + <posy>40</posy> + <width>200</width> + <height>41</height> + <font>font12_title</font> + <label>15019</label> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>11</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>14</ondown> + </control> + <control type="button" id="14"> + <description>Remove Button</description> + <posx>0</posx> + <posy>80</posy> + <width>200</width> + <height>41</height> + <font>font12_title</font> + <label>1210</label> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>13</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>9001</ondown> + </control> + </control> + <control type="group" id="9001"> + <control type="button" id="18"> + <description>Ok Button</description> + <posx>200</posx> + <posy>355</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>186</label> + <font>font12_title</font> + <onup>9000</onup> + <onleft>20</onleft> + <onright>19</onright> + <ondown>10</ondown> + </control> + <control type="button" id="19"> + <description>Cancel Button</description> + <posx>410</posx> + <posy>355</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>222</label> + <font>font12_title</font> + <onup>9000</onup> + <onleft>18</onleft> + <onright>20</onright> + <ondown>10</ondown> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml b/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml index e80d6513e7..b07a01737d 100644 --- a/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml +++ b/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml @@ -1,235 +1,235 @@ -<window>
- <defaultcontrol>10</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>240</posx>
- <posy>140</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>800</width>
- <height>420</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>80</posx>
- <posy>10</posy>
- <width>640</width>
- <height>90</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>710</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>10</onleft>
- <onright>10</onright>
- <onup>10</onup>
- <ondown>10</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label" id="2">
- <description>header label</description>
- <posx>20</posx>
- <posy>18</posy>
- <width>760</width>
- <height>30</height>
- <font>font13_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="3">
- <description>List label</description>
- <posx>20</posx>
- <posy>60</posy>
- <width>760</width>
- <height>30</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font12caps</font>
- <textcolor>blue</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="list" id="10">
- <posx>30</posx>
- <posy>105</posy>
- <width>500</width>
- <height>201</height>
- <onup>9001</onup>
- <onleft>9000</onleft>
- <onright>60</onright>
- <ondown>9001</ondown>
- <pagecontrol>60</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>490</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>grey2</textcolor>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <visible>!Control.HasFocus(10)</visible>
- <texture>MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>500</width>
- <height>41</height>
- <visible>Control.hasfocus(14) | Control.HasFocus(10) | Control.HasFocus(11)</visible>
- <texture>MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>490</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="scrollbar" id="60">
- <posx>555</posx>
- <posy>105</posy>
- <width>25</width>
- <height>200</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>10</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="group" id="9000">
- <posx>580</posx>
- <posy>105</posy>
- <control type="button" id="11">
- <description>Change Set Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>200</width>
- <height>41</height>
- <font>font12_title</font>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>18</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>13</ondown>
- </control>
- <control type="button" id="13">
- <description>Add Button</description>
- <posx>0</posx>
- <posy>40</posy>
- <width>200</width>
- <height>41</height>
- <font>font12_title</font>
- <label>15019</label>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>11</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>14</ondown>
- </control>
- <control type="button" id="14">
- <description>Remove Button</description>
- <posx>0</posx>
- <posy>80</posy>
- <width>200</width>
- <height>41</height>
- <font>font12_title</font>
- <label>1210</label>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <onup>13</onup>
- <onleft>60</onleft>
- <onright>10</onright>
- <ondown>9001</ondown>
- </control>
- </control>
- <control type="group" id="9001">
- <control type="button" id="18">
- <description>Ok Button</description>
- <posx>200</posx>
- <posy>355</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>186</label>
- <font>font12_title</font>
- <onup>9000</onup>
- <onleft>20</onleft>
- <onright>19</onright>
- <ondown>10</ondown>
- </control>
- <control type="button" id="19">
- <description>Cancel Button</description>
- <posx>410</posx>
- <posy>355</posy>
- <width>200</width>
- <height>40</height>
- <align>center</align>
- <aligny>center</aligny>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">button-focus.png</texturefocus>
- <label>222</label>
- <font>font12_title</font>
- <onup>9000</onup>
- <onleft>18</onleft>
- <onright>20</onright>
- <ondown>10</ondown>
- </control>
- </control>
- </controls>
+<window> + <defaultcontrol>10</defaultcontrol> + <coordinates> + <system>1</system> + <posx>240</posx> + <posy>140</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>800</width> + <height>420</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>80</posx> + <posy>10</posy> + <width>640</width> + <height>90</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>710</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>10</onleft> + <onright>10</onright> + <onup>10</onup> + <ondown>10</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label" id="2"> + <description>header label</description> + <posx>20</posx> + <posy>18</posy> + <width>760</width> + <height>30</height> + <font>font13_title</font> + <align>center</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="3"> + <description>List label</description> + <posx>20</posx> + <posy>60</posy> + <width>760</width> + <height>30</height> + <align>center</align> + <aligny>center</aligny> + <font>font12caps</font> + <textcolor>blue</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="list" id="10"> + <posx>30</posx> + <posy>105</posy> + <width>500</width> + <height>201</height> + <onup>9001</onup> + <onleft>9000</onleft> + <onright>60</onright> + <ondown>9001</ondown> + <pagecontrol>60</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <texture>MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>490</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <textcolor>grey2</textcolor> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <visible>!Control.HasFocus(10)</visible> + <texture>MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>500</width> + <height>41</height> + <visible>Control.hasfocus(14) | Control.HasFocus(10) | Control.HasFocus(11)</visible> + <texture>MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>490</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="scrollbar" id="60"> + <posx>555</posx> + <posy>105</posy> + <width>25</width> + <height>200</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>10</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="group" id="9000"> + <posx>580</posx> + <posy>105</posy> + <control type="button" id="11"> + <description>Change Set Button</description> + <posx>0</posx> + <posy>0</posy> + <width>200</width> + <height>41</height> + <font>font12_title</font> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>18</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>13</ondown> + </control> + <control type="button" id="13"> + <description>Add Button</description> + <posx>0</posx> + <posy>40</posy> + <width>200</width> + <height>41</height> + <font>font12_title</font> + <label>15019</label> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>11</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>14</ondown> + </control> + <control type="button" id="14"> + <description>Remove Button</description> + <posx>0</posx> + <posy>80</posy> + <width>200</width> + <height>41</height> + <font>font12_title</font> + <label>1210</label> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <onup>13</onup> + <onleft>60</onleft> + <onright>10</onright> + <ondown>9001</ondown> + </control> + </control> + <control type="group" id="9001"> + <control type="button" id="18"> + <description>Ok Button</description> + <posx>200</posx> + <posy>355</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>186</label> + <font>font12_title</font> + <onup>9000</onup> + <onleft>20</onleft> + <onright>19</onright> + <ondown>10</ondown> + </control> + <control type="button" id="19"> + <description>Cancel Button</description> + <posx>410</posx> + <posy>355</posy> + <width>200</width> + <height>40</height> + <align>center</align> + <aligny>center</aligny> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">button-focus.png</texturefocus> + <label>222</label> + <font>font12_title</font> + <onup>9000</onup> + <onleft>18</onleft> + <onright>20</onright> + <ondown>10</ondown> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/script-XBMC_Lyrics-main.xml b/addons/skin.confluence/720p/script-XBMC_Lyrics-main.xml index 65e2df0706..d2c2dbb5e8 100644 --- a/addons/skin.confluence/720p/script-XBMC_Lyrics-main.xml +++ b/addons/skin.confluence/720p/script-XBMC_Lyrics-main.xml @@ -1,307 +1,307 @@ -<window>
- <allowoverlay>no</allowoverlay>
- <defaultcontrol always="false">101</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>680</posx>
- <posy>0</posy>
- </coordinates>
- <controls>
- <control type="group">
- <animation effect="slide" start="600,0" end="0,0" time="400" tween="quadratic" easing="out" condition="!Player.ShowCodec">WindowOpen</animation>
- <animation effect="slide" start="600,0" end="0,0" time="400" delay="400" tween="quadratic" easing="out" condition="Player.ShowCodec">WindowOpen</animation>
- <animation effect="slide" start="0,0" end="600,0" time="200" tween="quadratic" easing="out">WindowClose</animation>
- <control type="image">
- <description>media info background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>600</width>
- <height>720</height>
- <texture border="20,0,0,0" flipx="true">VisOsdPanel.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>20</posx>
- <posy>0</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>101</onleft>
- <onright>101</onright>
- <onup>101</onup>
- <ondown>101</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>580</posx>
- <posy>30</posy>
- <width>550</width>
- <height>30</height>
- <font>font30_title</font>
- <label>$LOCALIZE[SCRIPT0]</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Artist label</description>
- <posx>580</posx>
- <posy>60</posy>
- <width>550</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$INFO[MusicPlayer.Artist]</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label">
- <description>Song label</description>
- <posx>580</posx>
- <posy>85</posy>
- <width>550</width>
- <height>30</height>
- <font>font13_title</font>
- <label>$INFO[MusicPlayer.Title]</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>grey</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="image">
- <posx>30</posx>
- <posy>120</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <!-- ** Required ** Do not change <id> or <type> (Text box for lyrics) -->
- <control type="textbox" id="100">
- <description>textarea</description>
- <posx>30</posx>
- <posy>130</posy>
- <width>550</width>
- <height>500</height>
- <align>center</align>
- <font>font13</font>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- <onup>100</onup>
- <ondown>100</ondown>
- <onleft>101</onleft>
- <onright>101</onright>
- <pagecontrol>101</pagecontrol>
- </control>
- <control type="spincontrol" id="101">
- <description>Next page button</description>
- <posx>520</posx>
- <posy>650</posy>
- <subtype>page</subtype>
- <font>font12</font>
- <onleft>101</onleft>
- <onright>101</onright>
- <ondown>101</ondown>
- <onup>101</onup>
- <textcolor>blue</textcolor>
- <showonepage>true</showonepage>
- <visible>Control.IsVisible(100)</visible>
- </control>
- <!-- ** Required ** Do not change <id> or <type> (Smooth scrolling list for lyrics) -->
- <control type="list" id="110">
- <posx>30</posx>
- <posy>130</posy>
- <width>550</width>
- <height>500</height>
- <onleft>111</onleft>
- <onright>111</onright>
- <onup>110</onup>
- <ondown>110</ondown>
- <pagecontrol>111</pagecontrol>
- <scrolltime>200</scrolltime>
- <itemlayout height="25">
- <control type="label">
- <posx>275</posx>
- <posy>0</posy>
- <width>550</width>
- <height>25</height>
- <font>font13</font>
- <aligny>center</aligny>
- <align>center</align>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="25">
- <control type="label">
- <posx>275</posx>
- <posy>0</posy>
- <width>550</width>
- <height>25</height>
- <font>font13</font>
- <aligny>center</aligny>
- <align>center</align>
- <shadowcolor>black</shadowcolor>
- <textcolor>white</textcolor>
- <selectedcolor>selected</selectedcolor>
- <align>left</align>
- <label>$INFO[ListItem.Label]</label>
- <visible>!Control.HasFocus(110)</visible>
- </control>
- <control type="label">
- <posx>275</posx>
- <posy>0</posy>
- <width>550</width>
- <height>25</height>
- <font>font13</font>
- <aligny>center</aligny>
- <align>center</align>
- <shadowcolor>black</shadowcolor>
- <textcolor>selected</textcolor>
- <align>left</align>
- <label fallback="--">$INFO[ListItem.Label]</label>
- <visible>Control.HasFocus(110)</visible>
- </control>
- </focusedlayout>
- </control>
- <control type="spincontrol" id="111">
- <description>Next page button</description>
- <posx>520</posx>
- <posy>650</posy>
- <subtype>page</subtype>
- <font>font12</font>
- <onleft>110</onleft>
- <onright>110</onright>
- <ondown>110</ondown>
- <onup>110</onup>
- <textcolor>blue</textcolor>
- <showonepage>true</showonepage>
- <visible>Control.IsVisible(110)</visible>
- </control>
- <control type="label" id="2">
- <description>Pick label</description>
- <posx>30</posx>
- <posy>130</posy>
- <width>550</width>
- <height>30</height>
- <align>center</align>
- <aligny>center</aligny>
- <font>font13_title</font>
- <label>31203</label>
- <textcolor>white</textcolor>
- <visible>Control.IsVisible(120) + ![Control.IsVisible(100) | Control.IsVisible(110)]</visible>
- </control>
- <!-- ** Required ** Do not change <id> or <type> (Song Chooser if it gets it wrong) -->
- <control type="list" id="120">
- <posx>30</posx>
- <posy>170</posy>
- <width>550</width>
- <height>440</height>
- <onleft>121</onleft>
- <onright>121</onright>
- <onup>120</onup>
- <ondown>120</ondown>
- <pagecontrol>121</pagecontrol>
- <scrolltime>200</scrolltime>
- <animation effect="slide" start="0,0" end="20,0" time="0" condition="!Control.IsVisible(121)">Conditional</animation>
- <itemlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>41</height>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>530</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </itemlayout>
- <focusedlayout height="40">
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>41</height>
- <visible>!Control.HasFocus(120)</visible>
- <texture border="5">MenuItemNF.png</texture>
- </control>
- <control type="image">
- <posx>0</posx>
- <posy>0</posy>
- <width>550</width>
- <height>41</height>
- <visible>Control.HasFocus(120)</visible>
- <texture border="5">MenuItemFO.png</texture>
- </control>
- <control type="label">
- <posx>10</posx>
- <posy>0</posy>
- <width>530</width>
- <height>40</height>
- <font>font13</font>
- <align>left</align>
- <aligny>center</aligny>
- <selectedcolor>selected</selectedcolor>
- <info>ListItem.Label</info>
- </control>
- </focusedlayout>
- </control>
- <control type="spincontrol" id="121">
- <description>Next page button</description>
- <description>Next page button</description>
- <posx>520</posx>
- <posy>650</posy>
- <subtype>page</subtype>
- <font>font12</font>
- <onleft>120</onleft>
- <onright>120</onright>
- <ondown>120</ondown>
- <onup>120</onup>
- <textcolor>blue</textcolor>
- <showonepage>true</showonepage>
- <visible>Control.IsVisible(120)</visible>
- </control>
- <control type="image">
- <posx>30</posx>
- <posy>640</posy>
- <width>550</width>
- <height>4</height>
- <texture>separator.png</texture>
- </control>
- <control type="label">
- <description>Scraper label</description>
- <posx>580</posx>
- <posy>680</posy>
- <width>550</width>
- <height>30</height>
- <label>$LOCALIZE[31205] - $INFO[Control.GetLabel(200)]</label>
- <font>font12_title</font>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="200">
- <description>Scraper label</description>
- <visible>false</visible>
- </control>
- </control>
- <!-- ** Required ** Do not change <id> or <type> -->
- <!-- ** Required ** Do not change <id> or <type> -->
- </controls>
+<window> + <allowoverlay>no</allowoverlay> + <defaultcontrol always="false">101</defaultcontrol> + <coordinates> + <system>1</system> + <posx>680</posx> + <posy>0</posy> + </coordinates> + <controls> + <control type="group"> + <animation effect="slide" start="600,0" end="0,0" time="400" tween="quadratic" easing="out" condition="!Player.ShowCodec">WindowOpen</animation> + <animation effect="slide" start="600,0" end="0,0" time="400" delay="400" tween="quadratic" easing="out" condition="Player.ShowCodec">WindowOpen</animation> + <animation effect="slide" start="0,0" end="600,0" time="200" tween="quadratic" easing="out">WindowClose</animation> + <control type="image"> + <description>media info background image</description> + <posx>0</posx> + <posy>0</posy> + <width>600</width> + <height>720</height> + <texture border="20,0,0,0" flipx="true">VisOsdPanel.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>20</posx> + <posy>0</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>101</onleft> + <onright>101</onright> + <onup>101</onup> + <ondown>101</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>580</posx> + <posy>30</posy> + <width>550</width> + <height>30</height> + <font>font30_title</font> + <label>$LOCALIZE[SCRIPT0]</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Artist label</description> + <posx>580</posx> + <posy>60</posy> + <width>550</width> + <height>30</height> + <font>font13_title</font> + <label>$INFO[MusicPlayer.Artist]</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label"> + <description>Song label</description> + <posx>580</posx> + <posy>85</posy> + <width>550</width> + <height>30</height> + <font>font13_title</font> + <label>$INFO[MusicPlayer.Title]</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>grey</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="image"> + <posx>30</posx> + <posy>120</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <!-- ** Required ** Do not change <id> or <type> (Text box for lyrics) --> + <control type="textbox" id="100"> + <description>textarea</description> + <posx>30</posx> + <posy>130</posy> + <width>550</width> + <height>500</height> + <align>center</align> + <font>font13</font> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + <onup>100</onup> + <ondown>100</ondown> + <onleft>101</onleft> + <onright>101</onright> + <pagecontrol>101</pagecontrol> + </control> + <control type="spincontrol" id="101"> + <description>Next page button</description> + <posx>520</posx> + <posy>650</posy> + <subtype>page</subtype> + <font>font12</font> + <onleft>101</onleft> + <onright>101</onright> + <ondown>101</ondown> + <onup>101</onup> + <textcolor>blue</textcolor> + <showonepage>true</showonepage> + <visible>Control.IsVisible(100)</visible> + </control> + <!-- ** Required ** Do not change <id> or <type> (Smooth scrolling list for lyrics) --> + <control type="list" id="110"> + <posx>30</posx> + <posy>130</posy> + <width>550</width> + <height>500</height> + <onleft>111</onleft> + <onright>111</onright> + <onup>110</onup> + <ondown>110</ondown> + <pagecontrol>111</pagecontrol> + <scrolltime>200</scrolltime> + <itemlayout height="25"> + <control type="label"> + <posx>275</posx> + <posy>0</posy> + <width>550</width> + <height>25</height> + <font>font13</font> + <aligny>center</aligny> + <align>center</align> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="25"> + <control type="label"> + <posx>275</posx> + <posy>0</posy> + <width>550</width> + <height>25</height> + <font>font13</font> + <aligny>center</aligny> + <align>center</align> + <shadowcolor>black</shadowcolor> + <textcolor>white</textcolor> + <selectedcolor>selected</selectedcolor> + <align>left</align> + <label>$INFO[ListItem.Label]</label> + <visible>!Control.HasFocus(110)</visible> + </control> + <control type="label"> + <posx>275</posx> + <posy>0</posy> + <width>550</width> + <height>25</height> + <font>font13</font> + <aligny>center</aligny> + <align>center</align> + <shadowcolor>black</shadowcolor> + <textcolor>selected</textcolor> + <align>left</align> + <label fallback="--">$INFO[ListItem.Label]</label> + <visible>Control.HasFocus(110)</visible> + </control> + </focusedlayout> + </control> + <control type="spincontrol" id="111"> + <description>Next page button</description> + <posx>520</posx> + <posy>650</posy> + <subtype>page</subtype> + <font>font12</font> + <onleft>110</onleft> + <onright>110</onright> + <ondown>110</ondown> + <onup>110</onup> + <textcolor>blue</textcolor> + <showonepage>true</showonepage> + <visible>Control.IsVisible(110)</visible> + </control> + <control type="label" id="2"> + <description>Pick label</description> + <posx>30</posx> + <posy>130</posy> + <width>550</width> + <height>30</height> + <align>center</align> + <aligny>center</aligny> + <font>font13_title</font> + <label>31203</label> + <textcolor>white</textcolor> + <visible>Control.IsVisible(120) + ![Control.IsVisible(100) | Control.IsVisible(110)]</visible> + </control> + <!-- ** Required ** Do not change <id> or <type> (Song Chooser if it gets it wrong) --> + <control type="list" id="120"> + <posx>30</posx> + <posy>170</posy> + <width>550</width> + <height>440</height> + <onleft>121</onleft> + <onright>121</onright> + <onup>120</onup> + <ondown>120</ondown> + <pagecontrol>121</pagecontrol> + <scrolltime>200</scrolltime> + <animation effect="slide" start="0,0" end="20,0" time="0" condition="!Control.IsVisible(121)">Conditional</animation> + <itemlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>41</height> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>530</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </itemlayout> + <focusedlayout height="40"> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>41</height> + <visible>!Control.HasFocus(120)</visible> + <texture border="5">MenuItemNF.png</texture> + </control> + <control type="image"> + <posx>0</posx> + <posy>0</posy> + <width>550</width> + <height>41</height> + <visible>Control.HasFocus(120)</visible> + <texture border="5">MenuItemFO.png</texture> + </control> + <control type="label"> + <posx>10</posx> + <posy>0</posy> + <width>530</width> + <height>40</height> + <font>font13</font> + <align>left</align> + <aligny>center</aligny> + <selectedcolor>selected</selectedcolor> + <info>ListItem.Label</info> + </control> + </focusedlayout> + </control> + <control type="spincontrol" id="121"> + <description>Next page button</description> + <description>Next page button</description> + <posx>520</posx> + <posy>650</posy> + <subtype>page</subtype> + <font>font12</font> + <onleft>120</onleft> + <onright>120</onright> + <ondown>120</ondown> + <onup>120</onup> + <textcolor>blue</textcolor> + <showonepage>true</showonepage> + <visible>Control.IsVisible(120)</visible> + </control> + <control type="image"> + <posx>30</posx> + <posy>640</posy> + <width>550</width> + <height>4</height> + <texture>separator.png</texture> + </control> + <control type="label"> + <description>Scraper label</description> + <posx>580</posx> + <posy>680</posy> + <width>550</width> + <height>30</height> + <label>$LOCALIZE[31205] - $INFO[Control.GetLabel(200)]</label> + <font>font12_title</font> + <align>right</align> + <aligny>center</aligny> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="200"> + <description>Scraper label</description> + <visible>false</visible> + </control> + </control> + <!-- ** Required ** Do not change <id> or <type> --> + <!-- ** Required ** Do not change <id> or <type> --> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/720p/script-XBMC_Lyrics-settings.xml b/addons/skin.confluence/720p/script-XBMC_Lyrics-settings.xml index b8a49109ad..e0274c3975 100644 --- a/addons/skin.confluence/720p/script-XBMC_Lyrics-settings.xml +++ b/addons/skin.confluence/720p/script-XBMC_Lyrics-settings.xml @@ -1,389 +1,389 @@ -<window type="dialog">
- <defaultcontrol>201</defaultcontrol>
- <coordinates>
- <system>1</system>
- <posx>220</posx>
- <posy>85</posy>
- </coordinates>
- <include>dialogeffect</include>
- <controls>
- <control type="image">
- <posx>-220</posx>
- <posy>-85</posy>
- <width>1280</width>
- <height>720</height>
- <texture>black-back.png</texture>
- <animation effect="fade" time="400">Visible</animation>
- <animation effect="fade" time="200">Hidden</animation>
- <visible>Window.IsVisible(Visualisation)</visible>
- </control>
- <control type="group">
- <visible>!Window.IsVisible(script-Apple_Movie_Trailers-chooser.xml)</visible>
- <include>VisibleFadeEffect</include>
- <control type="image">
- <description>background image</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>840</width>
- <height>550</height>
- <texture border="40">DialogBack.png</texture>
- </control>
- <control type="image">
- <posx>230</posx>
- <posy>10</posy>
- <width>570</width>
- <height>528</height>
- <texture border="5">black-back2.png</texture>
- </control>
- <control type="image">
- <posx>230</posx>
- <posy>10</posy>
- <width>570</width>
- <height>100</height>
- <aspectratio>stretch</aspectratio>
- <texture>GlassTitleBar.png</texture>
- </control>
- <control type="button">
- <description>Close Window button</description>
- <posx>730</posx>
- <posy>9</posy>
- <width>64</width>
- <height>32</height>
- <label>-</label>
- <font>-</font>
- <onclick>PreviousMenu</onclick>
- <texturefocus>DialogCloseButton-focus.png</texturefocus>
- <texturenofocus>DialogCloseButton.png</texturenofocus>
- <onleft>201</onleft>
- <onright>201</onright>
- <onup>201</onup>
- <ondown>201</ondown>
- <visible>system.getbool(input.enablemouse)</visible>
- </control>
- <control type="label">
- <description>header label</description>
- <posx>240</posx>
- <posy>20</posy>
- <width>550</width>
- <height>30</height>
- <font>font24_title</font>
- <label>$LOCALIZE[SCRIPT0]</label>
- <align>left</align>
- <aligny>center</aligny>
- <textcolor>white</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <control type="label" id="30">
- <description>Version label</description>
- <posx>790</posx>
- <posy>23</posy>
- <width>300</width>
- <height>30</height>
- <font>font10</font>
- <label>-</label>
- <align>right</align>
- <aligny>center</aligny>
- <textcolor>grey2</textcolor>
- <shadowcolor>black</shadowcolor>
- </control>
- <!-- ** Required ** Do not change id's or type's -->
- <control type="scrollbar" id="60">
- <posx>803</posx>
- <posy>70</posy>
- <width>25</width>
- <height>440</height>
- <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground>
- <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar>
- <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
- <textureslidernib>ScrollBarNib.png</textureslidernib>
- <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
- <onleft>2000</onleft>
- <onright>9000</onright>
- <showonepage>false</showonepage>
- <orientation>vertical</orientation>
- </control>
- <control type="grouplist" id="9000">
- <posx>230</posx>
- <posy>70</posy>
- <width>570</width>
- <height>440</height>
- <itemgap>-1</itemgap>
- <pagecontrol>60</pagecontrol>
- <onleft>2000</onleft>
- <onright>60</onright>
- <onup>9000</onup>
- <ondown>9000</ondown>
- <control type="button" id="201">
- <description>Setting1 Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>570</width>
- <height>40</height>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- <label>$LOCALIZE[SCRIPT201]</label>
- </control>
- <control type="image" id="1">
- <description>separator image</description>
- <width>570</width>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="radiobutton" id="202">
- <description>Setting2 Button</description>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT202]</label>
- <pulseonselect>no</pulseonselect>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="button" id="203">
- <description>Setting2 Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT203]</label>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="210">
- <description>Setting10 Button</description>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT210]</label>
- <pulseonselect>no</pulseonselect>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="211">
- <description>Setting11 Button</description>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT211]</label>
- <pulseonselect>no</pulseonselect>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="image" id="2">
- <description>separator image</description>
- <width>570</width>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="radiobutton" id="204">
- <description>Setting4 Button</description>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT204]</label>
- <pulseonselect>no</pulseonselect>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="205">
- <description>Setting5 Button</description>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT205]</label>
- <pulseonselect>no</pulseonselect>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="image" id="3">
- <description>separator image</description>
- <width>570</width>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="radiobutton" id="206">
- <description>Setting6 Button</description>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT206]</label>
- <pulseonselect>no</pulseonselect>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="button" id="207">
- <description>Setting7 Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT207]</label>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="image" id="4">
- <description>separator image</description>
- <width>570</width>
- <height>2</height>
- <texture>separator2.png</texture>
- </control>
- <control type="button" id="208">
- <description>Setting8 Button</description>
- <posx>0</posx>
- <posy>0</posy>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT208]</label>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- <control type="radiobutton" id="209">
- <description>Setting9 Button</description>
- <width>570</width>
- <height>40</height>
- <label>$LOCALIZE[SCRIPT209]</label>
- <pulseonselect>no</pulseonselect>
- <font>font13</font>
- <textcolor>grey2</textcolor>
- <focusedcolor>white</focusedcolor>
- <texturefocus>MenuItemFO.png</texturefocus>
- <texturenofocus>MenuItemNF.png</texturenofocus>
- </control>
- </control>
- <!-- ** Required ** Do not change id's or type's -->
- <control type="group" id="2000">
- <posx>10</posx>
- <posy>20</posy>
- <control type="image">
- <description>LOGO</description>
- <posx>0</posx>
- <posy>10</posy>
- <width>220</width>
- <height>80</height>
- <aspectratio>keep</aspectratio>
- <texture>Confluence_Logo.png</texture>
- </control>
- <control type="button" id="250">
- <description>OK button</description>
- <posx>0</posx>
- <posy>90</posy>
- <width>215</width>
- <height>51</height>
- <label>$LOCALIZE[SCRIPT250]</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>253</onup>
- <ondown>251</ondown>
- </control>
- <control type="button" id="251">
- <description>Cancel button</description>
- <posx>0</posx>
- <posy>140</posy>
- <width>215</width>
- <height>51</height>
- <label>$LOCALIZE[SCRIPT251]</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>250</onup>
- <ondown>252</ondown>
- </control>
- <control type="button" id="252">
- <description>Update button</description>
- <posx>0</posx>
- <posy>190</posy>
- <width>215</width>
- <height>51</height>
- <label>$LOCALIZE[SCRIPT252]</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>251</onup>
- <ondown>254</ondown>
- </control>
- <control type="button" id="254">
- <description>Play button</description>
- <posx>0</posx>
- <posy>240</posy>
- <width>215</width>
- <height>51</height>
- <label>$LOCALIZE[SCRIPT254]</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>252</onup>
- <ondown>255</ondown>
- </control>
- <control type="button" id="255">
- <description>Defaults button</description>
- <posx>0</posx>
- <posy>290</posy>
- <width>215</width>
- <height>51</height>
- <label>$LOCALIZE[SCRIPT255]</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>254</onup>
- <ondown>253</ondown>
- </control>
- <control type="button" id="253">
- <description>Credits button</description>
- <posx>0</posx>
- <posy>340</posy>
- <width>215</width>
- <height>51</height>
- <label>$LOCALIZE[SCRIPT253]</label>
- <font>font13_title</font>
- <align>right</align>
- <texturenofocus border="5">MenuItemNF.png</texturenofocus>
- <texturefocus border="5">MenuItemFO.png</texturefocus>
- <onleft>9000</onleft>
- <onright>9000</onright>
- <onup>255</onup>
- <ondown>250</ondown>
- </control>
- </control>
- </control>
- </controls>
+<window type="dialog"> + <defaultcontrol>201</defaultcontrol> + <coordinates> + <system>1</system> + <posx>220</posx> + <posy>85</posy> + </coordinates> + <include>dialogeffect</include> + <controls> + <control type="image"> + <posx>-220</posx> + <posy>-85</posy> + <width>1280</width> + <height>720</height> + <texture>black-back.png</texture> + <animation effect="fade" time="400">Visible</animation> + <animation effect="fade" time="200">Hidden</animation> + <visible>Window.IsVisible(Visualisation)</visible> + </control> + <control type="group"> + <visible>!Window.IsVisible(script-Apple_Movie_Trailers-chooser.xml)</visible> + <include>VisibleFadeEffect</include> + <control type="image"> + <description>background image</description> + <posx>0</posx> + <posy>0</posy> + <width>840</width> + <height>550</height> + <texture border="40">DialogBack.png</texture> + </control> + <control type="image"> + <posx>230</posx> + <posy>10</posy> + <width>570</width> + <height>528</height> + <texture border="5">black-back2.png</texture> + </control> + <control type="image"> + <posx>230</posx> + <posy>10</posy> + <width>570</width> + <height>100</height> + <aspectratio>stretch</aspectratio> + <texture>GlassTitleBar.png</texture> + </control> + <control type="button"> + <description>Close Window button</description> + <posx>730</posx> + <posy>9</posy> + <width>64</width> + <height>32</height> + <label>-</label> + <font>-</font> + <onclick>PreviousMenu</onclick> + <texturefocus>DialogCloseButton-focus.png</texturefocus> + <texturenofocus>DialogCloseButton.png</texturenofocus> + <onleft>201</onleft> + <onright>201</onright> + <onup>201</onup> + <ondown>201</ondown> + <visible>system.getbool(input.enablemouse)</visible> + </control> + <control type="label"> + <description>header label</description> + <posx>240</posx> + <posy>20</posy> + <width>550</width> + <height>30</height> + <font>font24_title</font> + <label>$LOCALIZE[SCRIPT0]</label> + <align>left</align> + <aligny>center</aligny> + <textcolor>white</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <control type="label" id="30"> + <description>Version label</description> + <posx>790</posx> + <posy>23</posy> + <width>300</width> + <height>30</height> + <font>font10</font> + <label>-</label> + <align>right</align> + <aligny>center</aligny> + <textcolor>grey2</textcolor> + <shadowcolor>black</shadowcolor> + </control> + <!-- ** Required ** Do not change id's or type's --> + <control type="scrollbar" id="60"> + <posx>803</posx> + <posy>70</posy> + <width>25</width> + <height>440</height> + <texturesliderbackground border="0,14,0,14">ScrollBarV.png</texturesliderbackground> + <texturesliderbar border="0,14,0,14">ScrollBarV_bar.png</texturesliderbar> + <texturesliderbarfocus border="0,14,0,14">ScrollBarV_bar_focus.png</texturesliderbarfocus> + <textureslidernib>ScrollBarNib.png</textureslidernib> + <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus> + <onleft>2000</onleft> + <onright>9000</onright> + <showonepage>false</showonepage> + <orientation>vertical</orientation> + </control> + <control type="grouplist" id="9000"> + <posx>230</posx> + <posy>70</posy> + <width>570</width> + <height>440</height> + <itemgap>-1</itemgap> + <pagecontrol>60</pagecontrol> + <onleft>2000</onleft> + <onright>60</onright> + <onup>9000</onup> + <ondown>9000</ondown> + <control type="button" id="201"> + <description>Setting1 Button</description> + <posx>0</posx> + <posy>0</posy> + <width>570</width> + <height>40</height> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + <label>$LOCALIZE[SCRIPT201]</label> + </control> + <control type="image" id="1"> + <description>separator image</description> + <width>570</width> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="radiobutton" id="202"> + <description>Setting2 Button</description> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT202]</label> + <pulseonselect>no</pulseonselect> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="button" id="203"> + <description>Setting2 Button</description> + <posx>0</posx> + <posy>0</posy> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT203]</label> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="210"> + <description>Setting10 Button</description> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT210]</label> + <pulseonselect>no</pulseonselect> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="211"> + <description>Setting11 Button</description> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT211]</label> + <pulseonselect>no</pulseonselect> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="image" id="2"> + <description>separator image</description> + <width>570</width> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="radiobutton" id="204"> + <description>Setting4 Button</description> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT204]</label> + <pulseonselect>no</pulseonselect> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="205"> + <description>Setting5 Button</description> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT205]</label> + <pulseonselect>no</pulseonselect> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="image" id="3"> + <description>separator image</description> + <width>570</width> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="radiobutton" id="206"> + <description>Setting6 Button</description> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT206]</label> + <pulseonselect>no</pulseonselect> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="button" id="207"> + <description>Setting7 Button</description> + <posx>0</posx> + <posy>0</posy> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT207]</label> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="image" id="4"> + <description>separator image</description> + <width>570</width> + <height>2</height> + <texture>separator2.png</texture> + </control> + <control type="button" id="208"> + <description>Setting8 Button</description> + <posx>0</posx> + <posy>0</posy> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT208]</label> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + <control type="radiobutton" id="209"> + <description>Setting9 Button</description> + <width>570</width> + <height>40</height> + <label>$LOCALIZE[SCRIPT209]</label> + <pulseonselect>no</pulseonselect> + <font>font13</font> + <textcolor>grey2</textcolor> + <focusedcolor>white</focusedcolor> + <texturefocus>MenuItemFO.png</texturefocus> + <texturenofocus>MenuItemNF.png</texturenofocus> + </control> + </control> + <!-- ** Required ** Do not change id's or type's --> + <control type="group" id="2000"> + <posx>10</posx> + <posy>20</posy> + <control type="image"> + <description>LOGO</description> + <posx>0</posx> + <posy>10</posy> + <width>220</width> + <height>80</height> + <aspectratio>keep</aspectratio> + <texture>Confluence_Logo.png</texture> + </control> + <control type="button" id="250"> + <description>OK button</description> + <posx>0</posx> + <posy>90</posy> + <width>215</width> + <height>51</height> + <label>$LOCALIZE[SCRIPT250]</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>253</onup> + <ondown>251</ondown> + </control> + <control type="button" id="251"> + <description>Cancel button</description> + <posx>0</posx> + <posy>140</posy> + <width>215</width> + <height>51</height> + <label>$LOCALIZE[SCRIPT251]</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>250</onup> + <ondown>252</ondown> + </control> + <control type="button" id="252"> + <description>Update button</description> + <posx>0</posx> + <posy>190</posy> + <width>215</width> + <height>51</height> + <label>$LOCALIZE[SCRIPT252]</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>251</onup> + <ondown>254</ondown> + </control> + <control type="button" id="254"> + <description>Play button</description> + <posx>0</posx> + <posy>240</posy> + <width>215</width> + <height>51</height> + <label>$LOCALIZE[SCRIPT254]</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>252</onup> + <ondown>255</ondown> + </control> + <control type="button" id="255"> + <description>Defaults button</description> + <posx>0</posx> + <posy>290</posy> + <width>215</width> + <height>51</height> + <label>$LOCALIZE[SCRIPT255]</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>254</onup> + <ondown>253</ondown> + </control> + <control type="button" id="253"> + <description>Credits button</description> + <posx>0</posx> + <posy>340</posy> + <width>215</width> + <height>51</height> + <label>$LOCALIZE[SCRIPT253]</label> + <font>font13_title</font> + <align>right</align> + <texturenofocus border="5">MenuItemNF.png</texturenofocus> + <texturefocus border="5">MenuItemFO.png</texturefocus> + <onleft>9000</onleft> + <onright>9000</onright> + <onup>255</onup> + <ondown>250</ondown> + </control> + </control> + </control> + </controls> </window>
\ No newline at end of file diff --git a/addons/skin.confluence/build.bat b/addons/skin.confluence/build.bat index 73e0e0c495..97875541d3 100644 --- a/addons/skin.confluence/build.bat +++ b/addons/skin.confluence/build.bat @@ -1,24 +1,24 @@ -@echo off
-ECHO ----------------------------------------
-echo Creating Confluence Build Folder
-rmdir ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\ /S /Q
-md ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\media\
-
-Echo .svn>exclude.txt
-Echo Thumbs.db>>exclude.txt
-Echo Desktop.ini>>exclude.txt
-Echo dsstdfx.bin>>exclude.txt
-Echo BUILD>>exclude.txt
-Echo \skin.confluence\media\>>exclude.txt
-Echo exclude.txt>>exclude.txt
-
-ECHO ----------------------------------------
-ECHO Creating XBT File...
-START /B /WAIT ..\..\Tools\TexturePacker\TexturePacker -input media -output ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\media\Textures.xbt
-
-ECHO ----------------------------------------
-ECHO XBT Texture Files Created...
-ECHO Building Skin Directory...
-xcopy "..\skin.confluence" "..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence" /E /Q /I /Y /EXCLUDE:exclude.txt
-
-del exclude.txt
+@echo off +ECHO ---------------------------------------- +echo Creating Confluence Build Folder +rmdir ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\ /S /Q +md ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\media\ + +Echo .svn>exclude.txt +Echo Thumbs.db>>exclude.txt +Echo Desktop.ini>>exclude.txt +Echo dsstdfx.bin>>exclude.txt +Echo BUILD>>exclude.txt +Echo \skin.confluence\media\>>exclude.txt +Echo exclude.txt>>exclude.txt + +ECHO ---------------------------------------- +ECHO Creating XBT File... +START /B /WAIT ..\..\Tools\TexturePacker\TexturePacker -input media -output ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\media\Textures.xbt + +ECHO ---------------------------------------- +ECHO XBT Texture Files Created... +ECHO Building Skin Directory... +xcopy "..\skin.confluence" "..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence" /E /Q /I /Y /EXCLUDE:exclude.txt + +del exclude.txt diff --git a/addons/skin.confluence/changelog.txt b/addons/skin.confluence/changelog.txt index fc8e2fe391..27c0cd081e 100644 --- a/addons/skin.confluence/changelog.txt +++ b/addons/skin.confluence/changelog.txt @@ -1,11 +1,11 @@ -[B]1.1.0[/B]
-
-- Redesigned the video and Music OSD Info and controls
-- Added more images for codec flagging on videos and audio
-- Added all the windows needed for the new Addon Browser
-- Removed the right hand side bar graphic from all windows and only made the left hand one visible if a menu is there
-- Lots of other little changes
-
-[B]1.0.0[/B]
-
+[B]1.1.0[/B] + +- Redesigned the video and Music OSD Info and controls +- Added more images for codec flagging on videos and audio +- Added all the windows needed for the new Addon Browser +- Removed the right hand side bar graphic from all windows and only made the left hand one visible if a menu is there +- Lots of other little changes + +[B]1.0.0[/B] + - Initial Commit to the SVN
\ No newline at end of file diff --git a/addons/skin.confluence/colors/defaults.xml b/addons/skin.confluence/colors/defaults.xml index cfb6ac07d3..c663acba4c 100644 --- a/addons/skin.confluence/colors/defaults.xml +++ b/addons/skin.confluence/colors/defaults.xml @@ -1,10 +1,10 @@ -<colors>
- <color name="white">FFFFFFFF</color>
- <color name="grey">FFb4b4b4</color>
- <color name="grey2">88FFFFFF</color>
- <color name="grey3">33FFFFFF</color>
- <color name="black">FF000000</color>
- <color name="blue">FF0084ff</color>
- <color name="selected">FFEB9E17</color>
- <color name="dialogheader">DDced8da</color>
+<colors> + <color name="white">FFFFFFFF</color> + <color name="grey">FFb4b4b4</color> + <color name="grey2">88FFFFFF</color> + <color name="grey3">33FFFFFF</color> + <color name="black">FF000000</color> + <color name="blue">FF0084ff</color> + <color name="selected">FFEB9E17</color> + <color name="dialogheader">DDced8da</color> </colors>
\ No newline at end of file diff --git a/addons/skin.confluence/language/Chinese (Traditional)/strings.xml b/addons/skin.confluence/language/Chinese (Traditional)/strings.xml index 3990dd9413..6ee938211a 100644 --- a/addons/skin.confluence/language/Chinese (Traditional)/strings.xml +++ b/addons/skin.confluence/language/Chinese (Traditional)/strings.xml @@ -1,152 +1,152 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<!--Language file translated by koalahong-->
-<strings>
- <!-- Misc labels -->
- <string id="31000">修改您的</string>
- <string id="31001">å–œæ¡</string>
- <string id="31002">討åŽ</string>
- <string id="31003">é›»æºé¸é …</string>
- <string id="31004">工作ä¸...</string>
- <string id="31005">éš±è—資訊</string>
-
- <string id="31007">外掛</string>
-
- <string id="31020">最近新增</string>
- <string id="31021">視訊 - 檔案</string>
- <string id="31022">音樂 - 檔案</string>
- <string id="31023">æ£åœ¨æ’放</string>
- <string id="31024">é </string>
- <string id="31025">å€‹é …ç›®</string>
- <string id="31026">其他é¸é …</string>
- <string id="31027">ä½ç½®</string>
-
- <!-- View Type labels -->
- <string id="31028">æµ·å ±æ²å‹•</string>
- <string id="31029">劇照</string>
- <string id="31030">全部清單</string>
- <string id="31031">圖片縮圖</string>
- <string id="31032">圖片æ²å‹•</string>
- <string id="31033">資訊</string>
-
- <!-- Extra labels -->
- <string id="31040">æ£åœ¨æ’放</string>
-
- <string id="31042">æ£åœ¨æ’æ–¹</string>
- <string id="31043">æš«åœ</string>
- <string id="31044">快轉</string>
- <string id="31045">倒轉</string>
- <string id="31046">音效屬性</string>
- <string id="31047">ç›®å‰è¨å®š</string>
- <string id="31048">視覺效果è¨å®š</string>
- <string id="31049">çµæŸæ™‚é–“</string>
-
-
- <!-- Playlist Editor labels -->
- <string id="31055">é–‹å•Ÿæ’放清單</string>
- <string id="31056">儲å˜æ’放清單</string>
- <string id="31057">關閉æ’放清單</string>
- <string id="31058">系統ä¸çš„音樂檔案</string>
- <string id="31059">ç›®å‰çš„æ’放清單</string>
- <string id="31060">é€™å€‹æª”æ¡ˆå·²å †ç–Šï¼Œè«‹é¸æ“‡æ‚¨è¦å¾žå“ªå€‹éƒ¨åˆ†é–‹å§‹æ’放。</string>
- <string id="31061">ç›®å‰çš„é¸æ“‡</string>
-
- <!-- Skin Settings labels -->
- <string id="31100"></string>
- <string id="31101">主介é¢é¸é …</string>
- <string id="31102">背景</string>
- <string id="31103">在圖片幻燈片秀ä¸é¡¯ç¤º"已暫åœ"狀態</string>
- <string id="31104">在視窗ä¸æ’放é 告片[COLOR=grey3](åªåœ¨è¦–訊資訊å°è©±æ¡†ä¸)[/COLOR]</string>
- <string id="31105">在背景掃瞄器ä¸é¡¯ç¤ºåª’體標題</string>
- <string id="31106">其他é¸é …</string>
- <string id="31107">éš±è—視訊檔案å稱的媒體標示 [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]</string>
- <string id="31108">éš±è—主é¸å–®æŒ‰éˆ•</string>
- <string id="31109">媒體背景</string>
- <string id="31110">編輯媒體類型的背景</string>
- <string id="31111">éš±è—</string>
- <string id="31112">é¸é …</string>
- <string id="31113">單一圖片</string>
- <string id="31114">多張圖片</string>
- <string id="31115">自訂</string>
- <string id="31116"></string>
- <string id="31117">顯示最近新增的視訊</string>
- <string id="31118">首é 程å¼åé¸å–®</string>
- <string id="31119"></string>
- <string id="31120">按鈕標籤</string>
- <string id="31121"></string>
- <string id="31122">氣象é é¢</string>
- <string id="31123">ä»¥é›»è¦–ç¯€ç›®çš„æµ·å ±å–代橫幅圖片</string>
- <string id="31124">在背景顯示æ£åœ¨æ’放的視訊</string>
- <string id="31125">在背景顯示æ£åœ¨æ’放的視覺效果</string>
-
- <string id="31126"></string>
- <string id="31127"></string>
- <string id="31128">æŒè©ž</string>
- <string id="31129"></string>
- <string id="31130"></string>
-
- <string id="31140">音樂æ’放工具列</string>
- <string id="31141">視訊æ’放工具列</string>
-
- <!-- Script labels -->
- <string id="31200">æ·å¾‘</string>
- <string id="31201">分類</string>
- <string id="31202">顯示演員</string>
- <string id="31203">é¸æ“‡æ‚¨çš„æŒæ›²</string>
- <string id="31204">段è½é€£çµ</string>
- <string id="31205">æŒè©žä¾†æº</string>
-
- <!-- Extra labels -->
- <string id="31300">ç¾åœ¨æº«åº¦</string>
- <string id="31301">最後更新</string>
- <string id="31302">é¸å–®</string>
- <string id="31303"></string>
- <string id="31304">圖片</string>
- <string id="31305">沒有åµæ¸¬åˆ°å…‰ç¢Ÿåª’é«”</string>
- <string id="31306">退出</string>
- <string id="31307">éš±è—劇照</string>
- <string id="31308">電影詳細資訊</string>
- <string id="31309">已使用記憶體:</string>
- <string id="31310">音軌編號</string>
- <string id="31311">無法å–å¾—[CR][CR]劇情照片[CR][CR] 請點擊按鈕來è¨å®š</string>
- <string id="31312">ç›®å‰çš„ç«™å°</string>
- <string id="31313">é¸æ“‡ä¸€å€‹ç«™å°</string>
- <string id="31314">內容掃æé¸é …</string>
- <string id="31315">基本</string>
- <string id="31316"></string>
- <string id="31317">è¨å®šåŠ‡ç…§è·¯å¾‘</string>
- <string id="31318">å°åŠ‡ç…§</string>
- <string id="31319">é¸æ“‡çš„è¨å®šæª”</string>
- <string id="31320">上次登入在</string>
- <string id="31321">å¡æ‹‰OKæŒæ›²é¸æ“‡å™¨</string>
- <string id="31322">首æ’</string>
- <string id="31323">最新電影</string>
- <string id="31324">最新劇集</string>
- <string id="31325">æ’放清單é¸é …</string>
- <string id="31326">已建立</string>
- <string id="31327">解æžåº¦</string>
- <string id="31328">最近新增</string>
- <string id="31329">[B]計時器啟動ï¼[/B] [COLOR=grey2] - 系統將自動關機於:[/COLOR]</string>
- <string id="31330">點擊按鈕æ’放[CR][CR]電影é 告片</string>
-
- <!-- Video and Music OSD Labels -->
- <string id="31351">æš«åœ</string>
- <string id="31352">åœæ¢</string>
- <string id="31353">快轉</string>
- <string id="31354">倒轉</string>
- <string id="31355">電影é¸å–®</string>
- <string id="31356">下載å—幕</string>
- <string id="31357"></string>
-
- <!-- Description Labels -->
- <string id="31400">[B]è¨å®šä»‹é¢å¤–觀[/B][CR][CR]修改佈景主題 · é¸æ“‡èªžè¨€å’Œåœ°å€ · 修改檔案清單é¸é …[CR]è¨å®šèž¢å¹•ä¿è·ç¨‹å¼</string>
- <string id="31401">[B]è¨å®šè¦–訊åƒæ•¸[/B][CR][CR]管ç†æ‚¨çš„音樂資料庫 · è¨å®šè¦–訊æ’放é¸é … · 修改視訊清單é¸é …[CR]è¨å®šå—幕å—åž‹</string>
- <string id="31402">[B]è¨å®šéŸ³æ¨‚åƒæ•¸[/B][CR][CR]管ç†æ‚¨çš„音樂資料庫 · è¨å®šéŸ³æ¨‚æ’放é¸é … · 修改音樂清單é¸é …[CR]è¨å®šæŒæ›²æ交 · è¨å®šå¡æ‹‰OKé¸é …</string>
- <string id="31403">[B]è¨å®šåœ–片åƒæ•¸[/B][CR][CR]è¨å®šåœ–片清單é¸é … · è¨å®šå¹»ç‡ˆç‰‡ç§€</string>
- <string id="31404">[B]è¨å®šæ°£è±¡åƒæ•¸[/B][CR][CR]è¨å®šä¸‰å€‹è¦æ”¶é›†æ°£è±¡è³‡æ–™çš„城市</string>
- <string id="31405">[B]è¨å®šç¶²è·¯åƒæ•¸[/B][CR][CR]é€éŽ UPnP å’Œ HTTP 控制 XBMC · è¨å®šæª”案分享[CR]è¨å®šç¶²éš›ç¶²è·¯è¨ªå•é¸é …</string>
- <string id="31406">[B]è¨å®šç³»çµ±åƒæ•¸[/B][CR][CR]è¨å®šå’Œæ ¡æ£é¡¯ç¤ºè¼¸å‡º · è¨å®šéŸ³æ•ˆè¼¸å‡º · è¨å®šé™æŽ§å™¨[CR]è¨å®šç¯€èƒ½é¸é … · 啟用除錯 · è¨å®šéŽ–定密碼</string>
- <string id="31407">[B]è¨å®šä½ˆæ™¯ä¸»é¡Œ[/B][CR][CR]è¨å®š Confluence 佈景主題 · 新增或移除首é é¸å–®é …ç›®[CR]修改佈景主題背景</string>
- <string id="31408">[B]è¨å®šé™„åŠ å…ƒä»¶[/B][CR][CR]管ç†å·²å®‰è£çš„é™„åŠ å…ƒä»¶ · 從 xbmc.org ç€è¦½ä¸¦å®‰è£é™„åŠ å…ƒä»¶[CR]ä¿®æ”¹é™„åŠ å…ƒä»¶è¨å®š</string>
-
- <string id="31421">é¸æ“‡æ‚¨çš„ XBMC 使用者è¨å®šæª”[CR]登入並繼續</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<!--Language file translated by koalahong--> +<strings> + <!-- Misc labels --> + <string id="31000">修改您的</string> + <string id="31001">å–œæ¡</string> + <string id="31002">討åŽ</string> + <string id="31003">é›»æºé¸é …</string> + <string id="31004">工作ä¸...</string> + <string id="31005">éš±è—資訊</string> + + <string id="31007">外掛</string> + + <string id="31020">最近新增</string> + <string id="31021">視訊 - 檔案</string> + <string id="31022">音樂 - 檔案</string> + <string id="31023">æ£åœ¨æ’放</string> + <string id="31024">é </string> + <string id="31025">å€‹é …ç›®</string> + <string id="31026">其他é¸é …</string> + <string id="31027">ä½ç½®</string> + + <!-- View Type labels --> + <string id="31028">æµ·å ±æ²å‹•</string> + <string id="31029">劇照</string> + <string id="31030">全部清單</string> + <string id="31031">圖片縮圖</string> + <string id="31032">圖片æ²å‹•</string> + <string id="31033">資訊</string> + + <!-- Extra labels --> + <string id="31040">æ£åœ¨æ’放</string> + + <string id="31042">æ£åœ¨æ’æ–¹</string> + <string id="31043">æš«åœ</string> + <string id="31044">快轉</string> + <string id="31045">倒轉</string> + <string id="31046">音效屬性</string> + <string id="31047">ç›®å‰è¨å®š</string> + <string id="31048">視覺效果è¨å®š</string> + <string id="31049">çµæŸæ™‚é–“</string> + + + <!-- Playlist Editor labels --> + <string id="31055">é–‹å•Ÿæ’放清單</string> + <string id="31056">儲å˜æ’放清單</string> + <string id="31057">關閉æ’放清單</string> + <string id="31058">系統ä¸çš„音樂檔案</string> + <string id="31059">ç›®å‰çš„æ’放清單</string> + <string id="31060">é€™å€‹æª”æ¡ˆå·²å †ç–Šï¼Œè«‹é¸æ“‡æ‚¨è¦å¾žå“ªå€‹éƒ¨åˆ†é–‹å§‹æ’放。</string> + <string id="31061">ç›®å‰çš„é¸æ“‡</string> + + <!-- Skin Settings labels --> + <string id="31100"></string> + <string id="31101">主介é¢é¸é …</string> + <string id="31102">背景</string> + <string id="31103">在圖片幻燈片秀ä¸é¡¯ç¤º"已暫åœ"狀態</string> + <string id="31104">在視窗ä¸æ’放é 告片[COLOR=grey3](åªåœ¨è¦–訊資訊å°è©±æ¡†ä¸)[/COLOR]</string> + <string id="31105">在背景掃瞄器ä¸é¡¯ç¤ºåª’體標題</string> + <string id="31106">其他é¸é …</string> + <string id="31107">éš±è—視訊檔案å稱的媒體標示 [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]</string> + <string id="31108">éš±è—主é¸å–®æŒ‰éˆ•</string> + <string id="31109">媒體背景</string> + <string id="31110">編輯媒體類型的背景</string> + <string id="31111">éš±è—</string> + <string id="31112">é¸é …</string> + <string id="31113">單一圖片</string> + <string id="31114">多張圖片</string> + <string id="31115">自訂</string> + <string id="31116"></string> + <string id="31117">顯示最近新增的視訊</string> + <string id="31118">首é 程å¼åé¸å–®</string> + <string id="31119"></string> + <string id="31120">按鈕標籤</string> + <string id="31121"></string> + <string id="31122">氣象é é¢</string> + <string id="31123">ä»¥é›»è¦–ç¯€ç›®çš„æµ·å ±å–代橫幅圖片</string> + <string id="31124">在背景顯示æ£åœ¨æ’放的視訊</string> + <string id="31125">在背景顯示æ£åœ¨æ’放的視覺效果</string> + + <string id="31126"></string> + <string id="31127"></string> + <string id="31128">æŒè©ž</string> + <string id="31129"></string> + <string id="31130"></string> + + <string id="31140">音樂æ’放工具列</string> + <string id="31141">視訊æ’放工具列</string> + + <!-- Script labels --> + <string id="31200">æ·å¾‘</string> + <string id="31201">分類</string> + <string id="31202">顯示演員</string> + <string id="31203">é¸æ“‡æ‚¨çš„æŒæ›²</string> + <string id="31204">段è½é€£çµ</string> + <string id="31205">æŒè©žä¾†æº</string> + + <!-- Extra labels --> + <string id="31300">ç¾åœ¨æº«åº¦</string> + <string id="31301">最後更新</string> + <string id="31302">é¸å–®</string> + <string id="31303"></string> + <string id="31304">圖片</string> + <string id="31305">沒有åµæ¸¬åˆ°å…‰ç¢Ÿåª’é«”</string> + <string id="31306">退出</string> + <string id="31307">éš±è—劇照</string> + <string id="31308">電影詳細資訊</string> + <string id="31309">已使用記憶體:</string> + <string id="31310">音軌編號</string> + <string id="31311">無法å–å¾—[CR][CR]劇情照片[CR][CR] 請點擊按鈕來è¨å®š</string> + <string id="31312">ç›®å‰çš„ç«™å°</string> + <string id="31313">é¸æ“‡ä¸€å€‹ç«™å°</string> + <string id="31314">內容掃æé¸é …</string> + <string id="31315">基本</string> + <string id="31316"></string> + <string id="31317">è¨å®šåŠ‡ç…§è·¯å¾‘</string> + <string id="31318">å°åŠ‡ç…§</string> + <string id="31319">é¸æ“‡çš„è¨å®šæª”</string> + <string id="31320">上次登入在</string> + <string id="31321">å¡æ‹‰OKæŒæ›²é¸æ“‡å™¨</string> + <string id="31322">首æ’</string> + <string id="31323">最新電影</string> + <string id="31324">最新劇集</string> + <string id="31325">æ’放清單é¸é …</string> + <string id="31326">已建立</string> + <string id="31327">解æžåº¦</string> + <string id="31328">最近新增</string> + <string id="31329">[B]計時器啟動ï¼[/B] [COLOR=grey2] - 系統將自動關機於:[/COLOR]</string> + <string id="31330">點擊按鈕æ’放[CR][CR]電影é 告片</string> + + <!-- Video and Music OSD Labels --> + <string id="31351">æš«åœ</string> + <string id="31352">åœæ¢</string> + <string id="31353">快轉</string> + <string id="31354">倒轉</string> + <string id="31355">電影é¸å–®</string> + <string id="31356">下載å—幕</string> + <string id="31357"></string> + + <!-- Description Labels --> + <string id="31400">[B]è¨å®šä»‹é¢å¤–觀[/B][CR][CR]修改佈景主題 · é¸æ“‡èªžè¨€å’Œåœ°å€ · 修改檔案清單é¸é …[CR]è¨å®šèž¢å¹•ä¿è·ç¨‹å¼</string> + <string id="31401">[B]è¨å®šè¦–訊åƒæ•¸[/B][CR][CR]管ç†æ‚¨çš„音樂資料庫 · è¨å®šè¦–訊æ’放é¸é … · 修改視訊清單é¸é …[CR]è¨å®šå—幕å—åž‹</string> + <string id="31402">[B]è¨å®šéŸ³æ¨‚åƒæ•¸[/B][CR][CR]管ç†æ‚¨çš„音樂資料庫 · è¨å®šéŸ³æ¨‚æ’放é¸é … · 修改音樂清單é¸é …[CR]è¨å®šæŒæ›²æ交 · è¨å®šå¡æ‹‰OKé¸é …</string> + <string id="31403">[B]è¨å®šåœ–片åƒæ•¸[/B][CR][CR]è¨å®šåœ–片清單é¸é … · è¨å®šå¹»ç‡ˆç‰‡ç§€</string> + <string id="31404">[B]è¨å®šæ°£è±¡åƒæ•¸[/B][CR][CR]è¨å®šä¸‰å€‹è¦æ”¶é›†æ°£è±¡è³‡æ–™çš„城市</string> + <string id="31405">[B]è¨å®šç¶²è·¯åƒæ•¸[/B][CR][CR]é€éŽ UPnP å’Œ HTTP 控制 XBMC · è¨å®šæª”案分享[CR]è¨å®šç¶²éš›ç¶²è·¯è¨ªå•é¸é …</string> + <string id="31406">[B]è¨å®šç³»çµ±åƒæ•¸[/B][CR][CR]è¨å®šå’Œæ ¡æ£é¡¯ç¤ºè¼¸å‡º · è¨å®šéŸ³æ•ˆè¼¸å‡º · è¨å®šé™æŽ§å™¨[CR]è¨å®šç¯€èƒ½é¸é … · 啟用除錯 · è¨å®šéŽ–定密碼</string> + <string id="31407">[B]è¨å®šä½ˆæ™¯ä¸»é¡Œ[/B][CR][CR]è¨å®š Confluence 佈景主題 · 新增或移除首é é¸å–®é …ç›®[CR]修改佈景主題背景</string> + <string id="31408">[B]è¨å®šé™„åŠ å…ƒä»¶[/B][CR][CR]管ç†å·²å®‰è£çš„é™„åŠ å…ƒä»¶ · 從 xbmc.org ç€è¦½ä¸¦å®‰è£é™„åŠ å…ƒä»¶[CR]ä¿®æ”¹é™„åŠ å…ƒä»¶è¨å®š</string> + + <string id="31421">é¸æ“‡æ‚¨çš„ XBMC 使用者è¨å®šæª”[CR]登入並繼續</string> +</strings> diff --git a/addons/skin.confluence/language/English/strings.xml b/addons/skin.confluence/language/English/strings.xml index e1b1146581..ae6ddbc62a 100644 --- a/addons/skin.confluence/language/English/strings.xml +++ b/addons/skin.confluence/language/English/strings.xml @@ -1,163 +1,163 @@ -<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
-<strings>
- <!-- Misc labels -->
- <string id="31000">Change Your</string>
- <string id="31001">Love</string>
- <string id="31002">Hate</string>
- <string id="31003">Power Options</string>
- <string id="31004">Working...</string>
- <string id="31005">Hide INFO</string>
-
- <string id="31007">Plugins</string>
-
- <string id="31020">Recently Added</string>
- <string id="31021">Video - Files</string>
- <string id="31022">Music - Files</string>
- <string id="31023">Playing</string>
- <string id="31024">Page</string>
- <string id="31025">Items</string>
- <string id="31026">Misc Options</string>
- <string id="31027">Location</string>
-
- <!-- View Type labels -->
- <string id="31028">Poster Wrap</string>
- <string id="31029">Fanart</string>
- <string id="31030">Full list</string>
- <string id="31031">Pic Thumbs</string>
- <string id="31032">Image Wrap</string>
- <string id="31033">Info</string>
-
- <!-- Extra labels -->
- <string id="31040">Now Playing</string>
-
- <string id="31042">PLAYING</string>
- <string id="31043">PAUSED</string>
- <string id="31044">FAST FORWARD</string>
- <string id="31045">REWIND</string>
- <string id="31046">Audio Properties</string>
- <string id="31047">Current Preset</string>
- <string id="31048">Visualization Presets</string>
- <string id="31049">End Time</string>
-
-
- <!-- Playlist Editor labels -->
- <string id="31055">Open playlist</string>
- <string id="31056">Save playlist</string>
- <string id="31057">Close playlist</string>
- <string id="31058">System music files</string>
- <string id="31059">Current playlist</string>
- <string id="31060">This file is stacked, select the part you want to play from.</string>
- <string id="31061">Current Selected</string>
-
- <!-- Skin Settings labels -->
- <string id="31100"></string>
- <string id="31101">Home screen options</string>
- <string id="31102">Background</string>
- <string id="31103">Show "Paused" in picture slide show</string>
- <string id="31104">Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]</string>
- <string id="31105">Show media titles in background scanner</string>
- <string id="31106">Miscellaneous options</string>
- <string id="31107">Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]</string>
- <string id="31108">Hide Main Menu Buttons</string>
- <string id="31109">Media backgrounds</string>
- <string id="31110">Edit Background for Media Type</string>
- <string id="31111">Hide</string>
- <string id="31112">Options</string>
- <string id="31113">Single Image</string>
- <string id="31114">Multi Image</string>
- <string id="31115">Customizer</string>
- <string id="31116"></string>
- <string id="31117">Show Recently added Videos</string>
- <string id="31118">Home Page Programs Submenu</string>
- <string id="31119"></string> <!-- blanked 2010-11-12 -->
- <string id="31120">BUTTON LABEL</string>
- <string id="31121"></string> <!-- blanked 2010-11-12 -->
- <string id="31122">Weather Page</string>
- <string id="31123">Use "Posters" instead of "Banners" for TV Shows</string>
- <string id="31124">Show Background "Now Playing" Video</string>
- <string id="31125">Show Background "Now Playing" Visualization</string>
-
- <string id="31126"></string> <!-- blanked 2010-11-12 -->
- <string id="31127"></string> <!-- blanked 2010-11-12 -->
- <string id="31128">Lyrics</string>
- <string id="31129"></string> <!-- blanked 2010-11-12 -->
- <string id="31130"></string> <!-- blanked 2010-11-12 -->
-
- <string id="31131"></string> <!-- blanked 2010-12-23 -->
- <string id="31132">Lyrics Add-on</string>
- <string id="31133">Subtitle Add-on</string>
- <string id="31134">Home Page Videos Submenu</string>
- <string id="31135">Home Page Music Submenu</string>
- <string id="31136">Home Page Pictures Submenu</string>
-
- <string id="31140">Music OSD</string>
- <string id="31141">Video OSD</string>
-
- <!-- Script labels -->
- <string id="31200">Shortcuts</string>
- <string id="31201">Categories</string>
- <string id="31202">Show Cast</string>
- <string id="31203">Choose Your Song</string>
- <string id="31204">Section Links</string>
- <string id="31205">Lyrics Source</string>
-
- <!-- Extra labels -->
- <string id="31300">Current Temp</string>
- <string id="31301">Last Updated</string>
- <string id="31302">Menu</string>
- <string id="31303"></string>
- <string id="31304">Picture</string>
- <string id="31305">No Disc Media Detected</string>
- <string id="31306">Eject</string>
- <string id="31307">Hide Fanart</string>
- <string id="31308">Movie Details</string>
- <string id="31309">Memory Used:</string>
- <string id="31310">Track Number</string>
- <string id="31311">Fanart image[CR][CR]Unavailable[CR][CR] Click button to set</string>
- <string id="31312">Current Scraper</string>
- <string id="31313">Choose a Scraper</string>
- <string id="31314">Content Scanning Options</string>
- <string id="31315">Basic</string>
- <string id="31316"></string>
- <string id="31317">Set Fanart Path</string>
- <string id="31318">Small Fanart</string>
- <string id="31319">Selected Profile</string>
- <string id="31320">Last Logged In</string>
- <string id="31321">Karaoke Song Selector</string>
- <string id="31322">Aired</string>
- <string id="31323">Latest Movies</string>
- <string id="31324">Latest Episodes</string>
- <string id="31325">Playlist Options</string>
- <string id="31326">Created</string>
- <string id="31327">Resolution</string>
- <string id="31328">Recently Added</string>
- <string id="31329">[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]</string>
- <string id="31330">Click button to play[CR][CR]Movie trailer</string>
-
- <!-- Video and Music OSD Labels -->
- <string id="31351">Pause</string>
- <string id="31352">Stop</string>
- <string id="31353">Fast Forward</string>
- <string id="31354">Rewind</string>
- <string id="31355">Movie menu</string>
- <string id="31356">Download Subtitles</string>
- <string id="31357"></string>
-
- <!-- Skin Fontsets -->
- <string id="31390">Skin default</string>
- <string id="31391">Skin default with no Caps</string>
- <string id="31392">Arial based</string>
-
- <!-- Description Labels -->
- <string id="31400">[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver</string>
- <string id="31401">[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts</string>
- <string id="31402">[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options</string>
- <string id="31403">[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows</string>
- <string id="31404">[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information</string>
- <string id="31405">[B]CONFIGURE NETWORK SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Set internet access options</string>
- <string id="31406">[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock</string>
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> +<strings> + <!-- Misc labels --> + <string id="31000">Change Your</string> + <string id="31001">Love</string> + <string id="31002">Hate</string> + <string id="31003">Power Options</string> + <string id="31004">Working...</string> + <string id="31005">Hide INFO</string> + + <string id="31007">Plugins</string> + + <string id="31020">Recently Added</string> + <string id="31021">Video - Files</string> + <string id="31022">Music - Files</string> + <string id="31023">Playing</string> + <string id="31024">Page</string> + <string id="31025">Items</string> + <string id="31026">Misc Options</string> + <string id="31027">Location</string> + + <!-- View Type labels --> + <string id="31028">Poster Wrap</string> + <string id="31029">Fanart</string> + <string id="31030">Full list</string> + <string id="31031">Pic Thumbs</string> + <string id="31032">Image Wrap</string> + <string id="31033">Info</string> + + <!-- Extra labels --> + <string id="31040">Now Playing</string> + + <string id="31042">PLAYING</string> + <string id="31043">PAUSED</string> + <string id="31044">FAST FORWARD</string> + <string id="31045">REWIND</string> + <string id="31046">Audio Properties</string> + <string id="31047">Current Preset</string> + <string id="31048">Visualization Presets</string> + <string id="31049">End Time</string> + + + <!-- Playlist Editor labels --> + <string id="31055">Open playlist</string> + <string id="31056">Save playlist</string> + <string id="31057">Close playlist</string> + <string id="31058">System music files</string> + <string id="31059">Current playlist</string> + <string id="31060">This file is stacked, select the part you want to play from.</string> + <string id="31061">Current Selected</string> + + <!-- Skin Settings labels --> + <string id="31100"></string> + <string id="31101">Home screen options</string> + <string id="31102">Background</string> + <string id="31103">Show "Paused" in picture slide show</string> + <string id="31104">Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]</string> + <string id="31105">Show media titles in background scanner</string> + <string id="31106">Miscellaneous options</string> + <string id="31107">Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]</string> + <string id="31108">Hide Main Menu Buttons</string> + <string id="31109">Media backgrounds</string> + <string id="31110">Edit Background for Media Type</string> + <string id="31111">Hide</string> + <string id="31112">Options</string> + <string id="31113">Single Image</string> + <string id="31114">Multi Image</string> + <string id="31115">Customizer</string> + <string id="31116"></string> + <string id="31117">Show Recently added Videos</string> + <string id="31118">Home Page Programs Submenu</string> + <string id="31119"></string> <!-- blanked 2010-11-12 --> + <string id="31120">BUTTON LABEL</string> + <string id="31121"></string> <!-- blanked 2010-11-12 --> + <string id="31122">Weather Page</string> + <string id="31123">Use "Posters" instead of "Banners" for TV Shows</string> + <string id="31124">Show Background "Now Playing" Video</string> + <string id="31125">Show Background "Now Playing" Visualization</string> + + <string id="31126"></string> <!-- blanked 2010-11-12 --> + <string id="31127"></string> <!-- blanked 2010-11-12 --> + <string id="31128">Lyrics</string> + <string id="31129"></string> <!-- blanked 2010-11-12 --> + <string id="31130"></string> <!-- blanked 2010-11-12 --> + + <string id="31131"></string> <!-- blanked 2010-12-23 --> + <string id="31132">Lyrics Add-on</string> + <string id="31133">Subtitle Add-on</string> + <string id="31134">Home Page Videos Submenu</string> + <string id="31135">Home Page Music Submenu</string> + <string id="31136">Home Page Pictures Submenu</string> + + <string id="31140">Music OSD</string> + <string id="31141">Video OSD</string> + + <!-- Script labels --> + <string id="31200">Shortcuts</string> + <string id="31201">Categories</string> + <string id="31202">Show Cast</string> + <string id="31203">Choose Your Song</string> + <string id="31204">Section Links</string> + <string id="31205">Lyrics Source</string> + + <!-- Extra labels --> + <string id="31300">Current Temp</string> + <string id="31301">Last Updated</string> + <string id="31302">Menu</string> + <string id="31303"></string> + <string id="31304">Picture</string> + <string id="31305">No Disc Media Detected</string> + <string id="31306">Eject</string> + <string id="31307">Hide Fanart</string> + <string id="31308">Movie Details</string> + <string id="31309">Memory Used:</string> + <string id="31310">Track Number</string> + <string id="31311">Fanart image[CR][CR]Unavailable[CR][CR] Click button to set</string> + <string id="31312">Current Scraper</string> + <string id="31313">Choose a Scraper</string> + <string id="31314">Content Scanning Options</string> + <string id="31315">Basic</string> + <string id="31316"></string> + <string id="31317">Set Fanart Path</string> + <string id="31318">Small Fanart</string> + <string id="31319">Selected Profile</string> + <string id="31320">Last Logged In</string> + <string id="31321">Karaoke Song Selector</string> + <string id="31322">Aired</string> + <string id="31323">Latest Movies</string> + <string id="31324">Latest Episodes</string> + <string id="31325">Playlist Options</string> + <string id="31326">Created</string> + <string id="31327">Resolution</string> + <string id="31328">Recently Added</string> + <string id="31329">[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]</string> + <string id="31330">Click button to play[CR][CR]Movie trailer</string> + + <!-- Video and Music OSD Labels --> + <string id="31351">Pause</string> + <string id="31352">Stop</string> + <string id="31353">Fast Forward</string> + <string id="31354">Rewind</string> + <string id="31355">Movie menu</string> + <string id="31356">Download Subtitles</string> + <string id="31357"></string> + + <!-- Skin Fontsets --> + <string id="31390">Skin default</string> + <string id="31391">Skin default with no Caps</string> + <string id="31392">Arial based</string> + + <!-- Description Labels --> + <string id="31400">[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver</string> + <string id="31401">[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts</string> + <string id="31402">[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options</string> + <string id="31403">[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows</string> + <string id="31404">[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information</string> + <string id="31405">[B]CONFIGURE NETWORK SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Set internet access options</string> + <string id="31406">[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock</string> <string id="31407">[B]CONFIGURE SKIN SETTINGS[/B][CR][CR]Setup the Confluence skin · Add and remove home menu items[CR]Change skin backgrounds</string> <string id="31408">[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings</string> -
- <string id="31421">Select your XBMC user Profile[CR]to login and continue</string>
-</strings>
+ + <string id="31421">Select your XBMC user Profile[CR]to login and continue</string> +</strings> diff --git a/addons/skin.confluence/language/Italian/strings.xml b/addons/skin.confluence/language/Italian/strings.xml index a791f6f1ec..16cc93ed49 100644 --- a/addons/skin.confluence/language/Italian/strings.xml +++ b/addons/skin.confluence/language/Italian/strings.xml @@ -1,155 +1,155 @@ -<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
-<strings>
- <!-- Misc labels -->
- <string id="31000">Cambia il tuo</string>
- <string id="31001">Amo</string>
- <string id="31002">Odio</string>
- <string id="31003">Impostazioni Avanzate</string>
- <string id="31004">Sto lavorando...</string>
- <string id="31005">Nascondi INFO</string>
-
- <string id="31007">Plugins</string>
-
- <string id="31020">Aggiunti di recente</string>
- <string id="31021">Files - Video</string>
- <string id="31022">Files - Musica</string>
- <string id="31023">In Riproduzione</string>
- <string id="31024">Pagina</string>
- <string id="31025">Oggetti</string>
- <string id="31026">Opzioni Varie</string>
- <string id="31027">Località</string>
-
- <!-- View Type labels -->
- <string id="31028">Poster</string>
- <string id="31029">Fanart</string>
- <string id="31030">Lista estesa</string>
- <string id="31031">Miniature immagini</string>
- <string id="31032">Immagine</string>
- <string id="31033">Informazioni</string>
-
- <!-- Extra labels -->
- <string id="31040">In riproduzione</string>
-
- <string id="31042">IN RIPRODUZIONE</string>
- <string id="31043">IN PAUSA</string>
- <string id="31044">AVANTI VELOCE</string>
- <string id="31045">INDIETRO</string>
- <string id="31046">Proprietà Audio </string>
- <string id="31047">Preset Corrente</string>
- <string id="31048">Preset Visualizzazione</string>
- <string id="31049">Orario fine riproduzione</string>
-
-
- <!-- Playlist Editor labels -->
- <string id="31055">Apri playlist</string>
- <string id="31056">Salva playlist</string>
- <string id="31057">Chiudi playlist</string>
- <string id="31058">Suoni di sistema</string>
- <string id="31059">Playlist Corrente </string>
- <string id="31060">Questo file è stato accorpato, scegli la parte da cui vuoi iniziare.</string>
- <string id="31061">Correntemente Selezionato</string>
-
- <!-- Skin Settings labels -->
- <string id="31100"></string>
- <string id="31101">Opzioni pagina principale</string>
- <string id="31102">Sfondo</string>
- <string id="31103">Mostra "In pausa" durante la visualizzazione delle immagini</string>
- <string id="31104">Riproduci i trailer in finestra [COLOR=grey3](Solo nel pannello informazioni video)[/COLOR]</string>
- <string id="31105">Mostra i titoli dei files durante la scansione in secondo piano</string>
- <string id="31106">Opzioni Varie</string>
- <string id="31107"></string>
- <string id="31108">Nascondi i bottoni del menù principale</string>
- <string id="31109">Sfondi per le sezioni principali</string>
- <string id="31110">Modifica lo Sfondo per la Sezione</string>
- <string id="31111">Nascondi</string>
- <string id="31112">Opzioni</string>
- <string id="31113">Singola Immagine</string>
- <string id="31114">Immagini Multiple</string>
- <string id="31115">Personalizzazione</string>
- <string id="31116"></string>
- <string id="31117">Mostra i Video Aggiunti di Recente</string>
- <string id="31118">Sottomenu Pagina Principale</string>
- <string id="31119"></string>
- <string id="31120">ETICHETTA BOTTONE</string>
- <string id="31121"></string>
- <string id="31122">Pagina Meteo</string>
- <string id="31123">Usa i "Posters" invece dei "Banners" per le Serie Tv</string>
- <string id="31124">Mostra nello Sfondo il nome del Video "In Riproduzione" </string>
- <string id="31125">Mostra nello Sfondo Visualizzazioni il nome del file "In Riproduzione"</string>
-
- <string id="31126"></string>
- <string id="31127"></string>
- <string id="31128">XBMC Testi Canzoni</string>
- <string id="31129"></string>
- <string id="31130"></string>
-
- <string id="31140">OSD Musica</string>
- <string id="31141">OSD Video</string>
-
- <!-- Script labels -->
- <string id="31200">Collegamenti</string>
- <string id="31201">Categorie</string>
- <string id="31202">Mostra il Cast</string>
- <string id="31203">Scegli la canzone</string>
- <string id="31204">Sezione Links</string>
- <string id="31205">Sorgente Testi</string>
-
- <!-- The Weather Channel Script labels -->
- <string id="31250">Radar & Pevisioni</string>
- <string id="31251">Previsioni</string>
- <string id="31252">TWC Script</string>
-
- <!-- Extra labels -->
- <string id="31300">Temperatura Corrente</string>
- <string id="31301">Ultimo Aggiornamento</string>
- <string id="31302">Menu</string>
- <string id="31303"></string>
- <string id="31304">Immagini</string>
- <string id="31305">Nessun Disco Rilevato</string>
- <string id="31306">Espelli</string>
- <string id="31307">Nascondi Fanart</string>
- <string id="31308">Dettagli Film</string>
- <string id="31309">Memoria Usata:</string>
- <string id="31310">Numero Traccia</string>
- <string id="31311">Immagine Fanart [CR][CR]Nono disponibile[CR][CR] Premi il bottone per impostarla</string>
- <string id="31312">Scraper Corrente</string>
- <string id="31313">Scegli uno Scraper</string>
- <string id="31314">Opzioni Scansione Contenuti</string>
- <string id="31315">Base</string>
- <string id="31316"></string>
- <string id="31317">Imposta il percorso per le immagini fanart</string>
- <string id="31318">Fanart ridotte</string>
- <string id="31319">Scegli il Profilo</string>
- <string id="31320">Ultimo Login</string>
- <string id="31321">Karaoke Song Selector</string>
- <string id="31322">Trasmessa</string>
- <string id="31323">Ultimi Film</string>
- <string id="31324">Ultimi Episodi</string>
- <string id="31325">Opzioni Playlist</string>
- <string id="31326">Creato</string>
- <string id="31327">Risoluzione</string>
- <string id="31328">Aggiunti di Recente</string>
- <string id="31329">[B]Timer Impostato![/B] [COLOR=grey2] - Il Sistema Verrà Spento in[/COLOR]</string>
- <string id="31330">Premi il bottone per riprodurre [CR][CR]il trailer del Film</string>
-
- <!-- Video and Music OSD Labels -->
- <string id="31351">Pausa</string>
- <string id="31352">Stop</string>
- <string id="31353">Avanti Veloce</string>
- <string id="31354">Indietro</string>
- <string id="31355">Menu Filmato</string>
- <string id="31356">Scarica Sottotitoli</string>
- <string id="31357"></string>
-
- <!-- Description Labels -->
- <string id="31400">[B]CONFIGURA LE IMPOSTAZIONI PER L'ASPETTO[/B][CR][CR]Cambia la skin · Imposta Lingua e Regione · Cambia le impostazioni di elenco dei file[CR]Imposta uno screensaver</string>
- <string id="31401">[B]CONFIGURA IMPOSTAZIONI VIDEO[/B][CR][CR]Gestisci la tua Libreria Video · Imposta le impostazioni di riproduzione dei video · Cambia impostazioni per le liste video[CR]Imposta il fonts dei sottotitoli</string>
- <string id="31402">[B]CONFIGURA IMPOSTAZIONI MUSICA[/B][CR][CR]Gestisci la tua Libreria Musicale · Imposta le impostazioni di riproduzione della musica · Cambia impostazioni per le liste audio[CR]Setup song submission · Imposta le opzioni per il karaoke</string>
- <string id="31403">[B]CONFIGURA IMPOSTAZIONI IMMAGINI[/B][CR][CR]Cambia impostazioni per le liste delle immagini· Configura lo slideshows</string>
- <string id="31404">[B]CONFIGURA IMPOSTAZIONI METEO[/B][CR][CR]Imposta tre città su cui avere le informazioni meteo</string>
- <string id="31405">[B]CONFIGURA IMPOSTAZIONI DI RETE[/B][CR][CR]Imposta il controllo di XBMC via UPnP e HTTP · Configura le opzioni di condivisione[CR]Imposta le opzioni di accesso ad Internet</string>
- <string id="31406">[B]CONFIGURA IMPOSTAZIONI DI SISTEMA[/B][CR][CR]Imposta e calibra il video · Configura l'uscita Audio · Imposta i controlli remoti[CR]Imposta le ozioni di risparmio energetico · Abilita il Debug · Imposta il master lock</string>
+<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> +<strings> + <!-- Misc labels --> + <string id="31000">Cambia il tuo</string> + <string id="31001">Amo</string> + <string id="31002">Odio</string> + <string id="31003">Impostazioni Avanzate</string> + <string id="31004">Sto lavorando...</string> + <string id="31005">Nascondi INFO</string> + + <string id="31007">Plugins</string> + + <string id="31020">Aggiunti di recente</string> + <string id="31021">Files - Video</string> + <string id="31022">Files - Musica</string> + <string id="31023">In Riproduzione</string> + <string id="31024">Pagina</string> + <string id="31025">Oggetti</string> + <string id="31026">Opzioni Varie</string> + <string id="31027">Località</string> + + <!-- View Type labels --> + <string id="31028">Poster</string> + <string id="31029">Fanart</string> + <string id="31030">Lista estesa</string> + <string id="31031">Miniature immagini</string> + <string id="31032">Immagine</string> + <string id="31033">Informazioni</string> + + <!-- Extra labels --> + <string id="31040">In riproduzione</string> + + <string id="31042">IN RIPRODUZIONE</string> + <string id="31043">IN PAUSA</string> + <string id="31044">AVANTI VELOCE</string> + <string id="31045">INDIETRO</string> + <string id="31046">Proprietà Audio </string> + <string id="31047">Preset Corrente</string> + <string id="31048">Preset Visualizzazione</string> + <string id="31049">Orario fine riproduzione</string> + + + <!-- Playlist Editor labels --> + <string id="31055">Apri playlist</string> + <string id="31056">Salva playlist</string> + <string id="31057">Chiudi playlist</string> + <string id="31058">Suoni di sistema</string> + <string id="31059">Playlist Corrente </string> + <string id="31060">Questo file è stato accorpato, scegli la parte da cui vuoi iniziare.</string> + <string id="31061">Correntemente Selezionato</string> + + <!-- Skin Settings labels --> + <string id="31100"></string> + <string id="31101">Opzioni pagina principale</string> + <string id="31102">Sfondo</string> + <string id="31103">Mostra "In pausa" durante la visualizzazione delle immagini</string> + <string id="31104">Riproduci i trailer in finestra [COLOR=grey3](Solo nel pannello informazioni video)[/COLOR]</string> + <string id="31105">Mostra i titoli dei files durante la scansione in secondo piano</string> + <string id="31106">Opzioni Varie</string> + <string id="31107"></string> + <string id="31108">Nascondi i bottoni del menù principale</string> + <string id="31109">Sfondi per le sezioni principali</string> + <string id="31110">Modifica lo Sfondo per la Sezione</string> + <string id="31111">Nascondi</string> + <string id="31112">Opzioni</string> + <string id="31113">Singola Immagine</string> + <string id="31114">Immagini Multiple</string> + <string id="31115">Personalizzazione</string> + <string id="31116"></string> + <string id="31117">Mostra i Video Aggiunti di Recente</string> + <string id="31118">Sottomenu Pagina Principale</string> + <string id="31119"></string> + <string id="31120">ETICHETTA BOTTONE</string> + <string id="31121"></string> + <string id="31122">Pagina Meteo</string> + <string id="31123">Usa i "Posters" invece dei "Banners" per le Serie Tv</string> + <string id="31124">Mostra nello Sfondo il nome del Video "In Riproduzione" </string> + <string id="31125">Mostra nello Sfondo Visualizzazioni il nome del file "In Riproduzione"</string> + + <string id="31126"></string> + <string id="31127"></string> + <string id="31128">XBMC Testi Canzoni</string> + <string id="31129"></string> + <string id="31130"></string> + + <string id="31140">OSD Musica</string> + <string id="31141">OSD Video</string> + + <!-- Script labels --> + <string id="31200">Collegamenti</string> + <string id="31201">Categorie</string> + <string id="31202">Mostra il Cast</string> + <string id="31203">Scegli la canzone</string> + <string id="31204">Sezione Links</string> + <string id="31205">Sorgente Testi</string> + + <!-- The Weather Channel Script labels --> + <string id="31250">Radar & Pevisioni</string> + <string id="31251">Previsioni</string> + <string id="31252">TWC Script</string> + + <!-- Extra labels --> + <string id="31300">Temperatura Corrente</string> + <string id="31301">Ultimo Aggiornamento</string> + <string id="31302">Menu</string> + <string id="31303"></string> + <string id="31304">Immagini</string> + <string id="31305">Nessun Disco Rilevato</string> + <string id="31306">Espelli</string> + <string id="31307">Nascondi Fanart</string> + <string id="31308">Dettagli Film</string> + <string id="31309">Memoria Usata:</string> + <string id="31310">Numero Traccia</string> + <string id="31311">Immagine Fanart [CR][CR]Nono disponibile[CR][CR] Premi il bottone per impostarla</string> + <string id="31312">Scraper Corrente</string> + <string id="31313">Scegli uno Scraper</string> + <string id="31314">Opzioni Scansione Contenuti</string> + <string id="31315">Base</string> + <string id="31316"></string> + <string id="31317">Imposta il percorso per le immagini fanart</string> + <string id="31318">Fanart ridotte</string> + <string id="31319">Scegli il Profilo</string> + <string id="31320">Ultimo Login</string> + <string id="31321">Karaoke Song Selector</string> + <string id="31322">Trasmessa</string> + <string id="31323">Ultimi Film</string> + <string id="31324">Ultimi Episodi</string> + <string id="31325">Opzioni Playlist</string> + <string id="31326">Creato</string> + <string id="31327">Risoluzione</string> + <string id="31328">Aggiunti di Recente</string> + <string id="31329">[B]Timer Impostato![/B] [COLOR=grey2] - Il Sistema Verrà Spento in[/COLOR]</string> + <string id="31330">Premi il bottone per riprodurre [CR][CR]il trailer del Film</string> + + <!-- Video and Music OSD Labels --> + <string id="31351">Pausa</string> + <string id="31352">Stop</string> + <string id="31353">Avanti Veloce</string> + <string id="31354">Indietro</string> + <string id="31355">Menu Filmato</string> + <string id="31356">Scarica Sottotitoli</string> + <string id="31357"></string> + + <!-- Description Labels --> + <string id="31400">[B]CONFIGURA LE IMPOSTAZIONI PER L'ASPETTO[/B][CR][CR]Cambia la skin · Imposta Lingua e Regione · Cambia le impostazioni di elenco dei file[CR]Imposta uno screensaver</string> + <string id="31401">[B]CONFIGURA IMPOSTAZIONI VIDEO[/B][CR][CR]Gestisci la tua Libreria Video · Imposta le impostazioni di riproduzione dei video · Cambia impostazioni per le liste video[CR]Imposta il fonts dei sottotitoli</string> + <string id="31402">[B]CONFIGURA IMPOSTAZIONI MUSICA[/B][CR][CR]Gestisci la tua Libreria Musicale · Imposta le impostazioni di riproduzione della musica · Cambia impostazioni per le liste audio[CR]Setup song submission · Imposta le opzioni per il karaoke</string> + <string id="31403">[B]CONFIGURA IMPOSTAZIONI IMMAGINI[/B][CR][CR]Cambia impostazioni per le liste delle immagini· Configura lo slideshows</string> + <string id="31404">[B]CONFIGURA IMPOSTAZIONI METEO[/B][CR][CR]Imposta tre città su cui avere le informazioni meteo</string> + <string id="31405">[B]CONFIGURA IMPOSTAZIONI DI RETE[/B][CR][CR]Imposta il controllo di XBMC via UPnP e HTTP · Configura le opzioni di condivisione[CR]Imposta le opzioni di accesso ad Internet</string> + <string id="31406">[B]CONFIGURA IMPOSTAZIONI DI SISTEMA[/B][CR][CR]Imposta e calibra il video · Configura l'uscita Audio · Imposta i controlli remoti[CR]Imposta le ozioni di risparmio energetico · Abilita il Debug · Imposta il master lock</string> <string id="31407">[B]CONFIGURA IMPOSTAZIONI SKIN[/B][CR][CR]Configura la skin Confluence · Aggiungi o rimuovi oggetti dalla pagina principale[CR]Cambia gli sfondi</string> <string id="31408">[B]CONFIGURA GLI ADD-ONS[/B][CR][CR]Gestisci i tuoi Add-ons installati · Cerca ed installa gli Add-ons da xbmc.org[CR]Modifica le impostazioni degli Add-ons</string> -
- <string id="31421">Scegli il tuo profilo utente di XBMC[CR]per fare il login e continuare</string>
-</strings>
+ + <string id="31421">Scegli il tuo profilo utente di XBMC[CR]per fare il login e continuare</string> +</strings> diff --git a/addons/skin.confluence/language/Serbian (Cyrillic)/strings.xml b/addons/skin.confluence/language/Serbian (Cyrillic)/strings.xml index 04807d8639..c2f4f676b4 100644 --- a/addons/skin.confluence/language/Serbian (Cyrillic)/strings.xml +++ b/addons/skin.confluence/language/Serbian (Cyrillic)/strings.xml @@ -1,156 +1,156 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- ОÑтали натпиÑи -->
- <string id="31000">Промените ваше</string>
- <string id="31001">Љубав</string>
- <string id="31002">Мржња</string>
- <string id="31003">Опције напајања</string>
- <string id="31004">Обрада...</string>
- <string id="31005">Сакриј инфо.</string>
-
- <string id="31007">Додаци</string>
-
- <string id="31020">Ðедавно додато</string>
- <string id="31021">Видео - Датотеке</string>
- <string id="31022">Музика - Датотеке</string>
- <string id="31023">Репродукција</string>
- <string id="31024">Страна</string>
- <string id="31025">Ставки</string>
- <string id="31026">ОÑтале опције</string>
- <string id="31027">Локација</string>
-
- <!-- Приказ типа натпиÑа -->
- <string id="31028">Поређано</string>
- <string id="31029">Зан. Ñлика</string>
- <string id="31030">Пуни ÑпиÑак</string>
- <string id="31031">Сличице</string>
- <string id="31032">Поређано</string>
- <string id="31033">Информације</string>
-
- <!-- Додатни натпиÑи -->
- <string id="31040">Тренутно Ñе репродукује</string>
-
- <string id="31042">РЕПРОДУКОВÐЊЕ</string>
- <string id="31043">ПÐУЗИРÐÐО</string>
- <string id="31044">ПРЕМОТÐÐ’ÐЊЕ УÐÐПРЕД</string>
- <string id="31045">ПРЕМОТÐÐ’ÐЊЕ</string>
- <string id="31046">СвојÑтва звука</string>
- <string id="31047">Тренутна поÑтавка</string>
- <string id="31048">ПоÑтојеће визуализације</string>
- <string id="31049">Време завршетка</string>
-
-
- <!-- ÐатпиÑи уређивача ÑпиÑка за репродукцију -->
- <string id="31055">Отвори реп. ÑпиÑак</string>
- <string id="31056">Сачувај реп. ÑпиÑак</string>
- <string id="31057">Затвори реп. ÑпиÑак</string>
- <string id="31058">СиÑтемÑке музичке датотеке</string>
- <string id="31059">Тренутни реп. ÑпиÑак</string>
- <string id="31060">Ова датотека је Ñложена, изаберите део који желите да репродукујете.</string>
- <string id="31061">Тренутно изабрано</string>
-
- <!-- ÐатпиÑи поÑтавки маÑки -->
- <string id="31100"></string>
- <string id="31101">Опције почетног екрана</string>
- <string id="31102">Позадина</string>
- <string id="31103">Прикажи „Паузирано“ приликом репродукције Ñлика</string>
- <string id="31104">Репродукуј најаве филмова у прозору [COLOR=grey3](Video Info. Dialog Only)[/COLOR]</string>
- <string id="31105">Прикажи називе медија у позадинÑком анализирању</string>
- <string id="31106">Разне опције</string>
- <string id="31107"></string>
- <string id="31108">Сакриј таÑтере главног менија</string>
- <string id="31109">Позадине почетног екрана</string>
- <string id="31110">Уредите позадину таÑтера за почетни екран</string>
- <string id="31111">Сакриј</string>
- <string id="31112">Опције</string>
- <string id="31113">Једна Ñлика</string>
- <string id="31114">Више Ñлика</string>
- <string id="31115">Прилагођавач</string>
- <string id="31116"></string>
- <string id="31117">Прикажи недавно додате филмове</string>
- <string id="31118">Подмени почетне Ñтране</string>
- <string id="31119"></string>
- <string id="31120">ÐÐТПИС ТÐСТЕРÐ</string>
- <string id="31121"></string>
- <string id="31122">Страна временÑке прогнозе</string>
- <string id="31123">Прикажи поÑтере умеÑто банера за TV Ñерије</string>
- <string id="31124">Прикажи тренутни филм у позадини</string>
- <string id="31125">Прикажи тренутну визуализацију у позадини</string>
-
- <string id="31126"></string>
- <string id="31127"></string>
- <string id="31128">ТекÑтови пеÑама</string>
- <string id="31129"></string>
- <string id="31130"></string>
-
- <string id="31140">Музички OSD</string>
- <string id="31141">Видео OSD</string>
-
- <!-- ÐатпиÑи Ñкрипти -->
- <string id="31200">Пречице</string>
- <string id="31201">Категорије</string>
- <string id="31202">Прикажи улоге</string>
- <string id="31203">Изаберите вашу пеÑму</string>
- <string id="31204">Линкови одељка</string>
- <string id="31205">Извор текÑтова пеÑама</string>
-
- <!-- The Weather Channel натпиÑи -->
- <string id="31250">Радар и прогноза</string>
- <string id="31251">Прогноза</string>
- <string id="31252">TWC Ñкрипта</string>
-
- <!-- Додатни натпиÑи -->
- <string id="31300">Тренутна температура</string>
- <string id="31301">ПоÑледње ажурирање</string>
- <string id="31302">Мени</string>
- <string id="31303"></string>
- <string id="31304">Фотографија</string>
- <string id="31305">Ðије откривен оптички диÑк</string>
- <string id="31306">Избаци</string>
- <string id="31307">Сакриј Ñлику</string>
- <string id="31308">Подаци о филму</string>
- <string id="31309">ИÑкоришћеноÑÑ‚ меморије:</string>
- <string id="31310">Број нумере</string>
- <string id="31311">Занимљива Ñлика[CR]није додељена.[CR][CR]Кликните на дугме да[CR]биÑте је доделили.</string>
- <string id="31312">Тренутни добављач</string>
- <string id="31313">Изаберите добављача</string>
- <string id="31314">Опције анализирања Ñадржаја</string>
- <string id="31315">ОÑновно</string>
- <string id="31316"></string>
- <string id="31317">ПоÑÑ‚. пут. до Ñлика</string>
- <string id="31318">Занимљиве Ñлике малих димензија</string>
- <string id="31319">Изабран профил</string>
- <string id="31320">ПоÑледња пријава</string>
- <string id="31321">Бирач караоке пеÑме</string>
- <string id="31322">Емитовано</string>
- <string id="31323">Ðовији филмови</string>
- <string id="31324">Ðовије епизоде</string>
- <string id="31325">Опције ÑпиÑка за репродукцију</string>
- <string id="31326">Ðаправљено</string>
- <string id="31327">Резолуција</string>
- <string id="31328">Ðедавно додато</string>
- <string id="31329">[B]Одбројавање је поÑтављено![/B] [COLOR=grey2] - СиÑтем ће Ñе иÑкључити за[/COLOR]</string>
- <string id="31330">Кликните на таÑтер за репродукцију[CR][CR]најаве филма</string>
-
- <!-- ÐатпиÑи за OSD видеа и звука -->
- <string id="31351">Пауза</string>
- <string id="31352">ЗауÑтави</string>
- <string id="31353">Премотај унапред</string>
- <string id="31354">Премотај уназад</string>
- <string id="31355">ФилмÑки мени</string>
- <string id="31356">Преузми титлове</string>
- <string id="31357"></string>
-
- <!-- ОпиÑни текÑтови -->
- <string id="31400">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ПРИКÐЗÐ[/B][CR][CR]Промените маÑку · Изаберите језик и облаÑÑ‚ где живите[CR]Промените опције излиÑтавања датотека · Изаберите чувара екрана</string>
- <string id="31401">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ФИЛМОВÐ[/B][CR][CR]Управљајте вашом библиотеком филмова · ПоÑтавите опције репродукције филмова[CR]Промените опције излиÑтавања филмова · ПоÑтавите изглед Ñлова у титловима</string>
- <string id="31402">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ МУЗИКЕ[/B][CR][CR]Управљајте вашом библиотеком музичких нумера · ПоÑтавите опције репрод. музике[CR]Промените опције излиÑтавања музике · ПоÑтавите Ñлање пеÑама[CR]ПоÑтавите караоке опције</string>
- <string id="31403">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ СЛИКÐ[/B][CR][CR]ПоÑтавите опције излиÑтавања Ñлика · Конфигуришите репродукцију Ñлајдова</string>
- <string id="31404">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ВРЕМЕÐСКЕ ПРОГÐОЗЕ[/B][CR][CR]ПоÑтавите три града за прикупљање информација о временÑким приликама</string>
- <string id="31405">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ МРЕЖЕ[/B][CR][CR]ПодеÑите контроле за XBMC путем UPnP и HTTP протокола[CR]Конфигуришите дељење датотека · ПоÑтавите опције приÑтупа Интернету</string>
- <string id="31406">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ СИСТЕМÐ[/B][CR][CR]ПодеÑите и калибришите екране · Конфигуришите звучни излаз[CR]ПодеÑите даљинÑко управљање · ПоÑтавите опције штедње енергије[CR]Омогућите евиденцију грешака · ПодеÑите главну лозинку</string>
- <string id="31407">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ÐœÐСКЕ[/B][CR][CR]ПодеÑите Confluence маÑку · Додајте и уклоните Ñтавке почетног екрана[CR]Промените позадине маÑке</string>
- <string id="31408">[B]КОÐФИГУРИСÐЊЕ ДОДÐТÐИХ ПРОГРÐÐœÐ[/B][CR][CR]Управљајте вашим инÑталираним додатним програмима · Потражите и инÑталирајте додатне прог. Ñа xbmc.org[CR]Прилагодите подешавање додатног програма</string>
-
- <string id="31421">Изаберите ваш XBMC кориÑнички[CR]профил за пријаву, а потом наÑтавите даље</string>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- ОÑтали натпиÑи --> + <string id="31000">Промените ваше</string> + <string id="31001">Љубав</string> + <string id="31002">Мржња</string> + <string id="31003">Опције напајања</string> + <string id="31004">Обрада...</string> + <string id="31005">Сакриј инфо.</string> + + <string id="31007">Додаци</string> + + <string id="31020">Ðедавно додато</string> + <string id="31021">Видео - Датотеке</string> + <string id="31022">Музика - Датотеке</string> + <string id="31023">Репродукција</string> + <string id="31024">Страна</string> + <string id="31025">Ставки</string> + <string id="31026">ОÑтале опције</string> + <string id="31027">Локација</string> + + <!-- Приказ типа натпиÑа --> + <string id="31028">Поређано</string> + <string id="31029">Зан. Ñлика</string> + <string id="31030">Пуни ÑпиÑак</string> + <string id="31031">Сличице</string> + <string id="31032">Поређано</string> + <string id="31033">Информације</string> + + <!-- Додатни натпиÑи --> + <string id="31040">Тренутно Ñе репродукује</string> + + <string id="31042">РЕПРОДУКОВÐЊЕ</string> + <string id="31043">ПÐУЗИРÐÐО</string> + <string id="31044">ПРЕМОТÐÐ’ÐЊЕ УÐÐПРЕД</string> + <string id="31045">ПРЕМОТÐÐ’ÐЊЕ</string> + <string id="31046">СвојÑтва звука</string> + <string id="31047">Тренутна поÑтавка</string> + <string id="31048">ПоÑтојеће визуализације</string> + <string id="31049">Време завршетка</string> + + + <!-- ÐатпиÑи уређивача ÑпиÑка за репродукцију --> + <string id="31055">Отвори реп. ÑпиÑак</string> + <string id="31056">Сачувај реп. ÑпиÑак</string> + <string id="31057">Затвори реп. ÑпиÑак</string> + <string id="31058">СиÑтемÑке музичке датотеке</string> + <string id="31059">Тренутни реп. ÑпиÑак</string> + <string id="31060">Ова датотека је Ñложена, изаберите део који желите да репродукујете.</string> + <string id="31061">Тренутно изабрано</string> + + <!-- ÐатпиÑи поÑтавки маÑки --> + <string id="31100"></string> + <string id="31101">Опције почетног екрана</string> + <string id="31102">Позадина</string> + <string id="31103">Прикажи „Паузирано“ приликом репродукције Ñлика</string> + <string id="31104">Репродукуј најаве филмова у прозору [COLOR=grey3](Video Info. Dialog Only)[/COLOR]</string> + <string id="31105">Прикажи називе медија у позадинÑком анализирању</string> + <string id="31106">Разне опције</string> + <string id="31107"></string> + <string id="31108">Сакриј таÑтере главног менија</string> + <string id="31109">Позадине почетног екрана</string> + <string id="31110">Уредите позадину таÑтера за почетни екран</string> + <string id="31111">Сакриј</string> + <string id="31112">Опције</string> + <string id="31113">Једна Ñлика</string> + <string id="31114">Више Ñлика</string> + <string id="31115">Прилагођавач</string> + <string id="31116"></string> + <string id="31117">Прикажи недавно додате филмове</string> + <string id="31118">Подмени почетне Ñтране</string> + <string id="31119"></string> + <string id="31120">ÐÐТПИС ТÐСТЕРÐ</string> + <string id="31121"></string> + <string id="31122">Страна временÑке прогнозе</string> + <string id="31123">Прикажи поÑтере умеÑто банера за TV Ñерије</string> + <string id="31124">Прикажи тренутни филм у позадини</string> + <string id="31125">Прикажи тренутну визуализацију у позадини</string> + + <string id="31126"></string> + <string id="31127"></string> + <string id="31128">ТекÑтови пеÑама</string> + <string id="31129"></string> + <string id="31130"></string> + + <string id="31140">Музички OSD</string> + <string id="31141">Видео OSD</string> + + <!-- ÐатпиÑи Ñкрипти --> + <string id="31200">Пречице</string> + <string id="31201">Категорије</string> + <string id="31202">Прикажи улоге</string> + <string id="31203">Изаберите вашу пеÑму</string> + <string id="31204">Линкови одељка</string> + <string id="31205">Извор текÑтова пеÑама</string> + + <!-- The Weather Channel натпиÑи --> + <string id="31250">Радар и прогноза</string> + <string id="31251">Прогноза</string> + <string id="31252">TWC Ñкрипта</string> + + <!-- Додатни натпиÑи --> + <string id="31300">Тренутна температура</string> + <string id="31301">ПоÑледње ажурирање</string> + <string id="31302">Мени</string> + <string id="31303"></string> + <string id="31304">Фотографија</string> + <string id="31305">Ðије откривен оптички диÑк</string> + <string id="31306">Избаци</string> + <string id="31307">Сакриј Ñлику</string> + <string id="31308">Подаци о филму</string> + <string id="31309">ИÑкоришћеноÑÑ‚ меморије:</string> + <string id="31310">Број нумере</string> + <string id="31311">Занимљива Ñлика[CR]није додељена.[CR][CR]Кликните на дугме да[CR]биÑте је доделили.</string> + <string id="31312">Тренутни добављач</string> + <string id="31313">Изаберите добављача</string> + <string id="31314">Опције анализирања Ñадржаја</string> + <string id="31315">ОÑновно</string> + <string id="31316"></string> + <string id="31317">ПоÑÑ‚. пут. до Ñлика</string> + <string id="31318">Занимљиве Ñлике малих димензија</string> + <string id="31319">Изабран профил</string> + <string id="31320">ПоÑледња пријава</string> + <string id="31321">Бирач караоке пеÑме</string> + <string id="31322">Емитовано</string> + <string id="31323">Ðовији филмови</string> + <string id="31324">Ðовије епизоде</string> + <string id="31325">Опције ÑпиÑка за репродукцију</string> + <string id="31326">Ðаправљено</string> + <string id="31327">Резолуција</string> + <string id="31328">Ðедавно додато</string> + <string id="31329">[B]Одбројавање је поÑтављено![/B] [COLOR=grey2] - СиÑтем ће Ñе иÑкључити за[/COLOR]</string> + <string id="31330">Кликните на таÑтер за репродукцију[CR][CR]најаве филма</string> + + <!-- ÐатпиÑи за OSD видеа и звука --> + <string id="31351">Пауза</string> + <string id="31352">ЗауÑтави</string> + <string id="31353">Премотај унапред</string> + <string id="31354">Премотај уназад</string> + <string id="31355">ФилмÑки мени</string> + <string id="31356">Преузми титлове</string> + <string id="31357"></string> + + <!-- ОпиÑни текÑтови --> + <string id="31400">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ПРИКÐЗÐ[/B][CR][CR]Промените маÑку · Изаберите језик и облаÑÑ‚ где живите[CR]Промените опције излиÑтавања датотека · Изаберите чувара екрана</string> + <string id="31401">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ФИЛМОВÐ[/B][CR][CR]Управљајте вашом библиотеком филмова · ПоÑтавите опције репродукције филмова[CR]Промените опције излиÑтавања филмова · ПоÑтавите изглед Ñлова у титловима</string> + <string id="31402">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ МУЗИКЕ[/B][CR][CR]Управљајте вашом библиотеком музичких нумера · ПоÑтавите опције репрод. музике[CR]Промените опције излиÑтавања музике · ПоÑтавите Ñлање пеÑама[CR]ПоÑтавите караоке опције</string> + <string id="31403">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ СЛИКÐ[/B][CR][CR]ПоÑтавите опције излиÑтавања Ñлика · Конфигуришите репродукцију Ñлајдова</string> + <string id="31404">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ВРЕМЕÐСКЕ ПРОГÐОЗЕ[/B][CR][CR]ПоÑтавите три града за прикупљање информација о временÑким приликама</string> + <string id="31405">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ МРЕЖЕ[/B][CR][CR]ПодеÑите контроле за XBMC путем UPnP и HTTP протокола[CR]Конфигуришите дељење датотека · ПоÑтавите опције приÑтупа Интернету</string> + <string id="31406">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ СИСТЕМÐ[/B][CR][CR]ПодеÑите и калибришите екране · Конфигуришите звучни излаз[CR]ПодеÑите даљинÑко управљање · ПоÑтавите опције штедње енергије[CR]Омогућите евиденцију грешака · ПодеÑите главну лозинку</string> + <string id="31407">[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ÐœÐСКЕ[/B][CR][CR]ПодеÑите Confluence маÑку · Додајте и уклоните Ñтавке почетног екрана[CR]Промените позадине маÑке</string> + <string id="31408">[B]КОÐФИГУРИСÐЊЕ ДОДÐТÐИХ ПРОГРÐÐœÐ[/B][CR][CR]Управљајте вашим инÑталираним додатним програмима · Потражите и инÑталирајте додатне прог. Ñа xbmc.org[CR]Прилагодите подешавање додатног програма</string> + + <string id="31421">Изаберите ваш XBMC кориÑнички[CR]профил за пријаву, а потом наÑтавите даље</string> </strings>
\ No newline at end of file diff --git a/addons/skin.confluence/sounds/sounds.xml b/addons/skin.confluence/sounds/sounds.xml index 536a5d5d86..2613a578dd 100644 --- a/addons/skin.confluence/sounds/sounds.xml +++ b/addons/skin.confluence/sounds/sounds.xml @@ -1,81 +1,81 @@ -<!-- This file contains the mapping of actions to sounds -->
-
-<!-- The <actions> section contains global mapping -->
-
-<!-- To map a action to a sound, add a block like this to <actions>: -->
-<!-- <action> -->
-<!-- <name>left</name> -->
-<!-- <file>cursor.wav</file> -->
-<!-- </action> -->
-<!-- Where <name> specifies the action to map a sound to and <file> the wav -->
-<!-- file to play when the action occurs. -->
-
-<!-- Valid entries for <name> can be found at -->
-<!-- http://manual.xboxmediacenter.de/wakka.php?wakka=KeyMappingXML&v=6gu -->
-
-
-<!-- Also window specific sound can be played -->
-
-<!-- To map a sound to a window, add a block like this to <windows>: -->
-<!-- <window> -->
-<!-- <name>infodialog</name> -->
-<!-- <activate>notify.wav</activate> -->
-<!-- <deactivate>out.wav</deactivate> -->
-<!-- </window> -->
-<!-- Where <name> specifies the window to map a sound to -->
-<!-- <activate> and <deactivate> are the events a sound can be mapped to -->
-<!-- by setting the file to play. -->
-
-<!-- Valid entries for <name> can be found at -->
-<!-- http://manual.xboxmediacenter.de/wakka.php?wakka=WindowList&v=13k6 -->
-
-<!-- Note: Only wav files are supported -->
-
-<sounds>
- <actions>
- <action>
- <name>left</name>
- <file>cursor.wav</file>
- </action>
- <action>
- <name>right</name>
- <file>cursor.wav</file>
- </action>
- <action>
- <name>up</name>
- <file>cursor.wav</file>
- </action>
- <action>
- <name>down</name>
- <file>cursor.wav</file>
- </action>
- <action>
- <name>select</name>
- <file>click.wav</file>
- </action>
- <action>
- <name>parentdir</name>
- <file>back.wav</file>
- </action>
- <action>
- <name>previousmenu</name>
- <file>back.wav</file>
- </action>
- <action>
- <name>screenshot</name>
- <file>shutter.wav</file>
- </action>
- </actions>
-
- <windows>
- <window>
- <name>infodialog</name>
- <activate>notify.wav</activate>
- <deactivate>out.wav</deactivate>
- </window>
- <window>
- <name>startup</name>
- <activate></activate>
- </window>
- </windows>
-</sounds>
+<!-- This file contains the mapping of actions to sounds --> + +<!-- The <actions> section contains global mapping --> + +<!-- To map a action to a sound, add a block like this to <actions>: --> +<!-- <action> --> +<!-- <name>left</name> --> +<!-- <file>cursor.wav</file> --> +<!-- </action> --> +<!-- Where <name> specifies the action to map a sound to and <file> the wav --> +<!-- file to play when the action occurs. --> + +<!-- Valid entries for <name> can be found at --> +<!-- http://manual.xboxmediacenter.de/wakka.php?wakka=KeyMappingXML&v=6gu --> + + +<!-- Also window specific sound can be played --> + +<!-- To map a sound to a window, add a block like this to <windows>: --> +<!-- <window> --> +<!-- <name>infodialog</name> --> +<!-- <activate>notify.wav</activate> --> +<!-- <deactivate>out.wav</deactivate> --> +<!-- </window> --> +<!-- Where <name> specifies the window to map a sound to --> +<!-- <activate> and <deactivate> are the events a sound can be mapped to --> +<!-- by setting the file to play. --> + +<!-- Valid entries for <name> can be found at --> +<!-- http://manual.xboxmediacenter.de/wakka.php?wakka=WindowList&v=13k6 --> + +<!-- Note: Only wav files are supported --> + +<sounds> + <actions> + <action> + <name>left</name> + <file>cursor.wav</file> + </action> + <action> + <name>right</name> + <file>cursor.wav</file> + </action> + <action> + <name>up</name> + <file>cursor.wav</file> + </action> + <action> + <name>down</name> + <file>cursor.wav</file> + </action> + <action> + <name>select</name> + <file>click.wav</file> + </action> + <action> + <name>parentdir</name> + <file>back.wav</file> + </action> + <action> + <name>previousmenu</name> + <file>back.wav</file> + </action> + <action> + <name>screenshot</name> + <file>shutter.wav</file> + </action> + </actions> + + <windows> + <window> + <name>infodialog</name> + <activate>notify.wav</activate> + <deactivate>out.wav</deactivate> + </window> + <window> + <name>startup</name> + <activate></activate> + </window> + </windows> +</sounds> diff --git a/addons/visualization.dxspectrum/resources/language/Bulgarian/strings.xml b/addons/visualization.dxspectrum/resources/language/Bulgarian/strings.xml index ac50f2eb95..627033964c 100644 --- a/addons/visualization.dxspectrum/resources/language/Bulgarian/strings.xml +++ b/addons/visualization.dxspectrum/resources/language/Bulgarian/strings.xml @@ -1,19 +1,19 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Режим</string>
- <string id="30001">Запълнено</string>
- <string id="30002">Рамка</string>
- <string id="30003">Точки</string>
- <string id="30004">ВиÑочина бар</string>
- <string id="30005">Малък</string>
- <string id="30006">По подразбиране</string>
- <string id="30007">ГолÑм</string>
- <string id="30008">Много голÑм</string>
- <string id="30009">СкороÑÑ‚</string>
- <string id="30010">Много бавно</string>
- <string id="30011">Бавно</string>
- <string id="30012">По подразбиране</string>
- <string id="30013">Бързо</string>
- <string id="30014">Много бързо</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Режим</string> + <string id="30001">Запълнено</string> + <string id="30002">Рамка</string> + <string id="30003">Точки</string> + <string id="30004">ВиÑочина бар</string> + <string id="30005">Малък</string> + <string id="30006">По подразбиране</string> + <string id="30007">ГолÑм</string> + <string id="30008">Много голÑм</string> + <string id="30009">СкороÑÑ‚</string> + <string id="30010">Много бавно</string> + <string id="30011">Бавно</string> + <string id="30012">По подразбиране</string> + <string id="30013">Бързо</string> + <string id="30014">Много бързо</string> +</strings> diff --git a/addons/visualization.dxspectrum/resources/language/Finnish/strings.xml b/addons/visualization.dxspectrum/resources/language/Finnish/strings.xml index 6fbaed2b52..8b0fc647d5 100644 --- a/addons/visualization.dxspectrum/resources/language/Finnish/strings.xml +++ b/addons/visualization.dxspectrum/resources/language/Finnish/strings.xml @@ -1,19 +1,19 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Muoto</string>
- <string id="30001">Täytetty</string>
- <string id="30002">Rautalanka</string>
- <string id="30003">Pisteet</string>
- <string id="30004">Palkin korkeus</string>
- <string id="30005">Pieni</string>
- <string id="30006">Oletus</string>
- <string id="30007">Suuri</string>
- <string id="30008">Erittäin suuri</string>
- <string id="30009">Nopeus</string>
- <string id="30010">Erittäin hidas</string>
- <string id="30011">Hidas</string>
- <string id="30012">Oletus</string>
- <string id="30013">Nopea</string>
- <string id="30014">Erittäin nopea</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Muoto</string> + <string id="30001">Täytetty</string> + <string id="30002">Rautalanka</string> + <string id="30003">Pisteet</string> + <string id="30004">Palkin korkeus</string> + <string id="30005">Pieni</string> + <string id="30006">Oletus</string> + <string id="30007">Suuri</string> + <string id="30008">Erittäin suuri</string> + <string id="30009">Nopeus</string> + <string id="30010">Erittäin hidas</string> + <string id="30011">Hidas</string> + <string id="30012">Oletus</string> + <string id="30013">Nopea</string> + <string id="30014">Erittäin nopea</string> +</strings> diff --git a/addons/visualization.glspectrum/resources/language/Bulgarian/strings.xml b/addons/visualization.glspectrum/resources/language/Bulgarian/strings.xml index ac50f2eb95..627033964c 100644 --- a/addons/visualization.glspectrum/resources/language/Bulgarian/strings.xml +++ b/addons/visualization.glspectrum/resources/language/Bulgarian/strings.xml @@ -1,19 +1,19 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Режим</string>
- <string id="30001">Запълнено</string>
- <string id="30002">Рамка</string>
- <string id="30003">Точки</string>
- <string id="30004">ВиÑочина бар</string>
- <string id="30005">Малък</string>
- <string id="30006">По подразбиране</string>
- <string id="30007">ГолÑм</string>
- <string id="30008">Много голÑм</string>
- <string id="30009">СкороÑÑ‚</string>
- <string id="30010">Много бавно</string>
- <string id="30011">Бавно</string>
- <string id="30012">По подразбиране</string>
- <string id="30013">Бързо</string>
- <string id="30014">Много бързо</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Режим</string> + <string id="30001">Запълнено</string> + <string id="30002">Рамка</string> + <string id="30003">Точки</string> + <string id="30004">ВиÑочина бар</string> + <string id="30005">Малък</string> + <string id="30006">По подразбиране</string> + <string id="30007">ГолÑм</string> + <string id="30008">Много голÑм</string> + <string id="30009">СкороÑÑ‚</string> + <string id="30010">Много бавно</string> + <string id="30011">Бавно</string> + <string id="30012">По подразбиране</string> + <string id="30013">Бързо</string> + <string id="30014">Много бързо</string> +</strings> diff --git a/addons/visualization.glspectrum/resources/language/Finnish/strings.xml b/addons/visualization.glspectrum/resources/language/Finnish/strings.xml index 6fbaed2b52..8b0fc647d5 100644 --- a/addons/visualization.glspectrum/resources/language/Finnish/strings.xml +++ b/addons/visualization.glspectrum/resources/language/Finnish/strings.xml @@ -1,19 +1,19 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Muoto</string>
- <string id="30001">Täytetty</string>
- <string id="30002">Rautalanka</string>
- <string id="30003">Pisteet</string>
- <string id="30004">Palkin korkeus</string>
- <string id="30005">Pieni</string>
- <string id="30006">Oletus</string>
- <string id="30007">Suuri</string>
- <string id="30008">Erittäin suuri</string>
- <string id="30009">Nopeus</string>
- <string id="30010">Erittäin hidas</string>
- <string id="30011">Hidas</string>
- <string id="30012">Oletus</string>
- <string id="30013">Nopea</string>
- <string id="30014">Erittäin nopea</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Muoto</string> + <string id="30001">Täytetty</string> + <string id="30002">Rautalanka</string> + <string id="30003">Pisteet</string> + <string id="30004">Palkin korkeus</string> + <string id="30005">Pieni</string> + <string id="30006">Oletus</string> + <string id="30007">Suuri</string> + <string id="30008">Erittäin suuri</string> + <string id="30009">Nopeus</string> + <string id="30010">Erittäin hidas</string> + <string id="30011">Hidas</string> + <string id="30012">Oletus</string> + <string id="30013">Nopea</string> + <string id="30014">Erittäin nopea</string> +</strings> diff --git a/addons/visualization.milkdrop/resources/language/Bulgarian/strings.xml b/addons/visualization.milkdrop/resources/language/Bulgarian/strings.xml index ea7c49624a..c4554ba77d 100644 --- a/addons/visualization.milkdrop/resources/language/Bulgarian/strings.xml +++ b/addons/visualization.milkdrop/resources/language/Bulgarian/strings.xml @@ -1,14 +1,14 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Ðвтоматично време за ÑмеÑване</string>
- <string id="30001">Време между предварително наÑтроени</string>
- <string id="30002">Допълнително Ñлучайно вреве</string>
- <string id="30003">Включи анизотропно филтриране</string>
- <string id="30004">Включи Hard Cuts</string>
- <string id="30005">Прагове на уÑилване за Hard Cuts</string>
- <string id="30006">Средно време между Hard Cuts</string>
- <string id="30007">МакÑимално опреÑнÑване</string>
- <string id="30008">Включи Ñтерео 3D</string>
- <string id="30009">Предварително наÑтроен пакет</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Ðвтоматично време за ÑмеÑване</string> + <string id="30001">Време между предварително наÑтроени</string> + <string id="30002">Допълнително Ñлучайно вреве</string> + <string id="30003">Включи анизотропно филтриране</string> + <string id="30004">Включи Hard Cuts</string> + <string id="30005">Прагове на уÑилване за Hard Cuts</string> + <string id="30006">Средно време между Hard Cuts</string> + <string id="30007">МакÑимално опреÑнÑване</string> + <string id="30008">Включи Ñтерео 3D</string> + <string id="30009">Предварително наÑтроен пакет</string> +</strings> diff --git a/addons/visualization.milkdrop/resources/language/English/strings.xml b/addons/visualization.milkdrop/resources/language/English/strings.xml index 9779a6ed3c..64dab7bb31 100644 --- a/addons/visualization.milkdrop/resources/language/English/strings.xml +++ b/addons/visualization.milkdrop/resources/language/English/strings.xml @@ -1,14 +1,14 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Automatic Blend Time</string>
- <string id="30001">Time Between Presets</string>
- <string id="30002">Additional Random Time</string>
- <string id="30003">Enable Anisotropic Filtering</string>
- <string id="30004">Enable Hard Cuts</string>
- <string id="30005">Loudness Threshold For Hard Cuts</string>
- <string id="30006">Average Time Between Hard Cuts</string>
- <string id="30007">Maximum Refresh Rate</string>
- <string id="30008">Enable Stereo 3D</string>
- <string id="30009">Preset Pack</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Automatic Blend Time</string> + <string id="30001">Time Between Presets</string> + <string id="30002">Additional Random Time</string> + <string id="30003">Enable Anisotropic Filtering</string> + <string id="30004">Enable Hard Cuts</string> + <string id="30005">Loudness Threshold For Hard Cuts</string> + <string id="30006">Average Time Between Hard Cuts</string> + <string id="30007">Maximum Refresh Rate</string> + <string id="30008">Enable Stereo 3D</string> + <string id="30009">Preset Pack</string> +</strings> diff --git a/addons/visualization.milkdrop/resources/language/Finnish/strings.xml b/addons/visualization.milkdrop/resources/language/Finnish/strings.xml index 124a2893e1..646bccb514 100644 --- a/addons/visualization.milkdrop/resources/language/Finnish/strings.xml +++ b/addons/visualization.milkdrop/resources/language/Finnish/strings.xml @@ -1,14 +1,14 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Automaattinen pehmennysaika</string>
- <string id="30001">Esiasetusten välinen aika</string>
- <string id="30002">Satunnainen lisäaika</string>
- <string id="30003">Anisotrooppinen suodatus käytössä</string>
- <string id="30004">Voimakkaat leikkaukset käytössä</string>
- <string id="30005"> - Äänenvoimakkuuden kynnys</string>
- <string id="30006"> - Keskimääräinen väli</string>
- <string id="30007">Suurin ruudunpäivitysnopeus</string>
- <string id="30008">Stereo 3D käytössä</string>
- <string id="30009">Esiasetuspaketti</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Automaattinen pehmennysaika</string> + <string id="30001">Esiasetusten välinen aika</string> + <string id="30002">Satunnainen lisäaika</string> + <string id="30003">Anisotrooppinen suodatus käytössä</string> + <string id="30004">Voimakkaat leikkaukset käytössä</string> + <string id="30005"> - Äänenvoimakkuuden kynnys</string> + <string id="30006"> - Keskimääräinen väli</string> + <string id="30007">Suurin ruudunpäivitysnopeus</string> + <string id="30008">Stereo 3D käytössä</string> + <string id="30009">Esiasetuspaketti</string> +</strings> diff --git a/addons/visualization.milkdrop/resources/language/German/strings.xml b/addons/visualization.milkdrop/resources/language/German/strings.xml index 96498c04c7..cc790a71b3 100644 --- a/addons/visualization.milkdrop/resources/language/German/strings.xml +++ b/addons/visualization.milkdrop/resources/language/German/strings.xml @@ -1,14 +1,14 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Automatische Ãœberblendezeit</string>
- <string id="30001">Zeit zwischen den Presets</string>
- <string id="30002">Zusätzliche zufällige Zeit</string>
- <string id="30003">Anisotropischen Filter aktivieren</string>
- <string id="30004">Hard Cuts aktivieren</string>
- <string id="30005">Lautstärken-Grenzwert für Hard Cuts</string>
- <string id="30006">Durchschnittszeit zwischen Hard Cuts</string>
- <string id="30007">Maximale Wiederholrate</string>
- <string id="30008">Stereo 3D aktivieren</string>
- <string id="30009">Preset Pack</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Automatische Überblendezeit</string> + <string id="30001">Zeit zwischen den Presets</string> + <string id="30002">Zusätzliche zufällige Zeit</string> + <string id="30003">Anisotropischen Filter aktivieren</string> + <string id="30004">Hard Cuts aktivieren</string> + <string id="30005">Lautstärken-Grenzwert für Hard Cuts</string> + <string id="30006">Durchschnittszeit zwischen Hard Cuts</string> + <string id="30007">Maximale Wiederholrate</string> + <string id="30008">Stereo 3D aktivieren</string> + <string id="30009">Preset Pack</string> +</strings> diff --git a/addons/visualization.milkdrop/resources/language/Polish/strings.xml b/addons/visualization.milkdrop/resources/language/Polish/strings.xml index 3d63dde5e2..cc1314c539 100644 --- a/addons/visualization.milkdrop/resources/language/Polish/strings.xml +++ b/addons/visualization.milkdrop/resources/language/Polish/strings.xml @@ -1,14 +1,14 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Interwał automatycznego mieszania</string>
- <string id="30001">Interwał efektów</string>
- <string id="30002">Dodatkowy czas losowy</string>
- <string id="30003">WÅ‚Ä…cz filtrowanie anizotropowe</string>
- <string id="30004">Włącz "ostre cięcia"</string>
- <string id="30005">Próg głośności dla "ostrych cięć"</string>
- <string id="30006">Średni czas pomiędzy "ostrymi cięciami"</string>
- <string id="30007">Maksymalna częstotliwość odświeżania</string>
- <string id="30008">WÅ‚Ä…cz tryb 3D</string>
- <string id="30009">Paczka efektów</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Interwał automatycznego mieszania</string> + <string id="30001">Interwał efektów</string> + <string id="30002">Dodatkowy czas losowy</string> + <string id="30003">Włącz filtrowanie anizotropowe</string> + <string id="30004">Włącz "ostre cięcia"</string> + <string id="30005">Próg głośności dla "ostrych cięć"</string> + <string id="30006">Średni czas pomiędzy "ostrymi cięciami"</string> + <string id="30007">Maksymalna częstotliwość odświeżania</string> + <string id="30008">Włącz tryb 3D</string> + <string id="30009">Paczka efektów</string> +</strings> diff --git a/addons/visualization.projectm/resources/language/Bulgarian/strings.xml b/addons/visualization.projectm/resources/language/Bulgarian/strings.xml index b31606ef5b..7c4fbdc8b6 100644 --- a/addons/visualization.projectm/resources/language/Bulgarian/strings.xml +++ b/addons/visualization.projectm/resources/language/Bulgarian/strings.xml @@ -1,13 +1,13 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">КачеÑтво на рендер</string>
- <string id="30001">ÐиÑко</string>
- <string id="30002">Средно</string>
- <string id="30003">ВиÑоко</string>
- <string id="30004">МакÑимално</string>
- <string id="30005">Режим Разбъркано</string>
- <string id="30006">Гладка наÑтройка на продължителноÑÑ‚</string>
- <string id="30007">ÐаÑтройка на продължителноÑÑ‚</string>
- <string id="30008">ЧувÑтвителноÑÑ‚ Ритъм</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">КачеÑтво на рендер</string> + <string id="30001">ÐиÑко</string> + <string id="30002">Средно</string> + <string id="30003">ВиÑоко</string> + <string id="30004">МакÑимално</string> + <string id="30005">Режим Разбъркано</string> + <string id="30006">Гладка наÑтройка на продължителноÑÑ‚</string> + <string id="30007">ÐаÑтройка на продължителноÑÑ‚</string> + <string id="30008">ЧувÑтвителноÑÑ‚ Ритъм</string> +</strings> diff --git a/addons/visualization.projectm/resources/language/Hungarian/strings.xml b/addons/visualization.projectm/resources/language/Hungarian/strings.xml index 46e05f5589..568900c3f1 100644 --- a/addons/visualization.projectm/resources/language/Hungarian/strings.xml +++ b/addons/visualization.projectm/resources/language/Hungarian/strings.xml @@ -1,13 +1,13 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Megjelenítés minõsége</string>
- <string id="30001">Alacsony</string>
- <string id="30002">Közepes</string>
- <string id="30003">Magas</string>
- <string id="30004">Maximum</string>
- <string id="30005">Keverési mód</string>
- <string id="30006">Finom átmenet idõtartama</string>
- <string id="30007">Átmenet idõtartama</string>
- <string id="30008">Ritmus érzékenység</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Megjelenítés minõsége</string> + <string id="30001">Alacsony</string> + <string id="30002">Közepes</string> + <string id="30003">Magas</string> + <string id="30004">Maximum</string> + <string id="30005">Keverési mód</string> + <string id="30006">Finom átmenet idõtartama</string> + <string id="30007">Átmenet idõtartama</string> + <string id="30008">Ritmus érzékenység</string> +</strings> diff --git a/addons/visualization.projectm/resources/language/Polish/strings.xml b/addons/visualization.projectm/resources/language/Polish/strings.xml index 63d9352ea6..a7dfbd2154 100644 --- a/addons/visualization.projectm/resources/language/Polish/strings.xml +++ b/addons/visualization.projectm/resources/language/Polish/strings.xml @@ -1,13 +1,13 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <!-- settings labels -->
- <string id="30000">Jakość renderowania</string>
- <string id="30001">Niska</string>
- <string id="30002">Åšrednia</string>
- <string id="30003">Wysoka</string>
- <string id="30004">Maksymalna</string>
- <string id="30005">Tryb mieszania</string>
- <string id="30006">Smooth Preset Duration</string>
- <string id="30007">Długość efektu</string>
- <string id="30008">Czułość uderzeń</string>
-</strings>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<strings> + <!-- settings labels --> + <string id="30000">Jakość renderowania</string> + <string id="30001">Niska</string> + <string id="30002">Średnia</string> + <string id="30003">Wysoka</string> + <string id="30004">Maksymalna</string> + <string id="30005">Tryb mieszania</string> + <string id="30006">Smooth Preset Duration</string> + <string id="30007">Długość efektu</string> + <string id="30008">Czułość uderzeń</string> +</strings> diff --git a/addons/webinterface.debug/index.html b/addons/webinterface.debug/index.html index 805911e2f5..6b6697b7b5 100644 --- a/addons/webinterface.debug/index.html +++ b/addons/webinterface.debug/index.html @@ -1,27 +1,27 @@ -<!DOCTYPE html>
-<html>
- <head>
- <title>XBMC - Debug Interface</title>
- <meta http-equiv="Content-Language" content="EN" />
- <meta http-equiv="Content-Type" content="UTF-8" />
- <link rel="icon" href="/favicon.ico" type="image/x-icon">
- <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
- <meta name="robots" content="NOINDEX, NOFOLLOW">
- <script type="text/javascript" src="/js/jquery-1.4.2.js"></script>
- <script type="text/javascript" src="/js/testinvoker.js"></script>
- </head>
- <body>
- <table>
- <tr>
- <th>Method</th>
- <th>Invoker</th>
- <th>Result</th>
- </tr>
- <tr>
- <td>AudioLibrary.GetGenres</td>
- <td><a href="#" onclick="call(GET_GENRES, 'audioLibraryGetGenresResult'); return false;">Invoke</a></td>
- <td id="audioLibraryGetGenresResult"></td>
- </tr>
- </table>
- </body>
+<!DOCTYPE html> +<html> + <head> + <title>XBMC - Debug Interface</title> + <meta http-equiv="Content-Language" content="EN" /> + <meta http-equiv="Content-Type" content="UTF-8" /> + <link rel="icon" href="/favicon.ico" type="image/x-icon"> + <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> + <meta name="robots" content="NOINDEX, NOFOLLOW"> + <script type="text/javascript" src="/js/jquery-1.4.2.js"></script> + <script type="text/javascript" src="/js/testinvoker.js"></script> + </head> + <body> + <table> + <tr> + <th>Method</th> + <th>Invoker</th> + <th>Result</th> + </tr> + <tr> + <td>AudioLibrary.GetGenres</td> + <td><a href="#" onclick="call(GET_GENRES, 'audioLibraryGetGenresResult'); return false;">Invoke</a></td> + <td id="audioLibraryGetGenresResult"></td> + </tr> + </table> + </body> </html>
\ No newline at end of file diff --git a/addons/webinterface.debug/js/jquery-1.4.2.js b/addons/webinterface.debug/js/jquery-1.4.2.js index 5c4c146e55..fff6776433 100644 --- a/addons/webinterface.debug/js/jquery-1.4.2.js +++ b/addons/webinterface.debug/js/jquery-1.4.2.js @@ -1,6240 +1,6240 @@ -/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function( window, undefined ) {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context );
- },
-
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
-
- // Map over the $ in case of overwrite
- _$ = window.$,
-
- // Use the correct document accordingly with window argument (sandbox)
- document = window.document,
-
- // A central reference to the root jQuery(document)
- rootjQuery,
-
- // A simple way to check for HTML strings or ID strings
- // (both of which we optimize for)
- quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,
-
- // Is it a simple selector
- isSimple = /^.[^:#\[\.,]*$/,
-
- // Check if a string has a non-whitespace character in it
- rnotwhite = /\S/,
-
- // Used for trimming whitespace
- rtrim = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,
-
- // Match a standalone tag
- rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
- // Keep a UserAgent string for use with jQuery.browser
- userAgent = navigator.userAgent,
-
- // For matching the engine and version of the browser
- browserMatch,
-
- // Has the ready events already been bound?
- readyBound = false,
-
- // The functions to execute on DOM ready
- readyList = [],
-
- // The ready event handler
- DOMContentLoaded,
-
- // Save a reference to some core methods
- toString = Object.prototype.toString,
- hasOwnProperty = Object.prototype.hasOwnProperty,
- push = Array.prototype.push,
- slice = Array.prototype.slice,
- indexOf = Array.prototype.indexOf;
-
-jQuery.fn = jQuery.prototype = {
- init: function( selector, context ) {
- var match, elem, ret, doc;
-
- // Handle $(""), $(null), or $(undefined)
- if ( !selector ) {
- return this;
- }
-
- // Handle $(DOMElement)
- if ( selector.nodeType ) {
- this.context = this[0] = selector;
- this.length = 1;
- return this;
- }
-
- // The body element only exists once, optimize finding it
- if ( selector === "body" && !context ) {
- this.context = document;
- this[0] = document.body;
- this.selector = "body";
- this.length = 1;
- return this;
- }
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- // Are we dealing with HTML string or an ID?
- match = quickExpr.exec( selector );
-
- // Verify a match, and that no context was specified for #id
- if ( match && (match[1] || !context) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[1] ) {
- doc = (context ? context.ownerDocument || context : document);
-
- // If a single string is passed in and it's a single tag
- // just do a createElement and skip the rest
- ret = rsingleTag.exec( selector );
-
- if ( ret ) {
- if ( jQuery.isPlainObject( context ) ) {
- selector = [ document.createElement( ret[1] ) ];
- jQuery.fn.attr.call( selector, context, true );
-
- } else {
- selector = [ doc.createElement( ret[1] ) ];
- }
-
- } else {
- ret = buildFragment( [ match[1] ], [ doc ] );
- selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
- }
-
- return jQuery.merge( this, selector );
-
- // HANDLE: $("#id")
- } else {
- elem = document.getElementById( match[2] );
-
- if ( elem ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id !== match[2] ) {
- return rootjQuery.find( selector );
- }
-
- // Otherwise, we inject the element directly into the jQuery object
- this.length = 1;
- this[0] = elem;
- }
-
- this.context = document;
- this.selector = selector;
- return this;
- }
-
- // HANDLE: $("TAG")
- } else if ( !context && /^\w+$/.test( selector ) ) {
- this.selector = selector;
- this.context = document;
- selector = document.getElementsByTagName( selector );
- return jQuery.merge( this, selector );
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return (context || rootjQuery).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return jQuery( context ).find( selector );
- }
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return rootjQuery.ready( selector );
- }
-
- if (selector.selector !== undefined) {
- this.selector = selector.selector;
- this.context = selector.context;
- }
-
- return jQuery.makeArray( selector, this );
- },
-
- // Start with an empty selector
- selector: "",
-
- // The current version of jQuery being used
- jquery: "1.4.2",
-
- // The default length of a jQuery object is 0
- length: 0,
-
- // The number of elements contained in the matched element set
- size: function() {
- return this.length;
- },
-
- toArray: function() {
- return slice.call( this, 0 );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
- return num == null ?
-
- // Return a 'clean' array
- this.toArray() :
-
- // Return just the object
- ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems, name, selector ) {
- // Build a new jQuery matched element set
- var ret = jQuery();
-
- if ( jQuery.isArray( elems ) ) {
- push.apply( ret, elems );
-
- } else {
- jQuery.merge( ret, elems );
- }
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- ret.context = this.context;
-
- if ( name === "find" ) {
- ret.selector = this.selector + (this.selector ? " " : "") + selector;
- } else if ( name ) {
- ret.selector = this.selector + "." + name + "(" + selector + ")";
- }
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- // (You can seed the arguments with an array of args, but this is
- // only used internally.)
- each: function( callback, args ) {
- return jQuery.each( this, callback, args );
- },
-
- ready: function( fn ) {
- // Attach the listeners
- jQuery.bindReady();
-
- // If the DOM is already ready
- if ( jQuery.isReady ) {
- // Execute the function immediately
- fn.call( document, jQuery );
-
- // Otherwise, remember the function for later
- } else if ( readyList ) {
- // Add the function to the wait list
- readyList.push( fn );
- }
-
- return this;
- },
-
- eq: function( i ) {
- return i === -1 ?
- this.slice( i ) :
- this.slice( i, +i + 1 );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ),
- "slice", slice.call(arguments).join(",") );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function( elem, i ) {
- return callback.call( elem, i, elem );
- }));
- },
-
- end: function() {
- return this.prevObject || jQuery(null);
- },
-
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: push,
- sort: [].sort,
- splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
- // copy reference to target object
- var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy;
-
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
- target = {};
- }
-
- // extend jQuery itself if only one argument is passed
- if ( length === i ) {
- target = this;
- --i;
- }
-
- for ( ; i < length; i++ ) {
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null ) {
- // Extend the base object
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
-
- // Prevent never-ending loop
- if ( target === copy ) {
- continue;
- }
-
- // Recurse if we're merging object literal values or arrays
- if ( deep && copy && ( jQuery.isPlainObject(copy) || jQuery.isArray(copy) ) ) {
- var clone = src && ( jQuery.isPlainObject(src) || jQuery.isArray(src) ) ? src
- : jQuery.isArray(copy) ? [] : {};
-
- // Never move original objects, clone them
- target[ name ] = jQuery.extend( deep, clone, copy );
-
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
-
- // Return the modified object
- return target;
-};
-
-jQuery.extend({
- noConflict: function( deep ) {
- window.$ = _$;
-
- if ( deep ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
- },
-
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
-
- // Handle when the DOM is ready
- ready: function() {
- // Make sure that the DOM is not already loaded
- if ( !jQuery.isReady ) {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( !document.body ) {
- return setTimeout( jQuery.ready, 13 );
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If there are functions bound, to execute
- if ( readyList ) {
- // Execute all of them
- var fn, i = 0;
- while ( (fn = readyList[ i++ ]) ) {
- fn.call( document, jQuery );
- }
-
- // Reset the list of functions
- readyList = null;
- }
-
- // Trigger any bound ready events
- if ( jQuery.fn.triggerHandler ) {
- jQuery( document ).triggerHandler( "ready" );
- }
- }
- },
-
- bindReady: function() {
- if ( readyBound ) {
- return;
- }
-
- readyBound = true;
-
- // Catch cases where $(document).ready() is called after the
- // browser event has already occurred.
- if ( document.readyState === "complete" ) {
- return jQuery.ready();
- }
-
- // Mozilla, Opera and webkit nightlies currently support this event
- if ( document.addEventListener ) {
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", jQuery.ready, false );
-
- // If IE event model is used
- } else if ( document.attachEvent ) {
- // ensure firing before onload,
- // maybe late but safe also for iframes
- document.attachEvent("onreadystatechange", DOMContentLoaded);
-
- // A fallback to window.onload, that will always work
- window.attachEvent( "onload", jQuery.ready );
-
- // If IE and not a frame
- // continually check to see if the document is ready
- var toplevel = false;
-
- try {
- toplevel = window.frameElement == null;
- } catch(e) {}
-
- if ( document.documentElement.doScroll && toplevel ) {
- doScrollCheck();
- }
- }
- },
-
- // See test/unit/core.js for details concerning isFunction.
- // Since version 1.3, DOM methods and functions like alert
- // aren't supported. They return false on IE (#2968).
- isFunction: function( obj ) {
- return toString.call(obj) === "[object Function]";
- },
-
- isArray: function( obj ) {
- return toString.call(obj) === "[object Array]";
- },
-
- isPlainObject: function( obj ) {
- // Must be an Object.
- // Because of IE, we also have to check the presence of the constructor property.
- // Make sure that DOM nodes and window objects don't pass through, as well
- if ( !obj || toString.call(obj) !== "[object Object]" || obj.nodeType || obj.setInterval ) {
- return false;
- }
-
- // Not own constructor property must be Object
- if ( obj.constructor
- && !hasOwnProperty.call(obj, "constructor")
- && !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) {
- return false;
- }
-
- // Own properties are enumerated firstly, so to speed up,
- // if last one is own, then all properties are own.
-
- var key;
- for ( key in obj ) {}
-
- return key === undefined || hasOwnProperty.call( obj, key );
- },
-
- isEmptyObject: function( obj ) {
- for ( var name in obj ) {
- return false;
- }
- return true;
- },
-
- error: function( msg ) {
- throw msg;
- },
-
- parseJSON: function( data ) {
- if ( typeof data !== "string" || !data ) {
- return null;
- }
-
- // Make sure leading/trailing whitespace is removed (IE can't handle it)
- data = jQuery.trim( data );
-
- // Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
- if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
- .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
- .replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {
-
- // Try to use the native JSON parser first
- return window.JSON && window.JSON.parse ?
- window.JSON.parse( data ) :
- (new Function("return " + data))();
-
- } else {
- jQuery.error( "Invalid JSON: " + data );
- }
- },
-
- noop: function() {},
-
- // Evalulates a script in a global context
- globalEval: function( data ) {
- if ( data && rnotwhite.test(data) ) {
- // Inspired by code by Andrea Giammarchi
- // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
- var head = document.getElementsByTagName("head")[0] || document.documentElement,
- script = document.createElement("script");
-
- script.type = "text/javascript";
-
- if ( jQuery.support.scriptEval ) {
- script.appendChild( document.createTextNode( data ) );
- } else {
- script.text = data;
- }
-
- // Use insertBefore instead of appendChild to circumvent an IE6 bug.
- // This arises when a base node is used (#2709).
- head.insertBefore( script, head.firstChild );
- head.removeChild( script );
- }
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
- },
-
- // args is for internal usage only
- each: function( object, callback, args ) {
- var name, i = 0,
- length = object.length,
- isObj = length === undefined || jQuery.isFunction(object);
-
- if ( args ) {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.apply( object[ name ], args ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.apply( object[ i++ ], args ) === false ) {
- break;
- }
- }
- }
-
- // A special, fast, case for the most common use of each
- } else {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
- break;
- }
- }
- } else {
- for ( var value = object[0];
- i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
- }
- }
-
- return object;
- },
-
- trim: function( text ) {
- return (text || "").replace( rtrim, "" );
- },
-
- // results is for internal usage only
- makeArray: function( array, results ) {
- var ret = results || [];
-
- if ( array != null ) {
- // The window, strings (and functions) also have 'length'
- // The extra typeof function check is to prevent crashes
- // in Safari 2 (See: #3039)
- if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) {
- push.call( ret, array );
- } else {
- jQuery.merge( ret, array );
- }
- }
-
- return ret;
- },
-
- inArray: function( elem, array ) {
- if ( array.indexOf ) {
- return array.indexOf( elem );
- }
-
- for ( var i = 0, length = array.length; i < length; i++ ) {
- if ( array[ i ] === elem ) {
- return i;
- }
- }
-
- return -1;
- },
-
- merge: function( first, second ) {
- var i = first.length, j = 0;
-
- if ( typeof second.length === "number" ) {
- for ( var l = second.length; j < l; j++ ) {
- first[ i++ ] = second[ j ];
- }
-
- } else {
- while ( second[j] !== undefined ) {
- first[ i++ ] = second[ j++ ];
- }
- }
-
- first.length = i;
-
- return first;
- },
-
- grep: function( elems, callback, inv ) {
- var ret = [];
-
- // Go through the array, only saving the items
- // that pass the validator function
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- if ( !inv !== !callback( elems[ i ], i ) ) {
- ret.push( elems[ i ] );
- }
- }
-
- return ret;
- },
-
- // arg is for internal usage only
- map: function( elems, callback, arg ) {
- var ret = [], value;
-
- // Go through the array, translating each of the items to their
- // new value (or values).
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
-
- return ret.concat.apply( [], ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- proxy: function( fn, proxy, thisObject ) {
- if ( arguments.length === 2 ) {
- if ( typeof proxy === "string" ) {
- thisObject = fn;
- fn = thisObject[ proxy ];
- proxy = undefined;
-
- } else if ( proxy && !jQuery.isFunction( proxy ) ) {
- thisObject = proxy;
- proxy = undefined;
- }
- }
-
- if ( !proxy && fn ) {
- proxy = function() {
- return fn.apply( thisObject || this, arguments );
- };
- }
-
- // Set the guid of unique handler to the same of original handler, so it can be removed
- if ( fn ) {
- proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
- }
-
- // So proxy can be declared as an argument
- return proxy;
- },
-
- // Use of jQuery.browser is frowned upon.
- // More details: http://docs.jquery.com/Utilities/jQuery.browser
- uaMatch: function( ua ) {
- ua = ua.toLowerCase();
-
- var match = /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
- /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||
- /(msie) ([\w.]+)/.exec( ua ) ||
- !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua ) ||
- [];
-
- return { browser: match[1] || "", version: match[2] || "0" };
- },
-
- browser: {}
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
- jQuery.browser[ browserMatch.browser ] = true;
- jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
- jQuery.browser.safari = true;
-}
-
-if ( indexOf ) {
- jQuery.inArray = function( elem, array ) {
- return indexOf.call( array, elem );
- };
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
- DOMContentLoaded = function() {
- document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
- jQuery.ready();
- };
-
-} else if ( document.attachEvent ) {
- DOMContentLoaded = function() {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( document.readyState === "complete" ) {
- document.detachEvent( "onreadystatechange", DOMContentLoaded );
- jQuery.ready();
- }
- };
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
- if ( jQuery.isReady ) {
- return;
- }
-
- try {
- // If IE is used, use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- document.documentElement.doScroll("left");
- } catch( error ) {
- setTimeout( doScrollCheck, 1 );
- return;
- }
-
- // and execute any waiting functions
- jQuery.ready();
-}
-
-function evalScript( i, elem ) {
- if ( elem.src ) {
- jQuery.ajax({
- url: elem.src,
- async: false,
- dataType: "script"
- });
- } else {
- jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
-}
-
-// Mutifunctional method to get and set values to a collection
-// The value/s can be optionally by executed if its a function
-function access( elems, key, value, exec, fn, pass ) {
- var length = elems.length;
-
- // Setting many attributes
- if ( typeof key === "object" ) {
- for ( var k in key ) {
- access( elems, k, key[k], exec, fn, value );
- }
- return elems;
- }
-
- // Setting one attribute
- if ( value !== undefined ) {
- // Optionally, function values get executed if exec is true
- exec = !pass && exec && jQuery.isFunction(value);
-
- for ( var i = 0; i < length; i++ ) {
- fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
- }
-
- return elems;
- }
-
- // Getting an attribute
- return length ? fn( elems[0], key ) : undefined;
-}
-
-function now() {
- return (new Date).getTime();
-}
-(function() {
-
- jQuery.support = {};
-
- var root = document.documentElement,
- script = document.createElement("script"),
- div = document.createElement("div"),
- id = "script" + now();
-
- div.style.display = "none";
- div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
- var all = div.getElementsByTagName("*"),
- a = div.getElementsByTagName("a")[0];
-
- // Can't get basic test support
- if ( !all || !all.length || !a ) {
- return;
- }
-
- jQuery.support = {
- // IE strips leading whitespace when .innerHTML is used
- leadingWhitespace: div.firstChild.nodeType === 3,
-
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- tbody: !div.getElementsByTagName("tbody").length,
-
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- htmlSerialize: !!div.getElementsByTagName("link").length,
-
- // Get the style information from getAttribute
- // (IE uses .cssText insted)
- style: /red/.test( a.getAttribute("style") ),
-
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- hrefNormalized: a.getAttribute("href") === "/a",
-
- // Make sure that element opacity exists
- // (IE uses filter instead)
- // Use a regex to work around a WebKit issue. See #5145
- opacity: /^0.55$/.test( a.style.opacity ),
-
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- cssFloat: !!a.style.cssFloat,
-
- // Make sure that if no value is specified for a checkbox
- // that it defaults to "on".
- // (WebKit defaults to "" instead)
- checkOn: div.getElementsByTagName("input")[0].value === "on",
-
- // Make sure that a selected-by-default option has a working selected property.
- // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
- optSelected: document.createElement("select").appendChild( document.createElement("option") ).selected,
-
- parentNode: div.removeChild( div.appendChild( document.createElement("div") ) ).parentNode === null,
-
- // Will be defined later
- deleteExpando: true,
- checkClone: false,
- scriptEval: false,
- noCloneEvent: true,
- boxModel: null
- };
-
- script.type = "text/javascript";
- try {
- script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
- } catch(e) {}
-
- root.insertBefore( script, root.firstChild );
-
- // Make sure that the execution of code works by injecting a script
- // tag with appendChild/createTextNode
- // (IE doesn't support this, fails, and uses .text instead)
- if ( window[ id ] ) {
- jQuery.support.scriptEval = true;
- delete window[ id ];
- }
-
- // Test to see if it's possible to delete an expando from an element
- // Fails in Internet Explorer
- try {
- delete script.test;
-
- } catch(e) {
- jQuery.support.deleteExpando = false;
- }
-
- root.removeChild( script );
-
- if ( div.attachEvent && div.fireEvent ) {
- div.attachEvent("onclick", function click() {
- // Cloning a node shouldn't copy over any
- // bound event handlers (IE does this)
- jQuery.support.noCloneEvent = false;
- div.detachEvent("onclick", click);
- });
- div.cloneNode(true).fireEvent("onclick");
- }
-
- div = document.createElement("div");
- div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
-
- var fragment = document.createDocumentFragment();
- fragment.appendChild( div.firstChild );
-
- // WebKit doesn't clone checked state correctly in fragments
- jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked;
-
- // Figure out if the W3C box model works as expected
- // document.body must exist before we can do this
- jQuery(function() {
- var div = document.createElement("div");
- div.style.width = div.style.paddingLeft = "1px";
-
- document.body.appendChild( div );
- jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
- document.body.removeChild( div ).style.display = 'none';
-
- div = null;
- });
-
- // Technique from Juriy Zaytsev
- // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
- var eventSupported = function( eventName ) {
- var el = document.createElement("div");
- eventName = "on" + eventName;
-
- var isSupported = (eventName in el);
- if ( !isSupported ) {
- el.setAttribute(eventName, "return;");
- isSupported = typeof el[eventName] === "function";
- }
- el = null;
-
- return isSupported;
- };
-
- jQuery.support.submitBubbles = eventSupported("submit");
- jQuery.support.changeBubbles = eventSupported("change");
-
- // release memory in IE
- root = script = div = all = a = null;
-})();
-
-jQuery.props = {
- "for": "htmlFor",
- "class": "className",
- readonly: "readOnly",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- rowspan: "rowSpan",
- colspan: "colSpan",
- tabindex: "tabIndex",
- usemap: "useMap",
- frameborder: "frameBorder"
-};
-var expando = "jQuery" + now(), uuid = 0, windowData = {};
-
-jQuery.extend({
- cache: {},
-
- expando:expando,
-
- // The following elements throw uncatchable exceptions if you
- // attempt to add expando properties to them.
- noData: {
- "embed": true,
- "object": true,
- "applet": true
- },
-
- data: function( elem, name, data ) {
- if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
- return;
- }
-
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ], cache = jQuery.cache, thisCache;
-
- if ( !id && typeof name === "string" && data === undefined ) {
- return null;
- }
-
- // Compute a unique ID for the element
- if ( !id ) {
- id = ++uuid;
- }
-
- // Avoid generating a new cache unless none exists and we
- // want to manipulate it.
- if ( typeof name === "object" ) {
- elem[ expando ] = id;
- thisCache = cache[ id ] = jQuery.extend(true, {}, name);
-
- } else if ( !cache[ id ] ) {
- elem[ expando ] = id;
- cache[ id ] = {};
- }
-
- thisCache = cache[ id ];
-
- // Prevent overriding the named cache with undefined values
- if ( data !== undefined ) {
- thisCache[ name ] = data;
- }
-
- return typeof name === "string" ? thisCache[ name ] : thisCache;
- },
-
- removeData: function( elem, name ) {
- if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
- return;
- }
-
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ], cache = jQuery.cache, thisCache = cache[ id ];
-
- // If we want to remove a specific section of the element's data
- if ( name ) {
- if ( thisCache ) {
- // Remove the section of cache data
- delete thisCache[ name ];
-
- // If we've removed all the data, remove the element's cache
- if ( jQuery.isEmptyObject(thisCache) ) {
- jQuery.removeData( elem );
- }
- }
-
- // Otherwise, we want to remove all of the element's data
- } else {
- if ( jQuery.support.deleteExpando ) {
- delete elem[ jQuery.expando ];
-
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( jQuery.expando );
- }
-
- // Completely remove the data cache
- delete cache[ id ];
- }
- }
-});
-
-jQuery.fn.extend({
- data: function( key, value ) {
- if ( typeof key === "undefined" && this.length ) {
- return jQuery.data( this[0] );
-
- } else if ( typeof key === "object" ) {
- return this.each(function() {
- jQuery.data( this, key );
- });
- }
-
- var parts = key.split(".");
- parts[1] = parts[1] ? "." + parts[1] : "";
-
- if ( value === undefined ) {
- var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
- if ( data === undefined && this.length ) {
- data = jQuery.data( this[0], key );
- }
- return data === undefined && parts[1] ?
- this.data( parts[0] ) :
- data;
- } else {
- return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function() {
- jQuery.data( this, key, value );
- });
- }
- },
-
- removeData: function( key ) {
- return this.each(function() {
- jQuery.removeData( this, key );
- });
- }
-});
-jQuery.extend({
- queue: function( elem, type, data ) {
- if ( !elem ) {
- return;
- }
-
- type = (type || "fx") + "queue";
- var q = jQuery.data( elem, type );
-
- // Speed up dequeue by getting out quickly if this is just a lookup
- if ( !data ) {
- return q || [];
- }
-
- if ( !q || jQuery.isArray(data) ) {
- q = jQuery.data( elem, type, jQuery.makeArray(data) );
-
- } else {
- q.push( data );
- }
-
- return q;
- },
-
- dequeue: function( elem, type ) {
- type = type || "fx";
-
- var queue = jQuery.queue( elem, type ), fn = queue.shift();
-
- // If the fx queue is dequeued, always remove the progress sentinel
- if ( fn === "inprogress" ) {
- fn = queue.shift();
- }
-
- if ( fn ) {
- // Add a progress sentinel to prevent the fx queue from being
- // automatically dequeued
- if ( type === "fx" ) {
- queue.unshift("inprogress");
- }
-
- fn.call(elem, function() {
- jQuery.dequeue(elem, type);
- });
- }
- }
-});
-
-jQuery.fn.extend({
- queue: function( type, data ) {
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- }
-
- if ( data === undefined ) {
- return jQuery.queue( this[0], type );
- }
- return this.each(function( i, elem ) {
- var queue = jQuery.queue( this, type, data );
-
- if ( type === "fx" && queue[0] !== "inprogress" ) {
- jQuery.dequeue( this, type );
- }
- });
- },
- dequeue: function( type ) {
- return this.each(function() {
- jQuery.dequeue( this, type );
- });
- },
-
- // Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
- delay: function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
- type = type || "fx";
-
- return this.queue( type, function() {
- var elem = this;
- setTimeout(function() {
- jQuery.dequeue( elem, type );
- }, time );
- });
- },
-
- clearQueue: function( type ) {
- return this.queue( type || "fx", [] );
- }
-});
-var rclass = /[\n\t]/g,
- rspace = /\s+/,
- rreturn = /\r/g,
- rspecialurl = /href|src|style/,
- rtype = /(button|input)/i,
- rfocusable = /(button|input|object|select|textarea)/i,
- rclickable = /^(a|area)$/i,
- rradiocheck = /radio|checkbox/;
-
-jQuery.fn.extend({
- attr: function( name, value ) {
- return access( this, name, value, true, jQuery.attr );
- },
-
- removeAttr: function( name, fn ) {
- return this.each(function(){
- jQuery.attr( this, name, "" );
- if ( this.nodeType === 1 ) {
- this.removeAttribute( name );
- }
- });
- },
-
- addClass: function( value ) {
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.addClass( value.call(this, i, self.attr("class")) );
- });
- }
-
- if ( value && typeof value === "string" ) {
- var classNames = (value || "").split( rspace );
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var elem = this[i];
-
- if ( elem.nodeType === 1 ) {
- if ( !elem.className ) {
- elem.className = value;
-
- } else {
- var className = " " + elem.className + " ", setClass = elem.className;
- for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
- if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
- setClass += " " + classNames[c];
- }
- }
- elem.className = jQuery.trim( setClass );
- }
- }
- }
- }
-
- return this;
- },
-
- removeClass: function( value ) {
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.removeClass( value.call(this, i, self.attr("class")) );
- });
- }
-
- if ( (value && typeof value === "string") || value === undefined ) {
- var classNames = (value || "").split(rspace);
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var elem = this[i];
-
- if ( elem.nodeType === 1 && elem.className ) {
- if ( value ) {
- var className = (" " + elem.className + " ").replace(rclass, " ");
- for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
- className = className.replace(" " + classNames[c] + " ", " ");
- }
- elem.className = jQuery.trim( className );
-
- } else {
- elem.className = "";
- }
- }
- }
- }
-
- return this;
- },
-
- toggleClass: function( value, stateVal ) {
- var type = typeof value, isBool = typeof stateVal === "boolean";
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
- });
- }
-
- return this.each(function() {
- if ( type === "string" ) {
- // toggle individual class names
- var className, i = 0, self = jQuery(this),
- state = stateVal,
- classNames = value.split( rspace );
-
- while ( (className = classNames[ i++ ]) ) {
- // check each className given, space seperated list
- state = isBool ? state : !self.hasClass( className );
- self[ state ? "addClass" : "removeClass" ]( className );
- }
-
- } else if ( type === "undefined" || type === "boolean" ) {
- if ( this.className ) {
- // store className if set
- jQuery.data( this, "__className__", this.className );
- }
-
- // toggle whole className
- this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || "";
- }
- });
- },
-
- hasClass: function( selector ) {
- var className = " " + selector + " ";
- for ( var i = 0, l = this.length; i < l; i++ ) {
- if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
- return true;
- }
- }
-
- return false;
- },
-
- val: function( value ) {
- if ( value === undefined ) {
- var elem = this[0];
-
- if ( elem ) {
- if ( jQuery.nodeName( elem, "option" ) ) {
- return (elem.attributes.value || {}).specified ? elem.value : elem.text;
- }
-
- // We need to handle select boxes special
- if ( jQuery.nodeName( elem, "select" ) ) {
- var index = elem.selectedIndex,
- values = [],
- options = elem.options,
- one = elem.type === "select-one";
-
- // Nothing was selected
- if ( index < 0 ) {
- return null;
- }
-
- // Loop through all the selected options
- for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
- var option = options[ i ];
-
- if ( option.selected ) {
- // Get the specifc value for the option
- value = jQuery(option).val();
-
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- return values;
- }
-
- // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
- if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
- return elem.getAttribute("value") === null ? "on" : elem.value;
- }
-
-
- // Everything else, we just grab the value
- return (elem.value || "").replace(rreturn, "");
-
- }
-
- return undefined;
- }
-
- var isFunction = jQuery.isFunction(value);
-
- return this.each(function(i) {
- var self = jQuery(this), val = value;
-
- if ( this.nodeType !== 1 ) {
- return;
- }
-
- if ( isFunction ) {
- val = value.call(this, i, self.val());
- }
-
- // Typecast each time if the value is a Function and the appended
- // value is therefore different each time.
- if ( typeof val === "number" ) {
- val += "";
- }
-
- if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
- this.checked = jQuery.inArray( self.val(), val ) >= 0;
-
- } else if ( jQuery.nodeName( this, "select" ) ) {
- var values = jQuery.makeArray(val);
-
- jQuery( "option", this ).each(function() {
- this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
- });
-
- if ( !values.length ) {
- this.selectedIndex = -1;
- }
-
- } else {
- this.value = val;
- }
- });
- }
-});
-
-jQuery.extend({
- attrFn: {
- val: true,
- css: true,
- html: true,
- text: true,
- data: true,
- width: true,
- height: true,
- offset: true
- },
-
- attr: function( elem, name, value, pass ) {
- // don't set attributes on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
- return undefined;
- }
-
- if ( pass && name in jQuery.attrFn ) {
- return jQuery(elem)[name](value);
- }
-
- var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
- // Whether we are setting (or getting)
- set = value !== undefined;
-
- // Try to normalize/fix the name
- name = notxml && jQuery.props[ name ] || name;
-
- // Only do all the following if this is a node (faster for style)
- if ( elem.nodeType === 1 ) {
- // These attributes require special treatment
- var special = rspecialurl.test( name );
-
- // Safari mis-reports the default selected property of an option
- // Accessing the parent's selectedIndex property fixes it
- if ( name === "selected" && !jQuery.support.optSelected ) {
- var parent = elem.parentNode;
- if ( parent ) {
- parent.selectedIndex;
-
- // Make sure that it also works with optgroups, see #5701
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- }
-
- // If applicable, access the attribute via the DOM 0 way
- if ( name in elem && notxml && !special ) {
- if ( set ) {
- // We can't allow the type property to be changed (since it causes problems in IE)
- if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
- jQuery.error( "type property can't be changed" );
- }
-
- elem[ name ] = value;
- }
-
- // browsers index elements by id/name on forms, give priority to attributes.
- if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
- return elem.getAttributeNode( name ).nodeValue;
- }
-
- // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- if ( name === "tabIndex" ) {
- var attributeNode = elem.getAttributeNode( "tabIndex" );
-
- return attributeNode && attributeNode.specified ?
- attributeNode.value :
- rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
- 0 :
- undefined;
- }
-
- return elem[ name ];
- }
-
- if ( !jQuery.support.style && notxml && name === "style" ) {
- if ( set ) {
- elem.style.cssText = "" + value;
- }
-
- return elem.style.cssText;
- }
-
- if ( set ) {
- // convert the value to a string (all browsers do this but IE) see #1070
- elem.setAttribute( name, "" + value );
- }
-
- var attr = !jQuery.support.hrefNormalized && notxml && special ?
- // Some attributes require a special call on IE
- elem.getAttribute( name, 2 ) :
- elem.getAttribute( name );
-
- // Non-existent attributes return null, we normalize to undefined
- return attr === null ? undefined : attr;
- }
-
- // elem is actually elem.style ... set the style
- // Using attr for specific style information is now deprecated. Use style instead.
- return jQuery.style( elem, name, value );
- }
-});
-var rnamespaces = /\.(.*)$/,
- fcleanup = function( nm ) {
- return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {
- return "\\" + ch;
- });
- };
-
-/*
- * A number of helper functions used for managing events.
- * Many of the ideas behind this code originated from
- * Dean Edwards' addEvent library.
- */
-jQuery.event = {
-
- // Bind an event to an element
- // Original by Dean Edwards
- add: function( elem, types, handler, data ) {
- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
- return;
- }
-
- // For whatever reason, IE has trouble passing the window object
- // around, causing it to be cloned in the process
- if ( elem.setInterval && ( elem !== window && !elem.frameElement ) ) {
- elem = window;
- }
-
- var handleObjIn, handleObj;
-
- if ( handler.handler ) {
- handleObjIn = handler;
- handler = handleObjIn.handler;
- }
-
- // Make sure that the function being executed has a unique ID
- if ( !handler.guid ) {
- handler.guid = jQuery.guid++;
- }
-
- // Init the element's event structure
- var elemData = jQuery.data( elem );
-
- // If no elemData is found then we must be trying to bind to one of the
- // banned noData elements
- if ( !elemData ) {
- return;
- }
-
- var events = elemData.events = elemData.events || {},
- eventHandle = elemData.handle, eventHandle;
-
- if ( !eventHandle ) {
- elemData.handle = eventHandle = function() {
- // Handle the second event of a trigger and when
- // an event is called after a page has unloaded
- return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
- jQuery.event.handle.apply( eventHandle.elem, arguments ) :
- undefined;
- };
- }
-
- // Add elem as a property of the handle function
- // This is to prevent a memory leak with non-native events in IE.
- eventHandle.elem = elem;
-
- // Handle multiple events separated by a space
- // jQuery(...).bind("mouseover mouseout", fn);
- types = types.split(" ");
-
- var type, i = 0, namespaces;
-
- while ( (type = types[ i++ ]) ) {
- handleObj = handleObjIn ?
- jQuery.extend({}, handleObjIn) :
- { handler: handler, data: data };
-
- // Namespaced event handlers
- if ( type.indexOf(".") > -1 ) {
- namespaces = type.split(".");
- type = namespaces.shift();
- handleObj.namespace = namespaces.slice(0).sort().join(".");
-
- } else {
- namespaces = [];
- handleObj.namespace = "";
- }
-
- handleObj.type = type;
- handleObj.guid = handler.guid;
-
- // Get the current list of functions bound to this event
- var handlers = events[ type ],
- special = jQuery.event.special[ type ] || {};
-
- // Init the event handler queue
- if ( !handlers ) {
- handlers = events[ type ] = [];
-
- // Check for a special event handler
- // Only use addEventListener/attachEvent if the special
- // events handler returns false
- if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
- // Bind the global event handler to the element
- if ( elem.addEventListener ) {
- elem.addEventListener( type, eventHandle, false );
-
- } else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, eventHandle );
- }
- }
- }
-
- if ( special.add ) {
- special.add.call( elem, handleObj );
-
- if ( !handleObj.handler.guid ) {
- handleObj.handler.guid = handler.guid;
- }
- }
-
- // Add the function to the element's handler list
- handlers.push( handleObj );
-
- // Keep track of which events have been used, for global triggering
- jQuery.event.global[ type ] = true;
- }
-
- // Nullify elem to prevent memory leaks in IE
- elem = null;
- },
-
- global: {},
-
- // Detach an event or set of events from an element
- remove: function( elem, types, handler, pos ) {
- // don't do events on text and comment nodes
- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
- return;
- }
-
- var ret, type, fn, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
- elemData = jQuery.data( elem ),
- events = elemData && elemData.events;
-
- if ( !elemData || !events ) {
- return;
- }
-
- // types is actually an event object here
- if ( types && types.type ) {
- handler = types.handler;
- types = types.type;
- }
-
- // Unbind all events for the element
- if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
- types = types || "";
-
- for ( type in events ) {
- jQuery.event.remove( elem, type + types );
- }
-
- return;
- }
-
- // Handle multiple events separated by a space
- // jQuery(...).unbind("mouseover mouseout", fn);
- types = types.split(" ");
-
- while ( (type = types[ i++ ]) ) {
- origType = type;
- handleObj = null;
- all = type.indexOf(".") < 0;
- namespaces = [];
-
- if ( !all ) {
- // Namespaced event handlers
- namespaces = type.split(".");
- type = namespaces.shift();
-
- namespace = new RegExp("(^|\\.)" +
- jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)")
- }
-
- eventType = events[ type ];
-
- if ( !eventType ) {
- continue;
- }
-
- if ( !handler ) {
- for ( var j = 0; j < eventType.length; j++ ) {
- handleObj = eventType[ j ];
-
- if ( all || namespace.test( handleObj.namespace ) ) {
- jQuery.event.remove( elem, origType, handleObj.handler, j );
- eventType.splice( j--, 1 );
- }
- }
-
- continue;
- }
-
- special = jQuery.event.special[ type ] || {};
-
- for ( var j = pos || 0; j < eventType.length; j++ ) {
- handleObj = eventType[ j ];
-
- if ( handler.guid === handleObj.guid ) {
- // remove the given handler for the given type
- if ( all || namespace.test( handleObj.namespace ) ) {
- if ( pos == null ) {
- eventType.splice( j--, 1 );
- }
-
- if ( special.remove ) {
- special.remove.call( elem, handleObj );
- }
- }
-
- if ( pos != null ) {
- break;
- }
- }
- }
-
- // remove generic event handler if no more handlers exist
- if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
- if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
- removeEvent( elem, type, elemData.handle );
- }
-
- ret = null;
- delete events[ type ];
- }
- }
-
- // Remove the expando if it's no longer used
- if ( jQuery.isEmptyObject( events ) ) {
- var handle = elemData.handle;
- if ( handle ) {
- handle.elem = null;
- }
-
- delete elemData.events;
- delete elemData.handle;
-
- if ( jQuery.isEmptyObject( elemData ) ) {
- jQuery.removeData( elem );
- }
- }
- },
-
- // bubbling is internal
- trigger: function( event, data, elem /*, bubbling */ ) {
- // Event object or event type
- var type = event.type || event,
- bubbling = arguments[3];
-
- if ( !bubbling ) {
- event = typeof event === "object" ?
- // jQuery.Event object
- event[expando] ? event :
- // Object literal
- jQuery.extend( jQuery.Event(type), event ) :
- // Just the event type (string)
- jQuery.Event(type);
-
- if ( type.indexOf("!") >= 0 ) {
- event.type = type = type.slice(0, -1);
- event.exclusive = true;
- }
-
- // Handle a global trigger
- if ( !elem ) {
- // Don't bubble custom events when global (to avoid too much overhead)
- event.stopPropagation();
-
- // Only trigger if we've ever bound an event for it
- if ( jQuery.event.global[ type ] ) {
- jQuery.each( jQuery.cache, function() {
- if ( this.events && this.events[type] ) {
- jQuery.event.trigger( event, data, this.handle.elem );
- }
- });
- }
- }
-
- // Handle triggering a single element
-
- // don't do events on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
- return undefined;
- }
-
- // Clean up in case it is reused
- event.result = undefined;
- event.target = elem;
-
- // Clone the incoming data, if any
- data = jQuery.makeArray( data );
- data.unshift( event );
- }
-
- event.currentTarget = elem;
-
- // Trigger the event, it is assumed that "handle" is a function
- var handle = jQuery.data( elem, "handle" );
- if ( handle ) {
- handle.apply( elem, data );
- }
-
- var parent = elem.parentNode || elem.ownerDocument;
-
- // Trigger an inline bound script
- try {
- if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
- if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) {
- event.result = false;
- }
- }
-
- // prevent IE from throwing an error for some elements with some event types, see #3533
- } catch (e) {}
-
- if ( !event.isPropagationStopped() && parent ) {
- jQuery.event.trigger( event, data, parent, true );
-
- } else if ( !event.isDefaultPrevented() ) {
- var target = event.target, old,
- isClick = jQuery.nodeName(target, "a") && type === "click",
- special = jQuery.event.special[ type ] || {};
-
- if ( (!special._default || special._default.call( elem, event ) === false) &&
- !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
-
- try {
- if ( target[ type ] ) {
- // Make sure that we don't accidentally re-trigger the onFOO events
- old = target[ "on" + type ];
-
- if ( old ) {
- target[ "on" + type ] = null;
- }
-
- jQuery.event.triggered = true;
- target[ type ]();
- }
-
- // prevent IE from throwing an error for some elements with some event types, see #3533
- } catch (e) {}
-
- if ( old ) {
- target[ "on" + type ] = old;
- }
-
- jQuery.event.triggered = false;
- }
- }
- },
-
- handle: function( event ) {
- var all, handlers, namespaces, namespace, events;
-
- event = arguments[0] = jQuery.event.fix( event || window.event );
- event.currentTarget = this;
-
- // Namespaced event handlers
- all = event.type.indexOf(".") < 0 && !event.exclusive;
-
- if ( !all ) {
- namespaces = event.type.split(".");
- event.type = namespaces.shift();
- namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
- }
-
- var events = jQuery.data(this, "events"), handlers = events[ event.type ];
-
- if ( events && handlers ) {
- // Clone the handlers to prevent manipulation
- handlers = handlers.slice(0);
-
- for ( var j = 0, l = handlers.length; j < l; j++ ) {
- var handleObj = handlers[ j ];
-
- // Filter the functions by class
- if ( all || namespace.test( handleObj.namespace ) ) {
- // Pass in a reference to the handler function itself
- // So that we can later remove it
- event.handler = handleObj.handler;
- event.data = handleObj.data;
- event.handleObj = handleObj;
-
- var ret = handleObj.handler.apply( this, arguments );
-
- if ( ret !== undefined ) {
- event.result = ret;
- if ( ret === false ) {
- event.preventDefault();
- event.stopPropagation();
- }
- }
-
- if ( event.isImmediatePropagationStopped() ) {
- break;
- }
- }
- }
- }
-
- return event.result;
- },
-
- props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-
- fix: function( event ) {
- if ( event[ expando ] ) {
- return event;
- }
-
- // store a copy of the original event object
- // and "clone" to set read-only properties
- var originalEvent = event;
- event = jQuery.Event( originalEvent );
-
- for ( var i = this.props.length, prop; i; ) {
- prop = this.props[ --i ];
- event[ prop ] = originalEvent[ prop ];
- }
-
- // Fix target property, if necessary
- if ( !event.target ) {
- event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
- }
-
- // check if target is a textnode (safari)
- if ( event.target.nodeType === 3 ) {
- event.target = event.target.parentNode;
- }
-
- // Add relatedTarget, if necessary
- if ( !event.relatedTarget && event.fromElement ) {
- event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
- }
-
- // Calculate pageX/Y if missing and clientX/Y available
- if ( event.pageX == null && event.clientX != null ) {
- var doc = document.documentElement, body = document.body;
- event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
- event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
- }
-
- // Add which for key events
- if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) {
- event.which = event.charCode || event.keyCode;
- }
-
- // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
- if ( !event.metaKey && event.ctrlKey ) {
- event.metaKey = event.ctrlKey;
- }
-
- // Add which for click: 1 === left; 2 === middle; 3 === right
- // Note: button is not normalized, so don't use it
- if ( !event.which && event.button !== undefined ) {
- event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
- }
-
- return event;
- },
-
- // Deprecated, use jQuery.guid instead
- guid: 1E8,
-
- // Deprecated, use jQuery.proxy instead
- proxy: jQuery.proxy,
-
- special: {
- ready: {
- // Make sure the ready event is setup
- setup: jQuery.bindReady,
- teardown: jQuery.noop
- },
-
- live: {
- add: function( handleObj ) {
- jQuery.event.add( this, handleObj.origType, jQuery.extend({}, handleObj, {handler: liveHandler}) );
- },
-
- remove: function( handleObj ) {
- var remove = true,
- type = handleObj.origType.replace(rnamespaces, "");
-
- jQuery.each( jQuery.data(this, "events").live || [], function() {
- if ( type === this.origType.replace(rnamespaces, "") ) {
- remove = false;
- return false;
- }
- });
-
- if ( remove ) {
- jQuery.event.remove( this, handleObj.origType, liveHandler );
- }
- }
-
- },
-
- beforeunload: {
- setup: function( data, namespaces, eventHandle ) {
- // We only want to do this special case on windows
- if ( this.setInterval ) {
- this.onbeforeunload = eventHandle;
- }
-
- return false;
- },
- teardown: function( namespaces, eventHandle ) {
- if ( this.onbeforeunload === eventHandle ) {
- this.onbeforeunload = null;
- }
- }
- }
- }
-};
-
-var removeEvent = document.removeEventListener ?
- function( elem, type, handle ) {
- elem.removeEventListener( type, handle, false );
- } :
- function( elem, type, handle ) {
- elem.detachEvent( "on" + type, handle );
- };
-
-jQuery.Event = function( src ) {
- // Allow instantiation without the 'new' keyword
- if ( !this.preventDefault ) {
- return new jQuery.Event( src );
- }
-
- // Event object
- if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
- // Event type
- } else {
- this.type = src;
- }
-
- // timeStamp is buggy for some events on Firefox(#3843)
- // So we won't rely on the native value
- this.timeStamp = now();
-
- // Mark it as fixed
- this[ expando ] = true;
-};
-
-function returnFalse() {
- return false;
-}
-function returnTrue() {
- return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- preventDefault: function() {
- this.isDefaultPrevented = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
-
- // if preventDefault exists run it on the original event
- if ( e.preventDefault ) {
- e.preventDefault();
- }
- // otherwise set the returnValue property of the original event to false (IE)
- e.returnValue = false;
- },
- stopPropagation: function() {
- this.isPropagationStopped = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
- // if stopPropagation exists run it on the original event
- if ( e.stopPropagation ) {
- e.stopPropagation();
- }
- // otherwise set the cancelBubble property of the original event to true (IE)
- e.cancelBubble = true;
- },
- stopImmediatePropagation: function() {
- this.isImmediatePropagationStopped = returnTrue;
- this.stopPropagation();
- },
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse
-};
-
-// Checks if an event happened on an element within another element
-// Used in jQuery.event.special.mouseenter and mouseleave handlers
-var withinElement = function( event ) {
- // Check if mouse(over|out) are still within the same parent element
- var parent = event.relatedTarget;
-
- // Firefox sometimes assigns relatedTarget a XUL element
- // which we cannot access the parentNode property of
- try {
- // Traverse up the tree
- while ( parent && parent !== this ) {
- parent = parent.parentNode;
- }
-
- if ( parent !== this ) {
- // set the correct event type
- event.type = event.data;
-
- // handle event if we actually just moused on to a non sub-element
- jQuery.event.handle.apply( this, arguments );
- }
-
- // assuming we've left the element since we most likely mousedover a xul element
- } catch(e) { }
-},
-
-// In case of event delegation, we only need to rename the event.type,
-// liveHandler will take care of the rest.
-delegate = function( event ) {
- event.type = event.data;
- jQuery.event.handle.apply( this, arguments );
-};
-
-// Create mouseenter and mouseleave events
-jQuery.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- setup: function( data ) {
- jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig );
- },
- teardown: function( data ) {
- jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement );
- }
- };
-});
-
-// submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
- jQuery.event.special.submit = {
- setup: function( data, namespaces ) {
- if ( this.nodeName.toLowerCase() !== "form" ) {
- jQuery.event.add(this, "click.specialSubmit", function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
- return trigger( "submit", this, arguments );
- }
- });
-
- jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
- return trigger( "submit", this, arguments );
- }
- });
-
- } else {
- return false;
- }
- },
-
- teardown: function( namespaces ) {
- jQuery.event.remove( this, ".specialSubmit" );
- }
- };
-
-}
-
-// change delegation, happens here so we have bind.
-if ( !jQuery.support.changeBubbles ) {
-
- var formElems = /textarea|input|select/i,
-
- changeFilters,
-
- getVal = function( elem ) {
- var type = elem.type, val = elem.value;
-
- if ( type === "radio" || type === "checkbox" ) {
- val = elem.checked;
-
- } else if ( type === "select-multiple" ) {
- val = elem.selectedIndex > -1 ?
- jQuery.map( elem.options, function( elem ) {
- return elem.selected;
- }).join("-") :
- "";
-
- } else if ( elem.nodeName.toLowerCase() === "select" ) {
- val = elem.selectedIndex;
- }
-
- return val;
- },
-
- testChange = function testChange( e ) {
- var elem = e.target, data, val;
-
- if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {
- return;
- }
-
- data = jQuery.data( elem, "_change_data" );
- val = getVal(elem);
-
- // the current data will be also retrieved by beforeactivate
- if ( e.type !== "focusout" || elem.type !== "radio" ) {
- jQuery.data( elem, "_change_data", val );
- }
-
- if ( data === undefined || val === data ) {
- return;
- }
-
- if ( data != null || val ) {
- e.type = "change";
- return jQuery.event.trigger( e, arguments[1], elem );
- }
- };
-
- jQuery.event.special.change = {
- filters: {
- focusout: testChange,
-
- click: function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
- return testChange.call( this, e );
- }
- },
-
- // Change has to be called before submit
- // Keydown will be called before keypress, which is used in submit-event delegation
- keydown: function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
- (e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
- type === "select-multiple" ) {
- return testChange.call( this, e );
- }
- },
-
- // Beforeactivate happens also before the previous element is blurred
- // with this event you can't trigger a change event, but you can store
- // information/focus[in] is not needed anymore
- beforeactivate: function( e ) {
- var elem = e.target;
- jQuery.data( elem, "_change_data", getVal(elem) );
- }
- },
-
- setup: function( data, namespaces ) {
- if ( this.type === "file" ) {
- return false;
- }
-
- for ( var type in changeFilters ) {
- jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
- }
-
- return formElems.test( this.nodeName );
- },
-
- teardown: function( namespaces ) {
- jQuery.event.remove( this, ".specialChange" );
-
- return formElems.test( this.nodeName );
- }
- };
-
- changeFilters = jQuery.event.special.change.filters;
-}
-
-function trigger( type, elem, args ) {
- args[0].type = type;
- return jQuery.event.handle.apply( elem, args );
-}
-
-// Create "bubbling" focus and blur events
-if ( document.addEventListener ) {
- jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
- jQuery.event.special[ fix ] = {
- setup: function() {
- this.addEventListener( orig, handler, true );
- },
- teardown: function() {
- this.removeEventListener( orig, handler, true );
- }
- };
-
- function handler( e ) {
- e = jQuery.event.fix( e );
- e.type = fix;
- return jQuery.event.handle.call( this, e );
- }
- });
-}
-
-jQuery.each(["bind", "one"], function( i, name ) {
- jQuery.fn[ name ] = function( type, data, fn ) {
- // Handle object literals
- if ( typeof type === "object" ) {
- for ( var key in type ) {
- this[ name ](key, data, type[key], fn);
- }
- return this;
- }
-
- if ( jQuery.isFunction( data ) ) {
- fn = data;
- data = undefined;
- }
-
- var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
- jQuery( this ).unbind( event, handler );
- return fn.apply( this, arguments );
- }) : fn;
-
- if ( type === "unload" && name !== "one" ) {
- this.one( type, data, fn );
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- jQuery.event.add( this[i], type, handler, data );
- }
- }
-
- return this;
- };
-});
-
-jQuery.fn.extend({
- unbind: function( type, fn ) {
- // Handle object literals
- if ( typeof type === "object" && !type.preventDefault ) {
- for ( var key in type ) {
- this.unbind(key, type[key]);
- }
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- jQuery.event.remove( this[i], type, fn );
- }
- }
-
- return this;
- },
-
- delegate: function( selector, types, data, fn ) {
- return this.live( types, data, fn, selector );
- },
-
- undelegate: function( selector, types, fn ) {
- if ( arguments.length === 0 ) {
- return this.unbind( "live" );
-
- } else {
- return this.die( types, null, fn, selector );
- }
- },
-
- trigger: function( type, data ) {
- return this.each(function() {
- jQuery.event.trigger( type, data, this );
- });
- },
-
- triggerHandler: function( type, data ) {
- if ( this[0] ) {
- var event = jQuery.Event( type );
- event.preventDefault();
- event.stopPropagation();
- jQuery.event.trigger( event, data, this[0] );
- return event.result;
- }
- },
-
- toggle: function( fn ) {
- // Save reference to arguments for access in closure
- var args = arguments, i = 1;
-
- // link all the functions, so any of them can unbind this click handler
- while ( i < args.length ) {
- jQuery.proxy( fn, args[ i++ ] );
- }
-
- return this.click( jQuery.proxy( fn, function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- }));
- },
-
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-});
-
-var liveMap = {
- focus: "focusin",
- blur: "focusout",
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-};
-
-jQuery.each(["live", "die"], function( i, name ) {
- jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
- var type, i = 0, match, namespaces, preType,
- selector = origSelector || this.selector,
- context = origSelector ? this : jQuery( this.context );
-
- if ( jQuery.isFunction( data ) ) {
- fn = data;
- data = undefined;
- }
-
- types = (types || "").split(" ");
-
- while ( (type = types[ i++ ]) != null ) {
- match = rnamespaces.exec( type );
- namespaces = "";
-
- if ( match ) {
- namespaces = match[0];
- type = type.replace( rnamespaces, "" );
- }
-
- if ( type === "hover" ) {
- types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
- continue;
- }
-
- preType = type;
-
- if ( type === "focus" || type === "blur" ) {
- types.push( liveMap[ type ] + namespaces );
- type = type + namespaces;
-
- } else {
- type = (liveMap[ type ] || type) + namespaces;
- }
-
- if ( name === "live" ) {
- // bind live handler
- context.each(function(){
- jQuery.event.add( this, liveConvert( type, selector ),
- { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
- });
-
- } else {
- // unbind live handler
- context.unbind( liveConvert( type, selector ), fn );
- }
- }
-
- return this;
- }
-});
-
-function liveHandler( event ) {
- var stop, elems = [], selectors = [], args = arguments,
- related, match, handleObj, elem, j, i, l, data,
- events = jQuery.data( this, "events" );
-
- // Make sure we avoid non-left-click bubbling in Firefox (#3861)
- if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
- return;
- }
-
- event.liveFired = this;
-
- var live = events.live.slice(0);
-
- for ( j = 0; j < live.length; j++ ) {
- handleObj = live[j];
-
- if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
- selectors.push( handleObj.selector );
-
- } else {
- live.splice( j--, 1 );
- }
- }
-
- match = jQuery( event.target ).closest( selectors, event.currentTarget );
-
- for ( i = 0, l = match.length; i < l; i++ ) {
- for ( j = 0; j < live.length; j++ ) {
- handleObj = live[j];
-
- if ( match[i].selector === handleObj.selector ) {
- elem = match[i].elem;
- related = null;
-
- // Those two events require additional checking
- if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
- related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
- }
-
- if ( !related || related !== elem ) {
- elems.push({ elem: elem, handleObj: handleObj });
- }
- }
- }
- }
-
- for ( i = 0, l = elems.length; i < l; i++ ) {
- match = elems[i];
- event.currentTarget = match.elem;
- event.data = match.handleObj.data;
- event.handleObj = match.handleObj;
-
- if ( match.handleObj.origHandler.apply( match.elem, args ) === false ) {
- stop = false;
- break;
- }
- }
-
- return stop;
-}
-
-function liveConvert( type, selector ) {
- return "live." + (type && type !== "*" ? type + "." : "") + selector.replace(/\./g, "`").replace(/ /g, "&");
-}
-
-jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup error").split(" "), function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( fn ) {
- return fn ? this.bind( name, fn ) : this.trigger( name );
- };
-
- if ( jQuery.attrFn ) {
- jQuery.attrFn[ name ] = true;
- }
-});
-
-// Prevent memory leaks in IE
-// Window isn't included so as not to unbind existing unload events
-// More info:
-// - http://isaacschlueter.com/2006/10/msie-memory-leaks/
-if ( window.attachEvent && !window.addEventListener ) {
- window.attachEvent("onunload", function() {
- for ( var id in jQuery.cache ) {
- if ( jQuery.cache[ id ].handle ) {
- // Try/Catch is to handle iframes being unloaded, see #4280
- try {
- jQuery.event.remove( jQuery.cache[ id ].handle.elem );
- } catch(e) {}
- }
- }
- });
-}
-/*!
- * Sizzle CSS Selector Engine - v1.0
- * Copyright 2009, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
- done = 0,
- toString = Object.prototype.toString,
- hasDuplicate = false,
- baseHasDuplicate = true;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-// Thus far that includes Google Chrome.
-[0, 0].sort(function(){
- baseHasDuplicate = false;
- return 0;
-});
-
-var Sizzle = function(selector, context, results, seed) {
- results = results || [];
- var origContext = context = context || document;
-
- if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
- return [];
- }
-
- if ( !selector || typeof selector !== "string" ) {
- return results;
- }
-
- var parts = [], m, set, checkSet, extra, prune = true, contextXML = isXML(context),
- soFar = selector;
-
- // Reset the position of the chunker regexp (start from head)
- while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) {
- soFar = m[3];
-
- parts.push( m[1] );
-
- if ( m[2] ) {
- extra = m[3];
- break;
- }
- }
-
- if ( parts.length > 1 && origPOS.exec( selector ) ) {
- if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
- set = posProcess( parts[0] + parts[1], context );
- } else {
- set = Expr.relative[ parts[0] ] ?
- [ context ] :
- Sizzle( parts.shift(), context );
-
- while ( parts.length ) {
- selector = parts.shift();
-
- if ( Expr.relative[ selector ] ) {
- selector += parts.shift();
- }
-
- set = posProcess( selector, set );
- }
- }
- } else {
- // Take a shortcut and set the context if the root selector is an ID
- // (but not if it'll be faster if the inner selector is an ID)
- if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
- Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
- var ret = Sizzle.find( parts.shift(), context, contextXML );
- context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0];
- }
-
- if ( context ) {
- var ret = seed ?
- { expr: parts.pop(), set: makeArray(seed) } :
- Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
- set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;
-
- if ( parts.length > 0 ) {
- checkSet = makeArray(set);
- } else {
- prune = false;
- }
-
- while ( parts.length ) {
- var cur = parts.pop(), pop = cur;
-
- if ( !Expr.relative[ cur ] ) {
- cur = "";
- } else {
- pop = parts.pop();
- }
-
- if ( pop == null ) {
- pop = context;
- }
-
- Expr.relative[ cur ]( checkSet, pop, contextXML );
- }
- } else {
- checkSet = parts = [];
- }
- }
-
- if ( !checkSet ) {
- checkSet = set;
- }
-
- if ( !checkSet ) {
- Sizzle.error( cur || selector );
- }
-
- if ( toString.call(checkSet) === "[object Array]" ) {
- if ( !prune ) {
- results.push.apply( results, checkSet );
- } else if ( context && context.nodeType === 1 ) {
- for ( var i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
- results.push( set[i] );
- }
- }
- } else {
- for ( var i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
- results.push( set[i] );
- }
- }
- }
- } else {
- makeArray( checkSet, results );
- }
-
- if ( extra ) {
- Sizzle( extra, origContext, results, seed );
- Sizzle.uniqueSort( results );
- }
-
- return results;
-};
-
-Sizzle.uniqueSort = function(results){
- if ( sortOrder ) {
- hasDuplicate = baseHasDuplicate;
- results.sort(sortOrder);
-
- if ( hasDuplicate ) {
- for ( var i = 1; i < results.length; i++ ) {
- if ( results[i] === results[i-1] ) {
- results.splice(i--, 1);
- }
- }
- }
- }
-
- return results;
-};
-
-Sizzle.matches = function(expr, set){
- return Sizzle(expr, null, null, set);
-};
-
-Sizzle.find = function(expr, context, isXML){
- var set, match;
-
- if ( !expr ) {
- return [];
- }
-
- for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
- var type = Expr.order[i], match;
-
- if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
- var left = match[1];
- match.splice(1,1);
-
- if ( left.substr( left.length - 1 ) !== "\\" ) {
- match[1] = (match[1] || "").replace(/\\/g, "");
- set = Expr.find[ type ]( match, context, isXML );
- if ( set != null ) {
- expr = expr.replace( Expr.match[ type ], "" );
- break;
- }
- }
- }
- }
-
- if ( !set ) {
- set = context.getElementsByTagName("*");
- }
-
- return {set: set, expr: expr};
-};
-
-Sizzle.filter = function(expr, set, inplace, not){
- var old = expr, result = [], curLoop = set, match, anyFound,
- isXMLFilter = set && set[0] && isXML(set[0]);
-
- while ( expr && set.length ) {
- for ( var type in Expr.filter ) {
- if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
- var filter = Expr.filter[ type ], found, item, left = match[1];
- anyFound = false;
-
- match.splice(1,1);
-
- if ( left.substr( left.length - 1 ) === "\\" ) {
- continue;
- }
-
- if ( curLoop === result ) {
- result = [];
- }
-
- if ( Expr.preFilter[ type ] ) {
- match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
- if ( !match ) {
- anyFound = found = true;
- } else if ( match === true ) {
- continue;
- }
- }
-
- if ( match ) {
- for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
- if ( item ) {
- found = filter( item, match, i, curLoop );
- var pass = not ^ !!found;
-
- if ( inplace && found != null ) {
- if ( pass ) {
- anyFound = true;
- } else {
- curLoop[i] = false;
- }
- } else if ( pass ) {
- result.push( item );
- anyFound = true;
- }
- }
- }
- }
-
- if ( found !== undefined ) {
- if ( !inplace ) {
- curLoop = result;
- }
-
- expr = expr.replace( Expr.match[ type ], "" );
-
- if ( !anyFound ) {
- return [];
- }
-
- break;
- }
- }
- }
-
- // Improper expression
- if ( expr === old ) {
- if ( anyFound == null ) {
- Sizzle.error( expr );
- } else {
- break;
- }
- }
-
- old = expr;
- }
-
- return curLoop;
-};
-
-Sizzle.error = function( msg ) {
- throw "Syntax error, unrecognized expression: " + msg;
-};
-
-var Expr = Sizzle.selectors = {
- order: [ "ID", "NAME", "TAG" ],
- match: {
- ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
- CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
- NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
- ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
- TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
- CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
- POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
- PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
- },
- leftMatch: {},
- attrMap: {
- "class": "className",
- "for": "htmlFor"
- },
- attrHandle: {
- href: function(elem){
- return elem.getAttribute("href");
- }
- },
- relative: {
- "+": function(checkSet, part){
- var isPartStr = typeof part === "string",
- isTag = isPartStr && !/\W/.test(part),
- isPartStrNotTag = isPartStr && !isTag;
-
- if ( isTag ) {
- part = part.toLowerCase();
- }
-
- for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
- if ( (elem = checkSet[i]) ) {
- while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
- checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
- elem || false :
- elem === part;
- }
- }
-
- if ( isPartStrNotTag ) {
- Sizzle.filter( part, checkSet, true );
- }
- },
- ">": function(checkSet, part){
- var isPartStr = typeof part === "string";
-
- if ( isPartStr && !/\W/.test(part) ) {
- part = part.toLowerCase();
-
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- var parent = elem.parentNode;
- checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
- }
- }
- } else {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- checkSet[i] = isPartStr ?
- elem.parentNode :
- elem.parentNode === part;
- }
- }
-
- if ( isPartStr ) {
- Sizzle.filter( part, checkSet, true );
- }
- }
- },
- "": function(checkSet, part, isXML){
- var doneName = done++, checkFn = dirCheck;
-
- if ( typeof part === "string" && !/\W/.test(part) ) {
- var nodeCheck = part = part.toLowerCase();
- checkFn = dirNodeCheck;
- }
-
- checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
- },
- "~": function(checkSet, part, isXML){
- var doneName = done++, checkFn = dirCheck;
-
- if ( typeof part === "string" && !/\W/.test(part) ) {
- var nodeCheck = part = part.toLowerCase();
- checkFn = dirNodeCheck;
- }
-
- checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
- }
- },
- find: {
- ID: function(match, context, isXML){
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
- return m ? [m] : [];
- }
- },
- NAME: function(match, context){
- if ( typeof context.getElementsByName !== "undefined" ) {
- var ret = [], results = context.getElementsByName(match[1]);
-
- for ( var i = 0, l = results.length; i < l; i++ ) {
- if ( results[i].getAttribute("name") === match[1] ) {
- ret.push( results[i] );
- }
- }
-
- return ret.length === 0 ? null : ret;
- }
- },
- TAG: function(match, context){
- return context.getElementsByTagName(match[1]);
- }
- },
- preFilter: {
- CLASS: function(match, curLoop, inplace, result, not, isXML){
- match = " " + match[1].replace(/\\/g, "") + " ";
-
- if ( isXML ) {
- return match;
- }
-
- for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
- if ( elem ) {
- if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) {
- if ( !inplace ) {
- result.push( elem );
- }
- } else if ( inplace ) {
- curLoop[i] = false;
- }
- }
- }
-
- return false;
- },
- ID: function(match){
- return match[1].replace(/\\/g, "");
- },
- TAG: function(match, curLoop){
- return match[1].toLowerCase();
- },
- CHILD: function(match){
- if ( match[1] === "nth" ) {
- // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
- var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
- match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
- !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
-
- // calculate the numbers (first)n+(last) including if they are negative
- match[2] = (test[1] + (test[2] || 1)) - 0;
- match[3] = test[3] - 0;
- }
-
- // TODO: Move to normal caching system
- match[0] = done++;
-
- return match;
- },
- ATTR: function(match, curLoop, inplace, result, not, isXML){
- var name = match[1].replace(/\\/g, "");
-
- if ( !isXML && Expr.attrMap[name] ) {
- match[1] = Expr.attrMap[name];
- }
-
- if ( match[2] === "~=" ) {
- match[4] = " " + match[4] + " ";
- }
-
- return match;
- },
- PSEUDO: function(match, curLoop, inplace, result, not){
- if ( match[1] === "not" ) {
- // If we're dealing with a complex expression, or a simple one
- if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
- match[3] = Sizzle(match[3], null, null, curLoop);
- } else {
- var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
- if ( !inplace ) {
- result.push.apply( result, ret );
- }
- return false;
- }
- } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
- return true;
- }
-
- return match;
- },
- POS: function(match){
- match.unshift( true );
- return match;
- }
- },
- filters: {
- enabled: function(elem){
- return elem.disabled === false && elem.type !== "hidden";
- },
- disabled: function(elem){
- return elem.disabled === true;
- },
- checked: function(elem){
- return elem.checked === true;
- },
- selected: function(elem){
- // Accessing this property makes selected-by-default
- // options in Safari work properly
- elem.parentNode.selectedIndex;
- return elem.selected === true;
- },
- parent: function(elem){
- return !!elem.firstChild;
- },
- empty: function(elem){
- return !elem.firstChild;
- },
- has: function(elem, i, match){
- return !!Sizzle( match[3], elem ).length;
- },
- header: function(elem){
- return /h\d/i.test( elem.nodeName );
- },
- text: function(elem){
- return "text" === elem.type;
- },
- radio: function(elem){
- return "radio" === elem.type;
- },
- checkbox: function(elem){
- return "checkbox" === elem.type;
- },
- file: function(elem){
- return "file" === elem.type;
- },
- password: function(elem){
- return "password" === elem.type;
- },
- submit: function(elem){
- return "submit" === elem.type;
- },
- image: function(elem){
- return "image" === elem.type;
- },
- reset: function(elem){
- return "reset" === elem.type;
- },
- button: function(elem){
- return "button" === elem.type || elem.nodeName.toLowerCase() === "button";
- },
- input: function(elem){
- return /input|select|textarea|button/i.test(elem.nodeName);
- }
- },
- setFilters: {
- first: function(elem, i){
- return i === 0;
- },
- last: function(elem, i, match, array){
- return i === array.length - 1;
- },
- even: function(elem, i){
- return i % 2 === 0;
- },
- odd: function(elem, i){
- return i % 2 === 1;
- },
- lt: function(elem, i, match){
- return i < match[3] - 0;
- },
- gt: function(elem, i, match){
- return i > match[3] - 0;
- },
- nth: function(elem, i, match){
- return match[3] - 0 === i;
- },
- eq: function(elem, i, match){
- return match[3] - 0 === i;
- }
- },
- filter: {
- PSEUDO: function(elem, match, i, array){
- var name = match[1], filter = Expr.filters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
- } else if ( name === "contains" ) {
- return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
- } else if ( name === "not" ) {
- var not = match[3];
-
- for ( var i = 0, l = not.length; i < l; i++ ) {
- if ( not[i] === elem ) {
- return false;
- }
- }
-
- return true;
- } else {
- Sizzle.error( "Syntax error, unrecognized expression: " + name );
- }
- },
- CHILD: function(elem, match){
- var type = match[1], node = elem;
- switch (type) {
- case 'only':
- case 'first':
- while ( (node = node.previousSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
- if ( type === "first" ) {
- return true;
- }
- node = elem;
- case 'last':
- while ( (node = node.nextSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
- return true;
- case 'nth':
- var first = match[2], last = match[3];
-
- if ( first === 1 && last === 0 ) {
- return true;
- }
-
- var doneName = match[0],
- parent = elem.parentNode;
-
- if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
- var count = 0;
- for ( node = parent.firstChild; node; node = node.nextSibling ) {
- if ( node.nodeType === 1 ) {
- node.nodeIndex = ++count;
- }
- }
- parent.sizcache = doneName;
- }
-
- var diff = elem.nodeIndex - last;
- if ( first === 0 ) {
- return diff === 0;
- } else {
- return ( diff % first === 0 && diff / first >= 0 );
- }
- }
- },
- ID: function(elem, match){
- return elem.nodeType === 1 && elem.getAttribute("id") === match;
- },
- TAG: function(elem, match){
- return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match;
- },
- CLASS: function(elem, match){
- return (" " + (elem.className || elem.getAttribute("class")) + " ")
- .indexOf( match ) > -1;
- },
- ATTR: function(elem, match){
- var name = match[1],
- result = Expr.attrHandle[ name ] ?
- Expr.attrHandle[ name ]( elem ) :
- elem[ name ] != null ?
- elem[ name ] :
- elem.getAttribute( name ),
- value = result + "",
- type = match[2],
- check = match[4];
-
- return result == null ?
- type === "!=" :
- type === "=" ?
- value === check :
- type === "*=" ?
- value.indexOf(check) >= 0 :
- type === "~=" ?
- (" " + value + " ").indexOf(check) >= 0 :
- !check ?
- value && result !== false :
- type === "!=" ?
- value !== check :
- type === "^=" ?
- value.indexOf(check) === 0 :
- type === "$=" ?
- value.substr(value.length - check.length) === check :
- type === "|=" ?
- value === check || value.substr(0, check.length + 1) === check + "-" :
- false;
- },
- POS: function(elem, match, i, array){
- var name = match[2], filter = Expr.setFilters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
- }
- }
- }
-};
-
-var origPOS = Expr.match.POS;
-
-for ( var type in Expr.match ) {
- Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
- Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){
- return "\\" + (num - 0 + 1);
- }));
-}
-
-var makeArray = function(array, results) {
- array = Array.prototype.slice.call( array, 0 );
-
- if ( results ) {
- results.push.apply( results, array );
- return results;
- }
-
- return array;
-};
-
-// Perform a simple check to determine if the browser is capable of
-// converting a NodeList to an array using builtin methods.
-// Also verifies that the returned array holds DOM nodes
-// (which is not the case in the Blackberry browser)
-try {
- Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
-
-// Provide a fallback method if it does not work
-} catch(e){
- makeArray = function(array, results) {
- var ret = results || [];
-
- if ( toString.call(array) === "[object Array]" ) {
- Array.prototype.push.apply( ret, array );
- } else {
- if ( typeof array.length === "number" ) {
- for ( var i = 0, l = array.length; i < l; i++ ) {
- ret.push( array[i] );
- }
- } else {
- for ( var i = 0; array[i]; i++ ) {
- ret.push( array[i] );
- }
- }
- }
-
- return ret;
- };
-}
-
-var sortOrder;
-
-if ( document.documentElement.compareDocumentPosition ) {
- sortOrder = function( a, b ) {
- if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
- if ( a == b ) {
- hasDuplicate = true;
- }
- return a.compareDocumentPosition ? -1 : 1;
- }
-
- var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
- if ( ret === 0 ) {
- hasDuplicate = true;
- }
- return ret;
- };
-} else if ( "sourceIndex" in document.documentElement ) {
- sortOrder = function( a, b ) {
- if ( !a.sourceIndex || !b.sourceIndex ) {
- if ( a == b ) {
- hasDuplicate = true;
- }
- return a.sourceIndex ? -1 : 1;
- }
-
- var ret = a.sourceIndex - b.sourceIndex;
- if ( ret === 0 ) {
- hasDuplicate = true;
- }
- return ret;
- };
-} else if ( document.createRange ) {
- sortOrder = function( a, b ) {
- if ( !a.ownerDocument || !b.ownerDocument ) {
- if ( a == b ) {
- hasDuplicate = true;
- }
- return a.ownerDocument ? -1 : 1;
- }
-
- var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
- aRange.setStart(a, 0);
- aRange.setEnd(a, 0);
- bRange.setStart(b, 0);
- bRange.setEnd(b, 0);
- var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
- if ( ret === 0 ) {
- hasDuplicate = true;
- }
- return ret;
- };
-}
-
-// Utility function for retreiving the text value of an array of DOM nodes
-function getText( elems ) {
- var ret = "", elem;
-
- for ( var i = 0; elems[i]; i++ ) {
- elem = elems[i];
-
- // Get the text from text nodes and CDATA nodes
- if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
- ret += elem.nodeValue;
-
- // Traverse everything else, except comment nodes
- } else if ( elem.nodeType !== 8 ) {
- ret += getText( elem.childNodes );
- }
- }
-
- return ret;
-}
-
-// Check to see if the browser returns elements by name when
-// querying by getElementById (and provide a workaround)
-(function(){
- // We're going to inject a fake input element with a specified name
- var form = document.createElement("div"),
- id = "script" + (new Date).getTime();
- form.innerHTML = "<a name='" + id + "'/>";
-
- // Inject it into the root element, check its status, and remove it quickly
- var root = document.documentElement;
- root.insertBefore( form, root.firstChild );
-
- // The workaround has to do additional checks after a getElementById
- // Which slows things down for other browsers (hence the branching)
- if ( document.getElementById( id ) ) {
- Expr.find.ID = function(match, context, isXML){
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
- return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
- }
- };
-
- Expr.filter.ID = function(elem, match){
- var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
- return elem.nodeType === 1 && node && node.nodeValue === match;
- };
- }
-
- root.removeChild( form );
- root = form = null; // release memory in IE
-})();
-
-(function(){
- // Check to see if the browser returns only elements
- // when doing getElementsByTagName("*")
-
- // Create a fake element
- var div = document.createElement("div");
- div.appendChild( document.createComment("") );
-
- // Make sure no comments are found
- if ( div.getElementsByTagName("*").length > 0 ) {
- Expr.find.TAG = function(match, context){
- var results = context.getElementsByTagName(match[1]);
-
- // Filter out possible comments
- if ( match[1] === "*" ) {
- var tmp = [];
-
- for ( var i = 0; results[i]; i++ ) {
- if ( results[i].nodeType === 1 ) {
- tmp.push( results[i] );
- }
- }
-
- results = tmp;
- }
-
- return results;
- };
- }
-
- // Check to see if an attribute returns normalized href attributes
- div.innerHTML = "<a href='#'></a>";
- if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
- div.firstChild.getAttribute("href") !== "#" ) {
- Expr.attrHandle.href = function(elem){
- return elem.getAttribute("href", 2);
- };
- }
-
- div = null; // release memory in IE
-})();
-
-if ( document.querySelectorAll ) {
- (function(){
- var oldSizzle = Sizzle, div = document.createElement("div");
- div.innerHTML = "<p class='TEST'></p>";
-
- // Safari can't handle uppercase or unicode characters when
- // in quirks mode.
- if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
- return;
- }
-
- Sizzle = function(query, context, extra, seed){
- context = context || document;
-
- // Only use querySelectorAll on non-XML documents
- // (ID selectors don't work in non-HTML documents)
- if ( !seed && context.nodeType === 9 && !isXML(context) ) {
- try {
- return makeArray( context.querySelectorAll(query), extra );
- } catch(e){}
- }
-
- return oldSizzle(query, context, extra, seed);
- };
-
- for ( var prop in oldSizzle ) {
- Sizzle[ prop ] = oldSizzle[ prop ];
- }
-
- div = null; // release memory in IE
- })();
-}
-
-(function(){
- var div = document.createElement("div");
-
- div.innerHTML = "<div class='test e'></div><div class='test'></div>";
-
- // Opera can't find a second classname (in 9.6)
- // Also, make sure that getElementsByClassName actually exists
- if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
- return;
- }
-
- // Safari caches class attributes, doesn't catch changes (in 3.2)
- div.lastChild.className = "e";
-
- if ( div.getElementsByClassName("e").length === 1 ) {
- return;
- }
-
- Expr.order.splice(1, 0, "CLASS");
- Expr.find.CLASS = function(match, context, isXML) {
- if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
- return context.getElementsByClassName(match[1]);
- }
- };
-
- div = null; // release memory in IE
-})();
-
-function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- elem = elem[dir];
- var match = false;
-
- while ( elem ) {
- if ( elem.sizcache === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 && !isXML ){
- elem.sizcache = doneName;
- elem.sizset = i;
- }
-
- if ( elem.nodeName.toLowerCase() === cur ) {
- match = elem;
- break;
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- elem = elem[dir];
- var match = false;
-
- while ( elem ) {
- if ( elem.sizcache === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 ) {
- if ( !isXML ) {
- elem.sizcache = doneName;
- elem.sizset = i;
- }
- if ( typeof cur !== "string" ) {
- if ( elem === cur ) {
- match = true;
- break;
- }
-
- } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
- match = elem;
- break;
- }
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-var contains = document.compareDocumentPosition ? function(a, b){
- return !!(a.compareDocumentPosition(b) & 16);
-} : function(a, b){
- return a !== b && (a.contains ? a.contains(b) : true);
-};
-
-var isXML = function(elem){
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-var posProcess = function(selector, context){
- var tmpSet = [], later = "", match,
- root = context.nodeType ? [context] : context;
-
- // Position selectors must be done after the filter
- // And so must :not(positional) so we move all PSEUDOs to the end
- while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
- later += match[0];
- selector = selector.replace( Expr.match.PSEUDO, "" );
- }
-
- selector = Expr.relative[selector] ? selector + "*" : selector;
-
- for ( var i = 0, l = root.length; i < l; i++ ) {
- Sizzle( selector, root[i], tmpSet );
- }
-
- return Sizzle.filter( later, tmpSet );
-};
-
-// EXPOSE
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[":"] = jQuery.expr.filters;
-jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = getText;
-jQuery.isXMLDoc = isXML;
-jQuery.contains = contains;
-
-return;
-
-window.Sizzle = Sizzle;
-
-})();
-var runtil = /Until$/,
- rparentsprev = /^(?:parents|prevUntil|prevAll)/,
- // Note: This RegExp should be improved, or likely pulled from Sizzle
- rmultiselector = /,/,
- slice = Array.prototype.slice;
-
-// Implement the identical functionality for filter and not
-var winnow = function( elements, qualifier, keep ) {
- if ( jQuery.isFunction( qualifier ) ) {
- return jQuery.grep(elements, function( elem, i ) {
- return !!qualifier.call( elem, i, elem ) === keep;
- });
-
- } else if ( qualifier.nodeType ) {
- return jQuery.grep(elements, function( elem, i ) {
- return (elem === qualifier) === keep;
- });
-
- } else if ( typeof qualifier === "string" ) {
- var filtered = jQuery.grep(elements, function( elem ) {
- return elem.nodeType === 1;
- });
-
- if ( isSimple.test( qualifier ) ) {
- return jQuery.filter(qualifier, filtered, !keep);
- } else {
- qualifier = jQuery.filter( qualifier, filtered );
- }
- }
-
- return jQuery.grep(elements, function( elem, i ) {
- return (jQuery.inArray( elem, qualifier ) >= 0) === keep;
- });
-};
-
-jQuery.fn.extend({
- find: function( selector ) {
- var ret = this.pushStack( "", "find", selector ), length = 0;
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- length = ret.length;
- jQuery.find( selector, this[i], ret );
-
- if ( i > 0 ) {
- // Make sure that the results are unique
- for ( var n = length; n < ret.length; n++ ) {
- for ( var r = 0; r < length; r++ ) {
- if ( ret[r] === ret[n] ) {
- ret.splice(n--, 1);
- break;
- }
- }
- }
- }
- }
-
- return ret;
- },
-
- has: function( target ) {
- var targets = jQuery( target );
- return this.filter(function() {
- for ( var i = 0, l = targets.length; i < l; i++ ) {
- if ( jQuery.contains( this, targets[i] ) ) {
- return true;
- }
- }
- });
- },
-
- not: function( selector ) {
- return this.pushStack( winnow(this, selector, false), "not", selector);
- },
-
- filter: function( selector ) {
- return this.pushStack( winnow(this, selector, true), "filter", selector );
- },
-
- is: function( selector ) {
- return !!selector && jQuery.filter( selector, this ).length > 0;
- },
-
- closest: function( selectors, context ) {
- if ( jQuery.isArray( selectors ) ) {
- var ret = [], cur = this[0], match, matches = {}, selector;
-
- if ( cur && selectors.length ) {
- for ( var i = 0, l = selectors.length; i < l; i++ ) {
- selector = selectors[i];
-
- if ( !matches[selector] ) {
- matches[selector] = jQuery.expr.match.POS.test( selector ) ?
- jQuery( selector, context || this.context ) :
- selector;
- }
- }
-
- while ( cur && cur.ownerDocument && cur !== context ) {
- for ( selector in matches ) {
- match = matches[selector];
-
- if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) {
- ret.push({ selector: selector, elem: cur });
- delete matches[selector];
- }
- }
- cur = cur.parentNode;
- }
- }
-
- return ret;
- }
-
- var pos = jQuery.expr.match.POS.test( selectors ) ?
- jQuery( selectors, context || this.context ) : null;
-
- return this.map(function( i, cur ) {
- while ( cur && cur.ownerDocument && cur !== context ) {
- if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) {
- return cur;
- }
- cur = cur.parentNode;
- }
- return null;
- });
- },
-
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
- if ( !elem || typeof elem === "string" ) {
- return jQuery.inArray( this[0],
- // If it receives a string, the selector is used
- // If it receives nothing, the siblings are used
- elem ? jQuery( elem ) : this.parent().children() );
- }
- // Locate the position of the desired element
- return jQuery.inArray(
- // If it receives a jQuery object, the first element is used
- elem.jquery ? elem[0] : elem, this );
- },
-
- add: function( selector, context ) {
- var set = typeof selector === "string" ?
- jQuery( selector, context || this.context ) :
- jQuery.makeArray( selector ),
- all = jQuery.merge( this.get(), set );
-
- return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
- all :
- jQuery.unique( all ) );
- },
-
- andSelf: function() {
- return this.add( this.prevObject );
- }
-});
-
-// A painfully simple check to see if an element is disconnected
-// from a document (should be improved, where feasible).
-function isDisconnected( node ) {
- return !node || !node.parentNode || node.parentNode.nodeType === 11;
-}
-
-jQuery.each({
- parent: function( elem ) {
- var parent = elem.parentNode;
- return parent && parent.nodeType !== 11 ? parent : null;
- },
- parents: function( elem ) {
- return jQuery.dir( elem, "parentNode" );
- },
- parentsUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "parentNode", until );
- },
- next: function( elem ) {
- return jQuery.nth( elem, 2, "nextSibling" );
- },
- prev: function( elem ) {
- return jQuery.nth( elem, 2, "previousSibling" );
- },
- nextAll: function( elem ) {
- return jQuery.dir( elem, "nextSibling" );
- },
- prevAll: function( elem ) {
- return jQuery.dir( elem, "previousSibling" );
- },
- nextUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "nextSibling", until );
- },
- prevUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "previousSibling", until );
- },
- siblings: function( elem ) {
- return jQuery.sibling( elem.parentNode.firstChild, elem );
- },
- children: function( elem ) {
- return jQuery.sibling( elem.firstChild );
- },
- contents: function( elem ) {
- return jQuery.nodeName( elem, "iframe" ) ?
- elem.contentDocument || elem.contentWindow.document :
- jQuery.makeArray( elem.childNodes );
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function( until, selector ) {
- var ret = jQuery.map( this, fn, until );
-
- if ( !runtil.test( name ) ) {
- selector = until;
- }
-
- if ( selector && typeof selector === "string" ) {
- ret = jQuery.filter( selector, ret );
- }
-
- ret = this.length > 1 ? jQuery.unique( ret ) : ret;
-
- if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
- ret = ret.reverse();
- }
-
- return this.pushStack( ret, name, slice.call(arguments).join(",") );
- };
-});
-
-jQuery.extend({
- filter: function( expr, elems, not ) {
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
-
- return jQuery.find.matches(expr, elems);
- },
-
- dir: function( elem, dir, until ) {
- var matched = [], cur = elem[dir];
- while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
- if ( cur.nodeType === 1 ) {
- matched.push( cur );
- }
- cur = cur[dir];
- }
- return matched;
- },
-
- nth: function( cur, result, dir, elem ) {
- result = result || 1;
- var num = 0;
-
- for ( ; cur; cur = cur[dir] ) {
- if ( cur.nodeType === 1 && ++num === result ) {
- break;
- }
- }
-
- return cur;
- },
-
- sibling: function( n, elem ) {
- var r = [];
-
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType === 1 && n !== elem ) {
- r.push( n );
- }
- }
-
- return r;
- }
-});
-var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
- rleadingWhitespace = /^\s+/,
- rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g,
- rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
- rtagName = /<([\w:]+)/,
- rtbody = /<tbody/i,
- rhtml = /<|&#?\w+;/,
- rnocache = /<script|<object|<embed|<option|<style/i,
- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, // checked="checked" or checked (html5)
- fcloseTag = function( all, front, tag ) {
- return rselfClosing.test( tag ) ?
- all :
- front + "></" + tag + ">";
- },
- wrapMap = {
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
- legend: [ 1, "<fieldset>", "</fieldset>" ],
- thead: [ 1, "<table>", "</table>" ],
- tr: [ 2, "<table><tbody>", "</tbody></table>" ],
- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
- col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
- area: [ 1, "<map>", "</map>" ],
- _default: [ 0, "", "" ]
- };
-
-wrapMap.optgroup = wrapMap.option;
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-// IE can't serialize <link> and <script> tags normally
-if ( !jQuery.support.htmlSerialize ) {
- wrapMap._default = [ 1, "div<div>", "</div>" ];
-}
-
-jQuery.fn.extend({
- text: function( text ) {
- if ( jQuery.isFunction(text) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.text( text.call(this, i, self.text()) );
- });
- }
-
- if ( typeof text !== "object" && text !== undefined ) {
- return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
- }
-
- return jQuery.text( this );
- },
-
- wrapAll: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapAll( html.call(this, i) );
- });
- }
-
- if ( this[0] ) {
- // The elements to wrap the target around
- var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
-
- if ( this[0].parentNode ) {
- wrap.insertBefore( this[0] );
- }
-
- wrap.map(function() {
- var elem = this;
-
- while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
- elem = elem.firstChild;
- }
-
- return elem;
- }).append(this);
- }
-
- return this;
- },
-
- wrapInner: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapInner( html.call(this, i) );
- });
- }
-
- return this.each(function() {
- var self = jQuery( this ), contents = self.contents();
-
- if ( contents.length ) {
- contents.wrapAll( html );
-
- } else {
- self.append( html );
- }
- });
- },
-
- wrap: function( html ) {
- return this.each(function() {
- jQuery( this ).wrapAll( html );
- });
- },
-
- unwrap: function() {
- return this.parent().each(function() {
- if ( !jQuery.nodeName( this, "body" ) ) {
- jQuery( this ).replaceWith( this.childNodes );
- }
- }).end();
- },
-
- append: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.appendChild( elem );
- }
- });
- },
-
- prepend: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.insertBefore( elem, this.firstChild );
- }
- });
- },
-
- before: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this );
- });
- } else if ( arguments.length ) {
- var set = jQuery(arguments[0]);
- set.push.apply( set, this.toArray() );
- return this.pushStack( set, "before", arguments );
- }
- },
-
- after: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this.nextSibling );
- });
- } else if ( arguments.length ) {
- var set = this.pushStack( this, "after", arguments );
- set.push.apply( set, jQuery(arguments[0]).toArray() );
- return set;
- }
- },
-
- // keepData is for internal use only--do not document
- remove: function( selector, keepData ) {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
- if ( !keepData && elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- jQuery.cleanData( [ elem ] );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
- }
- }
-
- return this;
- },
-
- empty: function() {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- }
-
- // Remove any remaining nodes
- while ( elem.firstChild ) {
- elem.removeChild( elem.firstChild );
- }
- }
-
- return this;
- },
-
- clone: function( events ) {
- // Do the clone
- var ret = this.map(function() {
- if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
- // IE copies events bound via attachEvent when
- // using cloneNode. Calling detachEvent on the
- // clone will also remove the events from the orignal
- // In order to get around this, we use innerHTML.
- // Unfortunately, this means some modifications to
- // attributes in IE that are actually only stored
- // as properties will not be copied (such as the
- // the name attribute on an input).
- var html = this.outerHTML, ownerDocument = this.ownerDocument;
- if ( !html ) {
- var div = ownerDocument.createElement("div");
- div.appendChild( this.cloneNode(true) );
- html = div.innerHTML;
- }
-
- return jQuery.clean([html.replace(rinlinejQuery, "")
- // Handle the case in IE 8 where action=/test/> self-closes a tag
- .replace(/=([^="'>\s]+\/)>/g, '="$1">')
- .replace(rleadingWhitespace, "")], ownerDocument)[0];
- } else {
- return this.cloneNode(true);
- }
- });
-
- // Copy the events from the original to the clone
- if ( events === true ) {
- cloneCopyEvent( this, ret );
- cloneCopyEvent( this.find("*"), ret.find("*") );
- }
-
- // Return the cloned set
- return ret;
- },
-
- html: function( value ) {
- if ( value === undefined ) {
- return this[0] && this[0].nodeType === 1 ?
- this[0].innerHTML.replace(rinlinejQuery, "") :
- null;
-
- // See if we can take a shortcut and just use innerHTML
- } else if ( typeof value === "string" && !rnocache.test( value ) &&
- (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
- !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
-
- value = value.replace(rxhtmlTag, fcloseTag);
-
- try {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( this[i].nodeType === 1 ) {
- jQuery.cleanData( this[i].getElementsByTagName("*") );
- this[i].innerHTML = value;
- }
- }
-
- // If using innerHTML throws an exception, use the fallback method
- } catch(e) {
- this.empty().append( value );
- }
-
- } else if ( jQuery.isFunction( value ) ) {
- this.each(function(i){
- var self = jQuery(this), old = self.html();
- self.empty().append(function(){
- return value.call( this, i, old );
- });
- });
-
- } else {
- this.empty().append( value );
- }
-
- return this;
- },
-
- replaceWith: function( value ) {
- if ( this[0] && this[0].parentNode ) {
- // Make sure that the elements are removed from the DOM before they are inserted
- // this can help fix replacing a parent with child elements
- if ( jQuery.isFunction( value ) ) {
- return this.each(function(i) {
- var self = jQuery(this), old = self.html();
- self.replaceWith( value.call( this, i, old ) );
- });
- }
-
- if ( typeof value !== "string" ) {
- value = jQuery(value).detach();
- }
-
- return this.each(function() {
- var next = this.nextSibling, parent = this.parentNode;
-
- jQuery(this).remove();
-
- if ( next ) {
- jQuery(next).before( value );
- } else {
- jQuery(parent).append( value );
- }
- });
- } else {
- return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value );
- }
- },
-
- detach: function( selector ) {
- return this.remove( selector, true );
- },
-
- domManip: function( args, table, callback ) {
- var results, first, value = args[0], scripts = [], fragment, parent;
-
- // We can't cloneNode fragments that contain checked, in WebKit
- if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
- return this.each(function() {
- jQuery(this).domManip( args, table, callback, true );
- });
- }
-
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- args[0] = value.call(this, i, table ? self.html() : undefined);
- self.domManip( args, table, callback );
- });
- }
-
- if ( this[0] ) {
- parent = value && value.parentNode;
-
- // If we're in a fragment, just use that instead of building a new one
- if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
- results = { fragment: parent };
-
- } else {
- results = buildFragment( args, this, scripts );
- }
-
- fragment = results.fragment;
-
- if ( fragment.childNodes.length === 1 ) {
- first = fragment = fragment.firstChild;
- } else {
- first = fragment.firstChild;
- }
-
- if ( first ) {
- table = table && jQuery.nodeName( first, "tr" );
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- callback.call(
- table ?
- root(this[i], first) :
- this[i],
- i > 0 || results.cacheable || this.length > 1 ?
- fragment.cloneNode(true) :
- fragment
- );
- }
- }
-
- if ( scripts.length ) {
- jQuery.each( scripts, evalScript );
- }
- }
-
- return this;
-
- function root( elem, cur ) {
- return jQuery.nodeName(elem, "table") ?
- (elem.getElementsByTagName("tbody")[0] ||
- elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
- elem;
- }
- }
-});
-
-function cloneCopyEvent(orig, ret) {
- var i = 0;
-
- ret.each(function() {
- if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) {
- return;
- }
-
- var oldData = jQuery.data( orig[i++] ), curData = jQuery.data( this, oldData ), events = oldData && oldData.events;
-
- if ( events ) {
- delete curData.handle;
- curData.events = {};
-
- for ( var type in events ) {
- for ( var handler in events[ type ] ) {
- jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
- }
- }
- }
- });
-}
-
-function buildFragment( args, nodes, scripts ) {
- var fragment, cacheable, cacheresults,
- doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document);
-
- // Only cache "small" (1/2 KB) strings that are associated with the main document
- // Cloning options loses the selected state, so don't cache them
- // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
- // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
- if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document &&
- !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) {
-
- cacheable = true;
- cacheresults = jQuery.fragments[ args[0] ];
- if ( cacheresults ) {
- if ( cacheresults !== 1 ) {
- fragment = cacheresults;
- }
- }
- }
-
- if ( !fragment ) {
- fragment = doc.createDocumentFragment();
- jQuery.clean( args, doc, fragment, scripts );
- }
-
- if ( cacheable ) {
- jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1;
- }
-
- return { fragment: fragment, cacheable: cacheable };
-}
-
-jQuery.fragments = {};
-
-jQuery.each({
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
-}, function( name, original ) {
- jQuery.fn[ name ] = function( selector ) {
- var ret = [], insert = jQuery( selector ),
- parent = this.length === 1 && this[0].parentNode;
-
- if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
- insert[ original ]( this[0] );
- return this;
-
- } else {
- for ( var i = 0, l = insert.length; i < l; i++ ) {
- var elems = (i > 0 ? this.clone(true) : this).get();
- jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
- ret = ret.concat( elems );
- }
-
- return this.pushStack( ret, name, insert.selector );
- }
- };
-});
-
-jQuery.extend({
- clean: function( elems, context, fragment, scripts ) {
- context = context || document;
-
- // !context.createElement fails in IE with an error but returns typeof 'object'
- if ( typeof context.createElement === "undefined" ) {
- context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
- }
-
- var ret = [];
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- if ( typeof elem === "number" ) {
- elem += "";
- }
-
- if ( !elem ) {
- continue;
- }
-
- // Convert html string into DOM nodes
- if ( typeof elem === "string" && !rhtml.test( elem ) ) {
- elem = context.createTextNode( elem );
-
- } else if ( typeof elem === "string" ) {
- // Fix "XHTML"-style tags in all browsers
- elem = elem.replace(rxhtmlTag, fcloseTag);
-
- // Trim whitespace, otherwise indexOf won't work as expected
- var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
- wrap = wrapMap[ tag ] || wrapMap._default,
- depth = wrap[0],
- div = context.createElement("div");
-
- // Go to html and back, then peel off extra wrappers
- div.innerHTML = wrap[1] + elem + wrap[2];
-
- // Move to the right depth
- while ( depth-- ) {
- div = div.lastChild;
- }
-
- // Remove IE's autoinserted <tbody> from table fragments
- if ( !jQuery.support.tbody ) {
-
- // String was a <table>, *may* have spurious <tbody>
- var hasBody = rtbody.test(elem),
- tbody = tag === "table" && !hasBody ?
- div.firstChild && div.firstChild.childNodes :
-
- // String was a bare <thead> or <tfoot>
- wrap[1] === "<table>" && !hasBody ?
- div.childNodes :
- [];
-
- for ( var j = tbody.length - 1; j >= 0 ; --j ) {
- if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
- tbody[ j ].parentNode.removeChild( tbody[ j ] );
- }
- }
-
- }
-
- // IE completely kills leading whitespace when innerHTML is used
- if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
- div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
- }
-
- elem = div.childNodes;
- }
-
- if ( elem.nodeType ) {
- ret.push( elem );
- } else {
- ret = jQuery.merge( ret, elem );
- }
- }
-
- if ( fragment ) {
- for ( var i = 0; ret[i]; i++ ) {
- if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
- scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
-
- } else {
- if ( ret[i].nodeType === 1 ) {
- ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
- }
- fragment.appendChild( ret[i] );
- }
- }
- }
-
- return ret;
- },
-
- cleanData: function( elems ) {
- var data, id, cache = jQuery.cache,
- special = jQuery.event.special,
- deleteExpando = jQuery.support.deleteExpando;
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- id = elem[ jQuery.expando ];
-
- if ( id ) {
- data = cache[ id ];
-
- if ( data.events ) {
- for ( var type in data.events ) {
- if ( special[ type ] ) {
- jQuery.event.remove( elem, type );
-
- } else {
- removeEvent( elem, type, data.handle );
- }
- }
- }
-
- if ( deleteExpando ) {
- delete elem[ jQuery.expando ];
-
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( jQuery.expando );
- }
-
- delete cache[ id ];
- }
- }
- }
-});
-// exclude the following css properties to add px
-var rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
- ralpha = /alpha\([^)]*\)/,
- ropacity = /opacity=([^)]*)/,
- rfloat = /float/i,
- rdashAlpha = /-([a-z])/ig,
- rupper = /([A-Z])/g,
- rnumpx = /^-?\d+(?:px)?$/i,
- rnum = /^-?\d/,
-
- cssShow = { position: "absolute", visibility: "hidden", display:"block" },
- cssWidth = [ "Left", "Right" ],
- cssHeight = [ "Top", "Bottom" ],
-
- // cache check for defaultView.getComputedStyle
- getComputedStyle = document.defaultView && document.defaultView.getComputedStyle,
- // normalize float css property
- styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat",
- fcamelCase = function( all, letter ) {
- return letter.toUpperCase();
- };
-
-jQuery.fn.css = function( name, value ) {
- return access( this, name, value, true, function( elem, name, value ) {
- if ( value === undefined ) {
- return jQuery.curCSS( elem, name );
- }
-
- if ( typeof value === "number" && !rexclude.test(name) ) {
- value += "px";
- }
-
- jQuery.style( elem, name, value );
- });
-};
-
-jQuery.extend({
- style: function( elem, name, value ) {
- // don't set styles on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
- return undefined;
- }
-
- // ignore negative width and height values #1599
- if ( (name === "width" || name === "height") && parseFloat(value) < 0 ) {
- value = undefined;
- }
-
- var style = elem.style || elem, set = value !== undefined;
-
- // IE uses filters for opacity
- if ( !jQuery.support.opacity && name === "opacity" ) {
- if ( set ) {
- // IE has trouble with opacity if it does not have layout
- // Force it by setting the zoom level
- style.zoom = 1;
-
- // Set the alpha filter to set the opacity
- var opacity = parseInt( value, 10 ) + "" === "NaN" ? "" : "alpha(opacity=" + value * 100 + ")";
- var filter = style.filter || jQuery.curCSS( elem, "filter" ) || "";
- style.filter = ralpha.test(filter) ? filter.replace(ralpha, opacity) : opacity;
- }
-
- return style.filter && style.filter.indexOf("opacity=") >= 0 ?
- (parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "":
- "";
- }
-
- // Make sure we're using the right name for getting the float value
- if ( rfloat.test( name ) ) {
- name = styleFloat;
- }
-
- name = name.replace(rdashAlpha, fcamelCase);
-
- if ( set ) {
- style[ name ] = value;
- }
-
- return style[ name ];
- },
-
- css: function( elem, name, force, extra ) {
- if ( name === "width" || name === "height" ) {
- var val, props = cssShow, which = name === "width" ? cssWidth : cssHeight;
-
- function getWH() {
- val = name === "width" ? elem.offsetWidth : elem.offsetHeight;
-
- if ( extra === "border" ) {
- return;
- }
-
- jQuery.each( which, function() {
- if ( !extra ) {
- val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
- }
-
- if ( extra === "margin" ) {
- val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
- } else {
- val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
- }
- });
- }
-
- if ( elem.offsetWidth !== 0 ) {
- getWH();
- } else {
- jQuery.swap( elem, props, getWH );
- }
-
- return Math.max(0, Math.round(val));
- }
-
- return jQuery.curCSS( elem, name, force );
- },
-
- curCSS: function( elem, name, force ) {
- var ret, style = elem.style, filter;
-
- // IE uses filters for opacity
- if ( !jQuery.support.opacity && name === "opacity" && elem.currentStyle ) {
- ret = ropacity.test(elem.currentStyle.filter || "") ?
- (parseFloat(RegExp.$1) / 100) + "" :
- "";
-
- return ret === "" ?
- "1" :
- ret;
- }
-
- // Make sure we're using the right name for getting the float value
- if ( rfloat.test( name ) ) {
- name = styleFloat;
- }
-
- if ( !force && style && style[ name ] ) {
- ret = style[ name ];
-
- } else if ( getComputedStyle ) {
-
- // Only "float" is needed here
- if ( rfloat.test( name ) ) {
- name = "float";
- }
-
- name = name.replace( rupper, "-$1" ).toLowerCase();
-
- var defaultView = elem.ownerDocument.defaultView;
-
- if ( !defaultView ) {
- return null;
- }
-
- var computedStyle = defaultView.getComputedStyle( elem, null );
-
- if ( computedStyle ) {
- ret = computedStyle.getPropertyValue( name );
- }
-
- // We should always get a number back from opacity
- if ( name === "opacity" && ret === "" ) {
- ret = "1";
- }
-
- } else if ( elem.currentStyle ) {
- var camelCase = name.replace(rdashAlpha, fcamelCase);
-
- ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
-
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
- // Remember the original values
- var left = style.left, rsLeft = elem.runtimeStyle.left;
-
- // Put in the new values to get a computed value out
- elem.runtimeStyle.left = elem.currentStyle.left;
- style.left = camelCase === "fontSize" ? "1em" : (ret || 0);
- ret = style.pixelLeft + "px";
-
- // Revert the changed values
- style.left = left;
- elem.runtimeStyle.left = rsLeft;
- }
- }
-
- return ret;
- },
-
- // A method for quickly swapping in/out CSS properties to get correct calculations
- swap: function( elem, options, callback ) {
- var old = {};
-
- // Remember the old values, and insert the new ones
- for ( var name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- callback.call( elem );
-
- // Revert the old values
- for ( var name in options ) {
- elem.style[ name ] = old[ name ];
- }
- }
-});
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.hidden = function( elem ) {
- var width = elem.offsetWidth, height = elem.offsetHeight,
- skip = elem.nodeName.toLowerCase() === "tr";
-
- return width === 0 && height === 0 && !skip ?
- true :
- width > 0 && height > 0 && !skip ?
- false :
- jQuery.curCSS(elem, "display") === "none";
- };
-
- jQuery.expr.filters.visible = function( elem ) {
- return !jQuery.expr.filters.hidden( elem );
- };
-}
-var jsc = now(),
- rscript = /<script(.|\s)*?\/script>/gi,
- rselectTextarea = /select|textarea/i,
- rinput = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,
- jsre = /=\?(&|$)/,
- rquery = /\?/,
- rts = /(\?|&)_=.*?(&|$)/,
- rurl = /^(\w+:)?\/\/([^\/?#]+)/,
- r20 = /%20/g,
-
- // Keep a copy of the old load method
- _load = jQuery.fn.load;
-
-jQuery.fn.extend({
- load: function( url, params, callback ) {
- if ( typeof url !== "string" ) {
- return _load.call( this, url );
-
- // Don't do a request if no elements are being requested
- } else if ( !this.length ) {
- return this;
- }
-
- var off = url.indexOf(" ");
- if ( off >= 0 ) {
- var selector = url.slice(off, url.length);
- url = url.slice(0, off);
- }
-
- // Default to a GET request
- var type = "GET";
-
- // If the second parameter was provided
- if ( params ) {
- // If it's a function
- if ( jQuery.isFunction( params ) ) {
- // We assume that it's the callback
- callback = params;
- params = null;
-
- // Otherwise, build a param string
- } else if ( typeof params === "object" ) {
- params = jQuery.param( params, jQuery.ajaxSettings.traditional );
- type = "POST";
- }
- }
-
- var self = this;
-
- // Request the remote document
- jQuery.ajax({
- url: url,
- type: type,
- dataType: "html",
- data: params,
- complete: function( res, status ) {
- // If successful, inject the HTML into all the matched elements
- if ( status === "success" || status === "notmodified" ) {
- // See if a selector was specified
- self.html( selector ?
- // Create a dummy div to hold the results
- jQuery("<div />")
- // inject the contents of the document in, removing the scripts
- // to avoid any 'Permission Denied' errors in IE
- .append(res.responseText.replace(rscript, ""))
-
- // Locate the specified elements
- .find(selector) :
-
- // If not, just inject the full result
- res.responseText );
- }
-
- if ( callback ) {
- self.each( callback, [res.responseText, status, res] );
- }
- }
- });
-
- return this;
- },
-
- serialize: function() {
- return jQuery.param(this.serializeArray());
- },
- serializeArray: function() {
- return this.map(function() {
- return this.elements ? jQuery.makeArray(this.elements) : this;
- })
- .filter(function() {
- return this.name && !this.disabled &&
- (this.checked || rselectTextarea.test(this.nodeName) ||
- rinput.test(this.type));
- })
- .map(function( i, elem ) {
- var val = jQuery(this).val();
-
- return val == null ?
- null :
- jQuery.isArray(val) ?
- jQuery.map( val, function( val, i ) {
- return { name: elem.name, value: val };
- }) :
- { name: elem.name, value: val };
- }).get();
- }
-});
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) {
- jQuery.fn[o] = function( f ) {
- return this.bind(o, f);
- };
-});
-
-jQuery.extend({
-
- get: function( url, data, callback, type ) {
- // shift arguments if data argument was omited
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = null;
- }
-
- return jQuery.ajax({
- type: "GET",
- url: url,
- data: data,
- success: callback,
- dataType: type
- });
- },
-
- getScript: function( url, callback ) {
- return jQuery.get(url, null, callback, "script");
- },
-
- getJSON: function( url, data, callback ) {
- return jQuery.get(url, data, callback, "json");
- },
-
- post: function( url, data, callback, type ) {
- // shift arguments if data argument was omited
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = {};
- }
-
- return jQuery.ajax({
- type: "POST",
- url: url,
- data: data,
- success: callback,
- dataType: type
- });
- },
-
- ajaxSetup: function( settings ) {
- jQuery.extend( jQuery.ajaxSettings, settings );
- },
-
- ajaxSettings: {
- url: location.href,
- global: true,
- type: "GET",
- contentType: "application/x-www-form-urlencoded",
- processData: true,
- async: true,
- /*
- timeout: 0,
- data: null,
- username: null,
- password: null,
- traditional: false,
- */
- // Create the request object; Microsoft failed to properly
- // implement the XMLHttpRequest in IE7 (can't request local files),
- // so we use the ActiveXObject when it is available
- // This function can be overriden by calling jQuery.ajaxSetup
- xhr: window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ?
- function() {
- return new window.XMLHttpRequest();
- } :
- function() {
- try {
- return new window.ActiveXObject("Microsoft.XMLHTTP");
- } catch(e) {}
- },
- accepts: {
- xml: "application/xml, text/xml",
- html: "text/html",
- script: "text/javascript, application/javascript",
- json: "application/json, text/javascript",
- text: "text/plain",
- _default: "*/*"
- }
- },
-
- // Last-Modified header cache for next request
- lastModified: {},
- etag: {},
-
- ajax: function( origSettings ) {
- var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);
-
- var jsonp, status, data,
- callbackContext = origSettings && origSettings.context || s,
- type = s.type.toUpperCase();
-
- // convert data if not already a string
- if ( s.data && s.processData && typeof s.data !== "string" ) {
- s.data = jQuery.param( s.data, s.traditional );
- }
-
- // Handle JSONP Parameter Callbacks
- if ( s.dataType === "jsonp" ) {
- if ( type === "GET" ) {
- if ( !jsre.test( s.url ) ) {
- s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?";
- }
- } else if ( !s.data || !jsre.test(s.data) ) {
- s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
- }
- s.dataType = "json";
- }
-
- // Build temporary JSONP function
- if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) {
- jsonp = s.jsonpCallback || ("jsonp" + jsc++);
-
- // Replace the =? sequence both in the query string and the data
- if ( s.data ) {
- s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1");
- }
-
- s.url = s.url.replace(jsre, "=" + jsonp + "$1");
-
- // We need to make sure
- // that a JSONP style response is executed properly
- s.dataType = "script";
-
- // Handle JSONP-style loading
- window[ jsonp ] = window[ jsonp ] || function( tmp ) {
- data = tmp;
- success();
- complete();
- // Garbage collect
- window[ jsonp ] = undefined;
-
- try {
- delete window[ jsonp ];
- } catch(e) {}
-
- if ( head ) {
- head.removeChild( script );
- }
- };
- }
-
- if ( s.dataType === "script" && s.cache === null ) {
- s.cache = false;
- }
-
- if ( s.cache === false && type === "GET" ) {
- var ts = now();
-
- // try replacing _= if it is there
- var ret = s.url.replace(rts, "$1_=" + ts + "$2");
-
- // if nothing was replaced, add timestamp to the end
- s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : "");
- }
-
- // If data is available, append data to url for get requests
- if ( s.data && type === "GET" ) {
- s.url += (rquery.test(s.url) ? "&" : "?") + s.data;
- }
-
- // Watch for a new set of requests
- if ( s.global && ! jQuery.active++ ) {
- jQuery.event.trigger( "ajaxStart" );
- }
-
- // Matches an absolute URL, and saves the domain
- var parts = rurl.exec( s.url ),
- remote = parts && (parts[1] && parts[1] !== location.protocol || parts[2] !== location.host);
-
- // If we're requesting a remote document
- // and trying to load JSON or Script with a GET
- if ( s.dataType === "script" && type === "GET" && remote ) {
- var head = document.getElementsByTagName("head")[0] || document.documentElement;
- var script = document.createElement("script");
- script.src = s.url;
- if ( s.scriptCharset ) {
- script.charset = s.scriptCharset;
- }
-
- // Handle Script loading
- if ( !jsonp ) {
- var done = false;
-
- // Attach handlers for all browsers
- script.onload = script.onreadystatechange = function() {
- if ( !done && (!this.readyState ||
- this.readyState === "loaded" || this.readyState === "complete") ) {
- done = true;
- success();
- complete();
-
- // Handle memory leak in IE
- script.onload = script.onreadystatechange = null;
- if ( head && script.parentNode ) {
- head.removeChild( script );
- }
- }
- };
- }
-
- // Use insertBefore instead of appendChild to circumvent an IE6 bug.
- // This arises when a base node is used (#2709 and #4378).
- head.insertBefore( script, head.firstChild );
-
- // We handle everything using the script element injection
- return undefined;
- }
-
- var requestDone = false;
-
- // Create the request object
- var xhr = s.xhr();
-
- if ( !xhr ) {
- return;
- }
-
- // Open the socket
- // Passing null username, generates a login popup on Opera (#2865)
- if ( s.username ) {
- xhr.open(type, s.url, s.async, s.username, s.password);
- } else {
- xhr.open(type, s.url, s.async);
- }
-
- // Need an extra try/catch for cross domain requests in Firefox 3
- try {
- // Set the correct header, if data is being sent
- if ( s.data || origSettings && origSettings.contentType ) {
- xhr.setRequestHeader("Content-Type", s.contentType);
- }
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- if ( jQuery.lastModified[s.url] ) {
- xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]);
- }
-
- if ( jQuery.etag[s.url] ) {
- xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]);
- }
- }
-
- // Set header so the called script knows that it's an XMLHttpRequest
- // Only send the header if it's not a remote XHR
- if ( !remote ) {
- xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
- }
-
- // Set the Accepts header for the server, depending on the dataType
- xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?
- s.accepts[ s.dataType ] + ", */*" :
- s.accepts._default );
- } catch(e) {}
-
- // Allow custom headers/mimetypes and early abort
- if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) === false ) {
- // Handle the global AJAX counter
- if ( s.global && ! --jQuery.active ) {
- jQuery.event.trigger( "ajaxStop" );
- }
-
- // close opended socket
- xhr.abort();
- return false;
- }
-
- if ( s.global ) {
- trigger("ajaxSend", [xhr, s]);
- }
-
- // Wait for a response to come back
- var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) {
- // The request was aborted
- if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) {
- // Opera doesn't call onreadystatechange before this point
- // so we simulate the call
- if ( !requestDone ) {
- complete();
- }
-
- requestDone = true;
- if ( xhr ) {
- xhr.onreadystatechange = jQuery.noop;
- }
-
- // The transfer is complete and the data is available, or the request timed out
- } else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) {
- requestDone = true;
- xhr.onreadystatechange = jQuery.noop;
-
- status = isTimeout === "timeout" ?
- "timeout" :
- !jQuery.httpSuccess( xhr ) ?
- "error" :
- s.ifModified && jQuery.httpNotModified( xhr, s.url ) ?
- "notmodified" :
- "success";
-
- var errMsg;
-
- if ( status === "success" ) {
- // Watch for, and catch, XML document parse errors
- try {
- // process the data (runs the xml through httpData regardless of callback)
- data = jQuery.httpData( xhr, s.dataType, s );
- } catch(err) {
- status = "parsererror";
- errMsg = err;
- }
- }
-
- // Make sure that the request was successful or notmodified
- if ( status === "success" || status === "notmodified" ) {
- // JSONP handles its own success callback
- if ( !jsonp ) {
- success();
- }
- } else {
- jQuery.handleError(s, xhr, status, errMsg);
- }
-
- // Fire the complete handlers
- complete();
-
- if ( isTimeout === "timeout" ) {
- xhr.abort();
- }
-
- // Stop memory leaks
- if ( s.async ) {
- xhr = null;
- }
- }
- };
-
- // Override the abort handler, if we can (IE doesn't allow it, but that's OK)
- // Opera doesn't fire onreadystatechange at all on abort
- try {
- var oldAbort = xhr.abort;
- xhr.abort = function() {
- if ( xhr ) {
- oldAbort.call( xhr );
- }
-
- onreadystatechange( "abort" );
- };
- } catch(e) { }
-
- // Timeout checker
- if ( s.async && s.timeout > 0 ) {
- setTimeout(function() {
- // Check to see if the request is still happening
- if ( xhr && !requestDone ) {
- onreadystatechange( "timeout" );
- }
- }, s.timeout);
- }
-
- // Send the data
- try {
- xhr.send( type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null );
- } catch(e) {
- jQuery.handleError(s, xhr, null, e);
- // Fire the complete handlers
- complete();
- }
-
- // firefox 1.5 doesn't fire statechange for sync requests
- if ( !s.async ) {
- onreadystatechange();
- }
-
- function success() {
- // If a local callback was specified, fire it and pass it the data
- if ( s.success ) {
- s.success.call( callbackContext, data, status, xhr );
- }
-
- // Fire the global callback
- if ( s.global ) {
- trigger( "ajaxSuccess", [xhr, s] );
- }
- }
-
- function complete() {
- // Process result
- if ( s.complete ) {
- s.complete.call( callbackContext, xhr, status);
- }
-
- // The request was completed
- if ( s.global ) {
- trigger( "ajaxComplete", [xhr, s] );
- }
-
- // Handle the global AJAX counter
- if ( s.global && ! --jQuery.active ) {
- jQuery.event.trigger( "ajaxStop" );
- }
- }
-
- function trigger(type, args) {
- (s.context ? jQuery(s.context) : jQuery.event).trigger(type, args);
- }
-
- // return XMLHttpRequest to allow aborting the request etc.
- return xhr;
- },
-
- handleError: function( s, xhr, status, e ) {
- // If a local callback was specified, fire it
- if ( s.error ) {
- s.error.call( s.context || s, xhr, status, e );
- }
-
- // Fire the global callback
- if ( s.global ) {
- (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
- }
- },
-
- // Counter for holding the number of active queries
- active: 0,
-
- // Determines if an XMLHttpRequest was successful or not
- httpSuccess: function( xhr ) {
- try {
- // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
- return !xhr.status && location.protocol === "file:" ||
- // Opera returns 0 when status is 304
- ( xhr.status >= 200 && xhr.status < 300 ) ||
- xhr.status === 304 || xhr.status === 1223 || xhr.status === 0;
- } catch(e) {}
-
- return false;
- },
-
- // Determines if an XMLHttpRequest returns NotModified
- httpNotModified: function( xhr, url ) {
- var lastModified = xhr.getResponseHeader("Last-Modified"),
- etag = xhr.getResponseHeader("Etag");
-
- if ( lastModified ) {
- jQuery.lastModified[url] = lastModified;
- }
-
- if ( etag ) {
- jQuery.etag[url] = etag;
- }
-
- // Opera returns 0 when status is 304
- return xhr.status === 304 || xhr.status === 0;
- },
-
- httpData: function( xhr, type, s ) {
- var ct = xhr.getResponseHeader("content-type") || "",
- xml = type === "xml" || !type && ct.indexOf("xml") >= 0,
- data = xml ? xhr.responseXML : xhr.responseText;
-
- if ( xml && data.documentElement.nodeName === "parsererror" ) {
- jQuery.error( "parsererror" );
- }
-
- // Allow a pre-filtering function to sanitize the response
- // s is checked to keep backwards compatibility
- if ( s && s.dataFilter ) {
- data = s.dataFilter( data, type );
- }
-
- // The filter can actually parse the response
- if ( typeof data === "string" ) {
- // Get the JavaScript object, if JSON is used.
- if ( type === "json" || !type && ct.indexOf("json") >= 0 ) {
- data = jQuery.parseJSON( data );
-
- // If the type is "script", eval it in global context
- } else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) {
- jQuery.globalEval( data );
- }
- }
-
- return data;
- },
-
- // Serialize an array of form elements or a set of
- // key/values into a query string
- param: function( a, traditional ) {
- var s = [];
-
- // Set traditional to true for jQuery <= 1.3.2 behavior.
- if ( traditional === undefined ) {
- traditional = jQuery.ajaxSettings.traditional;
- }
-
- // If an array was passed in, assume that it is an array of form elements.
- if ( jQuery.isArray(a) || a.jquery ) {
- // Serialize the form elements
- jQuery.each( a, function() {
- add( this.name, this.value );
- });
-
- } else {
- // If traditional, encode the "old" way (the way 1.3.2 or older
- // did it), otherwise encode params recursively.
- for ( var prefix in a ) {
- buildParams( prefix, a[prefix] );
- }
- }
-
- // Return the resulting serialization
- return s.join("&").replace(r20, "+");
-
- function buildParams( prefix, obj ) {
- if ( jQuery.isArray(obj) ) {
- // Serialize array item.
- jQuery.each( obj, function( i, v ) {
- if ( traditional || /\[\]$/.test( prefix ) ) {
- // Treat each array item as a scalar.
- add( prefix, v );
- } else {
- // If array item is non-scalar (array or object), encode its
- // numeric index to resolve deserialization ambiguity issues.
- // Note that rack (as of 1.0.0) can't currently deserialize
- // nested arrays properly, and attempting to do so may cause
- // a server error. Possible fixes are to modify rack's
- // deserialization algorithm or to provide an option or flag
- // to force array serialization to be shallow.
- buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v );
- }
- });
-
- } else if ( !traditional && obj != null && typeof obj === "object" ) {
- // Serialize object item.
- jQuery.each( obj, function( k, v ) {
- buildParams( prefix + "[" + k + "]", v );
- });
-
- } else {
- // Serialize scalar item.
- add( prefix, obj );
- }
- }
-
- function add( key, value ) {
- // If value is a function, invoke it and return its value
- value = jQuery.isFunction(value) ? value() : value;
- s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value);
- }
- }
-});
-var elemdisplay = {},
- rfxtypes = /toggle|show|hide/,
- rfxnum = /^([+-]=)?([\d+-.]+)(.*)$/,
- timerId,
- fxAttrs = [
- // height animations
- [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
- // width animations
- [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
- // opacity animations
- [ "opacity" ]
- ];
-
-jQuery.fn.extend({
- show: function( speed, callback ) {
- if ( speed || speed === 0) {
- return this.animate( genFx("show", 3), speed, callback);
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var old = jQuery.data(this[i], "olddisplay");
-
- this[i].style.display = old || "";
-
- if ( jQuery.css(this[i], "display") === "none" ) {
- var nodeName = this[i].nodeName, display;
-
- if ( elemdisplay[ nodeName ] ) {
- display = elemdisplay[ nodeName ];
-
- } else {
- var elem = jQuery("<" + nodeName + " />").appendTo("body");
-
- display = elem.css("display");
-
- if ( display === "none" ) {
- display = "block";
- }
-
- elem.remove();
-
- elemdisplay[ nodeName ] = display;
- }
-
- jQuery.data(this[i], "olddisplay", display);
- }
- }
-
- // Set the display of the elements in a second loop
- // to avoid the constant reflow
- for ( var j = 0, k = this.length; j < k; j++ ) {
- this[j].style.display = jQuery.data(this[j], "olddisplay") || "";
- }
-
- return this;
- }
- },
-
- hide: function( speed, callback ) {
- if ( speed || speed === 0 ) {
- return this.animate( genFx("hide", 3), speed, callback);
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var old = jQuery.data(this[i], "olddisplay");
- if ( !old && old !== "none" ) {
- jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
- }
- }
-
- // Set the display of the elements in a second loop
- // to avoid the constant reflow
- for ( var j = 0, k = this.length; j < k; j++ ) {
- this[j].style.display = "none";
- }
-
- return this;
- }
- },
-
- // Save the old toggle function
- _toggle: jQuery.fn.toggle,
-
- toggle: function( fn, fn2 ) {
- var bool = typeof fn === "boolean";
-
- if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
- this._toggle.apply( this, arguments );
-
- } else if ( fn == null || bool ) {
- this.each(function() {
- var state = bool ? fn : jQuery(this).is(":hidden");
- jQuery(this)[ state ? "show" : "hide" ]();
- });
-
- } else {
- this.animate(genFx("toggle", 3), fn, fn2);
- }
-
- return this;
- },
-
- fadeTo: function( speed, to, callback ) {
- return this.filter(":hidden").css("opacity", 0).show().end()
- .animate({opacity: to}, speed, callback);
- },
-
- animate: function( prop, speed, easing, callback ) {
- var optall = jQuery.speed(speed, easing, callback);
-
- if ( jQuery.isEmptyObject( prop ) ) {
- return this.each( optall.complete );
- }
-
- return this[ optall.queue === false ? "each" : "queue" ](function() {
- var opt = jQuery.extend({}, optall), p,
- hidden = this.nodeType === 1 && jQuery(this).is(":hidden"),
- self = this;
-
- for ( p in prop ) {
- var name = p.replace(rdashAlpha, fcamelCase);
-
- if ( p !== name ) {
- prop[ name ] = prop[ p ];
- delete prop[ p ];
- p = name;
- }
-
- if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) {
- return opt.complete.call(this);
- }
-
- if ( ( p === "height" || p === "width" ) && this.style ) {
- // Store display property
- opt.display = jQuery.css(this, "display");
-
- // Make sure that nothing sneaks out
- opt.overflow = this.style.overflow;
- }
-
- if ( jQuery.isArray( prop[p] ) ) {
- // Create (if needed) and add to specialEasing
- (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1];
- prop[p] = prop[p][0];
- }
- }
-
- if ( opt.overflow != null ) {
- this.style.overflow = "hidden";
- }
-
- opt.curAnim = jQuery.extend({}, prop);
-
- jQuery.each( prop, function( name, val ) {
- var e = new jQuery.fx( self, opt, name );
-
- if ( rfxtypes.test(val) ) {
- e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop );
-
- } else {
- var parts = rfxnum.exec(val),
- start = e.cur(true) || 0;
-
- if ( parts ) {
- var end = parseFloat( parts[2] ),
- unit = parts[3] || "px";
-
- // We need to compute starting value
- if ( unit !== "px" ) {
- self.style[ name ] = (end || 1) + unit;
- start = ((end || 1) / e.cur(true)) * start;
- self.style[ name ] = start + unit;
- }
-
- // If a +=/-= token was provided, we're doing a relative animation
- if ( parts[1] ) {
- end = ((parts[1] === "-=" ? -1 : 1) * end) + start;
- }
-
- e.custom( start, end, unit );
-
- } else {
- e.custom( start, val, "" );
- }
- }
- });
-
- // For JS strict compliance
- return true;
- });
- },
-
- stop: function( clearQueue, gotoEnd ) {
- var timers = jQuery.timers;
-
- if ( clearQueue ) {
- this.queue([]);
- }
-
- this.each(function() {
- // go in reverse order so anything added to the queue during the loop is ignored
- for ( var i = timers.length - 1; i >= 0; i-- ) {
- if ( timers[i].elem === this ) {
- if (gotoEnd) {
- // force the next step to be the last
- timers[i](true);
- }
-
- timers.splice(i, 1);
- }
- }
- });
-
- // start the next in the queue if the last step wasn't forced
- if ( !gotoEnd ) {
- this.dequeue();
- }
-
- return this;
- }
-
-});
-
-// Generate shortcuts for custom animations
-jQuery.each({
- slideDown: genFx("show", 1),
- slideUp: genFx("hide", 1),
- slideToggle: genFx("toggle", 1),
- fadeIn: { opacity: "show" },
- fadeOut: { opacity: "hide" }
-}, function( name, props ) {
- jQuery.fn[ name ] = function( speed, callback ) {
- return this.animate( props, speed, callback );
- };
-});
-
-jQuery.extend({
- speed: function( speed, easing, fn ) {
- var opt = speed && typeof speed === "object" ? speed : {
- complete: fn || !fn && easing ||
- jQuery.isFunction( speed ) && speed,
- duration: speed,
- easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
- };
-
- opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
- jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;
-
- // Queueing
- opt.old = opt.complete;
- opt.complete = function() {
- if ( opt.queue !== false ) {
- jQuery(this).dequeue();
- }
- if ( jQuery.isFunction( opt.old ) ) {
- opt.old.call( this );
- }
- };
-
- return opt;
- },
-
- easing: {
- linear: function( p, n, firstNum, diff ) {
- return firstNum + diff * p;
- },
- swing: function( p, n, firstNum, diff ) {
- return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
- }
- },
-
- timers: [],
-
- fx: function( elem, options, prop ) {
- this.options = options;
- this.elem = elem;
- this.prop = prop;
-
- if ( !options.orig ) {
- options.orig = {};
- }
- }
-
-});
-
-jQuery.fx.prototype = {
- // Simple function for setting a style value
- update: function() {
- if ( this.options.step ) {
- this.options.step.call( this.elem, this.now, this );
- }
-
- (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
-
- // Set display property to block for height/width animations
- if ( ( this.prop === "height" || this.prop === "width" ) && this.elem.style ) {
- this.elem.style.display = "block";
- }
- },
-
- // Get the current size
- cur: function( force ) {
- if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) {
- return this.elem[ this.prop ];
- }
-
- var r = parseFloat(jQuery.css(this.elem, this.prop, force));
- return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;
- },
-
- // Start an animation from one number to another
- custom: function( from, to, unit ) {
- this.startTime = now();
- this.start = from;
- this.end = to;
- this.unit = unit || this.unit || "px";
- this.now = this.start;
- this.pos = this.state = 0;
-
- var self = this;
- function t( gotoEnd ) {
- return self.step(gotoEnd);
- }
-
- t.elem = this.elem;
-
- if ( t() && jQuery.timers.push(t) && !timerId ) {
- timerId = setInterval(jQuery.fx.tick, 13);
- }
- },
-
- // Simple 'show' function
- show: function() {
- // Remember where we started, so that we can go back to it later
- this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
- this.options.show = true;
-
- // Begin the animation
- // Make sure that we start at a small width/height to avoid any
- // flash of content
- this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur());
-
- // Start by showing the element
- jQuery( this.elem ).show();
- },
-
- // Simple 'hide' function
- hide: function() {
- // Remember where we started, so that we can go back to it later
- this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
- this.options.hide = true;
-
- // Begin the animation
- this.custom(this.cur(), 0);
- },
-
- // Each step of an animation
- step: function( gotoEnd ) {
- var t = now(), done = true;
-
- if ( gotoEnd || t >= this.options.duration + this.startTime ) {
- this.now = this.end;
- this.pos = this.state = 1;
- this.update();
-
- this.options.curAnim[ this.prop ] = true;
-
- for ( var i in this.options.curAnim ) {
- if ( this.options.curAnim[i] !== true ) {
- done = false;
- }
- }
-
- if ( done ) {
- if ( this.options.display != null ) {
- // Reset the overflow
- this.elem.style.overflow = this.options.overflow;
-
- // Reset the display
- var old = jQuery.data(this.elem, "olddisplay");
- this.elem.style.display = old ? old : this.options.display;
-
- if ( jQuery.css(this.elem, "display") === "none" ) {
- this.elem.style.display = "block";
- }
- }
-
- // Hide the element if the "hide" operation was done
- if ( this.options.hide ) {
- jQuery(this.elem).hide();
- }
-
- // Reset the properties, if the item has been hidden or shown
- if ( this.options.hide || this.options.show ) {
- for ( var p in this.options.curAnim ) {
- jQuery.style(this.elem, p, this.options.orig[p]);
- }
- }
-
- // Execute the complete function
- this.options.complete.call( this.elem );
- }
-
- return false;
-
- } else {
- var n = t - this.startTime;
- this.state = n / this.options.duration;
-
- // Perform the easing function, defaults to swing
- var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop];
- var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear");
- this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration);
- this.now = this.start + ((this.end - this.start) * this.pos);
-
- // Perform the next step of the animation
- this.update();
- }
-
- return true;
- }
-};
-
-jQuery.extend( jQuery.fx, {
- tick: function() {
- var timers = jQuery.timers;
-
- for ( var i = 0; i < timers.length; i++ ) {
- if ( !timers[i]() ) {
- timers.splice(i--, 1);
- }
- }
-
- if ( !timers.length ) {
- jQuery.fx.stop();
- }
- },
-
- stop: function() {
- clearInterval( timerId );
- timerId = null;
- },
-
- speeds: {
- slow: 600,
- fast: 200,
- // Default speed
- _default: 400
- },
-
- step: {
- opacity: function( fx ) {
- jQuery.style(fx.elem, "opacity", fx.now);
- },
-
- _default: function( fx ) {
- if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
- fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;
- } else {
- fx.elem[ fx.prop ] = fx.now;
- }
- }
- }
-});
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.animated = function( elem ) {
- return jQuery.grep(jQuery.timers, function( fn ) {
- return elem === fn.elem;
- }).length;
- };
-}
-
-function genFx( type, num ) {
- var obj = {};
-
- jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() {
- obj[ this ] = type;
- });
-
- return obj;
-}
-if ( "getBoundingClientRect" in document.documentElement ) {
- jQuery.fn.offset = function( options ) {
- var elem = this[0];
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement,
- clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
- top = box.top + (self.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop,
- left = box.left + (self.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
-
- return { top: top, left: left };
- };
-
-} else {
- jQuery.fn.offset = function( options ) {
- var elem = this[0];
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- jQuery.offset.initialize();
-
- var offsetParent = elem.offsetParent, prevOffsetParent = elem,
- doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,
- body = doc.body, defaultView = doc.defaultView,
- prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
- top = elem.offsetTop, left = elem.offsetLeft;
-
- while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
- if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
- break;
- }
-
- computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
- top -= elem.scrollTop;
- left -= elem.scrollLeft;
-
- if ( elem === offsetParent ) {
- top += elem.offsetTop;
- left += elem.offsetLeft;
-
- if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.nodeName)) ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;
- }
-
- if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevComputedStyle = computedStyle;
- }
-
- if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
- top += body.offsetTop;
- left += body.offsetLeft;
- }
-
- if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
- top += Math.max( docElem.scrollTop, body.scrollTop );
- left += Math.max( docElem.scrollLeft, body.scrollLeft );
- }
-
- return { top: top, left: left };
- };
-}
-
-jQuery.offset = {
- initialize: function() {
- var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0,
- html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
-
- jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } );
-
- container.innerHTML = html;
- body.insertBefore( container, body.firstChild );
- innerDiv = container.firstChild;
- checkDiv = innerDiv.firstChild;
- td = innerDiv.nextSibling.firstChild.firstChild;
-
- this.doesNotAddBorder = (checkDiv.offsetTop !== 5);
- this.doesAddBorderForTableAndCells = (td.offsetTop === 5);
-
- checkDiv.style.position = "fixed", checkDiv.style.top = "20px";
- // safari subtracts parent border width here which is 5px
- this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15);
- checkDiv.style.position = checkDiv.style.top = "";
-
- innerDiv.style.overflow = "hidden", innerDiv.style.position = "relative";
- this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);
-
- this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop);
-
- body.removeChild( container );
- body = container = innerDiv = checkDiv = table = td = null;
- jQuery.offset.initialize = jQuery.noop;
- },
-
- bodyOffset: function( body ) {
- var top = body.offsetTop, left = body.offsetLeft;
-
- jQuery.offset.initialize();
-
- if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {
- top += parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0;
- left += parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0;
- }
-
- return { top: top, left: left };
- },
-
- setOffset: function( elem, options, i ) {
- // set position first, in-case top/left are set even on static elem
- if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) {
- elem.style.position = "relative";
- }
- var curElem = jQuery( elem ),
- curOffset = curElem.offset(),
- curTop = parseInt( jQuery.curCSS( elem, "top", true ), 10 ) || 0,
- curLeft = parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || 0;
-
- if ( jQuery.isFunction( options ) ) {
- options = options.call( elem, i, curOffset );
- }
-
- var props = {
- top: (options.top - curOffset.top) + curTop,
- left: (options.left - curOffset.left) + curLeft
- };
-
- if ( "using" in options ) {
- options.using.call( elem, props );
- } else {
- curElem.css( props );
- }
- }
-};
-
-
-jQuery.fn.extend({
- position: function() {
- if ( !this[0] ) {
- return null;
- }
-
- var elem = this[0],
-
- // Get *real* offsetParent
- offsetParent = this.offsetParent(),
-
- // Get correct offsets
- offset = this.offset(),
- parentOffset = /^body|html$/i.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
-
- // Subtract element margins
- // note: when an element has margin: auto the offsetLeft and marginLeft
- // are the same in Safari causing offset.left to incorrectly be 0
- offset.top -= parseFloat( jQuery.curCSS(elem, "marginTop", true) ) || 0;
- offset.left -= parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) || 0;
-
- // Add offsetParent borders
- parentOffset.top += parseFloat( jQuery.curCSS(offsetParent[0], "borderTopWidth", true) ) || 0;
- parentOffset.left += parseFloat( jQuery.curCSS(offsetParent[0], "borderLeftWidth", true) ) || 0;
-
- // Subtract the two offsets
- return {
- top: offset.top - parentOffset.top,
- left: offset.left - parentOffset.left
- };
- },
-
- offsetParent: function() {
- return this.map(function() {
- var offsetParent = this.offsetParent || document.body;
- while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
- offsetParent = offsetParent.offsetParent;
- }
- return offsetParent;
- });
- }
-});
-
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( ["Left", "Top"], function( i, name ) {
- var method = "scroll" + name;
-
- jQuery.fn[ method ] = function(val) {
- var elem = this[0], win;
-
- if ( !elem ) {
- return null;
- }
-
- if ( val !== undefined ) {
- // Set the scroll offset
- return this.each(function() {
- win = getWindow( this );
-
- if ( win ) {
- win.scrollTo(
- !i ? val : jQuery(win).scrollLeft(),
- i ? val : jQuery(win).scrollTop()
- );
-
- } else {
- this[ method ] = val;
- }
- });
- } else {
- win = getWindow( elem );
-
- // Return the scroll offset
- return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
- jQuery.support.boxModel && win.document.documentElement[ method ] ||
- win.document.body[ method ] :
- elem[ method ];
- }
- };
-});
-
-function getWindow( elem ) {
- return ("scrollTo" in elem && elem.document) ?
- elem :
- elem.nodeType === 9 ?
- elem.defaultView || elem.parentWindow :
- false;
-}
-// Create innerHeight, innerWidth, outerHeight and outerWidth methods
-jQuery.each([ "Height", "Width" ], function( i, name ) {
-
- var type = name.toLowerCase();
-
- // innerHeight and innerWidth
- jQuery.fn["inner" + name] = function() {
- return this[0] ?
- jQuery.css( this[0], type, false, "padding" ) :
- null;
- };
-
- // outerHeight and outerWidth
- jQuery.fn["outer" + name] = function( margin ) {
- return this[0] ?
- jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :
- null;
- };
-
- jQuery.fn[ type ] = function( size ) {
- // Get window width or height
- var elem = this[0];
- if ( !elem ) {
- return size == null ? null : this;
- }
-
- if ( jQuery.isFunction( size ) ) {
- return this.each(function( i ) {
- var self = jQuery( this );
- self[ type ]( size.call( this, i, self[ type ]() ) );
- });
- }
-
- return ("scrollTo" in elem && elem.document) ? // does it walk and quack like a window?
- // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
- elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] ||
- elem.document.body[ "client" + name ] :
-
- // Get document width or height
- (elem.nodeType === 9) ? // is it a document
- // Either scroll[Width/Height] or offset[Width/Height], whichever is greater
- Math.max(
- elem.documentElement["client" + name],
- elem.body["scroll" + name], elem.documentElement["scroll" + name],
- elem.body["offset" + name], elem.documentElement["offset" + name]
- ) :
-
- // Get or set width or height on the element
- size === undefined ?
- // Get width or height on the element
- jQuery.css( elem, type ) :
-
- // Set the width or height on the element (default to pixels if value is unitless)
- this.css( type, typeof size === "string" ? size : size + "px" );
- };
-
-});
-// Expose jQuery to the global object
-window.jQuery = window.$ = jQuery;
-
-})(window);
+/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function( window, undefined ) { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, + + // Is it a simple selector + isSimple = /^.[^:#\[\.,]*$/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + rtrim = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The functions to execute on DOM ready + readyList = [], + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwnProperty = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + indexOf = Array.prototype.indexOf; + +jQuery.fn = jQuery.prototype = { + init: function( selector, context ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + if ( elem ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $("TAG") + } else if ( !context && /^\w+$/.test( selector ) ) { + this.selector = selector; + this.context = document; + selector = document.getElementsByTagName( selector ); + return jQuery.merge( this, selector ); + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return jQuery( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.4.2", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = jQuery(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // If the DOM is already ready + if ( jQuery.isReady ) { + // Execute the function immediately + fn.call( document, jQuery ); + + // Otherwise, remember the function for later + } else if ( readyList ) { + // Add the function to the wait list + readyList.push( fn ); + } + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || jQuery(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + // copy reference to target object + var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging object literal values or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || jQuery.isArray(copy) ) ) { + var clone = src && ( jQuery.isPlainObject(src) || jQuery.isArray(src) ) ? src + : jQuery.isArray(copy) ? [] : {}; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // Handle when the DOM is ready + ready: function() { + // Make sure that the DOM is not already loaded + if ( !jQuery.isReady ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 13 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If there are functions bound, to execute + if ( readyList ) { + // Execute all of them + var fn, i = 0; + while ( (fn = readyList[ i++ ]) ) { + fn.call( document, jQuery ); + } + + // Reset the list of functions + readyList = null; + } + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + return jQuery.ready(); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return toString.call(obj) === "[object Function]"; + }, + + isArray: function( obj ) { + return toString.call(obj) === "[object Array]"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || toString.call(obj) !== "[object Object]" || obj.nodeType || obj.setInterval ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor + && !hasOwnProperty.call(obj, "constructor") + && !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwnProperty.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@") + .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]") + .replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + + if ( jQuery.support.scriptEval ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + trim: function( text ) { + return (text || "").replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = []; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + if ( !inv !== !callback( elems[ i ], i ) ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + browser: {} +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch( error ) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +function evalScript( i, elem ) { + if ( elem.src ) { + jQuery.ajax({ + url: elem.src, + async: false, + dataType: "script" + }); + } else { + jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } +} + +// Mutifunctional method to get and set values to a collection +// The value/s can be optionally by executed if its a function +function access( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; +} + +function now() { + return (new Date).getTime(); +} +(function() { + + jQuery.support = {}; + + var root = document.documentElement, + script = document.createElement("script"), + div = document.createElement("div"), + id = "script" + now(); + + div.style.display = "none"; + div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: /red/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: div.getElementsByTagName("input")[0].value === "on", + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: document.createElement("select").appendChild( document.createElement("option") ).selected, + + parentNode: div.removeChild( div.appendChild( document.createElement("div") ) ).parentNode === null, + + // Will be defined later + deleteExpando: true, + checkClone: false, + scriptEval: false, + noCloneEvent: true, + boxModel: null + }; + + script.type = "text/javascript"; + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + jQuery.support.scriptEval = true; + delete window[ id ]; + } + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete script.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + root.removeChild( script ); + + if ( div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"); + div.style.width = div.style.paddingLeft = "1px"; + + document.body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + document.body.removeChild( div ).style.display = 'none'; + + div = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + root = script = div = all = a = null; +})(); + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; +var expando = "jQuery" + now(), uuid = 0, windowData = {}; + +jQuery.extend({ + cache: {}, + + expando:expando, + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + "object": true, + "applet": true + }, + + data: function( elem, name, data ) { + if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var id = elem[ expando ], cache = jQuery.cache, thisCache; + + if ( !id && typeof name === "string" && data === undefined ) { + return null; + } + + // Compute a unique ID for the element + if ( !id ) { + id = ++uuid; + } + + // Avoid generating a new cache unless none exists and we + // want to manipulate it. + if ( typeof name === "object" ) { + elem[ expando ] = id; + thisCache = cache[ id ] = jQuery.extend(true, {}, name); + + } else if ( !cache[ id ] ) { + elem[ expando ] = id; + cache[ id ] = {}; + } + + thisCache = cache[ id ]; + + // Prevent overriding the named cache with undefined values + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + return typeof name === "string" ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name ) { + if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var id = elem[ expando ], cache = jQuery.cache, thisCache = cache[ id ]; + + // If we want to remove a specific section of the element's data + if ( name ) { + if ( thisCache ) { + // Remove the section of cache data + delete thisCache[ name ]; + + // If we've removed all the data, remove the element's cache + if ( jQuery.isEmptyObject(thisCache) ) { + jQuery.removeData( elem ); + } + } + + // Otherwise, we want to remove all of the element's data + } else { + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } + + // Completely remove the data cache + delete cache[ id ]; + } + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + if ( typeof key === "undefined" && this.length ) { + return jQuery.data( this[0] ); + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + } + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } else { + return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function() { + jQuery.data( this, key, value ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i, elem ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); +var rclass = /[\n\t]/g, + rspace = /\s+/, + rreturn = /\r/g, + rspecialurl = /href|src|style/, + rtype = /(button|input)/i, + rfocusable = /(button|input|object|select|textarea)/i, + rclickable = /^(a|area)$/i, + rradiocheck = /radio|checkbox/; + +jQuery.fn.extend({ + attr: function( name, value ) { + return access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspace ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", setClass = elem.className; + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split(rspace); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, i = 0, self = jQuery(this), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery.data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( value === undefined ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + return (elem.attributes.value || {}).specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + if ( option.selected ) { + // Get the specifc value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Typecast each time if the value is a Function and the appended + // value is therefore different each time. + if ( typeof val === "number" ) { + val += ""; + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't set attributes on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + if ( name in elem && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + elem[ name ] = value; + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + + // elem is actually elem.style ... set the style + // Using attr for specific style information is now deprecated. Use style instead. + return jQuery.style( elem, name, value ); + } +}); +var rnamespaces = /\.(.*)$/, + fcleanup = function( nm ) { + return nm.replace(/[^\w\s\.\|`]/g, function( ch ) { + return "\\" + ch; + }); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( elem.setInterval && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery.data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events = elemData.events || {}, + eventHandle = elemData.handle, eventHandle; + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + handleObj.guid = handler.guid; + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + var ret, type, fn, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)") + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( var j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( var j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[expando] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + jQuery.each( jQuery.cache, function() { + if ( this.events && this.events[type] ) { + jQuery.event.trigger( event, data, this.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery.data( elem, "handle" ); + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (e) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var target = event.target, old, + isClick = jQuery.nodeName(target, "a") && type === "click", + special = jQuery.event.special[ type ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ type ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + type ]; + + if ( old ) { + target[ "on" + type ] = null; + } + + jQuery.event.triggered = true; + target[ type ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (e) {} + + if ( old ) { + target[ "on" + type ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace, events; + + event = arguments[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + var events = jQuery.data(this, "events"), handlers = events[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, arguments ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, body = document.body; + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) { + event.which = event.charCode || event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, handleObj.origType, jQuery.extend({}, handleObj, {handler: liveHandler}) ); + }, + + remove: function( handleObj ) { + var remove = true, + type = handleObj.origType.replace(rnamespaces, ""); + + jQuery.each( jQuery.data(this, "events").live || [], function() { + if ( type === this.origType.replace(rnamespaces, "") ) { + remove = false; + return false; + } + }); + + if ( remove ) { + jQuery.event.remove( this, handleObj.origType, liveHandler ); + } + } + + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( this.setInterval ) { + this.onbeforeunload = eventHandle; + } + + return false; + }, + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +var removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + elem.removeEventListener( type, handle, false ); + } : + function( elem, type, handle ) { + elem.detachEvent( "on" + type, handle ); + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = now(); + + // Mark it as fixed + this[ expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + } + // otherwise set the returnValue property of the original event to false (IE) + e.returnValue = false; + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + return trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + return trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var formElems = /textarea|input|select/i, + + changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !formElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery.data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery.data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + return jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + return testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + return testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information/focus[in] is not needed anymore + beforeactivate: function( e ) { + var elem = e.target; + jQuery.data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return formElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return formElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; +} + +function trigger( type, elem, args ) { + args[0].type = type; + return jQuery.event.handle.apply( elem, args ); +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + context.each(function(){ + jQuery.event.add( this, liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + }); + + } else { + // unbind live handler + context.unbind( liveConvert( type, selector ), fn ); + } + } + + return this; + } +}); + +function liveHandler( event ) { + var stop, elems = [], selectors = [], args = arguments, + related, match, handleObj, elem, j, i, l, data, + events = jQuery.data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) + if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) { + return; + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( match[i].selector === handleObj.selector ) { + elem = match[i].elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + if ( match.handleObj.origHandler.apply( match.elem, args ) === false ) { + stop = false; + break; + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return "live." + (type && type !== "*" ? type + "." : "") + selector.replace(/\./g, "`").replace(/ /g, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( fn ) { + return fn ? this.bind( name, fn ) : this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + +// Prevent memory leaks in IE +// Window isn't included so as not to unbind existing unload events +// More info: +// - http://isaacschlueter.com/2006/10/msie-memory-leaks/ +if ( window.attachEvent && !window.addEventListener ) { + window.attachEvent("onunload", function() { + for ( var id in jQuery.cache ) { + if ( jQuery.cache[ id ].handle ) { + // Try/Catch is to handle iframes being unloaded, see #4280 + try { + jQuery.event.remove( jQuery.cache[ id ].handle.elem ); + } catch(e) {} + } + } + }); +} +/*! + * Sizzle CSS Selector Engine - v1.0 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function(){ + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function(selector, context, results, seed) { + results = results || []; + var origContext = context = context || document; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var parts = [], m, set, checkSet, extra, prune = true, contextXML = isXML(context), + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + var ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0]; + } + + if ( context ) { + var ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray(set); + } else { + prune = false; + } + + while ( parts.length ) { + var cur = parts.pop(), pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + } else if ( context && context.nodeType === 1 ) { + for ( var i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + } else { + for ( var i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function(results){ + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort(sortOrder); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[i-1] ) { + results.splice(i--, 1); + } + } + } + } + + return results; +}; + +Sizzle.matches = function(expr, set){ + return Sizzle(expr, null, null, set); +}; + +Sizzle.find = function(expr, context, isXML){ + var set, match; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var type = Expr.order[i], match; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice(1,1); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + set = Expr.find[ type ]( match, context, isXML ); + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = context.getElementsByTagName("*"); + } + + return {set: set, expr: expr}; +}; + +Sizzle.filter = function(expr, set, inplace, not){ + var old = expr, result = [], curLoop = set, match, anyFound, + isXMLFilter = set && set[0] && isXML(set[0]); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var filter = Expr.filter[ type ], found, item, left = match[1]; + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + } else { + curLoop[i] = false; + } + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + match: { + ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + leftMatch: {}, + attrMap: { + "class": "className", + "for": "htmlFor" + }, + attrHandle: { + href: function(elem){ + return elem.getAttribute("href"); + } + }, + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.test(part), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + ">": function(checkSet, part){ + var isPartStr = typeof part === "string"; + + if ( isPartStr && !/\W/.test(part) ) { + part = part.toLowerCase(); + + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + } else { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + "": function(checkSet, part, isXML){ + var doneName = done++, checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + var nodeCheck = part = part.toLowerCase(); + checkFn = dirNodeCheck; + } + + checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); + }, + "~": function(checkSet, part, isXML){ + var doneName = done++, checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + var nodeCheck = part = part.toLowerCase(); + checkFn = dirNodeCheck; + } + + checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML); + } + }, + find: { + ID: function(match, context, isXML){ + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + return m ? [m] : []; + } + }, + NAME: function(match, context){ + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], results = context.getElementsByName(match[1]); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + TAG: function(match, context){ + return context.getElementsByTagName(match[1]); + } + }, + preFilter: { + CLASS: function(match, curLoop, inplace, result, not, isXML){ + match = " " + match[1].replace(/\\/g, "") + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + ID: function(match){ + return match[1].replace(/\\/g, ""); + }, + TAG: function(match, curLoop){ + return match[1].toLowerCase(); + }, + CHILD: function(match){ + if ( match[1] === "nth" ) { + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + ATTR: function(match, curLoop, inplace, result, not, isXML){ + var name = match[1].replace(/\\/g, ""); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + PSEUDO: function(match, curLoop, inplace, result, not){ + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + if ( !inplace ) { + result.push.apply( result, ret ); + } + return false; + } + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + POS: function(match){ + match.unshift( true ); + return match; + } + }, + filters: { + enabled: function(elem){ + return elem.disabled === false && elem.type !== "hidden"; + }, + disabled: function(elem){ + return elem.disabled === true; + }, + checked: function(elem){ + return elem.checked === true; + }, + selected: function(elem){ + // Accessing this property makes selected-by-default + // options in Safari work properly + elem.parentNode.selectedIndex; + return elem.selected === true; + }, + parent: function(elem){ + return !!elem.firstChild; + }, + empty: function(elem){ + return !elem.firstChild; + }, + has: function(elem, i, match){ + return !!Sizzle( match[3], elem ).length; + }, + header: function(elem){ + return /h\d/i.test( elem.nodeName ); + }, + text: function(elem){ + return "text" === elem.type; + }, + radio: function(elem){ + return "radio" === elem.type; + }, + checkbox: function(elem){ + return "checkbox" === elem.type; + }, + file: function(elem){ + return "file" === elem.type; + }, + password: function(elem){ + return "password" === elem.type; + }, + submit: function(elem){ + return "submit" === elem.type; + }, + image: function(elem){ + return "image" === elem.type; + }, + reset: function(elem){ + return "reset" === elem.type; + }, + button: function(elem){ + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + input: function(elem){ + return /input|select|textarea|button/i.test(elem.nodeName); + } + }, + setFilters: { + first: function(elem, i){ + return i === 0; + }, + last: function(elem, i, match, array){ + return i === array.length - 1; + }, + even: function(elem, i){ + return i % 2 === 0; + }, + odd: function(elem, i){ + return i % 2 === 1; + }, + lt: function(elem, i, match){ + return i < match[3] - 0; + }, + gt: function(elem, i, match){ + return i > match[3] - 0; + }, + nth: function(elem, i, match){ + return match[3] - 0 === i; + }, + eq: function(elem, i, match){ + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function(elem, match, i, array){ + var name = match[1], filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0; + } else if ( name === "not" ) { + var not = match[3]; + + for ( var i = 0, l = not.length; i < l; i++ ) { + if ( not[i] === elem ) { + return false; + } + } + + return true; + } else { + Sizzle.error( "Syntax error, unrecognized expression: " + name ); + } + }, + CHILD: function(elem, match){ + var type = match[1], node = elem; + switch (type) { + case 'only': + case 'first': + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + if ( type === "first" ) { + return true; + } + node = elem; + case 'last': + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + return true; + case 'nth': + var first = match[2], last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + if ( first === 0 ) { + return diff === 0; + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + ID: function(elem, match){ + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + TAG: function(elem, match){ + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + CLASS: function(elem, match){ + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + ATTR: function(elem, match){ + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + POS: function(elem, match, i, array){ + var name = match[2], filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){ + return "\\" + (num - 0 + 1); + })); +} + +var makeArray = function(array, results) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch(e){ + makeArray = function(array, results) { + var ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + } else { + if ( typeof array.length === "number" ) { + for ( var i = 0, l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + } else { + for ( var i = 0; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.compareDocumentPosition ? -1 : 1; + } + + var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1; + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} else if ( "sourceIndex" in document.documentElement ) { + sortOrder = function( a, b ) { + if ( !a.sourceIndex || !b.sourceIndex ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.sourceIndex ? -1 : 1; + } + + var ret = a.sourceIndex - b.sourceIndex; + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} else if ( document.createRange ) { + sortOrder = function( a, b ) { + if ( !a.ownerDocument || !b.ownerDocument ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.ownerDocument ? -1 : 1; + } + + var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange(); + aRange.setStart(a, 0); + aRange.setEnd(a, 0); + bRange.setStart(b, 0); + bRange.setEnd(b, 0); + var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange); + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +function getText( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += getText( elem.childNodes ); + } + } + + return ret; +} + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date).getTime(); + form.innerHTML = "<a name='" + id + "'/>"; + + // Inject it into the root element, check its status, and remove it quickly + var root = document.documentElement; + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function(match, context, isXML){ + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []; + } + }; + + Expr.filter.ID = function(elem, match){ + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + root = form = null; // release memory in IE +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function(match, context){ + var results = context.getElementsByTagName(match[1]); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = "<a href='#'></a>"; + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + Expr.attrHandle.href = function(elem){ + return elem.getAttribute("href", 2); + }; + } + + div = null; // release memory in IE +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, div = document.createElement("div"); + div.innerHTML = "<p class='TEST'></p>"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function(query, context, extra, seed){ + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && context.nodeType === 9 && !isXML(context) ) { + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(e){} + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + div = null; // release memory in IE + })(); +} + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "<div class='test e'></div><div class='test'></div>"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function(match, context, isXML) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + div = null; // release memory in IE +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + elem = elem[dir]; + var match = false; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + elem = elem[dir]; + var match = false; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +var contains = document.compareDocumentPosition ? function(a, b){ + return !!(a.compareDocumentPosition(b) & 16); +} : function(a, b){ + return a !== b && (a.contains ? a.contains(b) : true); +}; + +var isXML = function(elem){ + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function(selector, context){ + var tmpSet = [], later = "", match, + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = getText; +jQuery.isXMLDoc = isXML; +jQuery.contains = contains; + +return; + +window.Sizzle = Sizzle; + +})(); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + slice = Array.prototype.slice; + +// Implement the identical functionality for filter and not +var winnow = function( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +}; + +jQuery.fn.extend({ + find: function( selector ) { + var ret = this.pushStack( "", "find", selector ), length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + if ( jQuery.isArray( selectors ) ) { + var ret = [], cur = this[0], match, matches = {}, selector; + + if ( cur && selectors.length ) { + for ( var i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur }); + delete matches[selector]; + } + } + cur = cur.parentNode; + } + } + + return ret; + } + + var pos = jQuery.expr.match.POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + return this.map(function( i, cur ) { + while ( cur && cur.ownerDocument && cur !== context ) { + if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) { + return cur; + } + cur = cur.parentNode; + } + return null; + }); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context || this.context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, slice.call(arguments).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], cur = elem[dir]; + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g, + rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, + rtagName = /<([\w:]+)/, + rtbody = /<tbody/i, + rhtml = /<|&#?\w+;/, + rnocache = /<script|<object|<embed|<option|<style/i, + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, // checked="checked" or checked (html5) + fcloseTag = function( all, front, tag ) { + return rselfClosing.test( tag ) ? + all : + front + "></" + tag + ">"; + }, + wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + area: [ 1, "<map>", "</map>" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize <link> and <script> tags normally +if ( !jQuery.support.htmlSerialize ) { + wrapMap._default = [ 1, "div<div>", "</div>" ]; +} + +jQuery.fn.extend({ + text: function( text ) { + if ( jQuery.isFunction(text) ) { + return this.each(function(i) { + var self = jQuery(this); + self.text( text.call(this, i, self.text()) ); + }); + } + + if ( typeof text !== "object" && text !== undefined ) { + return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); + } + + return jQuery.text( this ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append(this); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + return this.each(function() { + jQuery( this ).wrapAll( html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } else if ( arguments.length ) { + var set = jQuery(arguments[0]); + set.push.apply( set, this.toArray() ); + return this.pushStack( set, "before", arguments ); + } + }, + + after: function() { + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } else if ( arguments.length ) { + var set = this.pushStack( this, "after", arguments ); + set.push.apply( set, jQuery(arguments[0]).toArray() ); + return set; + } + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }, + + clone: function( events ) { + // Do the clone + var ret = this.map(function() { + if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { + // IE copies events bound via attachEvent when + // using cloneNode. Calling detachEvent on the + // clone will also remove the events from the orignal + // In order to get around this, we use innerHTML. + // Unfortunately, this means some modifications to + // attributes in IE that are actually only stored + // as properties will not be copied (such as the + // the name attribute on an input). + var html = this.outerHTML, ownerDocument = this.ownerDocument; + if ( !html ) { + var div = ownerDocument.createElement("div"); + div.appendChild( this.cloneNode(true) ); + html = div.innerHTML; + } + + return jQuery.clean([html.replace(rinlinejQuery, "") + // Handle the case in IE 8 where action=/test/> self-closes a tag + .replace(/=([^="'>\s]+\/)>/g, '="$1">') + .replace(rleadingWhitespace, "")], ownerDocument)[0]; + } else { + return this.cloneNode(true); + } + }); + + // Copy the events from the original to the clone + if ( events === true ) { + cloneCopyEvent( this, ret ); + cloneCopyEvent( this.find("*"), ret.find("*") ); + } + + // Return the cloned set + return ret; + }, + + html: function( value ) { + if ( value === undefined ) { + return this[0] && this[0].nodeType === 1 ? + this[0].innerHTML.replace(rinlinejQuery, "") : + null; + + // See if we can take a shortcut and just use innerHTML + } else if ( typeof value === "string" && !rnocache.test( value ) && + (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && + !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { + + value = value.replace(rxhtmlTag, fcloseTag); + + try { + for ( var i = 0, l = this.length; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + if ( this[i].nodeType === 1 ) { + jQuery.cleanData( this[i].getElementsByTagName("*") ); + this[i].innerHTML = value; + } + } + + // If using innerHTML throws an exception, use the fallback method + } catch(e) { + this.empty().append( value ); + } + + } else if ( jQuery.isFunction( value ) ) { + this.each(function(i){ + var self = jQuery(this), old = self.html(); + self.empty().append(function(){ + return value.call( this, i, old ); + }); + }); + + } else { + this.empty().append( value ); + } + + return this; + }, + + replaceWith: function( value ) { + if ( this[0] && this[0].parentNode ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery(value).detach(); + } + + return this.each(function() { + var next = this.nextSibling, parent = this.parentNode; + + jQuery(this).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } else { + return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ); + } + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + var results, first, value = args[0], scripts = [], fragment, parent; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback, true ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call(this, i, table ? self.html() : undefined); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + parent = value && value.parentNode; + + // If we're in a fragment, just use that instead of building a new one + if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) { + results = { fragment: parent }; + + } else { + results = buildFragment( args, this, scripts ); + } + + fragment = results.fragment; + + if ( fragment.childNodes.length === 1 ) { + first = fragment = fragment.firstChild; + } else { + first = fragment.firstChild; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + callback.call( + table ? + root(this[i], first) : + this[i], + i > 0 || results.cacheable || this.length > 1 ? + fragment.cloneNode(true) : + fragment + ); + } + } + + if ( scripts.length ) { + jQuery.each( scripts, evalScript ); + } + } + + return this; + + function root( elem, cur ) { + return jQuery.nodeName(elem, "table") ? + (elem.getElementsByTagName("tbody")[0] || + elem.appendChild(elem.ownerDocument.createElement("tbody"))) : + elem; + } + } +}); + +function cloneCopyEvent(orig, ret) { + var i = 0; + + ret.each(function() { + if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) { + return; + } + + var oldData = jQuery.data( orig[i++] ), curData = jQuery.data( this, oldData ), events = oldData && oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( var type in events ) { + for ( var handler in events[ type ] ) { + jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); + } + } + } + }); +} + +function buildFragment( args, nodes, scripts ) { + var fragment, cacheable, cacheresults, + doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document); + + // Only cache "small" (1/2 KB) strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && + !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { + + cacheable = true; + cacheresults = jQuery.fragments[ args[0] ]; + if ( cacheresults ) { + if ( cacheresults !== 1 ) { + fragment = cacheresults; + } + } + } + + if ( !fragment ) { + fragment = doc.createDocumentFragment(); + jQuery.clean( args, doc, fragment, scripts ); + } + + if ( cacheable ) { + jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1; + } + + return { fragment: fragment, cacheable: cacheable }; +} + +jQuery.fragments = {}; + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var ret = [], insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery.fn[ original ].apply( jQuery(insert[i]), elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +}); + +jQuery.extend({ + clean: function( elems, context, fragment, scripts ) { + context = context || document; + + // !context.createElement fails in IE with an error but returns typeof 'object' + if ( typeof context.createElement === "undefined" ) { + context = context.ownerDocument || context[0] && context[0].ownerDocument || document; + } + + var ret = []; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" && !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + + } else if ( typeof elem === "string" ) { + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, fcloseTag); + + // Trim whitespace, otherwise indexOf won't work as expected + var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), + wrap = wrapMap[ tag ] || wrapMap._default, + depth = wrap[0], + div = context.createElement("div"); + + // Go to html and back, then peel off extra wrappers + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !jQuery.support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + var hasBody = rtbody.test(elem), + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare <thead> or <tfoot> + wrap[1] === "<table>" && !hasBody ? + div.childNodes : + []; + + for ( var j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + ret = jQuery.merge( ret, elem ); + } + } + + if ( fragment ) { + for ( var i = 0; ret[i]; i++ ) { + if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { + scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); + + } else { + if ( ret[i].nodeType === 1 ) { + ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); + } + fragment.appendChild( ret[i] ); + } + } + } + + return ret; + }, + + cleanData: function( elems ) { + var data, id, cache = jQuery.cache, + special = jQuery.event.special, + deleteExpando = jQuery.support.deleteExpando; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + id = elem[ jQuery.expando ]; + + if ( id ) { + data = cache[ id ]; + + if ( data.events ) { + for ( var type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + } else { + removeEvent( elem, type, data.handle ); + } + } + } + + if ( deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } + + delete cache[ id ]; + } + } + } +}); +// exclude the following css properties to add px +var rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, + ralpha = /alpha\([^)]*\)/, + ropacity = /opacity=([^)]*)/, + rfloat = /float/i, + rdashAlpha = /-([a-z])/ig, + rupper = /([A-Z])/g, + rnumpx = /^-?\d+(?:px)?$/i, + rnum = /^-?\d/, + + cssShow = { position: "absolute", visibility: "hidden", display:"block" }, + cssWidth = [ "Left", "Right" ], + cssHeight = [ "Top", "Bottom" ], + + // cache check for defaultView.getComputedStyle + getComputedStyle = document.defaultView && document.defaultView.getComputedStyle, + // normalize float css property + styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat", + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn.css = function( name, value ) { + return access( this, name, value, true, function( elem, name, value ) { + if ( value === undefined ) { + return jQuery.curCSS( elem, name ); + } + + if ( typeof value === "number" && !rexclude.test(name) ) { + value += "px"; + } + + jQuery.style( elem, name, value ); + }); +}; + +jQuery.extend({ + style: function( elem, name, value ) { + // don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // ignore negative width and height values #1599 + if ( (name === "width" || name === "height") && parseFloat(value) < 0 ) { + value = undefined; + } + + var style = elem.style || elem, set = value !== undefined; + + // IE uses filters for opacity + if ( !jQuery.support.opacity && name === "opacity" ) { + if ( set ) { + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // Set the alpha filter to set the opacity + var opacity = parseInt( value, 10 ) + "" === "NaN" ? "" : "alpha(opacity=" + value * 100 + ")"; + var filter = style.filter || jQuery.curCSS( elem, "filter" ) || ""; + style.filter = ralpha.test(filter) ? filter.replace(ralpha, opacity) : opacity; + } + + return style.filter && style.filter.indexOf("opacity=") >= 0 ? + (parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "": + ""; + } + + // Make sure we're using the right name for getting the float value + if ( rfloat.test( name ) ) { + name = styleFloat; + } + + name = name.replace(rdashAlpha, fcamelCase); + + if ( set ) { + style[ name ] = value; + } + + return style[ name ]; + }, + + css: function( elem, name, force, extra ) { + if ( name === "width" || name === "height" ) { + var val, props = cssShow, which = name === "width" ? cssWidth : cssHeight; + + function getWH() { + val = name === "width" ? elem.offsetWidth : elem.offsetHeight; + + if ( extra === "border" ) { + return; + } + + jQuery.each( which, function() { + if ( !extra ) { + val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; + } + + if ( extra === "margin" ) { + val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0; + } else { + val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; + } + }); + } + + if ( elem.offsetWidth !== 0 ) { + getWH(); + } else { + jQuery.swap( elem, props, getWH ); + } + + return Math.max(0, Math.round(val)); + } + + return jQuery.curCSS( elem, name, force ); + }, + + curCSS: function( elem, name, force ) { + var ret, style = elem.style, filter; + + // IE uses filters for opacity + if ( !jQuery.support.opacity && name === "opacity" && elem.currentStyle ) { + ret = ropacity.test(elem.currentStyle.filter || "") ? + (parseFloat(RegExp.$1) / 100) + "" : + ""; + + return ret === "" ? + "1" : + ret; + } + + // Make sure we're using the right name for getting the float value + if ( rfloat.test( name ) ) { + name = styleFloat; + } + + if ( !force && style && style[ name ] ) { + ret = style[ name ]; + + } else if ( getComputedStyle ) { + + // Only "float" is needed here + if ( rfloat.test( name ) ) { + name = "float"; + } + + name = name.replace( rupper, "-$1" ).toLowerCase(); + + var defaultView = elem.ownerDocument.defaultView; + + if ( !defaultView ) { + return null; + } + + var computedStyle = defaultView.getComputedStyle( elem, null ); + + if ( computedStyle ) { + ret = computedStyle.getPropertyValue( name ); + } + + // We should always get a number back from opacity + if ( name === "opacity" && ret === "" ) { + ret = "1"; + } + + } else if ( elem.currentStyle ) { + var camelCase = name.replace(rdashAlpha, fcamelCase); + + ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + if ( !rnumpx.test( ret ) && rnum.test( ret ) ) { + // Remember the original values + var left = style.left, rsLeft = elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + elem.runtimeStyle.left = elem.currentStyle.left; + style.left = camelCase === "fontSize" ? "1em" : (ret || 0); + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + elem.runtimeStyle.left = rsLeft; + } + } + + return ret; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var old = {}; + + // Remember the old values, and insert the new ones + for ( var name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + callback.call( elem ); + + // Revert the old values + for ( var name in options ) { + elem.style[ name ] = old[ name ]; + } + } +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + var width = elem.offsetWidth, height = elem.offsetHeight, + skip = elem.nodeName.toLowerCase() === "tr"; + + return width === 0 && height === 0 && !skip ? + true : + width > 0 && height > 0 && !skip ? + false : + jQuery.curCSS(elem, "display") === "none"; + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} +var jsc = now(), + rscript = /<script(.|\s)*?\/script>/gi, + rselectTextarea = /select|textarea/i, + rinput = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, + jsre = /=\?(&|$)/, + rquery = /\?/, + rts = /(\?|&)_=.*?(&|$)/, + rurl = /^(\w+:)?\/\/([^\/?#]+)/, + r20 = /%20/g, + + // Keep a copy of the old load method + _load = jQuery.fn.load; + +jQuery.fn.extend({ + load: function( url, params, callback ) { + if ( typeof url !== "string" ) { + return _load.call( this, url ); + + // Don't do a request if no elements are being requested + } else if ( !this.length ) { + return this; + } + + var off = url.indexOf(" "); + if ( off >= 0 ) { + var selector = url.slice(off, url.length); + url = url.slice(0, off); + } + + // Default to a GET request + var type = "GET"; + + // If the second parameter was provided + if ( params ) { + // If it's a function + if ( jQuery.isFunction( params ) ) { + // We assume that it's the callback + callback = params; + params = null; + + // Otherwise, build a param string + } else if ( typeof params === "object" ) { + params = jQuery.param( params, jQuery.ajaxSettings.traditional ); + type = "POST"; + } + } + + var self = this; + + // Request the remote document + jQuery.ajax({ + url: url, + type: type, + dataType: "html", + data: params, + complete: function( res, status ) { + // If successful, inject the HTML into all the matched elements + if ( status === "success" || status === "notmodified" ) { + // See if a selector was specified + self.html( selector ? + // Create a dummy div to hold the results + jQuery("<div />") + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(res.responseText.replace(rscript, "")) + + // Locate the specified elements + .find(selector) : + + // If not, just inject the full result + res.responseText ); + } + + if ( callback ) { + self.each( callback, [res.responseText, status, res] ); + } + } + }); + + return this; + }, + + serialize: function() { + return jQuery.param(this.serializeArray()); + }, + serializeArray: function() { + return this.map(function() { + return this.elements ? jQuery.makeArray(this.elements) : this; + }) + .filter(function() { + return this.name && !this.disabled && + (this.checked || rselectTextarea.test(this.nodeName) || + rinput.test(this.type)); + }) + .map(function( i, elem ) { + var val = jQuery(this).val(); + + return val == null ? + null : + jQuery.isArray(val) ? + jQuery.map( val, function( val, i ) { + return { name: elem.name, value: val }; + }) : + { name: elem.name, value: val }; + }).get(); + } +}); + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) { + jQuery.fn[o] = function( f ) { + return this.bind(o, f); + }; +}); + +jQuery.extend({ + + get: function( url, data, callback, type ) { + // shift arguments if data argument was omited + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = null; + } + + return jQuery.ajax({ + type: "GET", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + getScript: function( url, callback ) { + return jQuery.get(url, null, callback, "script"); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get(url, data, callback, "json"); + }, + + post: function( url, data, callback, type ) { + // shift arguments if data argument was omited + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = {}; + } + + return jQuery.ajax({ + type: "POST", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + ajaxSetup: function( settings ) { + jQuery.extend( jQuery.ajaxSettings, settings ); + }, + + ajaxSettings: { + url: location.href, + global: true, + type: "GET", + contentType: "application/x-www-form-urlencoded", + processData: true, + async: true, + /* + timeout: 0, + data: null, + username: null, + password: null, + traditional: false, + */ + // Create the request object; Microsoft failed to properly + // implement the XMLHttpRequest in IE7 (can't request local files), + // so we use the ActiveXObject when it is available + // This function can be overriden by calling jQuery.ajaxSetup + xhr: window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ? + function() { + return new window.XMLHttpRequest(); + } : + function() { + try { + return new window.ActiveXObject("Microsoft.XMLHTTP"); + } catch(e) {} + }, + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + script: "text/javascript, application/javascript", + json: "application/json, text/javascript", + text: "text/plain", + _default: "*/*" + } + }, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajax: function( origSettings ) { + var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings); + + var jsonp, status, data, + callbackContext = origSettings && origSettings.context || s, + type = s.type.toUpperCase(); + + // convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Handle JSONP Parameter Callbacks + if ( s.dataType === "jsonp" ) { + if ( type === "GET" ) { + if ( !jsre.test( s.url ) ) { + s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?"; + } + } else if ( !s.data || !jsre.test(s.data) ) { + s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; + } + s.dataType = "json"; + } + + // Build temporary JSONP function + if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) { + jsonp = s.jsonpCallback || ("jsonp" + jsc++); + + // Replace the =? sequence both in the query string and the data + if ( s.data ) { + s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); + } + + s.url = s.url.replace(jsre, "=" + jsonp + "$1"); + + // We need to make sure + // that a JSONP style response is executed properly + s.dataType = "script"; + + // Handle JSONP-style loading + window[ jsonp ] = window[ jsonp ] || function( tmp ) { + data = tmp; + success(); + complete(); + // Garbage collect + window[ jsonp ] = undefined; + + try { + delete window[ jsonp ]; + } catch(e) {} + + if ( head ) { + head.removeChild( script ); + } + }; + } + + if ( s.dataType === "script" && s.cache === null ) { + s.cache = false; + } + + if ( s.cache === false && type === "GET" ) { + var ts = now(); + + // try replacing _= if it is there + var ret = s.url.replace(rts, "$1_=" + ts + "$2"); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : ""); + } + + // If data is available, append data to url for get requests + if ( s.data && type === "GET" ) { + s.url += (rquery.test(s.url) ? "&" : "?") + s.data; + } + + // Watch for a new set of requests + if ( s.global && ! jQuery.active++ ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Matches an absolute URL, and saves the domain + var parts = rurl.exec( s.url ), + remote = parts && (parts[1] && parts[1] !== location.protocol || parts[2] !== location.host); + + // If we're requesting a remote document + // and trying to load JSON or Script with a GET + if ( s.dataType === "script" && type === "GET" && remote ) { + var head = document.getElementsByTagName("head")[0] || document.documentElement; + var script = document.createElement("script"); + script.src = s.url; + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + // Handle Script loading + if ( !jsonp ) { + var done = false; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function() { + if ( !done && (!this.readyState || + this.readyState === "loaded" || this.readyState === "complete") ) { + done = true; + success(); + complete(); + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + if ( head && script.parentNode ) { + head.removeChild( script ); + } + } + }; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709 and #4378). + head.insertBefore( script, head.firstChild ); + + // We handle everything using the script element injection + return undefined; + } + + var requestDone = false; + + // Create the request object + var xhr = s.xhr(); + + if ( !xhr ) { + return; + } + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open(type, s.url, s.async, s.username, s.password); + } else { + xhr.open(type, s.url, s.async); + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + // Set the correct header, if data is being sent + if ( s.data || origSettings && origSettings.contentType ) { + xhr.setRequestHeader("Content-Type", s.contentType); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[s.url] ) { + xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]); + } + + if ( jQuery.etag[s.url] ) { + xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]); + } + } + + // Set header so the called script knows that it's an XMLHttpRequest + // Only send the header if it's not a remote XHR + if ( !remote ) { + xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + } + + // Set the Accepts header for the server, depending on the dataType + xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ? + s.accepts[ s.dataType ] + ", */*" : + s.accepts._default ); + } catch(e) {} + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) === false ) { + // Handle the global AJAX counter + if ( s.global && ! --jQuery.active ) { + jQuery.event.trigger( "ajaxStop" ); + } + + // close opended socket + xhr.abort(); + return false; + } + + if ( s.global ) { + trigger("ajaxSend", [xhr, s]); + } + + // Wait for a response to come back + var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) { + // The request was aborted + if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) { + // Opera doesn't call onreadystatechange before this point + // so we simulate the call + if ( !requestDone ) { + complete(); + } + + requestDone = true; + if ( xhr ) { + xhr.onreadystatechange = jQuery.noop; + } + + // The transfer is complete and the data is available, or the request timed out + } else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) { + requestDone = true; + xhr.onreadystatechange = jQuery.noop; + + status = isTimeout === "timeout" ? + "timeout" : + !jQuery.httpSuccess( xhr ) ? + "error" : + s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? + "notmodified" : + "success"; + + var errMsg; + + if ( status === "success" ) { + // Watch for, and catch, XML document parse errors + try { + // process the data (runs the xml through httpData regardless of callback) + data = jQuery.httpData( xhr, s.dataType, s ); + } catch(err) { + status = "parsererror"; + errMsg = err; + } + } + + // Make sure that the request was successful or notmodified + if ( status === "success" || status === "notmodified" ) { + // JSONP handles its own success callback + if ( !jsonp ) { + success(); + } + } else { + jQuery.handleError(s, xhr, status, errMsg); + } + + // Fire the complete handlers + complete(); + + if ( isTimeout === "timeout" ) { + xhr.abort(); + } + + // Stop memory leaks + if ( s.async ) { + xhr = null; + } + } + }; + + // Override the abort handler, if we can (IE doesn't allow it, but that's OK) + // Opera doesn't fire onreadystatechange at all on abort + try { + var oldAbort = xhr.abort; + xhr.abort = function() { + if ( xhr ) { + oldAbort.call( xhr ); + } + + onreadystatechange( "abort" ); + }; + } catch(e) { } + + // Timeout checker + if ( s.async && s.timeout > 0 ) { + setTimeout(function() { + // Check to see if the request is still happening + if ( xhr && !requestDone ) { + onreadystatechange( "timeout" ); + } + }, s.timeout); + } + + // Send the data + try { + xhr.send( type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null ); + } catch(e) { + jQuery.handleError(s, xhr, null, e); + // Fire the complete handlers + complete(); + } + + // firefox 1.5 doesn't fire statechange for sync requests + if ( !s.async ) { + onreadystatechange(); + } + + function success() { + // If a local callback was specified, fire it and pass it the data + if ( s.success ) { + s.success.call( callbackContext, data, status, xhr ); + } + + // Fire the global callback + if ( s.global ) { + trigger( "ajaxSuccess", [xhr, s] ); + } + } + + function complete() { + // Process result + if ( s.complete ) { + s.complete.call( callbackContext, xhr, status); + } + + // The request was completed + if ( s.global ) { + trigger( "ajaxComplete", [xhr, s] ); + } + + // Handle the global AJAX counter + if ( s.global && ! --jQuery.active ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + + function trigger(type, args) { + (s.context ? jQuery(s.context) : jQuery.event).trigger(type, args); + } + + // return XMLHttpRequest to allow aborting the request etc. + return xhr; + }, + + handleError: function( s, xhr, status, e ) { + // If a local callback was specified, fire it + if ( s.error ) { + s.error.call( s.context || s, xhr, status, e ); + } + + // Fire the global callback + if ( s.global ) { + (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] ); + } + }, + + // Counter for holding the number of active queries + active: 0, + + // Determines if an XMLHttpRequest was successful or not + httpSuccess: function( xhr ) { + try { + // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 + return !xhr.status && location.protocol === "file:" || + // Opera returns 0 when status is 304 + ( xhr.status >= 200 && xhr.status < 300 ) || + xhr.status === 304 || xhr.status === 1223 || xhr.status === 0; + } catch(e) {} + + return false; + }, + + // Determines if an XMLHttpRequest returns NotModified + httpNotModified: function( xhr, url ) { + var lastModified = xhr.getResponseHeader("Last-Modified"), + etag = xhr.getResponseHeader("Etag"); + + if ( lastModified ) { + jQuery.lastModified[url] = lastModified; + } + + if ( etag ) { + jQuery.etag[url] = etag; + } + + // Opera returns 0 when status is 304 + return xhr.status === 304 || xhr.status === 0; + }, + + httpData: function( xhr, type, s ) { + var ct = xhr.getResponseHeader("content-type") || "", + xml = type === "xml" || !type && ct.indexOf("xml") >= 0, + data = xml ? xhr.responseXML : xhr.responseText; + + if ( xml && data.documentElement.nodeName === "parsererror" ) { + jQuery.error( "parsererror" ); + } + + // Allow a pre-filtering function to sanitize the response + // s is checked to keep backwards compatibility + if ( s && s.dataFilter ) { + data = s.dataFilter( data, type ); + } + + // The filter can actually parse the response + if ( typeof data === "string" ) { + // Get the JavaScript object, if JSON is used. + if ( type === "json" || !type && ct.indexOf("json") >= 0 ) { + data = jQuery.parseJSON( data ); + + // If the type is "script", eval it in global context + } else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) { + jQuery.globalEval( data ); + } + } + + return data; + }, + + // Serialize an array of form elements or a set of + // key/values into a query string + param: function( a, traditional ) { + var s = []; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray(a) || a.jquery ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( var prefix in a ) { + buildParams( prefix, a[prefix] ); + } + } + + // Return the resulting serialization + return s.join("&").replace(r20, "+"); + + function buildParams( prefix, obj ) { + if ( jQuery.isArray(obj) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || /\[\]$/.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + } else { + // If array item is non-scalar (array or object), encode its + // numeric index to resolve deserialization ambiguity issues. + // Note that rack (as of 1.0.0) can't currently deserialize + // nested arrays properly, and attempting to do so may cause + // a server error. Possible fixes are to modify rack's + // deserialization algorithm or to provide an option or flag + // to force array serialization to be shallow. + buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v ); + } + }); + + } else if ( !traditional && obj != null && typeof obj === "object" ) { + // Serialize object item. + jQuery.each( obj, function( k, v ) { + buildParams( prefix + "[" + k + "]", v ); + }); + + } else { + // Serialize scalar item. + add( prefix, obj ); + } + } + + function add( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction(value) ? value() : value; + s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value); + } + } +}); +var elemdisplay = {}, + rfxtypes = /toggle|show|hide/, + rfxnum = /^([+-]=)?([\d+-.]+)(.*)$/, + timerId, + fxAttrs = [ + // height animations + [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], + // width animations + [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], + // opacity animations + [ "opacity" ] + ]; + +jQuery.fn.extend({ + show: function( speed, callback ) { + if ( speed || speed === 0) { + return this.animate( genFx("show", 3), speed, callback); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + var old = jQuery.data(this[i], "olddisplay"); + + this[i].style.display = old || ""; + + if ( jQuery.css(this[i], "display") === "none" ) { + var nodeName = this[i].nodeName, display; + + if ( elemdisplay[ nodeName ] ) { + display = elemdisplay[ nodeName ]; + + } else { + var elem = jQuery("<" + nodeName + " />").appendTo("body"); + + display = elem.css("display"); + + if ( display === "none" ) { + display = "block"; + } + + elem.remove(); + + elemdisplay[ nodeName ] = display; + } + + jQuery.data(this[i], "olddisplay", display); + } + } + + // Set the display of the elements in a second loop + // to avoid the constant reflow + for ( var j = 0, k = this.length; j < k; j++ ) { + this[j].style.display = jQuery.data(this[j], "olddisplay") || ""; + } + + return this; + } + }, + + hide: function( speed, callback ) { + if ( speed || speed === 0 ) { + return this.animate( genFx("hide", 3), speed, callback); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + var old = jQuery.data(this[i], "olddisplay"); + if ( !old && old !== "none" ) { + jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display")); + } + } + + // Set the display of the elements in a second loop + // to avoid the constant reflow + for ( var j = 0, k = this.length; j < k; j++ ) { + this[j].style.display = "none"; + } + + return this; + } + }, + + // Save the old toggle function + _toggle: jQuery.fn.toggle, + + toggle: function( fn, fn2 ) { + var bool = typeof fn === "boolean"; + + if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) { + this._toggle.apply( this, arguments ); + + } else if ( fn == null || bool ) { + this.each(function() { + var state = bool ? fn : jQuery(this).is(":hidden"); + jQuery(this)[ state ? "show" : "hide" ](); + }); + + } else { + this.animate(genFx("toggle", 3), fn, fn2); + } + + return this; + }, + + fadeTo: function( speed, to, callback ) { + return this.filter(":hidden").css("opacity", 0).show().end() + .animate({opacity: to}, speed, callback); + }, + + animate: function( prop, speed, easing, callback ) { + var optall = jQuery.speed(speed, easing, callback); + + if ( jQuery.isEmptyObject( prop ) ) { + return this.each( optall.complete ); + } + + return this[ optall.queue === false ? "each" : "queue" ](function() { + var opt = jQuery.extend({}, optall), p, + hidden = this.nodeType === 1 && jQuery(this).is(":hidden"), + self = this; + + for ( p in prop ) { + var name = p.replace(rdashAlpha, fcamelCase); + + if ( p !== name ) { + prop[ name ] = prop[ p ]; + delete prop[ p ]; + p = name; + } + + if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) { + return opt.complete.call(this); + } + + if ( ( p === "height" || p === "width" ) && this.style ) { + // Store display property + opt.display = jQuery.css(this, "display"); + + // Make sure that nothing sneaks out + opt.overflow = this.style.overflow; + } + + if ( jQuery.isArray( prop[p] ) ) { + // Create (if needed) and add to specialEasing + (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1]; + prop[p] = prop[p][0]; + } + } + + if ( opt.overflow != null ) { + this.style.overflow = "hidden"; + } + + opt.curAnim = jQuery.extend({}, prop); + + jQuery.each( prop, function( name, val ) { + var e = new jQuery.fx( self, opt, name ); + + if ( rfxtypes.test(val) ) { + e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop ); + + } else { + var parts = rfxnum.exec(val), + start = e.cur(true) || 0; + + if ( parts ) { + var end = parseFloat( parts[2] ), + unit = parts[3] || "px"; + + // We need to compute starting value + if ( unit !== "px" ) { + self.style[ name ] = (end || 1) + unit; + start = ((end || 1) / e.cur(true)) * start; + self.style[ name ] = start + unit; + } + + // If a +=/-= token was provided, we're doing a relative animation + if ( parts[1] ) { + end = ((parts[1] === "-=" ? -1 : 1) * end) + start; + } + + e.custom( start, end, unit ); + + } else { + e.custom( start, val, "" ); + } + } + }); + + // For JS strict compliance + return true; + }); + }, + + stop: function( clearQueue, gotoEnd ) { + var timers = jQuery.timers; + + if ( clearQueue ) { + this.queue([]); + } + + this.each(function() { + // go in reverse order so anything added to the queue during the loop is ignored + for ( var i = timers.length - 1; i >= 0; i-- ) { + if ( timers[i].elem === this ) { + if (gotoEnd) { + // force the next step to be the last + timers[i](true); + } + + timers.splice(i, 1); + } + } + }); + + // start the next in the queue if the last step wasn't forced + if ( !gotoEnd ) { + this.dequeue(); + } + + return this; + } + +}); + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show", 1), + slideUp: genFx("hide", 1), + slideToggle: genFx("toggle", 1), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, callback ) { + return this.animate( props, speed, callback ); + }; +}); + +jQuery.extend({ + speed: function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? speed : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction(easing) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default; + + // Queueing + opt.old = opt.complete; + opt.complete = function() { + if ( opt.queue !== false ) { + jQuery(this).dequeue(); + } + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + }; + + return opt; + }, + + easing: { + linear: function( p, n, firstNum, diff ) { + return firstNum + diff * p; + }, + swing: function( p, n, firstNum, diff ) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; + } + }, + + timers: [], + + fx: function( elem, options, prop ) { + this.options = options; + this.elem = elem; + this.prop = prop; + + if ( !options.orig ) { + options.orig = {}; + } + } + +}); + +jQuery.fx.prototype = { + // Simple function for setting a style value + update: function() { + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); + + // Set display property to block for height/width animations + if ( ( this.prop === "height" || this.prop === "width" ) && this.elem.style ) { + this.elem.style.display = "block"; + } + }, + + // Get the current size + cur: function( force ) { + if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) { + return this.elem[ this.prop ]; + } + + var r = parseFloat(jQuery.css(this.elem, this.prop, force)); + return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0; + }, + + // Start an animation from one number to another + custom: function( from, to, unit ) { + this.startTime = now(); + this.start = from; + this.end = to; + this.unit = unit || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t( gotoEnd ) { + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && jQuery.timers.push(t) && !timerId ) { + timerId = setInterval(jQuery.fx.tick, 13); + } + }, + + // Simple 'show' function + show: function() { + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); + this.options.show = true; + + // Begin the animation + // Make sure that we start at a small width/height to avoid any + // flash of content + this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); + + // Start by showing the element + jQuery( this.elem ).show(); + }, + + // Simple 'hide' function + hide: function() { + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); + this.options.hide = true; + + // Begin the animation + this.custom(this.cur(), 0); + }, + + // Each step of an animation + step: function( gotoEnd ) { + var t = now(), done = true; + + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + for ( var i in this.options.curAnim ) { + if ( this.options.curAnim[i] !== true ) { + done = false; + } + } + + if ( done ) { + if ( this.options.display != null ) { + // Reset the overflow + this.elem.style.overflow = this.options.overflow; + + // Reset the display + var old = jQuery.data(this.elem, "olddisplay"); + this.elem.style.display = old ? old : this.options.display; + + if ( jQuery.css(this.elem, "display") === "none" ) { + this.elem.style.display = "block"; + } + } + + // Hide the element if the "hide" operation was done + if ( this.options.hide ) { + jQuery(this.elem).hide(); + } + + // Reset the properties, if the item has been hidden or shown + if ( this.options.hide || this.options.show ) { + for ( var p in this.options.curAnim ) { + jQuery.style(this.elem, p, this.options.orig[p]); + } + } + + // Execute the complete function + this.options.complete.call( this.elem ); + } + + return false; + + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + + // Perform the easing function, defaults to swing + var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop]; + var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear"); + this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + + // Perform the next step of the animation + this.update(); + } + + return true; + } +}; + +jQuery.extend( jQuery.fx, { + tick: function() { + var timers = jQuery.timers; + + for ( var i = 0; i < timers.length; i++ ) { + if ( !timers[i]() ) { + timers.splice(i--, 1); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + }, + + stop: function() { + clearInterval( timerId ); + timerId = null; + }, + + speeds: { + slow: 600, + fast: 200, + // Default speed + _default: 400 + }, + + step: { + opacity: function( fx ) { + jQuery.style(fx.elem, "opacity", fx.now); + }, + + _default: function( fx ) { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) { + fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit; + } else { + fx.elem[ fx.prop ] = fx.now; + } + } + } +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} + +function genFx( type, num ) { + var obj = {}; + + jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() { + obj[ this ] = type; + }); + + return obj; +} +if ( "getBoundingClientRect" in document.documentElement ) { + jQuery.fn.offset = function( options ) { + var elem = this[0]; + + if ( options ) { + return this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + if ( !elem || !elem.ownerDocument ) { + return null; + } + + if ( elem === elem.ownerDocument.body ) { + return jQuery.offset.bodyOffset( elem ); + } + + var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement, + clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, + top = box.top + (self.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop, + left = box.left + (self.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft; + + return { top: top, left: left }; + }; + +} else { + jQuery.fn.offset = function( options ) { + var elem = this[0]; + + if ( options ) { + return this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + if ( !elem || !elem.ownerDocument ) { + return null; + } + + if ( elem === elem.ownerDocument.body ) { + return jQuery.offset.bodyOffset( elem ); + } + + jQuery.offset.initialize(); + + var offsetParent = elem.offsetParent, prevOffsetParent = elem, + doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement, + body = doc.body, defaultView = doc.defaultView, + prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle, + top = elem.offsetTop, left = elem.offsetLeft; + + while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) { + if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { + break; + } + + computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle; + top -= elem.scrollTop; + left -= elem.scrollLeft; + + if ( elem === offsetParent ) { + top += elem.offsetTop; + left += elem.offsetLeft; + + if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.nodeName)) ) { + top += parseFloat( computedStyle.borderTopWidth ) || 0; + left += parseFloat( computedStyle.borderLeftWidth ) || 0; + } + + prevOffsetParent = offsetParent, offsetParent = elem.offsetParent; + } + + if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) { + top += parseFloat( computedStyle.borderTopWidth ) || 0; + left += parseFloat( computedStyle.borderLeftWidth ) || 0; + } + + prevComputedStyle = computedStyle; + } + + if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) { + top += body.offsetTop; + left += body.offsetLeft; + } + + if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { + top += Math.max( docElem.scrollTop, body.scrollTop ); + left += Math.max( docElem.scrollLeft, body.scrollLeft ); + } + + return { top: top, left: left }; + }; +} + +jQuery.offset = { + initialize: function() { + var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0, + html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; + + jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } ); + + container.innerHTML = html; + body.insertBefore( container, body.firstChild ); + innerDiv = container.firstChild; + checkDiv = innerDiv.firstChild; + td = innerDiv.nextSibling.firstChild.firstChild; + + this.doesNotAddBorder = (checkDiv.offsetTop !== 5); + this.doesAddBorderForTableAndCells = (td.offsetTop === 5); + + checkDiv.style.position = "fixed", checkDiv.style.top = "20px"; + // safari subtracts parent border width here which is 5px + this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15); + checkDiv.style.position = checkDiv.style.top = ""; + + innerDiv.style.overflow = "hidden", innerDiv.style.position = "relative"; + this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5); + + this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); + + body.removeChild( container ); + body = container = innerDiv = checkDiv = table = td = null; + jQuery.offset.initialize = jQuery.noop; + }, + + bodyOffset: function( body ) { + var top = body.offsetTop, left = body.offsetLeft; + + jQuery.offset.initialize(); + + if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) { + top += parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0; + left += parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0; + } + + return { top: top, left: left }; + }, + + setOffset: function( elem, options, i ) { + // set position first, in-case top/left are set even on static elem + if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) { + elem.style.position = "relative"; + } + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curTop = parseInt( jQuery.curCSS( elem, "top", true ), 10 ) || 0, + curLeft = parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || 0; + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + var props = { + top: (options.top - curOffset.top) + curTop, + left: (options.left - curOffset.left) + curLeft + }; + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + position: function() { + if ( !this[0] ) { + return null; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = /^body|html$/i.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.curCSS(elem, "marginTop", true) ) || 0; + offset.left -= parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.curCSS(offsetParent[0], "borderTopWidth", true) ) || 0; + parentOffset.left += parseFloat( jQuery.curCSS(offsetParent[0], "borderLeftWidth", true) ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( ["Left", "Top"], function( i, name ) { + var method = "scroll" + name; + + jQuery.fn[ method ] = function(val) { + var elem = this[0], win; + + if ( !elem ) { + return null; + } + + if ( val !== undefined ) { + // Set the scroll offset + return this.each(function() { + win = getWindow( this ); + + if ( win ) { + win.scrollTo( + !i ? val : jQuery(win).scrollLeft(), + i ? val : jQuery(win).scrollTop() + ); + + } else { + this[ method ] = val; + } + }); + } else { + win = getWindow( elem ); + + // Return the scroll offset + return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : + jQuery.support.boxModel && win.document.documentElement[ method ] || + win.document.body[ method ] : + elem[ method ]; + } + }; +}); + +function getWindow( elem ) { + return ("scrollTo" in elem && elem.document) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, outerHeight and outerWidth methods +jQuery.each([ "Height", "Width" ], function( i, name ) { + + var type = name.toLowerCase(); + + // innerHeight and innerWidth + jQuery.fn["inner" + name] = function() { + return this[0] ? + jQuery.css( this[0], type, false, "padding" ) : + null; + }; + + // outerHeight and outerWidth + jQuery.fn["outer" + name] = function( margin ) { + return this[0] ? + jQuery.css( this[0], type, false, margin ? "margin" : "border" ) : + null; + }; + + jQuery.fn[ type ] = function( size ) { + // Get window width or height + var elem = this[0]; + if ( !elem ) { + return size == null ? null : this; + } + + if ( jQuery.isFunction( size ) ) { + return this.each(function( i ) { + var self = jQuery( this ); + self[ type ]( size.call( this, i, self[ type ]() ) ); + }); + } + + return ("scrollTo" in elem && elem.document) ? // does it walk and quack like a window? + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode + elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] || + elem.document.body[ "client" + name ] : + + // Get document width or height + (elem.nodeType === 9) ? // is it a document + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater + Math.max( + elem.documentElement["client" + name], + elem.body["scroll" + name], elem.documentElement["scroll" + name], + elem.body["offset" + name], elem.documentElement["offset" + name] + ) : + + // Get or set width or height on the element + size === undefined ? + // Get width or height on the element + jQuery.css( elem, type ) : + + // Set the width or height on the element (default to pixels if value is unitless) + this.css( type, typeof size === "string" ? size : size + "px" ); + }; + +}); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +})(window); diff --git a/addons/webinterface.debug/js/testinvoker.js b/addons/webinterface.debug/js/testinvoker.js index 8223f38d88..64d48823eb 100644 --- a/addons/webinterface.debug/js/testinvoker.js +++ b/addons/webinterface.debug/js/testinvoker.js @@ -1,9 +1,9 @@ -var GET_GENRES = '{"jsonrpc\": \"2.0\", "method": "AudioLibrary.GetGenres", "id": 1}';
-
-function call(method, resultContainer) {
- jQuery.post('/jsonrpc?TestInvokerCall', method, function(data) {
- if (data) {
- $('#' + resultContainer).html(data);
- }
- }, 'html');
+var GET_GENRES = '{"jsonrpc\": \"2.0\", "method": "AudioLibrary.GetGenres", "id": 1}'; + +function call(method, resultContainer) { + jQuery.post('/jsonrpc?TestInvokerCall', method, function(data) { + if (data) { + $('#' + resultContainer).html(data); + } + }, 'html'); }
\ No newline at end of file diff --git a/addons/webinterface.default/css/core.css b/addons/webinterface.default/css/core.css index 5b268d1427..457c0fa73e 100644 --- a/addons/webinterface.default/css/core.css +++ b/addons/webinterface.default/css/core.css @@ -1,668 +1,668 @@ -body {
- font-family: Arial, Verdana, sans-serif;
- margin: 0;
- padding: 0;
- }
-
-#header {
- position: relative;
- height: 50px;
- border-bottom: 1px solid #000;
- z-index: 200;
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVIAAAAxCAYAAACIwiGvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCRDgxQTQzQkFDMDExREY4ODlGRUQyRUNBMzRDRUJBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCRDgxQTQ0QkFDMDExREY4ODlGRUQyRUNBMzRDRUJBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJEODFBNDFCQUMwMTFERjg4OUZFRDJFQ0EzNENFQkEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkJEODFBNDJCQUMwMTFERjg4OUZFRDJFQ0EzNENFQkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eCPqDAAAey0lEQVR42uxdC7hfw7WfOTkn78dJlUiEQyTez1suihYlcbWCetUlHmnr0U/R4rv3aq9HtRdVr+IjVYQrxLOqiARFVBXhtuqdhzcJJyKJyDtzf2vv2Xuveez93/t//jkkmfnOnP/es2fPnudv1qy1Zk3zhuutK4qcUkJIaf6Sk/Qs+heHx3EVrmX0m8TKnjkpxzGSCCJLg7+bfk/685b3zHIT4f8V/jmkfxN+x8Ul8Ds7z3b6Tl1Is1TSKEfeN6SRFi87rxNeH/68qCytrFp1/vx1XFQGM9sq913/O8ooH0/LV0Zl5JXF1f/MuKyc3rqVZfvCF+LM/Of1Z5XbT8rE5eOt0Xk2W9e+sR/ItP+ZeCAKxrx0+oEPL4rTKYcHWb5MbCtTH3YdK/3hJrH6u17wm8G3wu+DCrwFlTFehwcXXHDBdditNkBaQP8Ryd3PmukOh788NH9wwQUXgNSi6wksPZ6AtK+HdP8BwoZTuO2DCy644NZMIM13Q5RS0ke/AmSPsoE3uOCCC24NB1IlYgGJQWEOIwZxApLxbyqY2JLXgZQqgGlwwQUXKNIMLFUkZYMfpkHTA7qii5SJ8C8gaHDBBVefa14dC2WB5oZ+daZILeMzXCyXgTEaXHDBrUQgJYRpqZDeCvhlnZT3LtoXUKWyH/4NiO9NfUx9TUC6fVE6lqOyzYL/uBPLmbjeItZAaGVh7To/C1fGfATfH34gfE9NslOZP4CfTRNQJ5W7VZe7T8llA+V7AfwrYXgH92UB0t1ArN1aIb0lwKsPQOHNwO8LuH8M/sUG5XNz+G/AbwO/CcYUBrjsxSlNc9UukqX7gJQMVUoky3gtf9ob93uSMIor6HLglUS5ikTJXqzA8wUaSJ6F/zP8QxpcGu166PLuJaLNBGqTGExkd6ZI/DnyPQ/hf4d/Av5++Nc78M214L8Fvwf8TvjKYAJw1EWLptpX4KPzEU4A/rT+5gMa0BvlvqJI31eI3eNyyw0oD/h+V6XMxmUrC745gJrsQVwe0KmroIAla7STbYMKdzZ9B/5PQgpjx4yGoqjH2lSgtctpKS4nw1+N2z/40K7GzqaBuD0CN+S3TahjvmvCBlJzFxajQmUSMduOJVlOZE45kghK5O4E+hjXpOB/Mfy7DdjZNAjPjsHl0QjZzNwdZuVbObuLFsHfC38JwqdU2Nm0I65H4/JAEauLeevSN9kg7H38/J7aGCEf8/JV3Nm0FS5PwPVBuF4vA0wp+G4ZM+/+HXS4Ph2Xl3bGALJ3/5SJF3Y2rX47m2oB6d6I9bAzmP2d1wCkKEwDrg4lID0DfkYJIMVyTv4Yj35EyzrftsU8kMjb4phRMzKSzieSfN/2z2zWENE+WLPs0uos6aD+EN86C7dj6wTSnrg+CcmejtuBfhByO0qSJWsiWIg4VyIP5+H28wIgHYbfn+OXJqoWuz4UI8VT8GNBZr7Um/h3JvzdFYF0HXjKw2jBdpuVG1zuQMD1bLxGk+77KxdBk++rUvRoANLVG0i7tPbpXfTuQrx4LGL2tAdGXudJPhL9yriwOmxzojbw+zz8OwUd5UCE3Y7fQ2K+oJt5mSTu3V+dNL6vcaTxzYyqkd4Gy/KmdDmkQeFKs1H7IKkDaXmMaI9ofnFNINX52BH5AFUrRyPRPtLTKe36dQakCVotuN2VWDPwj+jlv914JyPeOPidOY/YR3UbZVdWG2fv9Uecw3S8J+x2tZtZP0d9qTtxNwK3XXNBId0o4fK5EzU3NgGehoDHOwNEOXuh1PLPbPPK75RhMDRablqfIFYafadcmtXznpe3MulwDKjSHnn5rAWkJIxpxUd3d/lTku0E0gNeZEtgvmRmANxPAyQt99+1KqMb/K/hr4h5dTLtpGZhpZ9BlQKiRjjJC6yM/JozrQ+MXZA2Kl7GbI0EyCwg3wlxN4xYIgVgysp9nGYNDJEJWc/KyuvXpU51uSzgZQ75kMQHJt7pPMYHvZmWv6iHHr7BTVRWWl7PUlpKF9xVRrnvgectmn+c17mbEOeXCLsKT/rb5eLtbVIBkq0ITApZv0P956LO5IgGIA1AGgFp/769hW+bJPPPoLNujctNE8rEx5vkg17aSCqM9LrFWzPlXYxSWgcD5nbcj+INYC4NlR5k0gIvlVKo1uCegp+leiJwl4MMmFK2hPRXMLc+pByGrHCAXsqUn/tojYY8B/4yosaKG9Yscwbgdh0lbIvknQh0BuCXqNObif8Kfz/K8K1s8PsnEs7GyPImrSWRWRcsCRKSkTbBFE/n7oXrsQDeH2XVoKx6V6xs0lMnDoX8Ca5+grALO1u0FIA0AGkUWsuMnh64RC2egQSwzBckye1umk7z8zc4j9RDSU3AxX4iVm0h6m0Hm/9jAkW+iTkWj4D5NUF8ShnxZEmqvEkOf4pUeRaSBawYD03hGaf4SK9fLz27uqyAojpQJDm+L6dBLtY8Y1cw5uEraqpvAcP0Xsm3FefjGjOc5JyI8QjGZBipe3nZA+ZkEaW5BKFLdPrdENzi5iuX/4q6VQTg/8farSexMHC9vy00stuV3VO0BZZFv+UIXIBH7QjExCBuwLNpogRvuvFAGnikgUeqSgNpksEeuB6G36/QstUSPK2NW+K37Y/bTRnBGNktlVZBdeZPpaU+rndPV7VKeKSz0e1HuH4c14/jdzoJVLRFVKoUifvluAcVJKfqt2l5jWvZbAqo0gbDslJdZfIHpStwit0KPCNhEKldfRv3I3Hf1ydMsSp8mp4g5lqd/0w8/7UHKD0AKp/C5R9xSdTdLL2abYqMsUjxTdwegfeGeoV9Mv/akImbHeRD+AkIm4Rvo/7U5zpfREmSOcKRmhfcNc9OK7unttoHaS3DgyY8ujHWRhA5k0XaRsRSmoTQCQh8GddzpLkLbxmizdFAqnxqawFIA5B+mYFU+DutUQm9cX0cfs/HbT+/BDsTBpn8Ta/A42O8fwkKPg6375ngalOkBpQMF7FBZyMOq4Sj4MfxvBUAqfUNsRXuL8HvcJEDXKwcPxGmyb5vawpcuiCSsDCi+pyM8AsQ/pCvk7D7vrSshf854jf76sNVCbPC4qjzEHwZbscQmGaDSDkAD7czHv8Gv7sWpa0nsAMQfh8uzkLwr2yD0h43VvM5X+OzqvT2Sb9KVgDSAKSdDaQrY689URNXRoChRHvG1+SeNbqTOcUr40E83k0PrPcq8k825gKlpDFZQ73ZgTK+ROVDWje7Da1ssPs+LYv1Q+JR/i7pA642QfSfBFRni1gR/6ESeSF2Bqk5HYVEF1m6BGbOlDIERSn4KfUi/u2DoHM1RVrL/Y0oTbxztznBSoPC1gK5UbjaBRfn2B3W5ENH+riHkfBNs2c61ZmaIFIEFfvgqriVZrQEg+Yp9E1QfWoZnzEUA55s8DGrSxm/81Jc0oaAN8oNBEcQNcSYtZieEO0IElrPsAP77KlcP0wESsnMS9RbBhgqsTC1o87Xr0SkcG9JpzX4wC+BPxrh54vqWzBvjwUuwtAmsCcooy3iiqYdWiP0bxW3EGUenQiUMoo009HVU9fe+Hcb7Uyy+eSMIpiGd/dF4J1hSAYXgNTlfU3EALreINeVTb1k1GlGoSpSYzldqfImmTQQcb9hZmNUsVV/9I9AdE6t5VOJMi7Bz4+JCudkv0WhEf92W/jthMUfTE37pcshebyIzpOq212LfDwkWJETbJM6Y0oZIE6CoJHwM+tZ9sHPgz9NTyqGJDRtTylbEbvN5icnkx7eJ0r0YAS/EIZjcAFIDUrT8FdISZSWrVTNAdewA0rLxf+qZ2nGfBf4Nptnw1io72kQSPNZJ5CQfxX+Nr5k5slpKo0k5afh200FvBziud5UBdQTwLbK8RuRaXcxZXaz6mNhTQTss+opO3NP4XaCUsqw9conzqxunFMMQHXLE0Vj7DFU4G+GpXtwX3Igdfmh8jWETuE6gAnYmmga3ZPxj1OEoRFQjvS1HFkK2ijLj801pJ1VDeWJ3clhylXSlyO1KpSTbV1Mku6fV4+1/oy6Sz2pfL2aUqJO3IhGpgfEZnipgyCahN7h6ve6zZOoabF4oL7VPRn/WolgFza4NR5ICwSML7uK41IfuZuKWmgIXYQHH2SjLQffrO0syvXrCdPcnJ3PafWf1eQDYEl83LnGct1kYaxN+VHM+pRJmUqiIudXBzWvp2X2PziLgfFDdQnkDASM8SZYo209EyV5oigX+5Kxv824NWT674IwBINbHVyzjU+i/FnxZccguVlc6JFK8s2V4PtScCl4PkIrTVTlMxfERvhKc2aYJFPh0SyGN8osmTnw16iTDxF/Lj7XmswctnWjRHMg0xlNc/shnt3pT7uK6ovh3ubHqyRlYOoot4lYu6JmO5akjD9QZF5Pym4iXw1MByYTqJokcqXz5VSKggvuSwmkvgFUG1BLdfi+GUibunQMvB9A2Kei5OdUcZQ2nxoQ2/3zduNZGiqhqo06cVV+pAEuuH8St590bGntuOU+EGNnqkwonIY8YbU/m02Mrg0Ca+dVnJf7a5c1gGlwqziQ+ghCe8lWgWoYnA0yZagKMcX8JxtVKKS4caIn7VGi/USWkVJLWVpRV0Sm4GQflZObTKHdTjN69nw11kmpDK3rblBI3cxs91dt0C4p/CJDKD18CwhnQo61CZbj/p9h+AW3RgFp4fKv9jgjZfStfC+wbZHLcdFIJezBwrBZagxosm4/uywkl1zakoZAa8L31W96d7KYOqTRv2kroV3bOOhawDYL/xtNAQ+OTytQBhuB73DhgqZYY0KW0hZIdWyFz+JUGMDBrcJA6q4EC3v09uj2QzPrSq4N0FgfU7aXGdSuXVQ/hai8O6aid5fiemnNZWq1VSXZGGjidgXoQmXG+L2TkA6f3uA2pSM5NrL4sHzbKJkvLHneVOlKWJ+zLfi79spFszNoQ8S8hqw+2I61cIhhcKsskJZYbh4bgYy1xOWgojIZfRX0LspV78z2lNQC/hRIeuCyu2BS5trgUQispPlwGJ9TlDVh8H3hFoU4G3Hay9Vz6epZm86pMvef833F8vWV0I+G2nZTM3LSXe4jsBfyQbZpP6nFTqoHVIMLbtWjSH3L/cxthgFxZJ7BDU5FiVhl6U1fulUk2vqt+YnNSuWCPh2GR5Za5pb/VuEgJduqO6TvGkIV6YCZ5Wbi3dkNbtMNkdeeyTdtNgW+N62DbepzGzsUoTRw1Jw4FRn4VuuLXHsHgbIMbtVyDdcjZXqSdEW7dXonD23bohncRPnY2T+QVQFVmveM8d+UM4gJZL5RX/kc/UlQtvKC1KapUqneZKLm6oKRwXclQyyLGtymZGm/STAF+cx+UnQ1YyX0oyEO+8JDiTIpPrm97PoMLrgApC6okgWj/ZTiNAa37GSazoI/Cj/NqVJ96a09Xqv+Uw24TnU30zSPx3UXe39+2bHMsnYhvr+d/8yoyH2SAKW9PVaXeVqOUr2oZ5eTdm0mTaf48S+LkNaHDf4m6c4OKqorm1+rVaRGpZNscMEFIPW6MzBQzs1Myvmsvzv7NrdFtOOFUqUXdsnOUo/BkuftBaJKvhkH7qANhHTEnYI0T7Up1hglYvjCz3hcLcoAxc6Rmubdl+XxnjLm+SHGTiLFGZURsM8sW7clPVmzWsvHHvEbvk7PIaB8/kcy0QX2ZnABSDNHR1FcTMdopGcK6cFjG/81KMBMTelCOmivDvrXDvgLfLuPjJQZNXgRvrVbnUtKoravkIqbwMv2imuOxL149piMrB/5lNOTraXeLaeifjsAcpivfqL6VxGItje4zUlntQdXNTN/fUZq0omHgPSQMAyDC0CaIRWdz/NnjKczfLwyH+jxJbxe/pGxETprab96wJTx29rxczff0cMFT5qSouOT6VsjKnxkYxFbpzovWTRn51wYRzaD8pMn49m6nDKzeL6kgvRBybotmz/S2R1sHrLGAE6K6WUpzQpuowLWhyHwyiYcXXvxGVA3wI8OxkqCW5OBlICC7FmSUeHHMRh28w0mNjDpPPt5qW6h10J8tEz8I/z18LvA96wzb2Slf3HRIMfdV/GPtirSEdBbFaRFp4KSUOlp+O9ye6PmcchpeenMeLJ5urXNe2UgR9L6WQ1uzzYA51pOWTNze9MrsAjK+mFJuWzeKoKo/udbW1Rtlbk+uKe2piOpaTJuDsMyuFXNFXXaLeDp+Il/EfF59CsssnJQrMIiBybAaC/vhOBWkMT7+Pk3Ok4C9+fwfdmmtfw4X9r6+miEk4ERUiKfK8wzhMmCPCmzkyHjxxKKh6VBh6ZdDf9T+8RTvrMI1/QtMt13PK5fQji996n+BgHt5vBb4rYr36Vj8wPZd2m5epuuk42Ecb6UAbkz8UoFIC1FJg5A/nrzw+2sPfDTGvw9ckP4hGmpkJGVrTEI+61PtSwTQkXsjsOR98N1u/1TTzJNFllO/eCVeNKOTjmo6kbovnyHFb6BXgXdKHL1i6OxcoyIT9FtESbj/0VPmtwdosdTdx2fCIp7Re1jXeidb2qqfXGJ8h2nx8JbHcSFA3WeiVAiuxR3iUL7DJHrT2MIvpdwDV3cIfJtzvbUxNg98Et0GLURnal2q2AG2Jmjleup+luEA/N1WJd4Naht8rqOhKJH6rh2Hol4ey4njyQUJdu96+h+oHTfpD5KhthnG4ff6fFOAeejYx+Bjt0r7uQq74RLYR+OlnOgFJnROyweBKovntC++m2Sr7qWkkyKyjmuWAq2oyp6YXzciGq+BWp0MNyjeHcHn1J93oF1vud8eZpRYMZhexRGBqkv1FGoUekAt6E5u7F+L+KjSsqyTspE2pPYK/aBY6w+CEgmlfpa+ZX2BFTBvtKfxqP49N74pYF0qF0eKaR5mqmwmthz9LUuCg3KM/D84YoAMQYpHI80dsG7f5MZafyIiNXvBor8HVc99cT9Kd59nU6n1Xnpgmw+Qfz9gu8+g3fWxvcew293/H5ND+Yj4CebdW5U/HGISwcntunJvcjtQSCKNK5FXk6qE0BpghiLNA5AGrTKfBvXQ6O2kxFgnCD4EThmHyGC4xW89xiCP5PRSbeK1NzoxFuqmycKAJgmllso3/owOZqcX9JE3GueiZ2A9heI3xtp4311EL5zj24bkgH8p2ASVuZoxfxklEeFPMaG1ukY2ia8/1s+WVhaQ8Qum0pG3BGdVppd8O4y3G8R36vhNkVKDTwOkTY1t/ZJDzUhnS2IHIiYysskXB/LZt95uB8VA5z4qi3JjvdkZ78mEaqZrtYOKbjvoVA99Cy6jFGmNChG4fpRvDbIB6LpQW3p0lQxvqpwTuM06yK1/E5nv9MMeS3jS66LlNcSypwkdImIur+5NISWNxDzKb5B219b7FMS6VhlhL1bBUQLNlBw97ZQwrD6xOK/q9MhK/hDEP61bOKU2XZaayaP/6Q5aZpHetMkTCex0gCa4OY/19jKZ7o8Y/Sgmh9pXii1F1KfXmuyQpqL8e4vkfS4hN9bUlhJx3nfjXfO1PFbcI2JVN6AW2IpLfKwPMgtVURtucdw+tYPZ8cTjDoId6S/Pa2OCZIm9oOR/O4WdXYjXtzOWpXaZacjdWYqep+oSGMi9xMjSd0QFYm0qI+0I+p/44XlMUtIrTA7R5rQXE2RUtoD8H9HxD0JaXzktplDjVBdH4zLOfbW5YKy0dMFCD0Brzwnszh74j0iXFr50mkoolPn3NTMhDKW6O7qL1eqvBjvnwu/P+ku8pdw/yL8EfFRy46Zt1RlxzWjJr3HVuh3yQL99zz5oBltpKLjRaxyeE4WNbavZubgpJddkaUvhycgygQqbTKaOZUpwInfuwvxniziPfr4zCU8LXvfsAQ6SQpzkO47Zb7JjUKX+PYTnskzuU92LtFyiw4yfN5YrShfGc1zn7ikzrKgT4K1azRFUzQIuOuFJP6qd779j+Z9EwBdru09SK4pYW0YoM8voT6NZ4/j/i/4JVZAk2+lY3nKdHeWL0x2klZ969XgzbOjylm+nBAxgs4Eg98b33gOvz+rTzdYfQd5utmzxCV2wWUmDerU8TKtBjdRRVS2fIqAOe/YaOYJgxYi3i9EfKz4yQSUZfTIdb/tF5+GLPuVeGWFpronIv5kOqCTlvq+/mK3Hx2Lgy5AdXC39kShX4VXScA+p5mR9NdFSxvp8v78S1xhngdkVTw1Jp49XVCoRxBnH8QZGx0MJ2wqiJ8uKoWti8opYjZXEZDe4qFKaAAT2F2vYgEWG3A2a8J/Vrpneb5UC8RoIH7smdXWj/koDgvgH/jeKfVug6zRwRbHjSuvsc9RJ+oQ9wuqplvClOCf9DJsKw9Fyg2yzMSTfRHjOsQ50FjJKJXp+TqrHWGxUkzhGvzhySRWgvJqinluEU98CiLRIBojImqR8qSK+MSUBWLXPKRZFioe8AmVpmoBubLzFatM17QbUaKt5Nnx8ljthL41NQak6ADJV6vxv6USjgC6aGehkQ4t5al/XRdte5aRUsvreQSB9d3ueJco9il493b89kWkhb7KMYsuC8vmI9xjQKQ8kp0Lqkr1Ut6q23oPPjKs9JaK8fKHmp9/EPF2mzTiErWwh0l1KWvJ7Rlcbm8lhCdhEgmpni6BCwAVRds1MRupdq4mlFEn0rj2NSjLShvidcvZckidCjO2OEcwYxmJeTffwHMPsUuWaeJBfczwSQmIembbITarA/7Z+PymAiFTx3dK/g5ZvdWT0Ix6wDkTsOXGoeXy94U2TahSgIzqb7pFCVEbf1dTHW+lebROOHUHS3Z0c7pDLhMW7uqjvArUuojXOQPXFyOA2uFs0oOVUogSurtEeExGXDpn6g9EjVRQFVOZ8ZrItgSBX7sNdu42ZCHszRlWHOqHOxAw4Pos/G4DTyyVn+UcC1O0uphIrDD4ncxJQe6Ff+jz2cYL/yQlF8LfpgVHqB/5SpkJThNLrXpSPh3XdJ5Yq81KKFod5REBlo+E1PqEiHvwHuVxakn2DE0wl8b5E6eQDEmv3gfQ681ae+cko9va1iaE9Ah/okom1ZaXNcOcOtYzorpCIJZZCuAmQd2pQwFsI5HO9poZ7yw3XT6eIXzrVeNbn2sm9f/i/WNjHlvEJG/mvEhDoKSXLZrnRB2NGuGZEuXaOqN2I8MkRA1jOanmFh9EVVKmnlKbyrd8OQ6PaZCeiMddddrvuFRePRSx971nkQ9MxvLqWEAgEyLzLc8AoiuKNx7pHI3wIyM+oVLdeJnSo1GEZHYapMEq17z01gq8wF6kP6yfX4rrm2hlgV8C11aPJpvtiA9P50yNZpRbkxaWnJhI1j1CshYt9d1Ux8dqRfXTEuQFBd/rGueLGYM0JzWy9XClFgSNZnF2wSt/JcGTiDeneCdH3ySMp7vh+WQtwKXJl9TbDkV642rkVeE90uCZqOMleSYqnoTL5xSQDq1xWaNXiF2zrub5tpTokl1023UpB4YkS5G+PN6vgdI3rpo0C6kvY0/ei1iTUC+k0fB12TZoABKRNAut5ZG2Oybg4iN0VTvuSXpFpPvMZHnjP6vHtAtqSial5zqKOwjxtowqVEYqSE0+vVRXEBTpbo4vEpxYgNAV+ds6lqLS1ko5GL/d9AvzkTTN7G8j3t8R75WYUS295fJUPjqCJBWxKZIk5RJAZvC8fMunDCjyNCA4yJvfNOtSP94ez/dFXBLOkArNw0UUqcvSMAedKcAyBTpJfdLkhOuvI4QEXj8VzChLTp2R+hkN1h0jPn3MEulNggZjE4XRF9NJrwvAlIDicvd8LC/gD9eD9g6rbBvgWyO0ALBI/WmUioWWLXzy08bCrxH5dl4Pxnsoo+qu65F2mBFV+1EN1sUWeqff2Jx8UVl+oEhA7KpS0SphKtcKyBO2eibow+IlqyJgpDFwu+9oGOvVKC8I7Ul8Tyvt1/i4tCjA7poKJqHheyzdg7Wkv73Gqq1/lF+l7hCGqpT00XQD8e1/17zyJpOAUS/g33057UfqT8fg3QeipX2WLKlDgSBTYwlIBVeILwGkwjLM4T/krCyQSg4upiGTPMlxAZAKe9DmUWAuIChrX7o0L5UJUjYPMq9TJpagRAIKLu+ygUDq1odPgu22cf1AatdLfh9RXv5hXv5S6b5dOud4BpM3aWsQFS377LJV0Wjw1bXd73zjKG81YY+vPH6rt75KrGV849ptWyVcLRo3f8XaHObJCHlCwGKTlXkspgJAVSqHR2qOa//Y8/Qj5fKIfZiXxGnqiPkyw9hEnclIYUvFO7ZVsLxx32qGMjK+a3XhQFK4zjQUl8eLWlnGQaoc/WFumZUN+DbjiavadeE9Grywp9RX50XGWDLVqTyBiSxi3zixTXsPdddkYRvmm7VUJUd6NdZRre3KVaxQlME5f3uYYeamowz8mkzk9pmSU51uKzLT7eQdQ1nLOgun6u5E0vhNBVzCNNRcIfee9L5IV24wNgpM6+kzXFXLob5VdjZrwjOVunM0smprVU+2mrBBuEra1e2ufhFW/zPhTPUBwOskA6aVPAbqmpBtrJP5k4Ks3e+b9fq/qwguuOCCC64et/j/BRgAcy0abEDvPtQAAAAASUVORK5CYII%3D') 1px 1px no-repeat #fff;
- }
-
-#navigation {
- float: right;
- }
-
-#spinner {
- float: right;
- padding: 11px 10px;
- }
-
-#commsErrorPanel {
- float: left;
- line-height: 50px;
- background: #c00;
- color: #fff;
- font-size: 20px;
- padding-left: 10px;
- width: 330px;
- }
-
-#navigation ul {
- list-style-type: none;
- border-right: 1px solid #969696;
- margin: 0;
- padding: 0;
- }
-
-#navigation ul li {
- float: left;
- color: #000;
- cursor: pointer;
- line-height: 50px;
- margin: 0;
- padding: 0 24px;
- border-left: 1px solid #969696;
- font-family: Verdana, sans-serif;
- font-size: 18px;
- font-weight: 700;
- }
-
-#navigation ul li.selected,
-#navigation ul li:hover {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAzCAIAAADZxfV4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgxMkRGQzczQkFDMDExREY5RDE0QzJCMjZBM0JGMURBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgxMkRGQzc0QkFDMDExREY5RDE0QzJCMjZBM0JGMURBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODEyREZDNzFCQUMwMTFERjlEMTRDMkIyNkEzQkYxREEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODEyREZDNzJCQUMwMTFERjlEMTRDMkIyNkEzQkYxREEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4vOcxrAAAAVUlEQVR42lyMUQ7AMAhCF+9/px5MIFNpl2YfREF8z1orSAaAYAnUnsdzdiR+vRLsuzNZ36bLyLM3p36zuhpWzp/7Zn/c5tA8zc3eeUvXbi/tXHwFGAC2dpagcbC63AAAAABJRU5ErkJggg%3D%3D') repeat-x;
- color: #fff;
- }
-
-.floatableAlbum {
- float: left;
- width: 130px;
- height: 150px;
- padding: 10px 10px 15px 10px;
- }
-
-.floatableMovieCover {
- float: left;
- width: 130px;
- height: 200px;
- padding: 10px;
- }
-
-.floatableAlbum:hover,
-.floatableTVShowCover:hover,
-.floatableMovieCover:hover {
- background: #aeaeae;
- }
-
-.albumView .floatableAlbum:hover {
- background: transparent;
- }
-
-.tvshowContainer .floatableTVShowCover:hover {
- background: #fff;
- }
-
-.floatableTVShowCover {
- float: left;
- padding: 10px;
- width: 379px;
- height: 70px;
- }
-
-#libraryContainer .floatableAlbum,
-#movieLibraryContainer .floatableMovieCover,
-#tvshowLibraryContainer .floatableTVShowCover {
- cursor: pointer;
- }
-
-.floatableAlbum div.imgWrapper,
-.floatableMovieCover div.imgWrapper,
-.floatableTVShowCover div.imgWrapper {
- width: 130px;
- height: 130px;
- display: table-cell;
- vertical-align: middle;
- text-align: center;
- }
-
-div.imgWrapper div.inner {
- overflow: hidden;
- width: 130px;
- }
-
-.floatableMovieCover div.imgWrapper,
-.floatableMovieCover div.imgWrapper div.inner {
- height: 190px;
- }
-
-#overlay {
- top: 50px;
- left: 0;
- right: 0;
- bottom: 150px;
- background: #3f3f3f;
- position: fixed;
- opacity: 0.8;
- z-index: 2000; /* Above contentContainer's */
- }
-
-.floatableTVShowCover div.imgWrapper,
-.floatableTVShowCover img,
-.floatableTVShowCover div.imgWrapper div.inner {
- height: 70px;
- width: 379px;
- }
-
-.floatableAlbum img {
- width: 130px;
- }
-
-.floatableMovieCover img {
- height: 180px;
- }
-
-.floatableAlbum p.album,
-.floatableMovieCover p.album {
- font-size: 12px;
- font-weight: 700;
- color: #000;
- text-align: center;
- margin: 0;
- padding: 0;
- width: 130px;
- white-space: nowrap;
- overflow: hidden;
- }
-
-.floatableAlbum p.artist,
-.floatableMovieCover p.artist {
- font-size: 11px;
- color: #777;
- text-align: center;
- margin: 0;
- padding: 0;
- }
-
-.contentContainer {
- overflow-x: hidden;
- overflow-y: auto;
- position: absolute;
- top: 51px;
- bottom: 1px;
- left: 0;
- right: 0;
- background: #fff;
- padding-bottom: 149px;
- }
-
-.footerPadding {
- clear: both;
- }
-
-.albumContainer {
- top: 74px;
- }
-
-.albumView .trackRow td {
- cursor: pointer;
- line-height: 14px;
- font-size: 14px;
- padding: 1px 0;
- padding-left: 4px;
- }
-
-.albumView .tr0 {
- background-color: #efefef;
- }
-
-.albumView .tr0:hover,
-.albumView .tr1:hover {
- background-color: blue;
- color: #fff;
- }
-
-.albumView {
- width: 100%;
- height: 100%;
- border-collapse: collapse;
- }
-
-.albumView td.albumThumb {
- padding-left: 0px;
- border-right: 1px solid #aeaeae;
- }
-
-.albumView td.time,
-.albumView th.time {
- text-align: right;
- padding-right: 4px;
- }
-
-.albumView tr.headerRow,
-#albumSelector table {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAIAAABF+LJYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTQ0NDZGQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NTQ0NDcwQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg1NDQ0NkRDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg1NDQ0NkVDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FuFIdAAAAOklEQVR42kyMUQoAMAhC0+j+J+s2ffXTVtDYA1EUpLsjImhmVFU2IsKqGm1uz8zxX7sBeF1zv44AAwDVBhSDNN7oJQAAAABJRU5ErkJggg%3D%3D') repeat-x;
- }
-
-.albumView th {
- font-size: 11px;
- text-align: left;
- border-left: 1px solid #aeaeae;
- border-bottom: 1px solid #aeaeae;
- padding-left: 4px;
- height: 13px;
- padding-top: 1px;
- }
-
-.albumView tr.headerRow {
- background-position: 0 -1px;
- }
-
-.albumView .albumThumb,
-.albumView .albumBG {
- width: 120px;
- background: #efefef;
- border-right: 1px solid #aeaeae;
- vertical-align: top;
- }
-
-.albumView .fillerTrackRow2 td {
- height: 100%;
- line-height: 100%;
- }
-
-/* Album Selector */
-
-#albumSelector {
- height: 23px;
- font-family: Arial, sans-serif;
- font-size: 12px;
- font-weight: 700;
- }
-
-#albumSelector table {
- width: 100%;
- border: 1px solid #aeaeae;
- border-top: 0px;
- height: 23px;
- border-collapse: collapse;
- }
-
-#albumSelector td {
- padding-top: 2px;
- }
-
-#albumSelector .prevAlbum,
-#albumSelector .allAlbums {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAIAAADJDItPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJCOEEyQzlGQ0U1QTExREY4MUI0RjIyREY1QUFBQTlBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJCOEEyQ0EwQ0U1QTExREY4MUI0RjIyREY1QUFBQTlBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkI4QTJDOURDRTVBMTFERjgxQjRGMjJERjVBQUFBOUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkI4QTJDOUVDRTVBMTFERjgxQjRGMjJERjVBQUFBOUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Hnv/HAAAA1ElEQVR42mxQOw5EUBSd9/IyCxA2YQlaO1JbgkVIiIpKgR1oNBqdEKERVD7xmzkzk5gYc6r7zn3nnnMvWdf1dkHf923bchxHH2eM49g0je/7qqoOw8AOxbIs6CVJYppmnudgtm1j+75DhGllWdq2HYbhIQDPpmmCjed5ruvO8/wTghVFoWlalmXXgPCiPM8riiLLMiFkPQM/SNd1sEfINE0ty4rj+FDruv5qfx4wxrQoigzDqKoKDIrvYvc3JEkSRTEIAsdxKKUEsf9era5rQRCeAgwAxPWf44ZS0FcAAAAASUVORK5CYII%3D') no-repeat;
- } /* This must appear before #albumSelector .allAlbums */
-
-#albumSelector .allAlbums {
- width: 94px;
- border-right: 1px solid #aeaeae;
- text-align: center;
- padding-left: 10px;
- cursor: pointer;
- background-position: 10px center;
- }
-
-#albumSelector .activeAlbumTitle {
- text-align: center;
- }
-
-#albumSelector .nextAlbum {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAIAAADJDItPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdCMUE3MDBGQ0U1QzExREZBREU0QkQ5NzdFRENBNkQxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdCMUE3MDEwQ0U1QzExREZBREU0QkQ5NzdFRENBNkQxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0IxQTcwMERDRTVDMTFERkFERTRCRDk3N0VEQ0E2RDEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0IxQTcwMEVDRTVDMTFERkFERTRCRDk3N0VEQ0E2RDEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz62tw0dAAAA3UlEQVR42myQPQ5EUBSF573414jQUEh0Go1GrRGFKKiESuxCYztWYAMqy6ATEg0NmbkiMWTmlPede75zH5rneZomURR5nn/9CC/LUhRFXdfjOK7r+n4K9X2f5zkYNU1LksQwDJZlSZI8t1HXdVmWXWm2bUdRpKoqsBBCBIz2fb+em6Zp29b3fc/zoBAG3v4UTKqqKssSgo/tbdvubQHsOE4QBJIkEVDvHm6aZhzHuq5zHIcx/rIVRUnT1LIsaE5R1OkmwELTdBiGrusKgsAwzB10HDYMgyzLf3/tI8AAgcVrkw2eqPgAAAAASUVORK5CYII%3D') no-repeat;
- }
-
-#albumSelector .prevAlbum,
-#albumSelector .nextAlbum {
- width: 28px;
- border-left: 1px solid #aeaeae;
- cursor: pointer;
- background-position: center center;
- }
-
-/* Movie Overlay */
-
-.moviePopoverContainer {
- z-index: 3000; /* Above overlay */
- border: 1px solid #000;
- padding: 10px;
- margin: 10px;
- position: fixed;
- background: #3f3f3f;
- top: 50px;
- bottom: 150px;
- left: 10%;
- right: 10%;
- opacity: 0.9;
- }
-
-.moviePopoverContainer .closeButton {
- float: right;
- cursor: pointer;
- }
-
-.moviePopoverContainer .movieCover {
- height: 100%;
- padding-right: 20px;
- float: left;
- z-index: 3100;
- }
-
-.moviePopoverContainer .movieTitle {
- font-size: 24px;
- font-weight: 700;
- color: #fff;
- margin: 0;
- }
-
-.moviePopoverContainer .runtime,
-.moviePopoverContainer .director,
-.moviePopoverContainer .genre,
-.moviePopoverContainer .plot {
- color: #fff;
- }
-
-.movieTitle .year {
- font-weight: 400;
- font-size: 18px;
- }
-
-.playIcon {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAB+CAYAAADiI6WIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY3NEJBNzU2QkM0OTExREZBNjg4RTExODNGRTMxNzlDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY3NEJBNzU3QkM0OTExREZBNjg4RTExODNGRTMxNzlDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Njc0QkE3NTRCQzQ5MTFERkE2ODhFMTE4M0ZFMzE3OUMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Njc0QkE3NTVCQzQ5MTFERkE2ODhFMTE4M0ZFMzE3OUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6EY6YgAAAd50lEQVR42uxdCYwc1Zn+qqrn9Iznto1tPINtMD6wjQFjDgNLQhYlJgkKIecCClJWSsgqJBGKFolspCyXokDYDWGTYAJJOJLsAiExEI5wBAg3GIyN8QH2+BrP2HMffdV+r+q9ntc11T09PX1U21Nyubtrqrur6/v/7//+/10hHH2b4XPMPtpuQugoAtfQQDbS/A1Hg2GEShxYL4iG9uh9bqQA3Q9gO81z/dEoVaMIlSjg+qPpc444ZsnfJx4reKBcHjd9wBfgxWx3D8Pdo+IY97jcbc/5dikzQ6gEAfd6sNjKuFcT2YYqoLkWOKYOmDMTmM3nLY1AUz3/xr/X0AqqdOD5xOCHRInwINHu7wS6etz9wAFgXy+wpx/YPwAc5Dl8iSFpFKZ2DfFSM4BQCQFuyZut6LqqggAT3BO4L5kHLJ4LtM0CWhsINgGvKpMWYfhwPzyWZGsfbEtXH+ZO0PtoDPv2Ah/tAna0A5v3cKdRbCPaB6QRWPLjYh4jsIN+Y4N0PbZG36ZG2+KxspLAHg+s5n7WQmDZHGAePbqxSp7kBTikfYiZBnidy+MeLjc1Y6Ah2AfJADSCXe8Dr70HvPAB8Cb/vo9/jshTo56PtINmCEYAPdvQ4rTYKwjorOOA008BLlwCnDmbr2t4vFzjW0sL6t5AnqnHey/E1ng85uH0mET5MG1hJ43gTeDpl4Enif7bPK9L6gRb0wiBMgAjQKB7HbOWcXnxUuDja4B1i4CVBNvUAS7XADd8cjKvLB8PeMPnIkyPelSe77cT7ZG3gOf/BvxpK/AcdcGHMmLYGgPEgwC+ERAvNyWW4nnNLNe7P0vAP95Kai+XJ5bLvcyjrPS7GfcE2XgKsOGT9+mvLQ14y/Oos0lcer5KA8RxAo5N9PxngUdfAR7pcV4mGEBlC0UF3wgI4ALLCsbqlWuBy84ALqBYm6U8WYBdoYGhAxzzicmZgDve3wyf/FAXHJaHbSARVUZgSflPDfDBk8BDZIH7RigO5SWHfdJE+0gG3vA4kpNjU5idcBbwlfOBL1OZN5dr1lDuEWDRFHfMGAe4yQLvJ0T0sFOmGYiK/0rpSQZ4/yFgPXXAw7z2PZrnx4oBvlVg0NX9csIzX8ykWPvC5cB/fgz4FNOwauHZlXIv0zwpLG9k1KeakglwuQbeG+/VdakfqButMAamnM2CyShMlxH1nh43C4hpNl1QR7QKDLrSZOUEec1ngB98AbiKXj5D/KFK7qq4ENYAj6VQ3sUE3vCIPp2RFK0pA1C6gGlo22k0AJ7T+BHwUdQtCllHmsd7y6fCketPAi6/DPgRPWA1D5jCy6fJG2R7PDw2QQCKAbzXTWOa/tAZoEIer+V9WMXfTuF62i7gYDfQ7gO8UarA6/m4o8/4409YB1xLL/+3Y2nx4sur5Q0xNGEU8Shzo4SANzwCNKaFgJD8rSo9JPCzTwY+Rpc3d1IE8tBIoTzfKgC1O2xHxb6WXn4jY/knSedWhQTd0mRu2CfnLlXgDU8NQYUAU0tJxesaRrdTgXNE+fl9YGvUqQkl1ZTsUgFeT9PEb6xeAFxyJXDDcmCpJWm9Uv6iiDTzWJp0o5SB92qAmOYRldp5DH9L5wDLNzPlGwT2I89NvlYeAFcxXfyu6SuAK68A/qONwtbSYnlUK3rYE7yZpQa8twwc1+i/Qnq/MAg6yNyFwBlbgd2M+7s8JQsjl3E/l8CbHuXecCZj+VeB77fQ68skteuxPJ7FjSt14L0C0JDAh+SxWdQ+SxkWCf6+TmCbhzQC5/E6vYu96Vzgu18Erq6V8bxKXnk6Lz9agPfWASDBV55fT2IkU55F1A92AFs0qWAHCXhvTK9fC3yPoF9FWjerJOfHtVhuI31r2dECvJf61Q0Uz6fTV6iJzqTnHyD472u0nxMDsCYJuKGxlcC3bg0B/xIpnp4eqpQxLCZBj6e44Ucz8PAgGtLyfYJfuYSevwn4qMut8/v19ika8ErI1VCZfu1fgH8XoKvSa1SL58YU8GkfFfiWJoDreBtPAFa/Tq/vo+jLFfiTAT7RUULsVO0XU73/oIkUpTw9quXmmAJ+QqVfUwO/EaidB6x4CXgz7Hb30tv3Cwq83thS0QCc8zXgRl5cixJyMQ10Ywr4Cb1f93zlQMzxm0j9ba8Br/De9kw21ltZgq7aHyp5YSdSyF1PFbrYlCmb6pxgZwjGFPBjz7W1mK/U/nygdYC3+F2C7yObJkzX2cZ1YYyNTNu+uRo4zdA8fVJXNLUltqi8lwZGm6m/CnzlFOALshaml/6NfAGvd6JwGJ2i43MX8iJMrfwYngI9p5sqdqlUj2LP+FdmToz7p0scQtmAb2bBEE6jC5X7yRcD31IK3poCPa+eH9FQXgwcQ011NVGe7QN+ToHX29WF4bV8nBS/EJirKk6qd0yhNtXpwW+P4cgZ5WhoFc+Y1FAC5X+moD7XYf5E84c5EY8PTRB4R8WT4j+9lt9tacWGaAEBFzeisrkZzeecg/rTT0f5jBm8QgPR7m4MvPceul96Cf3btyM6OJiw1lLfFPgqVRbbV/jvPeDFDuBZiWXGpd1QhqAnOpLQuxddAFxez/daWhwqhIc5TZoVFZh/xRVou/pq1Cxa5CtCon196Hn5Zey77z50bNiAof37J86FAfT8uARfufdSUv064Ir1bj1/L5KHcNmTSecM7TxhbA2nAVd+Alin55jxSaZYmZwrvsOqqcHy227D8dddh7KGBsQGBhAfGRndw2HY3I1QCNNoFDM/8xmHFex4HH2bNiEaiyV1hw5yOpeuYcfUUjwG+WNfBz445Lbk6X1RjckCr75nGoPJqi8B1zbxeYUmPJBn4NUPXnrzzZj/jW8gIgAfGnLo3TAM59HZEyfbjiHYBLqqrQ0zLroI9aedhuE9ezD44YdjvqeUgNeBkz14yvm3hheBv8MZ2ucQ8KQ83luLb6CYuOoMYI1eVLDzDLyhKlef+xwW33gjYsPDsKM8Yo4St2Ek35aEMSgD4LHaxYsx65JLUDV7tqMDhnt6ElZdSsB7x4aHpde/DezocMZvJHVKNrIFPlGhY9p2+iVMIVTfd70tOZ/AO82VVVU4iRRfPX8+YvR0X6C9F6+OiUdSvQgDJhVK45lnYgZDgBGJYGDbNkRoSCby3wMol8BDK+lqQ5Ganwee4fE+jHZ5sLNJ53Tga04FPkvLalID3AqVMonvaT7vPNSdcgriw8OSyZO/WbzO5FicYIf7+1HZ2orFP/sZVv3xj5j5qU8lBkWUmsqPYnTKj9XAScuA8zHaocfIJo/Xad5kHFmyCji3QgM9XqAfJy6w6eyzEaKwE8DpwI45387MFGNM86I0osbzz8eK++/HSb/+NWoYCqIllv+rDhwCJOquELOti+AM2knYg5EN8IpFpi0E/qkNmGdowBfKqkOUlLUrVriAxOPjAu3n+T5xgD8i5ohEkR7OvvxynPL001jw/e/DYrYQLaEKZFwDil6/nDidKr3eSlfUMccrz/K/uSvo7dWZSMU8AF/e1ISquXOdlGwyXp7qPSL2R2kAIX7PCTfcgFWPP45ZF1/sVCwiJQK8uldzgemnunRfr5VxMwY+qQVuFnDyYsYPRbvxAoLveHxdnZOzx6PRrL08Ew0g8v8wDWA6076T/vAHLLvnHqcqGHTv93bcOAc4Y5rTUzsxjYBfNug7VZg+3KvuRGAtlXxlzrt5ZrhZ5eUwxMw3OkhZUnwmx6IUfyL/P+aLX8Sqhx/GoptuQhnZIMjxX5+7h0563AKX7quQpvHGTEPzYu6ZOUtpQepAMX54wjOzADar0MD4b1NERpg2Wi0taL3mGqx69lnMvuwyJrLVgTQAPWGfzqdrXMzq4T/pV1qqdzyeNL+McaM1CDP22OPE6gmJu/Heo6p/VP6ioad6yRIsuftunPTAA2g899xApn9xTXifwn/kyHmS/UPjebzhUfNVpPnTxYRDdkCsPFPwMzGGcWO+9jpO8EXhqGXdOqwQ9H/LLahauLBgjVOZ3htVVGsFZi1whuMl5odKG+NtT9GmZT6w0kCAWrV8AMsZxaf7LFn+ddK/mhoc++1vY+UTT2Det74FI0D0r7Cis+Jkx/ETcd47MVhKjzcp6BYcwwwhEMBn6dW5CAPe+C/oX5R5K9vacPytt2L5Y485haC4ZQWC/hXCSxim+djiAd1OBTykhYRmA4vqgGlGQGhsPFWfq/g+7jmy9i+qfzGKwPq1a7F8wwYsuv12TFu6tOjpn0JYTLrQ5Dwk5mhKS/Wqw8o0evuJFfINgQF/nDidaU6fCw3gHGPaJwzANk3M+frXsfwvf0Hrtdci1NCQiP9GEUAXeyMxbHOm3ElQvZmO6tXomMaZQFsZgjXZbS7FXTYZQqoMQDQTi/SvorUV83/0I4f+Z37+80lToRZ6qybglPULZZw3U3m83jRtMBWY0Qw0GwEDPpW4y4UxTPY8sQnlHxsZQe3q1Vj8u99hCdO/mpUrC9qopTATcl7M5g2nR/bYXN6P6kM8c2ad+4aS2HKl9LOp+3vfJ9oUojSAOB9nXHoplj/1FNquuw6hlpaC9kIW/M5w3UzWbhiP6hXNl9W4s0NPtwPk6UiRY+cidmfyOXYG3+81AKf6x3h/3A9/iKUPPugwQSGUv0KXrD19uvOQNAWv4Ve5c6Zl4ckzhbArtDiZaHzPNk5n6/nZMIToKhYNh1F31lkO+E3r1hXE88WV0dVrG1zgx9Ts/cRdOdVAQxCXrrDzBHQuNYDvNQn6pwFUzJ6NE9avR+MFF+QVfOWs1GrVVaNU7xvj9eKN8Pi6QPZBz5Di86UBstUB6j0i9oeam7HgjjswbeHCvAq+uAu8VTvaWGOmA16UJyoZ32uK1RqXCy/LOA/PMHZPVDuk/C7eXUH9VfPnY9711yd3Cc8DOwplP935l5hPOSXVi0sJlbndqYu+jbcKYKE9dtJMI8AXcZ95f9NFF6HuvPPySvmyc0YVfHrimD4327LcTvqBonjkkZpzRfsZvy8WczqXNF5yScaGnY3Hy2bWCviMHzFTVPxKMlfPt7jLWS1AnjPt5JNRVl1diJDq2xHDe8Ai1YfsgIJv57AnzkRz82y/z++7hPgqq693Onna+UXcd53dMXm8bMyPB9Lti5Ce5fWaCiOg7VTx33uW6L0ePxK8PJcdNHIVBvRjsd5exLq78xpb7TTCb0wKaAesR7FdYM/PZ2ueHnQH333XGctv5PG+pcLS9En840wxIkGK8YbylnE8OluxlWkNP1tWGXvXTWcgx6EHH8xbm72aUyDiTpxl+wGf1IlWLKUddldHDJ68z1Hlzs5z3720n8PnVkUFep58Et2PP57XVZ1Fg9Dg6EqXSZdk+rBDuBvoL+XZq3La0SKHYk/U7K1p0xDp7MSua691x/nnsXgjXL3XXeVqTH8Q00dkhgeA7ljQgExT3sxn1W4yGsDr6abI2QcGsPOqq9D/1lt57cQq7hZdPTyYDHwikTA9oDvLxPQDh8LI86IoExUp2kjZbGvx2dJ5tnV+/bOEp9sUctu/+U10PPBAXkFXV9EHDPS5ixul9Hh9bV4BfOeQjPNBVvfFTs8y+SyjvNwBfWjzZmy59FIcuPvu9APXc+jxhxiyDzsPSR7vq+qdKetoJQcJfn8pFHFyOZImZxqAx8TMW2IyBwwPY/8vf4n3PvEJdP/1rwUBXXlwB2l+wAXeuxxvkqhMrJBF4Dt4ds9xQLMdLJTd9Gec5kwBhvccv2O5ep/3Gs3aWuc93U88gb233ILDjz6atDR5ITbh4nuBA/bYGD8GeGUVIo8/dIBv4tkLjIAAng4M5XXeY+OBmKv3qddiciWrqgqDW7di349/jE7G8khvb2Jx5ILUO+Qu4vRu4CO4U6ApbBMRM+TzPmEdvQT+Qyb/Z5YHlNIzBSjvni+OizhOwEUJdu/tt2PPrbdipL09Mfq04ELYTePCO4GdSF4DKi3Vi0Egw/vcFQ8jtNayIHW6zAWI2Zwz5jzZo0bM2CHG0x965BG033gjel98sSiAw4Ms43vfXnfRQjWqO6k0E/JJ55x17/mm7V00nDqgKSjAZ3IdufLoVJ/jHJc5uVlRgYE33sDe225D529+4/SlL2YnVX1Zkw8I+qA7v21EAz6txzvKnnl8OwPETgq8pjgCMlTaR9xlEqdTAZ3J+7zniDq7RfEW7ejAbtL6gTvvxMiePYkBasV2DOXebwPvwl27xrsa+xjg9feK+k3PVmDj2cCpIRR+AOB4+ftEvTqtB493nkzPnMpbOIyD992H9htucFrXxFaGYGyKy8nU0Y3AJj4dwuj6EWljvPJ6cfLwDr75MMVBC1BhF9nTswEsU/DTfi/PN5mPC+D7X34Z7TffjK4HH/T1mmJvMXlNW6jmO9wFCoWw885onVbVi5OHmM9vp9dvmQWsiBeLyrwzU+chdvtSvIjjQq2T1od37MB+Qet33YXIoUMI6mATBd6LwFtxd326YaQYsBvyYVS14MQwD3SQMl5fQ+CLTvcqvk8wTmdrIJZQ68PD2HfHHY5469+8ORBxPB3NG27RZvgt4A0+7daAT0v18ADvtOp9CLy5Bzg0H2gshteLVEl0WrDENOVZVu4yysslrVuM4+Kx929/w+6bbkI3H22p1oO6woWt0fxrwNZ97ooVg0iewjxpM9N8VkTS/bZ3gHf8RFYhtkhfn7PWjGFZGRd3UhV8Up4j0zMxslXQ+vbvfAebPvlJHH7qKZgS9CC3Wygm7OfTF8jQcTeNG/bEdzsd8LYnzos3dxD1f1ApjhgYuzhwvvPSaGenky7pwOesQUUySEguc7LnJz/BOxddhD2M56KTRKksYqQw2UysmMa97BbuHMb2TeXSebxO9/3ttCJ+6HagsNOaiouL9PejT6RNgpa1VSkm3f4u1Lrwcir2zocewnuf/jS2f+97jscH3cPhU3wRadgzxIkMvVWmcRGkWW8+lIY5Yqp8y3fvfhX4+0rgxGp5+40C/rCef/wDMRqASKnsyCTmlJZxXAxfElW3oU2bnDgugI/LlSpKbaUqhewuOugzDvZOxwsdeEzE45WVKLofoFp4gaa0q5Dz1asL7H7+eWcdGTG3fNY9aBirRWOKMyExU7Jd11+PjRdeiP333++0mVsl5OVeISa2v1LXdblFm0GMrk+YkpwzWYUq0ZRMGqleAZyiJk7zmyQv12vSOHQvliQZGUHzunWOxxtjUv00a9Jo6ZnYDhJoQen7773X6f8WQuktRqQXbASyzLz6/wu4a8gFvktT9ClnmR9vMSKdFcoOkUJmAIvbgBZVvzfyDLy6AJFHV7W2YvqaNQ4t+w4I81mkSFC6qLz1v/IKdnz3u2ingBtub085rXOpAK+v7nknHZ65+5/5dD/c+nwYSD/TaiYer8+iFe+kLmCsX10lDcIsAPDOF5Oqe557DtULFqB21SoYQmmIDpieIdTiuGofN7mH9+7F7ptvxs5rrkHfxo1OemaluI5SAV7FYGG8bxDs9cDdYTd3P+TxdmQDvNfpHMon3Q+JKbFP5K7GYJsT/OHZAC++Q8whd+jxx531ZIQBiJGmouBiqp1Ai8EKouI2SIbYt349dpDWOx97zAkVVgqgS23BQcXfRNj+OfCnbcATcJrgE2lcbLwEzMjA49U0p2JmBTGfyszpwPnfAK5ZADQYGFvwzwfwurWLHy4WEGw491zULFuGsuZmx9NFoWd42zb0v/MO+kjtI11diYs3UvzoUlxiNCJBeYSp+y3AjRGnFRYHNeCjnjI8Mknn/NJEyO8TNNLLT399A7DhSuDLlbIJpVDFDlOL+X3cHZFJLxfx3FlbVva/t4BANqZMVsUrRCnoBu8B/i/i1ld6ZQoX1ZIue7z7OJHMYVh+SddG4NEXaGmmVhcs1I9XwCqBZosFhYXgk+XVUl85Ol3OroordwOPU8m9BLcxZkDz9IxqbGaG91ovEA3JL9v1KPDABzQCCyjodJ1+saiQRaVibApwy6X4d55kbJdxvUery2dcVLUmeI+TNlrBIK0uvgxYJmZL1lvv8hXjJ5tBlGKMj2sqnsG8i3H9l0T6LQl8nyboMl4dLpvQnPTBYogOKaB+CXCC6UkBpoDPzfuj8jWdbPhm4LftwNNwO1r0SN014WibC00W30XLqwCOPR6YrS9sMwX85N+v+FvE19uAP79KQcene2RNfsBTnrXzBbw+gFb/kjClZUczvb4VaIyNU9WbAj6zc/UO8euB5/4M/Abu6JgujeKzWgtpsh6fSPd4gUMUep2zgcWzmGbHMHbm3CngM3+/GtkiXv8eeIOp2118uk1SfB/GdrQoCPC2TyHJJuf0CPDnASfOAGpSef4U8OnPVb1gxL17GNj0C+AXPPaeFte97e0otMd7PT/OK+oi7fcQ/MUtQHXMJ+ZPAZ++HKtA3wC8fzvwP3SojVLBdyPDZtd8Am948nzVZcum4uii5x86BlhE2p8WSyH4poAfK+RUPYRJ+qY76OlDbjlWga4GSGRcqMlnjPd6vaNHCH7nFl5wEzB/DlAXRfKKR5gCfkz9Xd28PwCv/wr41fCopx+Wnj6cjYLPN9XbHvBjgvbfAfbWMM2j2m9RJ5hTHj+m/m5Id74TeOZe4J6oG9M7tJJseKJFmkIAPybWy98T43/dBH83r7h+PjCnnL8xPo7oOxqAt7WbJNoW9hHY/ybDP0oRbzuDXR0hp8f0KHLY1zUfjWq253fF+GJgK7DzII9T9LVOB8qiE6zyHSnAGxq12xKAN90y7L2vAX+B0/CWpN5Hcg16vjx+DOVLix3aA3z0Pn9kPXAMhV+dOslA7vqhBRl4We9I5OfipjzIOP5z4NftwLN82Y7RDhVD2dTgi+nxfko/IvcR/qI9G91B+5XHAnOrJPXbE4j7pQS84bkRKsPZCfQzVdtA4O8fchtchJd3aqCH8+Hp+QY+1W92wI+6hZ4dpP9D9P6ZzUBtCKM9CMwjCHhbc1mnAwmfPgFs+Snwu81ul6kdmnLv14ozMeRx/Eq+O87YGk3FtKKUoLBB/tL2V4Ftve569c00ggpD8wqjhIGH9mMtiSTd+gDTtEf/lwJu0PVy0dhyUMbzAa0Mm/ehC4XqMeUVfAp8MUrnMGlvC5V/O829nHl/E9O/kLISPfUrBeBtTyFGbFv4G38LPM/99zvd0S5CwImu0F3Sywc0ao/71EjyQseF2HTsnPVr4a6OJDpwToPbiVPsc2YBK9cCZ58JLKcRlOlvsiZRAMon8HrHRP2R6PYxPXv1ReDFw+6cNEqtq3Z0PZbnldqLBbz3fikcy6UBVHOnozuL4zUKA2gBFhP8NacCS+fwuFo8Le75gGIBr1OYnqbRdePULp106zdfAl7pc3Py/TKG92qADyN5RiqggCPRi9FNzc/7yz0MUCd3QfsLxbCtVcBJxwOzyAIV5VqVyEDycC4zD8Drm46QGn4lENxL76ZL730FeIN5+ZtRd465w7IIowOuhi/rXl5Q0IsFvJ8BqE6zeggQe61kgjqeNLeVLEDwT1wKzJ8PzBahIKQBorcFWD4Ug3HEmO7NhicntT1MM+Ty9gCVefvbFKh06817Xe/eJ4FWsVuJNn28+pj544tx81Fk8OHBS/WQFgZQKfdqyQTCCBrp8ccwHrQeRwNYBLTxce4MGgetxAhpHwSkHx83nhHoXh5x0YxRhneSyncT8J0fMRU77JajVXm1X3q27t0qhkfgM6dssW88AmAA3hBgaWGgTDJApXxUhiAYoYEnNDfTGKgF5sx1q4ItfF1PwVApev9WuosoWiE5+MPweDZGERGdSWJ0zyiRi4klWphgH6YLdxDkve1Mv3hsf9RV4zrQAxrQwxLsiCbwvRMU2AiIxwUF/FQiULGArgcqPGFBfy5Ww64TKynTOmppHdP5vIYnlJe5mYLJD7XEcEsiEhWAE6UIURuh3O6jIOsjor19rvru1YAd0mh7UD4qrw57YndMq18kzTEXhC1Io4y83uBtxFJGoJhA1wU6Mzg731RGlwx1J5+vhxbTU2DypuH6rkD1Pka1Ok1Uo/K4p34BBGxV9iAPL7N92FgZQFgT85a2q4mjLe3R8sn+jDRtC0nNyh4P1ju+6s9TgR3YrRTGFXpvon7jDY+YNz27d4RVqmzN65k6mHpLo+1hCT9lbpfAPS2pAaW2j9g2Uoh3I8NsLlWo8TMEw1OkQxBj95EIfDo9YKcB1chCxKai60yPTQFfZFYYzyiOCBCz2f5fgAEArFexS9eRpekAAAAASUVORK5CYII%3D') center center no-repeat;
- position: absolute;
- z-index: 3500;
- cursor: pointer;
- opacity: 0.8;
- }
-
-.playIcon:hover {
- opacity: 1;
- }
-
-/* Effects */
-
-#topScrollFade {
- position: fixed;
- top: 51px;
- height: 33px;
- z-index: 101;
- left: 0;
- right: 0;
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAhCAYAAAAYucG/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYwREM0NTA2QkM1MzExREY4OEFDQUU5NTc5MTFCNkUxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYwREM0NTA3QkM1MzExREY4OEFDQUU5NTc5MTFCNkUxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjBEQzQ1MDRCQzUzMTFERjg4QUNBRTk1NzkxMUI2RTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjBEQzQ1MDVCQzUzMTFERjg4QUNBRTk1NzkxMUI2RTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4NLytwAAAANElEQVR42mL4DwRMDEAAIv6AiN8g4hec+AkifmAhvoOIb6isb3jFvmHRhs3kn6gu+A0QYACIHCJCHDLYgwAAAABJRU5ErkJggg%3D%3D') top left repeat-x;
- }
-
-/* Now Playing */
-
-#footerPopover {
- position: fixed;
- height: 150px;
- bottom: 0;
- left: 0;
- right: 16px;
- z-index: 10000; /* Top most always */
- background: #333;
- opacity: 0.98;
- }
-
-#nowPlayingPanel {
- height: 130px;
- width: 480px;
- padding: 10px;
- }
-
-#audioCoverArt img {
- width: 100px;
- height: 100px;
- float: left;
- padding: 0 10px 10px 0;
- }
-
-#videoCoverArt img {
- height: 100px;
- float: left;
- padding: 0 10px 10px 0;
- }
-
-#audioArtistTitle,
-#videoShowTitle {
- float: left;
- padding: 5px 5px 0 0;
- color: #777;
- }
-
-#audioAlbumTitle:before {
- content: ' - ';
- }
-
-#audioAlbumTitle {
- padding-top: 5px;
- color: #777;
- }
-
-#audioTrackWrap,
-#videoTrackWrap {
- width: 365px;
- white-space: nowrap;
- overflow: hidden;
- }
-
-#audioTrackTitle,
-#videoTitle {
- color: #fff;
- white-space: nowrap;
- overflow: hidden;
- font-size: 16px;
- font-weight: 700;
- padding: 5px 0;
- width: 365px;
- }
-
-#audioDuration,
-#videoDuration {
- float: right;
- color: #808080;
- font-size: 20px;
- font-weight: 700;
- padding: 0 5px 5px 0;
- }
-
-#progressBar {
- background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAAAAAAdccqdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUCB1jsGfiYOJh4gJCdiY2JlYABfcAiC/XwOEAAAAASUVORK5CYII=') repeat-x scroll 0 0 transparent;
- border: 1px solid rgba(0, 0, 0, 0.7);
- float: left;
- height: 8px;
- padding: 0;
- position: relative;
- width: 365px;
- -moz-border-radius: 20px 20px 20px 20px;
- border-radius: 20px 20px 20px 20px;
- -webkit-border-radius: 20px 20px 20px 20px;
- }
-
-#progressBar .elapsedTime {
- background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAAAAAAdccqdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABdJREFUCB1j+M/0g+kr02emj0D4mekrAD41B7hJ9Jz5AAAAAElFTkSuQmCC') repeat-x scroll 0 0 transparent;
- height: 8px;
- left: 0;
- min-width: 5px;
- width: 0;
- position: relative;
- -moz-border-radius: 20px 20px 20px 20px;
- border-radius: 20px 20px 20px 20px;
- -webkit-border-radius: 20px 20px 20px 20px;
- }
-
-#progressBar .progressIndicator {
- background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMpJREFUeNp8kD0OgzAMhe0QWAB1RoKbVKrE0L3H4AztSM/AYaoiVepNuABDGPhN/dIODJQnWYmTL8+O2VpLUJZlJ1kKiSN99ZaomqZ5IWGAApVKqWsYhuT7vqPGcaSu62hZlrvAN07TNBfoGccxMTOtBRNjDM3zfNYoBxc4bElrDbCAY+t53oF2JKCBI/V9v8c5V4D1NE0XebUJSTWAD4URoMdhGJzzOnD2m0LlfiZ9lkmS2CiKbBAELrDHGe7A8Grg+Z+B10g+AgwAK9Fl++J3PdcAAAAASUVORK5CYII=') no-repeat scroll 0 0 transparent;
- height: 10px;
- left: 0;
- position: absolute;
- top: -1px;
- width: 10px;
- }
-
-#nowPlayingPlaylist,
-#nextTrack {
- width: 416px;
- float: right;
- cursor: pointer;
- z-index: 1000;
- }
-
-#nowPlayingPlaylist {
- clear: both;
- color: #fff;
- position: relative;
- top: -16px;
- }
-
-#nowPlayingPlaylist ul {
- list-style-type: none;
- margin: 0;
- padding: 0;
- }
-
-#nowPlayingPlaylist li {
- padding-bottom: 2px;
- padding-left: 4px;
- }
-
-#nowPlayingPlaylist li:hover {
- cursor: pointer;
- background: #004986;
- }
-
-#nowPlayingPlaylist li span.duration,
-#nextTrack span.duration {
- float: right;
- height: 14px;
- padding-right: 4px;
- font-size: 12px;
- }
-
-#nowPlayingPlaylist li div.trackInfo,
-#nextTrack div.trackInfo {
- width: 364px;
- height: 14px;
- font-size: 12px;
- white-space: nowrap;
- overflow: hidden;
- }
-
-#nowPlayingPlaylist li.activeItem div.trackInfo {
- width: 362px;
- padding-left: 10px;
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIZJREFUeNpi/P//PwMxgImBSECyQlWCKkFuBOI9QBwLxBxQPgaGMS4A8R0g7gNiFWwKYVb/gGI/IJ4GxJHoNjNCg+ckEHMA8V8gFgPi10BsiKyQBeZUIGYFYi4gPg7Ek9FNhCnkBJkOxAuBeBYQv8Ll621A7AfETIR8rYBLAQwzUj2uAQIMAPXkkCPo9C41AAAAAElFTkSuQmCC') no-repeat;
- }
-
-#nextTrack,
-#nextText,
-#nowPlayingPlaylist {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAOCAIAAABhIeELAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNoMxSEOACAMA8CmAdai5ibBwf9fCOJy8DQyE1WFtTfuPZRMW4y/FFSIIwZ7/1ojgCfAAEzrAiPgCWVXAAAAAElFTkSuQmCC') repeat-x #606060;
- border: 1px solid #222;
- }
-
-#nextTrack {
- border-left: 0px;
- color: #ddd;
- padding-left: 4px;
- }
-
-#nextText {
- clear: both;
- float: left;
- color: #457cbf;
- font-size: 12px;
- font-weight: 700;
- width: 54px;
- border-right: 0px;
- height: 14px;
- padding-left: 4px;
- }
-
-#playbackControls span,
-#playbackControls span:hover {
- width: 24px;
- height: 24px;
- float: left;
- display: block;
- -moz-background-size: 24px;
- background-size: 24px;
- -webkit-background-size: 24px;
- -o-background-size: 24px;
- -khtml-background-size: 24px;
- cursor: pointer;
- }
-
-#pbPrev {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAxVJREFUeNrsWU1q20AUluxgsEBgCDjUYBAYui7kArlAu4+7T/dt9m0OkAMkB+gFeoFeoNB1wCAwuNhgCLjIUDDuN+W5vEzejEbyWKqKBx4zaKQ33/d+5k/hdrsNmlzCI4EjAc8EwjAspQh6eqhiSBcSQdrCaxtIBllDVhjrseRYfgjg2w6qM8ipAXBeUYSWkDnG/VUZAXyjwA4JuK+iiEwx/uagBChUEsHiamAVEisVItCTCd9GFGIq1HoGHWleaJUmgHeV1fvaY+X6Gb5blohl5cEBpKN1LaBv6pUA3ku0kNkQ8MW+sQPdfSLCPbKE7tQLAQG8Co9JkcRznBBGNINZSRQiIISN0TKeiOjGehZOzgQoYUdVgbeQmPDE5phbOVNlwsOmCvBkxJTCdFcSwvOstCx6hiypVMJOKt4lTGjcgHAMnQlQQnEXznwmrKMX/kzP7NEp4XLywBmf531MlSVJLGidkXBZCTyxfs0bzpkBl0yAZp6/sV9mhfXshSXPBcJn9UDM2rnbXSi8I3ltecfWdw4Z5AzzaMAnEuiy9srBSOckLwRwA0UOzY9CXwz5gOad9K1WVgZ8wYnwMl/K13ssRsrq73WL7ayO6pMDcAlHlEegzeIvKwE8JotfGPquIJcF8yBjq287j8A+W4ALAi9Z/SWq2wJWdyo+CVxKwFn5fIhZquVR188CifhPEvgCeWcBqvoeqiCw0c6wRZLtG6o3kK9C3wNkjOZ9idyKJHwmAplpznUkoe57rtG8kbyBvnvyxo8CarsGfCKBtWnVK0hEhdRbKWzIU2PJU4YSm9amE0Oy7Y6QvT33MWojNkYIXEmeQnVNU29egvdMk4F4pMSzV2zBSOvc0NHVS8I2l99djpQc8CCotwwMuKwE5qzdoXubOqzf1y695k4E6Dj3xAvSce7A4Du69aVjrW0hm2qH6lHFDhhplwrTQisx3RLza5SI7muqsH6ibZtT0631/30zZ1HanLtRC4nm3E5bwikImvJ/QLt2SYIm/qFhCpr7j0xIvOb9pbSEVv3/iZtWjgTqLr8FGAAhgOqLmi3nxQAAAABJRU5ErkJggg%3D%3D') no-repeat;
- }
-
-#pbPrev:hover {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACUdJREFUeNrsml9w1NUVxz/3t0lI0pAsICgBmyhq/0wrS6t1+mcE1D7olGSjVYt/JhtwbF86ig8+1IeYB8ZHoDpVEExS1FoZzB+cju3QSXDs1DJTWXEcq1ZYSISAEDaB/N3fvacPub/k8mM3f6kzznhnzkx2791zz/f8u+fcGyUifJWHx1d8fOUB5IW/WLdu3ayZtbfviwIxIIYiar+uAI4BIKSBJJCsqlqXnu0++/btyw1gpmNva3tUKRIKarVIbHxiitBqaWtPCjSL0HRPvCp92Sww3fHnve2VCuqNkGB2eSBmacvre9ubBBruv6cq9aUAeHVP29PaSD0A5pLplFIkFer98IQgK0WIAZWhqQSQeHVPW8MD91Y//X8D0Pxaa0xBo28cV7FCe0ptA1ofuq96Si2+/HpbJRA3Io+FwNT/8bXWaoGa2l/Fp2UNFT4HcgXxrldbYkCHmgjOMW2jGurWx5tm64qNf2pNCFLvApGxYF+78YGa5FRBPK00+sLulphv6NCGqK/B0lZtWDUX4QHq1sebtGGVr9ka8NaGqG/oeGF3S2zOFni26Y2Y59GBqEDzaeVR98Z/aANUFp7TDun9m2suWvuH3S1xMTSCtbKStDGs/W3i7mQuC0wKYMtLe6Oe4hCiAvOmBW578zN12AqvZqhwmeR7AaTqOlkpQocDImWEVZs23JOesQtpQ2NGU5kxQsYIo0Zuf/Mz9QEQsb+NWMpzKDIXav+v+iBj5LZgz4ymUo9ZZWalxDPb98Z9Q9w34BvIaJ7461HvsCP4PKAQKA7RN4CiHBReW2T5zLPgPcB766h3OKN5ItjbN8Sf2b43PqM06mvZoiYc5EBnd+RZu0EeUGDJ1fp0YkBCfxtLGsg4pP5+3Pv9muW6GlhtM9MWoHVaFqh/bk/CN1KZ0UJGC8O+bLD+Hmi+yGq6FFgALASusLQYWOLQlaHPS+yaxXb9QqDM8iu0/D3AG/ZlQyCDb6Sy/rk9iWlZwNfUOuHZ/K9TecdD2i8GShw3KADy7RqVhVztG/u3BnxgBBgCLgDnnTXm3Z6847dc6TcDtZZDLdA0aRp9+9OhSk9x1LHzte+dye+22i+2Wi+1Wiv75XcjDxkhL5WW1HsnTSrQnhPolJcSPdFPOiS8AUYWFELE4/yZQT4HeoF+C2YI8Fctyiz3FEcCeYxwza3XF6VyWkCLxPUEpuTh3oJjoWxTaM1dBixaWqLuBRgY5R2r0XwnICM/X+HFvr3Iu+XZg/52x+81kPlhuVr+o2Xeune75fkzg2bY/n7UWmUU0IfO5h+7ceFo0hZ+AHFga04AvpbVjvu0BZZyABQ4lligrWeMGikBlgXBvbCQkjtviNxcVkiZXfPNwDWK8lB3Xh9ZedV8rgYY9SVqY2nA0qDdTwHKN9I2DkBYPSmAjKbSAdDpAAhAFFi/LwFKtQl+J8U2MAtuKlfLb1ziVeTnkacnqtUlgLlhEaU/uzqywp3zhfnWoueshfNdABlNJ1BvAVROGsRupanGuiflgPAs84LgDNB6/NCbFy3kitUV3nWLi9V8gGAOYF4eC356tVp0bdQrC8/5RoqdLJTvxs/YWknKxX1E7jTqGxmnHU+tT2cBEGSjfKBAi6BFWFqiFv/iOu/GhUXMD75zqfoG75sVZaos25wx5Nv06cbPuB6PDBb2uXJNbgE9efEXAqK0ZVhSQLG1RNZReLE7hU83L5Ry1XTl8i6NARmnLMNNgxrQ2owJ/eFp6f7wtJwIPofpn91ydtjHZJtz+BmnsLuoas0lV7YYyHX8S+gAGgVG9MQ5kvl3Dyd6BqT/pnKuKcpjnsvk016+6LkgvT9eztKFRZSE9hgBhi1P3wEyvn8WuXLEwETDQtWTL0cdwYO6JeOcngOOFoeB9Ofn6XrrUw529dET0nLv+VFO/+0IyY/PcCQ0N+gcXiNhEFVPvuw2UlNawD00YsDbjvtkrKADQB+QH/i1GisDuoH8EUPeP7rpunYB5d9fzE8iigLgeKCIQ6c4cuICyZuXcntBhLKI4hxw1p7CAQgdKM8gMTMRP8mpgjjlAFhDPgey1C4DNpWOB7Hn0Q/quFOdekfOkUoP8eEPrpK7QB11tGpODeB3HOP9VVfKrXlK9VoA54MSwpIA4mvWuH34pAAyRg7Y4xqQagUNjgsFFrhg3U9/0svvDOSnh1TaHkSem6l6h2F/SiVDSUAAPZAh8063OmwV0u9YIONaIGNMtZOYDkwKQBtpNWO195gL9fdXFJSWdllmvgXg2c+jH51VB7JUouRoOSUUU9qJqUELJKiDBJDR/v4KFLEgpj11cU9wSRB3bqtN+ZrO8aAZu8ASB8CoE3R9toI8A3xh6RTQA5wEToTopKUeu+60/e25kP8HQWx8I/VOAHd2bqtNTd0PGGmGcb9L9J3tayhbVNblpLwgJkZDLmNmcDshObqy4DwwfWf7KpQi4bBqnlZHdvD5RJOvJeV0Q43ORsYKPmwtMeRYZNDSeft5Mhpw1g9ZfuPC799cY3wjjeMyaEkdfD7RNO2m3jdscprqNT0n04+FtOU7QT3iHEbDof42oNEc5DuC+4Dev7nGfG9D4+O+YY0jw6YZX2x9p+6llomMBMbIqo+bNybveKolW8tItjJguvdF7iXXt2p3xTxPHXLmWz9q3FAz4/cBbaROmLhNFuhY8fCutfs31yRdQe94qkWFb9lmO1Y8vCumocNMlA4pBXWzemL6pHlj2jfUZHzSGR98n6g2dFQ8uCs+2RXhbEfFg7vi2tDh+0QzPmR80r6h5pPmjelZv5Ed3b0xqZG1GSNpe1sW9Y20LFu/c0v5/Tujl0Pw8vt3Rpet37nFN9KSMRK1+6Q1svbo7o3JOT/ydb3ySNIYWesbSTuNxeMaObTkvhcTcxF+yX0vJjRyyDfyuMM7bYys7XrlkeRlex8AuOLeHZUitITbOhFSCNsEWs+98eiUDxML7t5RqSCO4jGlLnmtSSpFzZk9uflM+3Y61yir2fH0eJN96emUApIC72dp51YCMXXpE1MwGvpaHp3yiWnOAABK4jsqRaRext635jQUNCmlGi60Tm29y/bMajerm7du+yYgIUht2LWmGEmFagaaRvb9+st/Zh3vBcc23wpsjdz1QtR5Ps2WodK2IUnqv/wmfTkymPr6nz2+BjC38b8BAE58Q+P5oSYYAAAAAElFTkSuQmCC') no-repeat;
- }
-
-#pbStop {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAp1JREFUeNrsWV9rwkAMb3UIFsaEgmJhUBB82Os+1D7APsc+2l73IAiFQUWh4BAqlBWXg7ClsWnvSv/Y0cBRLXfN75fkcrk7+3K5WH2WkdVzGQh0LXf0j23blT4C82gCjxm0e2jqtyN0jaEl0E7QjqAvqajvD3PmjyEBGOvCw0XgVUQRiUBv1CoBGKOs/YjWrkOUJz5B/7FRAtB3DA8fwyUvPL7QqjF8K80Z66C3HoQwUwQCPrYWAtBPKVzlWF25PzSNZ5w3HoYg98YWvhfXRgDBr6GNWfwGVSciI+KzeaQ8sJFIGBEQwKt4PdSZDkHPHOdVKQltAmidJwK+0DI1kODGUvo+uJcp5rKFbNUWeDSg+vYGdVmoe1VpJQaWHssUQZPgGYmAvHIQiz4BDJ0leXXQzdE1kVC66BxbIiZtD3gsrYUdlDkh6s7DJBPABYfm5rBsYWnICykznIvYSj1AwSemdUrNJCLmBbewGs3ptDdIgWuDou4E4DaaffdkfXDZ3MgSIPUKrU105RXas2bfd2gvmn2PhICDGFMphBwWPonVsSCGRMB4RWDKqstbkVjAeEWAhtT5hgicpbAfNvUDgYFAVr6l2d6xTAWMVwTOUr7tWBwpO44K8u1EKmHbFMQwkdYnfjKXwoCYMJ7x2qNA3kxqIQMO9AgnRoyFxVxECCx0CRgUZ6ayYNhKs1DEwsjtMHxcFj7lBHAjQTt6eRuJFsCP2S4syttYjQq2c79ekLZzDYvHrB9qL2RYwu7Iqzke6LZlfaVrTl7tpNJ+VDApQ5ayfDx4ahq80uGzzBNWLSW2VvaQad0kCeFkbluY/f712WgJiX6cTjMS/bwfYLnZt/p4Q5OT5vp3RyYs9f27pRTiuft74mFPPBAwlx8BBgDogIiBqL/sAAAAAABJRU5ErkJggg%3D%3D') no-repeat;
- }
-
-#pbStop:hover {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB9BJREFUeNrsmk9sVMcdxz+zWYJjaNhQ2gb6J1sOSL2glXKN5EsOPRTYjXGBpIhdIEBRWthKjZRUiuNDpEiVatMqKnFidhEklFCyC/SIFPlWKYeuqkiVIsUYmkASCjzjgIE3b349eGaZfX62dw1pFYmRRs+7+2bm+/39nxkrEeGb3FJ8w9sDAv/vlvY/rFu3bkGT1E6dzitUj4IckFOKTPwdEQKgIdAQZLSwYX19IWudOXOm5bPynbgTAidqp7MK9ikokgB43iYEAlWBA32F9eP/MwLH/noqo1CDKIr3zQ6EqiDlLRs3BJ0SSHeyzpH36vnIUEFJhtboGyioKxgFGs/2bWjEx7574lQOyAn0COShRWtFhPyR9+qlrT/Pd2RabWugcqxeUTOlPq5gYNvmfLVToR/+S70o0A9kY74yVNqSL99XE3rrnVocfKBgYMezhaF7tZ6Rd2v7LZGMR6L6/HOF0n0h8OcjtYqiBXxDKQq7f1Focbynf1dTce22WLnXzr5WaPn85tFaVoQa01HMDaj+cutMEh0R+GPl/UGl2O99Vf1V8ZlSDLTywKoE8HES/lN8Mn+qvl/BE5YIQ78uPVNeEIE/HDqZB2qeOKvl7b2lBOCup2xXc2jA2L/dU+JEBg+drEirxgu/2d5bn41AYiZ+ffhkRmsqWoPtjQTwKeAhYBGwGOgCHgGWAN/y+lLbu23vsu8vsuNTgHImWN7eW9Kahrd25fXhk5m2MrFrkZFBc9epAqVUIWbbDnzaAnk49nzI04yTeASEXr9jnzqmHSKhICL/sI6dERgESm3VQq++cSKrjRRDI4RG0EYGXtrdO26ln4pJvstK/FFgOfAd4HFgJfB9YJXtK4Hv2d+X2/eX2PFNTdj5eWl377g2MuBhKL76xolsWwQiwz5twPbxV/b2DSXYfdpKu9sD/10L9oc2tmeBH9vnE/b7VfY9R6LbzpN2cztTemVv35A2jDsskWFfWyakjRSRpv8NJIRGZzpO+hkLaDnwmLV7J1llTeMOMAV8BUwAV+08Yk3L9ZbwqjUDQMWGmyJQnjMTj358M69SzcgT/L686TEvZDrTedg6a1PyTyxTP1n7eOppbeiODF0ipI1M+4FSiIIoleJOSnE7nWLqn5+bs+cn5F/Al5bMdUvwDhCdfa1g3Lq/HTx+zSU5MRR61nTXZ9WANtLjSb+eIH3nwM7+lwKZZV2szi5TP203+54PGGOCS8BN26eA27GcAkAYUW/mBpGeOK4WHwgNuTASwkjQkYwmZFnfhBY7B9aGpVqEtrthqefIi+18LnK1ZHUdyajDFJq7mTpZA1pyKOWQNpKKP0vaOXEXsEQb6Tam/fpHG+n2opBz4lRSBtcRDbmbmnNzRiFtyOhp6XPw5c2NWWqbGSQiYbGeDndt9UiaiS8JfAuJgy9vbjhM2szcOMV9YN7yO1Y2pIG0COmoAw2ITI/zwKeS7L8dXDECHVXCzbxgBBWZ9s+XjMyoo+YxuTY39WE0Lwi/kjR+DI86OyDzY79JqFRpF1erBqK2QBiva1fT6Kgj7blaSMfmS9bAHLhSMY8PdAQ6gnUvHs3NIf3IArgFTCFMGYF2O8KUjf23XPKaTQvrXjyac5h0RDBPFJKGFy1yCTsoX/K3LYhJBTc6iUIKbgCTXgLzNdGyY9NGct7YxpwEQiMNrwLsmcUHXFl829U2SslkFEG7XSmZtDXRV3aeMKkWctWBwxQmEIiH0VGwW0ghH6vBxSOgveLs2lig/j4WsBf4NrDM1krxYu6mlfpV4ApwzY6fsvNF3hq+/ee9ODU6pwY+GNpWDzVBqCGMyDz1wuFiAgET00Bgi7JLwL+BcWAM+MQ+x4Bz9vsL9r0v7ThfAyZO4KkXDhfDiEyoIdQEHwxtq8+7H9BGqs7mwkj6Y34gMR+4YYFcAT4HPgXOW8BjMQIXgM/se1fsuBsxH2jZ5IeR9Hv2X213Q3PgbsqX7JN7KvtjWvDD5y1nRsBlC+4zS+SCJXPBfr5of7/smc+tWDhtgn9yT2V/JJJtYjEcaIvAhweL46GmatWG1vSv3VnJzqGF+EblMvCFNZMvvL//Y3+f8Gw/Ufprd1ayWtPvMISa6ocHi+Nt3w9EhrI2Elj2mchIzTMlM4smHJFJu0GZsP267ZPWZKaSJO9vYiIjNW0kY9cPIkO5owuOjw6VAh1JqVkFRpJbs22kEiNhvHLCEXEamfI2Kze973zgrowwPvg120YqOpKct3bpo0OlYEGHu6u3jgw2w6o9mRs7sqM0y5HiXKdyiadz8SPG1VtHWk7mgKGxIzsWdjLn2o+eG6mIeJMqaYih8OmxnXNeSvi7qjjQePvBlrezKkUNUc3srxTVC+/suLezUddWbXo7dtwnATBw6fjz93w6vXLTW/uBflAZ/xjz4vGdbZ1Ot3XJd/H4zlIkMnQ3JpPRhsEVfcPnVmwcXtBNzYqNw8UVfcPntGFwer5m6B6aDfw9XXAALO8dzotQid2uIBCIULepvjFR2zWjZllWGM7Z4/MepcgrZmwPA6UoXT25q/613pE9Whh2Z5X3744MqgrK12u7vt47MgC7SOmR9W8OCOyzRDILAB1Y4AemTu8eXyjz9EIH2kXLQHnRzw7mReixJpKbhVDA9FFNQylGw7/tqd8P1akH/+zxgMC9tf8OAFnnK1XN43WDAAAAAElFTkSuQmCC') no-repeat;
- }
-
-#pbPause {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAApxJREFUeNrsWY1qgzAQ1rYILQiC0EKhIPQR9lB9mj3A3ml9gUJBEAoTBEFQGEh3GddxvSXROGvqMBD8T74v+XKXO93r9eqMucyckZeJgO2yoBeu63ZqBNZRAAcf6hLqCupc8loNtYRaQS2gr7xjX3fXLr1hQgC+8+CwgRoqADcVQSiD+gH9fg5GAN4XYHcIvK8iiCTQf/1QAiiVSDLiomMhiUJIBNopJd+uUGJCaoGijbhJWp0JwHti1Nfstpj6C3yXddCymMEtVI89SqG9pFcC8E7EJFMj8PSv2oG210iEzkgGbce9EJCAF/I4myy8lgZhjxZMS8KIgEQ2ypHpiQgfrF9y4gRmDQt2MPA4gDFapFtZIw4zT4ymMqKyeTR4RoJasQjxGG0ldmRRiQV7HniHcMZ+HcSxa00AFxTV4aXPBdtyFr7NM7kVIq5WM7Chdr4PU9mRRIp+RoZLS+Bu9C1vNi8KXHICuOJ/tN/Fw/Y8CxldCzKLtGDXPjlvvd2Fht/g8EJuHaHzA3n+zj45wPNjy+ZzMvo+x8UltCTnxZPELIUCn5QAdeXVkxCoFPikBOZEf+UzoGc45lNQPxGYCOgJ1CyGtV4YjrqJQKmzuZbKUoFPSqBSeGWbxdf5poXE692isMCgk1fWEffiB3Z9Mmg70O0OeGoxB83V6DDE5ilss6GDd04Nz48d9R+yzWXeJiamgLeW5bNV4NIS+CDnHuZtbFgf0a+nwKUmgOHc3SyowrkHgvf46KvCWpUjS1hQvR94AvYsqZAYeWLMEtM0ygqTTkOMfsS2zbEuaz3TWA4R+aQsMxANAJ5n5rSR4f/OjWpIjCc7TT4c7/8BlnaJnDH+oSENjPcfmWThje8vpUZa9v8TTzHxRMC8fAkwABzhg7l0cw47AAAAAElFTkSuQmCC') no-repeat;
- }
-
-#pbPause:hover {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB/RJREFUeNrsml1sVMcVx3+za/PZkIW6VSNVlRVF6UsVbZXXSO4DjwV2YxwgKWIXE6BRWryVGilBCvFDpEiVatMqKjGFXWQIJRR2gTZPqSK/lge26kPUSA1W1EIpKV7Mp7kzc/qwM/bs3bW9Nk6rSIx0tHv33jvz/8+crzmzSkT4KrcEX/H2iMD/u3WEFxs2bFhUJ+Vz5zMK1aMgDaSVIhV/RoQaUBWoCjKW3bSxspixLly40HCtQiNeCIHT5fPdCvYpyNEC8LxNqAmUBA72ZTeO/88InPz9uZRCDaHILZkeCCVBCts2b6otlEDHQsYZ/aCSMZYiSlI0et+agoqCMaD6Yt+mavzd90+fSwNpgR6BDDSsWg4hM/pBJb/9hcyCVKvtFSierBRV86yPKxjcsTVTWuikH/tdJSdwAOiO2cpwflumsKQqdPhEOQ6+pmCw/8Xs8MNqz5H3ywOOSCogUXr5pWx+SQj8ZrRcVDSArypFds+Psg2Gt35/WbUD+KO3s02h/73j5W4RytS9mDMLSj/e3kxiQQR+VTw7pBQDwU+ln+Sez8dAe1mY2dalgdCvS2eLBJMlwvBP888XFkXgl0fPZIDy9INQKuzszbcAHpe2gAffBRBPZOjomaI0rnj2Zzt7K7MRaBmJ3xk5k9KaotbgpBoDn3DSAXQCywNZEcjyWaTTvev7UV4FCzt781pTDcYuvjNyJtVWJPbNWBmyM0ZVU0plW4BPBkA63HXCrUI4y/EVsIABdCC43wXACFkRueQMOyUwBOTbyoXeevd0t7aSi6wQWUFbGXx9T+/4jCahHNhlbpZXA48Bj7sB1wLrgu+hpIA17p2VwWokgcT6/eUEwOt7ese1lcEAQ+6td093t0XAWPZpC07G33ylbzim94lAbVY7QOuALuAbwDdjn166nHhyjzkSy9wKqlCV3nylb1hbxj0WY9nXlgppKzlk2hYHQ4MP9H6ZA59yM78GWOV+T7YwWH+tgXvAHWAyeNY6iRqwaAaBonM3OaAwZyQe+/RuRiWmPU/tF4UtawOXmXQD+plf62b26y98L7n7a8t4UqQ+izfvc/XsJ+aPnkD++8mXAVGqbgMX/2mP/vWa/AW4AUw4MneBB4D56O2s9eP+fOjUhA9yYsn2PL2qMusKaCs9wexXWgSp0POsdGqQWpHkqVUdPOWff2BY4VRIAFZ3ztwD6EjwLeAyMOWAeztocsWRoTIdG0R6QlxNNhBZ0pERIiNoI2Px1YrZgDfgNdqSNHU9xViIDB1O19cB68J7xkKkWRWzgdCDNUR1bWTMY4rsTKRuvQJa0ijl0VZbJX8xO1gJrNJGksaq0A13OIDiHEOjo6i/573QsiAmNAVCbajKTGhOz+mFtCWl67PPoTe2VlvMvoqR6ASWGyGh6+7OCYkwoDXeE4yVTge8Mz77cRKH3tha9Zi0bd44xW2grRQ8IJEEksaKsjO2gxVRrm+pXzdtL5MB8MR8qchcuGIEFrGXqkfOhkGMNN6PA7DCgopRc+HqaLR4mRNoLAEzTiJrRUI9t3bapzsbkHhnPpUwQQywLVKP+XDFVsDIvLMdy2UeAFPGYhsICNa5x5ZG7N9zJHUMvDQbsrRXF9KGmjagDWx47Xh6FhLWDep9+G0RTJB+YC3aBadJYDK8py2oejS+C9z3watF5K6n+K8dT3tM2lCbxwtJNfAW6VnAe/W471MCQbSpexeMFQSJgP94Ce8ZKyQUd4BbjsRUoE5NmxxtJR1gqs5tA/UHfuAue4CS73D9/jKB7kcup5kEOq7f5U/LknwikBQhcS9iArjmAV29w4eAKLAKolv3+Ttw002AVyXbahW0lZ5wOzufGx0Dt4UUMrEcXIKEzBO4BahL19S5WFT1tgLAn6+o0eBdv3K3gNvuOppNjbSRTOBcx+ZUoY+Hd1QiTS3SEBlSz716LDfLZiQkMAF8Afwb+JeTq8FnKNeA6y6Jm5xNhXx77tVjuciQijREmtrHwzsq8+4HtJWS17nIyIFYNUECG5gK0uIbjsR1RyT89PKFkxtAzZG/54xYx/fGzn0eCPS/1O6G5uB0yBfpfnZvcaCFGhk3cKgONx2wiQDkRExqjvAdB34qUB8bptHP7i0OGJHumfSDg20RuHgoNx5pSm7Z0JoDz+wqdgerYANX6kn4TcptJ3fmkLsB+AdBMJue+Wd2Fbu15oDHEGlKFw/lxts+HzCWgrZSc+xTxko5pkohCa9OXu4HMjWLhAHMxlXHWClrKyk3fs1YCguujX53x5GGupBA6dNj/fkW1bglK2wBPL3jSLwSmP3bsf7KoipzT24/MjTtVl1l7rPR/pbljYcpLQbjNVTmgOHPRvsXV5nz7TsvHSmKBJ0qqYol+4+Tu8ZZovbtbb/tVgnKiJqO/kpR+vxE/7y10XnPyD4/0Z83RkrTmwpN2li59MSWwwNLAf6JLYcHjJVLWpP2YxgjLcEv+pDvyqldeSMyHOy4Utoy1NU3crlr88iiTmq6No/kuvpGLmvLUL2/adc9fOXUrny7/SzoiGld70hGhGLsdAWBmggVF+qrN8u7m3KWx7MjaVc+71GKjKJpe1hTivyNM7srX+oZ2ZrsiK9VLt0ZGZQUFCbLu7/cMzIAN0h+5cb3BgX2OSKpRYCuOeAH753fs2iH0LHYF92gBaDQ+cNDGRF6nIqkZyFUc+lwVSnGoj/srSzF0qlHf/Z4RODh2n8HADwXARqtrKZ1AAAAAElFTkSuQmCC') no-repeat;
- }
-
-#pbPlay {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAv9JREFUeNrsWl1q20AQ9k8RRGASELjEUBAY8tDXXCDXaHuAHqAHaA+Q9r19L31vLpAL9LUPBoOgoJCAwMUgg6hxZ2DaTiea1Wq1trolA4tiodV838zs7Owow91uNwhZRoPA5YFA3/KI/xgOh04vgXUUweUExgQG/h0rj5YwKhhrGCvQVznq+4P5rx8tCcDcBC4JAXcRJFKA3uKgBGAOWvsJWduHoCe+gf7VXgnAs2O4pBQudeHxnaxawru2NXNj8taxEmZIIJNzvRCA51DhvMbq6P68bTzTuplRCEpvLOF9pTcCBP4MxljEb+a6EAWRVKwj9MBCI9GKgAIe4/XOZzoEPVNaV40krAmQdZ4y8EbLeCAhjYX6vkovc8xNG9n8UODJgPjuBekakO65004MLGciU2T7BC9IZOxWTFjsCVDonLJbd7Y52hMJ1MXX2ClhsvbATKS1vIcyJyfddZh0ArTh8NycN20sYv7Ekxe2wnAJYWv0AAdfta1TQF6DomeeSBTCC0lbArcOetEDr4DEe9PiayG31gRYvcJrE1c5h/HRgzdWIiONTR6IRfhUHZVzb0wcw6gSYRSbCByJ6tKXoDc+A4kLx/mlgvEeAX5C23hOi+iBSyBx6eCNjXaK7ONMfNHRG//Eof63N0LuSuB54ovXrsQBBSvON5BhFr4J/NBWu0f5BMDftpxzpGC8R2Cj5VsPckNWdwmbWMuOI0O+jbQS1kGuYTx3AU8YIm1/kp25LUwoGeMTUZe7LNR38N6rDu/gLZySMBqzEK8+H3dQjNZ+0RG8xFDYpNFChFHioPQDAH8Jo9NBiHRHJgK1XQm4l7LStaLOwNZS6QSeXXvoUIypI/KLAPZQM9uuBLdcpB3nlOpx7Wnhz4T1c+udmErYG3ZrSg3dgwjpmvIUrJX2I4Mlc5GyUmo87Rs86khF5slda6GlaDKd7ZOE0plbGkP2v+6NNpAIozstSIT5fUDk5nQQ4heamjQX3jcyZasP7yulEs/9fycOUR7+V6Jv+SnAAJqtxFYrTd5IAAAAAElFTkSuQmCC') no-repeat;
- }
-
-#pbPlay:hover {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACGdJREFUeNrsmm2MlNUVx393ZoEFBEZQEbS6vgSb2pJp6Ic2sVltTNM2IjO8CGjpzggCNVJ2P9T4krjuBxKTJu7SxhZRmCGACIgzQD/S4vZDU7VtJtYPaKwZFQUB8VnK8vbc555+4D7jnWdnZ2dwbWPCk5ws8/LM/f/P+d9zzj0PSkT4Ol8xvubXZQL/76vFfTF37txL+pHC3n0phWpXkASSSpGIfkcEDygJlATpT8+7t3gpa+3fv7/qtXI3cTMEdhf2tSlYqyBDDcAjXoInkBdYvyh9b/l/RmDHK3sTCtWLIjNqOhDygnQtXTjPa5ZASzPrbN1VTAWGHEoSVGdfT0FRQT9Qun/RvFL03pd2700CSYF2gRRURS2DkNq6q5hddl+qKWk1HIHcjmJODfV6WUFPx5JUvlmnb3m5mBHoBtoie6UvuzTVNaoSemF7IQreU9Cz/P50n/u9u58sKPf1gXXpEavkppcKnZZIwiGRf+iBdHZUCPxhayGnqAJfUor0qp+nyw7o0Cq/CxWRCSD1yDy/rdAmQoGLWSy8Kf/LZUNJNEXgt7lXe5Wi03krvyYzP+t4POaAr0VErJlGiPwu/2oOx1ki9P0qO7+rHoFhC9mzm/ektEinbwTfCNpILfChtQBjgXHWWp1/j7Gfx4HY3U8WYlGphdeazPysNpKvrCnS+ezmPammK/EzG/cktCanNVgrdT24oJbnYxZgCH48MNHaFcAE+16rQyRmidQk0fXggqzWlJy1c89s3JNoikBgpFcbSeiLnvcCIR3NXvbeuAXWakFPtptxKnCltcn2swlOROJA3Dpi6PpCWhvx7PqJwEhvwwSefm53mzaScaTT8/iqBeVIpnG9P86Cm2wBXwVcDVxj/15l359kibTaiIWSikej8fiqBWVtpMfBkHn6ud1tDREIDGu1AWvlpx5e1FfD+8oCaLEEJgJT5syIfe+um+I/A2YA11mbCUy3RKZYaY239w0rqaceXtSnDeUQS2BY2xABbSTj6K+nVvFzItBiPXoFkIgpZn77avXYA7Pjj00ay63AN6xdB1xrozLVRsPdGyGJKjxa01PBYiQzYiXuf/dMSsUohMXqN12Lr6xRqKLAp1qpXDt7uvr+D2+MrbnoCM6/Vjb73zkh7wMDwOfASeAzwLPvnQbOAhcA36Zb46baX/fu/DwscmJIt8+aUBw2AtpIux+AtXo9iYqkzwnAJG24whgwBmIw7kdtsYU/viV2z8Sx3OJEYoaVU8KJxFj7W9E6gh9QDDFpI+11JeQbkn4g+IGgA+mvAx5nH1SyUGCYYARcuymhvjX/m/HFt0wl6RCYDkyzG3+CQyAGKHc/6ED6Q0y++aJS1+xGtZYkSoXoSg1EwI1Cq0FaAzP0y+PiTLzrxvhP26aYG/72sRwcvEBgZXPeMR/QVkaVVkQHlOSL0pysGwFtSOiL3mfDE0tGIoBTC1qAMYFhjBFhOLtxiro9NSv2i9um8R0nI1Wl1aiENjyxpBRi0mbowSm6ByrWSCseyUhxEWJRCUVtTJzJP7g+1vGTW9XiRCtXOvKJu/KsklEdXNEIVKyZM0VoAiowQiN29XjuvG0atztSjEa3IVwt1Tv+koZc4lojwbsQ4P3ruGw9dII3gcDpVsPfqzpL1MNVvYmbI+C2ysYCCcwIk75PT3Po9U/YO+jzfqQGBFESjeCqllCApwPQAcx9dFtyBPA44LUF4Yd1IGoXAvy/H+FPf/6A/YM+R2sUssAhUUE899FtyRCTDvDqR8BICbjTIkwyfCqNev4CcA44X2v7DJzj2BtHeM07xwfAp8BxW5VPAWfs/ToipRBT0tkUpfp7wCEAtAP5Ot6XCPhBBWeideC9k7z+1nH+aQEft3YiQuC8S8DVf6T6lkZKo/2VlBVIagQJhdK5YEGciilOhzn/jC/H/nqY7W8d5zXgQ+Aj4GPgqCXhWQmdi+yBqP5TThrtr0vgYF9H0dd4vgY/IHHHI1syw0wZQu/7ofeBgbhiwAgcG6T/Lx+p3x8dpOSAPwwcAY7Zxu4/jv51rUbujke2ZPyAhK/B13gH+zqKdSVko5CHiwd5EbpryEgc7fsWxCl7kvvo3ZM8cegz9Z7N59pG57QFPGhfn4tkH1PrwO8H0q2+2AD5EdOoPdCsFyScRLTNWZ3r/MeGbF+N9OlGQAHm3556w7YG8dAf9vMzlmitvkcOrEsP2ftzVuc6A5G2UFAKtb6hA82bGzJlX5O3YUNrumevyLVFZBSatoDOWg97tt8/bqUSZpsBx/vnI73/EPCzV+TatKY7xOBr8m9uyJQbioCNQpcg4fwyARSA79aQETUyUszpJsONHlrgzomGmxEFRgrOpM5TqK6mphJvb856OpBspQsMJDmrY1OuRhSideCs9fKgI5tzkY0aHFiXNsOBn9WxKacDSTprZ9/enPWafkLzzpblRd/Q5xvwLzZSmZuXVZEwkWLmOz2++1c7G9XUm8zdvGxTThsy4Zq+oe+dLcuLX2o6fcMDm3IizmxUSUkM6cM7VpQjA11Vo5MccZwIcP3SF9tUjAKiKu2LUuQ/3L78y81Gw2vm4hdzUjXgFQ/oObLzoejIpUKokck0wIzFL3QC3aASTj+d/2TnitGZTofXNfe90CtSNehFkDJCz4lXVjb9fOCqhRszKLoVqmpgpRR9x3Y9NLrPB8Jr6oKNKRFykacrCHgiFLFPaAYKK4f0LFPSG5N2fN6uFCnFkOOhpxTZk3tWFr/SZ2ST0xsTAr0wis/IIK+g61Rh5Vf7jAzALpIdf+/zPQJrLZHEJYD2LPD1Z/etKl8q85ZLvdEu2gV0jblnQ0qEdiuR5DCEPNsOl5Si3//j6uJohE5d/s8elwl8ueu/AwCDqx8QqEWrWwAAAABJRU5ErkJggg%3D%3D') no-repeat;
- }
-
-#pbNext {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAvpJREFUeNrsWV1q20AQtmJjiCA0IAgkUDAUAi0ECr1ALpADuNdo39u+pweI39tcoAfoBQKFQAuGgCGQkIAhxUEGkeB+E0ZhWO9IK3llVcYDg2ytdne++dvZ3WA2m7WaTMEawBqARwBBEJQaBGN08dgGb4Hpd6h8GoMT8AR8h/mSkvP5AYC+ER4RC16GCMgY846XCgB9SNsvWds+iCxxifnvKgWAb9t49NhdbO7xl7UaY6xHS9+QrfVCcTMCMDL7egGA72jCVxatk/mvivozx80eu6BpjQuMF3sDwMLvg9uG/47KBqIBpGfEEVlgqIEoBEARnvz11mc6xDw7HFe5IJwBsHbeCOEzNeMBhKksmu+3aeUiAF6LYKtU+AwQlBD+FAaA9xRgu6LfhWua8wBimxNGSteY+8oZALvOgRjgFm2XyywRIAPFw454dZ66kguAnkhvCfvh45IBtDn+0rRNK/YoFwB3fCvGGhVd6j2CiDjFpvSLFCll3rD0kwtLUpfwrNAxe4BNNicAN/9BxXzjDEDUK7I2yTLxIXhLaXvHmUzr+wF8Aj7KASBlCFlG1QKh4T55ZUIf/J2EtbTRu29o6yt99/mb3Rw3Sgw3CrMAbBrVpQuRACesUdMa9D/V9N4CbhQrMs4B6Ijf04KTuFjjqCSAqSKjNYgXoWdrWHZp9P8T2o61uClDnYoyRz+j7ZAtcu9joo1WdTTJaLv3NUlVAAbgU6XtB/g97eKqAPCgRbsjXZNwSH0DxSIf0fYZPCk47qYi41wMTLV860Ck8YEi3Bn4iyyJC1KoZcdORr7tUlntsJhNWLifSvtXtJ0uuGfuautTx1j1qNKLBWLaWGTtfc/YLWxaH7I7DRd0c3mEE5vVqK2clptrKifO66zkIM+BsMDTYUJeOT023CiqUfjIcJ+50n71dmQrsSdu/KnESpwLrcTJnDLoczrzLLz/s9EcEM04nTZANPN+wMjNvVYTb2gsaa55d2TKUt+8W0rFn+u/J24irQHUTf8EGABePUpJ23F8cgAAAABJRU5ErkJggg%3D%3D') no-repeat;
- }
-
-#pbNext:hover {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACRFJREFUeNrsWm1sU9cZfs6145hAjJvwEbrR3raiQ6iA+bFq0jSBVSZtUiE2g62NaOM0HaumiYZp/1othSl/2h8FpFYswPIBKrR8OCGbqm2pQqWt1co6XIpKV0owHyUIssT5jnPPOe9++Fzn+GI7cUI3VeJKr7jm3HPe93m/zzlhRIRv8mPgG/7cA/D/ftz6jw0bNsxokWj7KZMBIQa2FoDJGALZviNCDECcQO8T0Bau3BifCb+Ojo70O9ODuFAAx6OnIgyoBsO6GSEnnCagZXN4Y/P/FMCR4+0hBvY6GMy74geEOIF2PL25sq1QAO5C+Bx6p83PwJoEIQQQkJmBYwbQDuA0gFjVlsqEPvjWsXY/gACAdRKoVO/2YwKIHn6nvY1ANc/8NJSYrkzTtkDT0WiAgXUB8GcsADQD2Fn9VKggf2452mYCqCcg4oiTOBiFa54Kx+6aCzUejgYYQxdjGcKfZkBNbVU4PhvvOfhW1CSgCZiMIyIkiBDctjU7iIJc6M3WaEAQuhhlCL/jhWfCu2cj+PqXogwAlAKC+w5F6wC8rob9BHS92RoN/vLZ3JaY0gJ7m06aDDiLSc0nGBD8VWRTTAnAZiC7c54tAFUuo1UAJt2UkCBgzfaaTfFcFshbyDhR1CLyW5JgSUpwScG2i+zc+peiLgD5yJ2Hcs5rv8g+nRD0hCUpYUmCReTnRNEZVeJXG0+8wjkCnAOKnvvTJePTLIyLAHgcVJSDvIqKHZQG9m63cc7iqNX4Bl5tPPFKQQAa9h03uaR6LgmK9vzlitGhmBiaMHMVzctCpVmoRJH9TQmAOYpsIMZfrxgdlqS9Gv/6hn3HzSlbibTrSKrXfsbHhfE75beGQ9PFmiV0355OfBAACcBSlNQUyocttsvrkhtVjQCAegA1U1rg5b3H/FwiwiXAJWAJ7Dpz0xjUhC9WWvcBKAOwCMBiABUAlgC4X/2rU4Wixer7RQAWAihXa/jUml7Fw3XmpjHIJXbZcnCJyMt7j/mntACXFGEyrbz4mdvuFi0APcrspYqpX/32aH5sW4ppmra1LbV3rrQ+BmBEzQUAocbEhz3ulu8u5L+1rUCgCIDd+QEIqmZGOrXu0YSxAcxVgpeHlrue/axXXvqil/rVmGGD+P5S47FxjrGPe2S3ElookgCsSMBV6/Oyh68P0MmTF8QhTfgJRRYAxknusesDSVTnBbD9taN+TghApP+rXdOoWwvc+QDKSz1Y9cOHjdBSH330Xrf8TLeCxwUzsIQ9ZvpdV9/9Unw0amFcCWgBmJgQ8AhJSAoqUQqxlDU8ekxZAm1agQtsf+2oH0AiawwIiYAlCIri5/s9V7TvdBfyASjjEkVSAo+WscerVro2LSnFo3YcTAj4pAQWzcUDVStdoeUL2EotHhZzCY9MxZjXEQNFmjux8/2eK5aguC2XkJl7jQwAnFOAC0CRXsL1nO9VKdBnSXLbQTa3CL4nl7ke/9632XIA5YLIa48xwP2DB4zVax9kq7xuLEqBT821RNot5zhrwqRbI5aWi1MgpwtxCb/WI3+ipUSnFbwASoSES8jMnnrFAlZx/zxWNmwRd449ch+rWDKPlf39uvySq7mSyK1nH8VDT8GMC/oEQMjuk/IAoOn0MXaguoUkJunOdO8rhsdXzDzZlvO64XnCNFZYIsVOyLRistWTKeVyWmD6eyiAUgJkXzyRJO4vZlkLZc8w9c8tYh5fMdwyZXHK0txNS64MBpag6VROO09PSCLJHVPGLFj/uIFbi0tQMm8h3ecQRFzoxY3zt3DtR4/QCk4AyXRm4mptcgLKJ5fbUQOy1WnKVXykhBCTKRe3RtD34XVcS0rQ4hJU6GNDFkb+dhWfD01gGEBSUmouTabPpAIitIKXXa7cACbzKwGrYaQXEVqRGQUwCCBBBEsSwCUmzt3Gx9396LP9mAGltnd1J/D5v27iklKABSBJMjWXEZIAhtW6ScXDrtrKM7BaC4pEviCOaQACWZquccWsPzWXJgaT6P5nD/tz3ziSWrfKDIPKRycweL6XvXd1ED2aElIgGCUFAYxhFGD/UUoZVQC4bfnOhjD9+DeHAhqAWE4AQlJM6icFY0MPYk7pNc33k6pvcQNgPSOInrvFvlD526P3QTeH2PiFXpxSFfiOPmjMwkUGjCQ54kqrQ9kArP91q8klmZpXx/JuKYN1LWfTRx6EHa55vr1afvaqgqPvAfTqaTgaOabFkJOE1kaPKsuOqPcxOx7E8OB2sHQrEevaXb0m76be4mjRzmxedKUaOtJiwBbKdqkiR/7OtRcgR2HUM9q4Ij2QKZWB8KJ+GjNlOy2JmiWlEZtDfQPVpWXzW218Du2N637vKHjZiiCygNA3NbZFJAA51DdQzbTTP4OhecoNzQdvRBJcUnN6O0dU33c74dOY2Rob1Uw/5KDBLDSgSB8fUvPHNAsQANnfO+DjlLGtbf7gjUhiWntiLrDT4oCV2lSbXKK+syEsNbNLh+nHNEA6jWWhkSzj40r76fUtQfWcw0zLIbBz2pv62P6auCDaaaMXkupWPPeHUGdDWHY2hG2/5VpqLJR4rjU6G8LiRk9/pZBUl+ZPtDO2vyZe8MHWd6oPpjMSAQkCghdbamP5TtoKONzKCPDOhjABwLLqgwEGdLHJrjP275baNTM6WuSEMBHOqhbWD6Droa0Hg5cP3wnCFqCAZvCO56GtBwNCQj9ATjCG8IyvmC611saFRNASSFgCsAT8XOLs0qoDdXf7qmhp1YE6LnHWEvArXgkhEbzUWhuf9fH6t54+EJCZmgFApwmoufn2z2d1Ol3xs/0mA5oApt/yJAwDwa+OPD/l6fS0Lvm+OvJ8TBAFuaT4ZFrDOiFxecGWxqbyzY0F39SUb240F2xpbBISl7nEOi1dxgVRTuFnfMEBAGU/afQToUnb3ulOHSOavKEZiG7LyNnzw43pGxrGUMmQ9SKwjTHU9J3Ylvha78hKw40hddRh3qUQiAPYMRTd9vXekaU3JylGbXM2/j5CQLV+u1Lgc5oBLWOnftE8U+Tu2ahNMW4uenKfCSBEhLXKKoEcU2IA4ozhfQBt1h9fiM/WdOzeH3vcAzC7578DAGoYGUoN5WewAAAAAElFTkSuQmCC') no-repeat;
- }
-
-.tvshowContainer .showDetails,
-.tvshowContainer .seasonPicker {
- clear: both;
- float: left;
- }
-
-.tvshowContainer .episodeListingsContainer {
- position: absolute;
- top: 0px;
- left: 500px;
- width: 500px;
- padding-bottom: 149px;
- }
-
-.tvshowContainer .episodeListingsContainer ul {
- list-style-type: none;
- margin: 0;
- padding: 0;
- }
-
-.episodeListingsContainer li {
- clear: both;
- }
-
-.episodeListingsContainer li img {
- height: 200px;
- float: left;
- }
-
-.tvshowContainer .showDetails {
- padding: 10px;
- position: absolute;
- top: 0;
- left: 0;
- }
-
-.tvshowContainer .showDetails p {
- margin: 0;
- padding: 0;
- }
-
-.tvshowContainer .showDetails .showTitle {
- font-size: 20px;
- font-weight: 700;
- }
-
-.tvshowContainer .showDetails span.heading {
- font-weight: 700;
+body { + font-family: Arial, Verdana, sans-serif; + margin: 0; + padding: 0; + } + +#header { + position: relative; + height: 50px; + border-bottom: 1px solid #000; + z-index: 200; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVIAAAAxCAYAAACIwiGvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCRDgxQTQzQkFDMDExREY4ODlGRUQyRUNBMzRDRUJBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCRDgxQTQ0QkFDMDExREY4ODlGRUQyRUNBMzRDRUJBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJEODFBNDFCQUMwMTFERjg4OUZFRDJFQ0EzNENFQkEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkJEODFBNDJCQUMwMTFERjg4OUZFRDJFQ0EzNENFQkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eCPqDAAAey0lEQVR42uxdC7hfw7WfOTkn78dJlUiEQyTez1suihYlcbWCetUlHmnr0U/R4rv3aq9HtRdVr+IjVYQrxLOqiARFVBXhtuqdhzcJJyKJyDtzf2vv2Xuveez93/t//jkkmfnOnP/es2fPnudv1qy1Zk3zhuutK4qcUkJIaf6Sk/Qs+heHx3EVrmX0m8TKnjkpxzGSCCJLg7+bfk/685b3zHIT4f8V/jmkfxN+x8Ul8Ds7z3b6Tl1Is1TSKEfeN6SRFi87rxNeH/68qCytrFp1/vx1XFQGM9sq913/O8ooH0/LV0Zl5JXF1f/MuKyc3rqVZfvCF+LM/Of1Z5XbT8rE5eOt0Xk2W9e+sR/ItP+ZeCAKxrx0+oEPL4rTKYcHWb5MbCtTH3YdK/3hJrH6u17wm8G3wu+DCrwFlTFehwcXXHDBdditNkBaQP8Ryd3PmukOh788NH9wwQUXgNSi6wksPZ6AtK+HdP8BwoZTuO2DCy644NZMIM13Q5RS0ke/AmSPsoE3uOCCC24NB1IlYgGJQWEOIwZxApLxbyqY2JLXgZQqgGlwwQUXKNIMLFUkZYMfpkHTA7qii5SJ8C8gaHDBBVefa14dC2WB5oZ+daZILeMzXCyXgTEaXHDBrUQgJYRpqZDeCvhlnZT3LtoXUKWyH/4NiO9NfUx9TUC6fVE6lqOyzYL/uBPLmbjeItZAaGVh7To/C1fGfATfH34gfE9NslOZP4CfTRNQJ5W7VZe7T8llA+V7AfwrYXgH92UB0t1ArN1aIb0lwKsPQOHNwO8LuH8M/sUG5XNz+G/AbwO/CcYUBrjsxSlNc9UukqX7gJQMVUoky3gtf9ob93uSMIor6HLglUS5ikTJXqzA8wUaSJ6F/zP8QxpcGu166PLuJaLNBGqTGExkd6ZI/DnyPQ/hf4d/Av5++Nc78M214L8Fvwf8TvjKYAJw1EWLptpX4KPzEU4A/rT+5gMa0BvlvqJI31eI3eNyyw0oD/h+V6XMxmUrC745gJrsQVwe0KmroIAla7STbYMKdzZ9B/5PQgpjx4yGoqjH2lSgtctpKS4nw1+N2z/40K7GzqaBuD0CN+S3TahjvmvCBlJzFxajQmUSMduOJVlOZE45kghK5O4E+hjXpOB/Mfy7DdjZNAjPjsHl0QjZzNwdZuVbObuLFsHfC38JwqdU2Nm0I65H4/JAEauLeevSN9kg7H38/J7aGCEf8/JV3Nm0FS5PwPVBuF4vA0wp+G4ZM+/+HXS4Ph2Xl3bGALJ3/5SJF3Y2rX47m2oB6d6I9bAzmP2d1wCkKEwDrg4lID0DfkYJIMVyTv4Yj35EyzrftsU8kMjb4phRMzKSzieSfN/2z2zWENE+WLPs0uos6aD+EN86C7dj6wTSnrg+CcmejtuBfhByO0qSJWsiWIg4VyIP5+H28wIgHYbfn+OXJqoWuz4UI8VT8GNBZr7Um/h3JvzdFYF0HXjKw2jBdpuVG1zuQMD1bLxGk+77KxdBk++rUvRoANLVG0i7tPbpXfTuQrx4LGL2tAdGXudJPhL9yriwOmxzojbw+zz8OwUd5UCE3Y7fQ2K+oJt5mSTu3V+dNL6vcaTxzYyqkd4Gy/KmdDmkQeFKs1H7IKkDaXmMaI9ofnFNINX52BH5AFUrRyPRPtLTKe36dQakCVotuN2VWDPwj+jlv914JyPeOPidOY/YR3UbZVdWG2fv9Uecw3S8J+x2tZtZP0d9qTtxNwK3XXNBId0o4fK5EzU3NgGehoDHOwNEOXuh1PLPbPPK75RhMDRablqfIFYafadcmtXznpe3MulwDKjSHnn5rAWkJIxpxUd3d/lTku0E0gNeZEtgvmRmANxPAyQt99+1KqMb/K/hr4h5dTLtpGZhpZ9BlQKiRjjJC6yM/JozrQ+MXZA2Kl7GbI0EyCwg3wlxN4xYIgVgysp9nGYNDJEJWc/KyuvXpU51uSzgZQ75kMQHJt7pPMYHvZmWv6iHHr7BTVRWWl7PUlpKF9xVRrnvgectmn+c17mbEOeXCLsKT/rb5eLtbVIBkq0ITApZv0P956LO5IgGIA1AGgFp/769hW+bJPPPoLNujctNE8rEx5vkg17aSCqM9LrFWzPlXYxSWgcD5nbcj+INYC4NlR5k0gIvlVKo1uCegp+leiJwl4MMmFK2hPRXMLc+pByGrHCAXsqUn/tojYY8B/4yosaKG9Yscwbgdh0lbIvknQh0BuCXqNObif8Kfz/K8K1s8PsnEs7GyPImrSWRWRcsCRKSkTbBFE/n7oXrsQDeH2XVoKx6V6xs0lMnDoX8Ca5+grALO1u0FIA0AGkUWsuMnh64RC2egQSwzBckye1umk7z8zc4j9RDSU3AxX4iVm0h6m0Hm/9jAkW+iTkWj4D5NUF8ShnxZEmqvEkOf4pUeRaSBawYD03hGaf4SK9fLz27uqyAojpQJDm+L6dBLtY8Y1cw5uEraqpvAcP0Xsm3FefjGjOc5JyI8QjGZBipe3nZA+ZkEaW5BKFLdPrdENzi5iuX/4q6VQTg/8farSexMHC9vy00stuV3VO0BZZFv+UIXIBH7QjExCBuwLNpogRvuvFAGnikgUeqSgNpksEeuB6G36/QstUSPK2NW+K37Y/bTRnBGNktlVZBdeZPpaU+rndPV7VKeKSz0e1HuH4c14/jdzoJVLRFVKoUifvluAcVJKfqt2l5jWvZbAqo0gbDslJdZfIHpStwit0KPCNhEKldfRv3I3Hf1ydMsSp8mp4g5lqd/0w8/7UHKD0AKp/C5R9xSdTdLL2abYqMsUjxTdwegfeGeoV9Mv/akImbHeRD+AkIm4Rvo/7U5zpfREmSOcKRmhfcNc9OK7unttoHaS3DgyY8ujHWRhA5k0XaRsRSmoTQCQh8GddzpLkLbxmizdFAqnxqawFIA5B+mYFU+DutUQm9cX0cfs/HbT+/BDsTBpn8Ta/A42O8fwkKPg6375ngalOkBpQMF7FBZyMOq4Sj4MfxvBUAqfUNsRXuL8HvcJEDXKwcPxGmyb5vawpcuiCSsDCi+pyM8AsQ/pCvk7D7vrSshf854jf76sNVCbPC4qjzEHwZbscQmGaDSDkAD7czHv8Gv7sWpa0nsAMQfh8uzkLwr2yD0h43VvM5X+OzqvT2Sb9KVgDSAKSdDaQrY689URNXRoChRHvG1+SeNbqTOcUr40E83k0PrPcq8k825gKlpDFZQ73ZgTK+ROVDWje7Da1ssPs+LYv1Q+JR/i7pA642QfSfBFRni1gR/6ESeSF2Bqk5HYVEF1m6BGbOlDIERSn4KfUi/u2DoHM1RVrL/Y0oTbxztznBSoPC1gK5UbjaBRfn2B3W5ENH+riHkfBNs2c61ZmaIFIEFfvgqriVZrQEg+Yp9E1QfWoZnzEUA55s8DGrSxm/81Jc0oaAN8oNBEcQNcSYtZieEO0IElrPsAP77KlcP0wESsnMS9RbBhgqsTC1o87Xr0SkcG9JpzX4wC+BPxrh54vqWzBvjwUuwtAmsCcooy3iiqYdWiP0bxW3EGUenQiUMoo009HVU9fe+Hcb7Uyy+eSMIpiGd/dF4J1hSAYXgNTlfU3EALreINeVTb1k1GlGoSpSYzldqfImmTQQcb9hZmNUsVV/9I9AdE6t5VOJMi7Bz4+JCudkv0WhEf92W/jthMUfTE37pcshebyIzpOq212LfDwkWJETbJM6Y0oZIE6CoJHwM+tZ9sHPgz9NTyqGJDRtTylbEbvN5icnkx7eJ0r0YAS/EIZjcAFIDUrT8FdISZSWrVTNAdewA0rLxf+qZ2nGfBf4Nptnw1io72kQSPNZJ5CQfxX+Nr5k5slpKo0k5afh200FvBziud5UBdQTwLbK8RuRaXcxZXaz6mNhTQTss+opO3NP4XaCUsqw9conzqxunFMMQHXLE0Vj7DFU4G+GpXtwX3Igdfmh8jWETuE6gAnYmmga3ZPxj1OEoRFQjvS1HFkK2ijLj801pJ1VDeWJ3clhylXSlyO1KpSTbV1Mku6fV4+1/oy6Sz2pfL2aUqJO3IhGpgfEZnipgyCahN7h6ve6zZOoabF4oL7VPRn/WolgFza4NR5ICwSML7uK41IfuZuKWmgIXYQHH2SjLQffrO0syvXrCdPcnJ3PafWf1eQDYEl83LnGct1kYaxN+VHM+pRJmUqiIudXBzWvp2X2PziLgfFDdQnkDASM8SZYo209EyV5oigX+5Kxv824NWT674IwBINbHVyzjU+i/FnxZccguVlc6JFK8s2V4PtScCl4PkIrTVTlMxfERvhKc2aYJFPh0SyGN8osmTnw16iTDxF/Lj7XmswctnWjRHMg0xlNc/shnt3pT7uK6ovh3ubHqyRlYOoot4lYu6JmO5akjD9QZF5Pym4iXw1MByYTqJokcqXz5VSKggvuSwmkvgFUG1BLdfi+GUibunQMvB9A2Kei5OdUcZQ2nxoQ2/3zduNZGiqhqo06cVV+pAEuuH8St590bGntuOU+EGNnqkwonIY8YbU/m02Mrg0Ca+dVnJf7a5c1gGlwqziQ+ghCe8lWgWoYnA0yZagKMcX8JxtVKKS4caIn7VGi/USWkVJLWVpRV0Sm4GQflZObTKHdTjN69nw11kmpDK3rblBI3cxs91dt0C4p/CJDKD18CwhnQo61CZbj/p9h+AW3RgFp4fKv9jgjZfStfC+wbZHLcdFIJezBwrBZagxosm4/uywkl1zakoZAa8L31W96d7KYOqTRv2kroV3bOOhawDYL/xtNAQ+OTytQBhuB73DhgqZYY0KW0hZIdWyFz+JUGMDBrcJA6q4EC3v09uj2QzPrSq4N0FgfU7aXGdSuXVQ/hai8O6aid5fiemnNZWq1VSXZGGjidgXoQmXG+L2TkA6f3uA2pSM5NrL4sHzbKJkvLHneVOlKWJ+zLfi79spFszNoQ8S8hqw+2I61cIhhcKsskJZYbh4bgYy1xOWgojIZfRX0LspV78z2lNQC/hRIeuCyu2BS5trgUQispPlwGJ9TlDVh8H3hFoU4G3Hay9Vz6epZm86pMvef833F8vWV0I+G2nZTM3LSXe4jsBfyQbZpP6nFTqoHVIMLbtWjSH3L/cxthgFxZJ7BDU5FiVhl6U1fulUk2vqt+YnNSuWCPh2GR5Za5pb/VuEgJduqO6TvGkIV6YCZ5Wbi3dkNbtMNkdeeyTdtNgW+N62DbepzGzsUoTRw1Jw4FRn4VuuLXHsHgbIMbtVyDdcjZXqSdEW7dXonD23bohncRPnY2T+QVQFVmveM8d+UM4gJZL5RX/kc/UlQtvKC1KapUqneZKLm6oKRwXclQyyLGtymZGm/STAF+cx+UnQ1YyX0oyEO+8JDiTIpPrm97PoMLrgApC6okgWj/ZTiNAa37GSazoI/Cj/NqVJ96a09Xqv+Uw24TnU30zSPx3UXe39+2bHMsnYhvr+d/8yoyH2SAKW9PVaXeVqOUr2oZ5eTdm0mTaf48S+LkNaHDf4m6c4OKqorm1+rVaRGpZNscMEFIPW6MzBQzs1Myvmsvzv7NrdFtOOFUqUXdsnOUo/BkuftBaJKvhkH7qANhHTEnYI0T7Up1hglYvjCz3hcLcoAxc6Rmubdl+XxnjLm+SHGTiLFGZURsM8sW7clPVmzWsvHHvEbvk7PIaB8/kcy0QX2ZnABSDNHR1FcTMdopGcK6cFjG/81KMBMTelCOmivDvrXDvgLfLuPjJQZNXgRvrVbnUtKoravkIqbwMv2imuOxL149piMrB/5lNOTraXeLaeifjsAcpivfqL6VxGItje4zUlntQdXNTN/fUZq0omHgPSQMAyDC0CaIRWdz/NnjKczfLwyH+jxJbxe/pGxETprab96wJTx29rxczff0cMFT5qSouOT6VsjKnxkYxFbpzovWTRn51wYRzaD8pMn49m6nDKzeL6kgvRBybotmz/S2R1sHrLGAE6K6WUpzQpuowLWhyHwyiYcXXvxGVA3wI8OxkqCW5OBlICC7FmSUeHHMRh28w0mNjDpPPt5qW6h10J8tEz8I/z18LvA96wzb2Slf3HRIMfdV/GPtirSEdBbFaRFp4KSUOlp+O9ye6PmcchpeenMeLJ5urXNe2UgR9L6WQ1uzzYA51pOWTNze9MrsAjK+mFJuWzeKoKo/udbW1Rtlbk+uKe2piOpaTJuDsMyuFXNFXXaLeDp+Il/EfF59CsssnJQrMIiBybAaC/vhOBWkMT7+Pk3Ok4C9+fwfdmmtfw4X9r6+miEk4ERUiKfK8wzhMmCPCmzkyHjxxKKh6VBh6ZdDf9T+8RTvrMI1/QtMt13PK5fQji996n+BgHt5vBb4rYr36Vj8wPZd2m5epuuk42Ecb6UAbkz8UoFIC1FJg5A/nrzw+2sPfDTGvw9ckP4hGmpkJGVrTEI+61PtSwTQkXsjsOR98N1u/1TTzJNFllO/eCVeNKOTjmo6kbovnyHFb6BXgXdKHL1i6OxcoyIT9FtESbj/0VPmtwdosdTdx2fCIp7Re1jXeidb2qqfXGJ8h2nx8JbHcSFA3WeiVAiuxR3iUL7DJHrT2MIvpdwDV3cIfJtzvbUxNg98Et0GLURnal2q2AG2Jmjleup+luEA/N1WJd4Naht8rqOhKJH6rh2Hol4ey4njyQUJdu96+h+oHTfpD5KhthnG4ff6fFOAeejYx+Bjt0r7uQq74RLYR+OlnOgFJnROyweBKovntC++m2Sr7qWkkyKyjmuWAq2oyp6YXzciGq+BWp0MNyjeHcHn1J93oF1vud8eZpRYMZhexRGBqkv1FGoUekAt6E5u7F+L+KjSsqyTspE2pPYK/aBY6w+CEgmlfpa+ZX2BFTBvtKfxqP49N74pYF0qF0eKaR5mqmwmthz9LUuCg3KM/D84YoAMQYpHI80dsG7f5MZafyIiNXvBor8HVc99cT9Kd59nU6n1Xnpgmw+Qfz9gu8+g3fWxvcew293/H5ND+Yj4CebdW5U/HGISwcntunJvcjtQSCKNK5FXk6qE0BpghiLNA5AGrTKfBvXQ6O2kxFgnCD4EThmHyGC4xW89xiCP5PRSbeK1NzoxFuqmycKAJgmllso3/owOZqcX9JE3GueiZ2A9heI3xtp4311EL5zj24bkgH8p2ASVuZoxfxklEeFPMaG1ukY2ia8/1s+WVhaQ8Qum0pG3BGdVppd8O4y3G8R36vhNkVKDTwOkTY1t/ZJDzUhnS2IHIiYysskXB/LZt95uB8VA5z4qi3JjvdkZ78mEaqZrtYOKbjvoVA99Cy6jFGmNChG4fpRvDbIB6LpQW3p0lQxvqpwTuM06yK1/E5nv9MMeS3jS66LlNcSypwkdImIur+5NISWNxDzKb5B219b7FMS6VhlhL1bBUQLNlBw97ZQwrD6xOK/q9MhK/hDEP61bOKU2XZaayaP/6Q5aZpHetMkTCex0gCa4OY/19jKZ7o8Y/Sgmh9pXii1F1KfXmuyQpqL8e4vkfS4hN9bUlhJx3nfjXfO1PFbcI2JVN6AW2IpLfKwPMgtVURtucdw+tYPZ8cTjDoId6S/Pa2OCZIm9oOR/O4WdXYjXtzOWpXaZacjdWYqep+oSGMi9xMjSd0QFYm0qI+0I+p/44XlMUtIrTA7R5rQXE2RUtoD8H9HxD0JaXzktplDjVBdH4zLOfbW5YKy0dMFCD0Brzwnszh74j0iXFr50mkoolPn3NTMhDKW6O7qL1eqvBjvnwu/P+ku8pdw/yL8EfFRy46Zt1RlxzWjJr3HVuh3yQL99zz5oBltpKLjRaxyeE4WNbavZubgpJddkaUvhycgygQqbTKaOZUpwInfuwvxniziPfr4zCU8LXvfsAQ6SQpzkO47Zb7JjUKX+PYTnskzuU92LtFyiw4yfN5YrShfGc1zn7ikzrKgT4K1azRFUzQIuOuFJP6qd779j+Z9EwBdru09SK4pYW0YoM8voT6NZ4/j/i/4JVZAk2+lY3nKdHeWL0x2klZ969XgzbOjylm+nBAxgs4Eg98b33gOvz+rTzdYfQd5utmzxCV2wWUmDerU8TKtBjdRRVS2fIqAOe/YaOYJgxYi3i9EfKz4yQSUZfTIdb/tF5+GLPuVeGWFpronIv5kOqCTlvq+/mK3Hx2Lgy5AdXC39kShX4VXScA+p5mR9NdFSxvp8v78S1xhngdkVTw1Jp49XVCoRxBnH8QZGx0MJ2wqiJ8uKoWti8opYjZXEZDe4qFKaAAT2F2vYgEWG3A2a8J/Vrpneb5UC8RoIH7smdXWj/koDgvgH/jeKfVug6zRwRbHjSuvsc9RJ+oQ9wuqplvClOCf9DJsKw9Fyg2yzMSTfRHjOsQ50FjJKJXp+TqrHWGxUkzhGvzhySRWgvJqinluEU98CiLRIBojImqR8qSK+MSUBWLXPKRZFioe8AmVpmoBubLzFatM17QbUaKt5Nnx8ljthL41NQak6ADJV6vxv6USjgC6aGehkQ4t5al/XRdte5aRUsvreQSB9d3ueJco9il493b89kWkhb7KMYsuC8vmI9xjQKQ8kp0Lqkr1Ut6q23oPPjKs9JaK8fKHmp9/EPF2mzTiErWwh0l1KWvJ7Rlcbm8lhCdhEgmpni6BCwAVRds1MRupdq4mlFEn0rj2NSjLShvidcvZckidCjO2OEcwYxmJeTffwHMPsUuWaeJBfczwSQmIembbITarA/7Z+PymAiFTx3dK/g5ZvdWT0Ix6wDkTsOXGoeXy94U2TahSgIzqb7pFCVEbf1dTHW+lebROOHUHS3Z0c7pDLhMW7uqjvArUuojXOQPXFyOA2uFs0oOVUogSurtEeExGXDpn6g9EjVRQFVOZ8ZrItgSBX7sNdu42ZCHszRlWHOqHOxAw4Pos/G4DTyyVn+UcC1O0uphIrDD4ncxJQe6Ff+jz2cYL/yQlF8LfpgVHqB/5SpkJThNLrXpSPh3XdJ5Yq81KKFod5REBlo+E1PqEiHvwHuVxakn2DE0wl8b5E6eQDEmv3gfQ681ae+cko9va1iaE9Ah/okom1ZaXNcOcOtYzorpCIJZZCuAmQd2pQwFsI5HO9poZ7yw3XT6eIXzrVeNbn2sm9f/i/WNjHlvEJG/mvEhDoKSXLZrnRB2NGuGZEuXaOqN2I8MkRA1jOanmFh9EVVKmnlKbyrd8OQ6PaZCeiMddddrvuFRePRSx971nkQ9MxvLqWEAgEyLzLc8AoiuKNx7pHI3wIyM+oVLdeJnSo1GEZHYapMEq17z01gq8wF6kP6yfX4rrm2hlgV8C11aPJpvtiA9P50yNZpRbkxaWnJhI1j1CshYt9d1Ux8dqRfXTEuQFBd/rGueLGYM0JzWy9XClFgSNZnF2wSt/JcGTiDeneCdH3ySMp7vh+WQtwKXJl9TbDkV642rkVeE90uCZqOMleSYqnoTL5xSQDq1xWaNXiF2zrub5tpTokl1023UpB4YkS5G+PN6vgdI3rpo0C6kvY0/ei1iTUC+k0fB12TZoABKRNAut5ZG2Oybg4iN0VTvuSXpFpPvMZHnjP6vHtAtqSial5zqKOwjxtowqVEYqSE0+vVRXEBTpbo4vEpxYgNAV+ds6lqLS1ko5GL/d9AvzkTTN7G8j3t8R75WYUS295fJUPjqCJBWxKZIk5RJAZvC8fMunDCjyNCA4yJvfNOtSP94ez/dFXBLOkArNw0UUqcvSMAedKcAyBTpJfdLkhOuvI4QEXj8VzChLTp2R+hkN1h0jPn3MEulNggZjE4XRF9NJrwvAlIDicvd8LC/gD9eD9g6rbBvgWyO0ALBI/WmUioWWLXzy08bCrxH5dl4Pxnsoo+qu65F2mBFV+1EN1sUWeqff2Jx8UVl+oEhA7KpS0SphKtcKyBO2eibow+IlqyJgpDFwu+9oGOvVKC8I7Ul8Tyvt1/i4tCjA7poKJqHheyzdg7Wkv73Gqq1/lF+l7hCGqpT00XQD8e1/17zyJpOAUS/g33057UfqT8fg3QeipX2WLKlDgSBTYwlIBVeILwGkwjLM4T/krCyQSg4upiGTPMlxAZAKe9DmUWAuIChrX7o0L5UJUjYPMq9TJpagRAIKLu+ygUDq1odPgu22cf1AatdLfh9RXv5hXv5S6b5dOud4BpM3aWsQFS377LJV0Wjw1bXd73zjKG81YY+vPH6rt75KrGV849ptWyVcLRo3f8XaHObJCHlCwGKTlXkspgJAVSqHR2qOa//Y8/Qj5fKIfZiXxGnqiPkyw9hEnclIYUvFO7ZVsLxx32qGMjK+a3XhQFK4zjQUl8eLWlnGQaoc/WFumZUN+DbjiavadeE9Grywp9RX50XGWDLVqTyBiSxi3zixTXsPdddkYRvmm7VUJUd6NdZRre3KVaxQlME5f3uYYeamowz8mkzk9pmSU51uKzLT7eQdQ1nLOgun6u5E0vhNBVzCNNRcIfee9L5IV24wNgpM6+kzXFXLob5VdjZrwjOVunM0smprVU+2mrBBuEra1e2ufhFW/zPhTPUBwOskA6aVPAbqmpBtrJP5k4Ks3e+b9fq/qwguuOCCC64et/j/BRgAcy0abEDvPtQAAAAASUVORK5CYII%3D') 1px 1px no-repeat #fff; + } + +#navigation { + float: right; + } + +#spinner { + float: right; + padding: 11px 10px; + } + +#commsErrorPanel { + float: left; + line-height: 50px; + background: #c00; + color: #fff; + font-size: 20px; + padding-left: 10px; + width: 330px; + } + +#navigation ul { + list-style-type: none; + border-right: 1px solid #969696; + margin: 0; + padding: 0; + } + +#navigation ul li { + float: left; + color: #000; + cursor: pointer; + line-height: 50px; + margin: 0; + padding: 0 24px; + border-left: 1px solid #969696; + font-family: Verdana, sans-serif; + font-size: 18px; + font-weight: 700; + } + +#navigation ul li.selected, +#navigation ul li:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAzCAIAAADZxfV4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgxMkRGQzczQkFDMDExREY5RDE0QzJCMjZBM0JGMURBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgxMkRGQzc0QkFDMDExREY5RDE0QzJCMjZBM0JGMURBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODEyREZDNzFCQUMwMTFERjlEMTRDMkIyNkEzQkYxREEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODEyREZDNzJCQUMwMTFERjlEMTRDMkIyNkEzQkYxREEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4vOcxrAAAAVUlEQVR42lyMUQ7AMAhCF+9/px5MIFNpl2YfREF8z1orSAaAYAnUnsdzdiR+vRLsuzNZ36bLyLM3p36zuhpWzp/7Zn/c5tA8zc3eeUvXbi/tXHwFGAC2dpagcbC63AAAAABJRU5ErkJggg%3D%3D') repeat-x; + color: #fff; + } + +.floatableAlbum { + float: left; + width: 130px; + height: 150px; + padding: 10px 10px 15px 10px; + } + +.floatableMovieCover { + float: left; + width: 130px; + height: 200px; + padding: 10px; + } + +.floatableAlbum:hover, +.floatableTVShowCover:hover, +.floatableMovieCover:hover { + background: #aeaeae; + } + +.albumView .floatableAlbum:hover { + background: transparent; + } + +.tvshowContainer .floatableTVShowCover:hover { + background: #fff; + } + +.floatableTVShowCover { + float: left; + padding: 10px; + width: 379px; + height: 70px; + } + +#libraryContainer .floatableAlbum, +#movieLibraryContainer .floatableMovieCover, +#tvshowLibraryContainer .floatableTVShowCover { + cursor: pointer; + } + +.floatableAlbum div.imgWrapper, +.floatableMovieCover div.imgWrapper, +.floatableTVShowCover div.imgWrapper { + width: 130px; + height: 130px; + display: table-cell; + vertical-align: middle; + text-align: center; + } + +div.imgWrapper div.inner { + overflow: hidden; + width: 130px; + } + +.floatableMovieCover div.imgWrapper, +.floatableMovieCover div.imgWrapper div.inner { + height: 190px; + } + +#overlay { + top: 50px; + left: 0; + right: 0; + bottom: 150px; + background: #3f3f3f; + position: fixed; + opacity: 0.8; + z-index: 2000; /* Above contentContainer's */ + } + +.floatableTVShowCover div.imgWrapper, +.floatableTVShowCover img, +.floatableTVShowCover div.imgWrapper div.inner { + height: 70px; + width: 379px; + } + +.floatableAlbum img { + width: 130px; + } + +.floatableMovieCover img { + height: 180px; + } + +.floatableAlbum p.album, +.floatableMovieCover p.album { + font-size: 12px; + font-weight: 700; + color: #000; + text-align: center; + margin: 0; + padding: 0; + width: 130px; + white-space: nowrap; + overflow: hidden; + } + +.floatableAlbum p.artist, +.floatableMovieCover p.artist { + font-size: 11px; + color: #777; + text-align: center; + margin: 0; + padding: 0; + } + +.contentContainer { + overflow-x: hidden; + overflow-y: auto; + position: absolute; + top: 51px; + bottom: 1px; + left: 0; + right: 0; + background: #fff; + padding-bottom: 149px; + } + +.footerPadding { + clear: both; + } + +.albumContainer { + top: 74px; + } + +.albumView .trackRow td { + cursor: pointer; + line-height: 14px; + font-size: 14px; + padding: 1px 0; + padding-left: 4px; + } + +.albumView .tr0 { + background-color: #efefef; + } + +.albumView .tr0:hover, +.albumView .tr1:hover { + background-color: blue; + color: #fff; + } + +.albumView { + width: 100%; + height: 100%; + border-collapse: collapse; + } + +.albumView td.albumThumb { + padding-left: 0px; + border-right: 1px solid #aeaeae; + } + +.albumView td.time, +.albumView th.time { + text-align: right; + padding-right: 4px; + } + +.albumView tr.headerRow, +#albumSelector table { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAIAAABF+LJYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTQ0NDZGQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NTQ0NDcwQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg1NDQ0NkRDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg1NDQ0NkVDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FuFIdAAAAOklEQVR42kyMUQoAMAhC0+j+J+s2ffXTVtDYA1EUpLsjImhmVFU2IsKqGm1uz8zxX7sBeF1zv44AAwDVBhSDNN7oJQAAAABJRU5ErkJggg%3D%3D') repeat-x; + } + +.albumView th { + font-size: 11px; + text-align: left; + border-left: 1px solid #aeaeae; + border-bottom: 1px solid #aeaeae; + padding-left: 4px; + height: 13px; + padding-top: 1px; + } + +.albumView tr.headerRow { + background-position: 0 -1px; + } + +.albumView .albumThumb, +.albumView .albumBG { + width: 120px; + background: #efefef; + border-right: 1px solid #aeaeae; + vertical-align: top; + } + +.albumView .fillerTrackRow2 td { + height: 100%; + line-height: 100%; + } + +/* Album Selector */ + +#albumSelector { + height: 23px; + font-family: Arial, sans-serif; + font-size: 12px; + font-weight: 700; + } + +#albumSelector table { + width: 100%; + border: 1px solid #aeaeae; + border-top: 0px; + height: 23px; + border-collapse: collapse; + } + +#albumSelector td { + padding-top: 2px; + } + +#albumSelector .prevAlbum, +#albumSelector .allAlbums { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAIAAADJDItPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJCOEEyQzlGQ0U1QTExREY4MUI0RjIyREY1QUFBQTlBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJCOEEyQ0EwQ0U1QTExREY4MUI0RjIyREY1QUFBQTlBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkI4QTJDOURDRTVBMTFERjgxQjRGMjJERjVBQUFBOUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkI4QTJDOUVDRTVBMTFERjgxQjRGMjJERjVBQUFBOUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Hnv/HAAAA1ElEQVR42mxQOw5EUBSd9/IyCxA2YQlaO1JbgkVIiIpKgR1oNBqdEKERVD7xmzkzk5gYc6r7zn3nnnMvWdf1dkHf923bchxHH2eM49g0je/7qqoOw8AOxbIs6CVJYppmnudgtm1j+75DhGllWdq2HYbhIQDPpmmCjed5ruvO8/wTghVFoWlalmXXgPCiPM8riiLLMiFkPQM/SNd1sEfINE0ty4rj+FDruv5qfx4wxrQoigzDqKoKDIrvYvc3JEkSRTEIAsdxKKUEsf9era5rQRCeAgwAxPWf44ZS0FcAAAAASUVORK5CYII%3D') no-repeat; + } /* This must appear before #albumSelector .allAlbums */ + +#albumSelector .allAlbums { + width: 94px; + border-right: 1px solid #aeaeae; + text-align: center; + padding-left: 10px; + cursor: pointer; + background-position: 10px center; + } + +#albumSelector .activeAlbumTitle { + text-align: center; + } + +#albumSelector .nextAlbum { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAIAAADJDItPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdCMUE3MDBGQ0U1QzExREZBREU0QkQ5NzdFRENBNkQxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdCMUE3MDEwQ0U1QzExREZBREU0QkQ5NzdFRENBNkQxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0IxQTcwMERDRTVDMTFERkFERTRCRDk3N0VEQ0E2RDEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0IxQTcwMEVDRTVDMTFERkFERTRCRDk3N0VEQ0E2RDEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz62tw0dAAAA3UlEQVR42myQPQ5EUBSF573414jQUEh0Go1GrRGFKKiESuxCYztWYAMqy6ATEg0NmbkiMWTmlPede75zH5rneZomURR5nn/9CC/LUhRFXdfjOK7r+n4K9X2f5zkYNU1LksQwDJZlSZI8t1HXdVmWXWm2bUdRpKoqsBBCBIz2fb+em6Zp29b3fc/zoBAG3v4UTKqqKssSgo/tbdvubQHsOE4QBJIkEVDvHm6aZhzHuq5zHIcx/rIVRUnT1LIsaE5R1OkmwELTdBiGrusKgsAwzB10HDYMgyzLf3/tI8AAgcVrkw2eqPgAAAAASUVORK5CYII%3D') no-repeat; + } + +#albumSelector .prevAlbum, +#albumSelector .nextAlbum { + width: 28px; + border-left: 1px solid #aeaeae; + cursor: pointer; + background-position: center center; + } + +/* Movie Overlay */ + +.moviePopoverContainer { + z-index: 3000; /* Above overlay */ + border: 1px solid #000; + padding: 10px; + margin: 10px; + position: fixed; + background: #3f3f3f; + top: 50px; + bottom: 150px; + left: 10%; + right: 10%; + opacity: 0.9; + } + +.moviePopoverContainer .closeButton { + float: right; + cursor: pointer; + } + +.moviePopoverContainer .movieCover { + height: 100%; + padding-right: 20px; + float: left; + z-index: 3100; + } + +.moviePopoverContainer .movieTitle { + font-size: 24px; + font-weight: 700; + color: #fff; + margin: 0; + } + +.moviePopoverContainer .runtime, +.moviePopoverContainer .director, +.moviePopoverContainer .genre, +.moviePopoverContainer .plot { + color: #fff; + } + +.movieTitle .year { + font-weight: 400; + font-size: 18px; + } + +.playIcon { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAB+CAYAAADiI6WIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY3NEJBNzU2QkM0OTExREZBNjg4RTExODNGRTMxNzlDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY3NEJBNzU3QkM0OTExREZBNjg4RTExODNGRTMxNzlDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Njc0QkE3NTRCQzQ5MTFERkE2ODhFMTE4M0ZFMzE3OUMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Njc0QkE3NTVCQzQ5MTFERkE2ODhFMTE4M0ZFMzE3OUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6EY6YgAAAd50lEQVR42uxdCYwc1Zn+qqrn9Iznto1tPINtMD6wjQFjDgNLQhYlJgkKIecCClJWSsgqJBGKFolspCyXokDYDWGTYAJJOJLsAiExEI5wBAg3GIyN8QH2+BrP2HMffdV+r+q9ntc11T09PX1U21Nyubtrqrur6/v/7//+/10hHH2b4XPMPtpuQugoAtfQQDbS/A1Hg2GEShxYL4iG9uh9bqQA3Q9gO81z/dEoVaMIlSjg+qPpc444ZsnfJx4reKBcHjd9wBfgxWx3D8Pdo+IY97jcbc/5dikzQ6gEAfd6sNjKuFcT2YYqoLkWOKYOmDMTmM3nLY1AUz3/xr/X0AqqdOD5xOCHRInwINHu7wS6etz9wAFgXy+wpx/YPwAc5Dl8iSFpFKZ2DfFSM4BQCQFuyZut6LqqggAT3BO4L5kHLJ4LtM0CWhsINgGvKpMWYfhwPzyWZGsfbEtXH+ZO0PtoDPv2Ah/tAna0A5v3cKdRbCPaB6QRWPLjYh4jsIN+Y4N0PbZG36ZG2+KxspLAHg+s5n7WQmDZHGAePbqxSp7kBTikfYiZBnidy+MeLjc1Y6Ah2AfJADSCXe8Dr70HvPAB8Cb/vo9/jshTo56PtINmCEYAPdvQ4rTYKwjorOOA008BLlwCnDmbr2t4vFzjW0sL6t5AnqnHey/E1ng85uH0mET5MG1hJ43gTeDpl4Enif7bPK9L6gRb0wiBMgAjQKB7HbOWcXnxUuDja4B1i4CVBNvUAS7XADd8cjKvLB8PeMPnIkyPelSe77cT7ZG3gOf/BvxpK/AcdcGHMmLYGgPEgwC+ERAvNyWW4nnNLNe7P0vAP95Kai+XJ5bLvcyjrPS7GfcE2XgKsOGT9+mvLQ14y/Oos0lcer5KA8RxAo5N9PxngUdfAR7pcV4mGEBlC0UF3wgI4ALLCsbqlWuBy84ALqBYm6U8WYBdoYGhAxzzicmZgDve3wyf/FAXHJaHbSARVUZgSflPDfDBk8BDZIH7RigO5SWHfdJE+0gG3vA4kpNjU5idcBbwlfOBL1OZN5dr1lDuEWDRFHfMGAe4yQLvJ0T0sFOmGYiK/0rpSQZ4/yFgPXXAw7z2PZrnx4oBvlVg0NX9csIzX8ykWPvC5cB/fgz4FNOwauHZlXIv0zwpLG9k1KeakglwuQbeG+/VdakfqButMAamnM2CyShMlxH1nh43C4hpNl1QR7QKDLrSZOUEec1ngB98AbiKXj5D/KFK7qq4ENYAj6VQ3sUE3vCIPp2RFK0pA1C6gGlo22k0AJ7T+BHwUdQtCllHmsd7y6fCketPAi6/DPgRPWA1D5jCy6fJG2R7PDw2QQCKAbzXTWOa/tAZoEIer+V9WMXfTuF62i7gYDfQ7gO8UarA6/m4o8/4409YB1xLL/+3Y2nx4sur5Q0xNGEU8Shzo4SANzwCNKaFgJD8rSo9JPCzTwY+Rpc3d1IE8tBIoTzfKgC1O2xHxb6WXn4jY/knSedWhQTd0mRu2CfnLlXgDU8NQYUAU0tJxesaRrdTgXNE+fl9YGvUqQkl1ZTsUgFeT9PEb6xeAFxyJXDDcmCpJWm9Uv6iiDTzWJp0o5SB92qAmOYRldp5DH9L5wDLNzPlGwT2I89NvlYeAFcxXfyu6SuAK68A/qONwtbSYnlUK3rYE7yZpQa8twwc1+i/Qnq/MAg6yNyFwBlbgd2M+7s8JQsjl3E/l8CbHuXecCZj+VeB77fQ68skteuxPJ7FjSt14L0C0JDAh+SxWdQ+SxkWCf6+TmCbhzQC5/E6vYu96Vzgu18Erq6V8bxKXnk6Lz9agPfWASDBV55fT2IkU55F1A92AFs0qWAHCXhvTK9fC3yPoF9FWjerJOfHtVhuI31r2dECvJf61Q0Uz6fTV6iJzqTnHyD472u0nxMDsCYJuKGxlcC3bg0B/xIpnp4eqpQxLCZBj6e44Ucz8PAgGtLyfYJfuYSevwn4qMut8/v19ika8ErI1VCZfu1fgH8XoKvSa1SL58YU8GkfFfiWJoDreBtPAFa/Tq/vo+jLFfiTAT7RUULsVO0XU73/oIkUpTw9quXmmAJ+QqVfUwO/EaidB6x4CXgz7Hb30tv3Cwq83thS0QCc8zXgRl5cixJyMQ10Ywr4Cb1f93zlQMzxm0j9ba8Br/De9kw21ltZgq7aHyp5YSdSyF1PFbrYlCmb6pxgZwjGFPBjz7W1mK/U/nygdYC3+F2C7yObJkzX2cZ1YYyNTNu+uRo4zdA8fVJXNLUltqi8lwZGm6m/CnzlFOALshaml/6NfAGvd6JwGJ2i43MX8iJMrfwYngI9p5sqdqlUj2LP+FdmToz7p0scQtmAb2bBEE6jC5X7yRcD31IK3poCPa+eH9FQXgwcQ011NVGe7QN+ToHX29WF4bV8nBS/EJirKk6qd0yhNtXpwW+P4cgZ5WhoFc+Y1FAC5X+moD7XYf5E84c5EY8PTRB4R8WT4j+9lt9tacWGaAEBFzeisrkZzeecg/rTT0f5jBm8QgPR7m4MvPceul96Cf3btyM6OJiw1lLfFPgqVRbbV/jvPeDFDuBZiWXGpd1QhqAnOpLQuxddAFxez/daWhwqhIc5TZoVFZh/xRVou/pq1Cxa5CtCon196Hn5Zey77z50bNiAof37J86FAfT8uARfufdSUv064Ir1bj1/L5KHcNmTSecM7TxhbA2nAVd+Alin55jxSaZYmZwrvsOqqcHy227D8dddh7KGBsQGBhAfGRndw2HY3I1QCNNoFDM/8xmHFex4HH2bNiEaiyV1hw5yOpeuYcfUUjwG+WNfBz445Lbk6X1RjckCr75nGoPJqi8B1zbxeYUmPJBn4NUPXnrzzZj/jW8gIgAfGnLo3TAM59HZEyfbjiHYBLqqrQ0zLroI9aedhuE9ezD44YdjvqeUgNeBkz14yvm3hheBv8MZ2ucQ8KQ83luLb6CYuOoMYI1eVLDzDLyhKlef+xwW33gjYsPDsKM8Yo4St2Ek35aEMSgD4LHaxYsx65JLUDV7tqMDhnt6ElZdSsB7x4aHpde/DezocMZvJHVKNrIFPlGhY9p2+iVMIVTfd70tOZ/AO82VVVU4iRRfPX8+YvR0X6C9F6+OiUdSvQgDJhVK45lnYgZDgBGJYGDbNkRoSCby3wMol8BDK+lqQ5Ganwee4fE+jHZ5sLNJ53Tga04FPkvLalID3AqVMonvaT7vPNSdcgriw8OSyZO/WbzO5FicYIf7+1HZ2orFP/sZVv3xj5j5qU8lBkWUmsqPYnTKj9XAScuA8zHaocfIJo/Xad5kHFmyCji3QgM9XqAfJy6w6eyzEaKwE8DpwI45387MFGNM86I0osbzz8eK++/HSb/+NWoYCqIllv+rDhwCJOquELOti+AM2knYg5EN8IpFpi0E/qkNmGdowBfKqkOUlLUrVriAxOPjAu3n+T5xgD8i5ohEkR7OvvxynPL001jw/e/DYrYQLaEKZFwDil6/nDidKr3eSlfUMccrz/K/uSvo7dWZSMU8AF/e1ISquXOdlGwyXp7qPSL2R2kAIX7PCTfcgFWPP45ZF1/sVCwiJQK8uldzgemnunRfr5VxMwY+qQVuFnDyYsYPRbvxAoLveHxdnZOzx6PRrL08Ew0g8v8wDWA6076T/vAHLLvnHqcqGHTv93bcOAc4Y5rTUzsxjYBfNug7VZg+3KvuRGAtlXxlzrt5ZrhZ5eUwxMw3OkhZUnwmx6IUfyL/P+aLX8Sqhx/GoptuQhnZIMjxX5+7h0563AKX7quQpvHGTEPzYu6ZOUtpQepAMX54wjOzADar0MD4b1NERpg2Wi0taL3mGqx69lnMvuwyJrLVgTQAPWGfzqdrXMzq4T/pV1qqdzyeNL+McaM1CDP22OPE6gmJu/Heo6p/VP6ioad6yRIsuftunPTAA2g899xApn9xTXifwn/kyHmS/UPjebzhUfNVpPnTxYRDdkCsPFPwMzGGcWO+9jpO8EXhqGXdOqwQ9H/LLahauLBgjVOZ3htVVGsFZi1whuMl5odKG+NtT9GmZT6w0kCAWrV8AMsZxaf7LFn+ddK/mhoc++1vY+UTT2Det74FI0D0r7Cis+Jkx/ETcd47MVhKjzcp6BYcwwwhEMBn6dW5CAPe+C/oX5R5K9vacPytt2L5Y485haC4ZQWC/hXCSxim+djiAd1OBTykhYRmA4vqgGlGQGhsPFWfq/g+7jmy9i+qfzGKwPq1a7F8wwYsuv12TFu6tOjpn0JYTLrQ5Dwk5mhKS/Wqw8o0evuJFfINgQF/nDidaU6fCw3gHGPaJwzANk3M+frXsfwvf0Hrtdci1NCQiP9GEUAXeyMxbHOm3ElQvZmO6tXomMaZQFsZgjXZbS7FXTYZQqoMQDQTi/SvorUV83/0I4f+Z37+80lToRZ6qybglPULZZw3U3m83jRtMBWY0Qw0GwEDPpW4y4UxTPY8sQnlHxsZQe3q1Vj8u99hCdO/mpUrC9qopTATcl7M5g2nR/bYXN6P6kM8c2ad+4aS2HKl9LOp+3vfJ9oUojSAOB9nXHoplj/1FNquuw6hlpaC9kIW/M5w3UzWbhiP6hXNl9W4s0NPtwPk6UiRY+cidmfyOXYG3+81AKf6x3h/3A9/iKUPPugwQSGUv0KXrD19uvOQNAWv4Ve5c6Zl4ckzhbArtDiZaHzPNk5n6/nZMIToKhYNh1F31lkO+E3r1hXE88WV0dVrG1zgx9Ts/cRdOdVAQxCXrrDzBHQuNYDvNQn6pwFUzJ6NE9avR+MFF+QVfOWs1GrVVaNU7xvj9eKN8Pi6QPZBz5Di86UBstUB6j0i9oeam7HgjjswbeHCvAq+uAu8VTvaWGOmA16UJyoZ32uK1RqXCy/LOA/PMHZPVDuk/C7eXUH9VfPnY9711yd3Cc8DOwplP935l5hPOSXVi0sJlbndqYu+jbcKYKE9dtJMI8AXcZ95f9NFF6HuvPPySvmyc0YVfHrimD4327LcTvqBonjkkZpzRfsZvy8WczqXNF5yScaGnY3Hy2bWCviMHzFTVPxKMlfPt7jLWS1AnjPt5JNRVl1diJDq2xHDe8Ai1YfsgIJv57AnzkRz82y/z++7hPgqq693Onna+UXcd53dMXm8bMyPB9Lti5Ce5fWaCiOg7VTx33uW6L0ePxK8PJcdNHIVBvRjsd5exLq78xpb7TTCb0wKaAesR7FdYM/PZ2ueHnQH333XGctv5PG+pcLS9En840wxIkGK8YbylnE8OluxlWkNP1tWGXvXTWcgx6EHH8xbm72aUyDiTpxl+wGf1IlWLKUddldHDJ68z1Hlzs5z3720n8PnVkUFep58Et2PP57XVZ1Fg9Dg6EqXSZdk+rBDuBvoL+XZq3La0SKHYk/U7K1p0xDp7MSua691x/nnsXgjXL3XXeVqTH8Q00dkhgeA7ljQgExT3sxn1W4yGsDr6abI2QcGsPOqq9D/1lt57cQq7hZdPTyYDHwikTA9oDvLxPQDh8LI86IoExUp2kjZbGvx2dJ5tnV+/bOEp9sUctu/+U10PPBAXkFXV9EHDPS5ixul9Hh9bV4BfOeQjPNBVvfFTs8y+SyjvNwBfWjzZmy59FIcuPvu9APXc+jxhxiyDzsPSR7vq+qdKetoJQcJfn8pFHFyOZImZxqAx8TMW2IyBwwPY/8vf4n3PvEJdP/1rwUBXXlwB2l+wAXeuxxvkqhMrJBF4Dt4ds9xQLMdLJTd9Gec5kwBhvccv2O5ep/3Gs3aWuc93U88gb233ILDjz6atDR5ITbh4nuBA/bYGD8GeGUVIo8/dIBv4tkLjIAAng4M5XXeY+OBmKv3qddiciWrqgqDW7di349/jE7G8khvb2Jx5ILUO+Qu4vRu4CO4U6ApbBMRM+TzPmEdvQT+Qyb/Z5YHlNIzBSjvni+OizhOwEUJdu/tt2PPrbdipL09Mfq04ELYTePCO4GdSF4DKi3Vi0Egw/vcFQ8jtNayIHW6zAWI2Zwz5jzZo0bM2CHG0x965BG033gjel98sSiAw4Ms43vfXnfRQjWqO6k0E/JJ55x17/mm7V00nDqgKSjAZ3IdufLoVJ/jHJc5uVlRgYE33sDe225D529+4/SlL2YnVX1Zkw8I+qA7v21EAz6txzvKnnl8OwPETgq8pjgCMlTaR9xlEqdTAZ3J+7zniDq7RfEW7ejAbtL6gTvvxMiePYkBasV2DOXebwPvwl27xrsa+xjg9feK+k3PVmDj2cCpIRR+AOB4+ftEvTqtB493nkzPnMpbOIyD992H9htucFrXxFaGYGyKy8nU0Y3AJj4dwuj6EWljvPJ6cfLwDr75MMVBC1BhF9nTswEsU/DTfi/PN5mPC+D7X34Z7TffjK4HH/T1mmJvMXlNW6jmO9wFCoWw885onVbVi5OHmM9vp9dvmQWsiBeLyrwzU+chdvtSvIjjQq2T1od37MB+Qet33YXIoUMI6mATBd6LwFtxd326YaQYsBvyYVS14MQwD3SQMl5fQ+CLTvcqvk8wTmdrIJZQ68PD2HfHHY5469+8ORBxPB3NG27RZvgt4A0+7daAT0v18ADvtOp9CLy5Bzg0H2gshteLVEl0WrDENOVZVu4yysslrVuM4+Kx929/w+6bbkI3H22p1oO6woWt0fxrwNZ97ooVg0iewjxpM9N8VkTS/bZ3gHf8RFYhtkhfn7PWjGFZGRd3UhV8Up4j0zMxslXQ+vbvfAebPvlJHH7qKZgS9CC3Wygm7OfTF8jQcTeNG/bEdzsd8LYnzos3dxD1f1ApjhgYuzhwvvPSaGenky7pwOesQUUySEguc7LnJz/BOxddhD2M56KTRKksYqQw2UysmMa97BbuHMb2TeXSebxO9/3ttCJ+6HagsNOaiouL9PejT6RNgpa1VSkm3f4u1Lrwcir2zocewnuf/jS2f+97jscH3cPhU3wRadgzxIkMvVWmcRGkWW8+lIY5Yqp8y3fvfhX4+0rgxGp5+40C/rCef/wDMRqASKnsyCTmlJZxXAxfElW3oU2bnDgugI/LlSpKbaUqhewuOugzDvZOxwsdeEzE45WVKLofoFp4gaa0q5Dz1asL7H7+eWcdGTG3fNY9aBirRWOKMyExU7Jd11+PjRdeiP333++0mVsl5OVeISa2v1LXdblFm0GMrk+YkpwzWYUq0ZRMGqleAZyiJk7zmyQv12vSOHQvliQZGUHzunWOxxtjUv00a9Jo6ZnYDhJoQen7773X6f8WQuktRqQXbASyzLz6/wu4a8gFvktT9ClnmR9vMSKdFcoOkUJmAIvbgBZVvzfyDLy6AJFHV7W2YvqaNQ4t+w4I81mkSFC6qLz1v/IKdnz3u2ingBtub085rXOpAK+v7nknHZ65+5/5dD/c+nwYSD/TaiYer8+iFe+kLmCsX10lDcIsAPDOF5Oqe557DtULFqB21SoYQmmIDpieIdTiuGofN7mH9+7F7ptvxs5rrkHfxo1OemaluI5SAV7FYGG8bxDs9cDdYTd3P+TxdmQDvNfpHMon3Q+JKbFP5K7GYJsT/OHZAC++Q8whd+jxx531ZIQBiJGmouBiqp1Ai8EKouI2SIbYt349dpDWOx97zAkVVgqgS23BQcXfRNj+OfCnbcATcJrgE2lcbLwEzMjA49U0p2JmBTGfyszpwPnfAK5ZADQYGFvwzwfwurWLHy4WEGw491zULFuGsuZmx9NFoWd42zb0v/MO+kjtI11diYs3UvzoUlxiNCJBeYSp+y3AjRGnFRYHNeCjnjI8Mknn/NJEyO8TNNLLT399A7DhSuDLlbIJpVDFDlOL+X3cHZFJLxfx3FlbVva/t4BANqZMVsUrRCnoBu8B/i/i1ld6ZQoX1ZIue7z7OJHMYVh+SddG4NEXaGmmVhcs1I9XwCqBZosFhYXgk+XVUl85Ol3OroordwOPU8m9BLcxZkDz9IxqbGaG91ovEA3JL9v1KPDABzQCCyjodJ1+saiQRaVibApwy6X4d55kbJdxvUery2dcVLUmeI+TNlrBIK0uvgxYJmZL1lvv8hXjJ5tBlGKMj2sqnsG8i3H9l0T6LQl8nyboMl4dLpvQnPTBYogOKaB+CXCC6UkBpoDPzfuj8jWdbPhm4LftwNNwO1r0SN014WibC00W30XLqwCOPR6YrS9sMwX85N+v+FvE19uAP79KQcene2RNfsBTnrXzBbw+gFb/kjClZUczvb4VaIyNU9WbAj6zc/UO8euB5/4M/Abu6JgujeKzWgtpsh6fSPd4gUMUep2zgcWzmGbHMHbm3CngM3+/GtkiXv8eeIOp2118uk1SfB/GdrQoCPC2TyHJJuf0CPDnASfOAGpSef4U8OnPVb1gxL17GNj0C+AXPPaeFte97e0otMd7PT/OK+oi7fcQ/MUtQHXMJ+ZPAZ++HKtA3wC8fzvwP3SojVLBdyPDZtd8Am948nzVZcum4uii5x86BlhE2p8WSyH4poAfK+RUPYRJ+qY76OlDbjlWga4GSGRcqMlnjPd6vaNHCH7nFl5wEzB/DlAXRfKKR5gCfkz9Xd28PwCv/wr41fCopx+Wnj6cjYLPN9XbHvBjgvbfAfbWMM2j2m9RJ5hTHj+m/m5Id74TeOZe4J6oG9M7tJJseKJFmkIAPybWy98T43/dBH83r7h+PjCnnL8xPo7oOxqAt7WbJNoW9hHY/ybDP0oRbzuDXR0hp8f0KHLY1zUfjWq253fF+GJgK7DzII9T9LVOB8qiE6zyHSnAGxq12xKAN90y7L2vAX+B0/CWpN5Hcg16vjx+DOVLix3aA3z0Pn9kPXAMhV+dOslA7vqhBRl4We9I5OfipjzIOP5z4NftwLN82Y7RDhVD2dTgi+nxfko/IvcR/qI9G91B+5XHAnOrJPXbE4j7pQS84bkRKsPZCfQzVdtA4O8fchtchJd3aqCH8+Hp+QY+1W92wI+6hZ4dpP9D9P6ZzUBtCKM9CMwjCHhbc1mnAwmfPgFs+Snwu81ul6kdmnLv14ozMeRx/Eq+O87YGk3FtKKUoLBB/tL2V4Ftve569c00ggpD8wqjhIGH9mMtiSTd+gDTtEf/lwJu0PVy0dhyUMbzAa0Mm/ehC4XqMeUVfAp8MUrnMGlvC5V/O829nHl/E9O/kLISPfUrBeBtTyFGbFv4G38LPM/99zvd0S5CwImu0F3Sywc0ao/71EjyQseF2HTsnPVr4a6OJDpwToPbiVPsc2YBK9cCZ58JLKcRlOlvsiZRAMon8HrHRP2R6PYxPXv1ReDFw+6cNEqtq3Z0PZbnldqLBbz3fikcy6UBVHOnozuL4zUKA2gBFhP8NacCS+fwuFo8Le75gGIBr1OYnqbRdePULp106zdfAl7pc3Py/TKG92qADyN5RiqggCPRi9FNzc/7yz0MUCd3QfsLxbCtVcBJxwOzyAIV5VqVyEDycC4zD8Drm46QGn4lENxL76ZL730FeIN5+ZtRd465w7IIowOuhi/rXl5Q0IsFvJ8BqE6zeggQe61kgjqeNLeVLEDwT1wKzJ8PzBahIKQBorcFWD4Ug3HEmO7NhicntT1MM+Ty9gCVefvbFKh06817Xe/eJ4FWsVuJNn28+pj544tx81Fk8OHBS/WQFgZQKfdqyQTCCBrp8ccwHrQeRwNYBLTxce4MGgetxAhpHwSkHx83nhHoXh5x0YxRhneSyncT8J0fMRU77JajVXm1X3q27t0qhkfgM6dssW88AmAA3hBgaWGgTDJApXxUhiAYoYEnNDfTGKgF5sx1q4ItfF1PwVApev9WuosoWiE5+MPweDZGERGdSWJ0zyiRi4klWphgH6YLdxDkve1Mv3hsf9RV4zrQAxrQwxLsiCbwvRMU2AiIxwUF/FQiULGArgcqPGFBfy5Ww64TKynTOmppHdP5vIYnlJe5mYLJD7XEcEsiEhWAE6UIURuh3O6jIOsjor19rvru1YAd0mh7UD4qrw57YndMq18kzTEXhC1Io4y83uBtxFJGoJhA1wU6Mzg731RGlwx1J5+vhxbTU2DypuH6rkD1Pka1Ok1Uo/K4p34BBGxV9iAPL7N92FgZQFgT85a2q4mjLe3R8sn+jDRtC0nNyh4P1ju+6s9TgR3YrRTGFXpvon7jDY+YNz27d4RVqmzN65k6mHpLo+1hCT9lbpfAPS2pAaW2j9g2Uoh3I8NsLlWo8TMEw1OkQxBj95EIfDo9YKcB1chCxKai60yPTQFfZFYYzyiOCBCz2f5fgAEArFexS9eRpekAAAAASUVORK5CYII%3D') center center no-repeat; + position: absolute; + z-index: 3500; + cursor: pointer; + opacity: 0.8; + } + +.playIcon:hover { + opacity: 1; + } + +/* Effects */ + +#topScrollFade { + position: fixed; + top: 51px; + height: 33px; + z-index: 101; + left: 0; + right: 0; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAhCAYAAAAYucG/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYwREM0NTA2QkM1MzExREY4OEFDQUU5NTc5MTFCNkUxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYwREM0NTA3QkM1MzExREY4OEFDQUU5NTc5MTFCNkUxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjBEQzQ1MDRCQzUzMTFERjg4QUNBRTk1NzkxMUI2RTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjBEQzQ1MDVCQzUzMTFERjg4QUNBRTk1NzkxMUI2RTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4NLytwAAAANElEQVR42mL4DwRMDEAAIv6AiN8g4hec+AkifmAhvoOIb6isb3jFvmHRhs3kn6gu+A0QYACIHCJCHDLYgwAAAABJRU5ErkJggg%3D%3D') top left repeat-x; + } + +/* Now Playing */ + +#footerPopover { + position: fixed; + height: 150px; + bottom: 0; + left: 0; + right: 16px; + z-index: 10000; /* Top most always */ + background: #333; + opacity: 0.98; + } + +#nowPlayingPanel { + height: 130px; + width: 480px; + padding: 10px; + } + +#audioCoverArt img { + width: 100px; + height: 100px; + float: left; + padding: 0 10px 10px 0; + } + +#videoCoverArt img { + height: 100px; + float: left; + padding: 0 10px 10px 0; + } + +#audioArtistTitle, +#videoShowTitle { + float: left; + padding: 5px 5px 0 0; + color: #777; + } + +#audioAlbumTitle:before { + content: ' - '; + } + +#audioAlbumTitle { + padding-top: 5px; + color: #777; + } + +#audioTrackWrap, +#videoTrackWrap { + width: 365px; + white-space: nowrap; + overflow: hidden; + } + +#audioTrackTitle, +#videoTitle { + color: #fff; + white-space: nowrap; + overflow: hidden; + font-size: 16px; + font-weight: 700; + padding: 5px 0; + width: 365px; + } + +#audioDuration, +#videoDuration { + float: right; + color: #808080; + font-size: 20px; + font-weight: 700; + padding: 0 5px 5px 0; + } + +#progressBar { + background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAAAAAAdccqdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUCB1jsGfiYOJh4gJCdiY2JlYABfcAiC/XwOEAAAAASUVORK5CYII=') repeat-x scroll 0 0 transparent; + border: 1px solid rgba(0, 0, 0, 0.7); + float: left; + height: 8px; + padding: 0; + position: relative; + width: 365px; + -moz-border-radius: 20px 20px 20px 20px; + border-radius: 20px 20px 20px 20px; + -webkit-border-radius: 20px 20px 20px 20px; + } + +#progressBar .elapsedTime { + background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAAAAAAdccqdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABdJREFUCB1j+M/0g+kr02emj0D4mekrAD41B7hJ9Jz5AAAAAElFTkSuQmCC') repeat-x scroll 0 0 transparent; + height: 8px; + left: 0; + min-width: 5px; + width: 0; + position: relative; + -moz-border-radius: 20px 20px 20px 20px; + border-radius: 20px 20px 20px 20px; + -webkit-border-radius: 20px 20px 20px 20px; + } + +#progressBar .progressIndicator { + background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMpJREFUeNp8kD0OgzAMhe0QWAB1RoKbVKrE0L3H4AztSM/AYaoiVepNuABDGPhN/dIODJQnWYmTL8+O2VpLUJZlJ1kKiSN99ZaomqZ5IWGAApVKqWsYhuT7vqPGcaSu62hZlrvAN07TNBfoGccxMTOtBRNjDM3zfNYoBxc4bElrDbCAY+t53oF2JKCBI/V9v8c5V4D1NE0XebUJSTWAD4URoMdhGJzzOnD2m0LlfiZ9lkmS2CiKbBAELrDHGe7A8Grg+Z+B10g+AgwAK9Fl++J3PdcAAAAASUVORK5CYII=') no-repeat scroll 0 0 transparent; + height: 10px; + left: 0; + position: absolute; + top: -1px; + width: 10px; + } + +#nowPlayingPlaylist, +#nextTrack { + width: 416px; + float: right; + cursor: pointer; + z-index: 1000; + } + +#nowPlayingPlaylist { + clear: both; + color: #fff; + position: relative; + top: -16px; + } + +#nowPlayingPlaylist ul { + list-style-type: none; + margin: 0; + padding: 0; + } + +#nowPlayingPlaylist li { + padding-bottom: 2px; + padding-left: 4px; + } + +#nowPlayingPlaylist li:hover { + cursor: pointer; + background: #004986; + } + +#nowPlayingPlaylist li span.duration, +#nextTrack span.duration { + float: right; + height: 14px; + padding-right: 4px; + font-size: 12px; + } + +#nowPlayingPlaylist li div.trackInfo, +#nextTrack div.trackInfo { + width: 364px; + height: 14px; + font-size: 12px; + white-space: nowrap; + overflow: hidden; + } + +#nowPlayingPlaylist li.activeItem div.trackInfo { + width: 362px; + padding-left: 10px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIZJREFUeNpi/P//PwMxgImBSECyQlWCKkFuBOI9QBwLxBxQPgaGMS4A8R0g7gNiFWwKYVb/gGI/IJ4GxJHoNjNCg+ckEHMA8V8gFgPi10BsiKyQBeZUIGYFYi4gPg7Ek9FNhCnkBJkOxAuBeBYQv8Ll621A7AfETIR8rYBLAQwzUj2uAQIMAPXkkCPo9C41AAAAAElFTkSuQmCC') no-repeat; + } + +#nextTrack, +#nextText, +#nowPlayingPlaylist { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAOCAIAAABhIeELAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNoMxSEOACAMA8CmAdai5ibBwf9fCOJy8DQyE1WFtTfuPZRMW4y/FFSIIwZ7/1ojgCfAAEzrAiPgCWVXAAAAAElFTkSuQmCC') repeat-x #606060; + border: 1px solid #222; + } + +#nextTrack { + border-left: 0px; + color: #ddd; + padding-left: 4px; + } + +#nextText { + clear: both; + float: left; + color: #457cbf; + font-size: 12px; + font-weight: 700; + width: 54px; + border-right: 0px; + height: 14px; + padding-left: 4px; + } + +#playbackControls span, +#playbackControls span:hover { + width: 24px; + height: 24px; + float: left; + display: block; + -moz-background-size: 24px; + background-size: 24px; + -webkit-background-size: 24px; + -o-background-size: 24px; + -khtml-background-size: 24px; + cursor: pointer; + } + +#pbPrev { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAxVJREFUeNrsWU1q20AUluxgsEBgCDjUYBAYui7kArlAu4+7T/dt9m0OkAMkB+gFeoFeoNB1wCAwuNhgCLjIUDDuN+W5vEzejEbyWKqKBx4zaKQ33/d+5k/hdrsNmlzCI4EjAc8EwjAspQh6eqhiSBcSQdrCaxtIBllDVhjrseRYfgjg2w6qM8ipAXBeUYSWkDnG/VUZAXyjwA4JuK+iiEwx/uagBChUEsHiamAVEisVItCTCd9GFGIq1HoGHWleaJUmgHeV1fvaY+X6Gb5blohl5cEBpKN1LaBv6pUA3ku0kNkQ8MW+sQPdfSLCPbKE7tQLAQG8Co9JkcRznBBGNINZSRQiIISN0TKeiOjGehZOzgQoYUdVgbeQmPDE5phbOVNlwsOmCvBkxJTCdFcSwvOstCx6hiypVMJOKt4lTGjcgHAMnQlQQnEXznwmrKMX/kzP7NEp4XLywBmf531MlSVJLGidkXBZCTyxfs0bzpkBl0yAZp6/sV9mhfXshSXPBcJn9UDM2rnbXSi8I3ltecfWdw4Z5AzzaMAnEuiy9srBSOckLwRwA0UOzY9CXwz5gOad9K1WVgZ8wYnwMl/K13ssRsrq73WL7ayO6pMDcAlHlEegzeIvKwE8JotfGPquIJcF8yBjq287j8A+W4ALAi9Z/SWq2wJWdyo+CVxKwFn5fIhZquVR188CifhPEvgCeWcBqvoeqiCw0c6wRZLtG6o3kK9C3wNkjOZ9idyKJHwmAplpznUkoe57rtG8kbyBvnvyxo8CarsGfCKBtWnVK0hEhdRbKWzIU2PJU4YSm9amE0Oy7Y6QvT33MWojNkYIXEmeQnVNU29egvdMk4F4pMSzV2zBSOvc0NHVS8I2l99djpQc8CCotwwMuKwE5qzdoXubOqzf1y695k4E6Dj3xAvSce7A4Du69aVjrW0hm2qH6lHFDhhplwrTQisx3RLza5SI7muqsH6ibZtT0631/30zZ1HanLtRC4nm3E5bwikImvJ/QLt2SYIm/qFhCpr7j0xIvOb9pbSEVv3/iZtWjgTqLr8FGAAhgOqLmi3nxQAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbPrev:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACUdJREFUeNrsml9w1NUVxz/3t0lI0pAsICgBmyhq/0wrS6t1+mcE1D7olGSjVYt/JhtwbF86ig8+1IeYB8ZHoDpVEExS1FoZzB+cju3QSXDs1DJTWXEcq1ZYSISAEDaB/N3fvacPub/k8mM3f6kzznhnzkx2791zz/f8u+fcGyUifJWHx1d8fOUB5IW/WLdu3ayZtbfviwIxIIYiar+uAI4BIKSBJJCsqlqXnu0++/btyw1gpmNva3tUKRIKarVIbHxiitBqaWtPCjSL0HRPvCp92Sww3fHnve2VCuqNkGB2eSBmacvre9ubBBruv6cq9aUAeHVP29PaSD0A5pLplFIkFer98IQgK0WIAZWhqQSQeHVPW8MD91Y//X8D0Pxaa0xBo28cV7FCe0ptA1ofuq96Si2+/HpbJRA3Io+FwNT/8bXWaoGa2l/Fp2UNFT4HcgXxrldbYkCHmgjOMW2jGurWx5tm64qNf2pNCFLvApGxYF+78YGa5FRBPK00+sLulphv6NCGqK/B0lZtWDUX4QHq1sebtGGVr9ka8NaGqG/oeGF3S2zOFni26Y2Y59GBqEDzaeVR98Z/aANUFp7TDun9m2suWvuH3S1xMTSCtbKStDGs/W3i7mQuC0wKYMtLe6Oe4hCiAvOmBW578zN12AqvZqhwmeR7AaTqOlkpQocDImWEVZs23JOesQtpQ2NGU5kxQsYIo0Zuf/Mz9QEQsb+NWMpzKDIXav+v+iBj5LZgz4ymUo9ZZWalxDPb98Z9Q9w34BvIaJ7461HvsCP4PKAQKA7RN4CiHBReW2T5zLPgPcB766h3OKN5ItjbN8Sf2b43PqM06mvZoiYc5EBnd+RZu0EeUGDJ1fp0YkBCfxtLGsg4pP5+3Pv9muW6GlhtM9MWoHVaFqh/bk/CN1KZ0UJGC8O+bLD+Hmi+yGq6FFgALASusLQYWOLQlaHPS+yaxXb9QqDM8iu0/D3AG/ZlQyCDb6Sy/rk9iWlZwNfUOuHZ/K9TecdD2i8GShw3KADy7RqVhVztG/u3BnxgBBgCLgDnnTXm3Z6847dc6TcDtZZDLdA0aRp9+9OhSk9x1LHzte+dye+22i+2Wi+1Wiv75XcjDxkhL5WW1HsnTSrQnhPolJcSPdFPOiS8AUYWFELE4/yZQT4HeoF+C2YI8Fctyiz3FEcCeYxwza3XF6VyWkCLxPUEpuTh3oJjoWxTaM1dBixaWqLuBRgY5R2r0XwnICM/X+HFvr3Iu+XZg/52x+81kPlhuVr+o2Xeune75fkzg2bY/n7UWmUU0IfO5h+7ceFo0hZ+AHFga04AvpbVjvu0BZZyABQ4lligrWeMGikBlgXBvbCQkjtviNxcVkiZXfPNwDWK8lB3Xh9ZedV8rgYY9SVqY2nA0qDdTwHKN9I2DkBYPSmAjKbSAdDpAAhAFFi/LwFKtQl+J8U2MAtuKlfLb1ziVeTnkacnqtUlgLlhEaU/uzqywp3zhfnWoueshfNdABlNJ1BvAVROGsRupanGuiflgPAs84LgDNB6/NCbFy3kitUV3nWLi9V8gGAOYF4eC356tVp0bdQrC8/5RoqdLJTvxs/YWknKxX1E7jTqGxmnHU+tT2cBEGSjfKBAi6BFWFqiFv/iOu/GhUXMD75zqfoG75sVZaos25wx5Nv06cbPuB6PDBb2uXJNbgE9efEXAqK0ZVhSQLG1RNZReLE7hU83L5Ry1XTl8i6NARmnLMNNgxrQ2owJ/eFp6f7wtJwIPofpn91ydtjHZJtz+BmnsLuoas0lV7YYyHX8S+gAGgVG9MQ5kvl3Dyd6BqT/pnKuKcpjnsvk016+6LkgvT9eztKFRZSE9hgBhi1P3wEyvn8WuXLEwETDQtWTL0cdwYO6JeOcngOOFoeB9Ofn6XrrUw529dET0nLv+VFO/+0IyY/PcCQ0N+gcXiNhEFVPvuw2UlNawD00YsDbjvtkrKADQB+QH/i1GisDuoH8EUPeP7rpunYB5d9fzE8iigLgeKCIQ6c4cuICyZuXcntBhLKI4hxw1p7CAQgdKM8gMTMRP8mpgjjlAFhDPgey1C4DNpWOB7Hn0Q/quFOdekfOkUoP8eEPrpK7QB11tGpODeB3HOP9VVfKrXlK9VoA54MSwpIA4mvWuH34pAAyRg7Y4xqQagUNjgsFFrhg3U9/0svvDOSnh1TaHkSem6l6h2F/SiVDSUAAPZAh8063OmwV0u9YIONaIGNMtZOYDkwKQBtpNWO195gL9fdXFJSWdllmvgXg2c+jH51VB7JUouRoOSUUU9qJqUELJKiDBJDR/v4KFLEgpj11cU9wSRB3bqtN+ZrO8aAZu8ASB8CoE3R9toI8A3xh6RTQA5wEToTopKUeu+60/e25kP8HQWx8I/VOAHd2bqtNTd0PGGmGcb9L9J3tayhbVNblpLwgJkZDLmNmcDshObqy4DwwfWf7KpQi4bBqnlZHdvD5RJOvJeV0Q43ORsYKPmwtMeRYZNDSeft5Mhpw1g9ZfuPC799cY3wjjeMyaEkdfD7RNO2m3jdscprqNT0n04+FtOU7QT3iHEbDof42oNEc5DuC+4Dev7nGfG9D4+O+YY0jw6YZX2x9p+6llomMBMbIqo+bNybveKolW8tItjJguvdF7iXXt2p3xTxPHXLmWz9q3FAz4/cBbaROmLhNFuhY8fCutfs31yRdQe94qkWFb9lmO1Y8vCumocNMlA4pBXWzemL6pHlj2jfUZHzSGR98n6g2dFQ8uCs+2RXhbEfFg7vi2tDh+0QzPmR80r6h5pPmjelZv5Ed3b0xqZG1GSNpe1sW9Y20LFu/c0v5/Tujl0Pw8vt3Rpet37nFN9KSMRK1+6Q1svbo7o3JOT/ydb3ySNIYWesbSTuNxeMaObTkvhcTcxF+yX0vJjRyyDfyuMM7bYys7XrlkeRlex8AuOLeHZUitITbOhFSCNsEWs+98eiUDxML7t5RqSCO4jGlLnmtSSpFzZk9uflM+3Y61yir2fH0eJN96emUApIC72dp51YCMXXpE1MwGvpaHp3yiWnOAABK4jsqRaRext635jQUNCmlGi60Tm29y/bMajerm7du+yYgIUht2LWmGEmFagaaRvb9+st/Zh3vBcc23wpsjdz1QtR5Ps2WodK2IUnqv/wmfTkymPr6nz2+BjC38b8BAE58Q+P5oSYYAAAAAElFTkSuQmCC') no-repeat; + } + +#pbStop { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAp1JREFUeNrsWV9rwkAMb3UIFsaEgmJhUBB82Os+1D7APsc+2l73IAiFQUWh4BAqlBWXg7ClsWnvSv/Y0cBRLXfN75fkcrk7+3K5WH2WkdVzGQh0LXf0j23blT4C82gCjxm0e2jqtyN0jaEl0E7QjqAvqajvD3PmjyEBGOvCw0XgVUQRiUBv1CoBGKOs/YjWrkOUJz5B/7FRAtB3DA8fwyUvPL7QqjF8K80Z66C3HoQwUwQCPrYWAtBPKVzlWF25PzSNZ5w3HoYg98YWvhfXRgDBr6GNWfwGVSciI+KzeaQ8sJFIGBEQwKt4PdSZDkHPHOdVKQltAmidJwK+0DI1kODGUvo+uJcp5rKFbNUWeDSg+vYGdVmoe1VpJQaWHssUQZPgGYmAvHIQiz4BDJ0leXXQzdE1kVC66BxbIiZtD3gsrYUdlDkh6s7DJBPABYfm5rBsYWnICykznIvYSj1AwSemdUrNJCLmBbewGs3ptDdIgWuDou4E4DaaffdkfXDZ3MgSIPUKrU105RXas2bfd2gvmn2PhICDGFMphBwWPonVsSCGRMB4RWDKqstbkVjAeEWAhtT5hgicpbAfNvUDgYFAVr6l2d6xTAWMVwTOUr7tWBwpO44K8u1EKmHbFMQwkdYnfjKXwoCYMJ7x2qNA3kxqIQMO9AgnRoyFxVxECCx0CRgUZ6ayYNhKs1DEwsjtMHxcFj7lBHAjQTt6eRuJFsCP2S4syttYjQq2c79ekLZzDYvHrB9qL2RYwu7Iqzke6LZlfaVrTl7tpNJ+VDApQ5ayfDx4ahq80uGzzBNWLSW2VvaQad0kCeFkbluY/f712WgJiX6cTjMS/bwfYLnZt/p4Q5OT5vp3RyYs9f27pRTiuft74mFPPBAwlx8BBgDogIiBqL/sAAAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbStop:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB9BJREFUeNrsmk9sVMcdxz+zWYJjaNhQ2gb6J1sOSL2glXKN5EsOPRTYjXGBpIhdIEBRWthKjZRUiuNDpEiVatMqKnFidhEklFCyC/SIFPlWKYeuqkiVIsUYmkASCjzjgIE3b349eGaZfX62dw1pFYmRRs+7+2bm+/39nxkrEeGb3FJ8w9sDAv/vlvY/rFu3bkGT1E6dzitUj4IckFOKTPwdEQKgIdAQZLSwYX19IWudOXOm5bPynbgTAidqp7MK9ikokgB43iYEAlWBA32F9eP/MwLH/noqo1CDKIr3zQ6EqiDlLRs3BJ0SSHeyzpH36vnIUEFJhtboGyioKxgFGs/2bWjEx7574lQOyAn0COShRWtFhPyR9+qlrT/Pd2RabWugcqxeUTOlPq5gYNvmfLVToR/+S70o0A9kY74yVNqSL99XE3rrnVocfKBgYMezhaF7tZ6Rd2v7LZGMR6L6/HOF0n0h8OcjtYqiBXxDKQq7f1Focbynf1dTce22WLnXzr5WaPn85tFaVoQa01HMDaj+cutMEh0R+GPl/UGl2O99Vf1V8ZlSDLTywKoE8HES/lN8Mn+qvl/BE5YIQ78uPVNeEIE/HDqZB2qeOKvl7b2lBOCup2xXc2jA2L/dU+JEBg+drEirxgu/2d5bn41AYiZ+ffhkRmsqWoPtjQTwKeAhYBGwGOgCHgGWAN/y+lLbu23vsu8vsuNTgHImWN7eW9Kahrd25fXhk5m2MrFrkZFBc9epAqVUIWbbDnzaAnk49nzI04yTeASEXr9jnzqmHSKhICL/sI6dERgESm3VQq++cSKrjRRDI4RG0EYGXtrdO26ln4pJvstK/FFgOfAd4HFgJfB9YJXtK4Hv2d+X2/eX2PFNTdj5eWl377g2MuBhKL76xolsWwQiwz5twPbxV/b2DSXYfdpKu9sD/10L9oc2tmeBH9vnE/b7VfY9R6LbzpN2cztTemVv35A2jDsskWFfWyakjRSRpv8NJIRGZzpO+hkLaDnwmLV7J1llTeMOMAV8BUwAV+08Yk3L9ZbwqjUDQMWGmyJQnjMTj358M69SzcgT/L686TEvZDrTedg6a1PyTyxTP1n7eOppbeiODF0ipI1M+4FSiIIoleJOSnE7nWLqn5+bs+cn5F/Al5bMdUvwDhCdfa1g3Lq/HTx+zSU5MRR61nTXZ9WANtLjSb+eIH3nwM7+lwKZZV2szi5TP203+54PGGOCS8BN26eA27GcAkAYUW/mBpGeOK4WHwgNuTASwkjQkYwmZFnfhBY7B9aGpVqEtrthqefIi+18LnK1ZHUdyajDFJq7mTpZA1pyKOWQNpKKP0vaOXEXsEQb6Tam/fpHG+n2opBz4lRSBtcRDbmbmnNzRiFtyOhp6XPw5c2NWWqbGSQiYbGeDndt9UiaiS8JfAuJgy9vbjhM2szcOMV9YN7yO1Y2pIG0COmoAw2ITI/zwKeS7L8dXDECHVXCzbxgBBWZ9s+XjMyoo+YxuTY39WE0Lwi/kjR+DI86OyDzY79JqFRpF1erBqK2QBiva1fT6Kgj7blaSMfmS9bAHLhSMY8PdAQ6gnUvHs3NIf3IArgFTCFMGYF2O8KUjf23XPKaTQvrXjyac5h0RDBPFJKGFy1yCTsoX/K3LYhJBTc6iUIKbgCTXgLzNdGyY9NGct7YxpwEQiMNrwLsmcUHXFl829U2SslkFEG7XSmZtDXRV3aeMKkWctWBwxQmEIiH0VGwW0ghH6vBxSOgveLs2lig/j4WsBf4NrDM1krxYu6mlfpV4ApwzY6fsvNF3hq+/ee9ODU6pwY+GNpWDzVBqCGMyDz1wuFiAgET00Bgi7JLwL+BcWAM+MQ+x4Bz9vsL9r0v7ThfAyZO4KkXDhfDiEyoIdQEHwxtq8+7H9BGqs7mwkj6Y34gMR+4YYFcAT4HPgXOW8BjMQIXgM/se1fsuBsxH2jZ5IeR9Hv2X213Q3PgbsqX7JN7KvtjWvDD5y1nRsBlC+4zS+SCJXPBfr5of7/smc+tWDhtgn9yT2V/JJJtYjEcaIvAhweL46GmatWG1vSv3VnJzqGF+EblMvCFNZMvvL//Y3+f8Gw/Ufprd1ayWtPvMISa6ocHi+Nt3w9EhrI2Elj2mchIzTMlM4smHJFJu0GZsP267ZPWZKaSJO9vYiIjNW0kY9cPIkO5owuOjw6VAh1JqVkFRpJbs22kEiNhvHLCEXEamfI2Kze973zgrowwPvg120YqOpKct3bpo0OlYEGHu6u3jgw2w6o9mRs7sqM0y5HiXKdyiadz8SPG1VtHWk7mgKGxIzsWdjLn2o+eG6mIeJMqaYih8OmxnXNeSvi7qjjQePvBlrezKkUNUc3srxTVC+/suLezUddWbXo7dtwnATBw6fjz93w6vXLTW/uBflAZ/xjz4vGdbZ1Ot3XJd/H4zlIkMnQ3JpPRhsEVfcPnVmwcXtBNzYqNw8UVfcPntGFwer5m6B6aDfw9XXAALO8dzotQid2uIBCIULepvjFR2zWjZllWGM7Z4/MepcgrZmwPA6UoXT25q/613pE9Whh2Z5X3744MqgrK12u7vt47MgC7SOmR9W8OCOyzRDILAB1Y4AemTu8eXyjz9EIH2kXLQHnRzw7mReixJpKbhVDA9FFNQylGw7/tqd8P1akH/+zxgMC9tf8OAFnnK1XN43WDAAAAAElFTkSuQmCC') no-repeat; + } + +#pbPause { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAApxJREFUeNrsWY1qgzAQ1rYILQiC0EKhIPQR9lB9mj3A3ml9gUJBEAoTBEFQGEh3GddxvSXROGvqMBD8T74v+XKXO93r9eqMucyckZeJgO2yoBeu63ZqBNZRAAcf6hLqCupc8loNtYRaQS2gr7xjX3fXLr1hQgC+8+CwgRoqADcVQSiD+gH9fg5GAN4XYHcIvK8iiCTQf/1QAiiVSDLiomMhiUJIBNopJd+uUGJCaoGijbhJWp0JwHti1Nfstpj6C3yXddCymMEtVI89SqG9pFcC8E7EJFMj8PSv2oG210iEzkgGbce9EJCAF/I4myy8lgZhjxZMS8KIgEQ2ypHpiQgfrF9y4gRmDQt2MPA4gDFapFtZIw4zT4ymMqKyeTR4RoJasQjxGG0ldmRRiQV7HniHcMZ+HcSxa00AFxTV4aXPBdtyFr7NM7kVIq5WM7Chdr4PU9mRRIp+RoZLS+Bu9C1vNi8KXHICuOJ/tN/Fw/Y8CxldCzKLtGDXPjlvvd2Fht/g8EJuHaHzA3n+zj45wPNjy+ZzMvo+x8UltCTnxZPELIUCn5QAdeXVkxCoFPikBOZEf+UzoGc45lNQPxGYCOgJ1CyGtV4YjrqJQKmzuZbKUoFPSqBSeGWbxdf5poXE692isMCgk1fWEffiB3Z9Mmg70O0OeGoxB83V6DDE5ilss6GDd04Nz48d9R+yzWXeJiamgLeW5bNV4NIS+CDnHuZtbFgf0a+nwKUmgOHc3SyowrkHgvf46KvCWpUjS1hQvR94AvYsqZAYeWLMEtM0ygqTTkOMfsS2zbEuaz3TWA4R+aQsMxANAJ5n5rSR4f/OjWpIjCc7TT4c7/8BlnaJnDH+oSENjPcfmWThje8vpUZa9v8TTzHxRMC8fAkwABzhg7l0cw47AAAAAElFTkSuQmCC') no-repeat; + } + +#pbPause:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB/RJREFUeNrsml1sVMcVx3+za/PZkIW6VSNVlRVF6UsVbZXXSO4DjwV2YxwgKWIXE6BRWryVGilBCvFDpEiVatMqKjGFXWQIJRR2gTZPqSK/lge26kPUSA1W1EIpKV7Mp7kzc/qwM/bs3bW9Nk6rSIx0tHv33jvz/8+crzmzSkT4KrcEX/H2iMD/u3WEFxs2bFhUJ+Vz5zMK1aMgDaSVIhV/RoQaUBWoCjKW3bSxspixLly40HCtQiNeCIHT5fPdCvYpyNEC8LxNqAmUBA72ZTeO/88InPz9uZRCDaHILZkeCCVBCts2b6otlEDHQsYZ/aCSMZYiSlI0et+agoqCMaD6Yt+mavzd90+fSwNpgR6BDDSsWg4hM/pBJb/9hcyCVKvtFSierBRV86yPKxjcsTVTWuikH/tdJSdwAOiO2cpwflumsKQqdPhEOQ6+pmCw/8Xs8MNqz5H3ywOOSCogUXr5pWx+SQj8ZrRcVDSArypFds+Psg2Gt35/WbUD+KO3s02h/73j5W4RytS9mDMLSj/e3kxiQQR+VTw7pBQDwU+ln+Sez8dAe1mY2dalgdCvS2eLBJMlwvBP888XFkXgl0fPZIDy9INQKuzszbcAHpe2gAffBRBPZOjomaI0rnj2Zzt7K7MRaBmJ3xk5k9KaotbgpBoDn3DSAXQCywNZEcjyWaTTvev7UV4FCzt781pTDcYuvjNyJtVWJPbNWBmyM0ZVU0plW4BPBkA63HXCrUI4y/EVsIABdCC43wXACFkRueQMOyUwBOTbyoXeevd0t7aSi6wQWUFbGXx9T+/4jCahHNhlbpZXA48Bj7sB1wLrgu+hpIA17p2VwWokgcT6/eUEwOt7ese1lcEAQ+6td093t0XAWPZpC07G33ylbzim94lAbVY7QOuALuAbwDdjn166nHhyjzkSy9wKqlCV3nylb1hbxj0WY9nXlgppKzlk2hYHQ4MP9H6ZA59yM78GWOV+T7YwWH+tgXvAHWAyeNY6iRqwaAaBonM3OaAwZyQe+/RuRiWmPU/tF4UtawOXmXQD+plf62b26y98L7n7a8t4UqQ+izfvc/XsJ+aPnkD++8mXAVGqbgMX/2mP/vWa/AW4AUw4MneBB4D56O2s9eP+fOjUhA9yYsn2PL2qMusKaCs9wexXWgSp0POsdGqQWpHkqVUdPOWff2BY4VRIAFZ3ztwD6EjwLeAyMOWAeztocsWRoTIdG0R6QlxNNhBZ0pERIiNoI2Px1YrZgDfgNdqSNHU9xViIDB1O19cB68J7xkKkWRWzgdCDNUR1bWTMY4rsTKRuvQJa0ijl0VZbJX8xO1gJrNJGksaq0A13OIDiHEOjo6i/573QsiAmNAVCbajKTGhOz+mFtCWl67PPoTe2VlvMvoqR6ASWGyGh6+7OCYkwoDXeE4yVTge8Mz77cRKH3tha9Zi0bd44xW2grRQ8IJEEksaKsjO2gxVRrm+pXzdtL5MB8MR8qchcuGIEFrGXqkfOhkGMNN6PA7DCgopRc+HqaLR4mRNoLAEzTiJrRUI9t3bapzsbkHhnPpUwQQywLVKP+XDFVsDIvLMdy2UeAFPGYhsICNa5x5ZG7N9zJHUMvDQbsrRXF9KGmjagDWx47Xh6FhLWDep9+G0RTJB+YC3aBadJYDK8py2oejS+C9z3watF5K6n+K8dT3tM2lCbxwtJNfAW6VnAe/W471MCQbSpexeMFQSJgP94Ce8ZKyQUd4BbjsRUoE5NmxxtJR1gqs5tA/UHfuAue4CS73D9/jKB7kcup5kEOq7f5U/LknwikBQhcS9iArjmAV29w4eAKLAKolv3+Ttw002AVyXbahW0lZ5wOzufGx0Dt4UUMrEcXIKEzBO4BahL19S5WFT1tgLAn6+o0eBdv3K3gNvuOppNjbSRTOBcx+ZUoY+Hd1QiTS3SEBlSz716LDfLZiQkMAF8Afwb+JeTq8FnKNeA6y6Jm5xNhXx77tVjuciQijREmtrHwzsq8+4HtJWS17nIyIFYNUECG5gK0uIbjsR1RyT89PKFkxtAzZG/54xYx/fGzn0eCPS/1O6G5uB0yBfpfnZvcaCFGhk3cKgONx2wiQDkRExqjvAdB34qUB8bptHP7i0OGJHumfSDg20RuHgoNx5pSm7Z0JoDz+wqdgerYANX6kn4TcptJ3fmkLsB+AdBMJue+Wd2Fbu15oDHEGlKFw/lxts+HzCWgrZSc+xTxko5pkohCa9OXu4HMjWLhAHMxlXHWClrKyk3fs1YCguujX53x5GGupBA6dNj/fkW1bglK2wBPL3jSLwSmP3bsf7KoipzT24/MjTtVl1l7rPR/pbljYcpLQbjNVTmgOHPRvsXV5nz7TsvHSmKBJ0qqYol+4+Tu8ZZovbtbb/tVgnKiJqO/kpR+vxE/7y10XnPyD4/0Z83RkrTmwpN2li59MSWwwNLAf6JLYcHjJVLWpP2YxgjLcEv+pDvyqldeSMyHOy4Utoy1NU3crlr88iiTmq6No/kuvpGLmvLUL2/adc9fOXUrny7/SzoiGld70hGhGLsdAWBmggVF+qrN8u7m3KWx7MjaVc+71GKjKJpe1hTivyNM7srX+oZ2ZrsiK9VLt0ZGZQUFCbLu7/cMzIAN0h+5cb3BgX2OSKpRYCuOeAH753fs2iH0LHYF92gBaDQ+cNDGRF6nIqkZyFUc+lwVSnGoj/srSzF0qlHf/Z4RODh2n8HADwXARqtrKZ1AAAAAElFTkSuQmCC') no-repeat; + } + +#pbPlay { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAv9JREFUeNrsWl1q20AQ9k8RRGASELjEUBAY8tDXXCDXaHuAHqAHaA+Q9r19L31vLpAL9LUPBoOgoJCAwMUgg6hxZ2DaTiea1Wq1trolA4tiodV838zs7Owow91uNwhZRoPA5YFA3/KI/xgOh04vgXUUweUExgQG/h0rj5YwKhhrGCvQVznq+4P5rx8tCcDcBC4JAXcRJFKA3uKgBGAOWvsJWduHoCe+gf7VXgnAs2O4pBQudeHxnaxawru2NXNj8taxEmZIIJNzvRCA51DhvMbq6P68bTzTuplRCEpvLOF9pTcCBP4MxljEb+a6EAWRVKwj9MBCI9GKgAIe4/XOZzoEPVNaV40krAmQdZ4y8EbLeCAhjYX6vkovc8xNG9n8UODJgPjuBekakO65004MLGciU2T7BC9IZOxWTFjsCVDonLJbd7Y52hMJ1MXX2ClhsvbATKS1vIcyJyfddZh0ArTh8NycN20sYv7Ekxe2wnAJYWv0AAdfta1TQF6DomeeSBTCC0lbArcOetEDr4DEe9PiayG31gRYvcJrE1c5h/HRgzdWIiONTR6IRfhUHZVzb0wcw6gSYRSbCByJ6tKXoDc+A4kLx/mlgvEeAX5C23hOi+iBSyBx6eCNjXaK7ONMfNHRG//Eof63N0LuSuB54ovXrsQBBSvON5BhFr4J/NBWu0f5BMDftpxzpGC8R2Cj5VsPckNWdwmbWMuOI0O+jbQS1kGuYTx3AU8YIm1/kp25LUwoGeMTUZe7LNR38N6rDu/gLZySMBqzEK8+H3dQjNZ+0RG8xFDYpNFChFHioPQDAH8Jo9NBiHRHJgK1XQm4l7LStaLOwNZS6QSeXXvoUIypI/KLAPZQM9uuBLdcpB3nlOpx7Wnhz4T1c+udmErYG3ZrSg3dgwjpmvIUrJX2I4Mlc5GyUmo87Rs86khF5slda6GlaDKd7ZOE0plbGkP2v+6NNpAIozstSIT5fUDk5nQQ4heamjQX3jcyZasP7yulEs/9fycOUR7+V6Jv+SnAAJqtxFYrTd5IAAAAAElFTkSuQmCC') no-repeat; + } + +#pbPlay:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACGdJREFUeNrsmm2MlNUVx393ZoEFBEZQEbS6vgSb2pJp6Ic2sVltTNM2IjO8CGjpzggCNVJ2P9T4krjuBxKTJu7SxhZRmCGACIgzQD/S4vZDU7VtJtYPaKwZFQUB8VnK8vbc555+4D7jnWdnZ2dwbWPCk5ws8/LM/f/P+d9zzj0PSkT4Ol8xvubXZQL/76vFfTF37txL+pHC3n0phWpXkASSSpGIfkcEDygJlATpT8+7t3gpa+3fv7/qtXI3cTMEdhf2tSlYqyBDDcAjXoInkBdYvyh9b/l/RmDHK3sTCtWLIjNqOhDygnQtXTjPa5ZASzPrbN1VTAWGHEoSVGdfT0FRQT9Qun/RvFL03pd2700CSYF2gRRURS2DkNq6q5hddl+qKWk1HIHcjmJODfV6WUFPx5JUvlmnb3m5mBHoBtoie6UvuzTVNaoSemF7IQreU9Cz/P50n/u9u58sKPf1gXXpEavkppcKnZZIwiGRf+iBdHZUCPxhayGnqAJfUor0qp+nyw7o0Cq/CxWRCSD1yDy/rdAmQoGLWSy8Kf/LZUNJNEXgt7lXe5Wi03krvyYzP+t4POaAr0VErJlGiPwu/2oOx1ki9P0qO7+rHoFhC9mzm/ektEinbwTfCNpILfChtQBjgXHWWp1/j7Gfx4HY3U8WYlGphdeazPysNpKvrCnS+ezmPammK/EzG/cktCanNVgrdT24oJbnYxZgCH48MNHaFcAE+16rQyRmidQk0fXggqzWlJy1c89s3JNoikBgpFcbSeiLnvcCIR3NXvbeuAXWakFPtptxKnCltcn2swlOROJA3Dpi6PpCWhvx7PqJwEhvwwSefm53mzaScaTT8/iqBeVIpnG9P86Cm2wBXwVcDVxj/15l359kibTaiIWSikej8fiqBWVtpMfBkHn6ud1tDREIDGu1AWvlpx5e1FfD+8oCaLEEJgJT5syIfe+um+I/A2YA11mbCUy3RKZYaY239w0rqaceXtSnDeUQS2BY2xABbSTj6K+nVvFzItBiPXoFkIgpZn77avXYA7Pjj00ay63AN6xdB1xrozLVRsPdGyGJKjxa01PBYiQzYiXuf/dMSsUohMXqN12Lr6xRqKLAp1qpXDt7uvr+D2+MrbnoCM6/Vjb73zkh7wMDwOfASeAzwLPvnQbOAhcA36Zb46baX/fu/DwscmJIt8+aUBw2AtpIux+AtXo9iYqkzwnAJG24whgwBmIw7kdtsYU/viV2z8Sx3OJEYoaVU8KJxFj7W9E6gh9QDDFpI+11JeQbkn4g+IGgA+mvAx5nH1SyUGCYYARcuymhvjX/m/HFt0wl6RCYDkyzG3+CQyAGKHc/6ED6Q0y++aJS1+xGtZYkSoXoSg1EwI1Cq0FaAzP0y+PiTLzrxvhP26aYG/72sRwcvEBgZXPeMR/QVkaVVkQHlOSL0pysGwFtSOiL3mfDE0tGIoBTC1qAMYFhjBFhOLtxiro9NSv2i9um8R0nI1Wl1aiENjyxpBRi0mbowSm6ByrWSCseyUhxEWJRCUVtTJzJP7g+1vGTW9XiRCtXOvKJu/KsklEdXNEIVKyZM0VoAiowQiN29XjuvG0atztSjEa3IVwt1Tv+koZc4lojwbsQ4P3ruGw9dII3gcDpVsPfqzpL1MNVvYmbI+C2ysYCCcwIk75PT3Po9U/YO+jzfqQGBFESjeCqllCApwPQAcx9dFtyBPA44LUF4Yd1IGoXAvy/H+FPf/6A/YM+R2sUssAhUUE899FtyRCTDvDqR8BICbjTIkwyfCqNev4CcA44X2v7DJzj2BtHeM07xwfAp8BxW5VPAWfs/ToipRBT0tkUpfp7wCEAtAP5Ot6XCPhBBWeideC9k7z+1nH+aQEft3YiQuC8S8DVf6T6lkZKo/2VlBVIagQJhdK5YEGciilOhzn/jC/H/nqY7W8d5zXgQ+Aj4GPgqCXhWQmdi+yBqP5TThrtr0vgYF9H0dd4vgY/IHHHI1syw0wZQu/7ofeBgbhiwAgcG6T/Lx+p3x8dpOSAPwwcAY7Zxu4/jv51rUbujke2ZPyAhK/B13gH+zqKdSVko5CHiwd5EbpryEgc7fsWxCl7kvvo3ZM8cegz9Z7N59pG57QFPGhfn4tkH1PrwO8H0q2+2AD5EdOoPdCsFyScRLTNWZ3r/MeGbF+N9OlGQAHm3556w7YG8dAf9vMzlmitvkcOrEsP2ftzVuc6A5G2UFAKtb6hA82bGzJlX5O3YUNrumevyLVFZBSatoDOWg97tt8/bqUSZpsBx/vnI73/EPCzV+TatKY7xOBr8m9uyJQbioCNQpcg4fwyARSA79aQETUyUszpJsONHlrgzomGmxEFRgrOpM5TqK6mphJvb856OpBspQsMJDmrY1OuRhSideCs9fKgI5tzkY0aHFiXNsOBn9WxKacDSTprZ9/enPWafkLzzpblRd/Q5xvwLzZSmZuXVZEwkWLmOz2++1c7G9XUm8zdvGxTThsy4Zq+oe+dLcuLX2o6fcMDm3IizmxUSUkM6cM7VpQjA11Vo5MccZwIcP3SF9tUjAKiKu2LUuQ/3L78y81Gw2vm4hdzUjXgFQ/oObLzoejIpUKokck0wIzFL3QC3aASTj+d/2TnitGZTofXNfe90CtSNehFkDJCz4lXVjb9fOCqhRszKLoVqmpgpRR9x3Y9NLrPB8Jr6oKNKRFykacrCHgiFLFPaAYKK4f0LFPSG5N2fN6uFCnFkOOhpxTZk3tWFr/SZ2ST0xsTAr0wis/IIK+g61Rh5Vf7jAzALpIdf+/zPQJrLZHEJYD2LPD1Z/etKl8q85ZLvdEu2gV0jblnQ0qEdiuR5DCEPNsOl5Si3//j6uJohE5d/s8elwl8ueu/AwCDqx8QqEWrWwAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbNext { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAvpJREFUeNrsWV1q20AQtmJjiCA0IAgkUDAUAi0ECr1ALpADuNdo39u+pweI39tcoAfoBQKFQAuGgCGQkIAhxUEGkeB+E0ZhWO9IK3llVcYDg2ytdne++dvZ3WA2m7WaTMEawBqARwBBEJQaBGN08dgGb4Hpd6h8GoMT8AR8h/mSkvP5AYC+ER4RC16GCMgY846XCgB9SNsvWds+iCxxifnvKgWAb9t49NhdbO7xl7UaY6xHS9+QrfVCcTMCMDL7egGA72jCVxatk/mvivozx80eu6BpjQuMF3sDwMLvg9uG/47KBqIBpGfEEVlgqIEoBEARnvz11mc6xDw7HFe5IJwBsHbeCOEzNeMBhKksmu+3aeUiAF6LYKtU+AwQlBD+FAaA9xRgu6LfhWua8wBimxNGSteY+8oZALvOgRjgFm2XyywRIAPFw454dZ66kguAnkhvCfvh45IBtDn+0rRNK/YoFwB3fCvGGhVd6j2CiDjFpvSLFCll3rD0kwtLUpfwrNAxe4BNNicAN/9BxXzjDEDUK7I2yTLxIXhLaXvHmUzr+wF8Aj7KASBlCFlG1QKh4T55ZUIf/J2EtbTRu29o6yt99/mb3Rw3Sgw3CrMAbBrVpQuRACesUdMa9D/V9N4CbhQrMs4B6Ijf04KTuFjjqCSAqSKjNYgXoWdrWHZp9P8T2o61uClDnYoyRz+j7ZAtcu9joo1WdTTJaLv3NUlVAAbgU6XtB/g97eKqAPCgRbsjXZNwSH0DxSIf0fYZPCk47qYi41wMTLV860Ck8YEi3Bn4iyyJC1KoZcdORr7tUlntsJhNWLifSvtXtJ0uuGfuautTx1j1qNKLBWLaWGTtfc/YLWxaH7I7DRd0c3mEE5vVqK2clptrKifO66zkIM+BsMDTYUJeOT023CiqUfjIcJ+50n71dmQrsSdu/KnESpwLrcTJnDLoczrzLLz/s9EcEM04nTZANPN+wMjNvVYTb2gsaa55d2TKUt+8W0rFn+u/J24irQHUTf8EGABePUpJ23F8cgAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbNext:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACRFJREFUeNrsWm1sU9cZfs6145hAjJvwEbrR3raiQ6iA+bFq0jSBVSZtUiE2g62NaOM0HaumiYZp/1othSl/2h8FpFYswPIBKrR8OCGbqm2pQqWt1co6XIpKV0owHyUIssT5jnPPOe9++Fzn+GI7cUI3VeJKr7jm3HPe93m/zzlhRIRv8mPgG/7cA/D/ftz6jw0bNsxokWj7KZMBIQa2FoDJGALZviNCDECcQO8T0Bau3BifCb+Ojo70O9ODuFAAx6OnIgyoBsO6GSEnnCagZXN4Y/P/FMCR4+0hBvY6GMy74geEOIF2PL25sq1QAO5C+Bx6p83PwJoEIQQQkJmBYwbQDuA0gFjVlsqEPvjWsXY/gACAdRKoVO/2YwKIHn6nvY1ANc/8NJSYrkzTtkDT0WiAgXUB8GcsADQD2Fn9VKggf2452mYCqCcg4oiTOBiFa54Kx+6aCzUejgYYQxdjGcKfZkBNbVU4PhvvOfhW1CSgCZiMIyIkiBDctjU7iIJc6M3WaEAQuhhlCL/jhWfCu2cj+PqXogwAlAKC+w5F6wC8rob9BHS92RoN/vLZ3JaY0gJ7m06aDDiLSc0nGBD8VWRTTAnAZiC7c54tAFUuo1UAJt2UkCBgzfaaTfFcFshbyDhR1CLyW5JgSUpwScG2i+zc+peiLgD5yJ2Hcs5rv8g+nRD0hCUpYUmCReTnRNEZVeJXG0+8wjkCnAOKnvvTJePTLIyLAHgcVJSDvIqKHZQG9m63cc7iqNX4Bl5tPPFKQQAa9h03uaR6LgmK9vzlitGhmBiaMHMVzctCpVmoRJH9TQmAOYpsIMZfrxgdlqS9Gv/6hn3HzSlbibTrSKrXfsbHhfE75beGQ9PFmiV0355OfBAACcBSlNQUyocttsvrkhtVjQCAegA1U1rg5b3H/FwiwiXAJWAJ7Dpz0xjUhC9WWvcBKAOwCMBiABUAlgC4X/2rU4Wixer7RQAWAihXa/jUml7Fw3XmpjHIJXbZcnCJyMt7j/mntACXFGEyrbz4mdvuFi0APcrspYqpX/32aH5sW4ppmra1LbV3rrQ+BmBEzQUAocbEhz3ulu8u5L+1rUCgCIDd+QEIqmZGOrXu0YSxAcxVgpeHlrue/axXXvqil/rVmGGD+P5S47FxjrGPe2S3ElookgCsSMBV6/Oyh68P0MmTF8QhTfgJRRYAxknusesDSVTnBbD9taN+TghApP+rXdOoWwvc+QDKSz1Y9cOHjdBSH330Xrf8TLeCxwUzsIQ9ZvpdV9/9Unw0amFcCWgBmJgQ8AhJSAoqUQqxlDU8ekxZAm1agQtsf+2oH0AiawwIiYAlCIri5/s9V7TvdBfyASjjEkVSAo+WscerVro2LSnFo3YcTAj4pAQWzcUDVStdoeUL2EotHhZzCY9MxZjXEQNFmjux8/2eK5aguC2XkJl7jQwAnFOAC0CRXsL1nO9VKdBnSXLbQTa3CL4nl7ke/9632XIA5YLIa48xwP2DB4zVax9kq7xuLEqBT821RNot5zhrwqRbI5aWi1MgpwtxCb/WI3+ipUSnFbwASoSES8jMnnrFAlZx/zxWNmwRd449ch+rWDKPlf39uvySq7mSyK1nH8VDT8GMC/oEQMjuk/IAoOn0MXaguoUkJunOdO8rhsdXzDzZlvO64XnCNFZYIsVOyLRistWTKeVyWmD6eyiAUgJkXzyRJO4vZlkLZc8w9c8tYh5fMdwyZXHK0txNS64MBpag6VROO09PSCLJHVPGLFj/uIFbi0tQMm8h3ecQRFzoxY3zt3DtR4/QCk4AyXRm4mptcgLKJ5fbUQOy1WnKVXykhBCTKRe3RtD34XVcS0rQ4hJU6GNDFkb+dhWfD01gGEBSUmouTabPpAIitIKXXa7cACbzKwGrYaQXEVqRGQUwCCBBBEsSwCUmzt3Gx9396LP9mAGltnd1J/D5v27iklKABSBJMjWXEZIAhtW6ScXDrtrKM7BaC4pEviCOaQACWZquccWsPzWXJgaT6P5nD/tz3ziSWrfKDIPKRycweL6XvXd1ED2aElIgGCUFAYxhFGD/UUoZVQC4bfnOhjD9+DeHAhqAWE4AQlJM6icFY0MPYk7pNc33k6pvcQNgPSOInrvFvlD526P3QTeH2PiFXpxSFfiOPmjMwkUGjCQ54kqrQ9kArP91q8klmZpXx/JuKYN1LWfTRx6EHa55vr1afvaqgqPvAfTqaTgaOabFkJOE1kaPKsuOqPcxOx7E8OB2sHQrEevaXb0m76be4mjRzmxedKUaOtJiwBbKdqkiR/7OtRcgR2HUM9q4Ij2QKZWB8KJ+GjNlOy2JmiWlEZtDfQPVpWXzW218Du2N637vKHjZiiCygNA3NbZFJAA51DdQzbTTP4OhecoNzQdvRBJcUnN6O0dU33c74dOY2Rob1Uw/5KDBLDSgSB8fUvPHNAsQANnfO+DjlLGtbf7gjUhiWntiLrDT4oCV2lSbXKK+syEsNbNLh+nHNEA6jWWhkSzj40r76fUtQfWcw0zLIbBz2pv62P6auCDaaaMXkupWPPeHUGdDWHY2hG2/5VpqLJR4rjU6G8LiRk9/pZBUl+ZPtDO2vyZe8MHWd6oPpjMSAQkCghdbamP5TtoKONzKCPDOhjABwLLqgwEGdLHJrjP275baNTM6WuSEMBHOqhbWD6Droa0Hg5cP3wnCFqCAZvCO56GtBwNCQj9ATjCG8IyvmC611saFRNASSFgCsAT8XOLs0qoDdXf7qmhp1YE6LnHWEvArXgkhEbzUWhuf9fH6t54+EJCZmgFApwmoufn2z2d1Ol3xs/0mA5oApt/yJAwDwa+OPD/l6fS0Lvm+OvJ8TBAFuaT4ZFrDOiFxecGWxqbyzY0F39SUb240F2xpbBISl7nEOi1dxgVRTuFnfMEBAGU/afQToUnb3ulOHSOavKEZiG7LyNnzw43pGxrGUMmQ9SKwjTHU9J3Ylvha78hKw40hddRh3qUQiAPYMRTd9vXekaU3JylGbXM2/j5CQLV+u1Lgc5oBLWOnftE8U+Tu2ahNMW4uenKfCSBEhLXKKoEcU2IA4ozhfQBt1h9fiM/WdOzeH3vcAzC7578DAGoYGUoN5WewAAAAAElFTkSuQmCC') no-repeat; + } + +.tvshowContainer .showDetails, +.tvshowContainer .seasonPicker { + clear: both; + float: left; + } + +.tvshowContainer .episodeListingsContainer { + position: absolute; + top: 0px; + left: 500px; + width: 500px; + padding-bottom: 149px; + } + +.tvshowContainer .episodeListingsContainer ul { + list-style-type: none; + margin: 0; + padding: 0; + } + +.episodeListingsContainer li { + clear: both; + } + +.episodeListingsContainer li img { + height: 200px; + float: left; + } + +.tvshowContainer .showDetails { + padding: 10px; + position: absolute; + top: 0; + left: 0; + } + +.tvshowContainer .showDetails p { + margin: 0; + padding: 0; + } + +.tvshowContainer .showDetails .showTitle { + font-size: 20px; + font-weight: 700; + } + +.tvshowContainer .showDetails span.heading { + font-weight: 700; }
\ No newline at end of file diff --git a/addons/webinterface.default/css/ipad.css b/addons/webinterface.default/css/ipad.css index 29e1b0bb12..429ae843b1 100644 --- a/addons/webinterface.default/css/ipad.css +++ b/addons/webinterface.default/css/ipad.css @@ -1,9 +1,9 @@ -.contentContainer {
- overflow-x: hidden;
- overflow-y: auto;
- position: absolute;
- height: auto;
- bottom: auto;
- background: #fff;
- padding-bottom: 150px;
+.contentContainer { + overflow-x: hidden; + overflow-y: auto; + position: absolute; + height: auto; + bottom: auto; + background: #fff; + padding-bottom: 150px; }
\ No newline at end of file diff --git a/addons/webinterface.default/index.html b/addons/webinterface.default/index.html index a0783c9e57..8162592962 100644 --- a/addons/webinterface.default/index.html +++ b/addons/webinterface.default/index.html @@ -1,80 +1,80 @@ -<!DOCTYPE html>
-<html>
- <head>
- <title>XBMC</title>
- <meta http-equiv="Content-Language" content="EN" />
- <meta http-equiv="Content-Type" content="UTF-8" />
- <!-- <link rel="search" href="/provider.xml" type="application/opensearchdescription+xml" title="XBMC Library" /> -->
- <link rel="icon" href="/favicon.ico" type="image/x-icon">
- <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
- <!-- <link href="/images/logo.png" rel="image_src" /> -->
- <meta name="robots" content="NOINDEX, NOFOLLOW">
- <link href="/css/core.css?1.3.57" rel="stylesheet" type="text/css">
- <link href="/css/ipad.css?1.0.5" rel="stylesheet" media="only screen and (max-device-width: 1024px)" type="text/css">
- <script type="text/javascript" src="/js/jquery-1.4.2.js"></script>
- <script type="text/javascript" src="/js/Launcher.js?1.0.0"></script>
- </head>
- <body>
- <div id="header">
- <div id="commsErrorPanel" style="display: none;"></div>
- <div id="navigation">
- <ul>
- <!-- <li id="remoteControl">Remote</li> -->
- <li id="movieLibrary">Movies</li>
- <!-- <li id="tvshowLibrary">TV Shows</li> -->
- <li id="musicLibrary">Music</li>
- <!-- <li id="pictureLibrary">Pictures</li> -->
- <!-- <li id="settingsPanel">Settings</li> -->
- </ul>
- </div>
- <img src="/images/ajax-loader.gif" alt="Loading please wait" id="spinner" style="display: none">
- </div>
- <div id="body">
- <div id="topScrollFade" style="display: none;"></div>
- <div id="content"></div>
- <div id="overlay" style="display: none;"></div>
- </div>
- <div id="footerPopover">
- <div id="nowPlayingPanel" style="display: none;">
- <div id="nowPlayingContent">
- <div id="audioDescription">
- <div id="audioCoverArt"></div>
- <div id="audioTrackWrap">
- <div id="audioArtistTitle"></div>
- <div id="audioAlbumTitle"></div>
- </div>
- <div id="audioTrackTitle"></div>
- <div id="audioDuration"></div>
- </div>
- <div id="videoDescription">
- <div id="videoCoverArt"></div>
- <div id="videoTrackWrap">
- <div id="videoShowTitle"></div>
- </div>
- <div id="videoTitle"></div>
- <div id="videoDuration"></div>
- </div>
- </div>
- <div id="playbackControls">
- <span id="pbPrev" title="Previous"></span>
- <span id="pbPause" title="Pause"></span>
- <span id="pbPlay" title="Play"></span>
- <span id="pbStop" title="Stop"></span>
- <span id="pbNext" title="Next"></span>
- <div id="progressBar">
- <div class="elapsedTime" style="width: 0%"></div>
- <span class="progressIndicator"></span>
- </div>
- </div>
- <span id="nextText">Next:</span>
- <div id="nextTrack" style="display: none;"></div>
- <div id="nowPlayingPlaylist" style="display: none;"></div>
- </div>
- </div>
- <script type="text/javascript">
- var mediaLibrary = new MediaLibrary();
- var nowPlayingManager = new NowPlayingManager();
- applyDeviceFixes();
- </script>
- </body>
+<!DOCTYPE html> +<html> + <head> + <title>XBMC</title> + <meta http-equiv="Content-Language" content="EN" /> + <meta http-equiv="Content-Type" content="UTF-8" /> + <!-- <link rel="search" href="/provider.xml" type="application/opensearchdescription+xml" title="XBMC Library" /> --> + <link rel="icon" href="/favicon.ico" type="image/x-icon"> + <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> + <!-- <link href="/images/logo.png" rel="image_src" /> --> + <meta name="robots" content="NOINDEX, NOFOLLOW"> + <link href="/css/core.css?1.3.57" rel="stylesheet" type="text/css"> + <link href="/css/ipad.css?1.0.5" rel="stylesheet" media="only screen and (max-device-width: 1024px)" type="text/css"> + <script type="text/javascript" src="/js/jquery-1.4.2.js"></script> + <script type="text/javascript" src="/js/Launcher.js?1.0.0"></script> + </head> + <body> + <div id="header"> + <div id="commsErrorPanel" style="display: none;"></div> + <div id="navigation"> + <ul> + <!-- <li id="remoteControl">Remote</li> --> + <li id="movieLibrary">Movies</li> + <!-- <li id="tvshowLibrary">TV Shows</li> --> + <li id="musicLibrary">Music</li> + <!-- <li id="pictureLibrary">Pictures</li> --> + <!-- <li id="settingsPanel">Settings</li> --> + </ul> + </div> + <img src="/images/ajax-loader.gif" alt="Loading please wait" id="spinner" style="display: none"> + </div> + <div id="body"> + <div id="topScrollFade" style="display: none;"></div> + <div id="content"></div> + <div id="overlay" style="display: none;"></div> + </div> + <div id="footerPopover"> + <div id="nowPlayingPanel" style="display: none;"> + <div id="nowPlayingContent"> + <div id="audioDescription"> + <div id="audioCoverArt"></div> + <div id="audioTrackWrap"> + <div id="audioArtistTitle"></div> + <div id="audioAlbumTitle"></div> + </div> + <div id="audioTrackTitle"></div> + <div id="audioDuration"></div> + </div> + <div id="videoDescription"> + <div id="videoCoverArt"></div> + <div id="videoTrackWrap"> + <div id="videoShowTitle"></div> + </div> + <div id="videoTitle"></div> + <div id="videoDuration"></div> + </div> + </div> + <div id="playbackControls"> + <span id="pbPrev" title="Previous"></span> + <span id="pbPause" title="Pause"></span> + <span id="pbPlay" title="Play"></span> + <span id="pbStop" title="Stop"></span> + <span id="pbNext" title="Next"></span> + <div id="progressBar"> + <div class="elapsedTime" style="width: 0%"></div> + <span class="progressIndicator"></span> + </div> + </div> + <span id="nextText">Next:</span> + <div id="nextTrack" style="display: none;"></div> + <div id="nowPlayingPlaylist" style="display: none;"></div> + </div> + </div> + <script type="text/javascript"> + var mediaLibrary = new MediaLibrary(); + var nowPlayingManager = new NowPlayingManager(); + applyDeviceFixes(); + </script> + </body> </html>
\ No newline at end of file diff --git a/addons/webinterface.default/js/Core.js b/addons/webinterface.default/js/Core.js index e882793f45..91b1be5720 100644 --- a/addons/webinterface.default/js/Core.js +++ b/addons/webinterface.default/js/Core.js @@ -1,69 +1,69 @@ -/*
- * Copyright (C) 2005-2010 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- */
-
-/* Global Paths */
-
-var JSON_RPC = '/jsonrpc';
-var DEFAULT_ALBUM_COVER = 'images/DefaultAlbumCover.png';
-var DEFAULT_VIDEO_COVER = 'images/DefaultVideo.png';
-
-/* Prototypes */
-
-String.prototype.startsWith = function(prefix) {
- return this.indexOf(prefix) === 0;
-}
-
-String.prototype.endsWith = function(suffix) {
- return this.match(suffix + "$") == suffix;
-}
-
-function durationToString(duration) {
- if (!duration) {
- return '00:00';
- }
- minutes = Math.floor(duration / 60);
- hours = Math.floor(minutes / 60);
- minutes = minutes % 60;
- seconds = duration % 60;
- var result = '';
- if (hours) {
- result += (hours < 10 ? '0' + hours : hours) + ':';
- }
- result += (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);
- return result;
-}
-
-function applyDeviceFixes() {
- document.addEventListener('touchmove', function(e){ e.preventDefault(); });
-}
-
-var commsErrorTimeout;
-
-function displayCommunicationError(m) {
- clearTimeout(commsErrorTimeout);
- var message = m||'Connection to server lost';
- $('#commsErrorPanel').html(message).show();
- commsErrorTimeout = setTimeout('hideCommunicationError()', 5000);
-}
-
-function hideCommunicationError() {
- $('#commsErrorPanel').hide();
+/* + * Copyright (C) 2005-2010 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +/* Global Paths */ + +var JSON_RPC = '/jsonrpc'; +var DEFAULT_ALBUM_COVER = 'images/DefaultAlbumCover.png'; +var DEFAULT_VIDEO_COVER = 'images/DefaultVideo.png'; + +/* Prototypes */ + +String.prototype.startsWith = function(prefix) { + return this.indexOf(prefix) === 0; +} + +String.prototype.endsWith = function(suffix) { + return this.match(suffix + "$") == suffix; +} + +function durationToString(duration) { + if (!duration) { + return '00:00'; + } + minutes = Math.floor(duration / 60); + hours = Math.floor(minutes / 60); + minutes = minutes % 60; + seconds = duration % 60; + var result = ''; + if (hours) { + result += (hours < 10 ? '0' + hours : hours) + ':'; + } + result += (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds); + return result; +} + +function applyDeviceFixes() { + document.addEventListener('touchmove', function(e){ e.preventDefault(); }); +} + +var commsErrorTimeout; + +function displayCommunicationError(m) { + clearTimeout(commsErrorTimeout); + var message = m||'Connection to server lost'; + $('#commsErrorPanel').html(message).show(); + commsErrorTimeout = setTimeout('hideCommunicationError()', 5000); +} + +function hideCommunicationError() { + $('#commsErrorPanel').hide(); }
\ No newline at end of file diff --git a/addons/webinterface.default/js/Launcher.js b/addons/webinterface.default/js/Launcher.js index 64ad04cede..6bb4391ec9 100644 --- a/addons/webinterface.default/js/Launcher.js +++ b/addons/webinterface.default/js/Launcher.js @@ -1,82 +1,82 @@ -/*
- * Copyright (C) 2005-2010 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- */
-
-/* This launcher is based on the scriptaculous.js launch script */
-
-// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// For details, see the script.aculo.us web site: http://script.aculo.us/
-
-var DEBUG_MODE = true; /* Set to false to enable cached javascript */
-
-var Launcher = {
- VERSION: '1.0.0',
- REQUIRED_JQUERY: '1.4.2',
- load: function(libraryName) {
- document.write('<script type="text/javascript" src="' + libraryName + '?' + (DEBUG_MODE ? this.randomValue() : this.VERSION) + '"><\/script>');
- },
- init: function() {
- function convertVersionString(versionString) {
- var v = versionString.replace(/_.*|\./g, '');
- v = parseInt(v + (v.length == 4 ? '' : '0'));
- return versionString.indexOf('_') > -1 ? v-1 : v;
- }
-
- if(!jQuery || (convertVersionString(jQuery.fn.jquery) < convertVersionString(Launcher.REQUIRED_JQUERY)))
- throw("XBMC Web Interface requires the jQuery JavaScript framework >= " + Launcher.REQUIRED_JQUERY);
-
- var js = /Launcher\.js(\?.*)?$/;
- $('html').find('script[src]').each(
- function(i, s) {
- if (s.src.match(js)) {
- var path = s.src.replace(js, ''),
- includes = s.src.match(/\?.*load=([a-z,]*)/);
- $.each((includes ? includes[1] : 'jquery.lazyload,iscroll-min,Core,MediaLibrary,NowPlayingManager').split(','), function(i, include) {
- Launcher.load(path + include + '.js')
- });
- }
- });
- },
- randomValue: function() {
- return Math.random();
- }
-}
-
+/* + * Copyright (C) 2005-2010 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +/* This launcher is based on the scriptaculous.js launch script */ + +// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +var DEBUG_MODE = true; /* Set to false to enable cached javascript */ + +var Launcher = { + VERSION: '1.0.0', + REQUIRED_JQUERY: '1.4.2', + load: function(libraryName) { + document.write('<script type="text/javascript" src="' + libraryName + '?' + (DEBUG_MODE ? this.randomValue() : this.VERSION) + '"><\/script>'); + }, + init: function() { + function convertVersionString(versionString) { + var v = versionString.replace(/_.*|\./g, ''); + v = parseInt(v + (v.length == 4 ? '' : '0')); + return versionString.indexOf('_') > -1 ? v-1 : v; + } + + if(!jQuery || (convertVersionString(jQuery.fn.jquery) < convertVersionString(Launcher.REQUIRED_JQUERY))) + throw("XBMC Web Interface requires the jQuery JavaScript framework >= " + Launcher.REQUIRED_JQUERY); + + var js = /Launcher\.js(\?.*)?$/; + $('html').find('script[src]').each( + function(i, s) { + if (s.src.match(js)) { + var path = s.src.replace(js, ''), + includes = s.src.match(/\?.*load=([a-z,]*)/); + $.each((includes ? includes[1] : 'jquery.lazyload,iscroll-min,Core,MediaLibrary,NowPlayingManager').split(','), function(i, include) { + Launcher.load(path + include + '.js') + }); + } + }); + }, + randomValue: function() { + return Math.random(); + } +} + Launcher.init();
\ No newline at end of file diff --git a/addons/webinterface.default/js/MediaLibrary.js b/addons/webinterface.default/js/MediaLibrary.js index df8e533810..f26159e6a2 100644 --- a/addons/webinterface.default/js/MediaLibrary.js +++ b/addons/webinterface.default/js/MediaLibrary.js @@ -1,558 +1,558 @@ -/*
- * Copyright (C) 2005-2010 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- */
-
-var MediaLibrary = function() {
- this.init();
- return true;
- }
-
-MediaLibrary.prototype = {
- init: function() {
- this.bindControls();
- },
- bindControls: function() {
- $('#musicLibrary').click(jQuery.proxy(this.musicLibraryOpen, this));
- $('#movieLibrary').click(jQuery.proxy(this.movieLibraryOpen, this));
- $('#tvshowLibrary').click(jQuery.proxy(this.tvshowLibraryOpen, this));
- $('#pictureLibrary').click(jQuery.proxy(this.pictureLibraryOpen, this));
- $('#overlay').click(jQuery.proxy(this.hideOverlay, this));
- $(window).resize(jQuery.proxy(this.updatePlayButtonLocation, this));
- },
- resetPage: function() {
- $('#musicLibrary').removeClass('selected');
- $('#movieLibrary').removeClass('selected');
- $('#tvshowLibrary').removeClass('selected');
- $('#pictureLibrary').removeClass('selected');
- this.hideOverlay();
- },
- musicLibraryOpen: function(event) {
- this.resetPage();
- $('#musicLibrary').addClass('selected');
- $('.contentContainer').hide();
- var libraryContainer = $('#libraryContainer');
- if (!libraryContainer || libraryContainer.length == 0) {
- $('#spinner').show();
- libraryContainer = $('<div>');
- libraryContainer.attr('id', 'libraryContainer')
- .addClass('contentContainer');
- $('#content').append(libraryContainer);
- jQuery.post(JSON_RPC + '?GetAlbums', '{"jsonrpc": "2.0", "method": "AudioLibrary.GetAlbums", "params": { "start": 0, "fields": ["album_description", "album_theme", "album_mood", "album_style", "album_type", "album_label", "album_artist", "album_genre", "album_rating", "album_title"] }, "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result && data.result.albums) {
- this.albumList = data.result.albums;
- this.albumList.sort(jQuery.proxy(this.albumArtistSorter, this));
- $.each($(this.albumList), jQuery.proxy(function(i, item) {
- var floatableAlbum = this.generateThumb('album', item.thumbnail, item.album_title, item.album_artist);
- floatableAlbum.bind('click', { album: item }, jQuery.proxy(this.displayAlbumDetails, this));
- libraryContainer.append(floatableAlbum);
- }, this));
- libraryContainer.append($('<div>').addClass('footerPadding'));
- $('#spinner').hide();
- //$('#libraryContainer img').lazyload();
- libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this));
- libraryContainer.trigger('scroll');
- myScroll = new iScroll('libraryContainer');
- } else {
- libraryContainer.html('');
- }
- }, this), 'json');
- } else {
- libraryContainer.show();
- libraryContainer.trigger('scroll');
- }
- },
- getThumbnailPath: function(thumbnail) {
- return thumbnail ? ('/vfs/' + thumbnail) : DEFAULT_ALBUM_COVER;
- },
- generateThumb: function(type, thumbnail, album_title, album_artist) {
- var floatableAlbum = $('<div>');
- var path = this.getThumbnailPath(thumbnail);
- var title = album_title||'';
- var artist = album_artist||'';
- if (title.length > 18 && !(title.length <= 21)) {
- title = album_title.substring(0, 18) + '...';
- }
- if (artist.length > 20 && !(artist.length <= 22)) {
- artist = album_artist.substring(0, 20) + '...';
- }
- var className = '';
- var code = '';
- switch(type) {
- case 'album':
- className = 'floatableAlbum';
- code = '<p class="album" title="' + album_title + '">' + title + '</p><p class="artist" title="' + album_artist + '">' + artist + '</p>';
- break;
- case 'movie':
- className = 'floatableMovieCover';
- code = '<p class="album" title="' + album_title + '">' + title + '</p>';
- break;
- case 'tvshow':
- className = 'floatableTVShowCover';
- break;
- case 'image':
- case 'directory':
- className = 'floatableAlbum';
- code = '<p class="album" title="' + album_title + '">' + title + '</p>';
- break;
- }
- return floatableAlbum.addClass(className).html('<div class="imgWrapper"><div class="inner"><img src="' + path + '" alt="" /></div></div>' + code);
- },
- showAlbumSelectorBlock: function(album) {
- if (album) {
- //Find album in stored array
- var prevAlbum = null,
- nextAlbum = null;
- $.each($(this.albumList), jQuery.proxy(function(i, item) {
- if (item.albumid == album.albumid) {
- if (this.albumList.length > 1) {
- prevAlbum = this.albumList[i <= 0 ? this.albumList.length-1 : i-1];
- nextAlbum = this.albumList[i >= this.albumList.length ? 0 : i+1];
- }
- return false; /* .each break */
- }
- }, this));
- var albumSelectorBlock = $('#albumSelector');
- if (!albumSelectorBlock || albumSelectorBlock.length == 0) {
- albumSelectorBlock = $('<div>');
- albumSelectorBlock.attr('id', 'albumSelector')
- .html('<table><tr><td class="allAlbums">All Albums</td><td class="activeAlbumTitle"></td><td class="prevAlbum"> </td><td class="nextAlbum"> </td></tr></table>');
- $('#content').prepend(albumSelectorBlock);
- $('#albumSelector .allAlbums').bind('click', jQuery.proxy(this.hideAlbumDetails, this));
- }
- $('#albumSelector .prevAlbum').unbind();
- $('#albumSelector .nextAlbum').unbind();
- if (prevAlbum) {
- $('#albumSelector .prevAlbum').bind('click', {album: prevAlbum}, jQuery.proxy(this.displayAlbumDetails, this));
- }
- if (nextAlbum) {
- $('#albumSelector .nextAlbum').bind('click', {album: nextAlbum}, jQuery.proxy(this.displayAlbumDetails, this));
- }
- $('#albumSelector .activeAlbumTitle').html(album.album_title||'Unknown Album');
- albumSelectorBlock.show();
- }
- },
- hideAlbumDetails: function() {
- $('.contentContainer').hide();
- this.musicLibraryOpen();
- },
- displayAlbumDetails: function(event) {
- this.showAlbumSelectorBlock(event.data.album);
- var albumDetailsContainer = $('#albumDetails' + event.data.album.albumid);
- $('#topScrollFade').hide();
- if (!albumDetailsContainer || albumDetailsContainer.length == 0) {
- $('#spinner').show();
- jQuery.post(JSON_RPC + '?GetSongs', '{"jsonrpc": "2.0", "method": "AudioLibrary.GetSongs", "params": { "fields": ["title", "artist", "genre", "tracknumber", "discnumber", "duration", "year"], "albumid" : ' + event.data.album.albumid + ' }, "id": 1}', jQuery.proxy(function(data) {
- albumDetailsContainer = $('<div>');
- albumDetailsContainer.attr('id', 'albumDetails' + event.data.album.albumid)
- .addClass('contentContainer')
- .addClass('albumContainer')
- .html('<table class="albumView"><thead><tr class="headerRow"><th>Artwork</th><th> </th><th>Name</th><th class="time">Time</th><th>Artist</th><th>Genre</th></tr></thead><tbody class="resultSet"></tbody></table>');
- $('.contentContainer').hide();
- $('#content').append(albumDetailsContainer);
- var albumThumbnail = event.data.album.thumbnail;
- var albumTitle = event.data.album.album_title||'Unknown Album';
- var albumArtist = event.data.album.album_artist||'Unknown Artist';
- var trackCount = data.result.total;
- $.each($(data.result.songs), jQuery.proxy(function(i, item) {
- if (i == 0) {
- var trackRow = $('<tr>').addClass('trackRow').addClass('tr' + i % 2);
- trackRow.append($('<td>').attr('rowspan', ++trackCount + 1).addClass('albumThumb'));
- for (var a = 0; a < 5; a++) {
- trackRow.append($('<td>').html(' ').attr('style', 'display: none'));
- }
- $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow);
- }
- var trackRow = $('<tr>').addClass('trackRow').addClass('tr' + i % 2);
- var trackNumberTD = $('<td>')
- .html(item.tracknumber)
- .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this));
- trackRow.append(trackNumberTD);
- var trackTitleTD = $('<td>')
- .html(item.title)
- .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this));
- trackRow.append(trackTitleTD);
- var trackDurationTD = $('<td>')
- .addClass('time')
- .html(durationToString(item.duration))
- .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this));
- trackRow.append(trackDurationTD);
- var trackArtistTD = $('<td>')
- .html(item.artist)
- .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this));
- trackRow.append(trackArtistTD);
- var trackGenreTD = $('<td>')
- .html(item.genre)
- .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this));
- trackRow.append(trackGenreTD);
- $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow);
- }, this));
- if (trackCount > 0) {
- var trackRow = $('<tr>').addClass('fillerTrackRow');
- for (var i = 0; i < 5; i++) {
- trackRow.append($('<td>').html(' '));
- }
- $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow);
-
- var trackRow2 = $('<tr>').addClass('fillerTrackRow2');
- trackRow2.append($('<td>').addClass('albumBG').html(' '));
- for (var i = 0; i < 5; i++) {
- trackRow2.append($('<td>').html(' '));
- }
- $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow2);
- }
- $('#albumDetails' + event.data.album.albumid + ' .albumThumb')
- .append(this.generateThumb('album', albumThumbnail, albumTitle, albumArtist))
- .append($('<div>').addClass('footerPadding'));
- $('#spinner').hide();
- myScroll = new iScroll('albumDetails' + event.data.album.albumid);
- }, this), 'json');
- } else {
- $('.contentContainer').hide();
- $('#albumDetails' + event.data.album.albumid).show();
- }
- },
- displayTVShowDetails: function(event) {
- var tvshowDetailsContainer = $('#tvShowDetails' + event.data.tvshow.tvshowid);
- $('#topScrollFade').hide();
- if (!tvshowDetailsContainer || tvshowDetailsContainer.length == 0) {
- $('#spinner').show();
- jQuery.post(JSON_RPC + '?GetTVShowSeasons', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetSeasons", "params": { "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating", "writer", "studio", "mpaa", "premiered"], "tvshowid" : ' + event.data.tvshow.tvshowid + ' }, "id": 1}', jQuery.proxy(function(data) {
- tvshowDetailsContainer = $('<div>');
- tvshowDetailsContainer.attr('id', 'tvShowDetails' + event.data.tvshow.tvshowid)
- .css('display', 'none')
- .addClass('contentContainer')
- .addClass('tvshowContainer');
- tvshowDetailsContainer.append(this.generateThumb('tvshow', event.data.tvshow.thumbnail, event.data.tvshow.title));
- if (data && data.result && data.result.seasons && data.result.seasons.length > 0) {
- var absWrapper = $('<div>').addClass('showDetailsWrapper');
- var showDetails = $('<div>').addClass('showDetails');
- showDetails.append($('<p>').html(data.result.seasons[0].showtitle).addClass('showTitle'));
- showDetails.append($('<p>').html('<span class="heading">Genre:</span> ' + data.result.seasons[0].genre));
- showDetails.append($('<p>').html('<span class="heading">Studio:</span> ' + data.result.seasons[0].studio));
- absWrapper.append(showDetails);
- var seasonSelectionContainer = $('<div>').addClass('seasonPicker');
- var seasonSelectionList = $('<ul>');
- var episodeCount = 0;
- var firstSeason;
- $.each($(data.result.seasons), jQuery.proxy(function(i, item) {
- episodeCount += item.episode;
- var season = $('<li>').html(item.title);
- if (i == 0) {
- season.addClass('activeSeason');
- firstSeason = season;
- this.tvActiveShowContainer = tvshowDetailsContainer;
- }
- season.bind('click', {tvshow: event.data.tvshow.tvshowid, season: item, element: season}, jQuery.proxy(this.displaySeasonListings, this));
- seasonSelectionList.append(season);
- }, this));
- showDetails.append($('<p>').html('<span class="heading">Episodes:</span> ' + episodeCount));
- seasonSelectionContainer.append(seasonSelectionList);
- absWrapper.append(seasonSelectionContainer);
- tvshowDetailsContainer.append(absWrapper);
- if (firstSeason) {
- firstSeason.trigger('click');
- }
- $('#content').append(tvshowDetailsContainer);
- tvshowDetailsContainer.fadeIn();
- }
- $('#spinner').hide();
- }, this), 'json');
- } else {
- $('.contentContainer').hide();
- $('#tvShowDetails' + event.data.show.showid);
- }
- },
- displaySeasonListings: function(event) {
- if (event.data.element != this.tvActiveSeason) {
- //Remove style from old season.
- if (this.tvActiveSeason) {
- $(this.tvActiveSeason).removeClass('activeSeason');
- }
- //Hide old listings
- var oldListings = $('.episodeListingsContainer', this.tvActiveShowContainer).fadeOut();
- //Update ActiveSeason
- this.tvActiveSeason = event.data.element;
- $(this.tvActiveSeason).addClass('activeSeason');
- //Populate new listings
- jQuery.post(JSON_RPC + '?GetTVSeasonEpisodes', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": { "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating", "writer", "studio", "mpaa", "premiered"], "season" : ' + event.data.season.season + ', "tvshowid" : ' + event.data.tvshow + ' }, "id": 1}', jQuery.proxy(function(data) {
- var episodeListingsContainer = $('<div>').addClass('episodeListingsContainer');
- var list = $('<ul>');
- $.each($(data.result.episodes), jQuery.proxy(function(i, item) {
- var episodePicture = $('<img>');
- episodePicture.attr('src', this.getThumbnailPath(item.thumbnail));
- var episodeTitle = $('<p>').html(item.title);
- var episode = $('<li>').append(episodePicture).append(episodeTitle);
- list.append(episode);
- }, this));
- episodeListingsContainer.append(list);
- $(this.tvActiveShowContainer).prepend(episodeListingsContainer);
- }, this), 'json');
- }
- },
- hideOverlay: function(event) {
- if (this.activeCover) {
- $(this.activeCover).remove();
- this.activeCover = null;
- }
- $('#overlay').hide();
- },
- updatePlayButtonLocation: function(event) {
- var movieContainer = $('.movieCover');
- if (movieContainer.length > 0) {
- var playIcon = $('.playIcon');
- if (playIcon.length > 0) {
- playIcon.width($(movieContainer[0]).width());
- playIcon.height($(movieContainer[0]).height());
- }
- }
- },
- playMovie: function(event) {
- jQuery.post(JSON_RPC + '?PlayMovie', '{"jsonrpc": "2.0", "method": "XBMC.Play", "params": { "movieid": ' + event.data.movie.movieid + ' }, "id": 1}', jQuery.proxy(function(data) {
- this.hideOverlay();
- }, this), 'json');
- },
- displayMovieDetails: function(event) {
- var movieDetails = $('<div>').attr('id', 'movie-' + event.data.movie.movieid).addClass('moviePopoverContainer');
- movieDetails.append($('<img>').attr('src', '/images/close-button.png').addClass('closeButton').bind('click', jQuery.proxy(this.hideOverlay, this)));
- movieDetails.append($('<img>').attr('src', this.getThumbnailPath(event.data.movie.thumbnail)).addClass('movieCover'));
- movieDetails.append($('<div>').addClass('playIcon').bind('click', {movie: event.data.movie}, jQuery.proxy(this.playMovie, this)));
- var movieTitle = $('<p>').addClass('movieTitle');
- var yearText = event.data.movie.year ? ' <span class="year">(' + event.data.movie.year + ')</span>' : '';
- movieTitle.html(event.data.movie.title + yearText);
- movieDetails.append(movieTitle);
- if (event.data.movie.runtime) {
- movieDetails.append($('<p>').addClass('runtime').html('<strong>Runtime:</strong> ' + event.data.movie.runtime + ' minutes'));
- }
- if (event.data.movie.plot) {
- movieDetails.append($('<p>').addClass('plot').html(event.data.movie.plot));
- }
- if (event.data.movie.genre) {
- movieDetails.append($('<p>').addClass('genre').html('<strong>Genre:</strong> ' + event.data.movie.genre));
- }
- if (event.data.movie.rating) {
- //Todo
- }
- if (event.data.movie.director) {
- movieDetails.append($('<p>').addClass('director').html('<strong>Directed By:</strong> ' + event.data.movie.director));
- }
- this.activeCover = movieDetails;
- $('body').append(movieDetails);
- $('#overlay').show();
- this.updatePlayButtonLocation();
- },
- playTrack: function(event) {
- jQuery.post(JSON_RPC + '?ClearPlaylist', '{"jsonrpc": "2.0", "method": "AudioPlaylist.Clear", "id": 1}', jQuery.proxy(function(data) {
- //check that clear worked.
- jQuery.post(JSON_RPC + '?AddAlbumToPlaylist', '{"jsonrpc": "2.0", "method": "AudioPlaylist.Add", "params": { "albumid": ' + event.data.album.albumid + ' }, "id": 1}', jQuery.proxy(function(data) {
- //play specific song in playlist
- jQuery.post(JSON_RPC + '?PlaylistItemPlay', '{"jsonrpc": "2.0", "method": "AudioPlaylist.Play", "params": { "songid": ' + event.data.song.songid + ' }, "id": 1}', function() {}, 'json');
- }, this), 'json');
- }, this), 'json');
- },
- movieLibraryOpen: function() {
- this.resetPage();
- $('#movieLibrary').addClass('selected');
- $('.contentContainer').hide();
- var libraryContainer = $('#movieLibraryContainer');
- if (!libraryContainer || libraryContainer.length == 0) {
- $('#spinner').show();
- jQuery.post(JSON_RPC + '?GetMovies', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetMovies", "params": { "start": 0, "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating"] }, "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result && data.result.movies) {
- libraryContainer = $('<div>');
- libraryContainer.attr('id', 'movieLibraryContainer')
- .addClass('contentContainer');
- $('#content').append(libraryContainer);
- } else {
- libraryContainer.html('');
- }
- data.result.movies.sort(jQuery.proxy(this.movieTitleSorter, this));
- $.each($(data.result.movies), jQuery.proxy(function(i, item) {
- var floatableMovieCover = this.generateThumb('movie', item.thumbnail, item.title);
- floatableMovieCover.bind('click', { movie: item }, jQuery.proxy(this.displayMovieDetails, this));
- libraryContainer.append(floatableMovieCover);
- }, this));
- libraryContainer.append($('<div>').addClass('footerPadding'));
- $('#spinner').hide();
- libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this));
- libraryContainer.trigger('scroll');
- //$('#libraryContainer img').lazyload();
- myScroll = new iScroll('movieLibraryContainer');
- }, this), 'json');
- } else {
- libraryContainer.show();
- libraryContainer.trigger('scroll');
- }
- },
- tvshowLibraryOpen: function() {
- this.resetPage();
- $('#tvshowLibrary').addClass('selected');
- $('.contentContainer').hide();
- var libraryContainer = $('#tvshowLibraryContainer');
- if (!libraryContainer || libraryContainer.length == 0) {
- $('#spinner').show();
- jQuery.post(JSON_RPC + '?GetTVShows', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": { "start": 0, "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating"] }, "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result && data.result.tvshows) {
- libraryContainer = $('<div>');
- libraryContainer.attr('id', 'tvshowLibraryContainer')
- .addClass('contentContainer');
- $('#content').append(libraryContainer);
- } else {
- libraryContainer.html('');
- }
- $.each($(data.result.tvshows), jQuery.proxy(function(i, item) {
- var floatableTVShowCover = this.generateThumb('tvshow', item.thumbnail, item.title);
- floatableTVShowCover.bind('click', { tvshow: item }, jQuery.proxy(this.displayTVShowDetails, this));
- libraryContainer.append(floatableTVShowCover);
- }, this));
- libraryContainer.append($('<div>').addClass('footerPadding'));
- //$('#libraryContainer img').lazyload();
- $('#spinner').hide();
- libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this));
- libraryContainer.trigger('scroll');
- myScroll = new iScroll('tvshowLibraryContainer');
- }, this), 'json');
- } else {
- libraryContainer.show();
- libraryContainer.trigger('scroll');
- }
- },
- updateScrollEffects: function(event) {
- if (event.data.activeLibrary && $(event.data.activeLibrary).scrollTop() > 0) {
- $('#topScrollFade').fadeIn();
- } else {
- $('#topScrollFade').fadeOut();
- }
- },
- albumArtistSorter: function(a, b) {
- var result = this.sortAlpha(a.album_artist, b.album_artist);
- if (result == 0) {
- return this.sortAlpha(a.album_title, b.album_title);
- }
- return result;
- },
- sortAlpha: function(aStr, bStr) {
- aStr = aStr.toLowerCase();
- bStr = bStr.toLowerCase();
- if (aStr < bStr) {
- return -1;
- }
- if (aStr > bStr) {
- return 1;
- }
- return 0;
- },
- movieTitleSorter: function(a, b) {
- return this.sortAlpha(a.title, b.title);
- },
- startSlideshow: function(event) {
- var directory = event.data.directory.file;
- jQuery.post(JSON_RPC + '?StartSlideshow', '{"jsonrpc": "2.0", "method": "XBMC.StartSlideshow", "params": { "recursive" : "true", "random":"true", "directory" : "' + directory + '" }, "id": 1}', null, 'json');
- },
- showDirectory: function(event) {
- var directory = event.data.directory.file;
- this.resetPage();
- $('#pictureLibrary').addClass('selected');
- $('.contentContainer').hide();
- var libraryContainer = $('#pictureLibraryDirContainer' + directory);
- if (!libraryContainer || libraryContainer.length == 0) {
- $('#spinner').show();
- jQuery.post(JSON_RPC + '?GetDirectory', '{"jsonrpc": "2.0", "method": "Files.GetDirectory", "params": { "media" : "pictures", "directory":"' + directory + '" }, "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result && ( data.result.directories || data.result.files )) {
- libraryContainer = $('<div>');
- libraryContainer.attr('id', 'pictureLibraryDirContainer' + directory)
- .addClass('contentContainer');
- $('#content').append(libraryContainer);
- var breadcrumb = $('<div>');
- var seperator = '/';
- var item = '';
- var directoryArray = directory.split(seperator);
- jQuery.each(directoryArray, function(i,v) {
- if(v != '') {
- item += v + seperator;
- //tmp.bind('click', { directory: item }, jQuery.proxy(this.showDirectory, this));
- breadcrumb.append($('<div>').text(' > ' + v).css('float','left').addClass('breadcrumb'));
- }
- });
- libraryContainer.append(breadcrumb);
- libraryContainer.append($('<div>').css('clear','both'));
- if (data.result.directories) {
- $.each($(data.result.directories), jQuery.proxy(function(i, item) {
- var floatableShare = this.generateThumb('directory', item.thumbnail, item.label);
- floatableShare.bind('click', { directory: item }, jQuery.proxy(this.showDirectory, this));
- //var slideshow = $('<div">');
- //slideshow.html('<div>Slideshow</div>');
- //slideshow.bind('click', { directory: item }, jQuery.proxy(this.startSlideshow, this));
- //floatableShare.append(slideshow);
- libraryContainer.append(floatableShare);
- }, this));
- }
- if (data.result.files) {
- $.each($(data.result.files), jQuery.proxy(function(i, item) {
- var floatableImage = this.generateThumb('image', item.file, item.label);
- libraryContainer.append(floatableImage);
- }, this));
- }
- libraryContainer.append($('<div>').addClass('footerPadding'));
- } else {
- libraryContainer.html('');
- }
- $('#spinner').hide();
- libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this));
- libraryContainer.trigger('scroll');
- myScroll = new iScroll('#pictureLibraryDirContainer' + directory);
- }, this), 'json');
- } else {
- libraryContainer.show();
- libraryContainer.trigger('scroll');
- }
- },
- pictureLibraryOpen: function() {
- this.resetPage();
- $('#pictureLibrary').addClass('selected');
- $('.contentContainer').hide();
- var libraryContainer = $('#pictureLibraryContainer');
- if (!libraryContainer || libraryContainer.length == 0) {
- $('#spinner').show();
- jQuery.post(JSON_RPC + '?GetSources', '{"jsonrpc": "2.0", "method": "Files.GetSources", "params": { "media" : "pictures" }, "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result && data.result.shares) {
- libraryContainer = $('<div>');
- libraryContainer.attr('id', 'pictureLibraryContainer')
- .addClass('contentContainer');
- $('#content').append(libraryContainer);
- } else {
- libraryContainer.html('');
- }
- $.each($(data.result.shares), jQuery.proxy(function(i, item) {
- var floatableShare = this.generateThumb('directory', item.thumbnail, item.label);
- floatableShare.bind('click', { directory: item }, jQuery.proxy(this.showDirectory, this));
- libraryContainer.append(floatableShare);
- }, this));
- libraryContainer.append($('<div>').addClass('footerPadding'));
- $('#spinner').hide();
- libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this));
- libraryContainer.trigger('scroll');
- myScroll = new iScroll('#pictureLibraryContainer');
- }, this), 'json');
- } else {
- libraryContainer.show();
- libraryContainer.trigger('scroll');
- }
- }
+/* + * Copyright (C) 2005-2010 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +var MediaLibrary = function() { + this.init(); + return true; + } + +MediaLibrary.prototype = { + init: function() { + this.bindControls(); + }, + bindControls: function() { + $('#musicLibrary').click(jQuery.proxy(this.musicLibraryOpen, this)); + $('#movieLibrary').click(jQuery.proxy(this.movieLibraryOpen, this)); + $('#tvshowLibrary').click(jQuery.proxy(this.tvshowLibraryOpen, this)); + $('#pictureLibrary').click(jQuery.proxy(this.pictureLibraryOpen, this)); + $('#overlay').click(jQuery.proxy(this.hideOverlay, this)); + $(window).resize(jQuery.proxy(this.updatePlayButtonLocation, this)); + }, + resetPage: function() { + $('#musicLibrary').removeClass('selected'); + $('#movieLibrary').removeClass('selected'); + $('#tvshowLibrary').removeClass('selected'); + $('#pictureLibrary').removeClass('selected'); + this.hideOverlay(); + }, + musicLibraryOpen: function(event) { + this.resetPage(); + $('#musicLibrary').addClass('selected'); + $('.contentContainer').hide(); + var libraryContainer = $('#libraryContainer'); + if (!libraryContainer || libraryContainer.length == 0) { + $('#spinner').show(); + libraryContainer = $('<div>'); + libraryContainer.attr('id', 'libraryContainer') + .addClass('contentContainer'); + $('#content').append(libraryContainer); + jQuery.post(JSON_RPC + '?GetAlbums', '{"jsonrpc": "2.0", "method": "AudioLibrary.GetAlbums", "params": { "start": 0, "fields": ["album_description", "album_theme", "album_mood", "album_style", "album_type", "album_label", "album_artist", "album_genre", "album_rating", "album_title"] }, "id": 1}', jQuery.proxy(function(data) { + if (data && data.result && data.result.albums) { + this.albumList = data.result.albums; + this.albumList.sort(jQuery.proxy(this.albumArtistSorter, this)); + $.each($(this.albumList), jQuery.proxy(function(i, item) { + var floatableAlbum = this.generateThumb('album', item.thumbnail, item.album_title, item.album_artist); + floatableAlbum.bind('click', { album: item }, jQuery.proxy(this.displayAlbumDetails, this)); + libraryContainer.append(floatableAlbum); + }, this)); + libraryContainer.append($('<div>').addClass('footerPadding')); + $('#spinner').hide(); + //$('#libraryContainer img').lazyload(); + libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this)); + libraryContainer.trigger('scroll'); + myScroll = new iScroll('libraryContainer'); + } else { + libraryContainer.html(''); + } + }, this), 'json'); + } else { + libraryContainer.show(); + libraryContainer.trigger('scroll'); + } + }, + getThumbnailPath: function(thumbnail) { + return thumbnail ? ('/vfs/' + thumbnail) : DEFAULT_ALBUM_COVER; + }, + generateThumb: function(type, thumbnail, album_title, album_artist) { + var floatableAlbum = $('<div>'); + var path = this.getThumbnailPath(thumbnail); + var title = album_title||''; + var artist = album_artist||''; + if (title.length > 18 && !(title.length <= 21)) { + title = album_title.substring(0, 18) + '...'; + } + if (artist.length > 20 && !(artist.length <= 22)) { + artist = album_artist.substring(0, 20) + '...'; + } + var className = ''; + var code = ''; + switch(type) { + case 'album': + className = 'floatableAlbum'; + code = '<p class="album" title="' + album_title + '">' + title + '</p><p class="artist" title="' + album_artist + '">' + artist + '</p>'; + break; + case 'movie': + className = 'floatableMovieCover'; + code = '<p class="album" title="' + album_title + '">' + title + '</p>'; + break; + case 'tvshow': + className = 'floatableTVShowCover'; + break; + case 'image': + case 'directory': + className = 'floatableAlbum'; + code = '<p class="album" title="' + album_title + '">' + title + '</p>'; + break; + } + return floatableAlbum.addClass(className).html('<div class="imgWrapper"><div class="inner"><img src="' + path + '" alt="" /></div></div>' + code); + }, + showAlbumSelectorBlock: function(album) { + if (album) { + //Find album in stored array + var prevAlbum = null, + nextAlbum = null; + $.each($(this.albumList), jQuery.proxy(function(i, item) { + if (item.albumid == album.albumid) { + if (this.albumList.length > 1) { + prevAlbum = this.albumList[i <= 0 ? this.albumList.length-1 : i-1]; + nextAlbum = this.albumList[i >= this.albumList.length ? 0 : i+1]; + } + return false; /* .each break */ + } + }, this)); + var albumSelectorBlock = $('#albumSelector'); + if (!albumSelectorBlock || albumSelectorBlock.length == 0) { + albumSelectorBlock = $('<div>'); + albumSelectorBlock.attr('id', 'albumSelector') + .html('<table><tr><td class="allAlbums">All Albums</td><td class="activeAlbumTitle"></td><td class="prevAlbum"> </td><td class="nextAlbum"> </td></tr></table>'); + $('#content').prepend(albumSelectorBlock); + $('#albumSelector .allAlbums').bind('click', jQuery.proxy(this.hideAlbumDetails, this)); + } + $('#albumSelector .prevAlbum').unbind(); + $('#albumSelector .nextAlbum').unbind(); + if (prevAlbum) { + $('#albumSelector .prevAlbum').bind('click', {album: prevAlbum}, jQuery.proxy(this.displayAlbumDetails, this)); + } + if (nextAlbum) { + $('#albumSelector .nextAlbum').bind('click', {album: nextAlbum}, jQuery.proxy(this.displayAlbumDetails, this)); + } + $('#albumSelector .activeAlbumTitle').html(album.album_title||'Unknown Album'); + albumSelectorBlock.show(); + } + }, + hideAlbumDetails: function() { + $('.contentContainer').hide(); + this.musicLibraryOpen(); + }, + displayAlbumDetails: function(event) { + this.showAlbumSelectorBlock(event.data.album); + var albumDetailsContainer = $('#albumDetails' + event.data.album.albumid); + $('#topScrollFade').hide(); + if (!albumDetailsContainer || albumDetailsContainer.length == 0) { + $('#spinner').show(); + jQuery.post(JSON_RPC + '?GetSongs', '{"jsonrpc": "2.0", "method": "AudioLibrary.GetSongs", "params": { "fields": ["title", "artist", "genre", "tracknumber", "discnumber", "duration", "year"], "albumid" : ' + event.data.album.albumid + ' }, "id": 1}', jQuery.proxy(function(data) { + albumDetailsContainer = $('<div>'); + albumDetailsContainer.attr('id', 'albumDetails' + event.data.album.albumid) + .addClass('contentContainer') + .addClass('albumContainer') + .html('<table class="albumView"><thead><tr class="headerRow"><th>Artwork</th><th> </th><th>Name</th><th class="time">Time</th><th>Artist</th><th>Genre</th></tr></thead><tbody class="resultSet"></tbody></table>'); + $('.contentContainer').hide(); + $('#content').append(albumDetailsContainer); + var albumThumbnail = event.data.album.thumbnail; + var albumTitle = event.data.album.album_title||'Unknown Album'; + var albumArtist = event.data.album.album_artist||'Unknown Artist'; + var trackCount = data.result.total; + $.each($(data.result.songs), jQuery.proxy(function(i, item) { + if (i == 0) { + var trackRow = $('<tr>').addClass('trackRow').addClass('tr' + i % 2); + trackRow.append($('<td>').attr('rowspan', ++trackCount + 1).addClass('albumThumb')); + for (var a = 0; a < 5; a++) { + trackRow.append($('<td>').html(' ').attr('style', 'display: none')); + } + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow); + } + var trackRow = $('<tr>').addClass('trackRow').addClass('tr' + i % 2); + var trackNumberTD = $('<td>') + .html(item.tracknumber) + .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this)); + trackRow.append(trackNumberTD); + var trackTitleTD = $('<td>') + .html(item.title) + .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this)); + trackRow.append(trackTitleTD); + var trackDurationTD = $('<td>') + .addClass('time') + .html(durationToString(item.duration)) + .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this)); + trackRow.append(trackDurationTD); + var trackArtistTD = $('<td>') + .html(item.artist) + .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this)); + trackRow.append(trackArtistTD); + var trackGenreTD = $('<td>') + .html(item.genre) + .bind('click', { song: item, album: event.data.album }, jQuery.proxy(this.playTrack, this)); + trackRow.append(trackGenreTD); + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow); + }, this)); + if (trackCount > 0) { + var trackRow = $('<tr>').addClass('fillerTrackRow'); + for (var i = 0; i < 5; i++) { + trackRow.append($('<td>').html(' ')); + } + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow); + + var trackRow2 = $('<tr>').addClass('fillerTrackRow2'); + trackRow2.append($('<td>').addClass('albumBG').html(' ')); + for (var i = 0; i < 5; i++) { + trackRow2.append($('<td>').html(' ')); + } + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow2); + } + $('#albumDetails' + event.data.album.albumid + ' .albumThumb') + .append(this.generateThumb('album', albumThumbnail, albumTitle, albumArtist)) + .append($('<div>').addClass('footerPadding')); + $('#spinner').hide(); + myScroll = new iScroll('albumDetails' + event.data.album.albumid); + }, this), 'json'); + } else { + $('.contentContainer').hide(); + $('#albumDetails' + event.data.album.albumid).show(); + } + }, + displayTVShowDetails: function(event) { + var tvshowDetailsContainer = $('#tvShowDetails' + event.data.tvshow.tvshowid); + $('#topScrollFade').hide(); + if (!tvshowDetailsContainer || tvshowDetailsContainer.length == 0) { + $('#spinner').show(); + jQuery.post(JSON_RPC + '?GetTVShowSeasons', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetSeasons", "params": { "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating", "writer", "studio", "mpaa", "premiered"], "tvshowid" : ' + event.data.tvshow.tvshowid + ' }, "id": 1}', jQuery.proxy(function(data) { + tvshowDetailsContainer = $('<div>'); + tvshowDetailsContainer.attr('id', 'tvShowDetails' + event.data.tvshow.tvshowid) + .css('display', 'none') + .addClass('contentContainer') + .addClass('tvshowContainer'); + tvshowDetailsContainer.append(this.generateThumb('tvshow', event.data.tvshow.thumbnail, event.data.tvshow.title)); + if (data && data.result && data.result.seasons && data.result.seasons.length > 0) { + var absWrapper = $('<div>').addClass('showDetailsWrapper'); + var showDetails = $('<div>').addClass('showDetails'); + showDetails.append($('<p>').html(data.result.seasons[0].showtitle).addClass('showTitle')); + showDetails.append($('<p>').html('<span class="heading">Genre:</span> ' + data.result.seasons[0].genre)); + showDetails.append($('<p>').html('<span class="heading">Studio:</span> ' + data.result.seasons[0].studio)); + absWrapper.append(showDetails); + var seasonSelectionContainer = $('<div>').addClass('seasonPicker'); + var seasonSelectionList = $('<ul>'); + var episodeCount = 0; + var firstSeason; + $.each($(data.result.seasons), jQuery.proxy(function(i, item) { + episodeCount += item.episode; + var season = $('<li>').html(item.title); + if (i == 0) { + season.addClass('activeSeason'); + firstSeason = season; + this.tvActiveShowContainer = tvshowDetailsContainer; + } + season.bind('click', {tvshow: event.data.tvshow.tvshowid, season: item, element: season}, jQuery.proxy(this.displaySeasonListings, this)); + seasonSelectionList.append(season); + }, this)); + showDetails.append($('<p>').html('<span class="heading">Episodes:</span> ' + episodeCount)); + seasonSelectionContainer.append(seasonSelectionList); + absWrapper.append(seasonSelectionContainer); + tvshowDetailsContainer.append(absWrapper); + if (firstSeason) { + firstSeason.trigger('click'); + } + $('#content').append(tvshowDetailsContainer); + tvshowDetailsContainer.fadeIn(); + } + $('#spinner').hide(); + }, this), 'json'); + } else { + $('.contentContainer').hide(); + $('#tvShowDetails' + event.data.show.showid); + } + }, + displaySeasonListings: function(event) { + if (event.data.element != this.tvActiveSeason) { + //Remove style from old season. + if (this.tvActiveSeason) { + $(this.tvActiveSeason).removeClass('activeSeason'); + } + //Hide old listings + var oldListings = $('.episodeListingsContainer', this.tvActiveShowContainer).fadeOut(); + //Update ActiveSeason + this.tvActiveSeason = event.data.element; + $(this.tvActiveSeason).addClass('activeSeason'); + //Populate new listings + jQuery.post(JSON_RPC + '?GetTVSeasonEpisodes', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetEpisodes", "params": { "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating", "writer", "studio", "mpaa", "premiered"], "season" : ' + event.data.season.season + ', "tvshowid" : ' + event.data.tvshow + ' }, "id": 1}', jQuery.proxy(function(data) { + var episodeListingsContainer = $('<div>').addClass('episodeListingsContainer'); + var list = $('<ul>'); + $.each($(data.result.episodes), jQuery.proxy(function(i, item) { + var episodePicture = $('<img>'); + episodePicture.attr('src', this.getThumbnailPath(item.thumbnail)); + var episodeTitle = $('<p>').html(item.title); + var episode = $('<li>').append(episodePicture).append(episodeTitle); + list.append(episode); + }, this)); + episodeListingsContainer.append(list); + $(this.tvActiveShowContainer).prepend(episodeListingsContainer); + }, this), 'json'); + } + }, + hideOverlay: function(event) { + if (this.activeCover) { + $(this.activeCover).remove(); + this.activeCover = null; + } + $('#overlay').hide(); + }, + updatePlayButtonLocation: function(event) { + var movieContainer = $('.movieCover'); + if (movieContainer.length > 0) { + var playIcon = $('.playIcon'); + if (playIcon.length > 0) { + playIcon.width($(movieContainer[0]).width()); + playIcon.height($(movieContainer[0]).height()); + } + } + }, + playMovie: function(event) { + jQuery.post(JSON_RPC + '?PlayMovie', '{"jsonrpc": "2.0", "method": "XBMC.Play", "params": { "movieid": ' + event.data.movie.movieid + ' }, "id": 1}', jQuery.proxy(function(data) { + this.hideOverlay(); + }, this), 'json'); + }, + displayMovieDetails: function(event) { + var movieDetails = $('<div>').attr('id', 'movie-' + event.data.movie.movieid).addClass('moviePopoverContainer'); + movieDetails.append($('<img>').attr('src', '/images/close-button.png').addClass('closeButton').bind('click', jQuery.proxy(this.hideOverlay, this))); + movieDetails.append($('<img>').attr('src', this.getThumbnailPath(event.data.movie.thumbnail)).addClass('movieCover')); + movieDetails.append($('<div>').addClass('playIcon').bind('click', {movie: event.data.movie}, jQuery.proxy(this.playMovie, this))); + var movieTitle = $('<p>').addClass('movieTitle'); + var yearText = event.data.movie.year ? ' <span class="year">(' + event.data.movie.year + ')</span>' : ''; + movieTitle.html(event.data.movie.title + yearText); + movieDetails.append(movieTitle); + if (event.data.movie.runtime) { + movieDetails.append($('<p>').addClass('runtime').html('<strong>Runtime:</strong> ' + event.data.movie.runtime + ' minutes')); + } + if (event.data.movie.plot) { + movieDetails.append($('<p>').addClass('plot').html(event.data.movie.plot)); + } + if (event.data.movie.genre) { + movieDetails.append($('<p>').addClass('genre').html('<strong>Genre:</strong> ' + event.data.movie.genre)); + } + if (event.data.movie.rating) { + //Todo + } + if (event.data.movie.director) { + movieDetails.append($('<p>').addClass('director').html('<strong>Directed By:</strong> ' + event.data.movie.director)); + } + this.activeCover = movieDetails; + $('body').append(movieDetails); + $('#overlay').show(); + this.updatePlayButtonLocation(); + }, + playTrack: function(event) { + jQuery.post(JSON_RPC + '?ClearPlaylist', '{"jsonrpc": "2.0", "method": "AudioPlaylist.Clear", "id": 1}', jQuery.proxy(function(data) { + //check that clear worked. + jQuery.post(JSON_RPC + '?AddAlbumToPlaylist', '{"jsonrpc": "2.0", "method": "AudioPlaylist.Add", "params": { "albumid": ' + event.data.album.albumid + ' }, "id": 1}', jQuery.proxy(function(data) { + //play specific song in playlist + jQuery.post(JSON_RPC + '?PlaylistItemPlay', '{"jsonrpc": "2.0", "method": "AudioPlaylist.Play", "params": { "songid": ' + event.data.song.songid + ' }, "id": 1}', function() {}, 'json'); + }, this), 'json'); + }, this), 'json'); + }, + movieLibraryOpen: function() { + this.resetPage(); + $('#movieLibrary').addClass('selected'); + $('.contentContainer').hide(); + var libraryContainer = $('#movieLibraryContainer'); + if (!libraryContainer || libraryContainer.length == 0) { + $('#spinner').show(); + jQuery.post(JSON_RPC + '?GetMovies', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetMovies", "params": { "start": 0, "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating"] }, "id": 1}', jQuery.proxy(function(data) { + if (data && data.result && data.result.movies) { + libraryContainer = $('<div>'); + libraryContainer.attr('id', 'movieLibraryContainer') + .addClass('contentContainer'); + $('#content').append(libraryContainer); + } else { + libraryContainer.html(''); + } + data.result.movies.sort(jQuery.proxy(this.movieTitleSorter, this)); + $.each($(data.result.movies), jQuery.proxy(function(i, item) { + var floatableMovieCover = this.generateThumb('movie', item.thumbnail, item.title); + floatableMovieCover.bind('click', { movie: item }, jQuery.proxy(this.displayMovieDetails, this)); + libraryContainer.append(floatableMovieCover); + }, this)); + libraryContainer.append($('<div>').addClass('footerPadding')); + $('#spinner').hide(); + libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this)); + libraryContainer.trigger('scroll'); + //$('#libraryContainer img').lazyload(); + myScroll = new iScroll('movieLibraryContainer'); + }, this), 'json'); + } else { + libraryContainer.show(); + libraryContainer.trigger('scroll'); + } + }, + tvshowLibraryOpen: function() { + this.resetPage(); + $('#tvshowLibrary').addClass('selected'); + $('.contentContainer').hide(); + var libraryContainer = $('#tvshowLibraryContainer'); + if (!libraryContainer || libraryContainer.length == 0) { + $('#spinner').show(); + jQuery.post(JSON_RPC + '?GetTVShows', '{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": { "start": 0, "fields": ["genre", "director", "trailer", "tagline", "plot", "plotoutline", "title", "originaltitle", "lastplayed", "showtitle", "firstaired", "duration", "season", "episode", "runtime", "year", "playcount", "rating"] }, "id": 1}', jQuery.proxy(function(data) { + if (data && data.result && data.result.tvshows) { + libraryContainer = $('<div>'); + libraryContainer.attr('id', 'tvshowLibraryContainer') + .addClass('contentContainer'); + $('#content').append(libraryContainer); + } else { + libraryContainer.html(''); + } + $.each($(data.result.tvshows), jQuery.proxy(function(i, item) { + var floatableTVShowCover = this.generateThumb('tvshow', item.thumbnail, item.title); + floatableTVShowCover.bind('click', { tvshow: item }, jQuery.proxy(this.displayTVShowDetails, this)); + libraryContainer.append(floatableTVShowCover); + }, this)); + libraryContainer.append($('<div>').addClass('footerPadding')); + //$('#libraryContainer img').lazyload(); + $('#spinner').hide(); + libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this)); + libraryContainer.trigger('scroll'); + myScroll = new iScroll('tvshowLibraryContainer'); + }, this), 'json'); + } else { + libraryContainer.show(); + libraryContainer.trigger('scroll'); + } + }, + updateScrollEffects: function(event) { + if (event.data.activeLibrary && $(event.data.activeLibrary).scrollTop() > 0) { + $('#topScrollFade').fadeIn(); + } else { + $('#topScrollFade').fadeOut(); + } + }, + albumArtistSorter: function(a, b) { + var result = this.sortAlpha(a.album_artist, b.album_artist); + if (result == 0) { + return this.sortAlpha(a.album_title, b.album_title); + } + return result; + }, + sortAlpha: function(aStr, bStr) { + aStr = aStr.toLowerCase(); + bStr = bStr.toLowerCase(); + if (aStr < bStr) { + return -1; + } + if (aStr > bStr) { + return 1; + } + return 0; + }, + movieTitleSorter: function(a, b) { + return this.sortAlpha(a.title, b.title); + }, + startSlideshow: function(event) { + var directory = event.data.directory.file; + jQuery.post(JSON_RPC + '?StartSlideshow', '{"jsonrpc": "2.0", "method": "XBMC.StartSlideshow", "params": { "recursive" : "true", "random":"true", "directory" : "' + directory + '" }, "id": 1}', null, 'json'); + }, + showDirectory: function(event) { + var directory = event.data.directory.file; + this.resetPage(); + $('#pictureLibrary').addClass('selected'); + $('.contentContainer').hide(); + var libraryContainer = $('#pictureLibraryDirContainer' + directory); + if (!libraryContainer || libraryContainer.length == 0) { + $('#spinner').show(); + jQuery.post(JSON_RPC + '?GetDirectory', '{"jsonrpc": "2.0", "method": "Files.GetDirectory", "params": { "media" : "pictures", "directory":"' + directory + '" }, "id": 1}', jQuery.proxy(function(data) { + if (data && data.result && ( data.result.directories || data.result.files )) { + libraryContainer = $('<div>'); + libraryContainer.attr('id', 'pictureLibraryDirContainer' + directory) + .addClass('contentContainer'); + $('#content').append(libraryContainer); + var breadcrumb = $('<div>'); + var seperator = '/'; + var item = ''; + var directoryArray = directory.split(seperator); + jQuery.each(directoryArray, function(i,v) { + if(v != '') { + item += v + seperator; + //tmp.bind('click', { directory: item }, jQuery.proxy(this.showDirectory, this)); + breadcrumb.append($('<div>').text(' > ' + v).css('float','left').addClass('breadcrumb')); + } + }); + libraryContainer.append(breadcrumb); + libraryContainer.append($('<div>').css('clear','both')); + if (data.result.directories) { + $.each($(data.result.directories), jQuery.proxy(function(i, item) { + var floatableShare = this.generateThumb('directory', item.thumbnail, item.label); + floatableShare.bind('click', { directory: item }, jQuery.proxy(this.showDirectory, this)); + //var slideshow = $('<div">'); + //slideshow.html('<div>Slideshow</div>'); + //slideshow.bind('click', { directory: item }, jQuery.proxy(this.startSlideshow, this)); + //floatableShare.append(slideshow); + libraryContainer.append(floatableShare); + }, this)); + } + if (data.result.files) { + $.each($(data.result.files), jQuery.proxy(function(i, item) { + var floatableImage = this.generateThumb('image', item.file, item.label); + libraryContainer.append(floatableImage); + }, this)); + } + libraryContainer.append($('<div>').addClass('footerPadding')); + } else { + libraryContainer.html(''); + } + $('#spinner').hide(); + libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this)); + libraryContainer.trigger('scroll'); + myScroll = new iScroll('#pictureLibraryDirContainer' + directory); + }, this), 'json'); + } else { + libraryContainer.show(); + libraryContainer.trigger('scroll'); + } + }, + pictureLibraryOpen: function() { + this.resetPage(); + $('#pictureLibrary').addClass('selected'); + $('.contentContainer').hide(); + var libraryContainer = $('#pictureLibraryContainer'); + if (!libraryContainer || libraryContainer.length == 0) { + $('#spinner').show(); + jQuery.post(JSON_RPC + '?GetSources', '{"jsonrpc": "2.0", "method": "Files.GetSources", "params": { "media" : "pictures" }, "id": 1}', jQuery.proxy(function(data) { + if (data && data.result && data.result.shares) { + libraryContainer = $('<div>'); + libraryContainer.attr('id', 'pictureLibraryContainer') + .addClass('contentContainer'); + $('#content').append(libraryContainer); + } else { + libraryContainer.html(''); + } + $.each($(data.result.shares), jQuery.proxy(function(i, item) { + var floatableShare = this.generateThumb('directory', item.thumbnail, item.label); + floatableShare.bind('click', { directory: item }, jQuery.proxy(this.showDirectory, this)); + libraryContainer.append(floatableShare); + }, this)); + libraryContainer.append($('<div>').addClass('footerPadding')); + $('#spinner').hide(); + libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this)); + libraryContainer.trigger('scroll'); + myScroll = new iScroll('#pictureLibraryContainer'); + }, this), 'json'); + } else { + libraryContainer.show(); + libraryContainer.trigger('scroll'); + } + } }
\ No newline at end of file diff --git a/addons/webinterface.default/js/NowPlayingManager.js b/addons/webinterface.default/js/NowPlayingManager.js index 83eb4e9001..9df31e12ec 100644 --- a/addons/webinterface.default/js/NowPlayingManager.js +++ b/addons/webinterface.default/js/NowPlayingManager.js @@ -1,481 +1,481 @@ -/*
- * Copyright (C) 2005-2010 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- */
-
-var NowPlayingManager = function() {
- this.init();
- return true;
- }
-
-NowPlayingManager.prototype = {
- updateCounter: 0,
- init: function() {
- $('#pbPause').hide(); /* Assume we are not playing something */
- this.bindPlaybackControls();
- this.updateState();
- $('#nextTrack').bind('click', jQuery.proxy(this.showPlaylist, this));
- $('#nowPlayingPlaylist').bind('click', function() {return false;});
- $(window).bind('click', jQuery.proxy(this.hidePlaylist, this));
- },
- updateState: function() {
- jQuery.ajax({
- type: 'POST',
- url: JSON_RPC + '?UpdateState',
- data: '{"jsonrpc": "2.0", "method": "Player.GetActivePlayers", "id": 1}',
- timeout: 2000,
- success: jQuery.proxy(function(data) {
- if (data && data.result) {
- if (data.result.audio && this.activePlayer != 'Audio') {
- this.activePlayer = 'Audio';
- this.stopVideoPlaylistUpdate();
- this.displayAudioNowPlaying();
- this.stopRefreshTime();
- } else if (data.result.video && this.activePlayer != 'Video') {
- this.activePlayer = 'Video';
- this.stopAudioPlaylistUpdate();
- this.displayVideoNowPlaying();
- this.stopRefreshTime();
- } else if (!data.result.audio && !data.result.video) {
- this.stopRefreshTime();
- }
- }
- setTimeout(jQuery.proxy(this.updateState, this), 1000);
- }, this),
- error: jQuery.proxy(function(data, error) {
- displayCommunicationError();
- setTimeout(jQuery.proxy(this.updateState, this), 2000);
- }, this),
- dataType: 'json'});
- },
- bindPlaybackControls: function() {
- $('#pbNext').bind('click', jQuery.proxy(this.nextTrack, this));
- $('#pbPrev').bind('click', jQuery.proxy(this.prevTrack, this));
- $('#pbStop').bind('click', jQuery.proxy(this.stopTrack, this));
- $('#pbPlay').bind('click', jQuery.proxy(this.playPauseTrack, this));
- $('#pbPause').bind('click', jQuery.proxy(this.playPauseTrack, this));
- },
- showPlaylist: function() {
- $('#nextText').html('Playlist: ');
- $('#nowPlayingPlaylist').show();
- return false;
- },
- hidePlaylist: function() {
- $('#nextText').html('Next: ');
- $('#nowPlayingPlaylist').hide();
- return false;
- },
- nextTrack: function() {
- if (this.activePlayer) {
- jQuery.post(JSON_RPC + '?SkipNext', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.SkipNext", "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result == 'OK') {
- //this.updateAudioPlaylist(true);
- }
- }, this), 'json');
- }
- },
- prevTrack: function() {
- if (this.activePlayer) {
- jQuery.post(JSON_RPC + '?SkipPrevious', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.SkipPrevious", "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result == 'OK') {
- //this.updateAudioPlaylist(true);
- }
- }, this), 'json');
- }
- },
- stopTrack: function() {
- if (this.activePlayer) {
- jQuery.post(JSON_RPC + '?Stop', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.Stop", "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result == 'OK') {
- this.playing = false;
- this.paused = false;
- this.trackBaseTime = 0;
- this.showPlayButton();
- }
- }, this), 'json');
- }
- },
- playPauseTrack: function() {
- if (this.activePlayer) {
- var method = this.activePlayer + ((this.playing || this.paused) ? 'Player.PlayPause' : 'Playlist.Play');
- jQuery.post(JSON_RPC + '?PlayPause', '{"jsonrpc": "2.0", "method": "' + method + '", "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result) {
- this.playing = data.result.playing;
- this.paused = data.result.paused;
- if (this.playing) {
- this.showPauseButton();
- } else {
- this.showPlayButton();
- }
- }
- }, this), 'json');
- }
- },
- showPauseButton: function() {
- $('#pbPause').show();
- $('#pbPlay').hide();
- },
- showPlayButton: function() {
- $('#pbPause').hide();
- $('#pbPlay').show();
- },
- displayAudioNowPlaying: function() {
- if (!this.autoRefreshAudioPlaylist) {
- this.autoRefreshAudioPlaylist = true;
- this.updateAudioPlaylist();
- }
- },
- displayVideoNowPlaying: function() {
- if (!this.autoRefreshVideoPlaylist) {
- this.autoRefreshVideoPlaylist = true;
- this.updateVideoPlaylist();
- }
- },
- playPlaylistItem: function(sender) {
- var sequenceId = $(sender.currentTarget).attr('seq');
- if (!this.activePlaylistItem || (this.activePlaylistItem !== undefined && sequenceId != this.activePlaylistItem.seq)) {
- jQuery.post(JSON_RPC + '?PlaylistItemPlay', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Playlist.Play", "params": ' + sequenceId + ', "id": 1}', function() {}, 'json');
- }
- this.hidePlaylist();
- },
- playlistChanged: function(newPlaylist) {
- if (this.activePlaylist && !newPlaylist || !this.activePlaylist && newPlaylist) {
- return true;
- }
- if (!this.activePlaylist && !newPlaylist) {
- return false;
- }
- if (this.activePlaylist.length != newPlaylist.length) {
- return true;
- }
- for (var i = 0; i < newPlaylist.length; i++) {
- if (!this.comparePlaylistItems(this.activePlaylist[i], newPlaylist[i])) {
- return true;
- }
- }
- return false;
- },
- updateAudioPlaylist: function() {
- jQuery.ajax({
- type: 'POST',
- url: JSON_RPC + '?updateAudioPlaylist',
- data: '{"jsonrpc": "2.0", "method": "AudioPlaylist.GetItems", "params": { "fields": ["title", "album", "artist", "duration"] }, "id": 1}',
- success: jQuery.proxy(function(data) {
- if (data && data.result && data.result.items && data.result.total > 0) {
- //Compare new playlist to active playlist, only redraw if a change is noticed
- if (!this.activePlaylistItem || this.playlistChanged(data.result.items) || (this.activePlaylistItem && (this.activePlaylistItem.seq != data.result.current))) {
- var ul = $('<ul>');
- var activeItem;
- $.each($(data.result.items), jQuery.proxy(function(i, item) {
- var li = $('<li>');
- var code = '<span class="duration">' + durationToString(item.duration) + '</span><div class="trackInfo" title="' + item.title + ' - ' + item.artist + '"><span class="trackTitle">' + item.title + '</span> - <span class="trackArtist">' + item.artist + '</span></div>';
- if (i == data.result.current) {
- activeItem = item;
- activeItem.seq = i;
- li.addClass('activeItem');
- }
- if (i == (data.result.current + 1)) {
- $('#nextTrack').html(code).show();
- }
- li.bind('click', jQuery.proxy(this.playPlaylistItem, this));
- ul.append(li.attr('seq', i).html(code));
- }, this));
- if (data.result.total > 1) {
- if (activeItem && data.result.total-1 == activeItem.seq) {
- $('#nextTrack').html('<div class="trackInfo">Last track in playlist</div>').show();
- }
- $('#nextText').show();
- $('#nowPlayingPlaylist').html('').append(ul);
- } else {
- $('#nextText').hide();
- $('#nowPlayingPlaylist').hide();
- $('#nextTrack').hide();
- }
- if (!this.comparePlaylistItems(activeItem, this.activePlaylistItem)) {
- this.activePlaylistItem = activeItem;
- if (!this.updateActiveItemDurationRunOnce) {
- this.updateActiveItemDurationRunOnce = true;
- this.updateActiveItemDuration();
- }
- } else if (!activeItem) {
- this.stopRefreshTime();
- }
- this.activePlaylist = data.result.items;
- $('#videoDescription').hide();
- $('#audioDescription').show();
- $('#nowPlayingPanel').show();
- }
- } else {
- this.activePlaylist = null;
- $('#audioDescription').hide();
- $('#nowPlayingPanel').hide();
- }
- if (this.autoRefreshAudioPlaylist) {
- setTimeout(jQuery.proxy(this.updateAudioPlaylist, this), 1000);
- }
- }, this),
- error: jQuery.proxy(function(data) {
- displayCommunicationError();
- if (this.autoRefreshAudioPlaylist) {
- setTimeout(jQuery.proxy(this.updateAudioPlaylist, this), 2000); /* Slow down request period */
- }
- }, this),
- dataType: 'json'
- });
- },
- stopAudioPlaylistUpdate: function() {
- this.autoRefreshAudioPlaylist = false;
- this.updateActiveItemDurationRunOnce = false;
- },
- stopVideoPlaylistUpdate: function() {
- this.autoRefreshVideoPlaylist = false;
- this.updateActiveItemDurationRunOnce = false;
- },
- updateActiveItemDurationLoop: function() {
- this.activeItemTimer = 0;
- this.updateActiveItemDuration();
- },
- updateActiveItemDuration: function() {
- jQuery.post(JSON_RPC + '?updateDuration', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.GetTime", "id": 1}', jQuery.proxy(function(data) {
- if (data && data.result) {
- this.trackBaseTime = data.result.time;
- this.playing = data.result.playing;
- this.paused = data.result.paused;
- if (!this.autoRefreshAudioData && !this.autoRefreshVideoData) {
- if (data.result.playing) {
- if (this.activePlayer == 'Audio') {
- this.autoRefreshAudioData = true;
- this.refreshAudioData();
- } else if (this.activePlayer == 'Video') {
- this.autoRefreshVideoData = true;
- this.refreshVideoData();
- }
- }
- }
- }
- if ((this.autoRefreshAudioData || this.autoRefreshVideoData) && !this.activeItemTimer) {
- this.activeItemTimer = 1;
- setTimeout(jQuery.proxy(this.updateActiveItemDurationLoop, this), 1000);
- }
- }, this), 'json');
- },
- refreshAudioDataLoop: function() {
- this.audioRefreshTimer = 0;
- this.refreshAudioData();
- },
- refreshAudioData: function() {
- if (this.autoRefreshAudioData && !this.audioRefreshTimer) {
- this.audioRefreshTimer = 1;
- setTimeout(jQuery.proxy(this.refreshAudioDataLoop, this), 1000);
- }
- if (this.playing && !this.paused) {
- this.trackBaseTime++;
- }
- if (this.paused) {
- this.showPlayButton();
- } else if (this.playing) {
- this.showPauseButton();
- }
- if (this.activePlaylistItem) {
- if (this.activePlaylistItem != this.lastPlaylistItem) {
- this.lastPlaylistItem = this.activePlaylistItem;
- var imgPath = DEFAULT_ALBUM_COVER;
- if (this.activePlaylistItem.thumbnail) {
- imgPath = (this.activePlaylistItem.thumbnail.startsWith('special://') ? '/vfs/' : 'images/') + this.activePlaylistItem.thumbnail;
- }
- $('#audioCoverArt').html('<img src="' + imgPath + '" alt="' + this.activePlaylistItem.album + ' cover art">');
- $('#audioTrackTitle').html('<span title="' + this.activePlaylistItem.title + '">' + this.activePlaylistItem.title + '</span>');
- if (this.activePlaylistItem.album) {
- $('#audioAlbumTitle').html('<span title="' + this.activePlaylistItem.album + '">' + this.activePlaylistItem.album + '</span>')
- .show();
- } else {
- $('#audioAlbumTitle').hide();
- }
- $('#audioArtistTitle').html(this.activePlaylistItem.artist);
- $('#progressBar').attr('style', '');
- }
- $('#audioDuration').html(durationToString(this.trackBaseTime) + ' / ' + durationToString(this.activePlaylistItem.duration));
- var buttonWidth = $('#progressBar .progressIndicator').width();
- var progressBarWidth = (this.trackBaseTime / this.activePlaylistItem.duration) * 100;
- var progressSliderPosition = Math.ceil(($('#progressBar').width() / 100) * progressBarWidth) - buttonWidth;
- if (progressSliderPosition < 0) {
- progressSliderPosition = 0;
- }
- if (progressBarWidth <= 100) {
- $('#progressBar .elapsedTime').width(progressBarWidth + '%');
- $('#progressBar .progressIndicator').css('left', progressSliderPosition);
- }
- }
- },
- refreshVideoDataLoop: function() {
- this.videoRefreshTimer = 0;
- this.refreshVideoData();
- },
- refreshVideoData: function() {
- if (this.autoRefreshVideoData && !this.videoRefreshTimer) {
- this.videoRefreshTimer = 1;
- setTimeout(jQuery.proxy(this.refreshVideoDataLoop, this), 1000);
- }
- if (this.playing && !this.paused) {
- this.trackBaseTime++;
- }
- if (this.paused) {
- this.showPlayButton();
- } else if (this.playing) {
- this.showPauseButton();
- }
- if (this.activePlaylistItem) {
- if (this.activePlaylistItem != this.lastPlaylistItem) {
- this.lastPlaylistItem = this.activePlaylistItem;
- var imgPath = DEFAULT_VIDEO_COVER;
- if (this.activePlaylistItem.thumbnail) {
- imgPath = (this.activePlaylistItem.thumbnail.startsWith('special://') ? '/vfs/' : 'images/') + this.activePlaylistItem.thumbnail;
- }
- $('#videoCoverArt').html('<img src="' + imgPath + '" alt="' + this.activePlaylistItem.title + ' cover art">');
- var imgWidth = $('#videoCoverArt img').width();
- $('#progressBar').width(365 - (imgWidth - 100));
- $('#videoTrackWrap').width(365 - (imgWidth - 100));
- $('#videoTitle').width(365 - (imgWidth - 100));
- $('#videoShowTitle').html(this.activePlaylistItem.showtitle||' ');
- var extra = '';
- if (this.activePlaylistItem.season && this.activePlaylistItem.episode) {
- extra = this.activePlaylistItem.season + 'x' + this.activePlaylistItem.episode + ' ';
- }
- $('#videoTitle').html(extra + this.activePlaylistItem.title);
- }
- $('#videoDuration').html(durationToString(this.trackBaseTime) + ' / ' + durationToString(this.activePlaylistItem.duration));
- var buttonWidth = $('#progressBar .progressIndicator').width();
- var progressBarWidth = (this.trackBaseTime / this.activePlaylistItem.duration) * 100;
- var progressSliderPosition = Math.ceil(($('#progressBar').width() / 100) * progressBarWidth) - buttonWidth;
- if (progressSliderPosition < 0) {
- progressSliderPosition = 0;
- }
- if (progressBarWidth <= 100) {
- $('#progressBar .elapsedTime').width(progressBarWidth + '%');
- $('#progressBar .progressIndicator').css('left', progressSliderPosition);
- }
- }
- },
- stopRefreshTime: function() {
- this.autoRefreshAudioData = false;
- this.autoRefreshVideoData = false;
- },
- comparePlaylistItems: function(item1, item2) {
- if (!item1 || !item2) {
- if (!item1 && !item2) {
- return true;
- }
- return false;
- }
- if (item1.title != item2.title) {
- return false;
- }
- if (item1.album != item2.album) {
- return false;
- }
- if (item1.artist != item2.artist) {
- return false;
- }
- if (item1.duration != item2.duration) {
- return false;
- }
- if (item1.label != item2.label) {
- return false;
- }
- if (item1.season != item2.season) {
- return false;
- }
- if (item1.episode != item2.episode) {
- return false;
- }
- return true;
- },
- updateVideoPlaylist: function() {
- jQuery.ajax({
- type: 'POST',
- url: JSON_RPC + '?updateVideoPlaylist',
- data: '{"jsonrpc": "2.0", "method": "VideoPlaylist.GetItems", "params": { "fields": ["title", "season", "episode", "plot", "duration", "showtitle"] }, "id": 1}',
- success: jQuery.proxy(function(data) {
- if (data && data.result && data.result.items && data.result.total > 0) {
- //Compare new playlist to active playlist, only redraw if a change is noticed.
- if (this.playlistChanged(data.result.items)) {
- var ul = $('<ul>');
- var activeItem;
- $.each($(data.result.items), jQuery.proxy(function(i, item) {
- var li = $('<li>');
- var extra = '';
- if (item.season && item.episode) {
- extra = item.season + 'x' + item.episode + ' ';
- }
- var code = '<span class="duration">' + durationToString(item.duration) + '</span><div class="trackInfo" title="' + extra + item.title + '"><span class="trackTitle">' + extra + item.title + '</span></div>';
- if (i == data.result.current) {
- activeItem = item;
- activeItem.seq = i;
- li.addClass('activeItem');
- }
- if (i == (data.result.current + 1)) {
- $('#nextTrack').html(code).show();
- }
- li.bind('click', jQuery.proxy(this.playPlaylistItem, this));
- ul.append(li.attr('seq', i).html(code));
- }, this));
- if (data.result.total > 1) {
- $('#nextText').show();
- if (activeItem && data.result.total == activeItem.seq) {
- $('#nextTrack').html('<div class="trackInfo">Last track in playlist</div>').show();
- }
- $('#nowPlayingPlaylist').html('').append(ul);
- } else {
- $('#nextText').hide();
- $('#nowPlayingPlaylist').hide();
- $('#nextTrack').hide();
- }
- if (!this.comparePlaylistItems(activeItem, this.activePlaylistItem)) {
- this.activePlaylistItem = activeItem;
- if (!this.updateActiveItemDurationRunOnce) {
- this.updateActiveItemDurationRunOnce = true;
- this.updateActiveItemDuration();
- }
- } else if (!activeItem) {
- this.stopRefreshTime();
- }
- this.activePlaylist = data.result.items;
- $('#videoDescription').show();
- $('#audioDescription').hide();
- $('#nowPlayingPanel').show();
- }
- } else {
- this.activePlaylist = null;
- $('#videoDescription').hide();
- $('#nowPlayingPanel').hide();
- }
- if (this.autoRefreshVideoPlaylist) {
- setTimeout(jQuery.proxy(this.updateVideoPlaylist, this), 1000);
- }
- }, this),
- error: jQuery.proxy(function(data) {
- displayCommunicationError();
- if (this.autoRefreshVideoPlaylist) {
- setTimeout(jQuery.proxy(this.updateVideoPlaylist, this), 2000); /* Slow down request period */
- }
- }, this),
- dataType: 'json'
- });
- }
- }
+/* + * Copyright (C) 2005-2010 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +var NowPlayingManager = function() { + this.init(); + return true; + } + +NowPlayingManager.prototype = { + updateCounter: 0, + init: function() { + $('#pbPause').hide(); /* Assume we are not playing something */ + this.bindPlaybackControls(); + this.updateState(); + $('#nextTrack').bind('click', jQuery.proxy(this.showPlaylist, this)); + $('#nowPlayingPlaylist').bind('click', function() {return false;}); + $(window).bind('click', jQuery.proxy(this.hidePlaylist, this)); + }, + updateState: function() { + jQuery.ajax({ + type: 'POST', + url: JSON_RPC + '?UpdateState', + data: '{"jsonrpc": "2.0", "method": "Player.GetActivePlayers", "id": 1}', + timeout: 2000, + success: jQuery.proxy(function(data) { + if (data && data.result) { + if (data.result.audio && this.activePlayer != 'Audio') { + this.activePlayer = 'Audio'; + this.stopVideoPlaylistUpdate(); + this.displayAudioNowPlaying(); + this.stopRefreshTime(); + } else if (data.result.video && this.activePlayer != 'Video') { + this.activePlayer = 'Video'; + this.stopAudioPlaylistUpdate(); + this.displayVideoNowPlaying(); + this.stopRefreshTime(); + } else if (!data.result.audio && !data.result.video) { + this.stopRefreshTime(); + } + } + setTimeout(jQuery.proxy(this.updateState, this), 1000); + }, this), + error: jQuery.proxy(function(data, error) { + displayCommunicationError(); + setTimeout(jQuery.proxy(this.updateState, this), 2000); + }, this), + dataType: 'json'}); + }, + bindPlaybackControls: function() { + $('#pbNext').bind('click', jQuery.proxy(this.nextTrack, this)); + $('#pbPrev').bind('click', jQuery.proxy(this.prevTrack, this)); + $('#pbStop').bind('click', jQuery.proxy(this.stopTrack, this)); + $('#pbPlay').bind('click', jQuery.proxy(this.playPauseTrack, this)); + $('#pbPause').bind('click', jQuery.proxy(this.playPauseTrack, this)); + }, + showPlaylist: function() { + $('#nextText').html('Playlist: '); + $('#nowPlayingPlaylist').show(); + return false; + }, + hidePlaylist: function() { + $('#nextText').html('Next: '); + $('#nowPlayingPlaylist').hide(); + return false; + }, + nextTrack: function() { + if (this.activePlayer) { + jQuery.post(JSON_RPC + '?SkipNext', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.SkipNext", "id": 1}', jQuery.proxy(function(data) { + if (data && data.result == 'OK') { + //this.updateAudioPlaylist(true); + } + }, this), 'json'); + } + }, + prevTrack: function() { + if (this.activePlayer) { + jQuery.post(JSON_RPC + '?SkipPrevious', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.SkipPrevious", "id": 1}', jQuery.proxy(function(data) { + if (data && data.result == 'OK') { + //this.updateAudioPlaylist(true); + } + }, this), 'json'); + } + }, + stopTrack: function() { + if (this.activePlayer) { + jQuery.post(JSON_RPC + '?Stop', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.Stop", "id": 1}', jQuery.proxy(function(data) { + if (data && data.result == 'OK') { + this.playing = false; + this.paused = false; + this.trackBaseTime = 0; + this.showPlayButton(); + } + }, this), 'json'); + } + }, + playPauseTrack: function() { + if (this.activePlayer) { + var method = this.activePlayer + ((this.playing || this.paused) ? 'Player.PlayPause' : 'Playlist.Play'); + jQuery.post(JSON_RPC + '?PlayPause', '{"jsonrpc": "2.0", "method": "' + method + '", "id": 1}', jQuery.proxy(function(data) { + if (data && data.result) { + this.playing = data.result.playing; + this.paused = data.result.paused; + if (this.playing) { + this.showPauseButton(); + } else { + this.showPlayButton(); + } + } + }, this), 'json'); + } + }, + showPauseButton: function() { + $('#pbPause').show(); + $('#pbPlay').hide(); + }, + showPlayButton: function() { + $('#pbPause').hide(); + $('#pbPlay').show(); + }, + displayAudioNowPlaying: function() { + if (!this.autoRefreshAudioPlaylist) { + this.autoRefreshAudioPlaylist = true; + this.updateAudioPlaylist(); + } + }, + displayVideoNowPlaying: function() { + if (!this.autoRefreshVideoPlaylist) { + this.autoRefreshVideoPlaylist = true; + this.updateVideoPlaylist(); + } + }, + playPlaylistItem: function(sender) { + var sequenceId = $(sender.currentTarget).attr('seq'); + if (!this.activePlaylistItem || (this.activePlaylistItem !== undefined && sequenceId != this.activePlaylistItem.seq)) { + jQuery.post(JSON_RPC + '?PlaylistItemPlay', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Playlist.Play", "params": ' + sequenceId + ', "id": 1}', function() {}, 'json'); + } + this.hidePlaylist(); + }, + playlistChanged: function(newPlaylist) { + if (this.activePlaylist && !newPlaylist || !this.activePlaylist && newPlaylist) { + return true; + } + if (!this.activePlaylist && !newPlaylist) { + return false; + } + if (this.activePlaylist.length != newPlaylist.length) { + return true; + } + for (var i = 0; i < newPlaylist.length; i++) { + if (!this.comparePlaylistItems(this.activePlaylist[i], newPlaylist[i])) { + return true; + } + } + return false; + }, + updateAudioPlaylist: function() { + jQuery.ajax({ + type: 'POST', + url: JSON_RPC + '?updateAudioPlaylist', + data: '{"jsonrpc": "2.0", "method": "AudioPlaylist.GetItems", "params": { "fields": ["title", "album", "artist", "duration"] }, "id": 1}', + success: jQuery.proxy(function(data) { + if (data && data.result && data.result.items && data.result.total > 0) { + //Compare new playlist to active playlist, only redraw if a change is noticed + if (!this.activePlaylistItem || this.playlistChanged(data.result.items) || (this.activePlaylistItem && (this.activePlaylistItem.seq != data.result.current))) { + var ul = $('<ul>'); + var activeItem; + $.each($(data.result.items), jQuery.proxy(function(i, item) { + var li = $('<li>'); + var code = '<span class="duration">' + durationToString(item.duration) + '</span><div class="trackInfo" title="' + item.title + ' - ' + item.artist + '"><span class="trackTitle">' + item.title + '</span> - <span class="trackArtist">' + item.artist + '</span></div>'; + if (i == data.result.current) { + activeItem = item; + activeItem.seq = i; + li.addClass('activeItem'); + } + if (i == (data.result.current + 1)) { + $('#nextTrack').html(code).show(); + } + li.bind('click', jQuery.proxy(this.playPlaylistItem, this)); + ul.append(li.attr('seq', i).html(code)); + }, this)); + if (data.result.total > 1) { + if (activeItem && data.result.total-1 == activeItem.seq) { + $('#nextTrack').html('<div class="trackInfo">Last track in playlist</div>').show(); + } + $('#nextText').show(); + $('#nowPlayingPlaylist').html('').append(ul); + } else { + $('#nextText').hide(); + $('#nowPlayingPlaylist').hide(); + $('#nextTrack').hide(); + } + if (!this.comparePlaylistItems(activeItem, this.activePlaylistItem)) { + this.activePlaylistItem = activeItem; + if (!this.updateActiveItemDurationRunOnce) { + this.updateActiveItemDurationRunOnce = true; + this.updateActiveItemDuration(); + } + } else if (!activeItem) { + this.stopRefreshTime(); + } + this.activePlaylist = data.result.items; + $('#videoDescription').hide(); + $('#audioDescription').show(); + $('#nowPlayingPanel').show(); + } + } else { + this.activePlaylist = null; + $('#audioDescription').hide(); + $('#nowPlayingPanel').hide(); + } + if (this.autoRefreshAudioPlaylist) { + setTimeout(jQuery.proxy(this.updateAudioPlaylist, this), 1000); + } + }, this), + error: jQuery.proxy(function(data) { + displayCommunicationError(); + if (this.autoRefreshAudioPlaylist) { + setTimeout(jQuery.proxy(this.updateAudioPlaylist, this), 2000); /* Slow down request period */ + } + }, this), + dataType: 'json' + }); + }, + stopAudioPlaylistUpdate: function() { + this.autoRefreshAudioPlaylist = false; + this.updateActiveItemDurationRunOnce = false; + }, + stopVideoPlaylistUpdate: function() { + this.autoRefreshVideoPlaylist = false; + this.updateActiveItemDurationRunOnce = false; + }, + updateActiveItemDurationLoop: function() { + this.activeItemTimer = 0; + this.updateActiveItemDuration(); + }, + updateActiveItemDuration: function() { + jQuery.post(JSON_RPC + '?updateDuration', '{"jsonrpc": "2.0", "method": "' + this.activePlayer + 'Player.GetTime", "id": 1}', jQuery.proxy(function(data) { + if (data && data.result) { + this.trackBaseTime = data.result.time; + this.playing = data.result.playing; + this.paused = data.result.paused; + if (!this.autoRefreshAudioData && !this.autoRefreshVideoData) { + if (data.result.playing) { + if (this.activePlayer == 'Audio') { + this.autoRefreshAudioData = true; + this.refreshAudioData(); + } else if (this.activePlayer == 'Video') { + this.autoRefreshVideoData = true; + this.refreshVideoData(); + } + } + } + } + if ((this.autoRefreshAudioData || this.autoRefreshVideoData) && !this.activeItemTimer) { + this.activeItemTimer = 1; + setTimeout(jQuery.proxy(this.updateActiveItemDurationLoop, this), 1000); + } + }, this), 'json'); + }, + refreshAudioDataLoop: function() { + this.audioRefreshTimer = 0; + this.refreshAudioData(); + }, + refreshAudioData: function() { + if (this.autoRefreshAudioData && !this.audioRefreshTimer) { + this.audioRefreshTimer = 1; + setTimeout(jQuery.proxy(this.refreshAudioDataLoop, this), 1000); + } + if (this.playing && !this.paused) { + this.trackBaseTime++; + } + if (this.paused) { + this.showPlayButton(); + } else if (this.playing) { + this.showPauseButton(); + } + if (this.activePlaylistItem) { + if (this.activePlaylistItem != this.lastPlaylistItem) { + this.lastPlaylistItem = this.activePlaylistItem; + var imgPath = DEFAULT_ALBUM_COVER; + if (this.activePlaylistItem.thumbnail) { + imgPath = (this.activePlaylistItem.thumbnail.startsWith('special://') ? '/vfs/' : 'images/') + this.activePlaylistItem.thumbnail; + } + $('#audioCoverArt').html('<img src="' + imgPath + '" alt="' + this.activePlaylistItem.album + ' cover art">'); + $('#audioTrackTitle').html('<span title="' + this.activePlaylistItem.title + '">' + this.activePlaylistItem.title + '</span>'); + if (this.activePlaylistItem.album) { + $('#audioAlbumTitle').html('<span title="' + this.activePlaylistItem.album + '">' + this.activePlaylistItem.album + '</span>') + .show(); + } else { + $('#audioAlbumTitle').hide(); + } + $('#audioArtistTitle').html(this.activePlaylistItem.artist); + $('#progressBar').attr('style', ''); + } + $('#audioDuration').html(durationToString(this.trackBaseTime) + ' / ' + durationToString(this.activePlaylistItem.duration)); + var buttonWidth = $('#progressBar .progressIndicator').width(); + var progressBarWidth = (this.trackBaseTime / this.activePlaylistItem.duration) * 100; + var progressSliderPosition = Math.ceil(($('#progressBar').width() / 100) * progressBarWidth) - buttonWidth; + if (progressSliderPosition < 0) { + progressSliderPosition = 0; + } + if (progressBarWidth <= 100) { + $('#progressBar .elapsedTime').width(progressBarWidth + '%'); + $('#progressBar .progressIndicator').css('left', progressSliderPosition); + } + } + }, + refreshVideoDataLoop: function() { + this.videoRefreshTimer = 0; + this.refreshVideoData(); + }, + refreshVideoData: function() { + if (this.autoRefreshVideoData && !this.videoRefreshTimer) { + this.videoRefreshTimer = 1; + setTimeout(jQuery.proxy(this.refreshVideoDataLoop, this), 1000); + } + if (this.playing && !this.paused) { + this.trackBaseTime++; + } + if (this.paused) { + this.showPlayButton(); + } else if (this.playing) { + this.showPauseButton(); + } + if (this.activePlaylistItem) { + if (this.activePlaylistItem != this.lastPlaylistItem) { + this.lastPlaylistItem = this.activePlaylistItem; + var imgPath = DEFAULT_VIDEO_COVER; + if (this.activePlaylistItem.thumbnail) { + imgPath = (this.activePlaylistItem.thumbnail.startsWith('special://') ? '/vfs/' : 'images/') + this.activePlaylistItem.thumbnail; + } + $('#videoCoverArt').html('<img src="' + imgPath + '" alt="' + this.activePlaylistItem.title + ' cover art">'); + var imgWidth = $('#videoCoverArt img').width(); + $('#progressBar').width(365 - (imgWidth - 100)); + $('#videoTrackWrap').width(365 - (imgWidth - 100)); + $('#videoTitle').width(365 - (imgWidth - 100)); + $('#videoShowTitle').html(this.activePlaylistItem.showtitle||' '); + var extra = ''; + if (this.activePlaylistItem.season && this.activePlaylistItem.episode) { + extra = this.activePlaylistItem.season + 'x' + this.activePlaylistItem.episode + ' '; + } + $('#videoTitle').html(extra + this.activePlaylistItem.title); + } + $('#videoDuration').html(durationToString(this.trackBaseTime) + ' / ' + durationToString(this.activePlaylistItem.duration)); + var buttonWidth = $('#progressBar .progressIndicator').width(); + var progressBarWidth = (this.trackBaseTime / this.activePlaylistItem.duration) * 100; + var progressSliderPosition = Math.ceil(($('#progressBar').width() / 100) * progressBarWidth) - buttonWidth; + if (progressSliderPosition < 0) { + progressSliderPosition = 0; + } + if (progressBarWidth <= 100) { + $('#progressBar .elapsedTime').width(progressBarWidth + '%'); + $('#progressBar .progressIndicator').css('left', progressSliderPosition); + } + } + }, + stopRefreshTime: function() { + this.autoRefreshAudioData = false; + this.autoRefreshVideoData = false; + }, + comparePlaylistItems: function(item1, item2) { + if (!item1 || !item2) { + if (!item1 && !item2) { + return true; + } + return false; + } + if (item1.title != item2.title) { + return false; + } + if (item1.album != item2.album) { + return false; + } + if (item1.artist != item2.artist) { + return false; + } + if (item1.duration != item2.duration) { + return false; + } + if (item1.label != item2.label) { + return false; + } + if (item1.season != item2.season) { + return false; + } + if (item1.episode != item2.episode) { + return false; + } + return true; + }, + updateVideoPlaylist: function() { + jQuery.ajax({ + type: 'POST', + url: JSON_RPC + '?updateVideoPlaylist', + data: '{"jsonrpc": "2.0", "method": "VideoPlaylist.GetItems", "params": { "fields": ["title", "season", "episode", "plot", "duration", "showtitle"] }, "id": 1}', + success: jQuery.proxy(function(data) { + if (data && data.result && data.result.items && data.result.total > 0) { + //Compare new playlist to active playlist, only redraw if a change is noticed. + if (this.playlistChanged(data.result.items)) { + var ul = $('<ul>'); + var activeItem; + $.each($(data.result.items), jQuery.proxy(function(i, item) { + var li = $('<li>'); + var extra = ''; + if (item.season && item.episode) { + extra = item.season + 'x' + item.episode + ' '; + } + var code = '<span class="duration">' + durationToString(item.duration) + '</span><div class="trackInfo" title="' + extra + item.title + '"><span class="trackTitle">' + extra + item.title + '</span></div>'; + if (i == data.result.current) { + activeItem = item; + activeItem.seq = i; + li.addClass('activeItem'); + } + if (i == (data.result.current + 1)) { + $('#nextTrack').html(code).show(); + } + li.bind('click', jQuery.proxy(this.playPlaylistItem, this)); + ul.append(li.attr('seq', i).html(code)); + }, this)); + if (data.result.total > 1) { + $('#nextText').show(); + if (activeItem && data.result.total == activeItem.seq) { + $('#nextTrack').html('<div class="trackInfo">Last track in playlist</div>').show(); + } + $('#nowPlayingPlaylist').html('').append(ul); + } else { + $('#nextText').hide(); + $('#nowPlayingPlaylist').hide(); + $('#nextTrack').hide(); + } + if (!this.comparePlaylistItems(activeItem, this.activePlaylistItem)) { + this.activePlaylistItem = activeItem; + if (!this.updateActiveItemDurationRunOnce) { + this.updateActiveItemDurationRunOnce = true; + this.updateActiveItemDuration(); + } + } else if (!activeItem) { + this.stopRefreshTime(); + } + this.activePlaylist = data.result.items; + $('#videoDescription').show(); + $('#audioDescription').hide(); + $('#nowPlayingPanel').show(); + } + } else { + this.activePlaylist = null; + $('#videoDescription').hide(); + $('#nowPlayingPanel').hide(); + } + if (this.autoRefreshVideoPlaylist) { + setTimeout(jQuery.proxy(this.updateVideoPlaylist, this), 1000); + } + }, this), + error: jQuery.proxy(function(data) { + displayCommunicationError(); + if (this.autoRefreshVideoPlaylist) { + setTimeout(jQuery.proxy(this.updateVideoPlaylist, this), 2000); /* Slow down request period */ + } + }, this), + dataType: 'json' + }); + } + } diff --git a/addons/webinterface.default/js/jquery-1.4.2.js b/addons/webinterface.default/js/jquery-1.4.2.js index 5c4c146e55..fff6776433 100644 --- a/addons/webinterface.default/js/jquery-1.4.2.js +++ b/addons/webinterface.default/js/jquery-1.4.2.js @@ -1,6240 +1,6240 @@ -/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function( window, undefined ) {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context );
- },
-
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
-
- // Map over the $ in case of overwrite
- _$ = window.$,
-
- // Use the correct document accordingly with window argument (sandbox)
- document = window.document,
-
- // A central reference to the root jQuery(document)
- rootjQuery,
-
- // A simple way to check for HTML strings or ID strings
- // (both of which we optimize for)
- quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,
-
- // Is it a simple selector
- isSimple = /^.[^:#\[\.,]*$/,
-
- // Check if a string has a non-whitespace character in it
- rnotwhite = /\S/,
-
- // Used for trimming whitespace
- rtrim = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,
-
- // Match a standalone tag
- rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
- // Keep a UserAgent string for use with jQuery.browser
- userAgent = navigator.userAgent,
-
- // For matching the engine and version of the browser
- browserMatch,
-
- // Has the ready events already been bound?
- readyBound = false,
-
- // The functions to execute on DOM ready
- readyList = [],
-
- // The ready event handler
- DOMContentLoaded,
-
- // Save a reference to some core methods
- toString = Object.prototype.toString,
- hasOwnProperty = Object.prototype.hasOwnProperty,
- push = Array.prototype.push,
- slice = Array.prototype.slice,
- indexOf = Array.prototype.indexOf;
-
-jQuery.fn = jQuery.prototype = {
- init: function( selector, context ) {
- var match, elem, ret, doc;
-
- // Handle $(""), $(null), or $(undefined)
- if ( !selector ) {
- return this;
- }
-
- // Handle $(DOMElement)
- if ( selector.nodeType ) {
- this.context = this[0] = selector;
- this.length = 1;
- return this;
- }
-
- // The body element only exists once, optimize finding it
- if ( selector === "body" && !context ) {
- this.context = document;
- this[0] = document.body;
- this.selector = "body";
- this.length = 1;
- return this;
- }
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- // Are we dealing with HTML string or an ID?
- match = quickExpr.exec( selector );
-
- // Verify a match, and that no context was specified for #id
- if ( match && (match[1] || !context) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[1] ) {
- doc = (context ? context.ownerDocument || context : document);
-
- // If a single string is passed in and it's a single tag
- // just do a createElement and skip the rest
- ret = rsingleTag.exec( selector );
-
- if ( ret ) {
- if ( jQuery.isPlainObject( context ) ) {
- selector = [ document.createElement( ret[1] ) ];
- jQuery.fn.attr.call( selector, context, true );
-
- } else {
- selector = [ doc.createElement( ret[1] ) ];
- }
-
- } else {
- ret = buildFragment( [ match[1] ], [ doc ] );
- selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
- }
-
- return jQuery.merge( this, selector );
-
- // HANDLE: $("#id")
- } else {
- elem = document.getElementById( match[2] );
-
- if ( elem ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id !== match[2] ) {
- return rootjQuery.find( selector );
- }
-
- // Otherwise, we inject the element directly into the jQuery object
- this.length = 1;
- this[0] = elem;
- }
-
- this.context = document;
- this.selector = selector;
- return this;
- }
-
- // HANDLE: $("TAG")
- } else if ( !context && /^\w+$/.test( selector ) ) {
- this.selector = selector;
- this.context = document;
- selector = document.getElementsByTagName( selector );
- return jQuery.merge( this, selector );
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return (context || rootjQuery).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return jQuery( context ).find( selector );
- }
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return rootjQuery.ready( selector );
- }
-
- if (selector.selector !== undefined) {
- this.selector = selector.selector;
- this.context = selector.context;
- }
-
- return jQuery.makeArray( selector, this );
- },
-
- // Start with an empty selector
- selector: "",
-
- // The current version of jQuery being used
- jquery: "1.4.2",
-
- // The default length of a jQuery object is 0
- length: 0,
-
- // The number of elements contained in the matched element set
- size: function() {
- return this.length;
- },
-
- toArray: function() {
- return slice.call( this, 0 );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
- return num == null ?
-
- // Return a 'clean' array
- this.toArray() :
-
- // Return just the object
- ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems, name, selector ) {
- // Build a new jQuery matched element set
- var ret = jQuery();
-
- if ( jQuery.isArray( elems ) ) {
- push.apply( ret, elems );
-
- } else {
- jQuery.merge( ret, elems );
- }
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- ret.context = this.context;
-
- if ( name === "find" ) {
- ret.selector = this.selector + (this.selector ? " " : "") + selector;
- } else if ( name ) {
- ret.selector = this.selector + "." + name + "(" + selector + ")";
- }
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- // (You can seed the arguments with an array of args, but this is
- // only used internally.)
- each: function( callback, args ) {
- return jQuery.each( this, callback, args );
- },
-
- ready: function( fn ) {
- // Attach the listeners
- jQuery.bindReady();
-
- // If the DOM is already ready
- if ( jQuery.isReady ) {
- // Execute the function immediately
- fn.call( document, jQuery );
-
- // Otherwise, remember the function for later
- } else if ( readyList ) {
- // Add the function to the wait list
- readyList.push( fn );
- }
-
- return this;
- },
-
- eq: function( i ) {
- return i === -1 ?
- this.slice( i ) :
- this.slice( i, +i + 1 );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ),
- "slice", slice.call(arguments).join(",") );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function( elem, i ) {
- return callback.call( elem, i, elem );
- }));
- },
-
- end: function() {
- return this.prevObject || jQuery(null);
- },
-
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: push,
- sort: [].sort,
- splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
- // copy reference to target object
- var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy;
-
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
- target = {};
- }
-
- // extend jQuery itself if only one argument is passed
- if ( length === i ) {
- target = this;
- --i;
- }
-
- for ( ; i < length; i++ ) {
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null ) {
- // Extend the base object
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
-
- // Prevent never-ending loop
- if ( target === copy ) {
- continue;
- }
-
- // Recurse if we're merging object literal values or arrays
- if ( deep && copy && ( jQuery.isPlainObject(copy) || jQuery.isArray(copy) ) ) {
- var clone = src && ( jQuery.isPlainObject(src) || jQuery.isArray(src) ) ? src
- : jQuery.isArray(copy) ? [] : {};
-
- // Never move original objects, clone them
- target[ name ] = jQuery.extend( deep, clone, copy );
-
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
-
- // Return the modified object
- return target;
-};
-
-jQuery.extend({
- noConflict: function( deep ) {
- window.$ = _$;
-
- if ( deep ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
- },
-
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
-
- // Handle when the DOM is ready
- ready: function() {
- // Make sure that the DOM is not already loaded
- if ( !jQuery.isReady ) {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( !document.body ) {
- return setTimeout( jQuery.ready, 13 );
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If there are functions bound, to execute
- if ( readyList ) {
- // Execute all of them
- var fn, i = 0;
- while ( (fn = readyList[ i++ ]) ) {
- fn.call( document, jQuery );
- }
-
- // Reset the list of functions
- readyList = null;
- }
-
- // Trigger any bound ready events
- if ( jQuery.fn.triggerHandler ) {
- jQuery( document ).triggerHandler( "ready" );
- }
- }
- },
-
- bindReady: function() {
- if ( readyBound ) {
- return;
- }
-
- readyBound = true;
-
- // Catch cases where $(document).ready() is called after the
- // browser event has already occurred.
- if ( document.readyState === "complete" ) {
- return jQuery.ready();
- }
-
- // Mozilla, Opera and webkit nightlies currently support this event
- if ( document.addEventListener ) {
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", jQuery.ready, false );
-
- // If IE event model is used
- } else if ( document.attachEvent ) {
- // ensure firing before onload,
- // maybe late but safe also for iframes
- document.attachEvent("onreadystatechange", DOMContentLoaded);
-
- // A fallback to window.onload, that will always work
- window.attachEvent( "onload", jQuery.ready );
-
- // If IE and not a frame
- // continually check to see if the document is ready
- var toplevel = false;
-
- try {
- toplevel = window.frameElement == null;
- } catch(e) {}
-
- if ( document.documentElement.doScroll && toplevel ) {
- doScrollCheck();
- }
- }
- },
-
- // See test/unit/core.js for details concerning isFunction.
- // Since version 1.3, DOM methods and functions like alert
- // aren't supported. They return false on IE (#2968).
- isFunction: function( obj ) {
- return toString.call(obj) === "[object Function]";
- },
-
- isArray: function( obj ) {
- return toString.call(obj) === "[object Array]";
- },
-
- isPlainObject: function( obj ) {
- // Must be an Object.
- // Because of IE, we also have to check the presence of the constructor property.
- // Make sure that DOM nodes and window objects don't pass through, as well
- if ( !obj || toString.call(obj) !== "[object Object]" || obj.nodeType || obj.setInterval ) {
- return false;
- }
-
- // Not own constructor property must be Object
- if ( obj.constructor
- && !hasOwnProperty.call(obj, "constructor")
- && !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) {
- return false;
- }
-
- // Own properties are enumerated firstly, so to speed up,
- // if last one is own, then all properties are own.
-
- var key;
- for ( key in obj ) {}
-
- return key === undefined || hasOwnProperty.call( obj, key );
- },
-
- isEmptyObject: function( obj ) {
- for ( var name in obj ) {
- return false;
- }
- return true;
- },
-
- error: function( msg ) {
- throw msg;
- },
-
- parseJSON: function( data ) {
- if ( typeof data !== "string" || !data ) {
- return null;
- }
-
- // Make sure leading/trailing whitespace is removed (IE can't handle it)
- data = jQuery.trim( data );
-
- // Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
- if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
- .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
- .replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {
-
- // Try to use the native JSON parser first
- return window.JSON && window.JSON.parse ?
- window.JSON.parse( data ) :
- (new Function("return " + data))();
-
- } else {
- jQuery.error( "Invalid JSON: " + data );
- }
- },
-
- noop: function() {},
-
- // Evalulates a script in a global context
- globalEval: function( data ) {
- if ( data && rnotwhite.test(data) ) {
- // Inspired by code by Andrea Giammarchi
- // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
- var head = document.getElementsByTagName("head")[0] || document.documentElement,
- script = document.createElement("script");
-
- script.type = "text/javascript";
-
- if ( jQuery.support.scriptEval ) {
- script.appendChild( document.createTextNode( data ) );
- } else {
- script.text = data;
- }
-
- // Use insertBefore instead of appendChild to circumvent an IE6 bug.
- // This arises when a base node is used (#2709).
- head.insertBefore( script, head.firstChild );
- head.removeChild( script );
- }
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
- },
-
- // args is for internal usage only
- each: function( object, callback, args ) {
- var name, i = 0,
- length = object.length,
- isObj = length === undefined || jQuery.isFunction(object);
-
- if ( args ) {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.apply( object[ name ], args ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.apply( object[ i++ ], args ) === false ) {
- break;
- }
- }
- }
-
- // A special, fast, case for the most common use of each
- } else {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
- break;
- }
- }
- } else {
- for ( var value = object[0];
- i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
- }
- }
-
- return object;
- },
-
- trim: function( text ) {
- return (text || "").replace( rtrim, "" );
- },
-
- // results is for internal usage only
- makeArray: function( array, results ) {
- var ret = results || [];
-
- if ( array != null ) {
- // The window, strings (and functions) also have 'length'
- // The extra typeof function check is to prevent crashes
- // in Safari 2 (See: #3039)
- if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) {
- push.call( ret, array );
- } else {
- jQuery.merge( ret, array );
- }
- }
-
- return ret;
- },
-
- inArray: function( elem, array ) {
- if ( array.indexOf ) {
- return array.indexOf( elem );
- }
-
- for ( var i = 0, length = array.length; i < length; i++ ) {
- if ( array[ i ] === elem ) {
- return i;
- }
- }
-
- return -1;
- },
-
- merge: function( first, second ) {
- var i = first.length, j = 0;
-
- if ( typeof second.length === "number" ) {
- for ( var l = second.length; j < l; j++ ) {
- first[ i++ ] = second[ j ];
- }
-
- } else {
- while ( second[j] !== undefined ) {
- first[ i++ ] = second[ j++ ];
- }
- }
-
- first.length = i;
-
- return first;
- },
-
- grep: function( elems, callback, inv ) {
- var ret = [];
-
- // Go through the array, only saving the items
- // that pass the validator function
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- if ( !inv !== !callback( elems[ i ], i ) ) {
- ret.push( elems[ i ] );
- }
- }
-
- return ret;
- },
-
- // arg is for internal usage only
- map: function( elems, callback, arg ) {
- var ret = [], value;
-
- // Go through the array, translating each of the items to their
- // new value (or values).
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
-
- return ret.concat.apply( [], ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- proxy: function( fn, proxy, thisObject ) {
- if ( arguments.length === 2 ) {
- if ( typeof proxy === "string" ) {
- thisObject = fn;
- fn = thisObject[ proxy ];
- proxy = undefined;
-
- } else if ( proxy && !jQuery.isFunction( proxy ) ) {
- thisObject = proxy;
- proxy = undefined;
- }
- }
-
- if ( !proxy && fn ) {
- proxy = function() {
- return fn.apply( thisObject || this, arguments );
- };
- }
-
- // Set the guid of unique handler to the same of original handler, so it can be removed
- if ( fn ) {
- proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
- }
-
- // So proxy can be declared as an argument
- return proxy;
- },
-
- // Use of jQuery.browser is frowned upon.
- // More details: http://docs.jquery.com/Utilities/jQuery.browser
- uaMatch: function( ua ) {
- ua = ua.toLowerCase();
-
- var match = /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
- /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||
- /(msie) ([\w.]+)/.exec( ua ) ||
- !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua ) ||
- [];
-
- return { browser: match[1] || "", version: match[2] || "0" };
- },
-
- browser: {}
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
- jQuery.browser[ browserMatch.browser ] = true;
- jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
- jQuery.browser.safari = true;
-}
-
-if ( indexOf ) {
- jQuery.inArray = function( elem, array ) {
- return indexOf.call( array, elem );
- };
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
- DOMContentLoaded = function() {
- document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
- jQuery.ready();
- };
-
-} else if ( document.attachEvent ) {
- DOMContentLoaded = function() {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( document.readyState === "complete" ) {
- document.detachEvent( "onreadystatechange", DOMContentLoaded );
- jQuery.ready();
- }
- };
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
- if ( jQuery.isReady ) {
- return;
- }
-
- try {
- // If IE is used, use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- document.documentElement.doScroll("left");
- } catch( error ) {
- setTimeout( doScrollCheck, 1 );
- return;
- }
-
- // and execute any waiting functions
- jQuery.ready();
-}
-
-function evalScript( i, elem ) {
- if ( elem.src ) {
- jQuery.ajax({
- url: elem.src,
- async: false,
- dataType: "script"
- });
- } else {
- jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
-}
-
-// Mutifunctional method to get and set values to a collection
-// The value/s can be optionally by executed if its a function
-function access( elems, key, value, exec, fn, pass ) {
- var length = elems.length;
-
- // Setting many attributes
- if ( typeof key === "object" ) {
- for ( var k in key ) {
- access( elems, k, key[k], exec, fn, value );
- }
- return elems;
- }
-
- // Setting one attribute
- if ( value !== undefined ) {
- // Optionally, function values get executed if exec is true
- exec = !pass && exec && jQuery.isFunction(value);
-
- for ( var i = 0; i < length; i++ ) {
- fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
- }
-
- return elems;
- }
-
- // Getting an attribute
- return length ? fn( elems[0], key ) : undefined;
-}
-
-function now() {
- return (new Date).getTime();
-}
-(function() {
-
- jQuery.support = {};
-
- var root = document.documentElement,
- script = document.createElement("script"),
- div = document.createElement("div"),
- id = "script" + now();
-
- div.style.display = "none";
- div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
- var all = div.getElementsByTagName("*"),
- a = div.getElementsByTagName("a")[0];
-
- // Can't get basic test support
- if ( !all || !all.length || !a ) {
- return;
- }
-
- jQuery.support = {
- // IE strips leading whitespace when .innerHTML is used
- leadingWhitespace: div.firstChild.nodeType === 3,
-
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- tbody: !div.getElementsByTagName("tbody").length,
-
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- htmlSerialize: !!div.getElementsByTagName("link").length,
-
- // Get the style information from getAttribute
- // (IE uses .cssText insted)
- style: /red/.test( a.getAttribute("style") ),
-
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- hrefNormalized: a.getAttribute("href") === "/a",
-
- // Make sure that element opacity exists
- // (IE uses filter instead)
- // Use a regex to work around a WebKit issue. See #5145
- opacity: /^0.55$/.test( a.style.opacity ),
-
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- cssFloat: !!a.style.cssFloat,
-
- // Make sure that if no value is specified for a checkbox
- // that it defaults to "on".
- // (WebKit defaults to "" instead)
- checkOn: div.getElementsByTagName("input")[0].value === "on",
-
- // Make sure that a selected-by-default option has a working selected property.
- // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
- optSelected: document.createElement("select").appendChild( document.createElement("option") ).selected,
-
- parentNode: div.removeChild( div.appendChild( document.createElement("div") ) ).parentNode === null,
-
- // Will be defined later
- deleteExpando: true,
- checkClone: false,
- scriptEval: false,
- noCloneEvent: true,
- boxModel: null
- };
-
- script.type = "text/javascript";
- try {
- script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
- } catch(e) {}
-
- root.insertBefore( script, root.firstChild );
-
- // Make sure that the execution of code works by injecting a script
- // tag with appendChild/createTextNode
- // (IE doesn't support this, fails, and uses .text instead)
- if ( window[ id ] ) {
- jQuery.support.scriptEval = true;
- delete window[ id ];
- }
-
- // Test to see if it's possible to delete an expando from an element
- // Fails in Internet Explorer
- try {
- delete script.test;
-
- } catch(e) {
- jQuery.support.deleteExpando = false;
- }
-
- root.removeChild( script );
-
- if ( div.attachEvent && div.fireEvent ) {
- div.attachEvent("onclick", function click() {
- // Cloning a node shouldn't copy over any
- // bound event handlers (IE does this)
- jQuery.support.noCloneEvent = false;
- div.detachEvent("onclick", click);
- });
- div.cloneNode(true).fireEvent("onclick");
- }
-
- div = document.createElement("div");
- div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
-
- var fragment = document.createDocumentFragment();
- fragment.appendChild( div.firstChild );
-
- // WebKit doesn't clone checked state correctly in fragments
- jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked;
-
- // Figure out if the W3C box model works as expected
- // document.body must exist before we can do this
- jQuery(function() {
- var div = document.createElement("div");
- div.style.width = div.style.paddingLeft = "1px";
-
- document.body.appendChild( div );
- jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
- document.body.removeChild( div ).style.display = 'none';
-
- div = null;
- });
-
- // Technique from Juriy Zaytsev
- // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
- var eventSupported = function( eventName ) {
- var el = document.createElement("div");
- eventName = "on" + eventName;
-
- var isSupported = (eventName in el);
- if ( !isSupported ) {
- el.setAttribute(eventName, "return;");
- isSupported = typeof el[eventName] === "function";
- }
- el = null;
-
- return isSupported;
- };
-
- jQuery.support.submitBubbles = eventSupported("submit");
- jQuery.support.changeBubbles = eventSupported("change");
-
- // release memory in IE
- root = script = div = all = a = null;
-})();
-
-jQuery.props = {
- "for": "htmlFor",
- "class": "className",
- readonly: "readOnly",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- rowspan: "rowSpan",
- colspan: "colSpan",
- tabindex: "tabIndex",
- usemap: "useMap",
- frameborder: "frameBorder"
-};
-var expando = "jQuery" + now(), uuid = 0, windowData = {};
-
-jQuery.extend({
- cache: {},
-
- expando:expando,
-
- // The following elements throw uncatchable exceptions if you
- // attempt to add expando properties to them.
- noData: {
- "embed": true,
- "object": true,
- "applet": true
- },
-
- data: function( elem, name, data ) {
- if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
- return;
- }
-
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ], cache = jQuery.cache, thisCache;
-
- if ( !id && typeof name === "string" && data === undefined ) {
- return null;
- }
-
- // Compute a unique ID for the element
- if ( !id ) {
- id = ++uuid;
- }
-
- // Avoid generating a new cache unless none exists and we
- // want to manipulate it.
- if ( typeof name === "object" ) {
- elem[ expando ] = id;
- thisCache = cache[ id ] = jQuery.extend(true, {}, name);
-
- } else if ( !cache[ id ] ) {
- elem[ expando ] = id;
- cache[ id ] = {};
- }
-
- thisCache = cache[ id ];
-
- // Prevent overriding the named cache with undefined values
- if ( data !== undefined ) {
- thisCache[ name ] = data;
- }
-
- return typeof name === "string" ? thisCache[ name ] : thisCache;
- },
-
- removeData: function( elem, name ) {
- if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
- return;
- }
-
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ], cache = jQuery.cache, thisCache = cache[ id ];
-
- // If we want to remove a specific section of the element's data
- if ( name ) {
- if ( thisCache ) {
- // Remove the section of cache data
- delete thisCache[ name ];
-
- // If we've removed all the data, remove the element's cache
- if ( jQuery.isEmptyObject(thisCache) ) {
- jQuery.removeData( elem );
- }
- }
-
- // Otherwise, we want to remove all of the element's data
- } else {
- if ( jQuery.support.deleteExpando ) {
- delete elem[ jQuery.expando ];
-
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( jQuery.expando );
- }
-
- // Completely remove the data cache
- delete cache[ id ];
- }
- }
-});
-
-jQuery.fn.extend({
- data: function( key, value ) {
- if ( typeof key === "undefined" && this.length ) {
- return jQuery.data( this[0] );
-
- } else if ( typeof key === "object" ) {
- return this.each(function() {
- jQuery.data( this, key );
- });
- }
-
- var parts = key.split(".");
- parts[1] = parts[1] ? "." + parts[1] : "";
-
- if ( value === undefined ) {
- var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
- if ( data === undefined && this.length ) {
- data = jQuery.data( this[0], key );
- }
- return data === undefined && parts[1] ?
- this.data( parts[0] ) :
- data;
- } else {
- return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function() {
- jQuery.data( this, key, value );
- });
- }
- },
-
- removeData: function( key ) {
- return this.each(function() {
- jQuery.removeData( this, key );
- });
- }
-});
-jQuery.extend({
- queue: function( elem, type, data ) {
- if ( !elem ) {
- return;
- }
-
- type = (type || "fx") + "queue";
- var q = jQuery.data( elem, type );
-
- // Speed up dequeue by getting out quickly if this is just a lookup
- if ( !data ) {
- return q || [];
- }
-
- if ( !q || jQuery.isArray(data) ) {
- q = jQuery.data( elem, type, jQuery.makeArray(data) );
-
- } else {
- q.push( data );
- }
-
- return q;
- },
-
- dequeue: function( elem, type ) {
- type = type || "fx";
-
- var queue = jQuery.queue( elem, type ), fn = queue.shift();
-
- // If the fx queue is dequeued, always remove the progress sentinel
- if ( fn === "inprogress" ) {
- fn = queue.shift();
- }
-
- if ( fn ) {
- // Add a progress sentinel to prevent the fx queue from being
- // automatically dequeued
- if ( type === "fx" ) {
- queue.unshift("inprogress");
- }
-
- fn.call(elem, function() {
- jQuery.dequeue(elem, type);
- });
- }
- }
-});
-
-jQuery.fn.extend({
- queue: function( type, data ) {
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- }
-
- if ( data === undefined ) {
- return jQuery.queue( this[0], type );
- }
- return this.each(function( i, elem ) {
- var queue = jQuery.queue( this, type, data );
-
- if ( type === "fx" && queue[0] !== "inprogress" ) {
- jQuery.dequeue( this, type );
- }
- });
- },
- dequeue: function( type ) {
- return this.each(function() {
- jQuery.dequeue( this, type );
- });
- },
-
- // Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
- delay: function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
- type = type || "fx";
-
- return this.queue( type, function() {
- var elem = this;
- setTimeout(function() {
- jQuery.dequeue( elem, type );
- }, time );
- });
- },
-
- clearQueue: function( type ) {
- return this.queue( type || "fx", [] );
- }
-});
-var rclass = /[\n\t]/g,
- rspace = /\s+/,
- rreturn = /\r/g,
- rspecialurl = /href|src|style/,
- rtype = /(button|input)/i,
- rfocusable = /(button|input|object|select|textarea)/i,
- rclickable = /^(a|area)$/i,
- rradiocheck = /radio|checkbox/;
-
-jQuery.fn.extend({
- attr: function( name, value ) {
- return access( this, name, value, true, jQuery.attr );
- },
-
- removeAttr: function( name, fn ) {
- return this.each(function(){
- jQuery.attr( this, name, "" );
- if ( this.nodeType === 1 ) {
- this.removeAttribute( name );
- }
- });
- },
-
- addClass: function( value ) {
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.addClass( value.call(this, i, self.attr("class")) );
- });
- }
-
- if ( value && typeof value === "string" ) {
- var classNames = (value || "").split( rspace );
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var elem = this[i];
-
- if ( elem.nodeType === 1 ) {
- if ( !elem.className ) {
- elem.className = value;
-
- } else {
- var className = " " + elem.className + " ", setClass = elem.className;
- for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
- if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
- setClass += " " + classNames[c];
- }
- }
- elem.className = jQuery.trim( setClass );
- }
- }
- }
- }
-
- return this;
- },
-
- removeClass: function( value ) {
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.removeClass( value.call(this, i, self.attr("class")) );
- });
- }
-
- if ( (value && typeof value === "string") || value === undefined ) {
- var classNames = (value || "").split(rspace);
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var elem = this[i];
-
- if ( elem.nodeType === 1 && elem.className ) {
- if ( value ) {
- var className = (" " + elem.className + " ").replace(rclass, " ");
- for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
- className = className.replace(" " + classNames[c] + " ", " ");
- }
- elem.className = jQuery.trim( className );
-
- } else {
- elem.className = "";
- }
- }
- }
- }
-
- return this;
- },
-
- toggleClass: function( value, stateVal ) {
- var type = typeof value, isBool = typeof stateVal === "boolean";
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
- });
- }
-
- return this.each(function() {
- if ( type === "string" ) {
- // toggle individual class names
- var className, i = 0, self = jQuery(this),
- state = stateVal,
- classNames = value.split( rspace );
-
- while ( (className = classNames[ i++ ]) ) {
- // check each className given, space seperated list
- state = isBool ? state : !self.hasClass( className );
- self[ state ? "addClass" : "removeClass" ]( className );
- }
-
- } else if ( type === "undefined" || type === "boolean" ) {
- if ( this.className ) {
- // store className if set
- jQuery.data( this, "__className__", this.className );
- }
-
- // toggle whole className
- this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || "";
- }
- });
- },
-
- hasClass: function( selector ) {
- var className = " " + selector + " ";
- for ( var i = 0, l = this.length; i < l; i++ ) {
- if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
- return true;
- }
- }
-
- return false;
- },
-
- val: function( value ) {
- if ( value === undefined ) {
- var elem = this[0];
-
- if ( elem ) {
- if ( jQuery.nodeName( elem, "option" ) ) {
- return (elem.attributes.value || {}).specified ? elem.value : elem.text;
- }
-
- // We need to handle select boxes special
- if ( jQuery.nodeName( elem, "select" ) ) {
- var index = elem.selectedIndex,
- values = [],
- options = elem.options,
- one = elem.type === "select-one";
-
- // Nothing was selected
- if ( index < 0 ) {
- return null;
- }
-
- // Loop through all the selected options
- for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
- var option = options[ i ];
-
- if ( option.selected ) {
- // Get the specifc value for the option
- value = jQuery(option).val();
-
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- return values;
- }
-
- // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
- if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
- return elem.getAttribute("value") === null ? "on" : elem.value;
- }
-
-
- // Everything else, we just grab the value
- return (elem.value || "").replace(rreturn, "");
-
- }
-
- return undefined;
- }
-
- var isFunction = jQuery.isFunction(value);
-
- return this.each(function(i) {
- var self = jQuery(this), val = value;
-
- if ( this.nodeType !== 1 ) {
- return;
- }
-
- if ( isFunction ) {
- val = value.call(this, i, self.val());
- }
-
- // Typecast each time if the value is a Function and the appended
- // value is therefore different each time.
- if ( typeof val === "number" ) {
- val += "";
- }
-
- if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
- this.checked = jQuery.inArray( self.val(), val ) >= 0;
-
- } else if ( jQuery.nodeName( this, "select" ) ) {
- var values = jQuery.makeArray(val);
-
- jQuery( "option", this ).each(function() {
- this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
- });
-
- if ( !values.length ) {
- this.selectedIndex = -1;
- }
-
- } else {
- this.value = val;
- }
- });
- }
-});
-
-jQuery.extend({
- attrFn: {
- val: true,
- css: true,
- html: true,
- text: true,
- data: true,
- width: true,
- height: true,
- offset: true
- },
-
- attr: function( elem, name, value, pass ) {
- // don't set attributes on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
- return undefined;
- }
-
- if ( pass && name in jQuery.attrFn ) {
- return jQuery(elem)[name](value);
- }
-
- var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
- // Whether we are setting (or getting)
- set = value !== undefined;
-
- // Try to normalize/fix the name
- name = notxml && jQuery.props[ name ] || name;
-
- // Only do all the following if this is a node (faster for style)
- if ( elem.nodeType === 1 ) {
- // These attributes require special treatment
- var special = rspecialurl.test( name );
-
- // Safari mis-reports the default selected property of an option
- // Accessing the parent's selectedIndex property fixes it
- if ( name === "selected" && !jQuery.support.optSelected ) {
- var parent = elem.parentNode;
- if ( parent ) {
- parent.selectedIndex;
-
- // Make sure that it also works with optgroups, see #5701
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- }
-
- // If applicable, access the attribute via the DOM 0 way
- if ( name in elem && notxml && !special ) {
- if ( set ) {
- // We can't allow the type property to be changed (since it causes problems in IE)
- if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
- jQuery.error( "type property can't be changed" );
- }
-
- elem[ name ] = value;
- }
-
- // browsers index elements by id/name on forms, give priority to attributes.
- if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
- return elem.getAttributeNode( name ).nodeValue;
- }
-
- // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- if ( name === "tabIndex" ) {
- var attributeNode = elem.getAttributeNode( "tabIndex" );
-
- return attributeNode && attributeNode.specified ?
- attributeNode.value :
- rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
- 0 :
- undefined;
- }
-
- return elem[ name ];
- }
-
- if ( !jQuery.support.style && notxml && name === "style" ) {
- if ( set ) {
- elem.style.cssText = "" + value;
- }
-
- return elem.style.cssText;
- }
-
- if ( set ) {
- // convert the value to a string (all browsers do this but IE) see #1070
- elem.setAttribute( name, "" + value );
- }
-
- var attr = !jQuery.support.hrefNormalized && notxml && special ?
- // Some attributes require a special call on IE
- elem.getAttribute( name, 2 ) :
- elem.getAttribute( name );
-
- // Non-existent attributes return null, we normalize to undefined
- return attr === null ? undefined : attr;
- }
-
- // elem is actually elem.style ... set the style
- // Using attr for specific style information is now deprecated. Use style instead.
- return jQuery.style( elem, name, value );
- }
-});
-var rnamespaces = /\.(.*)$/,
- fcleanup = function( nm ) {
- return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {
- return "\\" + ch;
- });
- };
-
-/*
- * A number of helper functions used for managing events.
- * Many of the ideas behind this code originated from
- * Dean Edwards' addEvent library.
- */
-jQuery.event = {
-
- // Bind an event to an element
- // Original by Dean Edwards
- add: function( elem, types, handler, data ) {
- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
- return;
- }
-
- // For whatever reason, IE has trouble passing the window object
- // around, causing it to be cloned in the process
- if ( elem.setInterval && ( elem !== window && !elem.frameElement ) ) {
- elem = window;
- }
-
- var handleObjIn, handleObj;
-
- if ( handler.handler ) {
- handleObjIn = handler;
- handler = handleObjIn.handler;
- }
-
- // Make sure that the function being executed has a unique ID
- if ( !handler.guid ) {
- handler.guid = jQuery.guid++;
- }
-
- // Init the element's event structure
- var elemData = jQuery.data( elem );
-
- // If no elemData is found then we must be trying to bind to one of the
- // banned noData elements
- if ( !elemData ) {
- return;
- }
-
- var events = elemData.events = elemData.events || {},
- eventHandle = elemData.handle, eventHandle;
-
- if ( !eventHandle ) {
- elemData.handle = eventHandle = function() {
- // Handle the second event of a trigger and when
- // an event is called after a page has unloaded
- return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
- jQuery.event.handle.apply( eventHandle.elem, arguments ) :
- undefined;
- };
- }
-
- // Add elem as a property of the handle function
- // This is to prevent a memory leak with non-native events in IE.
- eventHandle.elem = elem;
-
- // Handle multiple events separated by a space
- // jQuery(...).bind("mouseover mouseout", fn);
- types = types.split(" ");
-
- var type, i = 0, namespaces;
-
- while ( (type = types[ i++ ]) ) {
- handleObj = handleObjIn ?
- jQuery.extend({}, handleObjIn) :
- { handler: handler, data: data };
-
- // Namespaced event handlers
- if ( type.indexOf(".") > -1 ) {
- namespaces = type.split(".");
- type = namespaces.shift();
- handleObj.namespace = namespaces.slice(0).sort().join(".");
-
- } else {
- namespaces = [];
- handleObj.namespace = "";
- }
-
- handleObj.type = type;
- handleObj.guid = handler.guid;
-
- // Get the current list of functions bound to this event
- var handlers = events[ type ],
- special = jQuery.event.special[ type ] || {};
-
- // Init the event handler queue
- if ( !handlers ) {
- handlers = events[ type ] = [];
-
- // Check for a special event handler
- // Only use addEventListener/attachEvent if the special
- // events handler returns false
- if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
- // Bind the global event handler to the element
- if ( elem.addEventListener ) {
- elem.addEventListener( type, eventHandle, false );
-
- } else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, eventHandle );
- }
- }
- }
-
- if ( special.add ) {
- special.add.call( elem, handleObj );
-
- if ( !handleObj.handler.guid ) {
- handleObj.handler.guid = handler.guid;
- }
- }
-
- // Add the function to the element's handler list
- handlers.push( handleObj );
-
- // Keep track of which events have been used, for global triggering
- jQuery.event.global[ type ] = true;
- }
-
- // Nullify elem to prevent memory leaks in IE
- elem = null;
- },
-
- global: {},
-
- // Detach an event or set of events from an element
- remove: function( elem, types, handler, pos ) {
- // don't do events on text and comment nodes
- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
- return;
- }
-
- var ret, type, fn, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
- elemData = jQuery.data( elem ),
- events = elemData && elemData.events;
-
- if ( !elemData || !events ) {
- return;
- }
-
- // types is actually an event object here
- if ( types && types.type ) {
- handler = types.handler;
- types = types.type;
- }
-
- // Unbind all events for the element
- if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
- types = types || "";
-
- for ( type in events ) {
- jQuery.event.remove( elem, type + types );
- }
-
- return;
- }
-
- // Handle multiple events separated by a space
- // jQuery(...).unbind("mouseover mouseout", fn);
- types = types.split(" ");
-
- while ( (type = types[ i++ ]) ) {
- origType = type;
- handleObj = null;
- all = type.indexOf(".") < 0;
- namespaces = [];
-
- if ( !all ) {
- // Namespaced event handlers
- namespaces = type.split(".");
- type = namespaces.shift();
-
- namespace = new RegExp("(^|\\.)" +
- jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)")
- }
-
- eventType = events[ type ];
-
- if ( !eventType ) {
- continue;
- }
-
- if ( !handler ) {
- for ( var j = 0; j < eventType.length; j++ ) {
- handleObj = eventType[ j ];
-
- if ( all || namespace.test( handleObj.namespace ) ) {
- jQuery.event.remove( elem, origType, handleObj.handler, j );
- eventType.splice( j--, 1 );
- }
- }
-
- continue;
- }
-
- special = jQuery.event.special[ type ] || {};
-
- for ( var j = pos || 0; j < eventType.length; j++ ) {
- handleObj = eventType[ j ];
-
- if ( handler.guid === handleObj.guid ) {
- // remove the given handler for the given type
- if ( all || namespace.test( handleObj.namespace ) ) {
- if ( pos == null ) {
- eventType.splice( j--, 1 );
- }
-
- if ( special.remove ) {
- special.remove.call( elem, handleObj );
- }
- }
-
- if ( pos != null ) {
- break;
- }
- }
- }
-
- // remove generic event handler if no more handlers exist
- if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
- if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
- removeEvent( elem, type, elemData.handle );
- }
-
- ret = null;
- delete events[ type ];
- }
- }
-
- // Remove the expando if it's no longer used
- if ( jQuery.isEmptyObject( events ) ) {
- var handle = elemData.handle;
- if ( handle ) {
- handle.elem = null;
- }
-
- delete elemData.events;
- delete elemData.handle;
-
- if ( jQuery.isEmptyObject( elemData ) ) {
- jQuery.removeData( elem );
- }
- }
- },
-
- // bubbling is internal
- trigger: function( event, data, elem /*, bubbling */ ) {
- // Event object or event type
- var type = event.type || event,
- bubbling = arguments[3];
-
- if ( !bubbling ) {
- event = typeof event === "object" ?
- // jQuery.Event object
- event[expando] ? event :
- // Object literal
- jQuery.extend( jQuery.Event(type), event ) :
- // Just the event type (string)
- jQuery.Event(type);
-
- if ( type.indexOf("!") >= 0 ) {
- event.type = type = type.slice(0, -1);
- event.exclusive = true;
- }
-
- // Handle a global trigger
- if ( !elem ) {
- // Don't bubble custom events when global (to avoid too much overhead)
- event.stopPropagation();
-
- // Only trigger if we've ever bound an event for it
- if ( jQuery.event.global[ type ] ) {
- jQuery.each( jQuery.cache, function() {
- if ( this.events && this.events[type] ) {
- jQuery.event.trigger( event, data, this.handle.elem );
- }
- });
- }
- }
-
- // Handle triggering a single element
-
- // don't do events on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
- return undefined;
- }
-
- // Clean up in case it is reused
- event.result = undefined;
- event.target = elem;
-
- // Clone the incoming data, if any
- data = jQuery.makeArray( data );
- data.unshift( event );
- }
-
- event.currentTarget = elem;
-
- // Trigger the event, it is assumed that "handle" is a function
- var handle = jQuery.data( elem, "handle" );
- if ( handle ) {
- handle.apply( elem, data );
- }
-
- var parent = elem.parentNode || elem.ownerDocument;
-
- // Trigger an inline bound script
- try {
- if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
- if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) {
- event.result = false;
- }
- }
-
- // prevent IE from throwing an error for some elements with some event types, see #3533
- } catch (e) {}
-
- if ( !event.isPropagationStopped() && parent ) {
- jQuery.event.trigger( event, data, parent, true );
-
- } else if ( !event.isDefaultPrevented() ) {
- var target = event.target, old,
- isClick = jQuery.nodeName(target, "a") && type === "click",
- special = jQuery.event.special[ type ] || {};
-
- if ( (!special._default || special._default.call( elem, event ) === false) &&
- !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
-
- try {
- if ( target[ type ] ) {
- // Make sure that we don't accidentally re-trigger the onFOO events
- old = target[ "on" + type ];
-
- if ( old ) {
- target[ "on" + type ] = null;
- }
-
- jQuery.event.triggered = true;
- target[ type ]();
- }
-
- // prevent IE from throwing an error for some elements with some event types, see #3533
- } catch (e) {}
-
- if ( old ) {
- target[ "on" + type ] = old;
- }
-
- jQuery.event.triggered = false;
- }
- }
- },
-
- handle: function( event ) {
- var all, handlers, namespaces, namespace, events;
-
- event = arguments[0] = jQuery.event.fix( event || window.event );
- event.currentTarget = this;
-
- // Namespaced event handlers
- all = event.type.indexOf(".") < 0 && !event.exclusive;
-
- if ( !all ) {
- namespaces = event.type.split(".");
- event.type = namespaces.shift();
- namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
- }
-
- var events = jQuery.data(this, "events"), handlers = events[ event.type ];
-
- if ( events && handlers ) {
- // Clone the handlers to prevent manipulation
- handlers = handlers.slice(0);
-
- for ( var j = 0, l = handlers.length; j < l; j++ ) {
- var handleObj = handlers[ j ];
-
- // Filter the functions by class
- if ( all || namespace.test( handleObj.namespace ) ) {
- // Pass in a reference to the handler function itself
- // So that we can later remove it
- event.handler = handleObj.handler;
- event.data = handleObj.data;
- event.handleObj = handleObj;
-
- var ret = handleObj.handler.apply( this, arguments );
-
- if ( ret !== undefined ) {
- event.result = ret;
- if ( ret === false ) {
- event.preventDefault();
- event.stopPropagation();
- }
- }
-
- if ( event.isImmediatePropagationStopped() ) {
- break;
- }
- }
- }
- }
-
- return event.result;
- },
-
- props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-
- fix: function( event ) {
- if ( event[ expando ] ) {
- return event;
- }
-
- // store a copy of the original event object
- // and "clone" to set read-only properties
- var originalEvent = event;
- event = jQuery.Event( originalEvent );
-
- for ( var i = this.props.length, prop; i; ) {
- prop = this.props[ --i ];
- event[ prop ] = originalEvent[ prop ];
- }
-
- // Fix target property, if necessary
- if ( !event.target ) {
- event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
- }
-
- // check if target is a textnode (safari)
- if ( event.target.nodeType === 3 ) {
- event.target = event.target.parentNode;
- }
-
- // Add relatedTarget, if necessary
- if ( !event.relatedTarget && event.fromElement ) {
- event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
- }
-
- // Calculate pageX/Y if missing and clientX/Y available
- if ( event.pageX == null && event.clientX != null ) {
- var doc = document.documentElement, body = document.body;
- event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
- event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
- }
-
- // Add which for key events
- if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) {
- event.which = event.charCode || event.keyCode;
- }
-
- // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
- if ( !event.metaKey && event.ctrlKey ) {
- event.metaKey = event.ctrlKey;
- }
-
- // Add which for click: 1 === left; 2 === middle; 3 === right
- // Note: button is not normalized, so don't use it
- if ( !event.which && event.button !== undefined ) {
- event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
- }
-
- return event;
- },
-
- // Deprecated, use jQuery.guid instead
- guid: 1E8,
-
- // Deprecated, use jQuery.proxy instead
- proxy: jQuery.proxy,
-
- special: {
- ready: {
- // Make sure the ready event is setup
- setup: jQuery.bindReady,
- teardown: jQuery.noop
- },
-
- live: {
- add: function( handleObj ) {
- jQuery.event.add( this, handleObj.origType, jQuery.extend({}, handleObj, {handler: liveHandler}) );
- },
-
- remove: function( handleObj ) {
- var remove = true,
- type = handleObj.origType.replace(rnamespaces, "");
-
- jQuery.each( jQuery.data(this, "events").live || [], function() {
- if ( type === this.origType.replace(rnamespaces, "") ) {
- remove = false;
- return false;
- }
- });
-
- if ( remove ) {
- jQuery.event.remove( this, handleObj.origType, liveHandler );
- }
- }
-
- },
-
- beforeunload: {
- setup: function( data, namespaces, eventHandle ) {
- // We only want to do this special case on windows
- if ( this.setInterval ) {
- this.onbeforeunload = eventHandle;
- }
-
- return false;
- },
- teardown: function( namespaces, eventHandle ) {
- if ( this.onbeforeunload === eventHandle ) {
- this.onbeforeunload = null;
- }
- }
- }
- }
-};
-
-var removeEvent = document.removeEventListener ?
- function( elem, type, handle ) {
- elem.removeEventListener( type, handle, false );
- } :
- function( elem, type, handle ) {
- elem.detachEvent( "on" + type, handle );
- };
-
-jQuery.Event = function( src ) {
- // Allow instantiation without the 'new' keyword
- if ( !this.preventDefault ) {
- return new jQuery.Event( src );
- }
-
- // Event object
- if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
- // Event type
- } else {
- this.type = src;
- }
-
- // timeStamp is buggy for some events on Firefox(#3843)
- // So we won't rely on the native value
- this.timeStamp = now();
-
- // Mark it as fixed
- this[ expando ] = true;
-};
-
-function returnFalse() {
- return false;
-}
-function returnTrue() {
- return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- preventDefault: function() {
- this.isDefaultPrevented = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
-
- // if preventDefault exists run it on the original event
- if ( e.preventDefault ) {
- e.preventDefault();
- }
- // otherwise set the returnValue property of the original event to false (IE)
- e.returnValue = false;
- },
- stopPropagation: function() {
- this.isPropagationStopped = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
- // if stopPropagation exists run it on the original event
- if ( e.stopPropagation ) {
- e.stopPropagation();
- }
- // otherwise set the cancelBubble property of the original event to true (IE)
- e.cancelBubble = true;
- },
- stopImmediatePropagation: function() {
- this.isImmediatePropagationStopped = returnTrue;
- this.stopPropagation();
- },
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse
-};
-
-// Checks if an event happened on an element within another element
-// Used in jQuery.event.special.mouseenter and mouseleave handlers
-var withinElement = function( event ) {
- // Check if mouse(over|out) are still within the same parent element
- var parent = event.relatedTarget;
-
- // Firefox sometimes assigns relatedTarget a XUL element
- // which we cannot access the parentNode property of
- try {
- // Traverse up the tree
- while ( parent && parent !== this ) {
- parent = parent.parentNode;
- }
-
- if ( parent !== this ) {
- // set the correct event type
- event.type = event.data;
-
- // handle event if we actually just moused on to a non sub-element
- jQuery.event.handle.apply( this, arguments );
- }
-
- // assuming we've left the element since we most likely mousedover a xul element
- } catch(e) { }
-},
-
-// In case of event delegation, we only need to rename the event.type,
-// liveHandler will take care of the rest.
-delegate = function( event ) {
- event.type = event.data;
- jQuery.event.handle.apply( this, arguments );
-};
-
-// Create mouseenter and mouseleave events
-jQuery.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- setup: function( data ) {
- jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig );
- },
- teardown: function( data ) {
- jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement );
- }
- };
-});
-
-// submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
- jQuery.event.special.submit = {
- setup: function( data, namespaces ) {
- if ( this.nodeName.toLowerCase() !== "form" ) {
- jQuery.event.add(this, "click.specialSubmit", function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
- return trigger( "submit", this, arguments );
- }
- });
-
- jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
- return trigger( "submit", this, arguments );
- }
- });
-
- } else {
- return false;
- }
- },
-
- teardown: function( namespaces ) {
- jQuery.event.remove( this, ".specialSubmit" );
- }
- };
-
-}
-
-// change delegation, happens here so we have bind.
-if ( !jQuery.support.changeBubbles ) {
-
- var formElems = /textarea|input|select/i,
-
- changeFilters,
-
- getVal = function( elem ) {
- var type = elem.type, val = elem.value;
-
- if ( type === "radio" || type === "checkbox" ) {
- val = elem.checked;
-
- } else if ( type === "select-multiple" ) {
- val = elem.selectedIndex > -1 ?
- jQuery.map( elem.options, function( elem ) {
- return elem.selected;
- }).join("-") :
- "";
-
- } else if ( elem.nodeName.toLowerCase() === "select" ) {
- val = elem.selectedIndex;
- }
-
- return val;
- },
-
- testChange = function testChange( e ) {
- var elem = e.target, data, val;
-
- if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {
- return;
- }
-
- data = jQuery.data( elem, "_change_data" );
- val = getVal(elem);
-
- // the current data will be also retrieved by beforeactivate
- if ( e.type !== "focusout" || elem.type !== "radio" ) {
- jQuery.data( elem, "_change_data", val );
- }
-
- if ( data === undefined || val === data ) {
- return;
- }
-
- if ( data != null || val ) {
- e.type = "change";
- return jQuery.event.trigger( e, arguments[1], elem );
- }
- };
-
- jQuery.event.special.change = {
- filters: {
- focusout: testChange,
-
- click: function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
- return testChange.call( this, e );
- }
- },
-
- // Change has to be called before submit
- // Keydown will be called before keypress, which is used in submit-event delegation
- keydown: function( e ) {
- var elem = e.target, type = elem.type;
-
- if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
- (e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
- type === "select-multiple" ) {
- return testChange.call( this, e );
- }
- },
-
- // Beforeactivate happens also before the previous element is blurred
- // with this event you can't trigger a change event, but you can store
- // information/focus[in] is not needed anymore
- beforeactivate: function( e ) {
- var elem = e.target;
- jQuery.data( elem, "_change_data", getVal(elem) );
- }
- },
-
- setup: function( data, namespaces ) {
- if ( this.type === "file" ) {
- return false;
- }
-
- for ( var type in changeFilters ) {
- jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
- }
-
- return formElems.test( this.nodeName );
- },
-
- teardown: function( namespaces ) {
- jQuery.event.remove( this, ".specialChange" );
-
- return formElems.test( this.nodeName );
- }
- };
-
- changeFilters = jQuery.event.special.change.filters;
-}
-
-function trigger( type, elem, args ) {
- args[0].type = type;
- return jQuery.event.handle.apply( elem, args );
-}
-
-// Create "bubbling" focus and blur events
-if ( document.addEventListener ) {
- jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
- jQuery.event.special[ fix ] = {
- setup: function() {
- this.addEventListener( orig, handler, true );
- },
- teardown: function() {
- this.removeEventListener( orig, handler, true );
- }
- };
-
- function handler( e ) {
- e = jQuery.event.fix( e );
- e.type = fix;
- return jQuery.event.handle.call( this, e );
- }
- });
-}
-
-jQuery.each(["bind", "one"], function( i, name ) {
- jQuery.fn[ name ] = function( type, data, fn ) {
- // Handle object literals
- if ( typeof type === "object" ) {
- for ( var key in type ) {
- this[ name ](key, data, type[key], fn);
- }
- return this;
- }
-
- if ( jQuery.isFunction( data ) ) {
- fn = data;
- data = undefined;
- }
-
- var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
- jQuery( this ).unbind( event, handler );
- return fn.apply( this, arguments );
- }) : fn;
-
- if ( type === "unload" && name !== "one" ) {
- this.one( type, data, fn );
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- jQuery.event.add( this[i], type, handler, data );
- }
- }
-
- return this;
- };
-});
-
-jQuery.fn.extend({
- unbind: function( type, fn ) {
- // Handle object literals
- if ( typeof type === "object" && !type.preventDefault ) {
- for ( var key in type ) {
- this.unbind(key, type[key]);
- }
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- jQuery.event.remove( this[i], type, fn );
- }
- }
-
- return this;
- },
-
- delegate: function( selector, types, data, fn ) {
- return this.live( types, data, fn, selector );
- },
-
- undelegate: function( selector, types, fn ) {
- if ( arguments.length === 0 ) {
- return this.unbind( "live" );
-
- } else {
- return this.die( types, null, fn, selector );
- }
- },
-
- trigger: function( type, data ) {
- return this.each(function() {
- jQuery.event.trigger( type, data, this );
- });
- },
-
- triggerHandler: function( type, data ) {
- if ( this[0] ) {
- var event = jQuery.Event( type );
- event.preventDefault();
- event.stopPropagation();
- jQuery.event.trigger( event, data, this[0] );
- return event.result;
- }
- },
-
- toggle: function( fn ) {
- // Save reference to arguments for access in closure
- var args = arguments, i = 1;
-
- // link all the functions, so any of them can unbind this click handler
- while ( i < args.length ) {
- jQuery.proxy( fn, args[ i++ ] );
- }
-
- return this.click( jQuery.proxy( fn, function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- }));
- },
-
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-});
-
-var liveMap = {
- focus: "focusin",
- blur: "focusout",
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-};
-
-jQuery.each(["live", "die"], function( i, name ) {
- jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
- var type, i = 0, match, namespaces, preType,
- selector = origSelector || this.selector,
- context = origSelector ? this : jQuery( this.context );
-
- if ( jQuery.isFunction( data ) ) {
- fn = data;
- data = undefined;
- }
-
- types = (types || "").split(" ");
-
- while ( (type = types[ i++ ]) != null ) {
- match = rnamespaces.exec( type );
- namespaces = "";
-
- if ( match ) {
- namespaces = match[0];
- type = type.replace( rnamespaces, "" );
- }
-
- if ( type === "hover" ) {
- types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
- continue;
- }
-
- preType = type;
-
- if ( type === "focus" || type === "blur" ) {
- types.push( liveMap[ type ] + namespaces );
- type = type + namespaces;
-
- } else {
- type = (liveMap[ type ] || type) + namespaces;
- }
-
- if ( name === "live" ) {
- // bind live handler
- context.each(function(){
- jQuery.event.add( this, liveConvert( type, selector ),
- { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
- });
-
- } else {
- // unbind live handler
- context.unbind( liveConvert( type, selector ), fn );
- }
- }
-
- return this;
- }
-});
-
-function liveHandler( event ) {
- var stop, elems = [], selectors = [], args = arguments,
- related, match, handleObj, elem, j, i, l, data,
- events = jQuery.data( this, "events" );
-
- // Make sure we avoid non-left-click bubbling in Firefox (#3861)
- if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
- return;
- }
-
- event.liveFired = this;
-
- var live = events.live.slice(0);
-
- for ( j = 0; j < live.length; j++ ) {
- handleObj = live[j];
-
- if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
- selectors.push( handleObj.selector );
-
- } else {
- live.splice( j--, 1 );
- }
- }
-
- match = jQuery( event.target ).closest( selectors, event.currentTarget );
-
- for ( i = 0, l = match.length; i < l; i++ ) {
- for ( j = 0; j < live.length; j++ ) {
- handleObj = live[j];
-
- if ( match[i].selector === handleObj.selector ) {
- elem = match[i].elem;
- related = null;
-
- // Those two events require additional checking
- if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
- related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
- }
-
- if ( !related || related !== elem ) {
- elems.push({ elem: elem, handleObj: handleObj });
- }
- }
- }
- }
-
- for ( i = 0, l = elems.length; i < l; i++ ) {
- match = elems[i];
- event.currentTarget = match.elem;
- event.data = match.handleObj.data;
- event.handleObj = match.handleObj;
-
- if ( match.handleObj.origHandler.apply( match.elem, args ) === false ) {
- stop = false;
- break;
- }
- }
-
- return stop;
-}
-
-function liveConvert( type, selector ) {
- return "live." + (type && type !== "*" ? type + "." : "") + selector.replace(/\./g, "`").replace(/ /g, "&");
-}
-
-jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup error").split(" "), function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( fn ) {
- return fn ? this.bind( name, fn ) : this.trigger( name );
- };
-
- if ( jQuery.attrFn ) {
- jQuery.attrFn[ name ] = true;
- }
-});
-
-// Prevent memory leaks in IE
-// Window isn't included so as not to unbind existing unload events
-// More info:
-// - http://isaacschlueter.com/2006/10/msie-memory-leaks/
-if ( window.attachEvent && !window.addEventListener ) {
- window.attachEvent("onunload", function() {
- for ( var id in jQuery.cache ) {
- if ( jQuery.cache[ id ].handle ) {
- // Try/Catch is to handle iframes being unloaded, see #4280
- try {
- jQuery.event.remove( jQuery.cache[ id ].handle.elem );
- } catch(e) {}
- }
- }
- });
-}
-/*!
- * Sizzle CSS Selector Engine - v1.0
- * Copyright 2009, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
- done = 0,
- toString = Object.prototype.toString,
- hasDuplicate = false,
- baseHasDuplicate = true;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-// Thus far that includes Google Chrome.
-[0, 0].sort(function(){
- baseHasDuplicate = false;
- return 0;
-});
-
-var Sizzle = function(selector, context, results, seed) {
- results = results || [];
- var origContext = context = context || document;
-
- if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
- return [];
- }
-
- if ( !selector || typeof selector !== "string" ) {
- return results;
- }
-
- var parts = [], m, set, checkSet, extra, prune = true, contextXML = isXML(context),
- soFar = selector;
-
- // Reset the position of the chunker regexp (start from head)
- while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) {
- soFar = m[3];
-
- parts.push( m[1] );
-
- if ( m[2] ) {
- extra = m[3];
- break;
- }
- }
-
- if ( parts.length > 1 && origPOS.exec( selector ) ) {
- if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
- set = posProcess( parts[0] + parts[1], context );
- } else {
- set = Expr.relative[ parts[0] ] ?
- [ context ] :
- Sizzle( parts.shift(), context );
-
- while ( parts.length ) {
- selector = parts.shift();
-
- if ( Expr.relative[ selector ] ) {
- selector += parts.shift();
- }
-
- set = posProcess( selector, set );
- }
- }
- } else {
- // Take a shortcut and set the context if the root selector is an ID
- // (but not if it'll be faster if the inner selector is an ID)
- if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
- Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
- var ret = Sizzle.find( parts.shift(), context, contextXML );
- context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0];
- }
-
- if ( context ) {
- var ret = seed ?
- { expr: parts.pop(), set: makeArray(seed) } :
- Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
- set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;
-
- if ( parts.length > 0 ) {
- checkSet = makeArray(set);
- } else {
- prune = false;
- }
-
- while ( parts.length ) {
- var cur = parts.pop(), pop = cur;
-
- if ( !Expr.relative[ cur ] ) {
- cur = "";
- } else {
- pop = parts.pop();
- }
-
- if ( pop == null ) {
- pop = context;
- }
-
- Expr.relative[ cur ]( checkSet, pop, contextXML );
- }
- } else {
- checkSet = parts = [];
- }
- }
-
- if ( !checkSet ) {
- checkSet = set;
- }
-
- if ( !checkSet ) {
- Sizzle.error( cur || selector );
- }
-
- if ( toString.call(checkSet) === "[object Array]" ) {
- if ( !prune ) {
- results.push.apply( results, checkSet );
- } else if ( context && context.nodeType === 1 ) {
- for ( var i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
- results.push( set[i] );
- }
- }
- } else {
- for ( var i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
- results.push( set[i] );
- }
- }
- }
- } else {
- makeArray( checkSet, results );
- }
-
- if ( extra ) {
- Sizzle( extra, origContext, results, seed );
- Sizzle.uniqueSort( results );
- }
-
- return results;
-};
-
-Sizzle.uniqueSort = function(results){
- if ( sortOrder ) {
- hasDuplicate = baseHasDuplicate;
- results.sort(sortOrder);
-
- if ( hasDuplicate ) {
- for ( var i = 1; i < results.length; i++ ) {
- if ( results[i] === results[i-1] ) {
- results.splice(i--, 1);
- }
- }
- }
- }
-
- return results;
-};
-
-Sizzle.matches = function(expr, set){
- return Sizzle(expr, null, null, set);
-};
-
-Sizzle.find = function(expr, context, isXML){
- var set, match;
-
- if ( !expr ) {
- return [];
- }
-
- for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
- var type = Expr.order[i], match;
-
- if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
- var left = match[1];
- match.splice(1,1);
-
- if ( left.substr( left.length - 1 ) !== "\\" ) {
- match[1] = (match[1] || "").replace(/\\/g, "");
- set = Expr.find[ type ]( match, context, isXML );
- if ( set != null ) {
- expr = expr.replace( Expr.match[ type ], "" );
- break;
- }
- }
- }
- }
-
- if ( !set ) {
- set = context.getElementsByTagName("*");
- }
-
- return {set: set, expr: expr};
-};
-
-Sizzle.filter = function(expr, set, inplace, not){
- var old = expr, result = [], curLoop = set, match, anyFound,
- isXMLFilter = set && set[0] && isXML(set[0]);
-
- while ( expr && set.length ) {
- for ( var type in Expr.filter ) {
- if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
- var filter = Expr.filter[ type ], found, item, left = match[1];
- anyFound = false;
-
- match.splice(1,1);
-
- if ( left.substr( left.length - 1 ) === "\\" ) {
- continue;
- }
-
- if ( curLoop === result ) {
- result = [];
- }
-
- if ( Expr.preFilter[ type ] ) {
- match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
- if ( !match ) {
- anyFound = found = true;
- } else if ( match === true ) {
- continue;
- }
- }
-
- if ( match ) {
- for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
- if ( item ) {
- found = filter( item, match, i, curLoop );
- var pass = not ^ !!found;
-
- if ( inplace && found != null ) {
- if ( pass ) {
- anyFound = true;
- } else {
- curLoop[i] = false;
- }
- } else if ( pass ) {
- result.push( item );
- anyFound = true;
- }
- }
- }
- }
-
- if ( found !== undefined ) {
- if ( !inplace ) {
- curLoop = result;
- }
-
- expr = expr.replace( Expr.match[ type ], "" );
-
- if ( !anyFound ) {
- return [];
- }
-
- break;
- }
- }
- }
-
- // Improper expression
- if ( expr === old ) {
- if ( anyFound == null ) {
- Sizzle.error( expr );
- } else {
- break;
- }
- }
-
- old = expr;
- }
-
- return curLoop;
-};
-
-Sizzle.error = function( msg ) {
- throw "Syntax error, unrecognized expression: " + msg;
-};
-
-var Expr = Sizzle.selectors = {
- order: [ "ID", "NAME", "TAG" ],
- match: {
- ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
- CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
- NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
- ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
- TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
- CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
- POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
- PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
- },
- leftMatch: {},
- attrMap: {
- "class": "className",
- "for": "htmlFor"
- },
- attrHandle: {
- href: function(elem){
- return elem.getAttribute("href");
- }
- },
- relative: {
- "+": function(checkSet, part){
- var isPartStr = typeof part === "string",
- isTag = isPartStr && !/\W/.test(part),
- isPartStrNotTag = isPartStr && !isTag;
-
- if ( isTag ) {
- part = part.toLowerCase();
- }
-
- for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
- if ( (elem = checkSet[i]) ) {
- while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
- checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
- elem || false :
- elem === part;
- }
- }
-
- if ( isPartStrNotTag ) {
- Sizzle.filter( part, checkSet, true );
- }
- },
- ">": function(checkSet, part){
- var isPartStr = typeof part === "string";
-
- if ( isPartStr && !/\W/.test(part) ) {
- part = part.toLowerCase();
-
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- var parent = elem.parentNode;
- checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
- }
- }
- } else {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- checkSet[i] = isPartStr ?
- elem.parentNode :
- elem.parentNode === part;
- }
- }
-
- if ( isPartStr ) {
- Sizzle.filter( part, checkSet, true );
- }
- }
- },
- "": function(checkSet, part, isXML){
- var doneName = done++, checkFn = dirCheck;
-
- if ( typeof part === "string" && !/\W/.test(part) ) {
- var nodeCheck = part = part.toLowerCase();
- checkFn = dirNodeCheck;
- }
-
- checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
- },
- "~": function(checkSet, part, isXML){
- var doneName = done++, checkFn = dirCheck;
-
- if ( typeof part === "string" && !/\W/.test(part) ) {
- var nodeCheck = part = part.toLowerCase();
- checkFn = dirNodeCheck;
- }
-
- checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
- }
- },
- find: {
- ID: function(match, context, isXML){
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
- return m ? [m] : [];
- }
- },
- NAME: function(match, context){
- if ( typeof context.getElementsByName !== "undefined" ) {
- var ret = [], results = context.getElementsByName(match[1]);
-
- for ( var i = 0, l = results.length; i < l; i++ ) {
- if ( results[i].getAttribute("name") === match[1] ) {
- ret.push( results[i] );
- }
- }
-
- return ret.length === 0 ? null : ret;
- }
- },
- TAG: function(match, context){
- return context.getElementsByTagName(match[1]);
- }
- },
- preFilter: {
- CLASS: function(match, curLoop, inplace, result, not, isXML){
- match = " " + match[1].replace(/\\/g, "") + " ";
-
- if ( isXML ) {
- return match;
- }
-
- for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
- if ( elem ) {
- if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) {
- if ( !inplace ) {
- result.push( elem );
- }
- } else if ( inplace ) {
- curLoop[i] = false;
- }
- }
- }
-
- return false;
- },
- ID: function(match){
- return match[1].replace(/\\/g, "");
- },
- TAG: function(match, curLoop){
- return match[1].toLowerCase();
- },
- CHILD: function(match){
- if ( match[1] === "nth" ) {
- // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
- var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
- match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
- !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
-
- // calculate the numbers (first)n+(last) including if they are negative
- match[2] = (test[1] + (test[2] || 1)) - 0;
- match[3] = test[3] - 0;
- }
-
- // TODO: Move to normal caching system
- match[0] = done++;
-
- return match;
- },
- ATTR: function(match, curLoop, inplace, result, not, isXML){
- var name = match[1].replace(/\\/g, "");
-
- if ( !isXML && Expr.attrMap[name] ) {
- match[1] = Expr.attrMap[name];
- }
-
- if ( match[2] === "~=" ) {
- match[4] = " " + match[4] + " ";
- }
-
- return match;
- },
- PSEUDO: function(match, curLoop, inplace, result, not){
- if ( match[1] === "not" ) {
- // If we're dealing with a complex expression, or a simple one
- if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
- match[3] = Sizzle(match[3], null, null, curLoop);
- } else {
- var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
- if ( !inplace ) {
- result.push.apply( result, ret );
- }
- return false;
- }
- } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
- return true;
- }
-
- return match;
- },
- POS: function(match){
- match.unshift( true );
- return match;
- }
- },
- filters: {
- enabled: function(elem){
- return elem.disabled === false && elem.type !== "hidden";
- },
- disabled: function(elem){
- return elem.disabled === true;
- },
- checked: function(elem){
- return elem.checked === true;
- },
- selected: function(elem){
- // Accessing this property makes selected-by-default
- // options in Safari work properly
- elem.parentNode.selectedIndex;
- return elem.selected === true;
- },
- parent: function(elem){
- return !!elem.firstChild;
- },
- empty: function(elem){
- return !elem.firstChild;
- },
- has: function(elem, i, match){
- return !!Sizzle( match[3], elem ).length;
- },
- header: function(elem){
- return /h\d/i.test( elem.nodeName );
- },
- text: function(elem){
- return "text" === elem.type;
- },
- radio: function(elem){
- return "radio" === elem.type;
- },
- checkbox: function(elem){
- return "checkbox" === elem.type;
- },
- file: function(elem){
- return "file" === elem.type;
- },
- password: function(elem){
- return "password" === elem.type;
- },
- submit: function(elem){
- return "submit" === elem.type;
- },
- image: function(elem){
- return "image" === elem.type;
- },
- reset: function(elem){
- return "reset" === elem.type;
- },
- button: function(elem){
- return "button" === elem.type || elem.nodeName.toLowerCase() === "button";
- },
- input: function(elem){
- return /input|select|textarea|button/i.test(elem.nodeName);
- }
- },
- setFilters: {
- first: function(elem, i){
- return i === 0;
- },
- last: function(elem, i, match, array){
- return i === array.length - 1;
- },
- even: function(elem, i){
- return i % 2 === 0;
- },
- odd: function(elem, i){
- return i % 2 === 1;
- },
- lt: function(elem, i, match){
- return i < match[3] - 0;
- },
- gt: function(elem, i, match){
- return i > match[3] - 0;
- },
- nth: function(elem, i, match){
- return match[3] - 0 === i;
- },
- eq: function(elem, i, match){
- return match[3] - 0 === i;
- }
- },
- filter: {
- PSEUDO: function(elem, match, i, array){
- var name = match[1], filter = Expr.filters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
- } else if ( name === "contains" ) {
- return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
- } else if ( name === "not" ) {
- var not = match[3];
-
- for ( var i = 0, l = not.length; i < l; i++ ) {
- if ( not[i] === elem ) {
- return false;
- }
- }
-
- return true;
- } else {
- Sizzle.error( "Syntax error, unrecognized expression: " + name );
- }
- },
- CHILD: function(elem, match){
- var type = match[1], node = elem;
- switch (type) {
- case 'only':
- case 'first':
- while ( (node = node.previousSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
- if ( type === "first" ) {
- return true;
- }
- node = elem;
- case 'last':
- while ( (node = node.nextSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
- return true;
- case 'nth':
- var first = match[2], last = match[3];
-
- if ( first === 1 && last === 0 ) {
- return true;
- }
-
- var doneName = match[0],
- parent = elem.parentNode;
-
- if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
- var count = 0;
- for ( node = parent.firstChild; node; node = node.nextSibling ) {
- if ( node.nodeType === 1 ) {
- node.nodeIndex = ++count;
- }
- }
- parent.sizcache = doneName;
- }
-
- var diff = elem.nodeIndex - last;
- if ( first === 0 ) {
- return diff === 0;
- } else {
- return ( diff % first === 0 && diff / first >= 0 );
- }
- }
- },
- ID: function(elem, match){
- return elem.nodeType === 1 && elem.getAttribute("id") === match;
- },
- TAG: function(elem, match){
- return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match;
- },
- CLASS: function(elem, match){
- return (" " + (elem.className || elem.getAttribute("class")) + " ")
- .indexOf( match ) > -1;
- },
- ATTR: function(elem, match){
- var name = match[1],
- result = Expr.attrHandle[ name ] ?
- Expr.attrHandle[ name ]( elem ) :
- elem[ name ] != null ?
- elem[ name ] :
- elem.getAttribute( name ),
- value = result + "",
- type = match[2],
- check = match[4];
-
- return result == null ?
- type === "!=" :
- type === "=" ?
- value === check :
- type === "*=" ?
- value.indexOf(check) >= 0 :
- type === "~=" ?
- (" " + value + " ").indexOf(check) >= 0 :
- !check ?
- value && result !== false :
- type === "!=" ?
- value !== check :
- type === "^=" ?
- value.indexOf(check) === 0 :
- type === "$=" ?
- value.substr(value.length - check.length) === check :
- type === "|=" ?
- value === check || value.substr(0, check.length + 1) === check + "-" :
- false;
- },
- POS: function(elem, match, i, array){
- var name = match[2], filter = Expr.setFilters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
- }
- }
- }
-};
-
-var origPOS = Expr.match.POS;
-
-for ( var type in Expr.match ) {
- Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
- Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){
- return "\\" + (num - 0 + 1);
- }));
-}
-
-var makeArray = function(array, results) {
- array = Array.prototype.slice.call( array, 0 );
-
- if ( results ) {
- results.push.apply( results, array );
- return results;
- }
-
- return array;
-};
-
-// Perform a simple check to determine if the browser is capable of
-// converting a NodeList to an array using builtin methods.
-// Also verifies that the returned array holds DOM nodes
-// (which is not the case in the Blackberry browser)
-try {
- Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
-
-// Provide a fallback method if it does not work
-} catch(e){
- makeArray = function(array, results) {
- var ret = results || [];
-
- if ( toString.call(array) === "[object Array]" ) {
- Array.prototype.push.apply( ret, array );
- } else {
- if ( typeof array.length === "number" ) {
- for ( var i = 0, l = array.length; i < l; i++ ) {
- ret.push( array[i] );
- }
- } else {
- for ( var i = 0; array[i]; i++ ) {
- ret.push( array[i] );
- }
- }
- }
-
- return ret;
- };
-}
-
-var sortOrder;
-
-if ( document.documentElement.compareDocumentPosition ) {
- sortOrder = function( a, b ) {
- if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
- if ( a == b ) {
- hasDuplicate = true;
- }
- return a.compareDocumentPosition ? -1 : 1;
- }
-
- var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
- if ( ret === 0 ) {
- hasDuplicate = true;
- }
- return ret;
- };
-} else if ( "sourceIndex" in document.documentElement ) {
- sortOrder = function( a, b ) {
- if ( !a.sourceIndex || !b.sourceIndex ) {
- if ( a == b ) {
- hasDuplicate = true;
- }
- return a.sourceIndex ? -1 : 1;
- }
-
- var ret = a.sourceIndex - b.sourceIndex;
- if ( ret === 0 ) {
- hasDuplicate = true;
- }
- return ret;
- };
-} else if ( document.createRange ) {
- sortOrder = function( a, b ) {
- if ( !a.ownerDocument || !b.ownerDocument ) {
- if ( a == b ) {
- hasDuplicate = true;
- }
- return a.ownerDocument ? -1 : 1;
- }
-
- var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
- aRange.setStart(a, 0);
- aRange.setEnd(a, 0);
- bRange.setStart(b, 0);
- bRange.setEnd(b, 0);
- var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
- if ( ret === 0 ) {
- hasDuplicate = true;
- }
- return ret;
- };
-}
-
-// Utility function for retreiving the text value of an array of DOM nodes
-function getText( elems ) {
- var ret = "", elem;
-
- for ( var i = 0; elems[i]; i++ ) {
- elem = elems[i];
-
- // Get the text from text nodes and CDATA nodes
- if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
- ret += elem.nodeValue;
-
- // Traverse everything else, except comment nodes
- } else if ( elem.nodeType !== 8 ) {
- ret += getText( elem.childNodes );
- }
- }
-
- return ret;
-}
-
-// Check to see if the browser returns elements by name when
-// querying by getElementById (and provide a workaround)
-(function(){
- // We're going to inject a fake input element with a specified name
- var form = document.createElement("div"),
- id = "script" + (new Date).getTime();
- form.innerHTML = "<a name='" + id + "'/>";
-
- // Inject it into the root element, check its status, and remove it quickly
- var root = document.documentElement;
- root.insertBefore( form, root.firstChild );
-
- // The workaround has to do additional checks after a getElementById
- // Which slows things down for other browsers (hence the branching)
- if ( document.getElementById( id ) ) {
- Expr.find.ID = function(match, context, isXML){
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
- return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
- }
- };
-
- Expr.filter.ID = function(elem, match){
- var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
- return elem.nodeType === 1 && node && node.nodeValue === match;
- };
- }
-
- root.removeChild( form );
- root = form = null; // release memory in IE
-})();
-
-(function(){
- // Check to see if the browser returns only elements
- // when doing getElementsByTagName("*")
-
- // Create a fake element
- var div = document.createElement("div");
- div.appendChild( document.createComment("") );
-
- // Make sure no comments are found
- if ( div.getElementsByTagName("*").length > 0 ) {
- Expr.find.TAG = function(match, context){
- var results = context.getElementsByTagName(match[1]);
-
- // Filter out possible comments
- if ( match[1] === "*" ) {
- var tmp = [];
-
- for ( var i = 0; results[i]; i++ ) {
- if ( results[i].nodeType === 1 ) {
- tmp.push( results[i] );
- }
- }
-
- results = tmp;
- }
-
- return results;
- };
- }
-
- // Check to see if an attribute returns normalized href attributes
- div.innerHTML = "<a href='#'></a>";
- if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
- div.firstChild.getAttribute("href") !== "#" ) {
- Expr.attrHandle.href = function(elem){
- return elem.getAttribute("href", 2);
- };
- }
-
- div = null; // release memory in IE
-})();
-
-if ( document.querySelectorAll ) {
- (function(){
- var oldSizzle = Sizzle, div = document.createElement("div");
- div.innerHTML = "<p class='TEST'></p>";
-
- // Safari can't handle uppercase or unicode characters when
- // in quirks mode.
- if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
- return;
- }
-
- Sizzle = function(query, context, extra, seed){
- context = context || document;
-
- // Only use querySelectorAll on non-XML documents
- // (ID selectors don't work in non-HTML documents)
- if ( !seed && context.nodeType === 9 && !isXML(context) ) {
- try {
- return makeArray( context.querySelectorAll(query), extra );
- } catch(e){}
- }
-
- return oldSizzle(query, context, extra, seed);
- };
-
- for ( var prop in oldSizzle ) {
- Sizzle[ prop ] = oldSizzle[ prop ];
- }
-
- div = null; // release memory in IE
- })();
-}
-
-(function(){
- var div = document.createElement("div");
-
- div.innerHTML = "<div class='test e'></div><div class='test'></div>";
-
- // Opera can't find a second classname (in 9.6)
- // Also, make sure that getElementsByClassName actually exists
- if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
- return;
- }
-
- // Safari caches class attributes, doesn't catch changes (in 3.2)
- div.lastChild.className = "e";
-
- if ( div.getElementsByClassName("e").length === 1 ) {
- return;
- }
-
- Expr.order.splice(1, 0, "CLASS");
- Expr.find.CLASS = function(match, context, isXML) {
- if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
- return context.getElementsByClassName(match[1]);
- }
- };
-
- div = null; // release memory in IE
-})();
-
-function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- elem = elem[dir];
- var match = false;
-
- while ( elem ) {
- if ( elem.sizcache === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 && !isXML ){
- elem.sizcache = doneName;
- elem.sizset = i;
- }
-
- if ( elem.nodeName.toLowerCase() === cur ) {
- match = elem;
- break;
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
- if ( elem ) {
- elem = elem[dir];
- var match = false;
-
- while ( elem ) {
- if ( elem.sizcache === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 ) {
- if ( !isXML ) {
- elem.sizcache = doneName;
- elem.sizset = i;
- }
- if ( typeof cur !== "string" ) {
- if ( elem === cur ) {
- match = true;
- break;
- }
-
- } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
- match = elem;
- break;
- }
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-var contains = document.compareDocumentPosition ? function(a, b){
- return !!(a.compareDocumentPosition(b) & 16);
-} : function(a, b){
- return a !== b && (a.contains ? a.contains(b) : true);
-};
-
-var isXML = function(elem){
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-var posProcess = function(selector, context){
- var tmpSet = [], later = "", match,
- root = context.nodeType ? [context] : context;
-
- // Position selectors must be done after the filter
- // And so must :not(positional) so we move all PSEUDOs to the end
- while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
- later += match[0];
- selector = selector.replace( Expr.match.PSEUDO, "" );
- }
-
- selector = Expr.relative[selector] ? selector + "*" : selector;
-
- for ( var i = 0, l = root.length; i < l; i++ ) {
- Sizzle( selector, root[i], tmpSet );
- }
-
- return Sizzle.filter( later, tmpSet );
-};
-
-// EXPOSE
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[":"] = jQuery.expr.filters;
-jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = getText;
-jQuery.isXMLDoc = isXML;
-jQuery.contains = contains;
-
-return;
-
-window.Sizzle = Sizzle;
-
-})();
-var runtil = /Until$/,
- rparentsprev = /^(?:parents|prevUntil|prevAll)/,
- // Note: This RegExp should be improved, or likely pulled from Sizzle
- rmultiselector = /,/,
- slice = Array.prototype.slice;
-
-// Implement the identical functionality for filter and not
-var winnow = function( elements, qualifier, keep ) {
- if ( jQuery.isFunction( qualifier ) ) {
- return jQuery.grep(elements, function( elem, i ) {
- return !!qualifier.call( elem, i, elem ) === keep;
- });
-
- } else if ( qualifier.nodeType ) {
- return jQuery.grep(elements, function( elem, i ) {
- return (elem === qualifier) === keep;
- });
-
- } else if ( typeof qualifier === "string" ) {
- var filtered = jQuery.grep(elements, function( elem ) {
- return elem.nodeType === 1;
- });
-
- if ( isSimple.test( qualifier ) ) {
- return jQuery.filter(qualifier, filtered, !keep);
- } else {
- qualifier = jQuery.filter( qualifier, filtered );
- }
- }
-
- return jQuery.grep(elements, function( elem, i ) {
- return (jQuery.inArray( elem, qualifier ) >= 0) === keep;
- });
-};
-
-jQuery.fn.extend({
- find: function( selector ) {
- var ret = this.pushStack( "", "find", selector ), length = 0;
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- length = ret.length;
- jQuery.find( selector, this[i], ret );
-
- if ( i > 0 ) {
- // Make sure that the results are unique
- for ( var n = length; n < ret.length; n++ ) {
- for ( var r = 0; r < length; r++ ) {
- if ( ret[r] === ret[n] ) {
- ret.splice(n--, 1);
- break;
- }
- }
- }
- }
- }
-
- return ret;
- },
-
- has: function( target ) {
- var targets = jQuery( target );
- return this.filter(function() {
- for ( var i = 0, l = targets.length; i < l; i++ ) {
- if ( jQuery.contains( this, targets[i] ) ) {
- return true;
- }
- }
- });
- },
-
- not: function( selector ) {
- return this.pushStack( winnow(this, selector, false), "not", selector);
- },
-
- filter: function( selector ) {
- return this.pushStack( winnow(this, selector, true), "filter", selector );
- },
-
- is: function( selector ) {
- return !!selector && jQuery.filter( selector, this ).length > 0;
- },
-
- closest: function( selectors, context ) {
- if ( jQuery.isArray( selectors ) ) {
- var ret = [], cur = this[0], match, matches = {}, selector;
-
- if ( cur && selectors.length ) {
- for ( var i = 0, l = selectors.length; i < l; i++ ) {
- selector = selectors[i];
-
- if ( !matches[selector] ) {
- matches[selector] = jQuery.expr.match.POS.test( selector ) ?
- jQuery( selector, context || this.context ) :
- selector;
- }
- }
-
- while ( cur && cur.ownerDocument && cur !== context ) {
- for ( selector in matches ) {
- match = matches[selector];
-
- if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) {
- ret.push({ selector: selector, elem: cur });
- delete matches[selector];
- }
- }
- cur = cur.parentNode;
- }
- }
-
- return ret;
- }
-
- var pos = jQuery.expr.match.POS.test( selectors ) ?
- jQuery( selectors, context || this.context ) : null;
-
- return this.map(function( i, cur ) {
- while ( cur && cur.ownerDocument && cur !== context ) {
- if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) {
- return cur;
- }
- cur = cur.parentNode;
- }
- return null;
- });
- },
-
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
- if ( !elem || typeof elem === "string" ) {
- return jQuery.inArray( this[0],
- // If it receives a string, the selector is used
- // If it receives nothing, the siblings are used
- elem ? jQuery( elem ) : this.parent().children() );
- }
- // Locate the position of the desired element
- return jQuery.inArray(
- // If it receives a jQuery object, the first element is used
- elem.jquery ? elem[0] : elem, this );
- },
-
- add: function( selector, context ) {
- var set = typeof selector === "string" ?
- jQuery( selector, context || this.context ) :
- jQuery.makeArray( selector ),
- all = jQuery.merge( this.get(), set );
-
- return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
- all :
- jQuery.unique( all ) );
- },
-
- andSelf: function() {
- return this.add( this.prevObject );
- }
-});
-
-// A painfully simple check to see if an element is disconnected
-// from a document (should be improved, where feasible).
-function isDisconnected( node ) {
- return !node || !node.parentNode || node.parentNode.nodeType === 11;
-}
-
-jQuery.each({
- parent: function( elem ) {
- var parent = elem.parentNode;
- return parent && parent.nodeType !== 11 ? parent : null;
- },
- parents: function( elem ) {
- return jQuery.dir( elem, "parentNode" );
- },
- parentsUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "parentNode", until );
- },
- next: function( elem ) {
- return jQuery.nth( elem, 2, "nextSibling" );
- },
- prev: function( elem ) {
- return jQuery.nth( elem, 2, "previousSibling" );
- },
- nextAll: function( elem ) {
- return jQuery.dir( elem, "nextSibling" );
- },
- prevAll: function( elem ) {
- return jQuery.dir( elem, "previousSibling" );
- },
- nextUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "nextSibling", until );
- },
- prevUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "previousSibling", until );
- },
- siblings: function( elem ) {
- return jQuery.sibling( elem.parentNode.firstChild, elem );
- },
- children: function( elem ) {
- return jQuery.sibling( elem.firstChild );
- },
- contents: function( elem ) {
- return jQuery.nodeName( elem, "iframe" ) ?
- elem.contentDocument || elem.contentWindow.document :
- jQuery.makeArray( elem.childNodes );
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function( until, selector ) {
- var ret = jQuery.map( this, fn, until );
-
- if ( !runtil.test( name ) ) {
- selector = until;
- }
-
- if ( selector && typeof selector === "string" ) {
- ret = jQuery.filter( selector, ret );
- }
-
- ret = this.length > 1 ? jQuery.unique( ret ) : ret;
-
- if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
- ret = ret.reverse();
- }
-
- return this.pushStack( ret, name, slice.call(arguments).join(",") );
- };
-});
-
-jQuery.extend({
- filter: function( expr, elems, not ) {
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
-
- return jQuery.find.matches(expr, elems);
- },
-
- dir: function( elem, dir, until ) {
- var matched = [], cur = elem[dir];
- while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
- if ( cur.nodeType === 1 ) {
- matched.push( cur );
- }
- cur = cur[dir];
- }
- return matched;
- },
-
- nth: function( cur, result, dir, elem ) {
- result = result || 1;
- var num = 0;
-
- for ( ; cur; cur = cur[dir] ) {
- if ( cur.nodeType === 1 && ++num === result ) {
- break;
- }
- }
-
- return cur;
- },
-
- sibling: function( n, elem ) {
- var r = [];
-
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType === 1 && n !== elem ) {
- r.push( n );
- }
- }
-
- return r;
- }
-});
-var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
- rleadingWhitespace = /^\s+/,
- rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g,
- rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
- rtagName = /<([\w:]+)/,
- rtbody = /<tbody/i,
- rhtml = /<|&#?\w+;/,
- rnocache = /<script|<object|<embed|<option|<style/i,
- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, // checked="checked" or checked (html5)
- fcloseTag = function( all, front, tag ) {
- return rselfClosing.test( tag ) ?
- all :
- front + "></" + tag + ">";
- },
- wrapMap = {
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
- legend: [ 1, "<fieldset>", "</fieldset>" ],
- thead: [ 1, "<table>", "</table>" ],
- tr: [ 2, "<table><tbody>", "</tbody></table>" ],
- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
- col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
- area: [ 1, "<map>", "</map>" ],
- _default: [ 0, "", "" ]
- };
-
-wrapMap.optgroup = wrapMap.option;
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-// IE can't serialize <link> and <script> tags normally
-if ( !jQuery.support.htmlSerialize ) {
- wrapMap._default = [ 1, "div<div>", "</div>" ];
-}
-
-jQuery.fn.extend({
- text: function( text ) {
- if ( jQuery.isFunction(text) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- self.text( text.call(this, i, self.text()) );
- });
- }
-
- if ( typeof text !== "object" && text !== undefined ) {
- return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
- }
-
- return jQuery.text( this );
- },
-
- wrapAll: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapAll( html.call(this, i) );
- });
- }
-
- if ( this[0] ) {
- // The elements to wrap the target around
- var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
-
- if ( this[0].parentNode ) {
- wrap.insertBefore( this[0] );
- }
-
- wrap.map(function() {
- var elem = this;
-
- while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
- elem = elem.firstChild;
- }
-
- return elem;
- }).append(this);
- }
-
- return this;
- },
-
- wrapInner: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapInner( html.call(this, i) );
- });
- }
-
- return this.each(function() {
- var self = jQuery( this ), contents = self.contents();
-
- if ( contents.length ) {
- contents.wrapAll( html );
-
- } else {
- self.append( html );
- }
- });
- },
-
- wrap: function( html ) {
- return this.each(function() {
- jQuery( this ).wrapAll( html );
- });
- },
-
- unwrap: function() {
- return this.parent().each(function() {
- if ( !jQuery.nodeName( this, "body" ) ) {
- jQuery( this ).replaceWith( this.childNodes );
- }
- }).end();
- },
-
- append: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.appendChild( elem );
- }
- });
- },
-
- prepend: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.insertBefore( elem, this.firstChild );
- }
- });
- },
-
- before: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this );
- });
- } else if ( arguments.length ) {
- var set = jQuery(arguments[0]);
- set.push.apply( set, this.toArray() );
- return this.pushStack( set, "before", arguments );
- }
- },
-
- after: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this.nextSibling );
- });
- } else if ( arguments.length ) {
- var set = this.pushStack( this, "after", arguments );
- set.push.apply( set, jQuery(arguments[0]).toArray() );
- return set;
- }
- },
-
- // keepData is for internal use only--do not document
- remove: function( selector, keepData ) {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
- if ( !keepData && elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- jQuery.cleanData( [ elem ] );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
- }
- }
-
- return this;
- },
-
- empty: function() {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- }
-
- // Remove any remaining nodes
- while ( elem.firstChild ) {
- elem.removeChild( elem.firstChild );
- }
- }
-
- return this;
- },
-
- clone: function( events ) {
- // Do the clone
- var ret = this.map(function() {
- if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
- // IE copies events bound via attachEvent when
- // using cloneNode. Calling detachEvent on the
- // clone will also remove the events from the orignal
- // In order to get around this, we use innerHTML.
- // Unfortunately, this means some modifications to
- // attributes in IE that are actually only stored
- // as properties will not be copied (such as the
- // the name attribute on an input).
- var html = this.outerHTML, ownerDocument = this.ownerDocument;
- if ( !html ) {
- var div = ownerDocument.createElement("div");
- div.appendChild( this.cloneNode(true) );
- html = div.innerHTML;
- }
-
- return jQuery.clean([html.replace(rinlinejQuery, "")
- // Handle the case in IE 8 where action=/test/> self-closes a tag
- .replace(/=([^="'>\s]+\/)>/g, '="$1">')
- .replace(rleadingWhitespace, "")], ownerDocument)[0];
- } else {
- return this.cloneNode(true);
- }
- });
-
- // Copy the events from the original to the clone
- if ( events === true ) {
- cloneCopyEvent( this, ret );
- cloneCopyEvent( this.find("*"), ret.find("*") );
- }
-
- // Return the cloned set
- return ret;
- },
-
- html: function( value ) {
- if ( value === undefined ) {
- return this[0] && this[0].nodeType === 1 ?
- this[0].innerHTML.replace(rinlinejQuery, "") :
- null;
-
- // See if we can take a shortcut and just use innerHTML
- } else if ( typeof value === "string" && !rnocache.test( value ) &&
- (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
- !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
-
- value = value.replace(rxhtmlTag, fcloseTag);
-
- try {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( this[i].nodeType === 1 ) {
- jQuery.cleanData( this[i].getElementsByTagName("*") );
- this[i].innerHTML = value;
- }
- }
-
- // If using innerHTML throws an exception, use the fallback method
- } catch(e) {
- this.empty().append( value );
- }
-
- } else if ( jQuery.isFunction( value ) ) {
- this.each(function(i){
- var self = jQuery(this), old = self.html();
- self.empty().append(function(){
- return value.call( this, i, old );
- });
- });
-
- } else {
- this.empty().append( value );
- }
-
- return this;
- },
-
- replaceWith: function( value ) {
- if ( this[0] && this[0].parentNode ) {
- // Make sure that the elements are removed from the DOM before they are inserted
- // this can help fix replacing a parent with child elements
- if ( jQuery.isFunction( value ) ) {
- return this.each(function(i) {
- var self = jQuery(this), old = self.html();
- self.replaceWith( value.call( this, i, old ) );
- });
- }
-
- if ( typeof value !== "string" ) {
- value = jQuery(value).detach();
- }
-
- return this.each(function() {
- var next = this.nextSibling, parent = this.parentNode;
-
- jQuery(this).remove();
-
- if ( next ) {
- jQuery(next).before( value );
- } else {
- jQuery(parent).append( value );
- }
- });
- } else {
- return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value );
- }
- },
-
- detach: function( selector ) {
- return this.remove( selector, true );
- },
-
- domManip: function( args, table, callback ) {
- var results, first, value = args[0], scripts = [], fragment, parent;
-
- // We can't cloneNode fragments that contain checked, in WebKit
- if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
- return this.each(function() {
- jQuery(this).domManip( args, table, callback, true );
- });
- }
-
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- args[0] = value.call(this, i, table ? self.html() : undefined);
- self.domManip( args, table, callback );
- });
- }
-
- if ( this[0] ) {
- parent = value && value.parentNode;
-
- // If we're in a fragment, just use that instead of building a new one
- if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
- results = { fragment: parent };
-
- } else {
- results = buildFragment( args, this, scripts );
- }
-
- fragment = results.fragment;
-
- if ( fragment.childNodes.length === 1 ) {
- first = fragment = fragment.firstChild;
- } else {
- first = fragment.firstChild;
- }
-
- if ( first ) {
- table = table && jQuery.nodeName( first, "tr" );
-
- for ( var i = 0, l = this.length; i < l; i++ ) {
- callback.call(
- table ?
- root(this[i], first) :
- this[i],
- i > 0 || results.cacheable || this.length > 1 ?
- fragment.cloneNode(true) :
- fragment
- );
- }
- }
-
- if ( scripts.length ) {
- jQuery.each( scripts, evalScript );
- }
- }
-
- return this;
-
- function root( elem, cur ) {
- return jQuery.nodeName(elem, "table") ?
- (elem.getElementsByTagName("tbody")[0] ||
- elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
- elem;
- }
- }
-});
-
-function cloneCopyEvent(orig, ret) {
- var i = 0;
-
- ret.each(function() {
- if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) {
- return;
- }
-
- var oldData = jQuery.data( orig[i++] ), curData = jQuery.data( this, oldData ), events = oldData && oldData.events;
-
- if ( events ) {
- delete curData.handle;
- curData.events = {};
-
- for ( var type in events ) {
- for ( var handler in events[ type ] ) {
- jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
- }
- }
- }
- });
-}
-
-function buildFragment( args, nodes, scripts ) {
- var fragment, cacheable, cacheresults,
- doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document);
-
- // Only cache "small" (1/2 KB) strings that are associated with the main document
- // Cloning options loses the selected state, so don't cache them
- // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
- // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
- if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document &&
- !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) {
-
- cacheable = true;
- cacheresults = jQuery.fragments[ args[0] ];
- if ( cacheresults ) {
- if ( cacheresults !== 1 ) {
- fragment = cacheresults;
- }
- }
- }
-
- if ( !fragment ) {
- fragment = doc.createDocumentFragment();
- jQuery.clean( args, doc, fragment, scripts );
- }
-
- if ( cacheable ) {
- jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1;
- }
-
- return { fragment: fragment, cacheable: cacheable };
-}
-
-jQuery.fragments = {};
-
-jQuery.each({
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
-}, function( name, original ) {
- jQuery.fn[ name ] = function( selector ) {
- var ret = [], insert = jQuery( selector ),
- parent = this.length === 1 && this[0].parentNode;
-
- if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
- insert[ original ]( this[0] );
- return this;
-
- } else {
- for ( var i = 0, l = insert.length; i < l; i++ ) {
- var elems = (i > 0 ? this.clone(true) : this).get();
- jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
- ret = ret.concat( elems );
- }
-
- return this.pushStack( ret, name, insert.selector );
- }
- };
-});
-
-jQuery.extend({
- clean: function( elems, context, fragment, scripts ) {
- context = context || document;
-
- // !context.createElement fails in IE with an error but returns typeof 'object'
- if ( typeof context.createElement === "undefined" ) {
- context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
- }
-
- var ret = [];
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- if ( typeof elem === "number" ) {
- elem += "";
- }
-
- if ( !elem ) {
- continue;
- }
-
- // Convert html string into DOM nodes
- if ( typeof elem === "string" && !rhtml.test( elem ) ) {
- elem = context.createTextNode( elem );
-
- } else if ( typeof elem === "string" ) {
- // Fix "XHTML"-style tags in all browsers
- elem = elem.replace(rxhtmlTag, fcloseTag);
-
- // Trim whitespace, otherwise indexOf won't work as expected
- var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
- wrap = wrapMap[ tag ] || wrapMap._default,
- depth = wrap[0],
- div = context.createElement("div");
-
- // Go to html and back, then peel off extra wrappers
- div.innerHTML = wrap[1] + elem + wrap[2];
-
- // Move to the right depth
- while ( depth-- ) {
- div = div.lastChild;
- }
-
- // Remove IE's autoinserted <tbody> from table fragments
- if ( !jQuery.support.tbody ) {
-
- // String was a <table>, *may* have spurious <tbody>
- var hasBody = rtbody.test(elem),
- tbody = tag === "table" && !hasBody ?
- div.firstChild && div.firstChild.childNodes :
-
- // String was a bare <thead> or <tfoot>
- wrap[1] === "<table>" && !hasBody ?
- div.childNodes :
- [];
-
- for ( var j = tbody.length - 1; j >= 0 ; --j ) {
- if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
- tbody[ j ].parentNode.removeChild( tbody[ j ] );
- }
- }
-
- }
-
- // IE completely kills leading whitespace when innerHTML is used
- if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
- div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
- }
-
- elem = div.childNodes;
- }
-
- if ( elem.nodeType ) {
- ret.push( elem );
- } else {
- ret = jQuery.merge( ret, elem );
- }
- }
-
- if ( fragment ) {
- for ( var i = 0; ret[i]; i++ ) {
- if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
- scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
-
- } else {
- if ( ret[i].nodeType === 1 ) {
- ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
- }
- fragment.appendChild( ret[i] );
- }
- }
- }
-
- return ret;
- },
-
- cleanData: function( elems ) {
- var data, id, cache = jQuery.cache,
- special = jQuery.event.special,
- deleteExpando = jQuery.support.deleteExpando;
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- id = elem[ jQuery.expando ];
-
- if ( id ) {
- data = cache[ id ];
-
- if ( data.events ) {
- for ( var type in data.events ) {
- if ( special[ type ] ) {
- jQuery.event.remove( elem, type );
-
- } else {
- removeEvent( elem, type, data.handle );
- }
- }
- }
-
- if ( deleteExpando ) {
- delete elem[ jQuery.expando ];
-
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( jQuery.expando );
- }
-
- delete cache[ id ];
- }
- }
- }
-});
-// exclude the following css properties to add px
-var rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
- ralpha = /alpha\([^)]*\)/,
- ropacity = /opacity=([^)]*)/,
- rfloat = /float/i,
- rdashAlpha = /-([a-z])/ig,
- rupper = /([A-Z])/g,
- rnumpx = /^-?\d+(?:px)?$/i,
- rnum = /^-?\d/,
-
- cssShow = { position: "absolute", visibility: "hidden", display:"block" },
- cssWidth = [ "Left", "Right" ],
- cssHeight = [ "Top", "Bottom" ],
-
- // cache check for defaultView.getComputedStyle
- getComputedStyle = document.defaultView && document.defaultView.getComputedStyle,
- // normalize float css property
- styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat",
- fcamelCase = function( all, letter ) {
- return letter.toUpperCase();
- };
-
-jQuery.fn.css = function( name, value ) {
- return access( this, name, value, true, function( elem, name, value ) {
- if ( value === undefined ) {
- return jQuery.curCSS( elem, name );
- }
-
- if ( typeof value === "number" && !rexclude.test(name) ) {
- value += "px";
- }
-
- jQuery.style( elem, name, value );
- });
-};
-
-jQuery.extend({
- style: function( elem, name, value ) {
- // don't set styles on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
- return undefined;
- }
-
- // ignore negative width and height values #1599
- if ( (name === "width" || name === "height") && parseFloat(value) < 0 ) {
- value = undefined;
- }
-
- var style = elem.style || elem, set = value !== undefined;
-
- // IE uses filters for opacity
- if ( !jQuery.support.opacity && name === "opacity" ) {
- if ( set ) {
- // IE has trouble with opacity if it does not have layout
- // Force it by setting the zoom level
- style.zoom = 1;
-
- // Set the alpha filter to set the opacity
- var opacity = parseInt( value, 10 ) + "" === "NaN" ? "" : "alpha(opacity=" + value * 100 + ")";
- var filter = style.filter || jQuery.curCSS( elem, "filter" ) || "";
- style.filter = ralpha.test(filter) ? filter.replace(ralpha, opacity) : opacity;
- }
-
- return style.filter && style.filter.indexOf("opacity=") >= 0 ?
- (parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "":
- "";
- }
-
- // Make sure we're using the right name for getting the float value
- if ( rfloat.test( name ) ) {
- name = styleFloat;
- }
-
- name = name.replace(rdashAlpha, fcamelCase);
-
- if ( set ) {
- style[ name ] = value;
- }
-
- return style[ name ];
- },
-
- css: function( elem, name, force, extra ) {
- if ( name === "width" || name === "height" ) {
- var val, props = cssShow, which = name === "width" ? cssWidth : cssHeight;
-
- function getWH() {
- val = name === "width" ? elem.offsetWidth : elem.offsetHeight;
-
- if ( extra === "border" ) {
- return;
- }
-
- jQuery.each( which, function() {
- if ( !extra ) {
- val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
- }
-
- if ( extra === "margin" ) {
- val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
- } else {
- val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
- }
- });
- }
-
- if ( elem.offsetWidth !== 0 ) {
- getWH();
- } else {
- jQuery.swap( elem, props, getWH );
- }
-
- return Math.max(0, Math.round(val));
- }
-
- return jQuery.curCSS( elem, name, force );
- },
-
- curCSS: function( elem, name, force ) {
- var ret, style = elem.style, filter;
-
- // IE uses filters for opacity
- if ( !jQuery.support.opacity && name === "opacity" && elem.currentStyle ) {
- ret = ropacity.test(elem.currentStyle.filter || "") ?
- (parseFloat(RegExp.$1) / 100) + "" :
- "";
-
- return ret === "" ?
- "1" :
- ret;
- }
-
- // Make sure we're using the right name for getting the float value
- if ( rfloat.test( name ) ) {
- name = styleFloat;
- }
-
- if ( !force && style && style[ name ] ) {
- ret = style[ name ];
-
- } else if ( getComputedStyle ) {
-
- // Only "float" is needed here
- if ( rfloat.test( name ) ) {
- name = "float";
- }
-
- name = name.replace( rupper, "-$1" ).toLowerCase();
-
- var defaultView = elem.ownerDocument.defaultView;
-
- if ( !defaultView ) {
- return null;
- }
-
- var computedStyle = defaultView.getComputedStyle( elem, null );
-
- if ( computedStyle ) {
- ret = computedStyle.getPropertyValue( name );
- }
-
- // We should always get a number back from opacity
- if ( name === "opacity" && ret === "" ) {
- ret = "1";
- }
-
- } else if ( elem.currentStyle ) {
- var camelCase = name.replace(rdashAlpha, fcamelCase);
-
- ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
-
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
- // Remember the original values
- var left = style.left, rsLeft = elem.runtimeStyle.left;
-
- // Put in the new values to get a computed value out
- elem.runtimeStyle.left = elem.currentStyle.left;
- style.left = camelCase === "fontSize" ? "1em" : (ret || 0);
- ret = style.pixelLeft + "px";
-
- // Revert the changed values
- style.left = left;
- elem.runtimeStyle.left = rsLeft;
- }
- }
-
- return ret;
- },
-
- // A method for quickly swapping in/out CSS properties to get correct calculations
- swap: function( elem, options, callback ) {
- var old = {};
-
- // Remember the old values, and insert the new ones
- for ( var name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- callback.call( elem );
-
- // Revert the old values
- for ( var name in options ) {
- elem.style[ name ] = old[ name ];
- }
- }
-});
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.hidden = function( elem ) {
- var width = elem.offsetWidth, height = elem.offsetHeight,
- skip = elem.nodeName.toLowerCase() === "tr";
-
- return width === 0 && height === 0 && !skip ?
- true :
- width > 0 && height > 0 && !skip ?
- false :
- jQuery.curCSS(elem, "display") === "none";
- };
-
- jQuery.expr.filters.visible = function( elem ) {
- return !jQuery.expr.filters.hidden( elem );
- };
-}
-var jsc = now(),
- rscript = /<script(.|\s)*?\/script>/gi,
- rselectTextarea = /select|textarea/i,
- rinput = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,
- jsre = /=\?(&|$)/,
- rquery = /\?/,
- rts = /(\?|&)_=.*?(&|$)/,
- rurl = /^(\w+:)?\/\/([^\/?#]+)/,
- r20 = /%20/g,
-
- // Keep a copy of the old load method
- _load = jQuery.fn.load;
-
-jQuery.fn.extend({
- load: function( url, params, callback ) {
- if ( typeof url !== "string" ) {
- return _load.call( this, url );
-
- // Don't do a request if no elements are being requested
- } else if ( !this.length ) {
- return this;
- }
-
- var off = url.indexOf(" ");
- if ( off >= 0 ) {
- var selector = url.slice(off, url.length);
- url = url.slice(0, off);
- }
-
- // Default to a GET request
- var type = "GET";
-
- // If the second parameter was provided
- if ( params ) {
- // If it's a function
- if ( jQuery.isFunction( params ) ) {
- // We assume that it's the callback
- callback = params;
- params = null;
-
- // Otherwise, build a param string
- } else if ( typeof params === "object" ) {
- params = jQuery.param( params, jQuery.ajaxSettings.traditional );
- type = "POST";
- }
- }
-
- var self = this;
-
- // Request the remote document
- jQuery.ajax({
- url: url,
- type: type,
- dataType: "html",
- data: params,
- complete: function( res, status ) {
- // If successful, inject the HTML into all the matched elements
- if ( status === "success" || status === "notmodified" ) {
- // See if a selector was specified
- self.html( selector ?
- // Create a dummy div to hold the results
- jQuery("<div />")
- // inject the contents of the document in, removing the scripts
- // to avoid any 'Permission Denied' errors in IE
- .append(res.responseText.replace(rscript, ""))
-
- // Locate the specified elements
- .find(selector) :
-
- // If not, just inject the full result
- res.responseText );
- }
-
- if ( callback ) {
- self.each( callback, [res.responseText, status, res] );
- }
- }
- });
-
- return this;
- },
-
- serialize: function() {
- return jQuery.param(this.serializeArray());
- },
- serializeArray: function() {
- return this.map(function() {
- return this.elements ? jQuery.makeArray(this.elements) : this;
- })
- .filter(function() {
- return this.name && !this.disabled &&
- (this.checked || rselectTextarea.test(this.nodeName) ||
- rinput.test(this.type));
- })
- .map(function( i, elem ) {
- var val = jQuery(this).val();
-
- return val == null ?
- null :
- jQuery.isArray(val) ?
- jQuery.map( val, function( val, i ) {
- return { name: elem.name, value: val };
- }) :
- { name: elem.name, value: val };
- }).get();
- }
-});
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) {
- jQuery.fn[o] = function( f ) {
- return this.bind(o, f);
- };
-});
-
-jQuery.extend({
-
- get: function( url, data, callback, type ) {
- // shift arguments if data argument was omited
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = null;
- }
-
- return jQuery.ajax({
- type: "GET",
- url: url,
- data: data,
- success: callback,
- dataType: type
- });
- },
-
- getScript: function( url, callback ) {
- return jQuery.get(url, null, callback, "script");
- },
-
- getJSON: function( url, data, callback ) {
- return jQuery.get(url, data, callback, "json");
- },
-
- post: function( url, data, callback, type ) {
- // shift arguments if data argument was omited
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = {};
- }
-
- return jQuery.ajax({
- type: "POST",
- url: url,
- data: data,
- success: callback,
- dataType: type
- });
- },
-
- ajaxSetup: function( settings ) {
- jQuery.extend( jQuery.ajaxSettings, settings );
- },
-
- ajaxSettings: {
- url: location.href,
- global: true,
- type: "GET",
- contentType: "application/x-www-form-urlencoded",
- processData: true,
- async: true,
- /*
- timeout: 0,
- data: null,
- username: null,
- password: null,
- traditional: false,
- */
- // Create the request object; Microsoft failed to properly
- // implement the XMLHttpRequest in IE7 (can't request local files),
- // so we use the ActiveXObject when it is available
- // This function can be overriden by calling jQuery.ajaxSetup
- xhr: window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ?
- function() {
- return new window.XMLHttpRequest();
- } :
- function() {
- try {
- return new window.ActiveXObject("Microsoft.XMLHTTP");
- } catch(e) {}
- },
- accepts: {
- xml: "application/xml, text/xml",
- html: "text/html",
- script: "text/javascript, application/javascript",
- json: "application/json, text/javascript",
- text: "text/plain",
- _default: "*/*"
- }
- },
-
- // Last-Modified header cache for next request
- lastModified: {},
- etag: {},
-
- ajax: function( origSettings ) {
- var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);
-
- var jsonp, status, data,
- callbackContext = origSettings && origSettings.context || s,
- type = s.type.toUpperCase();
-
- // convert data if not already a string
- if ( s.data && s.processData && typeof s.data !== "string" ) {
- s.data = jQuery.param( s.data, s.traditional );
- }
-
- // Handle JSONP Parameter Callbacks
- if ( s.dataType === "jsonp" ) {
- if ( type === "GET" ) {
- if ( !jsre.test( s.url ) ) {
- s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?";
- }
- } else if ( !s.data || !jsre.test(s.data) ) {
- s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
- }
- s.dataType = "json";
- }
-
- // Build temporary JSONP function
- if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) {
- jsonp = s.jsonpCallback || ("jsonp" + jsc++);
-
- // Replace the =? sequence both in the query string and the data
- if ( s.data ) {
- s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1");
- }
-
- s.url = s.url.replace(jsre, "=" + jsonp + "$1");
-
- // We need to make sure
- // that a JSONP style response is executed properly
- s.dataType = "script";
-
- // Handle JSONP-style loading
- window[ jsonp ] = window[ jsonp ] || function( tmp ) {
- data = tmp;
- success();
- complete();
- // Garbage collect
- window[ jsonp ] = undefined;
-
- try {
- delete window[ jsonp ];
- } catch(e) {}
-
- if ( head ) {
- head.removeChild( script );
- }
- };
- }
-
- if ( s.dataType === "script" && s.cache === null ) {
- s.cache = false;
- }
-
- if ( s.cache === false && type === "GET" ) {
- var ts = now();
-
- // try replacing _= if it is there
- var ret = s.url.replace(rts, "$1_=" + ts + "$2");
-
- // if nothing was replaced, add timestamp to the end
- s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : "");
- }
-
- // If data is available, append data to url for get requests
- if ( s.data && type === "GET" ) {
- s.url += (rquery.test(s.url) ? "&" : "?") + s.data;
- }
-
- // Watch for a new set of requests
- if ( s.global && ! jQuery.active++ ) {
- jQuery.event.trigger( "ajaxStart" );
- }
-
- // Matches an absolute URL, and saves the domain
- var parts = rurl.exec( s.url ),
- remote = parts && (parts[1] && parts[1] !== location.protocol || parts[2] !== location.host);
-
- // If we're requesting a remote document
- // and trying to load JSON or Script with a GET
- if ( s.dataType === "script" && type === "GET" && remote ) {
- var head = document.getElementsByTagName("head")[0] || document.documentElement;
- var script = document.createElement("script");
- script.src = s.url;
- if ( s.scriptCharset ) {
- script.charset = s.scriptCharset;
- }
-
- // Handle Script loading
- if ( !jsonp ) {
- var done = false;
-
- // Attach handlers for all browsers
- script.onload = script.onreadystatechange = function() {
- if ( !done && (!this.readyState ||
- this.readyState === "loaded" || this.readyState === "complete") ) {
- done = true;
- success();
- complete();
-
- // Handle memory leak in IE
- script.onload = script.onreadystatechange = null;
- if ( head && script.parentNode ) {
- head.removeChild( script );
- }
- }
- };
- }
-
- // Use insertBefore instead of appendChild to circumvent an IE6 bug.
- // This arises when a base node is used (#2709 and #4378).
- head.insertBefore( script, head.firstChild );
-
- // We handle everything using the script element injection
- return undefined;
- }
-
- var requestDone = false;
-
- // Create the request object
- var xhr = s.xhr();
-
- if ( !xhr ) {
- return;
- }
-
- // Open the socket
- // Passing null username, generates a login popup on Opera (#2865)
- if ( s.username ) {
- xhr.open(type, s.url, s.async, s.username, s.password);
- } else {
- xhr.open(type, s.url, s.async);
- }
-
- // Need an extra try/catch for cross domain requests in Firefox 3
- try {
- // Set the correct header, if data is being sent
- if ( s.data || origSettings && origSettings.contentType ) {
- xhr.setRequestHeader("Content-Type", s.contentType);
- }
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- if ( jQuery.lastModified[s.url] ) {
- xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]);
- }
-
- if ( jQuery.etag[s.url] ) {
- xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]);
- }
- }
-
- // Set header so the called script knows that it's an XMLHttpRequest
- // Only send the header if it's not a remote XHR
- if ( !remote ) {
- xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
- }
-
- // Set the Accepts header for the server, depending on the dataType
- xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?
- s.accepts[ s.dataType ] + ", */*" :
- s.accepts._default );
- } catch(e) {}
-
- // Allow custom headers/mimetypes and early abort
- if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) === false ) {
- // Handle the global AJAX counter
- if ( s.global && ! --jQuery.active ) {
- jQuery.event.trigger( "ajaxStop" );
- }
-
- // close opended socket
- xhr.abort();
- return false;
- }
-
- if ( s.global ) {
- trigger("ajaxSend", [xhr, s]);
- }
-
- // Wait for a response to come back
- var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) {
- // The request was aborted
- if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) {
- // Opera doesn't call onreadystatechange before this point
- // so we simulate the call
- if ( !requestDone ) {
- complete();
- }
-
- requestDone = true;
- if ( xhr ) {
- xhr.onreadystatechange = jQuery.noop;
- }
-
- // The transfer is complete and the data is available, or the request timed out
- } else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) {
- requestDone = true;
- xhr.onreadystatechange = jQuery.noop;
-
- status = isTimeout === "timeout" ?
- "timeout" :
- !jQuery.httpSuccess( xhr ) ?
- "error" :
- s.ifModified && jQuery.httpNotModified( xhr, s.url ) ?
- "notmodified" :
- "success";
-
- var errMsg;
-
- if ( status === "success" ) {
- // Watch for, and catch, XML document parse errors
- try {
- // process the data (runs the xml through httpData regardless of callback)
- data = jQuery.httpData( xhr, s.dataType, s );
- } catch(err) {
- status = "parsererror";
- errMsg = err;
- }
- }
-
- // Make sure that the request was successful or notmodified
- if ( status === "success" || status === "notmodified" ) {
- // JSONP handles its own success callback
- if ( !jsonp ) {
- success();
- }
- } else {
- jQuery.handleError(s, xhr, status, errMsg);
- }
-
- // Fire the complete handlers
- complete();
-
- if ( isTimeout === "timeout" ) {
- xhr.abort();
- }
-
- // Stop memory leaks
- if ( s.async ) {
- xhr = null;
- }
- }
- };
-
- // Override the abort handler, if we can (IE doesn't allow it, but that's OK)
- // Opera doesn't fire onreadystatechange at all on abort
- try {
- var oldAbort = xhr.abort;
- xhr.abort = function() {
- if ( xhr ) {
- oldAbort.call( xhr );
- }
-
- onreadystatechange( "abort" );
- };
- } catch(e) { }
-
- // Timeout checker
- if ( s.async && s.timeout > 0 ) {
- setTimeout(function() {
- // Check to see if the request is still happening
- if ( xhr && !requestDone ) {
- onreadystatechange( "timeout" );
- }
- }, s.timeout);
- }
-
- // Send the data
- try {
- xhr.send( type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null );
- } catch(e) {
- jQuery.handleError(s, xhr, null, e);
- // Fire the complete handlers
- complete();
- }
-
- // firefox 1.5 doesn't fire statechange for sync requests
- if ( !s.async ) {
- onreadystatechange();
- }
-
- function success() {
- // If a local callback was specified, fire it and pass it the data
- if ( s.success ) {
- s.success.call( callbackContext, data, status, xhr );
- }
-
- // Fire the global callback
- if ( s.global ) {
- trigger( "ajaxSuccess", [xhr, s] );
- }
- }
-
- function complete() {
- // Process result
- if ( s.complete ) {
- s.complete.call( callbackContext, xhr, status);
- }
-
- // The request was completed
- if ( s.global ) {
- trigger( "ajaxComplete", [xhr, s] );
- }
-
- // Handle the global AJAX counter
- if ( s.global && ! --jQuery.active ) {
- jQuery.event.trigger( "ajaxStop" );
- }
- }
-
- function trigger(type, args) {
- (s.context ? jQuery(s.context) : jQuery.event).trigger(type, args);
- }
-
- // return XMLHttpRequest to allow aborting the request etc.
- return xhr;
- },
-
- handleError: function( s, xhr, status, e ) {
- // If a local callback was specified, fire it
- if ( s.error ) {
- s.error.call( s.context || s, xhr, status, e );
- }
-
- // Fire the global callback
- if ( s.global ) {
- (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
- }
- },
-
- // Counter for holding the number of active queries
- active: 0,
-
- // Determines if an XMLHttpRequest was successful or not
- httpSuccess: function( xhr ) {
- try {
- // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
- return !xhr.status && location.protocol === "file:" ||
- // Opera returns 0 when status is 304
- ( xhr.status >= 200 && xhr.status < 300 ) ||
- xhr.status === 304 || xhr.status === 1223 || xhr.status === 0;
- } catch(e) {}
-
- return false;
- },
-
- // Determines if an XMLHttpRequest returns NotModified
- httpNotModified: function( xhr, url ) {
- var lastModified = xhr.getResponseHeader("Last-Modified"),
- etag = xhr.getResponseHeader("Etag");
-
- if ( lastModified ) {
- jQuery.lastModified[url] = lastModified;
- }
-
- if ( etag ) {
- jQuery.etag[url] = etag;
- }
-
- // Opera returns 0 when status is 304
- return xhr.status === 304 || xhr.status === 0;
- },
-
- httpData: function( xhr, type, s ) {
- var ct = xhr.getResponseHeader("content-type") || "",
- xml = type === "xml" || !type && ct.indexOf("xml") >= 0,
- data = xml ? xhr.responseXML : xhr.responseText;
-
- if ( xml && data.documentElement.nodeName === "parsererror" ) {
- jQuery.error( "parsererror" );
- }
-
- // Allow a pre-filtering function to sanitize the response
- // s is checked to keep backwards compatibility
- if ( s && s.dataFilter ) {
- data = s.dataFilter( data, type );
- }
-
- // The filter can actually parse the response
- if ( typeof data === "string" ) {
- // Get the JavaScript object, if JSON is used.
- if ( type === "json" || !type && ct.indexOf("json") >= 0 ) {
- data = jQuery.parseJSON( data );
-
- // If the type is "script", eval it in global context
- } else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) {
- jQuery.globalEval( data );
- }
- }
-
- return data;
- },
-
- // Serialize an array of form elements or a set of
- // key/values into a query string
- param: function( a, traditional ) {
- var s = [];
-
- // Set traditional to true for jQuery <= 1.3.2 behavior.
- if ( traditional === undefined ) {
- traditional = jQuery.ajaxSettings.traditional;
- }
-
- // If an array was passed in, assume that it is an array of form elements.
- if ( jQuery.isArray(a) || a.jquery ) {
- // Serialize the form elements
- jQuery.each( a, function() {
- add( this.name, this.value );
- });
-
- } else {
- // If traditional, encode the "old" way (the way 1.3.2 or older
- // did it), otherwise encode params recursively.
- for ( var prefix in a ) {
- buildParams( prefix, a[prefix] );
- }
- }
-
- // Return the resulting serialization
- return s.join("&").replace(r20, "+");
-
- function buildParams( prefix, obj ) {
- if ( jQuery.isArray(obj) ) {
- // Serialize array item.
- jQuery.each( obj, function( i, v ) {
- if ( traditional || /\[\]$/.test( prefix ) ) {
- // Treat each array item as a scalar.
- add( prefix, v );
- } else {
- // If array item is non-scalar (array or object), encode its
- // numeric index to resolve deserialization ambiguity issues.
- // Note that rack (as of 1.0.0) can't currently deserialize
- // nested arrays properly, and attempting to do so may cause
- // a server error. Possible fixes are to modify rack's
- // deserialization algorithm or to provide an option or flag
- // to force array serialization to be shallow.
- buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v );
- }
- });
-
- } else if ( !traditional && obj != null && typeof obj === "object" ) {
- // Serialize object item.
- jQuery.each( obj, function( k, v ) {
- buildParams( prefix + "[" + k + "]", v );
- });
-
- } else {
- // Serialize scalar item.
- add( prefix, obj );
- }
- }
-
- function add( key, value ) {
- // If value is a function, invoke it and return its value
- value = jQuery.isFunction(value) ? value() : value;
- s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value);
- }
- }
-});
-var elemdisplay = {},
- rfxtypes = /toggle|show|hide/,
- rfxnum = /^([+-]=)?([\d+-.]+)(.*)$/,
- timerId,
- fxAttrs = [
- // height animations
- [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
- // width animations
- [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
- // opacity animations
- [ "opacity" ]
- ];
-
-jQuery.fn.extend({
- show: function( speed, callback ) {
- if ( speed || speed === 0) {
- return this.animate( genFx("show", 3), speed, callback);
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var old = jQuery.data(this[i], "olddisplay");
-
- this[i].style.display = old || "";
-
- if ( jQuery.css(this[i], "display") === "none" ) {
- var nodeName = this[i].nodeName, display;
-
- if ( elemdisplay[ nodeName ] ) {
- display = elemdisplay[ nodeName ];
-
- } else {
- var elem = jQuery("<" + nodeName + " />").appendTo("body");
-
- display = elem.css("display");
-
- if ( display === "none" ) {
- display = "block";
- }
-
- elem.remove();
-
- elemdisplay[ nodeName ] = display;
- }
-
- jQuery.data(this[i], "olddisplay", display);
- }
- }
-
- // Set the display of the elements in a second loop
- // to avoid the constant reflow
- for ( var j = 0, k = this.length; j < k; j++ ) {
- this[j].style.display = jQuery.data(this[j], "olddisplay") || "";
- }
-
- return this;
- }
- },
-
- hide: function( speed, callback ) {
- if ( speed || speed === 0 ) {
- return this.animate( genFx("hide", 3), speed, callback);
-
- } else {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- var old = jQuery.data(this[i], "olddisplay");
- if ( !old && old !== "none" ) {
- jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
- }
- }
-
- // Set the display of the elements in a second loop
- // to avoid the constant reflow
- for ( var j = 0, k = this.length; j < k; j++ ) {
- this[j].style.display = "none";
- }
-
- return this;
- }
- },
-
- // Save the old toggle function
- _toggle: jQuery.fn.toggle,
-
- toggle: function( fn, fn2 ) {
- var bool = typeof fn === "boolean";
-
- if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
- this._toggle.apply( this, arguments );
-
- } else if ( fn == null || bool ) {
- this.each(function() {
- var state = bool ? fn : jQuery(this).is(":hidden");
- jQuery(this)[ state ? "show" : "hide" ]();
- });
-
- } else {
- this.animate(genFx("toggle", 3), fn, fn2);
- }
-
- return this;
- },
-
- fadeTo: function( speed, to, callback ) {
- return this.filter(":hidden").css("opacity", 0).show().end()
- .animate({opacity: to}, speed, callback);
- },
-
- animate: function( prop, speed, easing, callback ) {
- var optall = jQuery.speed(speed, easing, callback);
-
- if ( jQuery.isEmptyObject( prop ) ) {
- return this.each( optall.complete );
- }
-
- return this[ optall.queue === false ? "each" : "queue" ](function() {
- var opt = jQuery.extend({}, optall), p,
- hidden = this.nodeType === 1 && jQuery(this).is(":hidden"),
- self = this;
-
- for ( p in prop ) {
- var name = p.replace(rdashAlpha, fcamelCase);
-
- if ( p !== name ) {
- prop[ name ] = prop[ p ];
- delete prop[ p ];
- p = name;
- }
-
- if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) {
- return opt.complete.call(this);
- }
-
- if ( ( p === "height" || p === "width" ) && this.style ) {
- // Store display property
- opt.display = jQuery.css(this, "display");
-
- // Make sure that nothing sneaks out
- opt.overflow = this.style.overflow;
- }
-
- if ( jQuery.isArray( prop[p] ) ) {
- // Create (if needed) and add to specialEasing
- (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1];
- prop[p] = prop[p][0];
- }
- }
-
- if ( opt.overflow != null ) {
- this.style.overflow = "hidden";
- }
-
- opt.curAnim = jQuery.extend({}, prop);
-
- jQuery.each( prop, function( name, val ) {
- var e = new jQuery.fx( self, opt, name );
-
- if ( rfxtypes.test(val) ) {
- e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop );
-
- } else {
- var parts = rfxnum.exec(val),
- start = e.cur(true) || 0;
-
- if ( parts ) {
- var end = parseFloat( parts[2] ),
- unit = parts[3] || "px";
-
- // We need to compute starting value
- if ( unit !== "px" ) {
- self.style[ name ] = (end || 1) + unit;
- start = ((end || 1) / e.cur(true)) * start;
- self.style[ name ] = start + unit;
- }
-
- // If a +=/-= token was provided, we're doing a relative animation
- if ( parts[1] ) {
- end = ((parts[1] === "-=" ? -1 : 1) * end) + start;
- }
-
- e.custom( start, end, unit );
-
- } else {
- e.custom( start, val, "" );
- }
- }
- });
-
- // For JS strict compliance
- return true;
- });
- },
-
- stop: function( clearQueue, gotoEnd ) {
- var timers = jQuery.timers;
-
- if ( clearQueue ) {
- this.queue([]);
- }
-
- this.each(function() {
- // go in reverse order so anything added to the queue during the loop is ignored
- for ( var i = timers.length - 1; i >= 0; i-- ) {
- if ( timers[i].elem === this ) {
- if (gotoEnd) {
- // force the next step to be the last
- timers[i](true);
- }
-
- timers.splice(i, 1);
- }
- }
- });
-
- // start the next in the queue if the last step wasn't forced
- if ( !gotoEnd ) {
- this.dequeue();
- }
-
- return this;
- }
-
-});
-
-// Generate shortcuts for custom animations
-jQuery.each({
- slideDown: genFx("show", 1),
- slideUp: genFx("hide", 1),
- slideToggle: genFx("toggle", 1),
- fadeIn: { opacity: "show" },
- fadeOut: { opacity: "hide" }
-}, function( name, props ) {
- jQuery.fn[ name ] = function( speed, callback ) {
- return this.animate( props, speed, callback );
- };
-});
-
-jQuery.extend({
- speed: function( speed, easing, fn ) {
- var opt = speed && typeof speed === "object" ? speed : {
- complete: fn || !fn && easing ||
- jQuery.isFunction( speed ) && speed,
- duration: speed,
- easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
- };
-
- opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
- jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;
-
- // Queueing
- opt.old = opt.complete;
- opt.complete = function() {
- if ( opt.queue !== false ) {
- jQuery(this).dequeue();
- }
- if ( jQuery.isFunction( opt.old ) ) {
- opt.old.call( this );
- }
- };
-
- return opt;
- },
-
- easing: {
- linear: function( p, n, firstNum, diff ) {
- return firstNum + diff * p;
- },
- swing: function( p, n, firstNum, diff ) {
- return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
- }
- },
-
- timers: [],
-
- fx: function( elem, options, prop ) {
- this.options = options;
- this.elem = elem;
- this.prop = prop;
-
- if ( !options.orig ) {
- options.orig = {};
- }
- }
-
-});
-
-jQuery.fx.prototype = {
- // Simple function for setting a style value
- update: function() {
- if ( this.options.step ) {
- this.options.step.call( this.elem, this.now, this );
- }
-
- (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
-
- // Set display property to block for height/width animations
- if ( ( this.prop === "height" || this.prop === "width" ) && this.elem.style ) {
- this.elem.style.display = "block";
- }
- },
-
- // Get the current size
- cur: function( force ) {
- if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) {
- return this.elem[ this.prop ];
- }
-
- var r = parseFloat(jQuery.css(this.elem, this.prop, force));
- return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;
- },
-
- // Start an animation from one number to another
- custom: function( from, to, unit ) {
- this.startTime = now();
- this.start = from;
- this.end = to;
- this.unit = unit || this.unit || "px";
- this.now = this.start;
- this.pos = this.state = 0;
-
- var self = this;
- function t( gotoEnd ) {
- return self.step(gotoEnd);
- }
-
- t.elem = this.elem;
-
- if ( t() && jQuery.timers.push(t) && !timerId ) {
- timerId = setInterval(jQuery.fx.tick, 13);
- }
- },
-
- // Simple 'show' function
- show: function() {
- // Remember where we started, so that we can go back to it later
- this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
- this.options.show = true;
-
- // Begin the animation
- // Make sure that we start at a small width/height to avoid any
- // flash of content
- this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur());
-
- // Start by showing the element
- jQuery( this.elem ).show();
- },
-
- // Simple 'hide' function
- hide: function() {
- // Remember where we started, so that we can go back to it later
- this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
- this.options.hide = true;
-
- // Begin the animation
- this.custom(this.cur(), 0);
- },
-
- // Each step of an animation
- step: function( gotoEnd ) {
- var t = now(), done = true;
-
- if ( gotoEnd || t >= this.options.duration + this.startTime ) {
- this.now = this.end;
- this.pos = this.state = 1;
- this.update();
-
- this.options.curAnim[ this.prop ] = true;
-
- for ( var i in this.options.curAnim ) {
- if ( this.options.curAnim[i] !== true ) {
- done = false;
- }
- }
-
- if ( done ) {
- if ( this.options.display != null ) {
- // Reset the overflow
- this.elem.style.overflow = this.options.overflow;
-
- // Reset the display
- var old = jQuery.data(this.elem, "olddisplay");
- this.elem.style.display = old ? old : this.options.display;
-
- if ( jQuery.css(this.elem, "display") === "none" ) {
- this.elem.style.display = "block";
- }
- }
-
- // Hide the element if the "hide" operation was done
- if ( this.options.hide ) {
- jQuery(this.elem).hide();
- }
-
- // Reset the properties, if the item has been hidden or shown
- if ( this.options.hide || this.options.show ) {
- for ( var p in this.options.curAnim ) {
- jQuery.style(this.elem, p, this.options.orig[p]);
- }
- }
-
- // Execute the complete function
- this.options.complete.call( this.elem );
- }
-
- return false;
-
- } else {
- var n = t - this.startTime;
- this.state = n / this.options.duration;
-
- // Perform the easing function, defaults to swing
- var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop];
- var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear");
- this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration);
- this.now = this.start + ((this.end - this.start) * this.pos);
-
- // Perform the next step of the animation
- this.update();
- }
-
- return true;
- }
-};
-
-jQuery.extend( jQuery.fx, {
- tick: function() {
- var timers = jQuery.timers;
-
- for ( var i = 0; i < timers.length; i++ ) {
- if ( !timers[i]() ) {
- timers.splice(i--, 1);
- }
- }
-
- if ( !timers.length ) {
- jQuery.fx.stop();
- }
- },
-
- stop: function() {
- clearInterval( timerId );
- timerId = null;
- },
-
- speeds: {
- slow: 600,
- fast: 200,
- // Default speed
- _default: 400
- },
-
- step: {
- opacity: function( fx ) {
- jQuery.style(fx.elem, "opacity", fx.now);
- },
-
- _default: function( fx ) {
- if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
- fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;
- } else {
- fx.elem[ fx.prop ] = fx.now;
- }
- }
- }
-});
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.animated = function( elem ) {
- return jQuery.grep(jQuery.timers, function( fn ) {
- return elem === fn.elem;
- }).length;
- };
-}
-
-function genFx( type, num ) {
- var obj = {};
-
- jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() {
- obj[ this ] = type;
- });
-
- return obj;
-}
-if ( "getBoundingClientRect" in document.documentElement ) {
- jQuery.fn.offset = function( options ) {
- var elem = this[0];
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement,
- clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
- top = box.top + (self.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop,
- left = box.left + (self.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
-
- return { top: top, left: left };
- };
-
-} else {
- jQuery.fn.offset = function( options ) {
- var elem = this[0];
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- jQuery.offset.initialize();
-
- var offsetParent = elem.offsetParent, prevOffsetParent = elem,
- doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,
- body = doc.body, defaultView = doc.defaultView,
- prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
- top = elem.offsetTop, left = elem.offsetLeft;
-
- while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
- if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
- break;
- }
-
- computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
- top -= elem.scrollTop;
- left -= elem.scrollLeft;
-
- if ( elem === offsetParent ) {
- top += elem.offsetTop;
- left += elem.offsetLeft;
-
- if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.nodeName)) ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;
- }
-
- if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevComputedStyle = computedStyle;
- }
-
- if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
- top += body.offsetTop;
- left += body.offsetLeft;
- }
-
- if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
- top += Math.max( docElem.scrollTop, body.scrollTop );
- left += Math.max( docElem.scrollLeft, body.scrollLeft );
- }
-
- return { top: top, left: left };
- };
-}
-
-jQuery.offset = {
- initialize: function() {
- var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0,
- html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
-
- jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } );
-
- container.innerHTML = html;
- body.insertBefore( container, body.firstChild );
- innerDiv = container.firstChild;
- checkDiv = innerDiv.firstChild;
- td = innerDiv.nextSibling.firstChild.firstChild;
-
- this.doesNotAddBorder = (checkDiv.offsetTop !== 5);
- this.doesAddBorderForTableAndCells = (td.offsetTop === 5);
-
- checkDiv.style.position = "fixed", checkDiv.style.top = "20px";
- // safari subtracts parent border width here which is 5px
- this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15);
- checkDiv.style.position = checkDiv.style.top = "";
-
- innerDiv.style.overflow = "hidden", innerDiv.style.position = "relative";
- this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);
-
- this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop);
-
- body.removeChild( container );
- body = container = innerDiv = checkDiv = table = td = null;
- jQuery.offset.initialize = jQuery.noop;
- },
-
- bodyOffset: function( body ) {
- var top = body.offsetTop, left = body.offsetLeft;
-
- jQuery.offset.initialize();
-
- if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {
- top += parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0;
- left += parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0;
- }
-
- return { top: top, left: left };
- },
-
- setOffset: function( elem, options, i ) {
- // set position first, in-case top/left are set even on static elem
- if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) {
- elem.style.position = "relative";
- }
- var curElem = jQuery( elem ),
- curOffset = curElem.offset(),
- curTop = parseInt( jQuery.curCSS( elem, "top", true ), 10 ) || 0,
- curLeft = parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || 0;
-
- if ( jQuery.isFunction( options ) ) {
- options = options.call( elem, i, curOffset );
- }
-
- var props = {
- top: (options.top - curOffset.top) + curTop,
- left: (options.left - curOffset.left) + curLeft
- };
-
- if ( "using" in options ) {
- options.using.call( elem, props );
- } else {
- curElem.css( props );
- }
- }
-};
-
-
-jQuery.fn.extend({
- position: function() {
- if ( !this[0] ) {
- return null;
- }
-
- var elem = this[0],
-
- // Get *real* offsetParent
- offsetParent = this.offsetParent(),
-
- // Get correct offsets
- offset = this.offset(),
- parentOffset = /^body|html$/i.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
-
- // Subtract element margins
- // note: when an element has margin: auto the offsetLeft and marginLeft
- // are the same in Safari causing offset.left to incorrectly be 0
- offset.top -= parseFloat( jQuery.curCSS(elem, "marginTop", true) ) || 0;
- offset.left -= parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) || 0;
-
- // Add offsetParent borders
- parentOffset.top += parseFloat( jQuery.curCSS(offsetParent[0], "borderTopWidth", true) ) || 0;
- parentOffset.left += parseFloat( jQuery.curCSS(offsetParent[0], "borderLeftWidth", true) ) || 0;
-
- // Subtract the two offsets
- return {
- top: offset.top - parentOffset.top,
- left: offset.left - parentOffset.left
- };
- },
-
- offsetParent: function() {
- return this.map(function() {
- var offsetParent = this.offsetParent || document.body;
- while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
- offsetParent = offsetParent.offsetParent;
- }
- return offsetParent;
- });
- }
-});
-
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( ["Left", "Top"], function( i, name ) {
- var method = "scroll" + name;
-
- jQuery.fn[ method ] = function(val) {
- var elem = this[0], win;
-
- if ( !elem ) {
- return null;
- }
-
- if ( val !== undefined ) {
- // Set the scroll offset
- return this.each(function() {
- win = getWindow( this );
-
- if ( win ) {
- win.scrollTo(
- !i ? val : jQuery(win).scrollLeft(),
- i ? val : jQuery(win).scrollTop()
- );
-
- } else {
- this[ method ] = val;
- }
- });
- } else {
- win = getWindow( elem );
-
- // Return the scroll offset
- return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
- jQuery.support.boxModel && win.document.documentElement[ method ] ||
- win.document.body[ method ] :
- elem[ method ];
- }
- };
-});
-
-function getWindow( elem ) {
- return ("scrollTo" in elem && elem.document) ?
- elem :
- elem.nodeType === 9 ?
- elem.defaultView || elem.parentWindow :
- false;
-}
-// Create innerHeight, innerWidth, outerHeight and outerWidth methods
-jQuery.each([ "Height", "Width" ], function( i, name ) {
-
- var type = name.toLowerCase();
-
- // innerHeight and innerWidth
- jQuery.fn["inner" + name] = function() {
- return this[0] ?
- jQuery.css( this[0], type, false, "padding" ) :
- null;
- };
-
- // outerHeight and outerWidth
- jQuery.fn["outer" + name] = function( margin ) {
- return this[0] ?
- jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :
- null;
- };
-
- jQuery.fn[ type ] = function( size ) {
- // Get window width or height
- var elem = this[0];
- if ( !elem ) {
- return size == null ? null : this;
- }
-
- if ( jQuery.isFunction( size ) ) {
- return this.each(function( i ) {
- var self = jQuery( this );
- self[ type ]( size.call( this, i, self[ type ]() ) );
- });
- }
-
- return ("scrollTo" in elem && elem.document) ? // does it walk and quack like a window?
- // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
- elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] ||
- elem.document.body[ "client" + name ] :
-
- // Get document width or height
- (elem.nodeType === 9) ? // is it a document
- // Either scroll[Width/Height] or offset[Width/Height], whichever is greater
- Math.max(
- elem.documentElement["client" + name],
- elem.body["scroll" + name], elem.documentElement["scroll" + name],
- elem.body["offset" + name], elem.documentElement["offset" + name]
- ) :
-
- // Get or set width or height on the element
- size === undefined ?
- // Get width or height on the element
- jQuery.css( elem, type ) :
-
- // Set the width or height on the element (default to pixels if value is unitless)
- this.css( type, typeof size === "string" ? size : size + "px" );
- };
-
-});
-// Expose jQuery to the global object
-window.jQuery = window.$ = jQuery;
-
-})(window);
+/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function( window, undefined ) { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, + + // Is it a simple selector + isSimple = /^.[^:#\[\.,]*$/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + rtrim = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The functions to execute on DOM ready + readyList = [], + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwnProperty = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + indexOf = Array.prototype.indexOf; + +jQuery.fn = jQuery.prototype = { + init: function( selector, context ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + if ( elem ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $("TAG") + } else if ( !context && /^\w+$/.test( selector ) ) { + this.selector = selector; + this.context = document; + selector = document.getElementsByTagName( selector ); + return jQuery.merge( this, selector ); + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return jQuery( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.4.2", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = jQuery(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // If the DOM is already ready + if ( jQuery.isReady ) { + // Execute the function immediately + fn.call( document, jQuery ); + + // Otherwise, remember the function for later + } else if ( readyList ) { + // Add the function to the wait list + readyList.push( fn ); + } + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || jQuery(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + // copy reference to target object + var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging object literal values or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || jQuery.isArray(copy) ) ) { + var clone = src && ( jQuery.isPlainObject(src) || jQuery.isArray(src) ) ? src + : jQuery.isArray(copy) ? [] : {}; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // Handle when the DOM is ready + ready: function() { + // Make sure that the DOM is not already loaded + if ( !jQuery.isReady ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 13 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If there are functions bound, to execute + if ( readyList ) { + // Execute all of them + var fn, i = 0; + while ( (fn = readyList[ i++ ]) ) { + fn.call( document, jQuery ); + } + + // Reset the list of functions + readyList = null; + } + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + return jQuery.ready(); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return toString.call(obj) === "[object Function]"; + }, + + isArray: function( obj ) { + return toString.call(obj) === "[object Array]"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || toString.call(obj) !== "[object Object]" || obj.nodeType || obj.setInterval ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor + && !hasOwnProperty.call(obj, "constructor") + && !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwnProperty.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@") + .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]") + .replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + + if ( jQuery.support.scriptEval ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + trim: function( text ) { + return (text || "").replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = []; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + if ( !inv !== !callback( elems[ i ], i ) ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + browser: {} +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch( error ) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +function evalScript( i, elem ) { + if ( elem.src ) { + jQuery.ajax({ + url: elem.src, + async: false, + dataType: "script" + }); + } else { + jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } +} + +// Mutifunctional method to get and set values to a collection +// The value/s can be optionally by executed if its a function +function access( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; +} + +function now() { + return (new Date).getTime(); +} +(function() { + + jQuery.support = {}; + + var root = document.documentElement, + script = document.createElement("script"), + div = document.createElement("div"), + id = "script" + now(); + + div.style.display = "none"; + div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: /red/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: div.getElementsByTagName("input")[0].value === "on", + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: document.createElement("select").appendChild( document.createElement("option") ).selected, + + parentNode: div.removeChild( div.appendChild( document.createElement("div") ) ).parentNode === null, + + // Will be defined later + deleteExpando: true, + checkClone: false, + scriptEval: false, + noCloneEvent: true, + boxModel: null + }; + + script.type = "text/javascript"; + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + jQuery.support.scriptEval = true; + delete window[ id ]; + } + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete script.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + root.removeChild( script ); + + if ( div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"); + div.style.width = div.style.paddingLeft = "1px"; + + document.body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + document.body.removeChild( div ).style.display = 'none'; + + div = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + root = script = div = all = a = null; +})(); + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; +var expando = "jQuery" + now(), uuid = 0, windowData = {}; + +jQuery.extend({ + cache: {}, + + expando:expando, + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + "object": true, + "applet": true + }, + + data: function( elem, name, data ) { + if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var id = elem[ expando ], cache = jQuery.cache, thisCache; + + if ( !id && typeof name === "string" && data === undefined ) { + return null; + } + + // Compute a unique ID for the element + if ( !id ) { + id = ++uuid; + } + + // Avoid generating a new cache unless none exists and we + // want to manipulate it. + if ( typeof name === "object" ) { + elem[ expando ] = id; + thisCache = cache[ id ] = jQuery.extend(true, {}, name); + + } else if ( !cache[ id ] ) { + elem[ expando ] = id; + cache[ id ] = {}; + } + + thisCache = cache[ id ]; + + // Prevent overriding the named cache with undefined values + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + return typeof name === "string" ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name ) { + if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var id = elem[ expando ], cache = jQuery.cache, thisCache = cache[ id ]; + + // If we want to remove a specific section of the element's data + if ( name ) { + if ( thisCache ) { + // Remove the section of cache data + delete thisCache[ name ]; + + // If we've removed all the data, remove the element's cache + if ( jQuery.isEmptyObject(thisCache) ) { + jQuery.removeData( elem ); + } + } + + // Otherwise, we want to remove all of the element's data + } else { + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } + + // Completely remove the data cache + delete cache[ id ]; + } + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + if ( typeof key === "undefined" && this.length ) { + return jQuery.data( this[0] ); + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + } + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } else { + return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function() { + jQuery.data( this, key, value ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i, elem ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); +var rclass = /[\n\t]/g, + rspace = /\s+/, + rreturn = /\r/g, + rspecialurl = /href|src|style/, + rtype = /(button|input)/i, + rfocusable = /(button|input|object|select|textarea)/i, + rclickable = /^(a|area)$/i, + rradiocheck = /radio|checkbox/; + +jQuery.fn.extend({ + attr: function( name, value ) { + return access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspace ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", setClass = elem.className; + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split(rspace); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, i = 0, self = jQuery(this), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery.data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( value === undefined ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + return (elem.attributes.value || {}).specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + if ( option.selected ) { + // Get the specifc value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Typecast each time if the value is a Function and the appended + // value is therefore different each time. + if ( typeof val === "number" ) { + val += ""; + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't set attributes on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + if ( name in elem && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + elem[ name ] = value; + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + + // elem is actually elem.style ... set the style + // Using attr for specific style information is now deprecated. Use style instead. + return jQuery.style( elem, name, value ); + } +}); +var rnamespaces = /\.(.*)$/, + fcleanup = function( nm ) { + return nm.replace(/[^\w\s\.\|`]/g, function( ch ) { + return "\\" + ch; + }); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( elem.setInterval && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery.data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events = elemData.events || {}, + eventHandle = elemData.handle, eventHandle; + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + handleObj.guid = handler.guid; + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + var ret, type, fn, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)") + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( var j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( var j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[expando] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + jQuery.each( jQuery.cache, function() { + if ( this.events && this.events[type] ) { + jQuery.event.trigger( event, data, this.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery.data( elem, "handle" ); + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (e) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var target = event.target, old, + isClick = jQuery.nodeName(target, "a") && type === "click", + special = jQuery.event.special[ type ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ type ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + type ]; + + if ( old ) { + target[ "on" + type ] = null; + } + + jQuery.event.triggered = true; + target[ type ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (e) {} + + if ( old ) { + target[ "on" + type ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace, events; + + event = arguments[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + var events = jQuery.data(this, "events"), handlers = events[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, arguments ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, body = document.body; + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) { + event.which = event.charCode || event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, handleObj.origType, jQuery.extend({}, handleObj, {handler: liveHandler}) ); + }, + + remove: function( handleObj ) { + var remove = true, + type = handleObj.origType.replace(rnamespaces, ""); + + jQuery.each( jQuery.data(this, "events").live || [], function() { + if ( type === this.origType.replace(rnamespaces, "") ) { + remove = false; + return false; + } + }); + + if ( remove ) { + jQuery.event.remove( this, handleObj.origType, liveHandler ); + } + } + + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( this.setInterval ) { + this.onbeforeunload = eventHandle; + } + + return false; + }, + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +var removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + elem.removeEventListener( type, handle, false ); + } : + function( elem, type, handle ) { + elem.detachEvent( "on" + type, handle ); + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = now(); + + // Mark it as fixed + this[ expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + } + // otherwise set the returnValue property of the original event to false (IE) + e.returnValue = false; + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + return trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + return trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var formElems = /textarea|input|select/i, + + changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !formElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery.data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery.data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + return jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + return testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + return testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information/focus[in] is not needed anymore + beforeactivate: function( e ) { + var elem = e.target; + jQuery.data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return formElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return formElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; +} + +function trigger( type, elem, args ) { + args[0].type = type; + return jQuery.event.handle.apply( elem, args ); +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + context.each(function(){ + jQuery.event.add( this, liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + }); + + } else { + // unbind live handler + context.unbind( liveConvert( type, selector ), fn ); + } + } + + return this; + } +}); + +function liveHandler( event ) { + var stop, elems = [], selectors = [], args = arguments, + related, match, handleObj, elem, j, i, l, data, + events = jQuery.data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) + if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) { + return; + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( match[i].selector === handleObj.selector ) { + elem = match[i].elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + if ( match.handleObj.origHandler.apply( match.elem, args ) === false ) { + stop = false; + break; + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return "live." + (type && type !== "*" ? type + "." : "") + selector.replace(/\./g, "`").replace(/ /g, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( fn ) { + return fn ? this.bind( name, fn ) : this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + +// Prevent memory leaks in IE +// Window isn't included so as not to unbind existing unload events +// More info: +// - http://isaacschlueter.com/2006/10/msie-memory-leaks/ +if ( window.attachEvent && !window.addEventListener ) { + window.attachEvent("onunload", function() { + for ( var id in jQuery.cache ) { + if ( jQuery.cache[ id ].handle ) { + // Try/Catch is to handle iframes being unloaded, see #4280 + try { + jQuery.event.remove( jQuery.cache[ id ].handle.elem ); + } catch(e) {} + } + } + }); +} +/*! + * Sizzle CSS Selector Engine - v1.0 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function(){ + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function(selector, context, results, seed) { + results = results || []; + var origContext = context = context || document; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var parts = [], m, set, checkSet, extra, prune = true, contextXML = isXML(context), + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + var ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0]; + } + + if ( context ) { + var ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray(set); + } else { + prune = false; + } + + while ( parts.length ) { + var cur = parts.pop(), pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + } else if ( context && context.nodeType === 1 ) { + for ( var i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + } else { + for ( var i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function(results){ + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort(sortOrder); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[i-1] ) { + results.splice(i--, 1); + } + } + } + } + + return results; +}; + +Sizzle.matches = function(expr, set){ + return Sizzle(expr, null, null, set); +}; + +Sizzle.find = function(expr, context, isXML){ + var set, match; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var type = Expr.order[i], match; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice(1,1); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + set = Expr.find[ type ]( match, context, isXML ); + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = context.getElementsByTagName("*"); + } + + return {set: set, expr: expr}; +}; + +Sizzle.filter = function(expr, set, inplace, not){ + var old = expr, result = [], curLoop = set, match, anyFound, + isXMLFilter = set && set[0] && isXML(set[0]); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var filter = Expr.filter[ type ], found, item, left = match[1]; + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + } else { + curLoop[i] = false; + } + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + match: { + ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + leftMatch: {}, + attrMap: { + "class": "className", + "for": "htmlFor" + }, + attrHandle: { + href: function(elem){ + return elem.getAttribute("href"); + } + }, + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.test(part), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + ">": function(checkSet, part){ + var isPartStr = typeof part === "string"; + + if ( isPartStr && !/\W/.test(part) ) { + part = part.toLowerCase(); + + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + } else { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + "": function(checkSet, part, isXML){ + var doneName = done++, checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + var nodeCheck = part = part.toLowerCase(); + checkFn = dirNodeCheck; + } + + checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); + }, + "~": function(checkSet, part, isXML){ + var doneName = done++, checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + var nodeCheck = part = part.toLowerCase(); + checkFn = dirNodeCheck; + } + + checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML); + } + }, + find: { + ID: function(match, context, isXML){ + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + return m ? [m] : []; + } + }, + NAME: function(match, context){ + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], results = context.getElementsByName(match[1]); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + TAG: function(match, context){ + return context.getElementsByTagName(match[1]); + } + }, + preFilter: { + CLASS: function(match, curLoop, inplace, result, not, isXML){ + match = " " + match[1].replace(/\\/g, "") + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + ID: function(match){ + return match[1].replace(/\\/g, ""); + }, + TAG: function(match, curLoop){ + return match[1].toLowerCase(); + }, + CHILD: function(match){ + if ( match[1] === "nth" ) { + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + ATTR: function(match, curLoop, inplace, result, not, isXML){ + var name = match[1].replace(/\\/g, ""); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + PSEUDO: function(match, curLoop, inplace, result, not){ + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + if ( !inplace ) { + result.push.apply( result, ret ); + } + return false; + } + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + POS: function(match){ + match.unshift( true ); + return match; + } + }, + filters: { + enabled: function(elem){ + return elem.disabled === false && elem.type !== "hidden"; + }, + disabled: function(elem){ + return elem.disabled === true; + }, + checked: function(elem){ + return elem.checked === true; + }, + selected: function(elem){ + // Accessing this property makes selected-by-default + // options in Safari work properly + elem.parentNode.selectedIndex; + return elem.selected === true; + }, + parent: function(elem){ + return !!elem.firstChild; + }, + empty: function(elem){ + return !elem.firstChild; + }, + has: function(elem, i, match){ + return !!Sizzle( match[3], elem ).length; + }, + header: function(elem){ + return /h\d/i.test( elem.nodeName ); + }, + text: function(elem){ + return "text" === elem.type; + }, + radio: function(elem){ + return "radio" === elem.type; + }, + checkbox: function(elem){ + return "checkbox" === elem.type; + }, + file: function(elem){ + return "file" === elem.type; + }, + password: function(elem){ + return "password" === elem.type; + }, + submit: function(elem){ + return "submit" === elem.type; + }, + image: function(elem){ + return "image" === elem.type; + }, + reset: function(elem){ + return "reset" === elem.type; + }, + button: function(elem){ + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + input: function(elem){ + return /input|select|textarea|button/i.test(elem.nodeName); + } + }, + setFilters: { + first: function(elem, i){ + return i === 0; + }, + last: function(elem, i, match, array){ + return i === array.length - 1; + }, + even: function(elem, i){ + return i % 2 === 0; + }, + odd: function(elem, i){ + return i % 2 === 1; + }, + lt: function(elem, i, match){ + return i < match[3] - 0; + }, + gt: function(elem, i, match){ + return i > match[3] - 0; + }, + nth: function(elem, i, match){ + return match[3] - 0 === i; + }, + eq: function(elem, i, match){ + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function(elem, match, i, array){ + var name = match[1], filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0; + } else if ( name === "not" ) { + var not = match[3]; + + for ( var i = 0, l = not.length; i < l; i++ ) { + if ( not[i] === elem ) { + return false; + } + } + + return true; + } else { + Sizzle.error( "Syntax error, unrecognized expression: " + name ); + } + }, + CHILD: function(elem, match){ + var type = match[1], node = elem; + switch (type) { + case 'only': + case 'first': + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + if ( type === "first" ) { + return true; + } + node = elem; + case 'last': + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + return true; + case 'nth': + var first = match[2], last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + if ( first === 0 ) { + return diff === 0; + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + ID: function(elem, match){ + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + TAG: function(elem, match){ + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + CLASS: function(elem, match){ + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + ATTR: function(elem, match){ + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + POS: function(elem, match, i, array){ + var name = match[2], filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){ + return "\\" + (num - 0 + 1); + })); +} + +var makeArray = function(array, results) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch(e){ + makeArray = function(array, results) { + var ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + } else { + if ( typeof array.length === "number" ) { + for ( var i = 0, l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + } else { + for ( var i = 0; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.compareDocumentPosition ? -1 : 1; + } + + var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1; + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} else if ( "sourceIndex" in document.documentElement ) { + sortOrder = function( a, b ) { + if ( !a.sourceIndex || !b.sourceIndex ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.sourceIndex ? -1 : 1; + } + + var ret = a.sourceIndex - b.sourceIndex; + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} else if ( document.createRange ) { + sortOrder = function( a, b ) { + if ( !a.ownerDocument || !b.ownerDocument ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.ownerDocument ? -1 : 1; + } + + var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange(); + aRange.setStart(a, 0); + aRange.setEnd(a, 0); + bRange.setStart(b, 0); + bRange.setEnd(b, 0); + var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange); + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +function getText( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += getText( elem.childNodes ); + } + } + + return ret; +} + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date).getTime(); + form.innerHTML = "<a name='" + id + "'/>"; + + // Inject it into the root element, check its status, and remove it quickly + var root = document.documentElement; + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function(match, context, isXML){ + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []; + } + }; + + Expr.filter.ID = function(elem, match){ + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + root = form = null; // release memory in IE +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function(match, context){ + var results = context.getElementsByTagName(match[1]); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = "<a href='#'></a>"; + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + Expr.attrHandle.href = function(elem){ + return elem.getAttribute("href", 2); + }; + } + + div = null; // release memory in IE +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, div = document.createElement("div"); + div.innerHTML = "<p class='TEST'></p>"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function(query, context, extra, seed){ + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && context.nodeType === 9 && !isXML(context) ) { + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(e){} + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + div = null; // release memory in IE + })(); +} + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "<div class='test e'></div><div class='test'></div>"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function(match, context, isXML) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + div = null; // release memory in IE +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + elem = elem[dir]; + var match = false; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + elem = elem[dir]; + var match = false; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +var contains = document.compareDocumentPosition ? function(a, b){ + return !!(a.compareDocumentPosition(b) & 16); +} : function(a, b){ + return a !== b && (a.contains ? a.contains(b) : true); +}; + +var isXML = function(elem){ + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function(selector, context){ + var tmpSet = [], later = "", match, + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = getText; +jQuery.isXMLDoc = isXML; +jQuery.contains = contains; + +return; + +window.Sizzle = Sizzle; + +})(); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + slice = Array.prototype.slice; + +// Implement the identical functionality for filter and not +var winnow = function( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +}; + +jQuery.fn.extend({ + find: function( selector ) { + var ret = this.pushStack( "", "find", selector ), length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + if ( jQuery.isArray( selectors ) ) { + var ret = [], cur = this[0], match, matches = {}, selector; + + if ( cur && selectors.length ) { + for ( var i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur }); + delete matches[selector]; + } + } + cur = cur.parentNode; + } + } + + return ret; + } + + var pos = jQuery.expr.match.POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + return this.map(function( i, cur ) { + while ( cur && cur.ownerDocument && cur !== context ) { + if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) { + return cur; + } + cur = cur.parentNode; + } + return null; + }); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context || this.context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, slice.call(arguments).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], cur = elem[dir]; + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g, + rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, + rtagName = /<([\w:]+)/, + rtbody = /<tbody/i, + rhtml = /<|&#?\w+;/, + rnocache = /<script|<object|<embed|<option|<style/i, + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, // checked="checked" or checked (html5) + fcloseTag = function( all, front, tag ) { + return rselfClosing.test( tag ) ? + all : + front + "></" + tag + ">"; + }, + wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + area: [ 1, "<map>", "</map>" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize <link> and <script> tags normally +if ( !jQuery.support.htmlSerialize ) { + wrapMap._default = [ 1, "div<div>", "</div>" ]; +} + +jQuery.fn.extend({ + text: function( text ) { + if ( jQuery.isFunction(text) ) { + return this.each(function(i) { + var self = jQuery(this); + self.text( text.call(this, i, self.text()) ); + }); + } + + if ( typeof text !== "object" && text !== undefined ) { + return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); + } + + return jQuery.text( this ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append(this); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + return this.each(function() { + jQuery( this ).wrapAll( html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } else if ( arguments.length ) { + var set = jQuery(arguments[0]); + set.push.apply( set, this.toArray() ); + return this.pushStack( set, "before", arguments ); + } + }, + + after: function() { + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } else if ( arguments.length ) { + var set = this.pushStack( this, "after", arguments ); + set.push.apply( set, jQuery(arguments[0]).toArray() ); + return set; + } + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }, + + clone: function( events ) { + // Do the clone + var ret = this.map(function() { + if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { + // IE copies events bound via attachEvent when + // using cloneNode. Calling detachEvent on the + // clone will also remove the events from the orignal + // In order to get around this, we use innerHTML. + // Unfortunately, this means some modifications to + // attributes in IE that are actually only stored + // as properties will not be copied (such as the + // the name attribute on an input). + var html = this.outerHTML, ownerDocument = this.ownerDocument; + if ( !html ) { + var div = ownerDocument.createElement("div"); + div.appendChild( this.cloneNode(true) ); + html = div.innerHTML; + } + + return jQuery.clean([html.replace(rinlinejQuery, "") + // Handle the case in IE 8 where action=/test/> self-closes a tag + .replace(/=([^="'>\s]+\/)>/g, '="$1">') + .replace(rleadingWhitespace, "")], ownerDocument)[0]; + } else { + return this.cloneNode(true); + } + }); + + // Copy the events from the original to the clone + if ( events === true ) { + cloneCopyEvent( this, ret ); + cloneCopyEvent( this.find("*"), ret.find("*") ); + } + + // Return the cloned set + return ret; + }, + + html: function( value ) { + if ( value === undefined ) { + return this[0] && this[0].nodeType === 1 ? + this[0].innerHTML.replace(rinlinejQuery, "") : + null; + + // See if we can take a shortcut and just use innerHTML + } else if ( typeof value === "string" && !rnocache.test( value ) && + (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && + !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { + + value = value.replace(rxhtmlTag, fcloseTag); + + try { + for ( var i = 0, l = this.length; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + if ( this[i].nodeType === 1 ) { + jQuery.cleanData( this[i].getElementsByTagName("*") ); + this[i].innerHTML = value; + } + } + + // If using innerHTML throws an exception, use the fallback method + } catch(e) { + this.empty().append( value ); + } + + } else if ( jQuery.isFunction( value ) ) { + this.each(function(i){ + var self = jQuery(this), old = self.html(); + self.empty().append(function(){ + return value.call( this, i, old ); + }); + }); + + } else { + this.empty().append( value ); + } + + return this; + }, + + replaceWith: function( value ) { + if ( this[0] && this[0].parentNode ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery(value).detach(); + } + + return this.each(function() { + var next = this.nextSibling, parent = this.parentNode; + + jQuery(this).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } else { + return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ); + } + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + var results, first, value = args[0], scripts = [], fragment, parent; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback, true ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call(this, i, table ? self.html() : undefined); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + parent = value && value.parentNode; + + // If we're in a fragment, just use that instead of building a new one + if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) { + results = { fragment: parent }; + + } else { + results = buildFragment( args, this, scripts ); + } + + fragment = results.fragment; + + if ( fragment.childNodes.length === 1 ) { + first = fragment = fragment.firstChild; + } else { + first = fragment.firstChild; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + callback.call( + table ? + root(this[i], first) : + this[i], + i > 0 || results.cacheable || this.length > 1 ? + fragment.cloneNode(true) : + fragment + ); + } + } + + if ( scripts.length ) { + jQuery.each( scripts, evalScript ); + } + } + + return this; + + function root( elem, cur ) { + return jQuery.nodeName(elem, "table") ? + (elem.getElementsByTagName("tbody")[0] || + elem.appendChild(elem.ownerDocument.createElement("tbody"))) : + elem; + } + } +}); + +function cloneCopyEvent(orig, ret) { + var i = 0; + + ret.each(function() { + if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) { + return; + } + + var oldData = jQuery.data( orig[i++] ), curData = jQuery.data( this, oldData ), events = oldData && oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( var type in events ) { + for ( var handler in events[ type ] ) { + jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); + } + } + } + }); +} + +function buildFragment( args, nodes, scripts ) { + var fragment, cacheable, cacheresults, + doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document); + + // Only cache "small" (1/2 KB) strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && + !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { + + cacheable = true; + cacheresults = jQuery.fragments[ args[0] ]; + if ( cacheresults ) { + if ( cacheresults !== 1 ) { + fragment = cacheresults; + } + } + } + + if ( !fragment ) { + fragment = doc.createDocumentFragment(); + jQuery.clean( args, doc, fragment, scripts ); + } + + if ( cacheable ) { + jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1; + } + + return { fragment: fragment, cacheable: cacheable }; +} + +jQuery.fragments = {}; + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var ret = [], insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery.fn[ original ].apply( jQuery(insert[i]), elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +}); + +jQuery.extend({ + clean: function( elems, context, fragment, scripts ) { + context = context || document; + + // !context.createElement fails in IE with an error but returns typeof 'object' + if ( typeof context.createElement === "undefined" ) { + context = context.ownerDocument || context[0] && context[0].ownerDocument || document; + } + + var ret = []; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" && !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + + } else if ( typeof elem === "string" ) { + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, fcloseTag); + + // Trim whitespace, otherwise indexOf won't work as expected + var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), + wrap = wrapMap[ tag ] || wrapMap._default, + depth = wrap[0], + div = context.createElement("div"); + + // Go to html and back, then peel off extra wrappers + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !jQuery.support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + var hasBody = rtbody.test(elem), + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare <thead> or <tfoot> + wrap[1] === "<table>" && !hasBody ? + div.childNodes : + []; + + for ( var j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + ret = jQuery.merge( ret, elem ); + } + } + + if ( fragment ) { + for ( var i = 0; ret[i]; i++ ) { + if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { + scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); + + } else { + if ( ret[i].nodeType === 1 ) { + ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); + } + fragment.appendChild( ret[i] ); + } + } + } + + return ret; + }, + + cleanData: function( elems ) { + var data, id, cache = jQuery.cache, + special = jQuery.event.special, + deleteExpando = jQuery.support.deleteExpando; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + id = elem[ jQuery.expando ]; + + if ( id ) { + data = cache[ id ]; + + if ( data.events ) { + for ( var type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + } else { + removeEvent( elem, type, data.handle ); + } + } + } + + if ( deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } + + delete cache[ id ]; + } + } + } +}); +// exclude the following css properties to add px +var rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, + ralpha = /alpha\([^)]*\)/, + ropacity = /opacity=([^)]*)/, + rfloat = /float/i, + rdashAlpha = /-([a-z])/ig, + rupper = /([A-Z])/g, + rnumpx = /^-?\d+(?:px)?$/i, + rnum = /^-?\d/, + + cssShow = { position: "absolute", visibility: "hidden", display:"block" }, + cssWidth = [ "Left", "Right" ], + cssHeight = [ "Top", "Bottom" ], + + // cache check for defaultView.getComputedStyle + getComputedStyle = document.defaultView && document.defaultView.getComputedStyle, + // normalize float css property + styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat", + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn.css = function( name, value ) { + return access( this, name, value, true, function( elem, name, value ) { + if ( value === undefined ) { + return jQuery.curCSS( elem, name ); + } + + if ( typeof value === "number" && !rexclude.test(name) ) { + value += "px"; + } + + jQuery.style( elem, name, value ); + }); +}; + +jQuery.extend({ + style: function( elem, name, value ) { + // don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // ignore negative width and height values #1599 + if ( (name === "width" || name === "height") && parseFloat(value) < 0 ) { + value = undefined; + } + + var style = elem.style || elem, set = value !== undefined; + + // IE uses filters for opacity + if ( !jQuery.support.opacity && name === "opacity" ) { + if ( set ) { + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // Set the alpha filter to set the opacity + var opacity = parseInt( value, 10 ) + "" === "NaN" ? "" : "alpha(opacity=" + value * 100 + ")"; + var filter = style.filter || jQuery.curCSS( elem, "filter" ) || ""; + style.filter = ralpha.test(filter) ? filter.replace(ralpha, opacity) : opacity; + } + + return style.filter && style.filter.indexOf("opacity=") >= 0 ? + (parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "": + ""; + } + + // Make sure we're using the right name for getting the float value + if ( rfloat.test( name ) ) { + name = styleFloat; + } + + name = name.replace(rdashAlpha, fcamelCase); + + if ( set ) { + style[ name ] = value; + } + + return style[ name ]; + }, + + css: function( elem, name, force, extra ) { + if ( name === "width" || name === "height" ) { + var val, props = cssShow, which = name === "width" ? cssWidth : cssHeight; + + function getWH() { + val = name === "width" ? elem.offsetWidth : elem.offsetHeight; + + if ( extra === "border" ) { + return; + } + + jQuery.each( which, function() { + if ( !extra ) { + val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; + } + + if ( extra === "margin" ) { + val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0; + } else { + val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; + } + }); + } + + if ( elem.offsetWidth !== 0 ) { + getWH(); + } else { + jQuery.swap( elem, props, getWH ); + } + + return Math.max(0, Math.round(val)); + } + + return jQuery.curCSS( elem, name, force ); + }, + + curCSS: function( elem, name, force ) { + var ret, style = elem.style, filter; + + // IE uses filters for opacity + if ( !jQuery.support.opacity && name === "opacity" && elem.currentStyle ) { + ret = ropacity.test(elem.currentStyle.filter || "") ? + (parseFloat(RegExp.$1) / 100) + "" : + ""; + + return ret === "" ? + "1" : + ret; + } + + // Make sure we're using the right name for getting the float value + if ( rfloat.test( name ) ) { + name = styleFloat; + } + + if ( !force && style && style[ name ] ) { + ret = style[ name ]; + + } else if ( getComputedStyle ) { + + // Only "float" is needed here + if ( rfloat.test( name ) ) { + name = "float"; + } + + name = name.replace( rupper, "-$1" ).toLowerCase(); + + var defaultView = elem.ownerDocument.defaultView; + + if ( !defaultView ) { + return null; + } + + var computedStyle = defaultView.getComputedStyle( elem, null ); + + if ( computedStyle ) { + ret = computedStyle.getPropertyValue( name ); + } + + // We should always get a number back from opacity + if ( name === "opacity" && ret === "" ) { + ret = "1"; + } + + } else if ( elem.currentStyle ) { + var camelCase = name.replace(rdashAlpha, fcamelCase); + + ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + if ( !rnumpx.test( ret ) && rnum.test( ret ) ) { + // Remember the original values + var left = style.left, rsLeft = elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + elem.runtimeStyle.left = elem.currentStyle.left; + style.left = camelCase === "fontSize" ? "1em" : (ret || 0); + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + elem.runtimeStyle.left = rsLeft; + } + } + + return ret; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var old = {}; + + // Remember the old values, and insert the new ones + for ( var name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + callback.call( elem ); + + // Revert the old values + for ( var name in options ) { + elem.style[ name ] = old[ name ]; + } + } +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + var width = elem.offsetWidth, height = elem.offsetHeight, + skip = elem.nodeName.toLowerCase() === "tr"; + + return width === 0 && height === 0 && !skip ? + true : + width > 0 && height > 0 && !skip ? + false : + jQuery.curCSS(elem, "display") === "none"; + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} +var jsc = now(), + rscript = /<script(.|\s)*?\/script>/gi, + rselectTextarea = /select|textarea/i, + rinput = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, + jsre = /=\?(&|$)/, + rquery = /\?/, + rts = /(\?|&)_=.*?(&|$)/, + rurl = /^(\w+:)?\/\/([^\/?#]+)/, + r20 = /%20/g, + + // Keep a copy of the old load method + _load = jQuery.fn.load; + +jQuery.fn.extend({ + load: function( url, params, callback ) { + if ( typeof url !== "string" ) { + return _load.call( this, url ); + + // Don't do a request if no elements are being requested + } else if ( !this.length ) { + return this; + } + + var off = url.indexOf(" "); + if ( off >= 0 ) { + var selector = url.slice(off, url.length); + url = url.slice(0, off); + } + + // Default to a GET request + var type = "GET"; + + // If the second parameter was provided + if ( params ) { + // If it's a function + if ( jQuery.isFunction( params ) ) { + // We assume that it's the callback + callback = params; + params = null; + + // Otherwise, build a param string + } else if ( typeof params === "object" ) { + params = jQuery.param( params, jQuery.ajaxSettings.traditional ); + type = "POST"; + } + } + + var self = this; + + // Request the remote document + jQuery.ajax({ + url: url, + type: type, + dataType: "html", + data: params, + complete: function( res, status ) { + // If successful, inject the HTML into all the matched elements + if ( status === "success" || status === "notmodified" ) { + // See if a selector was specified + self.html( selector ? + // Create a dummy div to hold the results + jQuery("<div />") + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(res.responseText.replace(rscript, "")) + + // Locate the specified elements + .find(selector) : + + // If not, just inject the full result + res.responseText ); + } + + if ( callback ) { + self.each( callback, [res.responseText, status, res] ); + } + } + }); + + return this; + }, + + serialize: function() { + return jQuery.param(this.serializeArray()); + }, + serializeArray: function() { + return this.map(function() { + return this.elements ? jQuery.makeArray(this.elements) : this; + }) + .filter(function() { + return this.name && !this.disabled && + (this.checked || rselectTextarea.test(this.nodeName) || + rinput.test(this.type)); + }) + .map(function( i, elem ) { + var val = jQuery(this).val(); + + return val == null ? + null : + jQuery.isArray(val) ? + jQuery.map( val, function( val, i ) { + return { name: elem.name, value: val }; + }) : + { name: elem.name, value: val }; + }).get(); + } +}); + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) { + jQuery.fn[o] = function( f ) { + return this.bind(o, f); + }; +}); + +jQuery.extend({ + + get: function( url, data, callback, type ) { + // shift arguments if data argument was omited + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = null; + } + + return jQuery.ajax({ + type: "GET", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + getScript: function( url, callback ) { + return jQuery.get(url, null, callback, "script"); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get(url, data, callback, "json"); + }, + + post: function( url, data, callback, type ) { + // shift arguments if data argument was omited + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = {}; + } + + return jQuery.ajax({ + type: "POST", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + ajaxSetup: function( settings ) { + jQuery.extend( jQuery.ajaxSettings, settings ); + }, + + ajaxSettings: { + url: location.href, + global: true, + type: "GET", + contentType: "application/x-www-form-urlencoded", + processData: true, + async: true, + /* + timeout: 0, + data: null, + username: null, + password: null, + traditional: false, + */ + // Create the request object; Microsoft failed to properly + // implement the XMLHttpRequest in IE7 (can't request local files), + // so we use the ActiveXObject when it is available + // This function can be overriden by calling jQuery.ajaxSetup + xhr: window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ? + function() { + return new window.XMLHttpRequest(); + } : + function() { + try { + return new window.ActiveXObject("Microsoft.XMLHTTP"); + } catch(e) {} + }, + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + script: "text/javascript, application/javascript", + json: "application/json, text/javascript", + text: "text/plain", + _default: "*/*" + } + }, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajax: function( origSettings ) { + var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings); + + var jsonp, status, data, + callbackContext = origSettings && origSettings.context || s, + type = s.type.toUpperCase(); + + // convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Handle JSONP Parameter Callbacks + if ( s.dataType === "jsonp" ) { + if ( type === "GET" ) { + if ( !jsre.test( s.url ) ) { + s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?"; + } + } else if ( !s.data || !jsre.test(s.data) ) { + s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; + } + s.dataType = "json"; + } + + // Build temporary JSONP function + if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) { + jsonp = s.jsonpCallback || ("jsonp" + jsc++); + + // Replace the =? sequence both in the query string and the data + if ( s.data ) { + s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); + } + + s.url = s.url.replace(jsre, "=" + jsonp + "$1"); + + // We need to make sure + // that a JSONP style response is executed properly + s.dataType = "script"; + + // Handle JSONP-style loading + window[ jsonp ] = window[ jsonp ] || function( tmp ) { + data = tmp; + success(); + complete(); + // Garbage collect + window[ jsonp ] = undefined; + + try { + delete window[ jsonp ]; + } catch(e) {} + + if ( head ) { + head.removeChild( script ); + } + }; + } + + if ( s.dataType === "script" && s.cache === null ) { + s.cache = false; + } + + if ( s.cache === false && type === "GET" ) { + var ts = now(); + + // try replacing _= if it is there + var ret = s.url.replace(rts, "$1_=" + ts + "$2"); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : ""); + } + + // If data is available, append data to url for get requests + if ( s.data && type === "GET" ) { + s.url += (rquery.test(s.url) ? "&" : "?") + s.data; + } + + // Watch for a new set of requests + if ( s.global && ! jQuery.active++ ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Matches an absolute URL, and saves the domain + var parts = rurl.exec( s.url ), + remote = parts && (parts[1] && parts[1] !== location.protocol || parts[2] !== location.host); + + // If we're requesting a remote document + // and trying to load JSON or Script with a GET + if ( s.dataType === "script" && type === "GET" && remote ) { + var head = document.getElementsByTagName("head")[0] || document.documentElement; + var script = document.createElement("script"); + script.src = s.url; + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + // Handle Script loading + if ( !jsonp ) { + var done = false; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function() { + if ( !done && (!this.readyState || + this.readyState === "loaded" || this.readyState === "complete") ) { + done = true; + success(); + complete(); + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + if ( head && script.parentNode ) { + head.removeChild( script ); + } + } + }; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709 and #4378). + head.insertBefore( script, head.firstChild ); + + // We handle everything using the script element injection + return undefined; + } + + var requestDone = false; + + // Create the request object + var xhr = s.xhr(); + + if ( !xhr ) { + return; + } + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open(type, s.url, s.async, s.username, s.password); + } else { + xhr.open(type, s.url, s.async); + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + // Set the correct header, if data is being sent + if ( s.data || origSettings && origSettings.contentType ) { + xhr.setRequestHeader("Content-Type", s.contentType); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[s.url] ) { + xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]); + } + + if ( jQuery.etag[s.url] ) { + xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]); + } + } + + // Set header so the called script knows that it's an XMLHttpRequest + // Only send the header if it's not a remote XHR + if ( !remote ) { + xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + } + + // Set the Accepts header for the server, depending on the dataType + xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ? + s.accepts[ s.dataType ] + ", */*" : + s.accepts._default ); + } catch(e) {} + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) === false ) { + // Handle the global AJAX counter + if ( s.global && ! --jQuery.active ) { + jQuery.event.trigger( "ajaxStop" ); + } + + // close opended socket + xhr.abort(); + return false; + } + + if ( s.global ) { + trigger("ajaxSend", [xhr, s]); + } + + // Wait for a response to come back + var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) { + // The request was aborted + if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) { + // Opera doesn't call onreadystatechange before this point + // so we simulate the call + if ( !requestDone ) { + complete(); + } + + requestDone = true; + if ( xhr ) { + xhr.onreadystatechange = jQuery.noop; + } + + // The transfer is complete and the data is available, or the request timed out + } else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) { + requestDone = true; + xhr.onreadystatechange = jQuery.noop; + + status = isTimeout === "timeout" ? + "timeout" : + !jQuery.httpSuccess( xhr ) ? + "error" : + s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? + "notmodified" : + "success"; + + var errMsg; + + if ( status === "success" ) { + // Watch for, and catch, XML document parse errors + try { + // process the data (runs the xml through httpData regardless of callback) + data = jQuery.httpData( xhr, s.dataType, s ); + } catch(err) { + status = "parsererror"; + errMsg = err; + } + } + + // Make sure that the request was successful or notmodified + if ( status === "success" || status === "notmodified" ) { + // JSONP handles its own success callback + if ( !jsonp ) { + success(); + } + } else { + jQuery.handleError(s, xhr, status, errMsg); + } + + // Fire the complete handlers + complete(); + + if ( isTimeout === "timeout" ) { + xhr.abort(); + } + + // Stop memory leaks + if ( s.async ) { + xhr = null; + } + } + }; + + // Override the abort handler, if we can (IE doesn't allow it, but that's OK) + // Opera doesn't fire onreadystatechange at all on abort + try { + var oldAbort = xhr.abort; + xhr.abort = function() { + if ( xhr ) { + oldAbort.call( xhr ); + } + + onreadystatechange( "abort" ); + }; + } catch(e) { } + + // Timeout checker + if ( s.async && s.timeout > 0 ) { + setTimeout(function() { + // Check to see if the request is still happening + if ( xhr && !requestDone ) { + onreadystatechange( "timeout" ); + } + }, s.timeout); + } + + // Send the data + try { + xhr.send( type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null ); + } catch(e) { + jQuery.handleError(s, xhr, null, e); + // Fire the complete handlers + complete(); + } + + // firefox 1.5 doesn't fire statechange for sync requests + if ( !s.async ) { + onreadystatechange(); + } + + function success() { + // If a local callback was specified, fire it and pass it the data + if ( s.success ) { + s.success.call( callbackContext, data, status, xhr ); + } + + // Fire the global callback + if ( s.global ) { + trigger( "ajaxSuccess", [xhr, s] ); + } + } + + function complete() { + // Process result + if ( s.complete ) { + s.complete.call( callbackContext, xhr, status); + } + + // The request was completed + if ( s.global ) { + trigger( "ajaxComplete", [xhr, s] ); + } + + // Handle the global AJAX counter + if ( s.global && ! --jQuery.active ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + + function trigger(type, args) { + (s.context ? jQuery(s.context) : jQuery.event).trigger(type, args); + } + + // return XMLHttpRequest to allow aborting the request etc. + return xhr; + }, + + handleError: function( s, xhr, status, e ) { + // If a local callback was specified, fire it + if ( s.error ) { + s.error.call( s.context || s, xhr, status, e ); + } + + // Fire the global callback + if ( s.global ) { + (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] ); + } + }, + + // Counter for holding the number of active queries + active: 0, + + // Determines if an XMLHttpRequest was successful or not + httpSuccess: function( xhr ) { + try { + // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 + return !xhr.status && location.protocol === "file:" || + // Opera returns 0 when status is 304 + ( xhr.status >= 200 && xhr.status < 300 ) || + xhr.status === 304 || xhr.status === 1223 || xhr.status === 0; + } catch(e) {} + + return false; + }, + + // Determines if an XMLHttpRequest returns NotModified + httpNotModified: function( xhr, url ) { + var lastModified = xhr.getResponseHeader("Last-Modified"), + etag = xhr.getResponseHeader("Etag"); + + if ( lastModified ) { + jQuery.lastModified[url] = lastModified; + } + + if ( etag ) { + jQuery.etag[url] = etag; + } + + // Opera returns 0 when status is 304 + return xhr.status === 304 || xhr.status === 0; + }, + + httpData: function( xhr, type, s ) { + var ct = xhr.getResponseHeader("content-type") || "", + xml = type === "xml" || !type && ct.indexOf("xml") >= 0, + data = xml ? xhr.responseXML : xhr.responseText; + + if ( xml && data.documentElement.nodeName === "parsererror" ) { + jQuery.error( "parsererror" ); + } + + // Allow a pre-filtering function to sanitize the response + // s is checked to keep backwards compatibility + if ( s && s.dataFilter ) { + data = s.dataFilter( data, type ); + } + + // The filter can actually parse the response + if ( typeof data === "string" ) { + // Get the JavaScript object, if JSON is used. + if ( type === "json" || !type && ct.indexOf("json") >= 0 ) { + data = jQuery.parseJSON( data ); + + // If the type is "script", eval it in global context + } else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) { + jQuery.globalEval( data ); + } + } + + return data; + }, + + // Serialize an array of form elements or a set of + // key/values into a query string + param: function( a, traditional ) { + var s = []; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray(a) || a.jquery ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( var prefix in a ) { + buildParams( prefix, a[prefix] ); + } + } + + // Return the resulting serialization + return s.join("&").replace(r20, "+"); + + function buildParams( prefix, obj ) { + if ( jQuery.isArray(obj) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || /\[\]$/.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + } else { + // If array item is non-scalar (array or object), encode its + // numeric index to resolve deserialization ambiguity issues. + // Note that rack (as of 1.0.0) can't currently deserialize + // nested arrays properly, and attempting to do so may cause + // a server error. Possible fixes are to modify rack's + // deserialization algorithm or to provide an option or flag + // to force array serialization to be shallow. + buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v ); + } + }); + + } else if ( !traditional && obj != null && typeof obj === "object" ) { + // Serialize object item. + jQuery.each( obj, function( k, v ) { + buildParams( prefix + "[" + k + "]", v ); + }); + + } else { + // Serialize scalar item. + add( prefix, obj ); + } + } + + function add( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction(value) ? value() : value; + s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value); + } + } +}); +var elemdisplay = {}, + rfxtypes = /toggle|show|hide/, + rfxnum = /^([+-]=)?([\d+-.]+)(.*)$/, + timerId, + fxAttrs = [ + // height animations + [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], + // width animations + [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], + // opacity animations + [ "opacity" ] + ]; + +jQuery.fn.extend({ + show: function( speed, callback ) { + if ( speed || speed === 0) { + return this.animate( genFx("show", 3), speed, callback); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + var old = jQuery.data(this[i], "olddisplay"); + + this[i].style.display = old || ""; + + if ( jQuery.css(this[i], "display") === "none" ) { + var nodeName = this[i].nodeName, display; + + if ( elemdisplay[ nodeName ] ) { + display = elemdisplay[ nodeName ]; + + } else { + var elem = jQuery("<" + nodeName + " />").appendTo("body"); + + display = elem.css("display"); + + if ( display === "none" ) { + display = "block"; + } + + elem.remove(); + + elemdisplay[ nodeName ] = display; + } + + jQuery.data(this[i], "olddisplay", display); + } + } + + // Set the display of the elements in a second loop + // to avoid the constant reflow + for ( var j = 0, k = this.length; j < k; j++ ) { + this[j].style.display = jQuery.data(this[j], "olddisplay") || ""; + } + + return this; + } + }, + + hide: function( speed, callback ) { + if ( speed || speed === 0 ) { + return this.animate( genFx("hide", 3), speed, callback); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + var old = jQuery.data(this[i], "olddisplay"); + if ( !old && old !== "none" ) { + jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display")); + } + } + + // Set the display of the elements in a second loop + // to avoid the constant reflow + for ( var j = 0, k = this.length; j < k; j++ ) { + this[j].style.display = "none"; + } + + return this; + } + }, + + // Save the old toggle function + _toggle: jQuery.fn.toggle, + + toggle: function( fn, fn2 ) { + var bool = typeof fn === "boolean"; + + if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) { + this._toggle.apply( this, arguments ); + + } else if ( fn == null || bool ) { + this.each(function() { + var state = bool ? fn : jQuery(this).is(":hidden"); + jQuery(this)[ state ? "show" : "hide" ](); + }); + + } else { + this.animate(genFx("toggle", 3), fn, fn2); + } + + return this; + }, + + fadeTo: function( speed, to, callback ) { + return this.filter(":hidden").css("opacity", 0).show().end() + .animate({opacity: to}, speed, callback); + }, + + animate: function( prop, speed, easing, callback ) { + var optall = jQuery.speed(speed, easing, callback); + + if ( jQuery.isEmptyObject( prop ) ) { + return this.each( optall.complete ); + } + + return this[ optall.queue === false ? "each" : "queue" ](function() { + var opt = jQuery.extend({}, optall), p, + hidden = this.nodeType === 1 && jQuery(this).is(":hidden"), + self = this; + + for ( p in prop ) { + var name = p.replace(rdashAlpha, fcamelCase); + + if ( p !== name ) { + prop[ name ] = prop[ p ]; + delete prop[ p ]; + p = name; + } + + if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) { + return opt.complete.call(this); + } + + if ( ( p === "height" || p === "width" ) && this.style ) { + // Store display property + opt.display = jQuery.css(this, "display"); + + // Make sure that nothing sneaks out + opt.overflow = this.style.overflow; + } + + if ( jQuery.isArray( prop[p] ) ) { + // Create (if needed) and add to specialEasing + (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1]; + prop[p] = prop[p][0]; + } + } + + if ( opt.overflow != null ) { + this.style.overflow = "hidden"; + } + + opt.curAnim = jQuery.extend({}, prop); + + jQuery.each( prop, function( name, val ) { + var e = new jQuery.fx( self, opt, name ); + + if ( rfxtypes.test(val) ) { + e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop ); + + } else { + var parts = rfxnum.exec(val), + start = e.cur(true) || 0; + + if ( parts ) { + var end = parseFloat( parts[2] ), + unit = parts[3] || "px"; + + // We need to compute starting value + if ( unit !== "px" ) { + self.style[ name ] = (end || 1) + unit; + start = ((end || 1) / e.cur(true)) * start; + self.style[ name ] = start + unit; + } + + // If a +=/-= token was provided, we're doing a relative animation + if ( parts[1] ) { + end = ((parts[1] === "-=" ? -1 : 1) * end) + start; + } + + e.custom( start, end, unit ); + + } else { + e.custom( start, val, "" ); + } + } + }); + + // For JS strict compliance + return true; + }); + }, + + stop: function( clearQueue, gotoEnd ) { + var timers = jQuery.timers; + + if ( clearQueue ) { + this.queue([]); + } + + this.each(function() { + // go in reverse order so anything added to the queue during the loop is ignored + for ( var i = timers.length - 1; i >= 0; i-- ) { + if ( timers[i].elem === this ) { + if (gotoEnd) { + // force the next step to be the last + timers[i](true); + } + + timers.splice(i, 1); + } + } + }); + + // start the next in the queue if the last step wasn't forced + if ( !gotoEnd ) { + this.dequeue(); + } + + return this; + } + +}); + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show", 1), + slideUp: genFx("hide", 1), + slideToggle: genFx("toggle", 1), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, callback ) { + return this.animate( props, speed, callback ); + }; +}); + +jQuery.extend({ + speed: function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? speed : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction(easing) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default; + + // Queueing + opt.old = opt.complete; + opt.complete = function() { + if ( opt.queue !== false ) { + jQuery(this).dequeue(); + } + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + }; + + return opt; + }, + + easing: { + linear: function( p, n, firstNum, diff ) { + return firstNum + diff * p; + }, + swing: function( p, n, firstNum, diff ) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; + } + }, + + timers: [], + + fx: function( elem, options, prop ) { + this.options = options; + this.elem = elem; + this.prop = prop; + + if ( !options.orig ) { + options.orig = {}; + } + } + +}); + +jQuery.fx.prototype = { + // Simple function for setting a style value + update: function() { + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); + + // Set display property to block for height/width animations + if ( ( this.prop === "height" || this.prop === "width" ) && this.elem.style ) { + this.elem.style.display = "block"; + } + }, + + // Get the current size + cur: function( force ) { + if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) { + return this.elem[ this.prop ]; + } + + var r = parseFloat(jQuery.css(this.elem, this.prop, force)); + return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0; + }, + + // Start an animation from one number to another + custom: function( from, to, unit ) { + this.startTime = now(); + this.start = from; + this.end = to; + this.unit = unit || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t( gotoEnd ) { + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && jQuery.timers.push(t) && !timerId ) { + timerId = setInterval(jQuery.fx.tick, 13); + } + }, + + // Simple 'show' function + show: function() { + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); + this.options.show = true; + + // Begin the animation + // Make sure that we start at a small width/height to avoid any + // flash of content + this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); + + // Start by showing the element + jQuery( this.elem ).show(); + }, + + // Simple 'hide' function + hide: function() { + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); + this.options.hide = true; + + // Begin the animation + this.custom(this.cur(), 0); + }, + + // Each step of an animation + step: function( gotoEnd ) { + var t = now(), done = true; + + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + for ( var i in this.options.curAnim ) { + if ( this.options.curAnim[i] !== true ) { + done = false; + } + } + + if ( done ) { + if ( this.options.display != null ) { + // Reset the overflow + this.elem.style.overflow = this.options.overflow; + + // Reset the display + var old = jQuery.data(this.elem, "olddisplay"); + this.elem.style.display = old ? old : this.options.display; + + if ( jQuery.css(this.elem, "display") === "none" ) { + this.elem.style.display = "block"; + } + } + + // Hide the element if the "hide" operation was done + if ( this.options.hide ) { + jQuery(this.elem).hide(); + } + + // Reset the properties, if the item has been hidden or shown + if ( this.options.hide || this.options.show ) { + for ( var p in this.options.curAnim ) { + jQuery.style(this.elem, p, this.options.orig[p]); + } + } + + // Execute the complete function + this.options.complete.call( this.elem ); + } + + return false; + + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + + // Perform the easing function, defaults to swing + var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop]; + var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear"); + this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + + // Perform the next step of the animation + this.update(); + } + + return true; + } +}; + +jQuery.extend( jQuery.fx, { + tick: function() { + var timers = jQuery.timers; + + for ( var i = 0; i < timers.length; i++ ) { + if ( !timers[i]() ) { + timers.splice(i--, 1); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + }, + + stop: function() { + clearInterval( timerId ); + timerId = null; + }, + + speeds: { + slow: 600, + fast: 200, + // Default speed + _default: 400 + }, + + step: { + opacity: function( fx ) { + jQuery.style(fx.elem, "opacity", fx.now); + }, + + _default: function( fx ) { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) { + fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit; + } else { + fx.elem[ fx.prop ] = fx.now; + } + } + } +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} + +function genFx( type, num ) { + var obj = {}; + + jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() { + obj[ this ] = type; + }); + + return obj; +} +if ( "getBoundingClientRect" in document.documentElement ) { + jQuery.fn.offset = function( options ) { + var elem = this[0]; + + if ( options ) { + return this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + if ( !elem || !elem.ownerDocument ) { + return null; + } + + if ( elem === elem.ownerDocument.body ) { + return jQuery.offset.bodyOffset( elem ); + } + + var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement, + clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, + top = box.top + (self.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop, + left = box.left + (self.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft; + + return { top: top, left: left }; + }; + +} else { + jQuery.fn.offset = function( options ) { + var elem = this[0]; + + if ( options ) { + return this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + if ( !elem || !elem.ownerDocument ) { + return null; + } + + if ( elem === elem.ownerDocument.body ) { + return jQuery.offset.bodyOffset( elem ); + } + + jQuery.offset.initialize(); + + var offsetParent = elem.offsetParent, prevOffsetParent = elem, + doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement, + body = doc.body, defaultView = doc.defaultView, + prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle, + top = elem.offsetTop, left = elem.offsetLeft; + + while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) { + if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { + break; + } + + computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle; + top -= elem.scrollTop; + left -= elem.scrollLeft; + + if ( elem === offsetParent ) { + top += elem.offsetTop; + left += elem.offsetLeft; + + if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.nodeName)) ) { + top += parseFloat( computedStyle.borderTopWidth ) || 0; + left += parseFloat( computedStyle.borderLeftWidth ) || 0; + } + + prevOffsetParent = offsetParent, offsetParent = elem.offsetParent; + } + + if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) { + top += parseFloat( computedStyle.borderTopWidth ) || 0; + left += parseFloat( computedStyle.borderLeftWidth ) || 0; + } + + prevComputedStyle = computedStyle; + } + + if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) { + top += body.offsetTop; + left += body.offsetLeft; + } + + if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { + top += Math.max( docElem.scrollTop, body.scrollTop ); + left += Math.max( docElem.scrollLeft, body.scrollLeft ); + } + + return { top: top, left: left }; + }; +} + +jQuery.offset = { + initialize: function() { + var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0, + html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; + + jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } ); + + container.innerHTML = html; + body.insertBefore( container, body.firstChild ); + innerDiv = container.firstChild; + checkDiv = innerDiv.firstChild; + td = innerDiv.nextSibling.firstChild.firstChild; + + this.doesNotAddBorder = (checkDiv.offsetTop !== 5); + this.doesAddBorderForTableAndCells = (td.offsetTop === 5); + + checkDiv.style.position = "fixed", checkDiv.style.top = "20px"; + // safari subtracts parent border width here which is 5px + this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15); + checkDiv.style.position = checkDiv.style.top = ""; + + innerDiv.style.overflow = "hidden", innerDiv.style.position = "relative"; + this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5); + + this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); + + body.removeChild( container ); + body = container = innerDiv = checkDiv = table = td = null; + jQuery.offset.initialize = jQuery.noop; + }, + + bodyOffset: function( body ) { + var top = body.offsetTop, left = body.offsetLeft; + + jQuery.offset.initialize(); + + if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) { + top += parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0; + left += parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0; + } + + return { top: top, left: left }; + }, + + setOffset: function( elem, options, i ) { + // set position first, in-case top/left are set even on static elem + if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) { + elem.style.position = "relative"; + } + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curTop = parseInt( jQuery.curCSS( elem, "top", true ), 10 ) || 0, + curLeft = parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || 0; + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + var props = { + top: (options.top - curOffset.top) + curTop, + left: (options.left - curOffset.left) + curLeft + }; + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + position: function() { + if ( !this[0] ) { + return null; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = /^body|html$/i.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.curCSS(elem, "marginTop", true) ) || 0; + offset.left -= parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.curCSS(offsetParent[0], "borderTopWidth", true) ) || 0; + parentOffset.left += parseFloat( jQuery.curCSS(offsetParent[0], "borderLeftWidth", true) ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( ["Left", "Top"], function( i, name ) { + var method = "scroll" + name; + + jQuery.fn[ method ] = function(val) { + var elem = this[0], win; + + if ( !elem ) { + return null; + } + + if ( val !== undefined ) { + // Set the scroll offset + return this.each(function() { + win = getWindow( this ); + + if ( win ) { + win.scrollTo( + !i ? val : jQuery(win).scrollLeft(), + i ? val : jQuery(win).scrollTop() + ); + + } else { + this[ method ] = val; + } + }); + } else { + win = getWindow( elem ); + + // Return the scroll offset + return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : + jQuery.support.boxModel && win.document.documentElement[ method ] || + win.document.body[ method ] : + elem[ method ]; + } + }; +}); + +function getWindow( elem ) { + return ("scrollTo" in elem && elem.document) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, outerHeight and outerWidth methods +jQuery.each([ "Height", "Width" ], function( i, name ) { + + var type = name.toLowerCase(); + + // innerHeight and innerWidth + jQuery.fn["inner" + name] = function() { + return this[0] ? + jQuery.css( this[0], type, false, "padding" ) : + null; + }; + + // outerHeight and outerWidth + jQuery.fn["outer" + name] = function( margin ) { + return this[0] ? + jQuery.css( this[0], type, false, margin ? "margin" : "border" ) : + null; + }; + + jQuery.fn[ type ] = function( size ) { + // Get window width or height + var elem = this[0]; + if ( !elem ) { + return size == null ? null : this; + } + + if ( jQuery.isFunction( size ) ) { + return this.each(function( i ) { + var self = jQuery( this ); + self[ type ]( size.call( this, i, self[ type ]() ) ); + }); + } + + return ("scrollTo" in elem && elem.document) ? // does it walk and quack like a window? + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode + elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] || + elem.document.body[ "client" + name ] : + + // Get document width or height + (elem.nodeType === 9) ? // is it a document + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater + Math.max( + elem.documentElement["client" + name], + elem.body["scroll" + name], elem.documentElement["scroll" + name], + elem.body["offset" + name], elem.documentElement["offset" + name] + ) : + + // Get or set width or height on the element + size === undefined ? + // Get width or height on the element + jQuery.css( elem, type ) : + + // Set the width or height on the element (default to pixels if value is unitless) + this.css( type, typeof size === "string" ? size : size + "px" ); + }; + +}); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +})(window); diff --git a/addons/webinterface.default/js/jquery-1.4.2.min.js b/addons/webinterface.default/js/jquery-1.4.2.min.js index ac7e7009dc..7c24308023 100644 --- a/addons/webinterface.default/js/jquery-1.4.2.min.js +++ b/addons/webinterface.default/js/jquery-1.4.2.min.js @@ -1,154 +1,154 @@ -/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
-e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
-j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
-"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
-true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
-c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
-L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
-"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
-a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
-d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
-a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
-!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
-true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
-parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
-s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
-applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
-else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
-a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
-w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
-cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
-i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
-" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
-this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
-e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
-c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
-a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
-function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
-k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
-C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
-null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
-e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
-f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
-if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
-"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
-a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
-isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
-{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
-if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
-e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
-"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
-d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
-!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
-toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
-u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
-function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
-if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
-t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
-g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
-for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
-1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
-CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
-relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
-l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
-h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
-CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
-g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
-text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
-setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
-h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
-m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
-"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
-h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
-!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
-h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
-q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
-if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
-(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
-function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
-gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
-c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
-{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
-"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
-d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
-a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
-1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
-a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
-""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
-this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
-u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
-1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
-return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
-""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
-c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
-c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
-function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
-Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
-"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
-a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
-a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
-"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
-serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
-function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
-global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
-e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
-"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
-false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
-false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
-c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
-d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
-g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
-1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
-"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
-if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
-this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
-"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
-animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
-j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
-this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
-"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
-c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
-this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
-this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
-e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
-c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
-function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
-this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
-k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
-f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
-a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
-c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
-d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
-"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
-e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
+/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i? +e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r= +j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g, +"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e= +true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)|| +c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded", +L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype, +"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+ +a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f], +d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]=== +a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&& +!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari= +true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ", +i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ", +" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className= +this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i= +e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!= +null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), +fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop|| +d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this, +"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent= +a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y, +isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit= +{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}}; +if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&& +!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}}, +toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector, +u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), +function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q]; +if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[]; +for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length- +1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, +CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}}, +relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]= +l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[]; +h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m= +m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition|| +!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m= +h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>"; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/, +gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length; +c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)? +a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&& +this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]|| +u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length=== +1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay"); +this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a], +"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)}, +animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing= +j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]); +this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length|| +c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement? +function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b= +this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle; +k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&& +f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); diff --git a/addons/webinterface.default/js/jquery.lazyload.js b/addons/webinterface.default/js/jquery.lazyload.js index b00e78a834..9e350c97be 100644 --- a/addons/webinterface.default/js/jquery.lazyload.js +++ b/addons/webinterface.default/js/jquery.lazyload.js @@ -1,165 +1,165 @@ -/*
- * Lazy Load - jQuery plugin for lazy loading images
- *
- * Copyright (c) 2007-2009 Mika Tuupola
- *
- * Licensed under the MIT license:
- * http://www.opensource.org/licenses/mit-license.php
- *
- * Project home:
- * http://www.appelsiini.net/projects/lazyload
- *
- * Version: 1.5.0
- *
- */
-
-(function($) {
-
- $.fn.lazyload = function(options) {
- var settings = {
- threshold : 0,
- failurelimit : 0,
- event : "scroll",
- effect : "show",
- container : window
- };
-
- if(options) {
- $.extend(settings, options);
- }
-
- /* Fire one scroll event per scroll. Not one scroll event per image. */
- var elements = this;
- if ("scroll" == settings.event) {
- $(settings.container).bind("scroll", function(event) {
-
- var counter = 0;
- elements.each(function() {
- if ($.abovethetop(this, settings) ||
- $.leftofbegin(this, settings)) {
- /* Nothing. */
- } else if (!$.belowthefold(this, settings) &&
- !$.rightoffold(this, settings)) {
- $(this).trigger("appear");
- } else {
- if (counter++ > settings.failurelimit) {
- return false;
- }
- }
- });
- /* Remove image from array so it is not looped next time. */
- var temp = $.grep(elements, function(element) {
- return !element.loaded;
- });
- elements = $(temp);
- });
- }
-
- this.each(function() {
- var self = this;
-
- /* Save original only if it is not defined in HTML. */
- if (undefined == $(self).attr("original")) {
- $(self).attr("original", $(self).attr("src"));
- }
-
- if ("scroll" != settings.event ||
- undefined == $(self).attr("src") ||
- settings.placeholder == $(self).attr("src") ||
- ($.abovethetop(self, settings) ||
- $.leftofbegin(self, settings) ||
- $.belowthefold(self, settings) ||
- $.rightoffold(self, settings) )) {
-
- if (settings.placeholder) {
- $(self).attr("src", settings.placeholder);
- } else {
- $(self).removeAttr("src");
- }
- self.loaded = false;
- } else {
- self.loaded = true;
- }
-
- /* When appear is triggered load original image. */
- $(self).one("appear", function() {
- if (!this.loaded) {
- $("<img />")
- .bind("load", function() {
- $(self)
- .hide()
- .attr("src", $(self).attr("original"))
- [settings.effect](settings.effectspeed);
- self.loaded = true;
- })
- .attr("src", $(self).attr("original"));
- };
- });
-
- /* When wanted event is triggered load original image */
- /* by triggering appear. */
- if ("scroll" != settings.event) {
- $(self).bind(settings.event, function(event) {
- if (!self.loaded) {
- $(self).trigger("appear");
- }
- });
- }
- });
-
- /* Force initial check if images should appear. */
- $(settings.container).trigger(settings.event);
-
- return this;
-
- };
-
- /* Convenience methods in jQuery namespace. */
- /* Use as $.belowthefold(element, {threshold : 100, container : window}) */
-
- $.belowthefold = function(element, settings) {
- if (settings.container === undefined || settings.container === window) {
- var fold = $(window).height() + $(window).scrollTop();
- } else {
- var fold = $(settings.container).offset().top + $(settings.container).height();
- }
- return fold <= $(element).offset().top - settings.threshold;
- };
-
- $.rightoffold = function(element, settings) {
- if (settings.container === undefined || settings.container === window) {
- var fold = $(window).width() + $(window).scrollLeft();
- } else {
- var fold = $(settings.container).offset().left + $(settings.container).width();
- }
- return fold <= $(element).offset().left - settings.threshold;
- };
-
- $.abovethetop = function(element, settings) {
- if (settings.container === undefined || settings.container === window) {
- var fold = $(window).scrollTop();
- } else {
- var fold = $(settings.container).offset().top;
- }
- return fold >= $(element).offset().top + settings.threshold + $(element).height();
- };
-
- $.leftofbegin = function(element, settings) {
- if (settings.container === undefined || settings.container === window) {
- var fold = $(window).scrollLeft();
- } else {
- var fold = $(settings.container).offset().left;
- }
- return fold >= $(element).offset().left + settings.threshold + $(element).width();
- };
- /* Custom selectors for your convenience. */
- /* Use as $("img:below-the-fold").something() */
-
- $.extend($.expr[':'], {
- "below-the-fold" : "$.belowthefold(a, {threshold : 0, container: window})",
- "above-the-fold" : "!$.belowthefold(a, {threshold : 0, container: window})",
- "right-of-fold" : "$.rightoffold(a, {threshold : 0, container: window})",
- "left-of-fold" : "!$.rightoffold(a, {threshold : 0, container: window})"
- });
-
+/* + * Lazy Load - jQuery plugin for lazy loading images + * + * Copyright (c) 2007-2009 Mika Tuupola + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/mit-license.php + * + * Project home: + * http://www.appelsiini.net/projects/lazyload + * + * Version: 1.5.0 + * + */ + +(function($) { + + $.fn.lazyload = function(options) { + var settings = { + threshold : 0, + failurelimit : 0, + event : "scroll", + effect : "show", + container : window + }; + + if(options) { + $.extend(settings, options); + } + + /* Fire one scroll event per scroll. Not one scroll event per image. */ + var elements = this; + if ("scroll" == settings.event) { + $(settings.container).bind("scroll", function(event) { + + var counter = 0; + elements.each(function() { + if ($.abovethetop(this, settings) || + $.leftofbegin(this, settings)) { + /* Nothing. */ + } else if (!$.belowthefold(this, settings) && + !$.rightoffold(this, settings)) { + $(this).trigger("appear"); + } else { + if (counter++ > settings.failurelimit) { + return false; + } + } + }); + /* Remove image from array so it is not looped next time. */ + var temp = $.grep(elements, function(element) { + return !element.loaded; + }); + elements = $(temp); + }); + } + + this.each(function() { + var self = this; + + /* Save original only if it is not defined in HTML. */ + if (undefined == $(self).attr("original")) { + $(self).attr("original", $(self).attr("src")); + } + + if ("scroll" != settings.event || + undefined == $(self).attr("src") || + settings.placeholder == $(self).attr("src") || + ($.abovethetop(self, settings) || + $.leftofbegin(self, settings) || + $.belowthefold(self, settings) || + $.rightoffold(self, settings) )) { + + if (settings.placeholder) { + $(self).attr("src", settings.placeholder); + } else { + $(self).removeAttr("src"); + } + self.loaded = false; + } else { + self.loaded = true; + } + + /* When appear is triggered load original image. */ + $(self).one("appear", function() { + if (!this.loaded) { + $("<img />") + .bind("load", function() { + $(self) + .hide() + .attr("src", $(self).attr("original")) + [settings.effect](settings.effectspeed); + self.loaded = true; + }) + .attr("src", $(self).attr("original")); + }; + }); + + /* When wanted event is triggered load original image */ + /* by triggering appear. */ + if ("scroll" != settings.event) { + $(self).bind(settings.event, function(event) { + if (!self.loaded) { + $(self).trigger("appear"); + } + }); + } + }); + + /* Force initial check if images should appear. */ + $(settings.container).trigger(settings.event); + + return this; + + }; + + /* Convenience methods in jQuery namespace. */ + /* Use as $.belowthefold(element, {threshold : 100, container : window}) */ + + $.belowthefold = function(element, settings) { + if (settings.container === undefined || settings.container === window) { + var fold = $(window).height() + $(window).scrollTop(); + } else { + var fold = $(settings.container).offset().top + $(settings.container).height(); + } + return fold <= $(element).offset().top - settings.threshold; + }; + + $.rightoffold = function(element, settings) { + if (settings.container === undefined || settings.container === window) { + var fold = $(window).width() + $(window).scrollLeft(); + } else { + var fold = $(settings.container).offset().left + $(settings.container).width(); + } + return fold <= $(element).offset().left - settings.threshold; + }; + + $.abovethetop = function(element, settings) { + if (settings.container === undefined || settings.container === window) { + var fold = $(window).scrollTop(); + } else { + var fold = $(settings.container).offset().top; + } + return fold >= $(element).offset().top + settings.threshold + $(element).height(); + }; + + $.leftofbegin = function(element, settings) { + if (settings.container === undefined || settings.container === window) { + var fold = $(window).scrollLeft(); + } else { + var fold = $(settings.container).offset().left; + } + return fold >= $(element).offset().left + settings.threshold + $(element).width(); + }; + /* Custom selectors for your convenience. */ + /* Use as $("img:below-the-fold").something() */ + + $.extend($.expr[':'], { + "below-the-fold" : "$.belowthefold(a, {threshold : 0, container: window})", + "above-the-fold" : "!$.belowthefold(a, {threshold : 0, container: window})", + "right-of-fold" : "$.rightoffold(a, {threshold : 0, container: window})", + "left-of-fold" : "!$.rightoffold(a, {threshold : 0, container: window})" + }); + })(jQuery);
\ No newline at end of file |