<Page xmlns:local="clr-namespace:ForzaUI"
	  xmlns:System="clr-namespace:System;assembly=mscorlib"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
	  x:Class="ForzaUI.A_LabyrinthRealmLeaderboard"
      mc:Ignorable="d"
	  Style="{StaticResource A_Style_Page_Generic}"
      DataContext="{Binding RelativeSource={RelativeSource Self}}"
      >

    <local:UIPageTransitionManager.TransitionManager>
        <local:UIPageTransitionManager Preset="{StaticResource A_UIPageTransitionManagerPreset_Menu}"/>
    </local:UIPageTransitionManager.TransitionManager>

    <Page.Resources>
        <ResourceDictionary>
            <GridLength x:Key="A_GridLength_Column_DriverName_Width">410</GridLength>
            <GridLength x:Key="A_GridLength_Column_CarName_Width">202</GridLength>
            <GridLength x:Key="A_GridLength_Column_CarClass_Width">168</GridLength>
            <GridLength x:Key="A_GridLength_Column_Score_Width">148</GridLength>

            <!-- Row Templates -->
            <ControlTemplate x:Key="A_ControlTemplate_HeaderRow" TargetType="Control">
                <local:FZMaterial Style="{StaticResource A_Style_FZMaterial_FlatPanel_HeaderPill}" >
                    <Grid Margin="18,0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="{StaticResource A_GridLength_Column_DriverName_Width}"/>
                            <ColumnDefinition Width="{StaticResource A_GridLength_Column_Spacer_Width}"/>
                            <ColumnDefinition Width="{StaticResource A_GridLength_Column_CarName_Width}"/>
                            <ColumnDefinition Width="{StaticResource A_GridLength_Column_Spacer_Width}"/>
                            <ColumnDefinition Width="{StaticResource A_GridLength_Column_CarClass_Width}"/>
                            <ColumnDefinition Width="{StaticResource A_GridLength_Column_Spacer_Width}"/>
                            <ColumnDefinition Width="{StaticResource A_GridLength_Column_Score_Width}"/>
                        </Grid.ColumnDefinitions>
                        <local:FZTextBlock Grid.Column="0" Text="{local:Loc PreRaceMenu.IDS_StartingGrid_DriverName}" Style="{StaticResource A_Style_FZTextBlock_DriverListHeading}" />
                        <local:FZTextBlock Grid.Column="2" Text="{local:Loc PreRaceMenu.IDS_StartingGrid_CarName}" Style="{StaticResource A_Style_FZTextBlock_DriverListHeading}" />
                        <local:FZTextBlock Grid.Column="4" Text="{local:Loc PreRaceMenu.IDS_StartingGrid_Class}" Style="{StaticResource A_Style_FZTextBlock_DriverListHeading}" />
                        <local:FZTextBlock Grid.Column="6" Text="{local:Loc PreRaceMenu.IDS_Labyrinth_SkillScore}" Style="{StaticResource A_Style_FZTextBlock_DriverListHeading}" />
                    </Grid>
                </local:FZMaterial>
            </ControlTemplate>
            
            <ControlTemplate x:Key="A_ControlTemplate_Cell_LabyrinthScore">
                <local:FZTextBlock Text="{Binding LabyrinthScore}" Style="{StaticResource A_Style_FZTextBlock_LeaderboardRow}" />
            </ControlTemplate>


            <ControlTemplate x:Key="A_ControlTemplate_Row" TargetType="ListBoxItem">
                <Grid>
                    <StackPanel Name="Content" Orientation="Horizontal" Visibility="{Binding IsLoading, Converter={StaticResource A_FZBooleanToVisibilityConverter_Inverse}}">
                        <ContentControl Style="{StaticResource A_Style_ContentControl_SelectableRow}">
                            <Grid Margin="18,0">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="{StaticResource A_GridLength_Column_DriverName_Width}"/>
                                    <ColumnDefinition Width="{StaticResource A_GridLength_Column_Spacer_Width}"/>
                                    <ColumnDefinition Width="{StaticResource A_GridLength_Column_CarName_Width}"/>
                                    <ColumnDefinition Width="{StaticResource A_GridLength_Column_Spacer_Width}"/>
                                    <ColumnDefinition Width="{StaticResource A_GridLength_Column_CarClass_Width}"/>
                                    <ColumnDefinition Width="{StaticResource A_GridLength_Column_Spacer_Width}"/>
                                    <ColumnDefinition Width="{StaticResource A_GridLength_Column_Score_Width}"/>
                                </Grid.ColumnDefinitions>
                                <ContentControl Grid.Column="0" Template="{StaticResource A_ControlTemplate_Cell_DriverName}" VerticalAlignment="Center" />
                                <ContentControl Grid.Column="2" Template="{StaticResource A_ControlTemplate_Cell_CarName}" VerticalAlignment="Center" />
                                <ContentControl Grid.Column="4" Template="{StaticResource A_ControlTemplate_Cell_Class}" VerticalAlignment="Center" HorizontalAlignment="Left" />
                                <ContentControl Grid.Column="6" Template="{StaticResource A_ControlTemplate_Cell_LabyrinthScore}" VerticalAlignment="Center" />
                            </Grid>
                        </ContentControl>
                    </StackPanel>
                </Grid>
            </ControlTemplate>

            <!-- Row Style -->
            <Style x:Key="A_Style_ListBoxItem_DriverList_StartingGrid" TargetType="ListBoxItem" BasedOn="{StaticResource A_Style_ListBoxItem_LeaderboardBase}">
                <Setter Property="Template" Value="{StaticResource A_ControlTemplate_Row}" />
            </Style>

        </ResourceDictionary>
    </Page.Resources>

    <Border>
        <Grid x:Name="LayoutRoot">
            <!-- Background Blur -->
           <Control Style="{StaticResource A_Style_Control_ScreenBackground}" />
            <Grid Visibility="{Binding IsInPauseFlow, Converter={StaticResource A_FZBooleanToVisibilityConverter}}">
                <local:FZMaterialGlassCapture />
                <local:FZMaterial Style="{StaticResource A_Style_FZMaterial_Popup_Background}"/>
            </Grid>

            <local:FZMaterialGlassCapture />

            <ContentControl x:Name="BottomBar" Style="{StaticResource A_Style_ButtonBar}">
                <ContentControl x:Name="PART_DefaultHelpPanel"
                                    local:ControllerButtonPanel.BDescription="{local:Loc HelpButtons.IDS_Back}"
                                    local:ControllerButtonPanel.XDescription="{local:Loc HelpButtons.IDS_Filter}"
                                    Style="{StaticResource A_Style_ContentControl_DefaultButtonBar}" />
            </ContentControl>

            <Border Style="{StaticResource A_Style_Border_ScenePadding}">
                <StackPanel Orientation="Vertical" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,92">
                    <StackPanel Orientation="Horizontal" Style="{StaticResource A_Style_FrameworkElement_DefaultTransition_0}">
                        <ContentControl Content="{Binding LeaderboardName, Converter={StringToUpper}}"
                                        Style="{StaticResource A_Style_ContentControl_ScreenTitleBlock}"
                                        local:BindingProxy.A="/ForzaUI;component/Textures/Anthem/Icons/Titles/Leaderboards.png" />
                    </StackPanel>

                    <StackPanel Style="{StaticResource A_Style_FrameworkElement_DefaultTransition_0}"
                                Orientation="Horizontal"
                                HorizontalAlignment="Center">
                        <StackPanel>
                            <Control Style="{StaticResource A_Style_HeaderRow}" Template="{StaticResource A_ControlTemplate_HeaderRow}" />
                            <local:CommonListBox x:Name="PART_ListBox_LeaderboardList" 
                                                     ItemsSource="{Binding LeadersList}" 
                                                     MaxHeight="561" 
                                                     ItemContainerStyle="{StaticResource A_Style_ListBoxItem_DriverList_StartingGrid}"  
                                                     Style="{StaticResource A_Style_CommonListBox_Leaderboard}" 
                                                     VerticalAlignment="Top"
                                                     VirtualizingStackPanel.VirtualizationMode="Recycling" ScrollViewer.CanContentScroll="True"
                                                     Panel.ZIndex="2"/>
                            <Control Style="{StaticResource A_Style_FooterRow}" Template="{StaticResource A_ControlTemplate_FooterRow_Default}" />
                        </StackPanel>
                    </StackPanel>
                </StackPanel>
            </Border>
        </Grid>
    </Border>
</Page>
