<!--                                                                  -->
<!--  Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved     -->
<!--  $Id$  -->
<!--                                                                  -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:dyn="http://exslt.org/dynamic" xmlns:set="http://exslt.org/sets" extension-element-prefixes="dyn set">

    <xsl:variable name="termsExist">
        <xsl:choose>
            <xsl:when test="normalize-space(/Root/Form/TermList/Term/ArtistContractTermID)">1</xsl:when>
            <xsl:otherwise>0</xsl:otherwise>
        </xsl:choose>
    </xsl:variable>

    <xsl:template name="termLayout">
        <script type="text/javascript" src="/production/javascript/validateTerm.js?t={$now}" />
        <form name="termEdit" id="termEdit" method="post" action="contract">
            <xsl:call-template name="termEdit" />
            <xsl:call-template name="buttons" />
        </form>
    </xsl:template>

    <xsl:template name="termEdit">
        <div class="section">
            <xsl:if test="Params/_inline">
                <input type="hidden" name="_inline" value="1" />
            </xsl:if>
            <input type="hidden" name="formSubmit" value="1" />
            <input type="hidden" name="c" value="term" />
            <input type="hidden" name="Mode" value="{Params/Mode}" />
            <input type="hidden" name="ContractID" value="{Params/ContractID}" />
            <input type="hidden" name="termsExist" id="termsExist" value="{$termsExist}" />
            <p class="formHeader">Enter term information here.</p>
            <hr />
            <xsl:if test="//*[@e]">
                <xsl:call-template name="errorMessageGeneral" />
                <xsl:call-template name="contractTermErrors" />
            </xsl:if>
            <xsl:call-template name="termSection" />
        </div>
    </xsl:template>

    <xsl:template name="termSection">
        <xsl:variable name="termCount" select="count(Form/TermList/Term)" />
        <table class="textChart withButtons" id="termTable">
            <tbody>
                <tr>
                    <th class="rowLeft">Amount</th>
                    <xsl:if test="Params/Mode = 1">
                        <th>Price</th>
                        <th>Channel</th>
                        <th>Format</th>
                    </xsl:if>
                    <xsl:if test="$termsExist = 1">
                        <th class="deleteCol">Delete?</th>
                    </xsl:if>
                </tr>
                <xsl:choose>
                    <xsl:when test="$termCount &gt; 0">
                        <xsl:for-each select="Form/TermList/Term">
                            <xsl:call-template name="termRow" />
                        </xsl:for-each>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:call-template name="termRow" />
                    </xsl:otherwise>
                </xsl:choose>
            </tbody>
        </table>
        <p class="addLink" id="addTermLink">
            <a>
                <xsl:attribute name="href">
                    <xsl:choose>
                        <xsl:when test="$termCount = 0">javascript:addTerm(1,<xsl:value-of select="Params/Mode" />)</xsl:when>
                        <xsl:otherwise>javascript:addTerm(<xsl:value-of select="$termCount" />,<xsl:value-of select="Params/Mode" />)</xsl:otherwise>
                    </xsl:choose>
                </xsl:attribute>
                Add Another Term
            </a>
        </p>
    </xsl:template>

    <xsl:template name="termRow">
        <xsl:variable name="termPosition" select="position() - 1" />
        <!-- <input type="hidden" name="Form_TermList_Term_{$termPosition}_ArtistContractTermID" value="{ArtistContractTermID}" /> -->
        <tr class="row{position() mod 2}" id="contractTerm{position()}">
            <td class="rowLeft">
                <xsl:if test="Percent[@e]">
                    <xsl:attribute name="class">rowLeft errorInput</xsl:attribute>
                </xsl:if>
                <input type="text" class="percentField" name="Form_TermList_Term_{$termPosition}_Percent" id="Form_Term_TermList_Term_{$termPosition}_Percent" value="{Percent}" />%
            </td>
            <xsl:if test="/Root/Params/Mode = 1">
                <td>
                    <xsl:if test="PriceLevelID[@e]">
                        <xsl:attribute name="class">errorInput</xsl:attribute>
                    </xsl:if>
                    <select name="Form_TermList_Term_{$termPosition}_PriceLevelID" id="Form_TermList_Term_{$termPosition}_PriceLevelID">
                        <option value="">Choose...</option>
                        <option value="0">
                            <xsl:if test="PriceLevelID = 0">
                                <xsl:attribute name="selected">selected</xsl:attribute>
                            </xsl:if>
                            All Prices
                        </option>
                        <xsl:variable name="priceLevelID" select="PriceLevelID" />
                        <xsl:for-each select="/Root/Form/PriceLevelList/PriceLevel">
                            <option value="{PriceLevelID}">
                                <xsl:if test="PriceLevelID = $priceLevelID">
                                    <xsl:attribute name="selected">selected</xsl:attribute>
                                </xsl:if>
                                <xsl:value-of select="Name" />
                            </option>
                        </xsl:for-each>
                    </select>
                </td>
                <td>
                    <xsl:if test="ChannelID[@e]">
                        <xsl:attribute name="class">errorInput</xsl:attribute>
                    </xsl:if>
                    <select name="Form_TermList_Term_{$termPosition}_ChannelID" id="Form_TermList_Term_{$termPosition}_ChannelID">
                        <option value="">Choose...</option>
                        <option value="0">
                            <xsl:if test="ChannelID = 0">
                                <xsl:attribute name="selected">selected</xsl:attribute>
                            </xsl:if>
                            All Channels
                        </option>
                        <xsl:variable name="channelID" select="ChannelID" />
                        <xsl:for-each select="/Root/Form/ChannelList/Channel">
                            <option value="{ChannelID}">
                                <xsl:if test="ChannelID = $channelID">
                                    <xsl:attribute name="selected">selected</xsl:attribute>
                                </xsl:if>
                                <xsl:value-of select="Name" />
                            </option>
                        </xsl:for-each>
                    </select>
                </td>
                <td>
                    <xsl:if test="ProductFormatID[@e]">
                        <xsl:attribute name="class">errorInput</xsl:attribute>
                    </xsl:if>
                    <select name="Form_TermList_Term_{$termPosition}_ProductFormatID" id="Form_TermList_Term_{$termPosition}_ProductFormatID">
                        <option value="">Choose...</option>
                        <xsl:variable name="productFormatID" select="ProductFormatID" />
                        <xsl:for-each select="/Root/Form/ProductFormatList/ProductFormat">
                            <option value="{ProductFormatID}">
                                <xsl:if test="ProductFormatID = $productFormatID">
                                    <xsl:attribute name="selected">selected</xsl:attribute>
                                </xsl:if>
                                <xsl:choose>
                                    <xsl:when test="Name = 'All Physical'">
                                        All Formats
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <xsl:value-of select="Name" />
                                    </xsl:otherwise>
                                </xsl:choose>
                            </option>
                        </xsl:for-each>
                    </select>
                </td>
            </xsl:if>
            <xsl:if test="/Root/Params/Mode = 2">
                <input name="Form_TermList_Term_{$termPosition}_ProductFormatID" type="hidden" value="2" />
            </xsl:if>
            <xsl:if test="$termsExist = 1">
                <td>
                    <xsl:if test="normalize-space(ArtistContractTermID)">
                        <input type="checkbox" name="Form_TermList_Term_{$termPosition}_Delete" id="Form_TermList_Term_{$termPosition}_Delete">
                            <xsl:if test="Delete = 'on'">
                                <xsl:attribute name="checked">checked</xsl:attribute>
                            </xsl:if>
                        </input>
                    </xsl:if>
                    <xsl:if test="not(normalize-space(ArtistContractTermID)) and position() != 1 and COMMENTED = 'OUT'">
                        <a href="javascript:removeRow('termTable','contractTerm{position()}')">Remove</a>
                    </xsl:if>
                </td>
            </xsl:if>
        </tr>
    </xsl:template>

    <xsl:template name="contractTermErrors">
        <div class="error">
            <xsl:if test="//TermList[@e = 'field_duplicate']">Each term type can only be used once.<br /></xsl:if>
            <xsl:if test="//Percent[@e = 'field_blank']">Amount cannot be blank.<br /></xsl:if>
            <xsl:if test="//Percent[@e = 'field_invalid']">Amount is invalid.<br /></xsl:if>
            <xsl:if test="//PriceLevelID[@e]">Price must be selected.<br /></xsl:if>
            <xsl:if test="//ChannelID[@e]">Channel must be selected.<br /></xsl:if>
            <xsl:if test="//ProductFormatID[@e]">Format must be selected.<br /></xsl:if>
            <br />
        </div>
    </xsl:template>

    <xsl:template name="termSentence">
        <xsl:call-template name="inlineError">
            <xsl:with-param name="path">Form/Term/Percent</xsl:with-param>
            <xsl:with-param name="displayName">Percent</xsl:with-param>
        </xsl:call-template>
        <xsl:if test="Form/Term/ContractMode = 1">
            <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/Term/ChannelID</xsl:with-param>
                <xsl:with-param name="displayName">Channel</xsl:with-param>
            </xsl:call-template>
            <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/Term/PriceLevelID</xsl:with-param>
                <xsl:with-param name="displayName">Price Level</xsl:with-param>
            </xsl:call-template>
        </xsl:if>
        <p>
            <xsl:call-template name="percentField" />% of
            <xsl:if test="Form/Term/ContractMode = 1">
                <xsl:call-template name="priceField" />-Price <xsl:call-template name="channelField" /><xsl:text> </xsl:text>
            </xsl:if>
            <strong><xsl:value-of select="Form/Term/ProductFormat/Name" /></strong> sales
        </p>
    </xsl:template>

    <xsl:template name="percentField">
        <input type="text" class="percentField" name="Form_Term_Percent" id="Form_Term_Percent" value="{Form/Term/Percent}" />
    </xsl:template>

    <xsl:template name="channelField">
        <select name="Form_Term_ChannelID">
            <option value="">Choose...</option>
            <xsl:for-each select="Form/ChannelList/Channel">
                <option value="{ChannelID}">
                    <xsl:if test="ChannelID = /Root/Form/Term/ChannelID">
                        <xsl:attribute name="selected">selected</xsl:attribute>
                    </xsl:if>
                    <xsl:value-of select="Name" />
                </option>
            </xsl:for-each>
        </select>
    </xsl:template>

    <xsl:template name="priceField">
        <select name="Form_Term_PriceLevelID">
            <option value="">Choose...</option>
            <xsl:for-each select="Form/PriceLevelList/PriceLevel">
                <option value="{PriceLevelID}">
                    <xsl:if test="PriceLevelID = /Root/Form/Term/PriceLevelID">
                        <xsl:attribute name="selected">selected</xsl:attribute>
                    </xsl:if>
                    <xsl:value-of select="Name" />
                </option>
            </xsl:for-each>
        </select>
    </xsl:template>

</xsl:stylesheet>


