﻿<?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="AddActionInTemplateDetail.xslt"/>
    <xsl:import href="AddSurveyInTemplateDetail.xslt"/>
    <xsl:import href="AddResponseInTemplateDetail.xslt"/>
    
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/">
        <xsl:variable name="TemplateURL" select="AjaxRequest/TemplateURL"></xsl:variable>
        <xsl:variable name="TopicID" select="AjaxRequest/Params/TemplateDetailID"></xsl:variable>
        <xsl:variable name="TemplateID" select="AjaxRequest/Params/ItemID"></xsl:variable>
        <xsl:variable name="TemplateRoles" select="AjaxRequest/Roles/."></xsl:variable>     
        <xsl:variable name="ActionName" select="AjaxRequest/ActionDetail/Action/Item"></xsl:variable>
        <xsl:variable name="StartDate" select="AjaxRequest/ActionDetail/Action/StartDate"></xsl:variable>
        <xsl:variable name="SendRequiredYN" select="AjaxRequest/ActionDetail/Action/SendRequiredYN"></xsl:variable>
        <xsl:variable name="DueDate" select="AjaxRequest/ActionDetail/Action/DueDate"></xsl:variable>
        <xsl:variable name="Role" select="AjaxRequest/ActionDetail/Action/Role"></xsl:variable>
        <xsl:variable name="Description" select="AjaxRequest/ActionDetail/Action/Description"></xsl:variable>
        <xsl:variable name="DaysPrior" select="AjaxRequest/ActionDetail/Action/DaysPrior"></xsl:variable>
        <xsl:variable name="TopicName" select="AjaxRequest/ActionDetail/Action/RelatedTo"></xsl:variable>
        <xsl:variable name="TypeKey" select="AjaxRequest/ActionDetail/Action/TypeKey"></xsl:variable>
        <xsl:variable name="PortalItemID" select="AjaxRequest/ActionDetail/Action/PortalItemID"></xsl:variable>
        <xsl:variable name="PK" select="AjaxRequest/ActionDetail/Action/PK"></xsl:variable>
        <xsl:variable name="SurveyListXML" select="AjaxRequest/SurveyListXML/."></xsl:variable>
        <xsl:variable name="WorksheetXML" select="AjaxRequest/Worksheets/."></xsl:variable>
        <xsl:variable name="ParentPortalID" select="$WorksheetXML/MasterPortalID/ParentPortalItemID"></xsl:variable>
        <xsl:variable name="Sort" select="AjaxRequest/ActionDetail/Action/Sort"></xsl:variable>
		
		
		<xsl:variable name="ItemTemplateDetailID" select="AjaxRequest/ActionDetail/Action/ItemTemplateDetailID"></xsl:variable>
		<xsl:variable name="RecurringPeriodType" select="AjaxRequest/ActionDetail/Action/RecurringPeriodType"></xsl:variable>

		<xsl:variable name="RepeatEveryN" select="AjaxRequest/ActionDetail/Action/RepeatEveryN"></xsl:variable>
		<xsl:variable name="EndAfterN" select="AjaxRequest/ActionDetail/Action/EndAfterN"></xsl:variable>
		<xsl:variable name="FirstOfMonthYN" select="AjaxRequest/ActionDetail/Action/FirstOfMonthYN"></xsl:variable>
		<xsl:variable name="LastOfMonthYN" select="AjaxRequest/ActionDetail/Action/LastOfMonthYN"></xsl:variable>
		<xsl:variable name="MiddleOfMonthYN" select="AjaxRequest/ActionDetail/Action/MiddleOfMonthYN"></xsl:variable>
		<xsl:variable name="OnDaysBitmask" select="AjaxRequest/ActionDetail/Action/OnDaysBitmask"></xsl:variable>

		<xsl:variable name="Monday" select="AjaxRequest/ActionDetail/Action/Monday"></xsl:variable>
		<xsl:variable name="Tuesday" select="AjaxRequest/ActionDetail/Action/Tuesday"></xsl:variable>
		<xsl:variable name="Wednesday" select="AjaxRequest/ActionDetail/Action/Wednesday"></xsl:variable>
		<xsl:variable name="Thursday" select="AjaxRequest/ActionDetail/Action/Thursday"></xsl:variable> 
		<xsl:variable name="Friday" select="AjaxRequest/ActionDetail/Action/Friday"></xsl:variable>
		<xsl:variable name="Saturday" select="AjaxRequest/ActionDetail/Action/Saturday"></xsl:variable>
		<xsl:variable name="Sunday" select="AjaxRequest/ActionDetail/Action/Sunday"></xsl:variable> 

		<xsl:variable name="BrandID">
            <xsl:choose>
                <xsl:when test="AjaxRequest/ActionDetail/Action/BrandID">
                    <xsl:value-of select="AjaxRequest/ActionDetail/Action/BrandID"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:text>-99</xsl:text>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>


        <xsl:choose>
            <xsl:when test="$TypeKey = 'Response'">                
                <xsl:call-template name="AddTemplateResponse">
                    <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                    <xsl:with-param name="TemplateDetailID" select="$TopicID"></xsl:with-param>
                    <xsl:with-param name="TemplatePathURL" select="$TemplateURL"></xsl:with-param>
                    <xsl:with-param name="TemplateID" select="$TemplateID"></xsl:with-param>
                    <xsl:with-param name="TopicName" select="$TopicName"></xsl:with-param>
                    <xsl:with-param name="BrandID" select="$BrandID"></xsl:with-param>
                    <xsl:with-param name="Response" select="$ActionName"></xsl:with-param>                    
                    <xsl:with-param name="ResponseName">
                        <xsl:value-of select="$ActionName"/>
                    </xsl:with-param>
                    <xsl:with-param name="SendDay" select="$DueDate"/>                   
                    <xsl:with-param name="SendRequiredYN" select="$SendRequiredYN"></xsl:with-param>
                    <xsl:with-param name="CRMResponseID" select="$PK"></xsl:with-param>
                    <xsl:with-param name="SendTo" select="$Role"></xsl:with-param>
                    <xsl:with-param name="Role" select="$Role"></xsl:with-param>
                    <xsl:with-param name="Sort" select="$Sort"></xsl:with-param>
                    <xsl:with-param name="Mode">
                        <xsl:text>Update</xsl:text>
                    </xsl:with-param>
					
					<xsl:with-param name="varItemTemplateDetailID" select="$ItemTemplateDetailID"></xsl:with-param>
					<xsl:with-param name="RecurringPeriodType" select="$RecurringPeriodType"></xsl:with-param>
					<xsl:with-param name="RepeatEveryN" select="$RepeatEveryN"></xsl:with-param>
					<xsl:with-param name="EndAfterN" select="$EndAfterN"></xsl:with-param>
					<xsl:with-param name="FirstOfMonthYN" select="$FirstOfMonthYN"></xsl:with-param>
					<xsl:with-param name="LastOfMonthYN" select="$LastOfMonthYN"></xsl:with-param>
					<xsl:with-param name="MiddleOfMonthYN" select="$MiddleOfMonthYN"></xsl:with-param>
					<xsl:with-param name="OnDaysBitmask" select="$OnDaysBitmask"></xsl:with-param>

					<xsl:with-param name="Monday" select="$Monday"></xsl:with-param>
					<xsl:with-param name="Tuesday" select="$Tuesday"></xsl:with-param>
					<xsl:with-param name="Wednesday" select="$Wednesday"></xsl:with-param>
					<xsl:with-param name="Thursday" select="$Thursday"></xsl:with-param>
					<xsl:with-param name="Friday" select="$Friday"></xsl:with-param>
					<xsl:with-param name="Saturday" select="$Saturday"></xsl:with-param>
					<xsl:with-param name="Sunday" select="$Sunday"></xsl:with-param>
                </xsl:call-template>
            </xsl:when>
            <xsl:when test="$TypeKey = 'Survey'">
                <xsl:call-template name="AddTemplateSurvey">
                    <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
                    <xsl:with-param name="TemplateDetailID" select="$TopicID"></xsl:with-param>
                    <xsl:with-param name="TemplatePathURL" select="$TemplateURL"></xsl:with-param>
                    <xsl:with-param name="TemplateID" select="$TemplateID"></xsl:with-param>
                    <xsl:with-param name="TopicName" select="$TopicName"></xsl:with-param>
                    <xsl:with-param name="BrandID" select="$BrandID"></xsl:with-param>
                    <xsl:with-param name="SurveyListXML" select="$SurveyListXML"></xsl:with-param>
                    <xsl:with-param name="TemplateRoles" select="$TemplateRoles"></xsl:with-param>
                    <xsl:with-param name="Mode">
                        <xsl:text>Update</xsl:text>
                    </xsl:with-param>
                    <xsl:with-param name="SurveyName" select="$ActionName"></xsl:with-param>
                    <xsl:with-param name="StartDate" select="$StartDate"></xsl:with-param>
                    <xsl:with-param name="DueDate" select="$DueDate"></xsl:with-param>
                    <xsl:with-param name="Role" select="$Role"></xsl:with-param>
                    <xsl:with-param name="DaysPrior" select="$DaysPrior"></xsl:with-param>
                    <xsl:with-param name="SurveyID" select="$PK"></xsl:with-param>
                    <xsl:with-param name="WorksheetXML" select="$WorksheetXML"></xsl:with-param>
                    <xsl:with-param name="ParentPortalID" select="$ParentPortalID"></xsl:with-param>
                    <xsl:with-param name="Sort" select="$Sort"></xsl:with-param>
					<xsl:with-param name="varItemTemplateDetailID" select="$ItemTemplateDetailID"></xsl:with-param>
					<xsl:with-param name="RecurringPeriodType" select="$RecurringPeriodType"></xsl:with-param>
					<xsl:with-param name="RepeatEveryN" select="$RepeatEveryN"></xsl:with-param>
					<xsl:with-param name="EndAfterN" select="$EndAfterN"></xsl:with-param>
					<xsl:with-param name="FirstOfMonthYN" select="$FirstOfMonthYN"></xsl:with-param>
					<xsl:with-param name="LastOfMonthYN" select="$LastOfMonthYN"></xsl:with-param>
					<xsl:with-param name="MiddleOfMonthYN" select="$MiddleOfMonthYN"></xsl:with-param>
					<xsl:with-param name="OnDaysBitmask" select="$OnDaysBitmask"></xsl:with-param>

					<xsl:with-param name="Monday" select="$Monday"></xsl:with-param>
					<xsl:with-param name="Tuesday" select="$Tuesday"></xsl:with-param>
					<xsl:with-param name="Wednesday" select="$Wednesday"></xsl:with-param>
					<xsl:with-param name="Thursday" select="$Thursday"></xsl:with-param>
					<xsl:with-param name="Friday" select="$Friday"></xsl:with-param>
					<xsl:with-param name="Saturday" select="$Saturday"></xsl:with-param>
					<xsl:with-param name="Sunday" select="$Sunday"></xsl:with-param>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="AddTemplateAction">
                    <xsl:with-param name="TemplatePathURL" select="$TemplateURL"></xsl:with-param>
                    <xsl:with-param name="TopicID" select="$TopicID"></xsl:with-param>
                    <xsl:with-param name="TemplateID" select="$TemplateID"></xsl:with-param>
                    <xsl:with-param name="BrandID" select="$BrandID"></xsl:with-param>
                    <xsl:with-param name="TemplateRoles" select="$TemplateRoles"></xsl:with-param>
                    <xsl:with-param name="ActionName" select="$ActionName"></xsl:with-param>
                    <xsl:with-param name="StartDate" select="$StartDate"></xsl:with-param>
                    <xsl:with-param name="DueDate" select="$DueDate"></xsl:with-param>
                    <xsl:with-param name="Role" select="$Role"></xsl:with-param>
                    <xsl:with-param name="Description" select="$Description"></xsl:with-param>
                    <xsl:with-param name="DaysPrior" select="$DaysPrior"></xsl:with-param>
                    <xsl:with-param name="TopicName" select="$TopicName"></xsl:with-param>
                    <xsl:with-param name="Mode">
                        <xsl:text>Update</xsl:text>
                    </xsl:with-param>
                    <xsl:with-param name="Sort" select="$Sort"></xsl:with-param>
					<xsl:with-param name="varItemTemplateDetailID" select="$ItemTemplateDetailID"></xsl:with-param>
					<xsl:with-param name="RecurringPeriodType" select="$RecurringPeriodType"></xsl:with-param>
					<xsl:with-param name="RepeatEveryN" select="$RepeatEveryN"></xsl:with-param>
					<xsl:with-param name="EndAfterN" select="$EndAfterN"></xsl:with-param>
					<xsl:with-param name="FirstOfMonthYN" select="$FirstOfMonthYN"></xsl:with-param>
					<xsl:with-param name="LastOfMonthYN" select="$LastOfMonthYN"></xsl:with-param>
					<xsl:with-param name="MiddleOfMonthYN" select="$MiddleOfMonthYN"></xsl:with-param>
					<xsl:with-param name="OnDaysBitmask" select="$OnDaysBitmask"></xsl:with-param>
					
					<xsl:with-param name="Monday" select="$Monday"></xsl:with-param>
					<xsl:with-param name="Tuesday" select="$Tuesday"></xsl:with-param>
					<xsl:with-param name="Wednesday" select="$Wednesday"></xsl:with-param>
					<xsl:with-param name="Thursday" select="$Thursday"></xsl:with-param>
					<xsl:with-param name="Friday" select="$Friday"></xsl:with-param>
					<xsl:with-param name="Saturday" select="$Saturday"></xsl:with-param>
					<xsl:with-param name="Sunday" select="$Sunday"></xsl:with-param>
                </xsl:call-template>
            </xsl:otherwise>
        </xsl:choose>

        
    </xsl:template>
</xsl:stylesheet>
