﻿<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">

    <xsl:import href="../Version_2_0/PagingTemplate.xslt"/>

    <xsl:output method="xml" indent="no" omit-xml-declaration="yes"/>

    <xsl:template match="/">
        <xsl:variable name="BaseYear" select="/AjaxRequest/Params/BaseYear"></xsl:variable>
        <xsl:variable name="PortalItemID" select="AjaxRequest/Params/PortalID"></xsl:variable>
        <xsl:variable name="TemplateURL" select="AjaxRequest/TemplateURL"></xsl:variable>
        <xsl:variable name="ExtendedPeriodRange" select="AjaxRequest/ExtendedLeaderboardPeriodRange/."></xsl:variable>
        <xsl:variable name="PageSize" select="AjaxRequest/Params/PageSize"></xsl:variable>
        <xsl:variable name="PageNumber" select="/AjaxRequest/Params/PageNumber"></xsl:variable>
        <xsl:variable name="PeriodType" select="AjaxRequest/Params/PeriodType"></xsl:variable>
        <xsl:variable name="MetricKeyID" select="/AjaxRequest/Params/MetricKeyID"></xsl:variable>
        <xsl:variable name="UserID" select="AjaxRequest/Params/UserID"></xsl:variable>
        <xsl:variable name="ExtendedLeaderboardUsers" select="/AjaxRequest/Params/users/."></xsl:variable>
        <xsl:variable name="ExtendedLeaderboard" select="AjaxRequest/ExtendedLeaderboard/."></xsl:variable>


        <table id="ExtendedLeaderboardPage" style="display:none;">
            <tr id="ExtendedLeaderboardPage_Header">
                <xsl:call-template name="ExtendedLeaderBoardHeader">
                    <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                    <xsl:with-param name="ExtendedPeriodRange" select="$ExtendedPeriodRange"></xsl:with-param>
                    <xsl:with-param name="BaseYear" select="$BaseYear"></xsl:with-param>
                    <xsl:with-param name="PageSize" select="$PageSize"></xsl:with-param>
                    <xsl:with-param name="PageNumber" select="$PageNumber"></xsl:with-param>
                    <xsl:with-param name="PeriodType" select="$PeriodType"></xsl:with-param>
                    <xsl:with-param name="MetricKeyID" select="$MetricKeyID"></xsl:with-param>
                    <xsl:with-param name="UserID" select="$UserID"></xsl:with-param>

                    <xsl:with-param name="CellID">
                        <xsl:number value="0"/>
                    </xsl:with-param>
                </xsl:call-template>
            </tr>
            <xsl:for-each select="$ExtendedLeaderboardUsers/user">

                <xsl:variable name="CurrentUserID" select="userid"></xsl:variable>

                <tr id="ExtendedLeaderboardPage_Record_{position()}">
                    <xsl:call-template name="ExtendedLeadrBoardContentRow">
                        <xsl:with-param name="CurrentUserID" select="$CurrentUserID"></xsl:with-param>
                        <xsl:with-param name="ExtendedPeriodRange" select="$ExtendedPeriodRange"></xsl:with-param>
                        <xsl:with-param name="ExtendedLeaderboard" select="$ExtendedLeaderboard"></xsl:with-param>
                        <xsl:with-param name="CellID">
                            <xsl:number value="0"/>
                        </xsl:with-param>
                    </xsl:call-template>
                </tr>
            </xsl:for-each>
        </table>

    </xsl:template>

    <xsl:template name="ExtendedLeaderBoard">
        <xsl:param name="PortalItemID" select="'N/A'"></xsl:param>
        <xsl:param name="ExtendedPeriodRange" select="'N/A'"></xsl:param>
        <xsl:param name="BaseYear" select="'N/A'"></xsl:param>
        <xsl:param name="PageSize" select="'N/A'"></xsl:param>
        <xsl:param name="PageNumber" select="'N/A'"></xsl:param>
        <xsl:param name="PeriodType" select="'N/A'"></xsl:param>
        <xsl:param name="MetricKeyID" select="'N/A'"></xsl:param>
        <xsl:param name="UserID" select="'N/A'"></xsl:param>
        <xsl:param name="ExtendedLeaderboard" select="'N/A'"></xsl:param>
        <xsl:param name="LeaderBoardDataXml" select="'N/A'"></xsl:param>
        <xsl:param name="TemplateItemID" select="'N/A'"></xsl:param>
        <xsl:param name="TemplateURL" select="'N/A'"></xsl:param>
        <xsl:param name="CurrentPageNumber" select="'N/A'"></xsl:param>
        <xsl:param name="TotalRecords" select="'N/A'"></xsl:param>
        <xsl:param name="NodeCount" select="'N/A'"></xsl:param>
        <xsl:param name="ExtendedYN" select="'N/A'"></xsl:param>

        <xsl:param name="CellID">
            <xsl:number value="1"/>
        </xsl:param>
        <xsl:param name="TotalPages" select="'N/A'"></xsl:param>

        <xsl:variable name="TableWidth">
            <xsl:value-of select="(100* count($ExtendedPeriodRange/Period))+250+100+5+5"/>
        </xsl:variable>
        <xsl:variable name="ScrollStyle">
            <xsl:choose>
                <xsl:when test="count($ExtendedPeriodRange/Period) &gt; 5">
                    overflow-x: scroll;
                </xsl:when>
            </xsl:choose>
        </xsl:variable>
        <div id="divLB" style="width:1024px;{$ScrollStyle}">
            
            <table style="width:{$TableWidth}px" cellspacing="0">
               
                <tr >
                    <td width="250px" height="50px">
                        <span class="mediumUserName">Team Member</span>
                    </td>

                    <td width="100px" class="textRight"  height="50px">
                        <span class="mediumUserName">Amount</span>
                    </td>
                    <xsl:variable name="ExtendedTableWidth">
                        <xsl:value-of select="(count($ExtendedPeriodRange/Period) * 80) + 10"/>
                        <xsl:text>px</xsl:text>
                    </xsl:variable>

                    <xsl:call-template name="ExtendedLeaderBoardHeader">
                        <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                        <xsl:with-param name="ExtendedPeriodRange" select="$ExtendedPeriodRange"></xsl:with-param>
                        <xsl:with-param name="BaseYear" select="$BaseYear"></xsl:with-param>
                        <xsl:with-param name="PageSize" select="$ExtendedPeriodRange/PageSize"></xsl:with-param>
                        <xsl:with-param name="PageNumber" select="$ExtendedPeriodRange/Period/TotalPages"></xsl:with-param>
                        <xsl:with-param name="PeriodType" select="$ExtendedPeriodRange/DesiredPeriodType"></xsl:with-param>
                        <xsl:with-param name="MetricKeyID" select="$MetricKeyID"></xsl:with-param>
                        <xsl:with-param name="UserID" select="$UserID"></xsl:with-param>
                    </xsl:call-template>

                </tr>
                <xsl:for-each select="$LeaderBoardDataXml/DefaultLeaderBoardData">
                    <xsl:variable name="CurrentUserID" select="UserID"></xsl:variable>


                    <tr id="tr_Portals_{PortalItemID}_{UserID}"
                            onmouseover="document.getElementById('tr_Portals_{PortalItemID}_{UserID}_Wrap').style.backgroundColor='#E1E1E1';
                            document.getElementById('tr_Portals_{PortalItemID}_{UserID}').style.backgroundColor='#E1E1E1';"
                            onmouseout="document.getElementById('tr_Portals_{PortalItemID}_{UserID}_Wrap').style.backgroundColor='';
                            document.getElementById('tr_Portals_{PortalItemID}_{UserID}').style.backgroundColor='';">

                        <td class="verticallyMiddle" height="50px">
                            <table class="tableMaster">
                                <tr>
                                    <td width="5%">

                                        <span class="onMouseOver"
                                              onclick="LoadUserDetailInterface('{UserID}', '{$TemplateItemID}', '{PortalItemID}', 'div_UserDetailsBody', '1', '');">
                                            <xsl:choose>
                                                <xsl:when test="FbPicURL != ''">
                                                    <img src="{FbPicURL}" height="35" width="35"></img>
                                                </xsl:when>
                                                <xsl:otherwise>
                                                    <img src="{$TemplateURL}Web/Images/Ver_2_0/DefaultUserPic.jpg" height="35" width="35"></img>
                                                </xsl:otherwise>
                                            </xsl:choose>
                                        </span>

                                    </td>
                                    <td width="95%" class="verticallyMiddle onMouseOver">

                                        <div>
                                            <span onclick="LoadUserDetailInterface('{UserID}', '{$TemplateItemID}', '{PortalItemID}', 'div_UserDetailsBody', '1', '');"
                                                  class="userName13 onMouseOver sentenceFont">
                                                <xsl:value-of select="DisplayName"/>
                                            </span>

                                        </div>
                                        <div>
                                            <span class="publicationSummary onMouseOver">
                                                <xsl:value-of select="PortalName"/>
                                            </span>
                                        </div>
                                    </td>
                                </tr>
                            </table>
                        </td>
                        <td class="verticallyMiddle textRight" nowrap="nowrap" height="50px">
                            <span class="userName13">
                                <span>
                                    <xsl:if test="NumberFormat = '$'">
                                        <xsl:value-of select="NumberFormat"/>
                                    </xsl:if>
                                </span>
                                <span>
                                    <xsl:value-of select="format-number(TotalAmount, '###,###')"/>
                                </span>
                            </span>
                        </td>
                        <xsl:call-template name="ExtendedLeadrBoardContentRow">
                            <xsl:with-param name="CurrentUserID" select="$CurrentUserID"></xsl:with-param>
                            <xsl:with-param name="ExtendedPeriodRange" select="$ExtendedPeriodRange"></xsl:with-param>
                            <xsl:with-param name="ExtendedLeaderboard" select="$ExtendedLeaderboard"></xsl:with-param>
                            <xsl:with-param name="RowID" select="position()"></xsl:with-param>
                        </xsl:call-template>

                    </tr>
                </xsl:for-each>
            </table>

        </div>
        <div  id="tblLBWrapper" style="position: fixed; width: 375px;
                 background: none repeat scroll 0% 0% rgb(255, 255, 255); overflow: hidden; 
                 z-index: 2; 
                 border-collapse: collapse; 
                 margin-top: 0px;">
         
        </div>
        <div>
            <tr>
                <td colspan="5" height="50px">
                    <xsl:call-template name="PortalPagingTemplate">
                        <xsl:with-param name="TotalPages" select="$TotalPages"></xsl:with-param>
                        <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                        <xsl:with-param name="DivID">
                            <xsl:text>div_LeaderBoardBody</xsl:text>
                        </xsl:with-param>
                        <xsl:with-param name="Mode">
                            <xsl:text>RPLeaderboard</xsl:text>
                        </xsl:with-param>
                        <xsl:with-param name="CurrentPageNumber" select="$CurrentPageNumber"></xsl:with-param>
                        <xsl:with-param name="PermissionsXML" select="$LeaderBoardDataXml"></xsl:with-param>
                        <xsl:with-param name="TotalRecords" select="$TotalRecords"></xsl:with-param>
                        <xsl:with-param name="PageSize" select="$PageSize"></xsl:with-param>
                        <xsl:with-param name="NodeCount" select="$NodeCount"></xsl:with-param>
                        <xsl:with-param name="ExtendedYN" select="$ExtendedYN"></xsl:with-param>
                    </xsl:call-template>
                </td>
            </tr>
        </div>
    </xsl:template>

    <xsl:template name="ExtendedLeaderBoardHeader">
        <xsl:param name="PortalItemID" select="'N/A'"></xsl:param>
        <xsl:param name="ExtendedPeriodRange" select="'N/A'"></xsl:param>
        <xsl:param name="BaseYear" select="'N/A'"></xsl:param>
        <xsl:param name="PageSize" select="'N/A'"></xsl:param>
        <xsl:param name="PageNumber" select="'N/A'"></xsl:param>
        <xsl:param name="PeriodType" select="'N/A'"></xsl:param>
        <xsl:param name="MetricKeyID" select="'N/A'"></xsl:param>
        <xsl:param name="UserID" select="'N/A'"></xsl:param>
        <xsl:param name="CellID">
            <xsl:number value="1"/>
        </xsl:param>

        <xsl:variable name="TableFirstCellID">
            <xsl:choose>
                <xsl:when test="$CellID = 1">
                    <xsl:text>td_ExtendedLBPage_Header_1</xsl:text>
                </xsl:when>
            </xsl:choose>
        </xsl:variable>
        <td id="{$TableFirstCellID}" width="5px" height="50px" class="textRight">

        </td>
        <xsl:for-each select="$ExtendedPeriodRange/Period">
            <xsl:variable name="TableCellID">
                <xsl:choose>
                    <xsl:when test="$CellID = 1">
                        <xsl:text>td_ExtendedLBPage_Header_</xsl:text>
                        <xsl:value-of select="position()+1"/>
                    </xsl:when>
                </xsl:choose>
            </xsl:variable>

            <td id="{$TableCellID}" width="100px" height="50px" class="textRight mediumUserName">
                <xsl:value-of select="DisplayPeriodKey"/>
            </td>
        </xsl:for-each>
        <xsl:variable name="TableLastCellID">
            <xsl:choose>
                <xsl:when test="$CellID = 1">
                    <xsl:text>td_ExtendedLBPage_Header_</xsl:text>
                    <xsl:value-of select="count($ExtendedPeriodRange/Period)+2"/>
                </xsl:when>
            </xsl:choose>
        </xsl:variable>
        <td id="{$TableLastCellID}" width="5px" height="50px" class="textRight">

        </td>
    </xsl:template>

    <xsl:template name="ExtendedLeadrBoardContentRow">
        <xsl:param name="CurrentUserID" select="'N/A'"></xsl:param>
        <xsl:param name="ExtendedPeriodRange" select="'N/A'"></xsl:param>
        <xsl:param name="ExtendedLeaderboard" select="'N/A'"></xsl:param>
        <xsl:param name="RowID" select="'N/A'"></xsl:param>
        <xsl:param name="CellID">
            <xsl:number value="1"/>
        </xsl:param>

        <xsl:variable name="TableFirstCellID">
            <xsl:choose>
                <xsl:when test="$CellID = 1">
                    <xsl:text>td_ExtendedLBPage_Data_</xsl:text>
                    <xsl:value-of select="$RowID"/>
                    <xsl:text>_1</xsl:text>
                </xsl:when>
            </xsl:choose>
        </xsl:variable>

        <td id="{$TableFirstCellID}" height="50px" class="packageTitle onMouseOver"></td>
        <xsl:for-each select="$ExtendedPeriodRange/Period">

            <xsl:variable name="TableCellID">
                <xsl:choose>
                    <xsl:when test="$CellID = 1">
                        <xsl:text>td_ExtendedLBPage_Data_</xsl:text>
                        <xsl:value-of select="$RowID"/>
                        <xsl:text>_</xsl:text>
                        <xsl:value-of select="position()+1"/>
                    </xsl:when>
                </xsl:choose>
            </xsl:variable>

            <xsl:variable name="CurrentPeriodKey" select="PeriodKey"></xsl:variable>
            <td id="{$TableCellID}" height="50px" class="verticallyMiddle textRight userName13" nowrap="nowrap">
                <xsl:if test="string(number($ExtendedLeaderboard/Record[PeriodKey = $CurrentPeriodKey and UserID = $CurrentUserID]/TotalAmount)) != 'NaN'">
                    <xsl:value-of select="format-number($ExtendedLeaderboard/Record[PeriodKey = $CurrentPeriodKey and UserID = $CurrentUserID]/TotalAmount, '###,###')"/>
                </xsl:if>
            </td>
        </xsl:for-each>

        <xsl:variable name="TableLastCellID">
            <xsl:choose>
                <xsl:when test="$CellID = 1">
                    <xsl:text>td_ExtendedLBPage_Data_</xsl:text>
                    <xsl:value-of select="$RowID"/>
                    <xsl:text>_</xsl:text>
                    <xsl:value-of select="count($ExtendedPeriodRange/Period)+2"/>
                </xsl:when>
            </xsl:choose>
        </xsl:variable>
        <td id="{$TableLastCellID}" height="50px" class="packageTitle onMouseOver"></td>
    </xsl:template>

</xsl:stylesheet>
