<!--                                                                  -->
<!--  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="expenseCount" select="count(Root/Form/ExpenseTypeList/ExpenseType)" />

  <xsl:template name="expenseTypeLayout">
    <script type="text/javascript" src="/production/javascript/validateExpenseType.js?t={$now}" />
    <form name="expenseType" id="expenseType" method="post" action="contract" onSubmit="return checkRecoupablePercents()">
      <xsl:call-template name="expenseTypeEdit" />
      <xsl:call-template name="buttons" />
    </form>
  </xsl:template>

  <xsl:template name="expenseTypeEdit">
    <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="expense" />
      <input type="hidden" name="ContractID" value="{Params/ContractID}" />
      <input type="hidden" name="expenseCount" id="expenseCount" value="{$expenseCount}" />
      <p class="formHeader">Enter recoupable expense information here.</p>
      <hr />
      <xsl:if test="//*[@e]">
        <xsl:call-template name="errorMessageGeneral" />
        <xsl:call-template name="expenseTypeErrors" />
      </xsl:if>
      <xsl:call-template name="expenseTypeSection" />
    </div>
  </xsl:template>

  <xsl:template name="expenseTypeSection">
    <table class="textChart" id="expenseTypeTable">
      <tbody>
        <tr>
          <th class="rowLeft">Expense Type</th>
          <th>Recoupable</th>
          <xsl:if test="$expenseCount &gt; 0">
            <th class="deleteCol">Delete</th>
          </xsl:if>
        </tr>
        <xsl:choose>
          <xsl:when test="$expenseCount &gt; 0">
            <xsl:for-each select="Form/ExpenseTypeList/ExpenseType">
              <xsl:call-template name="expenseTypeRow" />
            </xsl:for-each>
          </xsl:when>
          <xsl:otherwise>
            <xsl:call-template name="expenseTypeRow" />
          </xsl:otherwise>
        </xsl:choose>
      </tbody>
    </table>

		<xsl:variable name="addLink">
			<xsl:choose>
				<xsl:when test="$expenseCount = 0">javascript:addExpenseType(1)</xsl:when>
				<xsl:otherwise>javascript:addExpenseType(<xsl:value-of select="$expenseCount" />)</xsl:otherwise>
			</xsl:choose>			
		</xsl:variable>
		<p class="addLink">
	   	<a href="{$addLink}" title="Add Another Recoupable Expense" id="addImageLink">
	   		<img src="/production/images/icons/office/Add-(16x16).gif" height="16" width="16" />
	   	</a> <a href="{$addLink}" id="addTextLink">Add Another Recoupable Expense</a>
   	</p>
 
  </xsl:template>

  <xsl:template name="expenseTypeRow">
    <xsl:variable name="expenseTypePosition" select="position() - 1" />
    <xsl:variable name="expenseNameID" select="ExpenseNameID" />
    <tr class="row{position() mod 2}" id="expenseType{position()}">
      <td class="rowLeft">
        <xsl:if test="ExpenseNameID[@e]">
          <xsl:attribute name="class">rowLeft errorInput</xsl:attribute>
        </xsl:if>
        <xsl:if test="/Root/Form/ExpenseNameList/ExpenseName/ExpenseNameID">
          <select name="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_ExpenseNameID" id="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_ExpenseNameID">
            <xsl:if test="Inactive = 1">
              <xsl:attribute name="disabled">disabled</xsl:attribute>
            </xsl:if>
            <option value="">Choose...</option>
            <xsl:for-each select="/Root/Form/ExpenseNameList/ExpenseName">
              <option value="{ExpenseNameID}">
                <xsl:if test="ExpenseNameID = $expenseNameID">
                  <xsl:attribute name="selected">selected</xsl:attribute>
                </xsl:if>
                <xsl:value-of select="Name" />
              </option>
            </xsl:for-each>
          </select>
          <span class="or">OR</span>
        </xsl:if>
        <input type="text" name="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_NewExpenseName" id="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_NewExpenseName" value="{NewExpenseName}">
          <xsl:if test="Inactive = 1">
            <xsl:attribute name="disabled">disabled</xsl:attribute>
          </xsl:if>
        </input>
      </td>
      <td>
        <xsl:if test="Percent[@e]">
          <xsl:attribute name="class">errorInput</xsl:attribute>
        </xsl:if>
        <input type="text" class="percentField" name="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_Percent" id="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_Percent" value="{Percent}">
          <xsl:if test="Inactive = 1">
            <xsl:attribute name="disabled">disabled</xsl:attribute>
          </xsl:if>
        </input>%
        <input type="hidden" name="OriginalPercent_{$expenseTypePosition}" id="OriginalPercent_{$expenseTypePosition}" value="{Percent}" />
      </td>
      <xsl:if test="$expenseCount &gt; 0">
        <td class="icon">
          <xsl:if test="Inactive = 0 and LinkedUnProcessed &gt; 0">
            <xsl:attribute name="class">checkboxWithTip</xsl:attribute>
          </xsl:if>
          <xsl:if test="normalize-space(ExpenseTypeID)">
            <input type="checkbox" name="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_Delete" id="Form_ExpenseTypeList_ExpenseType_{$expenseTypePosition}_Delete">
              <xsl:if test="Inactive = 1 or LinkedUnProcessed &gt; 0">
                <xsl:attribute name="disabled">disabled</xsl:attribute>
              </xsl:if>
            </input>
            <xsl:if test="Inactive = 0 and LinkedUnProcessed &gt; 0">
              <xsl:call-template name="helpIcon">
                <xsl:with-param name="tip">This recoupable expense has unprocessed expenses linked to it and cannot be deleted.</xsl:with-param>
              </xsl:call-template>
            </xsl:if>
            <input type="hidden" name="LinkedUnProcessed_{$expenseTypePosition}" id="LinkedUnProcessed_{$expenseTypePosition}" value="{LinkedUnProcessed}" />
          </xsl:if>
        </td>
      </xsl:if>
    </tr>
  </xsl:template>

  <xsl:template name="expenseTypeErrors">
    <div class="error">
      <xsl:if test="//ExpenseTypeList[@e = 'field_duplicate']">Each expense type can only be used once.<br /></xsl:if>
      <xsl:if test="//ExpenseNameID[@e = 'field_invalid']">Please select an existing Name or enter a new Name.<br /></xsl:if>
      <xsl:if test="//Percent[@e = 'field_blank']">Recoupable cannot be blank.<br /></xsl:if>
      <xsl:if test="//Percent[@e = 'field_invalid']">Recoupable is invalid.<br /></xsl:if>
      <br />
    </div>
  </xsl:template>

  <xsl:template name="expenseNameList">
    <script type="text/javascript">
      //creating array of expense names
      var expenseCollection = new Object();
      expenseCollection = [
      <xsl:for-each select="Form/ExpenseNameList/ExpenseName">'<xsl:call-template name="escapeJavascript"><xsl:with-param name="string" select="Name" /></xsl:call-template>'<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>
      ];
      window.expenseCollection = expenseCollection;
    </script>
  </xsl:template>

</xsl:stylesheet>


