﻿<?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:import href="ExtendedLeaderBoardPage.xslt"/>

	<xsl:output method="xml" indent="yes"/>

	<xsl:template match="/">
		<xsl:param name="BaseYear" select="/AjaxRequest/Params/BaseYear"></xsl:param>
		<xsl:variable name="ThisPeriodKey" select="AjaxRequest/ThisPeriodKey"></xsl:variable>
		<xsl:variable name="LastPeriodKey" select="AjaxRequest/LastPeriodKey"></xsl:variable>
		<xsl:variable name="PortalItemID" select="AjaxRequest/Params/PortalID"></xsl:variable>
		<xsl:variable name="Action" select="AjaxRequest/Action"></xsl:variable>
		<xsl:variable name="TemplateURL" select="AjaxRequest/TemplateURL"></xsl:variable>
		<xsl:variable name="LeaderBoardDataXml" select="AjaxRequest/LeaderBoardData/."></xsl:variable>
		<xsl:variable name="LeaderBoardDataCount" select="count(AjaxRequest/LeaderBoardData/DefaultLeaderBoardData)"></xsl:variable>
		<xsl:variable name="Mode" select="AjaxRequest/Params/Mode"></xsl:variable>
		<xsl:variable name="MasterPortalItemID" select="AjaxRequest/Settings/MasterPortalItemID"></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="ExtendedYN" select="AjaxRequest/Params/ExtendedYN"></xsl:variable>
		<xsl:variable name="TemplateItemID" select="AjaxRequest/Params/TemplateItemID"></xsl:variable>
		<xsl:variable name="ExtendedPeriodRange" select="AjaxRequest/ExtendedLeaderboardPeriodRange/."></xsl:variable>
		<xsl:variable name="ExtendedLeaderboard" select="AjaxRequest/ExtendedLeaderboard/."></xsl:variable>
		<xsl:variable name="MetricKeyID" select="AjaxRequest/Params/MetricKey"></xsl:variable>
		<xsl:variable name="UserID" select="AjaxRequest/Params/UserID"></xsl:variable>
		<xsl:variable name="LeaderboardUsers">
			<xsl:copy-of select="AjaxRequest/Users/."/>
		</xsl:variable>
		<xsl:variable name="TotalPages">
			<xsl:choose>
				<xsl:when test="AjaxRequest/LeaderBoardData/TotalPages">
					<xsl:value-of select="AjaxRequest/LeaderBoardData/TotalPages"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="AjaxRequest/LeaderBoardData/DefaultLeaderBoardData/TotalPages"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:variable>
		<xsl:variable name="TotalRecords">
			<xsl:choose>
				<xsl:when test="AjaxRequest/LeaderBoardData/TotalRecords">
					<xsl:value-of select="AjaxRequest/LeaderBoardData/TotalRecords"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="AjaxRequest/LeaderBoardData/DefaultLeaderBoardData/TotalRecords"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:variable>
		<xsl:variable name="CurrentPageNumber" select="AjaxRequest/LeaderBoardData/CurrentPageNumber"></xsl:variable>
		<xsl:variable name="NodeCount" select="count($LeaderBoardDataXml/DefaultLeaderBoardData)"></xsl:variable>

		<xsl:call-template name="ReportingDashboardLeaderBoardData">
			<xsl:with-param name="BaseYear" select="$BaseYear"></xsl:with-param>
			<xsl:with-param name="LeaderBoardDataXml" select="$LeaderBoardDataXml"></xsl:with-param>
			<xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
			<xsl:with-param name="LeaderBoardDataCount" select="$LeaderBoardDataCount"></xsl:with-param>
			<xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
			<xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
			<xsl:with-param name="MasterPortalItemID" select="$MasterPortalItemID"></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="TotalPages" select="$TotalPages"></xsl:with-param>
			<xsl:with-param name="TotalRecords" select="$TotalRecords"></xsl:with-param>
			<xsl:with-param name="CurrentPageNumber" select="$CurrentPageNumber"></xsl:with-param>
			<xsl:with-param name="NodeCount" select="$NodeCount"></xsl:with-param>
			<xsl:with-param name="ExtendedYN" select="$ExtendedYN"></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="LeaderboardUsers" select="$LeaderboardUsers"></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="TemplateItemID" select="$TemplateItemID"></xsl:with-param>
			<xsl:with-param name="Action" select="$Action"></xsl:with-param>
		</xsl:call-template>

	</xsl:template>


	<xsl:template name="ReportingDashboardLeaderBoardData">
		<xsl:param name="BaseYear" select="'N/A'"></xsl:param>
		<xsl:param name="LeaderBoardDataXml" select="'N/A'"></xsl:param>
		<xsl:param name="TemplateURL" select="'N/A'"></xsl:param>
		<xsl:param name="LeaderBoardDataCount" select="'N/A'"></xsl:param>
		<xsl:param name="PortalItemID" select="'N/A'"></xsl:param>
		<xsl:param name="Mode" select="'N/A'"></xsl:param>
		<xsl:param name="MasterPortalItemID" 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="TotalPages" select="'N/A'"></xsl:param>
		<xsl:param name="TotalRecords" select="'N/A'"></xsl:param>
		<xsl:param name="CurrentPageNumber" select="'N/A'"></xsl:param>
		<xsl:param name="NodeCount" select="'N/A'"></xsl:param>
		<xsl:param name="ExtendedYN">
			<xsl:number value="0"/>
		</xsl:param>
		<xsl:param name="ExtendedPeriodRange" select="'N/A'"></xsl:param>
		<xsl:param name="ExtendedLeaderboard" select="'N/A'"></xsl:param>
		<xsl:param name="LeaderboardUsers" 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="TemplateItemID" select="'N/A'"></xsl:param>
		<xsl:param name="Action" select="'N/A'"></xsl:param>
		<div id="div_LeaderBoardData" class="marginTop20">
			<xsl:if test="$ExtendedYN = 1">
				<div id="ExtendedLeaderboardUserForPage" style="display:none;">
					<xsl:copy-of select="$LeaderboardUsers"/>
				</div>
			</xsl:if>
			<xsl:choose>
				<xsl:when test="$ExtendedYN = 0">

					<table class="tableMaster" cellspacing="0">


						<xsl:choose>
							<xsl:when test="$ExtendedYN = 0">
								<xsl:if test="$LeaderBoardDataCount &gt; 0">
									<tr class="leaderBoard">
										<xsl:choose>
											<xsl:when test="$ExtendedYN = 1">
												<td width="22%" height="50px">
													<span class="mediumUserName">Team Member</span>
												</td>

												<td width="15%" 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:variable name="ScrollStyle">
													<xsl:choose>
														<xsl:when test="((count($ExtendedPeriodRange/Period) * 80) + 10) &gt; 640">
															<xsl:text>width:640px; overflow-x: scroll;</xsl:text>
														</xsl:when>
														<xsl:otherwise>
															<xsl:text>width:</xsl:text>
															<xsl:value-of select="(count($ExtendedPeriodRange/Period) * 80) + 10"/>
															<xsl:text>px;</xsl:text>
														</xsl:otherwise>
													</xsl:choose>
												</xsl:variable>

												<xsl:choose>
													<xsl:when test="count($ExtendedPeriodRange/Period) &lt;=6">
														<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>
													</xsl:when>
													<xsl:otherwise>
														<td rowspan="{count($LeaderBoardDataXml/DefaultLeaderBoardData) + 1}" style="text-align:center;">

															<div style="{$ScrollStyle}; display:inline-block;">
																<table width="{$ExtendedTableWidth}" height="100%">
																	<tr>
																		<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>
																			<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>
														</td>
													</xsl:otherwise>
												</xsl:choose>
											</xsl:when>
											<xsl:otherwise>
												<td width="10%" class="textCenter"  height="50px">
													<span class="mediumUserName">Position</span>
												</td>
												<td width="40%"  height="50px">
													<span class="mediumUserName">Employee</span>
												</td>
												<td width="30%" class="textRight"  height="50px">
													<span class="mediumUserName">Amount</span>
												</td>
												<td width="20%" class="textRight"  height="50px">
													<span class="mediumUserName">Through</span>
												</td>
											</xsl:otherwise>
										</xsl:choose>
									</tr>
								</xsl:if>

								<xsl:for-each select="$LeaderBoardDataXml/DefaultLeaderBoardData">

									<xsl:variable name="CurrentUserID" select="UserID"></xsl:variable>

									<xsl:variable name="EmployeeOnClickCall">
										<xsl:if test="$ExtendedYN = 0">
											<xsl:choose>
												<xsl:when test="$Action='GetReportingDashboardLeaderBoardBox_3_0'">
													<xsl:text>$('#optMyNumbersDBUser').val(</xsl:text>
													<xsl:value-of select="$CurrentUserID"/><xsl:text>).trigger('change');</xsl:text>
													<!--LoadMyNumbersDashboardCompiledMetrics_3_0_ForUser(<xsl:value-of select="$MasterPortalItemID"/>
													, 'optMyNumbersDBPortal', 'optMyNumberGoals', <xsl:value-of  select="$CurrentUserID"/>
													, null, 'optMyNumbersDBDateRange', 'ScoreCard','divMyNumberDBCompiledNumbers');
													LoadMyNumbersDashboardGraph_3_0_ForUser(<xsl:value-of select="$MasterPortalItemID"/>
													, 'optMyNumbersDBPortal', 'optMyNumberGoals',  <xsl:value-of  select="$CurrentUserID"/>
													, null, 'optMyNumbersDBDateRange', 'divNumbersGraph', '<xsl:value-of  select="$MetricKeyID"/>');
													document.getElementById("optMyNumbersDBUser").value = <xsl:value-of  select="$CurrentUserID"/>;-->
												</xsl:when>
												<xsl:when test="$PortalItemID = PortalItemID">
													<xsl:text>LoadEmployeeDetail('</xsl:text>
													<xsl:value-of select="UserID"></xsl:value-of>
													<xsl:text>','divClientPortalOperations_Container','</xsl:text>
													<xsl:value-of select="PortalItemID"></xsl:value-of>
													<xsl:text>');</xsl:text>
												</xsl:when>
												<xsl:otherwise>
													<xsl:text>LoadEmployeeDetailWithPortalLoad('</xsl:text>
													<xsl:value-of select="UserID"></xsl:value-of>
													<xsl:text>','divClientPortalOperations_Container','</xsl:text>
													<xsl:value-of select="PortalItemID"></xsl:value-of>
													<xsl:text>', </xsl:text>
													<xsl:value-of select="$MasterPortalItemID"></xsl:value-of>
													<xsl:text>);</xsl:text>
												</xsl:otherwise>
											</xsl:choose>
										</xsl:if>
									</xsl:variable>
									<tr id="tr_Portals_{ItemID}_{UserID}" onclick="{$EmployeeOnClickCall}"
                                        onmouseover="document.getElementById('tr_Portals_{ItemID}_{UserID}').style.backgroundColor='#E1E1E1';"
                                        onmouseout="document.getElementById('tr_Portals_{ItemID}_{UserID}').style.backgroundColor='';">

										<xsl:if test="$ExtendedYN = 0">
											<td class="textCenter verticallyMiddle" height="50px">
												<span class="userNameInDetail textCenter">
													<div>
														<xsl:value-of select="RowID"/>
													</div>
												</span>
											</td>
										</xsl:if>
										<td class="verticallyMiddle" height="50px">
											<table class="tableMaster">
												<tr>
													<td width="5%">

														<xsl:choose>
															<xsl:when test="$ExtendedYN = 1 and $TemplateItemID &gt; 0">
																<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>
															</xsl:when>
															<xsl:otherwise>
																<span>
																	<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>
															</xsl:otherwise>
														</xsl:choose>

													</td>
													<td width="95%" class="verticallyMiddle onMouseOver">

														<div>
															<xsl:choose>
																<xsl:when test="$ExtendedYN = 1 and $TemplateItemID &gt; 0">
																	<span onclick="LoadUserDetailInterface('{UserID}', '{$TemplateItemID}', '{$PortalItemID}', 'div_UserDetailsBody', '1', '');"
                                                                          class="userName13 onMouseOver sentenceFont">
																		<xsl:if test="DisplayName[text()]">
																			<xsl:choose>
																				<xsl:when test="not(normalize-space(substring-before(DisplayName, '@')))">
																					<xsl:value-of select="DisplayName"></xsl:value-of>
																				</xsl:when>
																				<xsl:otherwise>
																					<xsl:value-of select="normalize-space(substring-before(DisplayName, '@'))"></xsl:value-of>
																				</xsl:otherwise>
																			</xsl:choose>
																		</xsl:if>

																	</span>
																</xsl:when>
																<xsl:otherwise>
																	<span class="userName13 sentenceFont">
																		<xsl:if test="DisplayName[text()]">
																			<xsl:choose>
																				<xsl:when test="not(normalize-space(substring-before(DisplayName, '@')))">
																					<xsl:value-of select="DisplayName"></xsl:value-of>
																				</xsl:when>
																				<xsl:otherwise>
																					<xsl:value-of select="normalize-space(substring-before(DisplayName, '@'))"></xsl:value-of>
																				</xsl:otherwise>
																			</xsl:choose>
																		</xsl:if>
																	</span>
																</xsl:otherwise>
															</xsl:choose>

														</div>
														<div>
															<span class="publicationSummary onMouseOver">
																<xsl:value-of select="PortalName"/>
															</span>
														</div>
													</td>
												</tr>
											</table>
										</td>
										<xsl:choose>
											<xsl:when test="count($ExtendedPeriodRange/Period) &lt;=6 and $ExtendedYN = 1">
												<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>
											</xsl:when>
										</xsl:choose>
										<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:if test="$ExtendedYN = 0">
											<td class="textRight verticallyMiddle"  height="50px">
												<span class="userName13">
													<xsl:value-of select="PeriodKey"/>
												</span>
											</td>
										</xsl:if>
									</tr>
								</xsl:for-each>
								<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:choose>
													<xsl:when test="$ExtendedYN = 1">div_LeaderBoardBody</xsl:when>
													<xsl:otherwise>div_LeaderBoardBody</xsl:otherwise>
												</xsl:choose>
											</xsl:with-param>
											<xsl:with-param name="Mode">
												<xsl:choose>
													<xsl:when test="$Mode='ReportingNumberGraph3_0' or $Mode='ReportingNumberGraph'">
														<xsl:value-of select="$Mode"/>
													</xsl:when>
													<xsl:otherwise>
														<xsl:text>RPLeaderboard</xsl:text>
													</xsl:otherwise>
												</xsl:choose>

											</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:with-param name="MetricKeyID" select="$MetricKeyID"></xsl:with-param>

										</xsl:call-template>
									</td>
								</tr>
							</xsl:when>
							<xsl:otherwise>

							</xsl:otherwise>

						</xsl:choose>
					</table>
				</xsl:when>
				<xsl:otherwise>
					<xsl:call-template name="ExtendedLeaderBoard">
						<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="$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:with-param name="ExtendedLeaderboard" select="$ExtendedLeaderboard"></xsl:with-param>
						<xsl:with-param name="LeaderBoardDataXml" select="$LeaderBoardDataXml"></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="TotalPages" select="$TotalPages"></xsl:with-param>
						<xsl:with-param name="CurrentPageNumber" select="$CurrentPageNumber"></xsl:with-param>
						<xsl:with-param name="TotalRecords" select="$TotalRecords"></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>
				</xsl:otherwise>
			</xsl:choose>
		</div>
	</xsl:template>
</xsl:stylesheet>
