<!--                                                                  -->
<!--  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>


