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

    <xsl:variable name="payorCount" select="count(/Root/PayorList/Payor)" />

    <xsl:template name="contractMainLayout">
        <div id="contractMain" class="ContractMain">
            <xsl:if test="Messages/Message/Code">
                <xsl:call-template name="successMessageGeneral">
                    <xsl:with-param name="successMessage">
                        <xsl:if test="Messages/Message/Code = 'delete_success'">Contract successfully deleted!</xsl:if>
                    </xsl:with-param>
                </xsl:call-template>
            </xsl:if>
            <section class="ContractMain-section ContractMain-section-main">
                <xsl:call-template name="filteredList" />
            </section>
            <section class="ContractMain-section ContractMain-section-recent">
                <xsl:call-template name="recentList" />
            </section>
        </div>
    </xsl:template>

    <xsl:template name="contractsFilter">
        <form class="Form" action="/rps/{$area}" method="get">
            <input type="hidden" name="page" value="" />
            <div class="Form-group Form-group-horizontal">
                <xsl:if test="$area = 'contract'">
                    <div class="Form-item">
                        <label class="Form-label">
                            <span class="Form-label-caption">View By Contract Type</span>
                            <div class="Form-input-wrapper">
                                <xsl:variable name="contractsFilterTypeItems">
                                    <map>
                                        <mapEntry><name>All Contracts</name><value></value></mapEntry>
                                        <mapEntry><name>Artist/Producer</name><value>artist</value></mapEntry>
                                        <mapEntry><name>Label</name><value>label</value></mapEntry>
                                    </map>
                                </xsl:variable>
                                <xsl:call-template name="uiDropdown">
                                    <xsl:with-param name="items" select="$contractsFilterTypeItems"/>
                                    <xsl:with-param name="name" select="'contractType'"/>
                                    <xsl:with-param name="active" select="/Root/Params/contractType"/>
                                    <xsl:with-param name="className" select="'CatalogMain-label-select'" />
                                    <xsl:with-param name="autoSubmit" select="'true'" />
                                </xsl:call-template>
                            </div>
                        </label>
                    </div>
                </xsl:if>
                <div class="Form-item">
                    <label class="Form-label">
                        <xsl:if test="$area != 'contract'">
                            <span class="Form-label-caption">View By Payor</span>
                        </xsl:if>
                        <div class="Form-input-wrapper">
                            <xsl:variable name="contractsFilterPayorItems">
                                <map>
                                    <map>
                                        <mapEntry>
                                            <name>All Payors</name>
                                            <value></value>
                                        </mapEntry>
                                        <xsl:for-each select="PayorList/Payor">
                                            <mapEntry>
                                                <name><xsl:value-of select="Name"/></name>
                                                <value><xsl:value-of select="PayorID"/></value>
                                            </mapEntry>
                                        </xsl:for-each>
                                    </map>
                                </map>
                            </xsl:variable>
                            <xsl:call-template name="uiDropdown">
                                <xsl:with-param name="items" select="$contractsFilterPayorItems"/>
                                <xsl:with-param name="name" select="'payor'"/>
                                <xsl:with-param name="active" select="/Root/Params/payor"/>
                                <xsl:with-param name="className" select="'CatalogMain-label-select'" />
                                <xsl:with-param name="autoSubmit" select="'true'" />
                            </xsl:call-template>
                        </div>
                    </label>
                </div>
            </div>
        </form>
    </xsl:template>

    <xsl:template name="filteredList">
        <div class="ContractMain-contracts-list">
            <div class="Table-controls Table-controls-top">
                <div class="Table-controls-item">
                    <xsl:call-template name="contractsFilter" />
                </div>
                <div class="Table-controls-item Table-controls-item-additive Form-group Form-group-horizontal">
                    <xsl:if test="$area = 'contract' or $area = 'label_contract'">
                        <div class="Form-item">
                            <xsl:call-template name="uiButton">
                                <xsl:with-param name="iconLeftType" select="'add'"/>
                                <xsl:with-param name="content" select="'Label Contract'" />
                                <xsl:with-param name="url" select="'/rps/label_contract?c=edit'" />
                            </xsl:call-template>
                        </div>
                    </xsl:if>
                    <xsl:if test="$area = 'contract' or $area = 'artist_contract'">
                        <div class="Form-item">
                            <xsl:call-template name="uiButton">
                                <xsl:with-param name="iconLeftType" select="'add'"/>
                                <xsl:with-param name="content" select="'Artist/Producer Contract'" />
                                <xsl:with-param name="url" select="'/rps/artist_contract?c=edit'" />
                            </xsl:call-template>
                        </div>
                    </xsl:if>
                </div>
            </div>
            <xsl:call-template name="contractsListTable">
                <xsl:with-param name="contracts" select="ContractList/Item"/>
                <xsl:with-param name="emptyMessage" select="'No contracts are available under this heading.'"/>
            </xsl:call-template>

            <xsl:if test="Pagination/TotalPages > 1">
                <div class="Table-controls Table-controls-bottom">
                    <div class="Table-controls-item Table-controls-item-pagination">
                        <xsl:call-template name="uiPagination">
                            <xsl:with-param name="lastPage" select="Pagination/TotalPages"/>
                            <xsl:with-param name="currentPage" select="Pagination/Current"/>
                            <xsl:with-param name="searchParams">
                                <xsl:if test="/Root/Params/contractType">
                                    <xsl:text>&amp;contractType=</xsl:text>
                                    <xsl:value-of select="/Root/Params/contractType" />
                                </xsl:if>
                                <xsl:if test="/Root/Params/payor">
                                    <xsl:text>&amp;payor=</xsl:text>
                                    <xsl:value-of select="/Root/Params/payor" />
                                </xsl:if>
                            </xsl:with-param>
                        </xsl:call-template>
                    </div>
                </div>
            </xsl:if>

        </div>
    </xsl:template>

    <xsl:template name="recentList">
        <div class="ContractMain-recent-list">
            <h3>Recently Viewed Contracts</h3>
            <xsl:call-template name="contractsListTable">
                <xsl:with-param name="contracts" select="RecentlyViewed/Item"/>
                <xsl:with-param name="emptyMessage" select="'No contracts exist in your viewing history.'"/>
            </xsl:call-template>
        </div>
    </xsl:template>

    <xsl:template name="contractsListTable">
        <xsl:param name="contracts" />
        <xsl:param name="emptyMessage" />

        <xsl:variable name="typeCaption">
            <xsl:choose>
                <xsl:when test="$area = 'artist_contract'">
                    <xsl:text>Artist</xsl:text>
                </xsl:when>
                <xsl:when test="$area = 'label_contract'">
                    <xsl:text>Label</xsl:text>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:text>Artist/Label</xsl:text>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

        <xsl:variable name="showEdit">
            <xsl:choose>
                <xsl:when test="$area = 'artist_contract'">
                    <xsl:if test="/Root/Access/rps/artist_contract/edit = 1">
                        <xsl:text>true</xsl:text>
                    </xsl:if>
                </xsl:when>
                <xsl:when test="$area = 'label_contract'">
                    <xsl:if test="/Root/Access/rps/label_contract/edit = 1">
                        <xsl:text>true</xsl:text>
                    </xsl:if>
                </xsl:when>
                <xsl:when test="$area = 'contract'">
                    <xsl:if test="/Root/Access/rps/artist_contract/edit = 1 or /Root/Access/rps/label_contract/edit = 1">
                        <xsl:text>true</xsl:text>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:text>false</xsl:text>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

        <xsl:choose>
            <xsl:when test="$contracts">
                <table class="Table Table-with-highlight">
                    <thead>
                        <tr class="Table-row Table-row-header">
                            <th class="Table-col ContractMain-col-title">Contract Title</th>

                            <xsl:if test="$area = 'contract'">
                                <th class="Table-col ContractMain-col-type">Type</th>
                            </xsl:if>

                            <th class="Table-col ContractMain-col-artist-label"><xsl:value-of select="$typeCaption" /></th>
                            <th class="Table-col ContractMain-col-id">Contract ID</th>
                            <th class="Table-col ContractMain-col-payor">Payor</th>
                            <th class="Table-col ContractMain-col-payee">Payee</th>
                            <xsl:if test="$showEdit = 'true'">
                                <th class="Table-col Table-col-icon ContractMain-col-edit">Edit</th>
                            </xsl:if>
                        </tr>
                    </thead>
                    <tbody>
                        <xsl:for-each select="$contracts/child::*">
                            <xsl:if test="self::ArtistContract">
                                <xsl:call-template name="artistContractRow" />
                            </xsl:if>
                            <xsl:if test="self::LabelContract">
                                <xsl:call-template name="labelContractRow" />
                            </xsl:if>
                        </xsl:for-each>
                    </tbody>
                </table>
            </xsl:when>
            <xsl:otherwise>
                <section class="Table-empty-results">
                    <p><xsl:value-of select="$emptyMessage" /></p>
                </section>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

</xsl:stylesheet>
