<!--                                                                  -->
<!--  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" extension-element-prefixes="dyn">

  <xsl:variable name="unitBasedDisabled">
    <xsl:choose>
      <xsl:when test="not(/Root/Params/ContractID) or /Root/Form/ArtistContract/UnitBasedEnabled = 1">0</xsl:when>
      <xsl:otherwise>1</xsl:otherwise>
    </xsl:choose>
  </xsl:variable>

  <xsl:template name="contractEditLayout">
    <script type="text/javascript" src="/production/javascript/validateContractNew.js?t={$now}" />
    <form name="contractEdit" id="contractEdit" method="post" action="contract">
      <xsl:call-template name="contractEdit" />
      <xsl:call-template name="buttons" />
    </form>
		<xsl:call-template name="sourceFormats" />
    <xsl:call-template name="payeeList" />
		<xsl:call-template name="regionList" />

	</xsl:template>

  <xsl:template name="contractEdit">
    <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="edit" />
      <xsl:if test="normalize-space(Form/ArtistContract/ArtistContractID)">
        <input type="hidden" name="ContractID" value="{Form/ArtistContract/ArtistContractID}" />
      </xsl:if>
      <xsl:if test="//*[@e]">
        <xsl:call-template name="errorMessageGeneral" />
        <xsl:call-template name="contractTermErrors" />
      </xsl:if>
      <xsl:call-template name="mainContractEdit" /> 
      <br />
      <xsl:call-template name="termEdit" />
      <br />
      <xsl:call-template name="reserveEdit" />
      <br clear="both" /><br />
    </div>
  </xsl:template>

  <xsl:template name="mainContractEdit">
    <fieldset>
      <legend>Contract</legend>
      <p class="formHeader">Enter contract information here.</p>
      <hr />
      <div class="insideFieldset">
      <div class="column1">
        <table>
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_Title">*Contract Title:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/Title</xsl:with-param>
                <xsl:with-param name="displayName">Title</xsl:with-param>
              </xsl:call-template>
              <input type="text" class="contractTitleField" name="Form_ArtistContract_Title" id="Form_ArtistContract_Title" value="{Form/ArtistContract/Title}" />
            </td>
          </tr>
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_ClientContractID">Contract ID:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/ClientContractID</xsl:with-param>
                <xsl:with-param name="displayName">Contract ID</xsl:with-param>
              </xsl:call-template>
              <input type="text" name="Form_ArtistContract_ClientContractID" id="Form_ArtistContract_ClientContractID" value="{Form/ArtistContract/ClientContractID}" />
            </td>
          </tr>
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_PayorID">Payor:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/PayorID</xsl:with-param>
                <xsl:with-param name="displayName">Payor</xsl:with-param>
              </xsl:call-template>
              <select name="Form_ArtistContract_PayorID" id="Form_ArtistContract_PayorID">
                <xsl:for-each select="Form/PayorList/Payor">
                  <option value="{PayorID}">
                    <xsl:if test="PayorID = /Root/Form/ArtistContract/PayorID">
                      <xsl:attribute name="selected">selected</xsl:attribute>
                    </xsl:if>
                    <xsl:value-of select="Name" />
                  </option>
                </xsl:for-each>
              </select>
            </td>
          </tr>
          <tr>
            <td colspan="2">
              <br />*Required field
            </td>
          </tr>
        </table>
      </div>
      <div class="column2">
        <table>
          <tr>
            <td class="leftCol"><label for="PayeeName">*Payee:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/ArtistPayeeID</xsl:with-param>
                <xsl:with-param name="displayName">Payee</xsl:with-param>
              </xsl:call-template>
              <xsl:call-template name="payeeField" />
            </td>
          </tr>
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_ArtistDescription">Artist:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/ArtistDescription</xsl:with-param>
                <xsl:with-param name="displayName">Artist</xsl:with-param>
              </xsl:call-template>
              <input class="artistNameField" name="Form_ArtistContract_ArtistDescription" id="Form_ArtistContract_ArtistDescription" type="text" value="{Form/ArtistContract/ArtistDescription}" />&#160;<span id="Form_ArtistContract_ArtistDescriptionFlag"></span>
            </td>
          </tr>
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_IssueDate">Issue Date:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/IssueDate</xsl:with-param>
                <xsl:with-param name="displayName">Issue Date</xsl:with-param>
              </xsl:call-template>
              <span id="Form_ArtistContract_IssueDate_TD">
                <input type="text" class="dateField" name="Form_ArtistContract_IssueDate" id="Form_ArtistContract_IssueDate" value="{Form/ArtistContract/IssueDate}" />
              </span>
              <a title="Select Issue Date">
                <img src="/production/images/icons/office/Calendar-(16x16).gif" class="calendarIcon" id="calendarIconIssueDate"/>
              </a>
              <script type="text/javascript">
                Calendar.setup({
                  inputField     :    "Form_ArtistContract_IssueDate",     // id of the input field
                  ifFormat       :    "%m/%d/%Y",     // format of the input field (even if hidden, this format will be honored)
                  daFormat       :    "%m/%d/%Y",// format of the displayed date
                  button         :    "calendarIconIssueDate",  // trigger button (well, IMG in our case)
                  align          :    "Tl",           // alignment (defaults to "Bl")
                  singleClick    :    true
                });
              </script>
            </td>
          </tr>
        </table>
      </div>
      </div>
    </fieldset>
  </xsl:template>

  <xsl:template name="termEdit">
    <xsl:variable name="termCount" select="count(Form/ArtistContract/TermList/Term)" />
		<a name="terms" />
    <fieldset class="termEdit">
      <legend>Contract Terms</legend>
      <p class="formHeader">Configure your contract terms here.</p>
      <hr />
    <table class="textChart" id="termTable">
      <tbody>
        <tr>
          <th class="rowLeft priorityCol">Priority</th>
          <th class="sourceCol">Source</th>
          <th class="regionCol">Region</th>
          <th class="channelCol">Channel</th>
          <th class="priceCol">Price</th>
          <th class="rateTypeCol">Rate Type</th>
          <th class="rateCol">Rate</th>
          <th class="rateRedCol">Rate<br />Reduction</th>
          <th class="percentSalesCol">% of Sales</th>
          <th class="packagingCol">Pack-<br />aging</th>
          <th class="freeCol">Free<br />Goods</th>
        </tr>
        <xsl:choose>
          <xsl:when test="$termCount &gt; 0">
            <xsl:for-each select="Form/ArtistContract/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>
      <div class="insideFieldset">
    <p class="addLink" id="addTermLink">
      <a>
        <xsl:attribute name="href">
          <xsl:choose>
            <xsl:when test="$termCount = 0">javascript:addTerm(1)</xsl:when>
            <xsl:otherwise>javascript:addTerm(<xsl:value-of select="$termCount" />)</xsl:otherwise>
          </xsl:choose>
        </xsl:attribute>
        Add Another Term
      </a>
    </p>
	</div>
    <table class="textChart" id="defaultTermTable">
      <tbody>
        <tr>
          <th class="rowLeft priorityCol">Priority</th>
          <th class="sourceCol">Source</th>
          <th class="regionCol">Region</th>
          <th class="channelCol">Channel</th>
          <th class="priceCol">Price</th>
          <th class="rateTypeCol">Rate Type</th>
          <th class="rateCol">Rate</th>
          <th class="rateRedCol">Rate<br />Reduction</th>
          <th class="percentSalesCol">% of Sales</th>
          <th class="packagingCol">Pack-<br />aging</th>
          <th class="freeCol">Free<br />Goods</th>
        </tr>
        <tr class="defaultRow">
          <td class="rowLeft">Default</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>All</td>
          <td>
            <select name="Form_ArtistContract_DefaultTerm_IncomeSourceID" id="Form_ArtistContract_DefaultTerm_IncomeSourceID">
              <option value="5" selected="selected">% Net Revenue</option>
            </select>
		  </td>
          <td>
            <xsl:if test="normalize-space(Form/ArtistContract/DefaultTerm/ArtistContractTermID)">
              <input type="hidden" name="Form_ArtistContract_DefaultTerm_ArtistContractTermID" value="{Form/ArtistContract/DefaultTerm/ArtistContractTermID}" />
            </xsl:if>
            <input type="text" class="smallRateField" name="Form_ArtistContract_DefaultTerm_Rate" id="Form_ArtistContract_DefaultTerm_Rate" value="{Form/ArtistContract/DefaultTerm/Rate}" />
          </td>
          <td>100.00</td>
          <td>100.00</td>
          <td>0.00</td>
          <td>0.00</td>
        </tr>
      </tbody>
    </table>
    </fieldset>
  </xsl:template>

  <xsl:template name="termRow">
    <xsl:variable name="termPosition" select="position() - 1" />
		<xsl:variable name="incomeSourceID" select="IncomeSourceID" />
		<xsl:variable name="termFormat">
			<xsl:for-each select="/Root/Form/IncomeSourceList/IncomeSource[IncomeSourceID = $incomeSourceID]">
				<xsl:choose>
					<xsl:when test="Format = 2 or Format = 3">digital</xsl:when>
					<xsl:otherwise>physical</xsl:otherwise>
				</xsl:choose>
			</xsl:for-each>
		</xsl:variable>
    <!-- <input type="hidden" name="Form_ArtistContract_TermList_Term_{$termPosition}_Priority" value="{Priority}" /> -->
    <tr class="row{position() mod 2}" id="contractTerm{position()}">
      <td class="rowLeft">
        <xsl:if test="Priority[@e]">
          <xsl:attribute name="class">rowLeft errorInput</xsl:attribute>
        </xsl:if>
        <input type="text" class="doubleDigitField" name="Form_ArtistContract_TermList_Term_{$termPosition}_Priority" id="Form_ArtistContract_TermList_Term_{$termPosition}_Priority">
          <xsl:attribute name="value">
            <xsl:if test="Priority">
              <xsl:value-of select="Priority"/>
            </xsl:if>
            <xsl:if test="not(Priority)">
              <xsl:value-of select="position()" />
            </xsl:if>
          </xsl:attribute>
				</input>
      </td>
      <td>
        <xsl:if test="IncomeSourceID[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
        <select name="Form_ArtistContract_TermList_Term_{$termPosition}_IncomeSourceID" id="Form_ArtistContract_TermList_Term_{$termPosition}_IncomeSourceID" onChange="checkSourceFormat(this.value,{$termPosition})">
          <option value="">Choose...</option>
          <xsl:for-each select="/Root/Form/IncomeSourceList/IncomeSource">
            <option value="{IncomeSourceID}">
              <xsl:if test="IncomeSourceID = $incomeSourceID">
                <xsl:attribute name="selected">selected</xsl:attribute>
              </xsl:if>
              <xsl:value-of select="Name" />
            </option>
          </xsl:for-each>
        </select>
      </td>
      <td>
        <xsl:if test="RegionID[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
	
        <input type="text" class="wickEnabled termField" name="ArtistContract_TermList_Term_{$termPosition}_RegionName" id="ArtistContract_TermList_Term_{$termPosition}_RegionName">
					<xsl:attribute name="value">
						<xsl:variable name="regionID" select="RegionID" />
						<xsl:value-of select="/Root/Form/RegionList/Region[RegionID = $regionID]/Name" />
					</xsl:attribute>
				</input>&#160;<span id="ArtistContract_TermList_Term_{$termPosition}_RegionNameFlag">&#160;&#160;</span>
        <input type="hidden" name="Form_ArtistContract_TermList_Term_{$termPosition}_RegionID" id="Form_ArtistContract_TermList_Term_{$termPosition}_RegionID" value="{RegionID}" />
      </td>
        <td>     
          <xsl:if test="ChannelID[@e]">
            <xsl:attribute name="class">errorInput</xsl:attribute>
          </xsl:if>
          <select name="Form_ArtistContract_TermList_Term_{$termPosition}_ChannelID" id="Form_ArtistContract_TermList_Term_{$termPosition}_ChannelID">
						<xsl:if test="$termFormat = 'digital'">
							<xsl:attribute name="disabled">disabled</xsl:attribute>
						</xsl:if>
            <option value="">Choose...</option>
						<option value="0">
							<xsl:if test="ChannelID = 0 and $termFormat != 'digital'">
                <xsl:attribute name="selected">selected</xsl:attribute>
		      		</xsl:if>
			 				 All
						</option>
            <xsl:variable name="channelID" select="ChannelID" />
            <xsl:for-each select="/Root/Form/ChannelList/Channel">
              <option value="{ChannelID}">
                <xsl:if test="ChannelID = $channelID and $termFormat != 'digital'">
                  <xsl:attribute name="selected">selected</xsl:attribute>
               </xsl:if>
               <xsl:value-of select="Name" />
              </option>
            </xsl:for-each>
						
          </select>
        </td>
        <td>
          <xsl:if test="PriceLevelID[@e]">
            <xsl:attribute name="class">errorInput</xsl:attribute>
          </xsl:if>
          <select name="Form_ArtistContract_TermList_Term_{$termPosition}_PriceLevelID" id="Form_ArtistContract_TermList_Term_{$termPosition}_PriceLevelID">
            <xsl:if test="$termFormat = 'digital'">
							<xsl:attribute name="disabled">disabled</xsl:attribute>
						</xsl:if>
						<option value="">Choose...</option>
            <xsl:variable name="priceLevelID" select="PriceLevelID" />
            <option value="0">
							<xsl:if test="PriceLevelID = 0 and $termFormat != 'digital'">
                <xsl:attribute name="selected">selected</xsl:attribute>
							</xsl:if>
							All
						</option>
            <xsl:for-each select="/Root/Form/PriceLevelList/PriceLevel">
              <option value="{PriceLevelID}">
                <xsl:if test="PriceLevelID = $priceLevelID and $termFormat != 'digital'">
                  <xsl:attribute name="selected">selected</xsl:attribute>
                </xsl:if>
                <xsl:value-of select="Name" />
              </option>
            </xsl:for-each>
          </select>
        </td>
      <td>
				<xsl:if test="ContractRateTypeID[@e]">
					<xsl:attribute name="class">errorInput</xsl:attribute>
				</xsl:if>
        <select name="Form_ArtistContract_TermList_Term_{$termPosition}_ContractRateTypeID" id="Form_ArtistContract_TermList_Term_{$termPosition}_ContractRateTypeID">
          <option value="">Choose...</option>
          <xsl:variable name="contractRateTypeID" select="ContractRateTypeID" />
          <xsl:for-each select="/Root/Form/ContractRateTypeList/ContractRateType">
            <option value="{ContractRateTypeID}">
              <xsl:if test="ContractRateTypeID = $contractRateTypeID">
                <xsl:attribute name="selected">selected</xsl:attribute>
              </xsl:if>
              <xsl:value-of select="Name" />
            </option>
          </xsl:for-each>
        </select>
      </td>
      <td>
        <xsl:if test="Rate[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
        <input type="text" class="smallRateField" name="Form_ArtistContract_TermList_Term_{$termPosition}_Rate" id="Form_ArtistContract_TermList_Term_{$termPosition}_Rate" value="{Rate}" />
      </td>
      <td>
        <xsl:if test="RateReduction[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
        <input type="text" class="smallRateField" name="Form_ArtistContract_TermList_Term_{$termPosition}_RateReduction" id="Form_ArtistContract_TermList_Term_{$termPosition}_RateReduction" value="{RateReduction}" />
      </td>
      <td>
        <xsl:if test="PercentageOfSales[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
        <input type="text" class="percentWholeField" name="Form_ArtistContract_TermList_Term_{$termPosition}_PercentageOfSales" id="Form_ArtistContract_TermList_Term_{$termPosition}_PercentageOfSales" value="{PercentageOfSales}" />
      </td>
      <td>
        <xsl:if test="PackagingDeduction[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
        <input type="text" class="percentWholeField" name="Form_ArtistContract_TermList_Term_{$termPosition}_PackagingDeduction" id="Form_ArtistContract_TermList_Term_{$termPosition}_PackagingDeduction" value="{PackagingDeduction}" />
      </td>
      <td>
        <xsl:if test="FreeGoodsDeduction[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
        <input type="text" class="percentWholeField" name="Form_ArtistContract_TermList_Term_{$termPosition}_FreeGoodsDeduction" id="Form_ArtistContract_TermList_Term_{$termPosition}_FreeGoodsDeduction" value="{FreeGoodsDeduction}" />
      </td>
    </tr>
  </xsl:template>

  <xsl:template name="reserveEdit">
    <fieldset class="reserveEdit">
      <legend>Reserves</legend>
      <p class="formHeader">Reserves are applied to physical sales.</p>
      <hr />
      <div class="insideFieldset">
        <table class="singleColumn">
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_ReserveRate">Reserve Rate:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/ReserveRate</xsl:with-param>
                <xsl:with-param name="displayName">Reserve Rate</xsl:with-param>
              </xsl:call-template>
              <input type="text" name="Form_ArtistContract_ReserveRate" class="percentField" id="Form_ArtistContract_ReserveRate" value="{Form/ArtistContract/ReserveRate}" />%
            </td>
          </tr>
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_ReserveLiquidationList">Liquidation Schedule:</label></td>
            <td>
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/ReserveLiquidationList</xsl:with-param>
                <xsl:with-param name="displayName">Liquidation Schedule</xsl:with-param>
              </xsl:call-template>
              <xsl:call-template name="liquidationSchedule">
                <xsl:with-param name="liquidationPrefix">Form_ArtistContract_ReserveLiquidationList_ReserveLiquidation_</xsl:with-param>
                <xsl:with-param name="liquidationList" select="Form/ArtistContract/ReserveLiquidationList/ReserveLiquidation" />
                <xsl:with-param name="liquidationID" select="Form/ArtistContract/ArtistContractID" />
              </xsl:call-template>
            </td>
          </tr>
          <tr>
            <td class="leftCol"><label for="Form_ArtistContract_DigitalReservesEnabled">Digital Reserves:</label></td>
            <td class="containsCheckBox">
              <xsl:call-template name="inlineError">
                <xsl:with-param name="path">Form/ArtistContract/DigitalReservesEnabled</xsl:with-param>
                <xsl:with-param name="displayName">Digital Reserve</xsl:with-param>
              </xsl:call-template>
              <input type="checkbox" class="checkbox" name="Trigger_Form_ArtistContract_DigitalReservesEnabled" id="Trigger_Form_ArtistContract_DigitalReservesEnabled" onClick="checkCheckBox(this,'Form_ArtistContract_DigitalReservesEnabled')">
                <xsl:if test="Form/ArtistContract/DigitalReservesEnabled = 1">
                  <xsl:attribute name="checked">checked</xsl:attribute>
                </xsl:if>
              </input>
              <input type="hidden" name="Form_ArtistContract_DigitalReservesEnabled" id="Form_ArtistContract_DigitalReservesEnabled" value="{Form/ArtistContract/DigitalReservesEnabled}" />
              <xsl:call-template name="helpIcon">
                <xsl:with-param name="tip">Checking this box allows you to apply reserves to digital download sales.</xsl:with-param>
              </xsl:call-template>
            </td>
          </tr>
		</table>
      </div>
	</fieldset>
  </xsl:template>

  <xsl:template name="payeeField">
    <input class="wickEnabled payeeNameField" name="PayeeName" id="PayeeName" type="text">
      <xsl:attribute name="value">
        <xsl:if test="normalize-space(Form/ArtistContract/ArtistPayeeID)">
          <xsl:value-of select="Form/ArtistContract/ArtistPayee/Name"/>
        </xsl:if>
      </xsl:attribute>
      <xsl:if test="$lockedRecord = 1">
        <xsl:attribute name="disabled">disabled</xsl:attribute>
      </xsl:if>
    </input>&#160;<span id="PayeeNameFlag"></span>
    <input type="hidden" name="Form_ArtistContract_ArtistPayeeID" id="Form_ArtistContract_ArtistPayeeID" value="{Form/ArtistContract/ArtistPayeeID}" />
  </xsl:template>

  <xsl:template name="contractTermErrors">
    <div class="error">
      <xsl:if test="//Priority[@e]">Priority cannot be blank.<br /></xsl:if>
      <xsl:if test="//IncomeSourceID[@e]">Source must be selected.<br /></xsl:if>
      <xsl:if test="//RegionID[@e]">Region must be selected.<br /></xsl:if>
      <xsl:if test="//ChannelID[@e]">Channel must be selected.<br /></xsl:if>
      <xsl:if test="//PriceLevelID[@e]">Price must be selected.<br /></xsl:if>
      <xsl:if test="//ContractRateTypeID[@e]">Rate Type must be selected.<br /></xsl:if>
      <xsl:if test="//Rate[@e]">Rate cannot be blank.<br /></xsl:if>
      <br />
    </div>
  </xsl:template>

  <xsl:template name="sourceFormats">
    <script type="text/javascript">
      var sourceFormats = new Object();
      <xsl:for-each select="/Root/Form/IncomeSourceList/IncomeSource">
        sourceFormats[<xsl:value-of select="IncomeSourceID" />] = <xsl:value-of select="Format" />;
      </xsl:for-each>
    </script>
  </xsl:template>

</xsl:stylesheet>


