<!--                                                                  -->
<!--  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="edit.xsl" />
    <xsl:include href="show.xsl" />
    <xsl:include href="presubmit.xsl" />
    <xsl:include href="../shared_layouts/advance.xsl" />
    <xsl:include href="../shared_layouts/expense.xsl" />
    <xsl:include href="../shared_layouts/expense_edit.xsl" />

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

    <xsl:template name="pickLayout">
        <div class="MainBaseSection">
            <xsl:choose>
                <xsl:when test="$cmd = 'presubmit'">
                    <xsl:call-template name="trackPresubmitLayout" />
                </xsl:when>
                <xsl:when test="$cmd = 'show'">
                    <xsl:call-template name="trackShowLayout" />
                </xsl:when>
                <xsl:when test="$cmd = 'advance'">
                    <xsl:call-template name="advanceLayout" />
                </xsl:when>
                <xsl:when test="$cmd = 'expense'">
                    <xsl:call-template name="expenseLayout" />
                </xsl:when>
                <xsl:when test="$cmd = 'expense_edit'">
                    <xsl:call-template name="expenseEditLayout" />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:call-template name="trackEditLayout" />
                </xsl:otherwise>
            </xsl:choose>
        </div>
    </xsl:template>

    <xsl:template name="submitButton">
        <xsl:choose>
            <xsl:when test="$cmd = 'advance'">
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="type" select="'primary'" />
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="name" select="'submit'" />
                    <xsl:with-param name="id" select="'submitButton'" />
                    <xsl:with-param name="elemType" select="'submit'" />
                    <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 = 'expense_edit'">
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="type" select="'primary'" />
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="name" select="'submit'" />
                    <xsl:with-param name="id" select="'submitButton'" />
                    <xsl:with-param name="elemType" select="'submit'" />
                    <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))">
                            <xsl:text>true</xsl:text>
                        </xsl:if>
                    </xsl:with-param>
                </xsl:call-template>
            </xsl:when>

            <xsl:when test="$cmd = 'expense' or not(Access/rps/track/edit)">
            </xsl:when>

            <xsl:otherwise>

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="type" select="'primary'" />
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="name" select="'submit'" />
                    <xsl:with-param name="id" select="'submitButton'" />
                    <xsl:with-param name="elemType" select="'submit'" />
                    <xsl:with-param name="content">
                        <xsl:choose>
                            <xsl:when test="$cmd = 'show'">
                                Edit Track
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:if test="normalize-space(Form/Track/TrackID)">Update</xsl:if>
                                <xsl:if test="not(normalize-space(Form/Track/TrackID))">Create</xsl:if>
                            </xsl:otherwise>
                        </xsl:choose>
                    </xsl:with-param>
                    <xsl:with-param name="disabled">
                        <xsl:if test="$openRuns = 1 and $cmd != 'show'">
                            <xsl:text>true</xsl:text>
                        </xsl:if>
                    </xsl:with-param>
                    <xsl:with-param name="onClick">
                        <xsl:if test="$cmd = 'show'">
                            location.href='track?c=edit&amp;TrackID=<xsl:value-of select="Form/Track/TrackID" />'
                        </xsl:if>
                    </xsl:with-param>
                </xsl:call-template>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template name="cancelButton">
        <xsl:choose>
            <xsl:when test="$cmd = 'advance' or $cmd = 'expense'">
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="name" select="'Back'" />
                    <xsl:with-param name="content" select="'Return to Contract'" />
                    <xsl:with-param name="url">
                        <xsl:text>artist_contract?ArtistContractID=</xsl:text>
                        <xsl:value-of select="Form/TrackContract/ContractID" />
                        <xsl:text>&amp;c=show</xsl:text>
                    </xsl:with-param>
                </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="className" select="'Form-button Form-button-left'" />
                            <xsl:with-param name="type" select="'danger'" />
                            <xsl:with-param name="name" select="'Delete'" />
                            <xsl:with-param name="content" select="'Delete'" />
                            <xsl:with-param name="onClick">
                                <xsl:text>confirmDeleteExpense(</xsl:text>
                                <xsl:value-of select="Form/Expense/ExpenseID" />
                                <xsl:text>,'track','</xsl:text>
                                <xsl:value-of select="$pageName" />
                                <xsl:text>')</xsl:text>
                            </xsl:with-param>
                        </xsl:call-template>
                    </xsl:when>

                    <xsl:otherwise>
                        <xsl:call-template name="uiButton">
                            <xsl:with-param name="className" select="'Form-button'" />
                            <xsl:with-param name="name" select="'submitButton'" />
                            <xsl:with-param name="id" select="'addAnotherButton'" />
                            <xsl:with-param name="elemType" select="'submit'" />
                            <xsl:with-param name="content" select="'Create and Add Another'" />
                            <xsl:with-param name="onClick">
                                <xsl:text>modifyFieldValue('ReturnTo','track?TrackContractID=</xsl:text>
                                <xsl:value-of select="Params/TrackContractID" />
                                <xsl:text>&amp;PreProcess=</xsl:text>
                                <xsl:value-of select="Params/PreProcess" />
                                <xsl:text>&amp;c=expense_edit&amp;msg=success|form_submit_success')</xsl:text>
                            </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))">
                                    <xsl:text>true</xsl:text>
                                </xsl:if>
                            </xsl:with-param>
                        </xsl:call-template>
                    </xsl:otherwise>

                </xsl:choose>

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

            <xsl:otherwise>
                <xsl:if test="$cmd = 'edit' and normalize-space(Form/Track/TrackID)">
                    <xsl:call-template name="uiButton">
                        <xsl:with-param name="className" select="'Form-button Form-button-left'" />
                        <xsl:with-param name="name" select="'deleteButton'" />
                        <xsl:with-param name="type" select="'danger'" />
                        <xsl:with-param name="content" select="'Delete'" />
                        <xsl:with-param name="onClick">
                            <xsl:text>confirmDeleteTrack(</xsl:text>
                            <xsl:value-of select="Form/Track/TrackID" />
                            <xsl:text>, '</xsl:text>
                            <xsl:value-of select="$editMaster" />
                            <xsl:text>', '</xsl:text>
                            <xsl:value-of select="$editSong" />
                            <xsl:text>')</xsl:text>
                        </xsl:with-param>
                        <xsl:with-param name="disabled">
                            <xsl:if test="Form/Track/LinkedLicenses &gt; 0 or Form/Track/LinkedContracts &gt; 0 or $openRuns = 1">
                                <xsl:text>true</xsl:text>
                            </xsl:if>
                        </xsl:with-param>
                    </xsl:call-template>
                    <div class="HelpText HelpText-bybutton">
                        <xsl:if test="Form/Track/LinkedLicenses &gt; 0 or Form/Track/LinkedContracts &gt; 0">
                            <xsl:choose>
                                <xsl:when test="Form/Track/LinkedLicenses &gt; 0 and Form/Track/LinkedContracts &gt; 0">
                                    This track has a license and contract associated with it and cannot be deleted
                                </xsl:when>
                                <xsl:when test="Form/Track/LinkedLicenses &gt; 0">
                                    This track has a license associated with it and cannot be deleted.
                                </xsl:when>
                                <xsl:otherwise>
                                    This track has a contract associated with it and cannot be deleted.
                                </xsl:otherwise>
                            </xsl:choose>
                        </xsl:if>
                    </div>
                </xsl:if>

                <xsl:if test="not(normalize-space(Form/Track/TrackID))">
                    <xsl:call-template name="uiButton">
                        <xsl:with-param name="className" select="'Form-button'" />
                        <xsl:with-param name="name" select="'submitButton'" />
                        <xsl:with-param name="id" select="'addAnotherButton'" />
                        <xsl:with-param name="elemType" select="'submit'" />
                        <xsl:with-param name="content" select="'Create and Add Another'" />
                        <xsl:with-param name="onClick">
                            <xsl:text>modifyFieldValue('ReturnTo','track?AlbumID=</xsl:text>
                            <xsl:value-of select="Params/AlbumID" />
                            <xsl:text>&amp;c=edit&amp;msg=success|form_submit_success')</xsl:text>
                        </xsl:with-param>
                        <xsl:with-param name="disabled">
                            <xsl:if test="$openRuns = 1">
                                <xsl:text>true</xsl:text>
                            </xsl:if>
                        </xsl:with-param>
                    </xsl:call-template>
                </xsl:if>

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="name" select="'Cancel'" />
                    <xsl:with-param name="content" select="'Return to Album'" />
                    <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:call-template>

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

</xsl:stylesheet>
