﻿<?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="WorkoutProgram.xslt"></xsl:import>
    <xsl:import href="AddProgram.xslt"></xsl:import>

    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/">
        <xsl:variable name="GoalID" select="AjaxRequest/Params/GoalID"></xsl:variable>
        <xsl:variable name="ResponsibleID" select="AjaxRequest/Params/ResponsibleID"></xsl:variable>
        <xsl:variable name="TargetDiv" select="AjaxRequest/Params/TargetDiv"></xsl:variable>
        <xsl:variable name="SelDate" select="AjaxRequest/Params/SelectedDate"></xsl:variable>
        <xsl:variable name="TemplateURL" select="AjaxRequest/TemplateURL"></xsl:variable>
        <xsl:variable name="CommunityAdmin" select="AjaxRequest/UserRoles/Role[RoleName = 'Community Admin']"></xsl:variable>

        <xsl:call-template name="WorkOutPrograms">
            <xsl:with-param name="PortalItemID" select="AjaxRequest/FitnessPrograms/FitnessProgram/PortalItemID"></xsl:with-param>
            <xsl:with-param name="FitnessXML" select="AjaxRequest/FitnessPrograms/."></xsl:with-param>
            <xsl:with-param name="Mode" select="AjaxRequest/Params/Mode"></xsl:with-param>
            <xsl:with-param name="SelDate" select="$SelDate"></xsl:with-param>
            <xsl:with-param name="AccName" select="AjaxRequest/FitnessPrograms/FitnessProgram/DisplayName"></xsl:with-param>
            <xsl:with-param name="AccID" select="AjaxRequest/FitnessPrograms/FitnessProgram/AccountID"></xsl:with-param>
            <xsl:with-param name="UserID" select="AjaxRequest/FitnessPrograms/FitnessProgram/UserID"></xsl:with-param>
            <xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>
            <xsl:with-param name="ResponsibleID" select="$ResponsibleID"></xsl:with-param>
            <xsl:with-param name="TargetDiv" select="$TargetDiv"></xsl:with-param>
            <xsl:with-param name="Origin">
                <xsl:if test="AjaxRequest/Params/GoalID">
                    <xsl:text>Goal</xsl:text>
                </xsl:if>
            </xsl:with-param>
            <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
            <xsl:with-param name="CommunityAdmin" select="$CommunityAdmin"></xsl:with-param>
        </xsl:call-template>

    </xsl:template>

    <xsl:template name ="WorkOutPrograms">
        <xsl:param name ="PortalItemID" select ="'N/A'"></xsl:param>
        <xsl:param name ="FitnessXML" select ="'N/A'"></xsl:param>
        <xsl:param name ="Mode" select ="'N/A'"></xsl:param>
        <xsl:param name ="SelDate" select ="'N/A'"></xsl:param>
        <xsl:param name ="AccName" select ="'N/A'"></xsl:param>
        <xsl:param name ="AccID" select ="'N/A'"></xsl:param>
        <xsl:param name="Origin" select="'N/A'"></xsl:param>
        <xsl:param name="GoalID" select="'N/A'"></xsl:param>
        <xsl:param name="ResponsibleID">
            <xsl:number value ="-99"/>
        </xsl:param>
        <xsl:param name="TargetDiv" select="'N/A'"></xsl:param>
        <xsl:param name="TemplateURL" select="'N/A'"></xsl:param>
        <xsl:param name="SelectedDateFromCalender" select="'N/A'"></xsl:param>
        <xsl:param name="CommunityAdmin" select="'N/A'"></xsl:param>
        <xsl:variable name="GoalPortalItemID" select="$FitnessXML/GoalPortalItemID"></xsl:variable>
        <xsl:variable name="GoalPortalTypeID" select="$FitnessXML/GoalPortalTypeID"></xsl:variable>
        <xsl:variable name="HasWorkModule" select="$FitnessXML/HasWorkModule"></xsl:variable>
        
        

        <table cellpadding ="0" cellspacing ="2" style="margin-left:10px;margin-right:10px;width:100%;">
            <xsl:if test="$Mode = 'ProgramClientProfile'">
                <tr>
                    <td colspan="3">
                        <div id="div_ProgramList_{$PortalItemID}_Contente_Data_Client_Programs">
                            <div id="div_ProgramList_{$PortalItemID}_Contente_Data_Client_Programs_Header" class="seperatorLine link"
                                 onClick="program_ExpandCollapse('div_ProgramList_{$PortalItemID}_Contente_Data_Client_Programs_Content');">
                                <xsl:choose>
                                    <xsl:when test="$Origin = 'Goal'">
                                        <span class="packageTitle">
                                            Patient Protocols&#xa0;(<xsl:value-of select="count($FitnessXML/FitnessProgram[ClientAccountID &gt; -99])"/>)
                                        </span>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <span class="packageTitle">
                                            Patient Protocols&#xa0;(<xsl:value-of select="count($FitnessXML/FitnessProgram[ClientAccountID &gt; -99])"/>)
                                        </span>
                                    </xsl:otherwise>
                                </xsl:choose>


                            </div>
                            <div id="div_ProgramList_{$PortalItemID}_Contente_Data_Client_Programs_Content" style="display:block;">
                                <table cellpadding ="0" cellspacing ="2" style="margin-left:10px;margin-right:10px;width:100%;">
                                    <xsl:choose>
                                        <xsl:when test="$Origin = 'Goal'">
                                            <xsl:for-each select ="$FitnessXML/FitnessProgram[(ClientAccountID &gt; -99) and IsPublic = 1]">
                                                <xsl:call-template name="Workout_ProgramList">
                                                    <xsl:with-param name="AccountName" select="DisplayName"></xsl:with-param>
                                                    <xsl:with-param name="AccountID" select="AccountID"></xsl:with-param>
                                                    <xsl:with-param name="PortalItemID" select="PortalItemID"></xsl:with-param>
                                                    <xsl:with-param name="ProgramID" select="ProgramID"></xsl:with-param>
                                                    <xsl:with-param name="ProgramName" select="ProgramName"></xsl:with-param>
                                                    <xsl:with-param name="Description" select="Description"></xsl:with-param>
                                                    <xsl:with-param name="DisplayName" select="DisplayName"></xsl:with-param>
                                                    <xsl:with-param name="CustomType" select="CustomType"></xsl:with-param>
                                                    <xsl:with-param name="ClientUserID" select="UserID"></xsl:with-param>
                                                    <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                                                    <xsl:with-param name="SelDate" select="$SelDate"></xsl:with-param>
                                                    <xsl:with-param name="Origin" select="$Origin"></xsl:with-param>
                                                    <xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>
                                                    <xsl:with-param name="ResponsibleID" select="$ResponsibleID"></xsl:with-param>
                                                    <xsl:with-param name="TargetDiv" select="$TargetDiv"></xsl:with-param>
                                                    <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
                                                    <xsl:with-param name="SelectedDateFromCalender" select="$SelectedDateFromCalender"></xsl:with-param>
                                                    <xsl:with-param name="ClientAccountID" select="ClientAccountID"></xsl:with-param>
                                                    <xsl:with-param name="CommunityAdmin" select="$CommunityAdmin"></xsl:with-param>
                                                    <xsl:with-param name="CRMWorkoutScheduleXML" select="CRMWorkoutScheduleXML"></xsl:with-param>
                                                </xsl:call-template>
                                            </xsl:for-each>
                                        </xsl:when>
                                        <xsl:otherwise>
                                            <xsl:for-each select ="$FitnessXML/FitnessProgram[ClientAccountID &gt; -99]">
                                                <xsl:call-template name="Workout_ProgramList">
                                                    <xsl:with-param name="AccountName" select="DisplayName"></xsl:with-param>
                                                    <xsl:with-param name="AccountID" select="AccountID"></xsl:with-param>
                                                    <xsl:with-param name="PortalItemID" select="PortalItemID"></xsl:with-param>
                                                    <xsl:with-param name="ProgramID" select="ProgramID"></xsl:with-param>
                                                    <xsl:with-param name="ProgramName" select="ProgramName"></xsl:with-param>
                                                    <xsl:with-param name="Description" select="Description"></xsl:with-param>
                                                    <xsl:with-param name="DisplayName" select="DisplayName"></xsl:with-param>
                                                    <xsl:with-param name="CustomType" select="CustomType"></xsl:with-param>
                                                    <xsl:with-param name="ClientUserID" select="UserID"></xsl:with-param>
                                                    <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                                                    <xsl:with-param name="SelDate" select="$SelDate"></xsl:with-param>
                                                    <xsl:with-param name="ResponsibleID" select="$ResponsibleID"></xsl:with-param>
                                                    <xsl:with-param name="Origin" select="$Origin"></xsl:with-param>
                                                    <xsl:with-param name="TargetDiv" select="$TargetDiv"></xsl:with-param>
                                                    <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
                                                    <xsl:with-param name="SelectedDateFromCalender" select="$SelectedDateFromCalender"></xsl:with-param>
                                                    <xsl:with-param name="ClientAccountID" select="ClientAccountID"></xsl:with-param>
                                                    <xsl:with-param name="CommunityAdmin" select="$CommunityAdmin"></xsl:with-param>
                                                    <xsl:with-param name="CRMWorkoutScheduleXML" select="CRMWorkoutScheduleXML"></xsl:with-param>
                                                </xsl:call-template>
                                            </xsl:for-each>
                                        </xsl:otherwise>
                                    </xsl:choose>

                                </table>
                            </div>
                        </div>
                    </td>
                </tr>
            </xsl:if>
            <tr>
                <td colspan="3">
                    <div id="div_ProgramList_{$PortalItemID}_Contente_Data_Master_Programs">
                        <div id="div_ProgramList_{$PortalItemID}_Contente_Data_Master_Programs_Header" class="seperatorLine link"
                             onClick="program_ExpandCollapse('div_ProgramList_{$PortalItemID}_Contente_Data_Master_Programs_Content');">
                            <xsl:choose>
                                <xsl:when test="$Origin = 'Goal'">
                                    <span class="packageTitle link">
                                        Master Protocols&#xa0;(<xsl:value-of select="count($FitnessXML/FitnessProgram[(ClientAccountID &lt;= 0)])"/>)
                                    </span>
                                </xsl:when>
                                <xsl:otherwise>
                                    <span class="packageTitle link">
                                        Master Protocols&#xa0;(<xsl:value-of select="count($FitnessXML/FitnessProgram[(ClientAccountID &lt;= 0)])"/>)
                                    </span>
                                </xsl:otherwise>
                            </xsl:choose>

                        </div>
                        <div id="div_ProgramList_{$PortalItemID}_Contente_Data_Master_Programs_Content" style="display:block;">
                            <table cellpadding ="0" cellspacing ="2" style="margin-left:10px;margin-right:10px;width:100%;">
                                <xsl:choose>
                                    <xsl:when test="$Origin = 'Goal'">
                                        <xsl:for-each select ="$FitnessXML/FitnessProgram[ClientAccountID &lt;= 0]">
                                            <xsl:call-template name="Workout_ProgramList">
                                                <xsl:with-param name="AccountName" select="DisplayName"></xsl:with-param>
                                                <xsl:with-param name="AccountID" select="AccountID"></xsl:with-param>
                                                <xsl:with-param name="PortalItemID" select="PortalItemID"></xsl:with-param>
                                                <xsl:with-param name="ProgramID" select="ProgramID"></xsl:with-param>
                                                <xsl:with-param name="ProgramName" select="ProgramName"></xsl:with-param>
                                                <xsl:with-param name="Description" select="Description"></xsl:with-param>
                                                <xsl:with-param name="DisplayName" select="DisplayName"></xsl:with-param>
                                                <xsl:with-param name="CustomType" select="CustomType"></xsl:with-param>
                                                <xsl:with-param name="ClientUserID" select="UserID"></xsl:with-param>
                                                <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                                                <xsl:with-param name="SelDate" select="$SelDate"></xsl:with-param>
                                                <xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>
                                                <xsl:with-param name="Origin" select="$Origin"></xsl:with-param>
                                                <xsl:with-param name="ResponsibleID" select="$ResponsibleID"></xsl:with-param>
                                                <xsl:with-param name="TargetDiv" select="$TargetDiv"></xsl:with-param>
                                                <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
                                                <xsl:with-param name="SelectedDateFromCalender" select="$SelectedDateFromCalender"></xsl:with-param>
                                                <xsl:with-param name="CommunityAdmin" select="$CommunityAdmin"></xsl:with-param>
                                                <xsl:with-param name="CRMWorkoutScheduleXML" select="CRMWorkoutScheduleXML"></xsl:with-param>
                                            </xsl:call-template>
                                        </xsl:for-each>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <xsl:for-each select ="$FitnessXML/FitnessProgram[ClientAccountID &lt;= 0]">
                                            <xsl:call-template name="Workout_ProgramList">
                                                <xsl:with-param name="AccountName" select="$AccName"></xsl:with-param>
                                                <xsl:with-param name="AccountID" select="$AccID"></xsl:with-param>
                                                <xsl:with-param name="PortalItemID" select="PortalItemID"></xsl:with-param>
                                                <xsl:with-param name="ProgramID" select="ProgramID"></xsl:with-param>
                                                <xsl:with-param name="ProgramName" select="ProgramName"></xsl:with-param>
                                                <xsl:with-param name="Description" select="Description"></xsl:with-param>
                                                <xsl:with-param name="DisplayName" select="DisplayName"></xsl:with-param>
                                                <xsl:with-param name="CustomType" select="CustomType"></xsl:with-param>
                                                <xsl:with-param name="ClientUserID" select="UserID"></xsl:with-param>
                                                <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                                                <xsl:with-param name="SelDate" select="$SelDate"></xsl:with-param>
                                                <xsl:with-param name="ResponsibleID" select="$ResponsibleID"></xsl:with-param>
                                                <xsl:with-param name="Origin" select="$Origin"></xsl:with-param>
                                                <xsl:with-param name="TargetDiv" select="$TargetDiv"></xsl:with-param>
                                                <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
                                                <xsl:with-param name="SelectedDateFromCalender" select="$SelectedDateFromCalender"></xsl:with-param>
                                                <xsl:with-param name="CommunityAdmin" select="$CommunityAdmin"></xsl:with-param>
                                                <xsl:with-param name="CRMWorkoutScheduleXML" select="CRMWorkoutScheduleXML"></xsl:with-param>
                                            </xsl:call-template>
                                        </xsl:for-each>
                                    </xsl:otherwise>
                                </xsl:choose>
                            </table>
                        </div>
                    </div>
                </td>
            </tr>

        </table>
        <xsl:if test="$Mode = 'ProgramAdmin'">
            <div id="div_AddWorkoutButton" class="verticallyMiddle marginTop20 onMouseOver divBrowseGradient spanBrowseGradientTextGray" style="width:120px;line-height:30px;text-align:center;"
                                   onmouseover="document.getElementById('img_AddWorkout').src='{$TemplateURL}Web/Images/Ver_2_0/icon_add_over.png';"
                                   onmouseout="document.getElementById('img_AddWorkout').src='{$TemplateURL}Web/Images/Ver_2_0/icon_Add.png';"
                                   onClick="workoutTracker_DisplayAddProgram('div_ProgramList_{$PortalItemID}_AddProgram', '{$PortalItemID}', '', '-99', '')">
                <img id="img_AddWorkout" src="{$TemplateURL}Web/Images/Ver_2_0/icon_Add.png" align="absmiddle"  class="marginRight5"></img>
                <span id="span_Cancel">ADD PROTOCOL</span>
            </div>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>
