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

    <!-- templates used for the search and add box as well as the search results page -->

    <xsl:template name="searchForm">

        <xsl:variable name="searchAreaItemsActive">
            <xsl:choose>
                <xsl:when test="$area = 'catalog'">catalog</xsl:when>
                <xsl:when test="$area = 'artist_contract' or $area = 'contract'">artist_contract</xsl:when>
                <xsl:when test="$area = 'label_contract'">label_contract</xsl:when>
                <xsl:when test="$area = 'artist_payee' or $area = 'payee'">artist_payee</xsl:when>
                <xsl:when test="$area = 'label_payee'">label_payee</xsl:when>
                <xsl:when test="$area = 'publisher'">publisher</xsl:when>
                <xsl:when test="$area = 'ca_publisher'">ca_publisher</xsl:when>
                <xsl:otherwise>catalog</xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

        <form name="powerSearchForm" id="powerSearchForm" method="post" class="MainSearch">
            <xsl:if test="Params/AlbumID">
                <input type="hidden" name="AlbumID" value="{Params/AlbumID}" />
            </xsl:if>
            <xsl:if test="Params/TrackID">
                <input type="hidden" name="TrackID" value="{Params/TrackID}" />
            </xsl:if>
            <span id="ERRORQuery" class="error"></span>

            <div class="MainSearch-item ControlsGroup ControlsGroup-type-input">
                <div class="ControlsGroup-item">
                    <xsl:choose>
                        <xsl:when test="Access/rps/catalog/edit or Access/rps/label_payee/edit or Access/rps/artist_contract/edit">
                            <xsl:variable name="searchAreaItems">
                                <map>
                                    <xsl:if test="Access/rps/catalog/search">
                                        <mapEntry><name>Catalog</name><value>catalog</value></mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/artist_contract/search">
                                        <mapEntry><name>Contracts (Artist/Producer)</name><value>artist_contract</value></mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/label_contract/search">
                                        <mapEntry><name>Contracts (Label)</name><value>label_contract</value></mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/artist_payee/search">
                                        <mapEntry><name>Payees (Artist/Producer)</name><value>artist_payee</value></mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/label_payee/search">
                                        <mapEntry><name>Payees (Label)</name><value>label_payee</value></mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/publisher/search">
                                        <mapEntry><name>Publishers (United States)</name><value>publisher</value></mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/ca_publisher/search">
                                        <mapEntry><name>Publishers (Canadian)</name><value>ca_publisher</value></mapEntry>
                                    </xsl:if>
                                </map>
                            </xsl:variable>

                            <label>
                                <xsl:call-template name="uiDropdown">
                                    <xsl:with-param name="items" select="$searchAreaItems"/>
                                    <xsl:with-param name="id" select="'searchArea'"/>
                                    <xsl:with-param name="name" select="'searchArea'"/>
                                    <xsl:with-param name="active" select="$searchAreaItemsActive"/>
                                    <xsl:with-param name="className" select="'MainSearch-area-select'"/>
                                </xsl:call-template>
                            </label>
                        </xsl:when>
                        <xsl:when test="Access/rps/catalog/da_edit or Access/rps/catalog/search">
                            <input class="Input" type="hidden" name="searchArea" id="searchArea" value="catalog" />
                        </xsl:when>
                    </xsl:choose>
                </div>
                <label class="InputWrapper InputWrapper-with-icon InputWrapper-with-icon-right ControlsGroup-item MainSearch-query-input">
                    <input class="Input" placeholder="Search by" type="text" name="Query" id="searchQuery">
                        <xsl:if test="$area != 'user'">
                            <xsl:attribute name="value"><xsl:value-of select="Params/Query" /></xsl:attribute>
                        </xsl:if>
                    </input>
                    <div class="InputWrapper-icon Icon-trigger" id="searchAreaTrigger">
                        <xsl:call-template name="icon">
                            <xsl:with-param name="type" select="'search'" />
                            <xsl:with-param name="role" select="'action'" />
                        </xsl:call-template>
                    </div>
                </label>
            </div>
            <div class="MainSearch-item">
                <xsl:choose>
                    <xsl:when test="Access/rps/catalog/edit or Access/rps/label_payee/edit or Access/rps/artist_contract/edit">
                        <div class="MainSearch-item-control">
                            <xsl:variable name="searchAreaAddItems">
                                <map>

                                    <xsl:choose>
                                        <xsl:when test="Access/rps/catalog/edit">
                                            <mapEntry>
                                                <name>Album</name>
                                                <value>catalog</value>
                                                <selected>
                                                    <xsl:if test="$area = 'catalog'">
                                                        <xsl:text>true</xsl:text>
                                                    </xsl:if>
                                                </selected>
                                            </mapEntry>
                                        </xsl:when>
                                        <xsl:when test="Access/rps/catalog/da_edit">
                                            <mapEntry>
                                                <name>Album</name>
                                                <value>da_catalog</value>
                                                <selected>
                                                    <xsl:if test="$area = 'catalog'">
                                                        <xsl:text>true</xsl:text>
                                                    </xsl:if>
                                                </selected>
                                            </mapEntry>
                                        </xsl:when>
                                    </xsl:choose>

                                    <xsl:if test="Access/rps/artist_contract/edit">
                                        <mapEntry>
                                            <name>Contract (Artist/Producer)</name>
                                            <value>artist_contract</value>
                                            <selected>
                                                <xsl:if test="$area = 'artist_contract' or $area = 'contract'">
                                                    <xsl:text>true</xsl:text>
                                                </xsl:if>
                                            </selected>
                                        </mapEntry>
                                    </xsl:if>

                                    <xsl:if test="Access/rps/label_contract/edit">
                                        <mapEntry>
                                            <name>Contract (Label)</name>
                                            <value>label_contract</value>
                                            <selected>
                                                <xsl:if test="$area = 'label_contract'">
                                                    <xsl:text>true</xsl:text>
                                                </xsl:if>
                                            </selected>
                                        </mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/artist_payee/edit">
                                        <mapEntry>
                                            <name>Payee (Artist/Producer)</name>
                                            <value>artist_payee</value>
                                        </mapEntry>
                                        <selected>
                                            <xsl:if test="$area = 'artist_payee' or $area = 'payee'">
                                                <xsl:text>true</xsl:text>
                                            </xsl:if>
                                        </selected>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/label_payee/edit">
                                        <mapEntry>
                                            <name>Payee (Label)</name>
                                            <value>label_payee</value>
                                        </mapEntry>
                                        <selected>
                                            <xsl:if test="$area = 'label_payee'">
                                                <xsl:text>true</xsl:text>
                                            </xsl:if>
                                        </selected>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/ca_publisher/edit">
                                        <mapEntry>
                                            <name>Publisher (Canadian)</name>
                                            <value>ca_publisher</value>
                                            <selected>
                                                <xsl:if test="$area = 'ca_publisher'">
                                                    <xsl:text>true</xsl:text>
                                                </xsl:if>
                                            </selected>
                                        </mapEntry>
                                    </xsl:if>
                                    <xsl:if test="Access/rps/publisher/edit">
                                        <mapEntry>
                                            <name>Publisher (United States)</name>
                                            <value>publisher</value>
                                            <selected>
                                                <xsl:if test="$area = 'publisher'">
                                                    <xsl:text>true</xsl:text>
                                                </xsl:if>
                                            </selected>
                                        </mapEntry>
                                    </xsl:if>
                                </map>
                            </xsl:variable>
                            <label>
                                <xsl:call-template name="uiDropdown">
                                    <xsl:with-param name="items" select="$searchAreaAddItems"/>
                                    <xsl:with-param name="id" select="'addArea'"/>
                                    <xsl:with-param name="name" select="'addArea'"/>
                                    <xsl:with-param name="caption" select="'Add new'"/>
                                    <xsl:with-param name="type" select="'primary'"/>
                                    <xsl:with-param name="align" select="'right'"/>
                                    <xsl:with-param name="active" select="$area"/>
                                    <xsl:with-param name="className" select="'MainSearch-add-select'"/>
                                </xsl:call-template>
                            </label>
                        </div>
                    </xsl:when>
                    <xsl:when test="Access/rps/catalog/da_edit">
                        <div class="MainSearch-item-control">
                            <xsl:call-template name="uiButton">
                                <xsl:with-param name="type" select="'primary'" />
                                <xsl:with-param name="id" select="'addAreaDa'" />
                                <xsl:with-param name="content" select="'Add New Album'" />
                            </xsl:call-template>
                        </div>
                    </xsl:when>
                </xsl:choose>
            </div>
        </form>
    </xsl:template>

    <xsl:template name="searchNoResult">
        <xsl:if test="not(Pagination/Total &gt; 0) and (Params/Query or $cmd = 'search_import' and $cmd != 'search_no_image' and $cmd != 'search_no_audio' and $cmd != 'search_no_metadata' and $cmd != 'search_no_dr' )">
            <div class="Table-empty-results">
                <p>No results matched your search.</p>
            </div>
        </xsl:if>
        <xsl:if test="not(Pagination/Total &gt; 0) and Params/c = 'search_in_queue'">
            <div class="Table-empty-results">
                <p>No albums are in the queue for delivery.</p>
            </div>
        </xsl:if>
    </xsl:template>

    <xsl:template name="searchPages">
        <div class="pageNumbers">Page <xsl:value-of select="Pagination/Current" /> of <xsl:value-of select="Pagination/TotalPages" /></div>
    </xsl:template>

    <xsl:template name="searchText">
        <div class="Pagination-search-text">
            <xsl:if test="Pagination/Total &gt; Pagination/PageSize">
                <xsl:call-template name="searchPages" />
            </xsl:if>
            <xsl:call-template name="searchNoResult" />
        </div>
    </xsl:template>


    <xsl:template name="searchNav">
        <xsl:param name="form" />
        <xsl:param name="area" />
        <xsl:param name="withText" select="'false'" />

        <xsl:variable name="searchNavParams">
        <xsl:text>&amp;c=</xsl:text>
        <xsl:value-of select="Params/c"/>

        <xsl:if test="Params/Query">
            <xsl:text>&amp;Query=</xsl:text>
            <xsl:value-of select="Params/Query"/>
        </xsl:if>

        <xsl:if test="normalize-space(Params/AdminID)">
            <xsl:text>&amp;AdminID=</xsl:text>
            <xsl:value-of select="Params/AdminID"/>
        </xsl:if>

        <xsl:if test="normalize-space(Params/AgentID)">
            <xsl:text>&amp;AgentID=</xsl:text>
            <xsl:value-of select="Params/AgentID"/>
        </xsl:if>

        <xsl:if test="boolean(Params/userStatus)">
            <xsl:text>&amp;userStatus=</xsl:text>
            <xsl:value-of select="Params/userStatus"/>
        </xsl:if>

        <xsl:if test="boolean(Params/userType)">
            <xsl:text>&amp;userType=</xsl:text>
            <xsl:value-of select="Params/userType"/>
        </xsl:if>
        </xsl:variable>

        <xsl:if test="Pagination/TotalPages &gt; 1">
            <xsl:variable name="paginationURLNext">?Page=<xsl:value-of select="Pagination/Next" /><xsl:value-of select="$searchNavParams" /></xsl:variable>
            <xsl:variable name="paginationURLPrev">?Page=<xsl:value-of select="Pagination/Previous" /><xsl:value-of select="$searchNavParams" /></xsl:variable>
            <xsl:variable name="paginationInline"><xsl:if test="Params/_inline">&amp;_inline=1</xsl:if></xsl:variable>
            <xsl:choose>
                <xsl:when test="not(Params/_inline)">
                    <xsl:if test="(normalize-space(Pagination/Next)) or (normalize-space(Pagination/Previous))">
                        <div class="Pagination-previous-next">
                            <div class="Pagination-item">
                                <xsl:if test="normalize-space(Pagination/Previous)">
                                    <xsl:call-template name="uiButton">
                                        <xsl:with-param name="url">
                                            <xsl:if test="normalize-space(Pagination/Previous)">
                                                <xsl:value-of select="$paginationURLPrev" /><xsl:value-of select="$paginationInline" />
                                            </xsl:if>
                                        </xsl:with-param>
                                        <xsl:with-param name="content" select="'Previous'"/>
                                        <xsl:with-param name="type" select="'default'"/>
                                        <xsl:with-param name="iconLeftType" select="'arrow-left'"/>
                                        <xsl:with-param name="disabled">
                                            <xsl:if test="not(normalize-space(Pagination/Previous))">
                                                <xsl:text>true</xsl:text>
                                            </xsl:if>
                                        </xsl:with-param>
                                    </xsl:call-template>
                                </xsl:if>
                            </div>
                            <xsl:if test="$withText = 'true'">
                                <div class="Pagination-item">
                                    <xsl:call-template name="searchPages" />
                                </div>
                            </xsl:if>
                            <div class="Pagination-item">
                                <xsl:if test="normalize-space(Pagination/Next)">
                                    <xsl:call-template name="uiButton">
                                        <xsl:with-param name="url">
                                            <xsl:if test="normalize-space(Pagination/Next)">
                                                <xsl:value-of select="$paginationURLNext" /><xsl:value-of select="$paginationInline" />
                                            </xsl:if>
                                        </xsl:with-param>
                                        <xsl:with-param name="content" select="'Next'"/>
                                        <xsl:with-param name="type" select="'default'"/>
                                        <xsl:with-param name="iconRightType" select="'arrow-right'"/>
                                        <xsl:with-param name="disabled">
                                            <xsl:if test="not(normalize-space(Pagination/Next))">
                                                <xsl:text>true</xsl:text>
                                            </xsl:if>
                                        </xsl:with-param>
                                    </xsl:call-template>
                                </xsl:if>
                            </div>
                        </div>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:if test="(normalize-space(Pagination/Next)) or (normalize-space(Pagination/Previous))">
                        <div class="Pagination-previous-next">
                            <div class="Pagination-item">
                                <xsl:if test="normalize-space(Pagination/Previous)">
                                    <xsl:call-template name="uiButton">
                                        <xsl:with-param name="onClick">
                                            <xsl:if test="normalize-space(Pagination/Previous)">
                                                searching();collectFields('<xsl:value-of select="$form" />','<xsl:value-of select="$area" />', 'Page=<xsl:value-of select="Pagination/Previous" />' ); return false;
                                            </xsl:if>
                                        </xsl:with-param>
                                        <xsl:with-param name="content" select="'Previous'"/>
                                        <xsl:with-param name="type" select="'default'"/>
                                        <xsl:with-param name="iconLeftType" select="'arrow-left'"/>
                                        <xsl:with-param name="disabled">
                                            <xsl:if test="not(normalize-space(Pagination/Previous))">
                                                <xsl:text>true</xsl:text>
                                            </xsl:if>
                                        </xsl:with-param>
                                    </xsl:call-template>
                                </xsl:if>
                            </div>
                            <xsl:if test="$withText = 'true'">
                                <div class="Pagination-item">
                                    <xsl:call-template name="searchPages" />
                                </div>
                            </xsl:if>
                            <div class="Pagination-item">
                                <xsl:if test="normalize-space(Pagination/Next)">
                                    <xsl:call-template name="uiButton">
                                        <xsl:with-param name="onClick">
                                            <xsl:if test="normalize-space(Pagination/Next)">
                                                searching();collectFields('<xsl:value-of select="$form" />','<xsl:value-of select="$area" />', 'Page=<xsl:value-of select="Pagination/Next" />' ); return false;
                                            </xsl:if>
                                        </xsl:with-param>
                                        <xsl:with-param name="content" select="'Next'"/>
                                        <xsl:with-param name="type" select="'default'"/>
                                        <xsl:with-param name="iconRightType" select="'arrow-right'"/>
                                        <xsl:with-param name="disabled">
                                            <xsl:if test="not(normalize-space(Pagination/Next))">
                                                <xsl:text>true</xsl:text>
                                            </xsl:if>
                                        </xsl:with-param>
                                    </xsl:call-template>
                                </xsl:if>
                            </div>
                        </div>
                    </xsl:if>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:if>
    </xsl:template>

    <xsl:template name="searchNavRecords">
        <xsl:variable name="searchNavParams">
            <xsl:text>&amp;c=</xsl:text>
            <xsl:value-of select="Params/c" />
            <xsl:if test="Params/Query">
                <xsl:text>&amp;Query=</xsl:text>
                <xsl:value-of select="Params/Query" />
            </xsl:if>
            <xsl:if test="normalize-space(Params/AdminID)">
                <xsl:text>&amp;AdminID=</xsl:text>
                <xsl:value-of select="Params/AdminID" />
            </xsl:if>
            <xsl:if test="normalize-space(Params/gentID)">
                <xsl:text>&amp;AgentID=</xsl:text>
                <xsl:value-of select="Params/AgentID" />
            </xsl:if>
            <xsl:if test="boolean(Params/userStatus)">
                <xsl:text>&amp;userStatus=</xsl:text>
                <xsl:value-of select="Params/userStatus"/>
            </xsl:if>
            <xsl:if test="boolean(Params/userType)">
                <xsl:text>&amp;userType=</xsl:text>
                <xsl:value-of select="Params/userType"/>
            </xsl:if>
        </xsl:variable>

        <xsl:value-of select="Pagination/TotalCount" />

        <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="type" select="'record'" />
            <xsl:with-param name="searchParams" select="$searchNavParams" />
            <xsl:with-param name="pageSize" select="Pagination/PageSize" />
        </xsl:call-template>

    </xsl:template>

</xsl:stylesheet>
