<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<UIX
  xmlns="http://schemas.microsoft.com/2007/uix"
  xmlns:page="res://ZuneShellResources!PageStack.uix"
  xmlns:zune="assembly://ZuneShell/ZuneUI"
  xmlns:iris="assembly://UIX/Microsoft.Iris"
  xmlns:data="res://ZuneShellResources!LibraryData.schema.xml"
  xmlns:core="res://ZuneShellResources!Controls.uix"
  xmlns:styles="res://ZuneShellResources!Styles.uix"
  xmlns:dbapi="assembly://ZuneDBApi/"
  xmlns:icons="res://ZuneShellResources!DeviceIcons.uix"
  xmlns:sys="assembly://mscorlib/System"
  xmlns:animations="res://ZuneShellResources!Animations.uix"
  xmlns:notification="res://ZuneShellResources!NotificationArea.uix"
  xmlns:gasgauge="res://ZuneShellResources!GasGauge.uix"
  xmlns:panels="res://ZuneShellResources!LibraryPanels.uix"
  xmlns:mctl="res://ZuneMarketplaceResources!Controls.uix"
  xmlns:me="Me">

  <UI Name="DeviceStatus" Base="page:PageBase">
    <Locals>
      <me:SyncStatusPage Name="InnerPage" ParentPage="{Page}"/>
      <ScrollingData Name="ScrollData"/>
    </Locals>

     <Input>
      <ScrollingHandler Name="ScrollHandler" ScrollingData="{ScrollData}"/>
    </Input>

    <Scripts>
      <Script>
        InnerPage.ParentPage = [Page];
      </Script>
      <Script>
        if ([zune:SyncControls.Instance.CurrentDeviceConnected])
        {
          Body.RequestSource([InnerPage.ChildPage], "Page", InnerPage);
          Body.MaximumSize = new Size(0,0);
        }
        else
        {
          Body.RequestSource(typeof(me:PleaseConnect));
          Body.MaximumSize = new Size(0, 350);
        }
      </Script>
      <Script> Content.ShowNear = [ScrollData.CanScrollUp]; </Script>
      <Script> Content.ShowFar = [ScrollData.CanScrollDown]; </Script>
    </Scripts>
    <Content>
      <Panel Layout="Anchor">
        <Children>
          <core:ScrollBar Name="ScrollBar" ScrollData="{ScrollData}">
            <LayoutInput>
              <AnchorLayoutInput Right="Parent,1"/>
            </LayoutInput>
          </core:ScrollBar>

          <Panel>
            <LayoutInput>
              <AnchorLayoutInput Left="Parent,0" Top="Parent,0"/>
            </LayoutInput>
            <Layout>
              <DockLayout SizeToChildren="true"/>
            </Layout>
            <Children>
              <me:HeroDevice Margins="0,39,47,0" MaximumSize="335,0">
                <LayoutInput>
                  <DockLayoutInput Position="Left" Alignment="Near"/>
                </LayoutInput>
              </me:HeroDevice>

              <Scroller Name="Content" FadeSize="5" Orientation="Vertical" ScrollingData="{ScrollData}" Margins="0,47,20,20">
                <LayoutInput>
                  <DockLayoutInput Position="Top" Alignment="Near"/>
                </LayoutInput>
                <Children>
                  <Host Name="Body"/>
                </Children>
              </Scroller>
            </Children>
          </Panel>

        </Children>
      </Panel>
    </Content>
  </UI>

  <UI Name="DeviceStatusInnerPageBase">
    <Properties>
      <me:SyncStatusPage Name="Page" SyncStatusPage="$Required"/>
      <Boolean Name="HandleBack" Boolean="true"/>
    </Properties>
    <Scripts>
      <Script>
        Page.ParentPage.ShouldHandleBack = [HandleBack];
      </Script>
      <Script>
        [DeclareTrigger(Page.ParentPage.BackHandled)]
        Page.ChildPage = "res://ZuneShellResources!DeviceStatus.uix#MainSyncStatus";
      </Script>
    </Scripts>
  </UI>

  <UI Name="MainSyncStatus" Base="me:DeviceStatusInnerPageBase">
    <Properties>
      <Boolean Name="HandleBack" Boolean="false"/>
    </Properties>
    <Content>
      <Panel>
        <Layout>
          <DockLayout SizeToChildren="true"/>
        </Layout>
        <Children>

          <me:SyncBucket Name="SyncedBucket"
                         Title="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_SYNCED_TITLE)}"
                         Status="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_SYNCED_STATUS)}"
                         BucketShowDelay="0.2"
                         Page="{Page}" Complete="true">
            <LayoutInput>
              <DockLayoutInput Position="Top"/>
            </LayoutInput>
          </me:SyncBucket>

          <me:SyncBucket Name="RemainingBucket"
                         Title="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_REMAINING_TITLE)}"
                         Status="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_REMAINING_STATUS)}"
                         BucketShowDelay="0.3"
                         Page="{Page}" Remaining="true">
            <LayoutInput>
              <DockLayoutInput Position="Top"/>
            </LayoutInput>
          </me:SyncBucket>

          <me:SyncBucket Name="RemovedBucket"
                         Title="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_REMOVED_TITLE)}"
                         Status="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_REMOVED_STATUS)}"
                         BucketShowDelay="0.4"
                         Page="{Page}" Complete="true" Operation="{zune:SyncControls.ConvertSyncOperationToInt(dbapi:ESyncOperation.eSyncOperationDeleteFromDevice)}">
            <LayoutInput>
              <DockLayoutInput Position="Top"/>
            </LayoutInput>
          </me:SyncBucket>

          <me:SyncBucket Name="FailedBucket"
                         Title="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_FAILED_TITLE)}"
                         Status="{zune:Shell.LoadString(zune:StringId.IDS_ITEMS_FAILED_STATUS)}"
                         BucketShowDelay="0.5"
                         Page="{Page}" Failed="true"
                         Destination="res://ZuneShellResources!DeviceStatusStandardDrilldown.uix#ErrorDrilldownPage">
            <LayoutInput>
              <DockLayoutInput Position="Top"/>
            </LayoutInput>
          </me:SyncBucket>

        </Children>
      </Panel>
    </Content>
  </UI>

  <UI Name="SyncBucket">
    <Properties>
      <String Name="Title" String="{null}"/>
      <String Name="Status" String="{null}"/>

      <Boolean Name="Remaining" Boolean="false"/>
      <Boolean Name="Complete" Boolean="false"/>
      <Boolean Name="Failed" Boolean="false"/>
      <Int32 Name="Operation" Int32="{zune:SyncControls.ConvertSyncOperationToInt(dbapi:ESyncOperation.eSyncOperationSendToDevice)}"/>

      <me:SyncStatusPage Name="Page" SyncStatusPage="$Required"/>

      <Inset Name="Margins" Inset="20,20,20,0"/>

      <String Name="Destination" String="res://ZuneShellResources!DeviceStatusStandardDrilldown.uix#StandardDrilldownPage"/>

      
      <Single Name="BucketShowDelay" Single="0.0"/>
      <TransformAnimation Name="SlideXForm" Delay="{BucketShowDelay + me:AnimationHelper.FlipLength}" Source="{animations:Animations.DeviceLandUIElementSlide}"/>
    </Properties>
    <Locals>
      <iris:Command Name="NavigateCommand"/>

      <data:LibrarySyncItemQuery Name="SyncItemQuery"
                                 DeviceId="{zune:SyncControls.Instance.CurrentDeviceID}"
                                 InitTime="{zune:SyncControls.Instance.StartupTime}"
                                 Remaining="{Remaining}"
                                 Complete="{Complete}"
                                 Failed="{Failed}"
                                 Operation="{Operation}"
                                 MediaType="{zune:SyncControls.ConvertSyncTypeToInt(zune:MediaType.Undefined)}"/>
    </Locals>
    <Scripts>
      <Script>
        TitleText.Content = [Title];
      </Script>
      <Script>
        Int32 count = [SyncItemQuery.Result.Items.Count];

        MainContainer.Visible = (count > 0);
        NavigateCommand.Description = [Status].Format(count);
      </Script>
      <Script>
        [DeclareTrigger(NavigateCommand.Invoked)]
        Page.Title = Title;
        Page.Remaining = Remaining;
        Page.Complete = Complete;
        Page.Failed = Failed;
        Page.Operation = Operation;
        Page.ChildPage = Destination;
      </Script>
    </Scripts>
    <Content>
      <Panel Name="MainContainer" Layout="Anchor">

        <Animations>
          <Animation Animation="{animations:Animations.MoveNow}"/>
          <SwitchAnimation SwitchAnimation="{me:AnimationHelper.DeviceLandUIElementSwitch}"/>
        </Animations>

        <Children>
          <core:Label Name="TitleText" Style="{styles:SharedStyles.SyncTitle}" ShowToolTipWhenClipped="false">
            <LayoutInput>
              <AnchorLayoutInput Top="Parent,0" Left="Parent,0"/>
            </LayoutInput>
          </core:Label>

          <mctl:MoreLink Name="StatusText" OverrideStyle="{styles:SharedStyles.SyncLink}"
                         Model="{NavigateCommand}" IconMargin="6,4,0,0"
                         Margins="0,2,0,33" KeyInteractiveNStuff="false">
            <LayoutInput>
              <AnchorLayoutInput Top="TitleText,1,-10" Left="Parent,0"/>
            </LayoutInput>
          </mctl:MoreLink>

        </Children>
      </Panel>
    </Content>
  </UI>

  <Class Name="SyncStatusPage">
    <Properties>
      <String Name="ChildPage" String="res://ZuneShellResources!DeviceStatus.uix#MainSyncStatus"/>

      <zune:ZunePage Name="ParentPage" ZunePage="$Required"/>

      <Boolean Name="Remaining"/>
      <Boolean Name="Complete"/>
      <Boolean Name="Failed"/>
      <Int32 Name="Operation"/>
      <String Name="Title"/>
    </Properties>
  </Class>

  <Class Name="QueryGroup">
    <Properties>
      
      <Boolean Name="Remaining" Boolean="$Required"/>
      <Boolean Name="Complete" Boolean="$Required"/>
      <Boolean Name="Failed" Boolean="$Required"/>
      <Int32 Name="Operation" Int32="$Required"/>

      
      <data:LibrarySyncItemQuery Name="MusicQuery"
                                 DeviceId="{zune:SyncControls.Instance.CurrentDeviceID}"
                                 InitTime="{zune:SyncControls.Instance.StartupTime}"
                                 Remaining="{Remaining}"
                                 Complete="{Complete}"
                                 Failed="{Failed}"
                                 Operation="{Operation}"
                                 MediaType="{zune:SyncControls.ConvertSyncTypeToInt(zune:MediaType.Track)}"/>
      <data:LibrarySyncItemQuery Name="VideoQuery"
                                 DeviceId="{zune:SyncControls.Instance.CurrentDeviceID}"
                                 InitTime="{zune:SyncControls.Instance.StartupTime}"
                                 Remaining="{Remaining}"
                                 Complete="{Complete}"
                                 Failed="{Failed}"
                                 Operation="{Operation}"
                                 MediaType="{zune:SyncControls.ConvertSyncTypeToInt(zune:MediaType.Video)}"/>
      <data:LibrarySyncItemQuery Name="PhotoQuery"
                                 DeviceId="{zune:SyncControls.Instance.CurrentDeviceID}"
                                 InitTime="{zune:SyncControls.Instance.StartupTime}"
                                 Remaining="{Remaining}"
                                 Complete="{Complete}"
                                 Failed="{Failed}"
                                 Operation="{Operation}"
                                 MediaType="{zune:SyncControls.ConvertSyncTypeToInt(zune:MediaType.Photo)}"/>
      <data:LibrarySyncItemQuery Name="PodcastQuery"
                                 DeviceId="{zune:SyncControls.Instance.CurrentDeviceID}"
                                 InitTime="{zune:SyncControls.Instance.StartupTime}"
                                 Remaining="{Remaining}"
                                 Complete="{Complete}"
                                 Failed="{Failed}"
                                 Operation="{Operation}"
                                 MediaType="{zune:SyncControls.ConvertSyncTypeToInt(zune:MediaType.PodcastEpisode)}"/>
      <Int32 Name="Count" Int32="0"/>
    </Properties>
    <Scripts>
      <Script>
        MusicQuery.Complete = [Complete];
        VideoQuery.Complete = Complete;
        PhotoQuery.Complete = Complete;
        PodcastQuery.Complete = Complete;
      </Script>
      <Script>
        MusicQuery.Remaining = [Remaining];
        VideoQuery.Remaining = Remaining;
        PhotoQuery.Remaining = Remaining;
        PodcastQuery.Remaining = Remaining;
      </Script>
      <Script>
        MusicQuery.Failed = [Failed];
        VideoQuery.Failed = Failed;
        PhotoQuery.Failed = Failed;
        PodcastQuery.Failed = Failed;
      </Script>
      <Script>
        MusicQuery.Operation = [Operation];
        VideoQuery.Operation = Operation;
        PhotoQuery.Operation = Operation;
        PodcastQuery.Operation = Operation;
      </Script>
      <Script>
        [DeclareTrigger(zune:SyncControls.Instance.CurrentDeviceID)]

        MusicQuery.DeviceId = zune:SyncControls.Instance.CurrentDeviceID;
        VideoQuery.DeviceId = zune:SyncControls.Instance.CurrentDeviceID;
        PhotoQuery.DeviceId = zune:SyncControls.Instance.CurrentDeviceID;
        PodcastQuery.DeviceId = zune:SyncControls.Instance.CurrentDeviceID;
      </Script>

      <Script>
        Count = [MusicQuery.Result.Items.Count] +
        [VideoQuery.Result.Items.Count] +
        [PhotoQuery.Result.Items.Count] +
        [PodcastQuery.Result.Items.Count];
      </Script>
    </Scripts>
  </Class>

  <UI Name="HeroDevice">
    <Locals>
      <icons:DeviceIcons Name="DeviceIcons" DeviceIcons="{icons:DeviceIconWrapper.DeviceIcons}"/>
      <zune:DeviceChoice Name="Devices"/>

      <iris:Command Name="PreviousDeviceCommand" Description="{zune:Shell.LoadString(zune:StringId.IDS_CHANGE_TO_PREVIOUS_DEVICE)}"/>
      <iris:Command Name="NextDeviceCommand" Description="{zune:Shell.LoadString(zune:StringId.IDS_CHANGE_TO_NEXT_DEVICE)}"/>

      <Single Name="ShineLength" Single="0.3"/>
      
      <Single Name="Overlap"     Single="0.05"/>

      
      
      <Animation Name="DeviceSlide" CenterPointPercent="0.5,0.5,1.0">
        <Keyframes>
          <AlphaKeyframe Time="0.0"     Value="0.0"/>
          <AlphaKeyframe Time="0.1"     Value="1.0"/>
          <ScaleKeyframe Time="0.0"     Value="0.95,0.95,1.0"/>
          <ScaleKeyframe Time="{me:AnimationHelper.SlideLength}" RelativeTo="Final"/>
          <PositionKeyframe Time="0.0"  Value="-10,0,0" Interpolation="EaseIn,1.5,0.8"/>
          <PositionKeyframe Time="{me:AnimationHelper.SlideLength}" RelativeTo="Final"/>
        </Keyframes>
      </Animation>

       <Animation Name="ShineSlide" CenterPointPercent="0.5,0.5,1.0">
        <Keyframes>
          <AlphaKeyframe    Time="0.0"            Value="0.7"/>
          <AlphaKeyframe    Time="{ShineLength * 0.5}" Value="0.6"/>
          <AlphaKeyframe    Time="{ShineLength}"  Value="0.0"/>
          <PositionKeyframe Time="0.0"            Value="-200,-150,0"/>
          <PositionKeyframe Time="{ShineLength}"  Value="50,25,0"/>
          <ScaleKeyframe    Time="0.0"            Value="0.8,0.8,1.0"/>
          <ScaleKeyframe    Time="{ShineLength}"  Value="1,1,1" RelativeTo="Final"/>
        </Keyframes>
      </Animation>
    </Locals>

    <Scripts>
      <Script>
          ProgressNotification.Model = [zune:SyncControls.Instance.Notification];
      </Script>
      <Script>
        <![CDATA[
        if ([zune:SyncControls.Instance.CurrentDeviceConnected])
        {
          DeviceName.Content = sys:String.Format(zune:Shell.LoadString(zune:StringId.IDS_DEVICE_NAME_STRING),
          [zune:SyncControls.Instance.CurrentDeviceName],
          [zune:SyncControls.Instance.CurrentDeviceCapacity]);
        }
        else
        {
          DeviceName.Content = sys:String.Format("<b>{0}</b>", zune:SyncControls.Instance.CurrentDeviceName);
        }
        ]]>
      </Script>
      <Script>
        
        if ([zune:SyncControls.Instance.CurrentDeviceConnected])
        {
          
        }
        else
        {
          
        }
      </Script>
      <Script>
        Image.Content = [DeviceIcons.Current.LargeImage];
      </Script>

      <Script>
        <![CDATA[
        StartButton.Visible = ![zune:SyncControls.Instance.CurrentDeviceSyncing] && [zune:SyncControls.Instance.CurrentDeviceConnected];
        StopButton.Visible = zune:SyncControls.Instance.CurrentDeviceSyncing && zune:SyncControls.Instance.CurrentDeviceConnected;
        ]]>
      </Script>

      <Script>
        Boolean deviceChooserVisible = [((iris:ArrayListDataSet)Devices.Options).Count] > 1;

        PreviousDeviceButton.Visible = deviceChooserVisible;
        NextDeviceButton.Visible = deviceChooserVisible;
      </Script>

      <Script>
        [DeclareTrigger(PreviousDeviceCommand.Invoked)]
        Devices.PreviousValue(true);
      </Script>
      <Script>
        [DeclareTrigger(NextDeviceCommand.Invoked)]
        Devices.NextValue(true);
      </Script>

      <Script>
        SmallDeviceImage.Visible = me:AnimationHelper.PlayFlipAnimation;
      </Script>

    </Scripts>
    <Content>
      <Panel Layout="Anchor">
        <Children>

          <Panel Name="DeviceImagePanel" Layout="Anchor" Margins="0,0,0,120">
            <LayoutInput>
              <AnchorLayoutInput Top="Parent,0" Left="Parent,0" Horizontal="Fill"/>
            </LayoutInput>
            <Children>

              <Graphic Name="Image" Content="{DeviceIcons.Current.LargeImage}"
                       StretchingPolicy="Uniform"
                       HorizontalAlignment="Center"
                       MaximumSize="350,300"
                       Layout="Form"
                       Margins="0,0,25,0">
                <LayoutInput>
                  <AnchorLayoutInput Top="Parent,0" Horizontal="Fill"/>
                </LayoutInput>

                <Animations>
                  <Animation Animation="{animations:Animations.MoveNow}"/>
                  <SwitchAnimation Type="Show" Expression="{me:AnimationHelper.ShowAnim}">
                    <Options>
                      <TransformAnimation Name="Flip" Delay="{me:AnimationHelper.FlipLength - Overlap}" Source="{DeviceSlide}"/>
                      <Animation Name="Slide" Animation="{DeviceSlide}"/>
                    </Options>
                  </SwitchAnimation>
                  
                  <Animation Animation="{animations:Animations.QuickContentChangeShow}"/>
                  <Animation Animation="{animations:Animations.QuickContentChangeHide}"/>
                </Animations>

                 <Children>
                  
                  <Graphic Name="Shine" Content="{styles:Styles.CDShine}" SizingPolicy="SizeToConstraint" Scale="0.5,0.5,0">
                    <LayoutInput>
                      <FormLayoutInput ContributesToHeight="false" Left="Parent,0" Top="Parent,0"/>
                    </LayoutInput>

                    <Animations>
                      <Animation Animation="{animations:Animations.MoveNow}"/>
                      <SwitchAnimation Type="Show" Expression="{me:AnimationHelper.ShowAnim}">
                        <Options>
                          <TransformAnimation Name="Flip" Delay="{me:AnimationHelper.FlipLength}" Source="{ShineSlide}"/>
                          <Animation Name="Slide" Animation="{ShineSlide}"/>
                        </Options>
                      </SwitchAnimation>
                    </Animations>
                  </Graphic>
                </Children>
              </Graphic>

              
              
              
              
              <Panel>
                <LayoutInput>
                  <AnchorLayoutInput Left="Parent,0" Top="Parent,0"/>
                </LayoutInput>
                <Animations>
                  <Animation Animation="{animations:Animations.MoveNow}"/>
                  <SwitchAnimation Type="Show" Expression="{me:AnimationHelper.ShowAnim}">
                    <Options>
                      <Animation Name="Flip">
                        <Keyframes>
                          <PositionKeyframe Time="0.0" Value="-80,0,0" Interpolation="EaseOut,1.1,0.7"/>
                          <PositionKeyframe Time="{me:AnimationHelper.FlipLength}" Value="38,0,0"/>
                          
                          <AlphaKeyframe    Time="0.0"                                       Value="0.0"/>
                          <AlphaKeyframe    Time="0.1"                                       Value="1.0"/>
                          <AlphaKeyframe    Time="{me:AnimationHelper.FlipLength}"           Value="1.0"/>
                          <AlphaKeyframe    Time="{me:AnimationHelper.FlipLength + Overlap}" Value="0.0"/>
                        </Keyframes>
                      </Animation>
                    </Options>
                  </SwitchAnimation>
                </Animations>

                <Children>
                  
                  <Graphic Name="SmallDeviceImage" Content="{DeviceIcons.Current.LargeImage}" StretchingPolicy="Uniform" MaximumSize="0,300" >
                    <Animations>
                      <Animation Animation="{animations:Animations.MoveNow}"/>
                      <SwitchAnimation Type="Show" Expression="{me:AnimationHelper.ShowAnim}">
                        <Options>
                          <Animation Name="Flip" CenterPointPercent="0.5,0.5,1.0">
                            <Keyframes>
                              <PositionKeyframe Time="0.0"                                   Value="0,200,0" Interpolation="EaseIn,2.0,0.7"/>
                              <PositionKeyframe Time="{me:AnimationHelper.FlipLength}"       Value="0,0,0"/>
                              <ScaleKeyframe    Time="0.00"                                  Value="0.1,0.1,1" Interpolation="EaseIn,2.0,0.99"/>
                              <ScaleKeyframe    Time="{me:AnimationHelper.FlipLength * 0.8}" Value="0.75,0.75,1" Interpolation="EaseIn,2.0,0.99"/>
                              <ScaleKeyframe    Time="{me:AnimationHelper.FlipLength}"       Value="0.95,0.95,1"/>
                            </Keyframes>
                          </Animation>
                        </Options>
                      </SwitchAnimation>
                    </Animations>
                  </Graphic>
                </Children>
              </Panel>

              <Panel Layout="Dock">
                <LayoutInput>
                  <AnchorLayoutInput Left="Image,0,55" Right="Image,1,-50" Top="Image,0.75" Bottom="Image,1"/>
                </LayoutInput>

                <Animations>
                  <Animation Animation="{animations:Animations.MoveNow}"/>
                  <SwitchAnimation Type="Show" Expression="{me:AnimationHelper.ShowAnim}">
                    <Options>
                      <TransformAnimation Name="Flip" Delay="{me:AnimationHelper.FlipLength}" Source="{animations:Animations.BasicFadeIn}"/>
                      <Animation Name="Slide" Animation="{animations:Animations.BasicFadeIn}"/>
                    </Options>
                  </SwitchAnimation>
                </Animations>

                <Children>
                  <core:IconButton Name="PreviousDeviceButton"
                                   Model="{PreviousDeviceCommand}"
                                   Image="res://ZuneShellResources!PreviousDevice.png"
                                   HoverImage="res://ZuneShellResources!PreviousDevice.Hover.png"
                                   PressedImage="res://ZuneShellResources!PreviousDevice.Pressed.png">
                    <LayoutInput>
                      <DockLayoutInput Position="Left"/>
                    </LayoutInput>
                  </core:IconButton>

                  <core:IconButton Name="NextDeviceButton"
                                   Model="{NextDeviceCommand}"
                                   Image="res://ZuneShellResources!NextDevice.png"
                                   HoverImage="res://ZuneShellResources!NextDevice.Hover.png"
                                   PressedImage="res://ZuneShellResources!NextDevice.Pressed.png">
                    <LayoutInput>
                      <DockLayoutInput Position="Right" />
                    </LayoutInput>
                  </core:IconButton>
                </Children>
              </Panel>
            </Children>
          </Panel>

          
          <Panel>
            <LayoutInput>
              <AnchorLayoutInput Top="DeviceImagePanel,1,-120" Left="Parent,0" Horizontal="Fill"/>
            </LayoutInput>

            <Layout>
              <DockLayout DefaultLayoutInput="Top,Center" SizeToChildren="true"/>
            </Layout>

            <Animations>
              <Animation Animation="{animations:Animations.MoveNow}"/>
              <SwitchAnimation SwitchAnimation="{me:AnimationHelper.DeviceLandUIElementSwitch}"/>
            </Animations>

            <Children>
              <core:Label Name="DeviceName" Margins="0,2,0,0" ShowToolTipWhenClipped="false">
                <NamedStyles>
                  <TextStyle Name="b" TextStyle="{styles:SharedStyles.DeviceNameStyle}"/>
                  <TextStyle Name="l" TextStyle="{styles:SharedStyles.DeviceSizeStyle}"/>
                </NamedStyles>
              </core:Label>

              <notification:StandaloneProgressArea Name="ProgressNotification" Model="{null}" MinimumSize="295,0" />

              <core:BigActionButton Name="StartButton" Model="{zune:SyncControls.Instance.StartSyncCommand}"/>
              <core:BigActionButton Name="StopButton" Model="{zune:SyncControls.Instance.StopSyncCommand}"/>
            </Children>
          </Panel>
        </Children>
      </Panel>
    </Content>
  </UI>

  <UI Name="DeviceBackground" Base="page:PageBase">
    <Locals>
      <icons:DeviceIcons Name="DeviceIcons" DeviceIcons="{icons:DeviceIconWrapper.DeviceIcons}"/>
    </Locals>
    <Scripts>
      <Script>
        BackgroundOverlayGraphic.Content = [DeviceIcons.Current.Background];
      </Script>
    </Scripts>
    <Content>
      <Panel Margins="1,1,1,7" Layout="Dock">
        <Children>
          
          <Graphic Name="BackgroundOverlayGraphic" SizingPolicy="SizeToContent">
            <LayoutInput>
              <DockLayoutInput Position="Bottom" Alignment="Fill"/>
            </LayoutInput>
            <Animations>
              <Animation Animation="{animations:Animations.BasicContentChangeShow}"/>
              <Animation Animation="{animations:Animations.BasicContentChangeHide}"/>
            </Animations>
          </Graphic>
        </Children>
      </Panel>
    </Content>
  </UI>

  <UI Name="GasGauge" Base="page:PageBase">
    <Scripts>
      <Script>
        GasGauge.Visible = [zune:SyncControls.Instance.CurrentDeviceConnected];
      </Script>
    </Scripts>
    <Content>

      <gasgauge:GasGauge Name="GasGauge"/>

    </Content>
  </UI>

  
  <UI Name="PleaseConnect">
    <Content>
      <Panel Layout="Center">
        <Children>

          <core:Label Content="{zune:Shell.LoadString(zune:StringId.IDS_PLEASE_CONNECT_TO_SEE_STATUS)}"
                      Style="{styles:SharedStyles.PleaseConnectStyle}" WordWrap="true">
            <Animations>
              <Animation Animation="{animations:Animations.DeviceLandUIElementSlide}"/>
            </Animations>
          </core:Label>

        </Children>
      </Panel>
    </Content>
  </UI>

  <UI Name="PleaseConnectPanel" Base="panels:LibraryPanelBase">
    <Properties>
      <Single Name="MinimumPercent" Single="0.50"/>
    </Properties>
    <Content>

      <me:PleaseConnect/>

    </Content>
  </UI>

  <Class Name="AnimationHelper" Base="animations:FlipAnimationHelper"/>

</UIX>
