<!--                                                                  -->
<!--  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:output method="html" indent="no" doctype-system="" encoding="utf-8" />

    <xsl:include href="/app/tools/rps/templates/global.xsl" />
    <xsl:include href="show.xsl" />
    <xsl:include href="search.xsl" />
    <xsl:include href="edit.xsl" />
    <xsl:include href="da_edit.xsl" />
    <xsl:include href="list.xsl" />
    <xsl:include href="main.xsl" />
    <xsl:include href="../shared_layouts/expense.xsl" />
    <xsl:include href="../shared_layouts/expense_edit.xsl" />
    <xsl:include href="../shared_layouts/advance.xsl" />

    <xsl:variable name="daTest" />

    <xsl:variable name="contractName">AlbumContractID</xsl:variable>
    <xsl:variable name="contractID"><xsl:value-of select="/Root/Params/AlbumContractID" /></xsl:variable>

    <xsl:template name="pickLayout">

        <script type="text/javascript" src="/production/javascript/catalog.js?v=1"></script>

        <xsl:choose>
            <xsl:when test="$cmd = 'advance'">
                <div class="MainBaseSection">
                    <xsl:call-template name="advanceLayout" />
                </div>
            </xsl:when>
            <xsl:when test="$cmd = 'expense'">
                <div class="MainBaseSection">
                    <xsl:call-template name="expenseLayout" />
                </div>
            </xsl:when>
            <xsl:when test="$cmd = 'expense_edit'">
                <div class="MainBaseSection">
                    <xsl:call-template name="expenseEditLayout" />
                </div>
            </xsl:when>
            <xsl:when test="$cmd = 'edit'">
                <xsl:call-template name="catalogEditLayout" />
            </xsl:when>
            <xsl:when test="$cmd = 'da_edit'">
                <xsl:call-template name="catalogDaEditLayout" />
            </xsl:when>
            <xsl:when test="$cmd = 'list'">
                <xsl:call-template name="catalogListLayout" />
            </xsl:when>
            <xsl:when test="$cmd = 'main'">
                <xsl:call-template name="catalogMainLayout" />
            </xsl:when>
            <xsl:when test="$cmd = 'show'">
                <xsl:call-template name="catalogViewLayout" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="catalogSearchLayout" />
            </xsl:otherwise>
        </xsl:choose>

    </xsl:template>

    <xsl:template name="submitButton">
        <xsl:param name="className" select="''" />
        <xsl:choose>
            <xsl:when test="$cmd = 'advance'">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="type" select="'primary'" />
                    <xsl:with-param name="id" select="'submitButton'" />
                    <xsl:with-param name="name" select="'submit'" />
                    <xsl:with-param name="elemType" select="'submit'" />
                    <xsl:with-param name="className" select="$className" />
                    <xsl:with-param name="content">
                        <xsl:if test="normalize-space(//AdvanceAccount/AccountID)">Update</xsl:if>
                        <xsl:if test="not(normalize-space(//AdvanceAccount/AccountID))">Create</xsl:if>
                    </xsl:with-param>
                </xsl:call-template>

            </xsl:when>

            <xsl:when test="$cmd = 'edit' or $cmd = 'da_edit'">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="type" select="'primary'" />
                    <xsl:with-param name="id" select="'submitButton'" />
                    <xsl:with-param name="name" select="'submitButton'" />
                    <xsl:with-param name="elemType" select="'submit'" />
                    <xsl:with-param name="className" select="$className" />
                    <xsl:with-param name="content">
                        <xsl:if test="normalize-space(Form/Album/AlbumID)">Update</xsl:if>
                        <xsl:if test="not(normalize-space(Form/Album/AlbumID))">Create</xsl:if>
                    </xsl:with-param>
                    <xsl:with-param name="disabled">
                        <xsl:if test="$openRuns = 1">true</xsl:if>
                    </xsl:with-param>
                </xsl:call-template>

            </xsl:when>

            <xsl:when test="$cmd = 'expense_edit'">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="type" select="'primary'" />
                    <xsl:with-param name="id" select="'submitButton'" />
                    <xsl:with-param name="name" select="'submit'" />
                    <xsl:with-param name="elemType" select="'submit'" />
                    <xsl:with-param name="className" select="$className" />
                    <xsl:with-param name="content">
                        <xsl:if test="normalize-space(Form/Expense/ExpenseID)">Update</xsl:if>
                        <xsl:if test="not(normalize-space(Form/Expense/ExpenseID))">Create</xsl:if>
                    </xsl:with-param>
                    <xsl:with-param name="disabled">
                        <xsl:if test="$openRuns = 1 or ((Form/DefaultTerm = 1 or Form/DefaultTerm = 3) and (/Root/Params/PreProcess = 1 or Form/Expense/PreProcess = 1))">true</xsl:if>
                    </xsl:with-param>
                </xsl:call-template>

            </xsl:when>

            <xsl:when test="$cmd = 'da_show' and Access/rps/catalog/da_edit">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="url">
                        <xsl:text>catalog?c=da_edit&amp;AlbumID=</xsl:text><xsl:value-of select="Form/Album/AlbumID" />
                    </xsl:with-param>
                    <xsl:with-param name="content" select="'Edit Album'" />
                    <xsl:with-param name="className" select="$className" />
                </xsl:call-template>

            </xsl:when>

            <xsl:otherwise>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template name="deleteButton">
        <xsl:variable name="relatedAlbumItems" select="Form/Album/RelatedAlbumItems" />
        <xsl:call-template name="uiButton">
            <xsl:with-param name="className" select="'Form-button-left'"/>
            <xsl:with-param name="content" select="'Delete'"/>
            <xsl:with-param name="type" select="'danger'"/>
            <xsl:with-param name="name" select="'deleteButton'"/>
            <xsl:with-param name="disabled">
                <xsl:if test="$relatedAlbumItems = 1"><xsl:value-of select="'true'" /></xsl:if>
            </xsl:with-param>
            <xsl:with-param name="onClick">confirmDeleteAlbum(<xsl:value-of select="Params/AlbumID"/>)</xsl:with-param>
        </xsl:call-template>
        <xsl:if test="$relatedAlbumItems = 1">
            <div class="HelpText HelpText-bybutton">This album cannot be deleted due to either having sales matched to it, or artist contracts or licenses attached to it.</div>
        </xsl:if>
    </xsl:template>

    <xsl:template name="cancelButton">
        <xsl:param name="className" select="''" />
        <xsl:choose>

            <xsl:when test="$cmd = 'advance' or $cmd = 'expense'">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="url">
                        <xsl:text>artist_contract?ArtistContractID=</xsl:text><xsl:value-of select="Form/AlbumContract/ContractID" /><xsl:text>&amp;c=show</xsl:text>
                    </xsl:with-param>
                    <xsl:with-param name="name" select="'Back'" />
                    <xsl:with-param name="content" select="'Return to Contract'" />
                    <xsl:with-param name="className" select="$className" />
                </xsl:call-template>

            </xsl:when>

            <xsl:when test="$cmd = 'edit' and normalize-space(Form/Album/AlbumID)">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="url">
                        <xsl:text>catalog?AlbumID=</xsl:text><xsl:value-of select="Form/Album/AlbumID" /><xsl:text>&amp;c=show</xsl:text>
                    </xsl:with-param>
                    <xsl:with-param name="name" select="'Cancel'" />
                    <xsl:with-param name="content" select="'Return to Album'" />
                    <xsl:with-param name="className" select="$className" />
                </xsl:call-template>

            </xsl:when>

            <xsl:when test="$cmd = 'da_edit' and normalize-space(Form/Album/AlbumID)">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="url">
                        <xsl:text>catalog?AlbumID=</xsl:text><xsl:value-of select="Form/Album/AlbumID" /><xsl:text>&amp;c=show</xsl:text>
                    </xsl:with-param>
                    <xsl:with-param name="name" select="'Cancel'" />
                    <xsl:with-param name="content" select="'Return to Album'" />
                    <xsl:with-param name="className" select="$className" />
                </xsl:call-template>

            </xsl:when>

            <xsl:when test="$cmd = 'expense_edit'">
                <xsl:choose>
                    <xsl:when test="normalize-space(Form/Expense/ExpenseID)">

                        <xsl:call-template name="uiButton">
                            <xsl:with-param name="onClick">
                                confirmDeleteExpense(<xsl:value-of select="Form/Expense/ExpenseID" />, 'catalog', '<xsl:value-of select="$pageName" />')
                            </xsl:with-param>
                            <xsl:with-param name="name" select="'Delete'" />
                            <xsl:with-param name="type" select="'danger'" />
                            <xsl:with-param name="content" select="'Delete'" />
                            <xsl:with-param name="className">
                                <xsl:value-of select="$className" />
                                <xsl:text> Form-button-left</xsl:text>
                            </xsl:with-param>
                            <xsl:with-param name="disabled">
                                <xsl:if test="$openRuns = 1">true</xsl:if>
                            </xsl:with-param>
                        </xsl:call-template>

                    </xsl:when>
                    <xsl:otherwise>

                        <xsl:call-template name="uiButton">
                            <xsl:with-param name="onClick">
                                modifyFieldValue('ReturnTo','catalog?AlbumContractID=<xsl:value-of select="Params/AlbumContractID" />&amp;PreProcess=<xsl:value-of select="Params/PreProcess" />&amp;c=expense_edit&amp;msg=success|form_submit_success')
                            </xsl:with-param>
                            <xsl:with-param name="name" select="'submitButton'" />
                            <xsl:with-param name="elemType" select="'submit'" />
                            <xsl:with-param name="id" select="'addAnotherButton'" />
                            <xsl:with-param name="content" select="'Create and Add Another'" />
                            <xsl:with-param name="className" select="$className" />
                            <xsl:with-param name="disabled">
                                <xsl:if test="$openRuns = 1 or ((Form/DefaultTerm = 1 or Form/DefaultTerm = 3) and (/Root/Params/PreProcess = 1 or Form/Expense/PreProcess = 1))">true</xsl:if>
                            </xsl:with-param>
                        </xsl:call-template>

                    </xsl:otherwise>
                </xsl:choose>

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="url">
                        <xsl:text>catalog?AlbumContractID=</xsl:text><xsl:value-of select="Params/AlbumContractID" /><xsl:text>&amp;c=expense</xsl:text>
                    </xsl:with-param>
                    <xsl:with-param name="name" select="'Back'" />
                    <xsl:with-param name="content" select="'Return to Expense List'" />
                    <xsl:with-param name="className" select="$className" />
                </xsl:call-template>

            </xsl:when>

            <xsl:otherwise>

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="url">
                        <xsl:text>catalog</xsl:text>
                    </xsl:with-param>
                    <xsl:with-param name="content" select="'Back to Albums'" />
                    <xsl:with-param name="className" select="$className" />
                </xsl:call-template>

            </xsl:otherwise>

        </xsl:choose>
    </xsl:template>

    <xsl:template name="labelSelectForm">
        <form action="/rps/catalog" method="get">
            <input type="hidden" name="page" value="" />
            <input type="hidden" name="c" value="{Params/c}" />
            <div class="Form-item">
                <label class="Form-label">
                    <span class="Form-label-caption">View By Label</span>
                    <div class="Form-input-wrapper">

                        <xsl:variable name="catalogListSelectFormItems">
                            <map>
                                <mapEntry><name>All Labels</name><value></value></mapEntry>
                                <xsl:for-each select="LabelList/Label">
                                    <mapEntry>
                                        <name><xsl:value-of select="LabelName" /></name>
                                        <value><xsl:value-of select="LabelID" /></value>
                                    </mapEntry>
                                </xsl:for-each>
                            </map>
                        </xsl:variable>
                        <xsl:call-template name="uiDropdown">
                            <xsl:with-param name="items" select="$catalogListSelectFormItems"/>
                            <xsl:with-param name="name" select="'label'"/>
                            <xsl:with-param name="active" select="/Root/Params/label"/>
                            <xsl:with-param name="className" select="'CatalogMain-label-select'" />
                            <xsl:with-param name="autoSubmit" select="'true'" />
                        </xsl:call-template>
                    </div>
                </label>
            </div>
        </form>
    </xsl:template>

</xsl:stylesheet>
