﻿<?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="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="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="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="Portals" 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:call-template>

                </tr>
                <xsl:call-template name="ExtendedLeadrBoardContentRow">
                    <xsl:with-param name="ExtendedPeriodRange" select="$ExtendedPeriodRange"></xsl:with-param>
                    <xsl:with-param name="ExtendedLeaderboard" select="$ExtendedLeaderboard"></xsl:with-param>
                    <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                    <xsl:with-param name="TemplateItemID" select="$TemplateItemID"></xsl:with-param>
                    <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
                    <xsl:with-param name="Portals" select="$Portals"></xsl:with-param>
                </xsl:call-template>


            </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: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="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="ExtendedPeriodRange" select="'N/A'"></xsl:param>
        <xsl:param name="ExtendedLeaderboard" select="'N/A'"></xsl:param>
        <xsl:param name="PortalItemID" 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="Portals" select="'N/A'"></xsl:param>
        <xsl:param name="CellID">
            <xsl:number value="1"/>
        </xsl:param>


        <xsl:for-each select="$ExtendedLeaderboard/Record">
            <xsl:variable name="CurrentUserID" select="UserID"></xsl:variable>
            <xsl:variable name="RowID" select="position()"></xsl:variable>
            <xsl:variable name="ELPortalItemID" select="PortalItemID"></xsl:variable>

            <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>

            <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"/> (<xsl:value-of select="UserID"/>)
                                    </span>

                                </div>
                                <div>
                                    <span class="publicationSummary onMouseOver">
                                        <xsl:value-of select="$Portals/Portal[@ID=$ELPortalItemID]"/>
                                    </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>
                <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:variable name="ColName">
                            <xsl:text>Col</xsl:text><xsl:value-of select="PeriodNumber"/>
                        </xsl:variable>
                        <xsl:if test="string(number($ExtendedLeaderboard/Record[UserID = $CurrentUserID and PortalItemID = $ELPortalItemID]/*[name() = $ColName])) != 'NaN'">
                            <xsl:value-of select="format-number($ExtendedLeaderboard/Record[UserID = $CurrentUserID and PortalItemID = $ELPortalItemID]/*[name() = $ColName], '###,###')"/>
                        </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>

            </tr>
        </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>
