﻿<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template name="ItemSummary">
        <xsl:param name="ItemDivPrefix" select="'Not Available'"></xsl:param>
        <xsl:param name="Status" select="'Not Available'"></xsl:param>
        <xsl:param name="LeftDays" select="'Not Available'"></xsl:param>
        <xsl:param name="DueDate" select="'Not Available'"></xsl:param>
        <xsl:param name="Responsible" select="'Not Available'"></xsl:param>
        <xsl:param name="TotalCount" select="'Not Available'"></xsl:param>
        <xsl:param name="Completed" select="'Not Available'"></xsl:param>
        <xsl:param name="PastDueCount" select="'Not Available'"></xsl:param>
        <xsl:param name="TypeID" select="'Not Available'"></xsl:param>
        <xsl:param name="ItemOnClickEventHandler" select="'Not Available'"></xsl:param>
        <xsl:param name="ItemID" select="'Not Available'"></xsl:param>
        <xsl:param name="Mode" select="'Not Available'"></xsl:param>
        <xsl:param name="GoalID" select="'Not Available'"></xsl:param>
        <xsl:param name="PermissionID" select="'Not Available'"></xsl:param>

        <span class="actionMenu">
            <xsl:if test="$TypeID = 17">
                <xsl:if test="$TotalCount &gt; 0">
                    <span class="label" id="{$ItemDivPrefix}_summarizedMenu" style="display:none">
                        <xsl:call-template name="ItemSummarizedMenuContent">
                            <xsl:with-param name="Status" select="$Status"></xsl:with-param>
                            <xsl:with-param name="LeftDays" select="$LeftDays"></xsl:with-param>
                            <xsl:with-param name="DueDate" select="$DueDate"></xsl:with-param>
                            <xsl:with-param name="Responsible" select="$Responsible"></xsl:with-param>
                            <xsl:with-param name ="ItemOnClickEventHandler" select="$ItemOnClickEventHandler"></xsl:with-param>
                            <xsl:with-param name ="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                            <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                            <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                            <xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>
                            <xsl:with-param name="PermissionID" select="$PermissionID"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                    <span id="{$ItemDivPrefix}_summarizedCountMenu" onClick="{$ItemOnClickEventHandler}" style="display:inline">
                        <xsl:call-template name="ItemSummarizedCountMenuContent">
                            <xsl:with-param name="TotalCount" select="$TotalCount"></xsl:with-param>
                            <xsl:with-param name="Completed" select="$Completed"></xsl:with-param>
                            <xsl:with-param name="PastDueCount" select="$PastDueCount"></xsl:with-param>
                            <xsl:with-param name="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                </xsl:if>
                <xsl:if test="$TotalCount = 0">
                    <span class="label" id="{$ItemDivPrefix}_summarizedMenu" style="display:none">
                        <xsl:call-template name="ItemSummarizedMenuContent">
                            <xsl:with-param name="Status" select="$Status"></xsl:with-param>
                            <xsl:with-param name="LeftDays" select="$LeftDays"></xsl:with-param>
                            <xsl:with-param name="DueDate" select="$DueDate"></xsl:with-param>
                            <xsl:with-param name="Responsible" select="$Responsible"></xsl:with-param>
                            <xsl:with-param name ="ItemOnClickEventHandler" select="$ItemOnClickEventHandler"></xsl:with-param>
                            <xsl:with-param name ="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                            <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                            <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                            <xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>
                            <xsl:with-param name="PermissionID" select="$PermissionID"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                    <span id="{$ItemDivPrefix}_summarizedCountMenu" onClick="{$ItemOnClickEventHandler}" style="display:none">
                        <xsl:call-template name="ItemSummarizedCountMenuContent">
                            <xsl:with-param name="TotalCount" select="$TotalCount"></xsl:with-param>
                            <xsl:with-param name="Completed" select="$Completed"></xsl:with-param>
                            <xsl:with-param name="PastDueCount" select="$PastDueCount"></xsl:with-param>
                            <xsl:with-param name="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                </xsl:if>
            </xsl:if>
            <xsl:if test="$TypeID != 17">
                <xsl:if test="$TotalCount &gt; 0">
                    <span class="label" id="{$ItemDivPrefix}_summarizedMenu" style="display:none">
                        <xsl:call-template name="ItemSummarizedMenuContent">
                            <xsl:with-param name="Status" select="$Status"></xsl:with-param>
                            <xsl:with-param name="LeftDays" select="$LeftDays"></xsl:with-param>
                            <xsl:with-param name="DueDate" select="$DueDate"></xsl:with-param>
                            <xsl:with-param name="Responsible" select="$Responsible"></xsl:with-param>
                            <xsl:with-param name ="ItemOnClickEventHandler" select="$ItemOnClickEventHandler"></xsl:with-param>
                            <xsl:with-param name ="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                            <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                            <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                            <xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>
                            <xsl:with-param name="PermissionID" select="$PermissionID"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                    <span id="{$ItemDivPrefix}_summarizedCountMenu" onClick="{$ItemOnClickEventHandler}" style="display:inline">
                        <xsl:call-template name="ItemSummarizedCountMenuContent">
                            <xsl:with-param name="TotalCount" select="$TotalCount"></xsl:with-param>
                            <xsl:with-param name="Completed" select="$Completed"></xsl:with-param>
                            <xsl:with-param name="PastDueCount" select="$PastDueCount"></xsl:with-param>
                            <xsl:with-param name="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                </xsl:if>
                <xsl:if test="$TotalCount = 0">
                    <span class="label" id="{$ItemDivPrefix}_summarizedMenu" style="display:inline">
                        <xsl:call-template name="ItemSummarizedMenuContent">
                            <xsl:with-param name="Status" select="$Status"></xsl:with-param>
                            <xsl:with-param name="LeftDays" select="$LeftDays"></xsl:with-param>
                            <xsl:with-param name="DueDate" select="$DueDate"></xsl:with-param>
                            <xsl:with-param name="Responsible" select="$Responsible"></xsl:with-param>
                            <xsl:with-param name ="ItemOnClickEventHandler" select="$ItemOnClickEventHandler"></xsl:with-param>
                            <xsl:with-param name ="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                            <xsl:with-param name="ItemID" select="$ItemID"></xsl:with-param>
                            <xsl:with-param name="Mode" select="$Mode"></xsl:with-param>
                            <xsl:with-param name="GoalID" select="$GoalID"></xsl:with-param>
                            <xsl:with-param name="PermissionID" select="$PermissionID"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                    <span id="{$ItemDivPrefix}_summarizedCountMenu" onClick="{$ItemOnClickEventHandler}" style="display:none">
                        <xsl:call-template name="ItemSummarizedCountMenuContent">
                            <xsl:with-param name="TotalCount" select="$TotalCount"></xsl:with-param>
                            <xsl:with-param name="Completed" select="$Completed"></xsl:with-param>
                            <xsl:with-param name="PastDueCount" select="$PastDueCount"></xsl:with-param>
                            <xsl:with-param name="ItemDivPrefix" select="$ItemDivPrefix"></xsl:with-param>
                        </xsl:call-template>
                    </span>
                </xsl:if>
            </xsl:if>
        </span>
    </xsl:template>

    <xsl:template name="ItemSummarizedMenuContent">
        <xsl:param name="Status" select="'Not Available'"></xsl:param>
        <xsl:param name="LeftDays" select="'Not Available'"></xsl:param>
        <xsl:param name="DueDate" select="'Not Available'"></xsl:param>
        <xsl:param name="Responsible" select="'Not Available'"></xsl:param>
        <xsl:param name="ItemOnClickEventHandler" select="'Not Available'"></xsl:param>
        <xsl:param name="ItemDivPrefix" select="'Not Available'"></xsl:param>
        <xsl:param name="ItemID" select="'Not Available'"></xsl:param>
        <xsl:param name="Mode" select="'Not Available'"></xsl:param>
        <xsl:param name="GoalID" select="'Not Available'"></xsl:param>
        <xsl:param name="PermissionID" select="'Not Available'"></xsl:param>

        <xsl:variable name="Color">
            <xsl:if test ="$LeftDays &lt; 0 and $Status!='Completed'">
                color:Red
            </xsl:if>
        </xsl:variable>

        <xsl:if test ="$Responsible != ''">
            <span onClick="{$ItemOnClickEventHandler}">
                (
            </span>
            <xsl:choose>
                <xsl:when test="$PermissionID = 3 or $PermissionID &gt;= 4">
                    <span id="{$ItemDivPrefix}_summarizedMenu_ItemSelectStatus"
                          onmouseover="this.style.textDecoration='underline';"
                          onmouseout="this.style.textDecoration='none';"
                          onClick='return task_EditItemStatus(
                            "{$ItemDivPrefix}_opt_summarizedMenu_ItemSelectStatus", 
                            "{$ItemDivPrefix}_summarizedMenu_ItemSelectStatus",
                            "{$Status}");'>
                        <xsl:value-of select="$Status"></xsl:value-of>
                    </span>
                    <xsl:if test="normalize-space($Mode) != 'EmailDigest'">
                        <select id="{$ItemDivPrefix}_opt_summarizedMenu_ItemSelectStatus"
                                style="display: none;" name="StatusType" class="smallDropdown"
                                onChange='return task_UpdateItemStatus(
                                                    "{$ItemID}",
                                                    "{$ItemDivPrefix}_opt_summarizedMenu_ItemSelectStatus",
                                                    "{$GoalID}", 
                                                    "{$Mode}",
                                                    "{$ItemDivPrefix}",
                                                    "1.0");'>

                            <option value="1" class="smallDropdown">
                                <xsl:text>Not Started</xsl:text>
                            </option>
                            <option value="2" class="smallDropdown">
                                <xsl:text>In Progress</xsl:text>
                            </option>
                            <option value="3" class="smallDropdown">
                                <xsl:text>Waiting</xsl:text>
                            </option>
                            <option value="4" class="smallDropdown">
                                <xsl:text>Completed</xsl:text>
                            </option>
                            <option value="5" class="smallDropdown">
                                <xsl:text>Terminated</xsl:text>
                            </option>
                            <option value="6" class="smallDropdown">
                                <xsl:text>Archived</xsl:text>
                            </option>
                        </select>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <span id="{$ItemDivPrefix}_summarizedMenu_ItemSelectStatus" onClick="{$ItemOnClickEventHandler}">
                        <xsl:value-of select="$Status"></xsl:value-of>
                    </span>
                </xsl:otherwise>
            </xsl:choose>
            ,
            <xsl:choose>
                <xsl:when test="$PermissionID = 3 or $PermissionID &gt;= 4">
                    <span id="{$ItemDivPrefix}_summarizedMenu_ItemSelectDate_due"
                          name="&lt;OperationalData&gt;&lt;Version&gt;1.0&lt;/Version&gt;&lt;ItemID&gt;{$ItemID}&lt;/ItemID&gt;&lt;GoalID&gt;{$GoalID}&lt;/GoalID&gt;&lt;Mode&gt;{$Mode}&lt;/Mode&gt;&lt;ItemDivPrefix&gt;{$ItemDivPrefix}&lt;/ItemDivPrefix&gt;&lt;/OperationalData&gt;"
                          onClick='dp("{$ItemDivPrefix}_summarizedMenu_ItemSelectDate_due", "{$ItemDivPrefix}_summarizedMenu_ItemSelectDate_due")'> due </span>

                    <span id="{$ItemDivPrefix}_summarizedMenu_ItemSelectDate" style="{$Color}"
                          onmouseover="this.style.textDecoration='underline';"
                          onmouseout="this.style.textDecoration='none';"
                          name="&lt;OperationalData&gt;&lt;Version&gt;1.0&lt;/Version&gt;&lt;ItemID&gt;{$ItemID}&lt;/ItemID&gt;&lt;GoalID&gt;{$GoalID}&lt;/GoalID&gt;&lt;Mode&gt;{$Mode}&lt;/Mode&gt;&lt;ItemDivPrefix&gt;{$ItemDivPrefix}&lt;/ItemDivPrefix&gt;&lt;/OperationalData&gt;"
                          onClick='dp("{$ItemDivPrefix}_summarizedMenu_ItemSelectDate", "{$ItemDivPrefix}_summarizedMenu_ItemSelectDate")'>
                        <xsl:value-of select="$DueDate"></xsl:value-of>
                    </span>
                    <xsl:if test="normalize-space($Mode) != 'EmailDigest'">
                        <input id="{$ItemDivPrefix}_summarizedMenu_ItemSelectDate_txt"
                               type="text" class="dateTextBox" value="{$DueDate}" style="display: none;">
                        </input>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <span id="{$ItemDivPrefix}_summarizedMenu_ItemSelectDate_due" onClick="{$ItemOnClickEventHandler}"> due </span>
                    <span id="{$ItemDivPrefix}_summarizedMenu_ItemSelectDate" style="{$Color}" onClick="{$ItemOnClickEventHandler}">
                        <xsl:value-of select="$DueDate"></xsl:value-of>
                    </span>
                </xsl:otherwise>
            </xsl:choose>
            <span onClick="{$ItemOnClickEventHandler}">
                by <xsl:value-of select="$Responsible"></xsl:value-of>
                )
            </span>

        </xsl:if>
    </xsl:template>

    <xsl:template name ="ItemSummarizedCountMenuContent">
        <xsl:param name="ItemDivPrefix" select="'Not Available'"></xsl:param>
        <xsl:param name="TotalCount" select="'Not Available'"></xsl:param>
        <xsl:param name="Completed" select="'Not Available'"></xsl:param>
        <xsl:param name="PastDueCount" select="'Not Available'"></xsl:param>

        (
        <span id="{$ItemDivPrefix}_totalActionCount">
            <xsl:value-of select="$TotalCount"></xsl:value-of>
        </span> Action(s)
        <xsl:if test="$Completed &gt; 0">
            <span style="display:inline">
                , <span id="{$ItemDivPrefix}_completedActionCount">
                    <xsl:value-of select="$Completed"></xsl:value-of>
                </span> Completed
            </span>
        </xsl:if>
        <xsl:if test="$Completed &lt;= 0">
            <span style="display:none">
                , <span id="{$ItemDivPrefix}_completedActionCount">0</span> Completed
            </span>
        </xsl:if>
        <xsl:if test="$PastDueCount &gt; 0">
            <span style="display:inline">
                , <span id="{$ItemDivPrefix}_pastDueActionCount">
                    <xsl:value-of select="$PastDueCount"></xsl:value-of>
                </span> Past Due
            </span>
        </xsl:if>
        <xsl:if test="$PastDueCount &lt;= 0">
            <span style="display:none">
                , <span id="{$ItemDivPrefix}_pastDueActionCount">0</span> Past Due
            </span>
        </xsl:if>
        )

    </xsl:template>

</xsl:stylesheet>