﻿<?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="CompleteWorkout.xslt"/>
    <xsl:import href="AddExerciseAutoSuggestControl.xslt"/>
    <xsl:import href="NoExerciseMessage.xslt"/>

    <xsl:output method="xml" indent="yes"/>
    <xsl:key name="distinctSeqNum" match="ItemWorkouts/WorkoutExercises/WorkoutExercise" use="./SeqNum"></xsl:key>
    <xsl:template match="/">

        <xsl:variable name="PortalItemID" select="AjaxRequest/Params/PortalItemID"></xsl:variable>
        <xsl:variable name="ItemID" select="AjaxRequest/ItemWorkouts/Workouts/ItemID"></xsl:variable>
        <xsl:variable name="WorkoutID" select="AjaxRequest/ItemWorkouts/Workouts/WorkoutID"></xsl:variable>
        <xsl:variable name="WorkoutName" select="AjaxRequest/ItemWorkouts/Workouts/WorkoutName"></xsl:variable>
        <xsl:variable name="WorkoutDueDate" select="AjaxRequest/ItemWorkouts/Workouts/WorkoutDueDate"></xsl:variable>
        <xsl:variable name="Status" select="AjaxRequest/ItemWorkouts/Workouts/Status"></xsl:variable>
        <xsl:variable name="StatusID" select="AjaxRequest/ItemWorkouts/Workouts/StatusID"></xsl:variable>
        <xsl:variable name="ResponsiblePerson" select="AjaxRequest/ItemWorkouts/Workouts/ResponsiblePerson"></xsl:variable>
        <xsl:variable name="ProgramName" select="AjaxRequest/ItemWorkouts/Workouts/ProgramName"></xsl:variable>
        <xsl:variable name="HostName" select="AjaxRequest/HostName"></xsl:variable>
        <xsl:variable name="ThumbnailURL" select="AjaxRequest/ItemWorkouts/Workouts/ThumbnailURL"></xsl:variable>
        <xsl:variable name="Exercises" select="AjaxRequest/ItemWorkouts/WorkoutExercises"></xsl:variable>
        <xsl:variable name="TemplateURL" select="AjaxRequest/TemplateURL"/>
        <xsl:variable name="TotalDistance" select="AjaxRequest/ItemWorkouts/Workouts/TotalDistance"></xsl:variable>
        <xsl:variable name="TotalCalories" select="AjaxRequest/ItemWorkouts/Workouts/TotalCalories"></xsl:variable>
        <xsl:variable name="TotalTimeMins" select="AjaxRequest/ItemWorkouts/Workouts/TotalTime"></xsl:variable>
        <xsl:variable name="TotalWorkoutTime" select="AjaxRequest/ItemWorkouts/Workouts/TotalWorkoutTime"></xsl:variable>
        <xsl:variable name="NotesHTML" select="AjaxRequest/NotesHTML"></xsl:variable>
        <xsl:variable name="BoxYN" select="normalize-space(AjaxRequest/Params/BoxYN)"></xsl:variable>
        <xsl:variable name="WorkoutOperation" select="normalize-space(AjaxRequest/WorkoutOperation)"></xsl:variable>
        <xsl:variable name="ProgramID" select="AjaxRequest/ItemWorkouts/Workouts/ProgramID"></xsl:variable>
        <xsl:variable name="BrandID" select="AjaxRequest/ItemWorkouts/Workouts/BrandID"></xsl:variable>
        <xsl:variable name="BrandName" select="AjaxRequest/ItemWorkouts/Workouts/BrandName"></xsl:variable>
        <!--<xsl:variable name="GoalID" select="AjaxRequest/Params/GoalID"></xsl:variable>-->
        <xsl:variable name="TargetDiv" select="AjaxRequest/Params/TargetDiv"></xsl:variable>
        <xsl:variable name="Origin" select="AjaxRequest/Params/Origin"></xsl:variable>
        <xsl:variable name="Mode" select="AjaxRequest/Params/Mode"></xsl:variable>
        <xsl:variable name="LoggedInUserID" select="AjaxRequest/LoggedInUserID"></xsl:variable>


        <xsl:call-template name="ExerciseDetail">
            <xsl:with-param name="WorkoutName" select="$WorkoutName"></xsl:with-param>
            <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
            <xsl:with-param name="StatusID" select="$StatusID"></xsl:with-param>
            <xsl:with-param name="Exercises" select="$Exercises"></xsl:with-param>
            <xsl:with-param name="TotalDistance" select="$TotalDistance"></xsl:with-param>
            <xsl:with-param name="TotalCalories" select="$TotalCalories"></xsl:with-param>
            <xsl:with-param name="TotalTimeMins" select="$TotalTimeMins"></xsl:with-param>
            <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
            <xsl:with-param name="NotesHTML" select="$NotesHTML"></xsl:with-param>
            <xsl:with-param name="TotalWorkoutTime" select="$TotalWorkoutTime"></xsl:with-param>
            <xsl:with-param name="HostName" select="$HostName"></xsl:with-param>
            <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
            <xsl:with-param name="ProgramID" select="$ProgramID"></xsl:with-param>
            <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
            <xsl:with-param name="BrandID" select="$BrandID"></xsl:with-param>
            <xsl:with-param name="BrandName" select="$BrandName"></xsl:with-param>
            <!--<xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>-->
            <xsl:with-param name="TargetDiv" select="$TargetDiv"></xsl:with-param>
            <xsl:with-param name="WorkoutID" select="$WorkoutID"></xsl:with-param>
            <xsl:with-param name="LoggedInUserID" select="$LoggedInUserID"></xsl:with-param>
        </xsl:call-template>

    </xsl:template>

    <xsl:template name="ExerciseDetail">
        <xsl:param name="WorkoutName" select="'N/A'"></xsl:param>
        <xsl:param name="ItemID" select="'N/A'"></xsl:param>
        <xsl:param name="Exercises" select="'N/A'"></xsl:param>
        <xsl:param name="TotalDistance" select="'N/A'"></xsl:param>
        <xsl:param name="TotalCalories" select="'N/A'"></xsl:param>
        <xsl:param name="StatusID" select="'N/A'"></xsl:param>
        <xsl:param name="TotalTimeMins" select="'N/A'"></xsl:param>
        <xsl:param name="PortalItemID" select="'N/A'"></xsl:param>
        <xsl:param name="NotesHTML" select="'N/A'"></xsl:param>
        <xsl:param name="TotalWorkoutTime" select="'N/A'"></xsl:param>
        <xsl:param name="HostName" select="'N/A'"></xsl:param>
        <xsl:param name="TemplateURL" select="'N/A'"></xsl:param>
        <xsl:param name="ProgramID" select="'N/A'"></xsl:param>
        <xsl:param name="Mode" select="'N/A'"></xsl:param>
        <xsl:param name="BrandID" select="'N/A'"></xsl:param>
        <xsl:param name="BrandName" select="'N/A'"></xsl:param>
        <xsl:param name="GoalID" select="'N/A'"></xsl:param>
        <xsl:param name="TargetDiv" select="'N/A'"></xsl:param>
        <xsl:param name="WorkoutID" select="'N/A'"></xsl:param>
        <xsl:param name="LoggedInUserID" select="'N/A'"></xsl:param>



        <div id="div_{$ItemID}_Exercise" width="100%">
            <table>
                <tr>
                    <td style="border-right:1px solid rgb(56,93,138);" width="25%" nowrap="nowrap">
                        <div id="divLeftWorkoutExerciseList" ItemID="{$ItemID}">
                            <xsl:call-template name="ViewExerciseList">
                                <xsl:with-param name="WorkoutID" select="AjaxRequest/ItemWorkouts/Workouts/WorkoutID"></xsl:with-param>
                            </xsl:call-template>
                        </div>
                        <div style="margin-top:10px;">
                            <span class="labelGraySize10" style="cursor:pointer;"
                                  onClick="workOut_LoadAddExerciseControl('div_WorkOut_{$ItemID}_Data','div_ProgramListExcercise_{$ItemID}_Suggest');">
                                Add Exercise...
                            </span>
                        </div>
                        <input type="hidden" id="hiddenTargetDiv" target="{$TargetDiv}"></input>
                        <xsl:if test="$ProgramID!=''">
                            <div style="margin-top:20px;">
                                <xsl:choose>
                                    <xsl:when test="$TargetDiv='divClientPortalOperations_Container'">
                                        <span class="labelGraySize10" style="cursor:pointer;"
                                         onClick="Module_DisplayProgramExcercise('{$TargetDiv}','{$PortalItemID}','{$ProgramID}','1','{$ItemID}','{$GoalID}');">
                                            Modify Program...
                                        </span>
                                    </xsl:when>
                                    <xsl:when test="not($TargetDiv)">
                                        <span class="labelGraySize10" style="cursor:pointer;"
                                          onClick="Module_DisplayProgramExcercise('divPlanner_item_{$ItemID}_detail_container','{$PortalItemID}','{$ProgramID}','0','{$ItemID}','{$GoalID}');">
                                            Modify Program...
                                        </span>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <span class="labelGraySize10" style="cursor:pointer;"
                                          onClick="Module_DisplayProgramExcercise('{$TargetDiv}','{$PortalItemID}','{$ProgramID}','0','{$ItemID}','{$GoalID}');">
                                            Modify Program...
                                        </span>
                                    </xsl:otherwise>
                                </xsl:choose>
                            </div>
                        </xsl:if>
                    </td>
                    <xsl:choose>
                        <xsl:when test="($Exercises)">
                            <td width="75%">
                                <div id="div_Exercise_Operations" style="display:block;">
                                    <xsl:choose>
                                        <xsl:when test="$StatusID = 4">
                                            <xsl:call-template name="ItemWorkoutSummary">
                                                <xsl:with-param name="WorkoutName" select="$WorkoutName"></xsl:with-param>
                                                <xsl:with-param name="TotalDistance" select="$TotalDistance"></xsl:with-param>
                                                <xsl:with-param name="TotalCalories" select="$TotalCalories"></xsl:with-param>
                                                <xsl:with-param name="TotalTimeMins" select="$TotalTimeMins"></xsl:with-param>
                                                <xsl:with-param name="TotalWorkoutTime" select="$TotalWorkoutTime"></xsl:with-param>
                                                <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                                                <xsl:with-param name="HostName" select="$HostName"></xsl:with-param>
                                                <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
                                                <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                                                <xsl:with-param name="NotesHTML" select="$NotesHTML"></xsl:with-param>
                                                <xsl:with-param name="BrandID" select="$BrandID"></xsl:with-param>
                                                <xsl:with-param name="BrandName" select="$BrandName"></xsl:with-param>
                                                <xsl:with-param name="LoggedInUserID" select="$LoggedInUserID"></xsl:with-param>
                                            </xsl:call-template>
                                        </xsl:when>
                                        <xsl:otherwise>
                                            <div id="div_WorkOut_{$ItemID}_Data" style="display:block;">
                                                <xsl:value-of select="AjaxRequest/DefaultExerciseHTML" disable-output-escaping="yes"/>
                                            </div>
                                        </xsl:otherwise>
                                    </xsl:choose>
                                </div>
                                <div id="div_Exercise_Operations_AddExercise" style="display:none;">
                                    <xsl:call-template name="AddExerciseAutoSuggestControl">
                                        <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                                        <xsl:with-param name="Origin">
                                            <xsl:text>AddExerciseToWorkOutPortal</xsl:text>
                                        </xsl:with-param>
                                    </xsl:call-template>
                                </div>
                            </td>
                        </xsl:when>
                        <xsl:otherwise>
                            <td width="75%">
                                <div id="div_Exercise_Operations">
                                    <xsl:choose>
                                        <xsl:when test="$StatusID = 4">
                                            <xsl:call-template name="ItemWorkoutSummary">
                                                <xsl:with-param name="WorkoutName" select="$WorkoutName"></xsl:with-param>
                                                <xsl:with-param name="TotalDistance" select="$TotalDistance"></xsl:with-param>
                                                <xsl:with-param name="TotalCalories" select="$TotalCalories"></xsl:with-param>
                                                <xsl:with-param name="TotalTimeMins" select="$TotalTimeMins"></xsl:with-param>
                                                <xsl:with-param name="TotalWorkoutTime" select="$TotalWorkoutTime"></xsl:with-param>
                                                <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                                                <xsl:with-param name="HostName" select="$HostName"></xsl:with-param>
                                                <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
                                                <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                                                <xsl:with-param name="NotesHTML" select="$NotesHTML"></xsl:with-param>
                                                <xsl:with-param name="BrandID" select="$BrandID"></xsl:with-param>
                                                <xsl:with-param name="BrandName" select="$BrandName"></xsl:with-param>
                                                <xsl:with-param name="LoggedInUserID" select="$LoggedInUserID"></xsl:with-param>
                                            </xsl:call-template>
                                        </xsl:when>
                                        <xsl:otherwise>
                                            <xsl:call-template name="NoExercise">
                                                <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                                            </xsl:call-template>
                                        </xsl:otherwise>
                                    </xsl:choose>
                                </div>
                                <div id="div_Exercise_Operations_AddExercise" style="display:none;margin-left:5px;">
                                    <xsl:call-template name="AddExerciseAutoSuggestControl">
                                        <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                                        <xsl:with-param name="Origin">
                                            <xsl:text>AddExerciseToWorkOutPortal</xsl:text>
                                        </xsl:with-param>
                                    </xsl:call-template>
                                </div>
                            </td>
                        </xsl:otherwise>
                    </xsl:choose>
                </tr>
            </table>
        </div>
        <div id="div_CompleteWorkoutSummary_{$ItemID}_Operations">

        </div>
        <div id="div_{$ItemID}_ProgramList_{$ProgramID}_Operations">

        </div>
    </xsl:template>

    <xsl:template name="ViewExerciseList">
        <xsl:param name="WorkoutID" select="'N/A'"></xsl:param>

        <xsl:for-each select="AjaxRequest/ItemWorkouts/WorkoutExercises/WorkoutExercise[generate-id() = generate-id(key('distinctSeqNum', ./SeqNum))]">
            <xsl:variable name="SeqNum" select="SeqNum"></xsl:variable>
            <xsl:variable name="ExerciseStatusClass">
                <xsl:choose>
                    <xsl:when test="count(../WorkoutExercise[SeqNum = $SeqNum and (StatusID != 4 or not(StatusID))]) = 0">
                        <xsl:text>completed</xsl:text>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:text></xsl:text>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:variable>

            <xsl:variable name="ExerciseSelectedClass">
                <xsl:choose>
                    <xsl:when test="position() = 1">
                        <xsl:text>selectedExercise</xsl:text>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:text>link</xsl:text>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:variable>

            <div id="div_{SeqNum}_Exercises" style="margin-right:30px;margin-bottom:5px;">
                <span id="span_{SeqNum}_Exercise" Status="{$ExerciseStatusClass}" ItemID="{ItemID}" SeqNum="{SeqNum}" class="{$ExerciseSelectedClass} {$ExerciseStatusClass}"
                      onClick="workoutTracker_GetExerciseDetailByID('{ItemID}','div_Exercise_Operations','span_Exercise','{SeqNum}');
                                    workoutTracker_MarkSelectedExerciseGreen('span_{SeqNum}_Exercise','selectedExercise');">
                    <xsl:value-of select="ExerciseName"/>
                    <input type="hidden" name="exercise"></input>
                </span>
            </div>
        </xsl:for-each>
    </xsl:template>


</xsl:stylesheet>
