<!--                                                                  -->
<!--  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/shared_templates.xsl" />
    <xsl:include href="/app/tools/common/production/templates/components/index.xsl" />

    <xsl:variable name="status" select="/Root/Params/show"/>
    <xsl:variable name="show" select="/Root/Params/show"/>
    <xsl:variable name="ajaxURL">/rps/distribution?c=albumdetail&amp;show=</xsl:variable>

    <xsl:variable name="currentPage" select="/Root/Distribution/Albums/Display/Page" />
    <xsl:variable name="pageSize" select="/Root/Distribution/Albums/Display/PageSize" />

    <xsl:variable name="albumCount" select="/Root/Distribution/Albums/Display/TotalAlbums" />
    <xsl:variable name="currentColset" select="/Root/Distribution/Albums/Display/ColSet" />

    <xsl:variable name="lastColset">8</xsl:variable>

    <xsl:variable name="lastPage">
        <xsl:choose>
            <xsl:when test="$albumCount mod $pageSize = 0">
                <xsl:value-of select="floor($albumCount div $pageSize)" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="floor($albumCount div $pageSize) + 1" />
            </xsl:otherwise>
        </xsl:choose>
    </xsl:variable>

    <xsl:variable name="albumTableWidth">
        <xsl:choose>
            <xsl:when test="$currentColset = 8">7</xsl:when>
            <xsl:when test="$currentColset = 7">9</xsl:when>
            <xsl:when test="$currentColset = 6">7</xsl:when>
            <xsl:when test="$currentColset = 5">7</xsl:when>
            <xsl:when test="$currentColset = 4">9</xsl:when>
            <xsl:when test="$currentColset = 3">9</xsl:when>
            <xsl:when test="$currentColset = 2">9</xsl:when>
            <xsl:otherwise>8</xsl:otherwise>
        </xsl:choose>
    </xsl:variable>

    <xsl:template match="Root">
        <xsl:if test="$albumCount &gt; 0">
            <div id="distributionAlbumDetail">
                <xsl:call-template name="showMetadata" />
            </div>
        </xsl:if>

    </xsl:template>

    <xsl:template name="showMetadata">
        <div class="Distribution-nav">
            <div class="Distribution-nav-item" id="navColPrev">
                <xsl:call-template name="prevColsetButton" />
            </div>
            <div class="Distribution-nav-item" id="navColMore">
                <xsl:call-template name="nextColsetButton" /><xsl:text> </xsl:text>
            </div>
        </div>
        <table class="Table">
            <thead>
                <tr class="Table-row Table-row-header">
                    <xsl:call-template name="colsetHeader0" />

                    <xsl:choose>
                        <xsl:when test="$currentColset = 8">
                            <xsl:call-template name="colsetHeader8" />
                        </xsl:when>
                        <xsl:when test="$currentColset = 7">
                            <xsl:call-template name="colsetHeader7" />
                        </xsl:when>
                        <xsl:when test="$currentColset = 6">
                            <xsl:call-template name="colsetHeader6" />
                        </xsl:when>
                        <xsl:when test="$currentColset = 5">
                            <xsl:call-template name="colsetHeader5" />
                        </xsl:when>
                        <xsl:when test="$currentColset = 4">
                            <xsl:call-template name="colsetHeader4" />
                        </xsl:when>
                        <xsl:when test="$currentColset = 3">
                            <xsl:call-template name="colsetHeader3" />
                        </xsl:when>
                        <xsl:when test="$currentColset = 2">
                            <xsl:call-template name="colsetHeader2" />
                        </xsl:when>
                        <xsl:otherwise>
                            <xsl:call-template name="colsetHeader1" />
                        </xsl:otherwise>
                    </xsl:choose>
                </tr>
            </thead>
            <tbody>
                <xsl:for-each select="Distribution/Albums/Album">
                    <tr class="Table-row Table-row-data">
                        <xsl:call-template name="colset0" />

                        <xsl:choose>
                            <xsl:when test="$currentColset = 8">
                                <xsl:call-template name="colset8" />
                            </xsl:when>
                            <xsl:when test="$currentColset = 7">
                                <xsl:call-template name="colset7" />
                            </xsl:when>
                            <xsl:when test="$currentColset = 6">
                                <xsl:call-template name="colset6" />
                            </xsl:when>
                            <xsl:when test="$currentColset = 5">
                                <xsl:call-template name="colset5" />
                            </xsl:when>
                            <xsl:when test="$currentColset = 4">
                                <xsl:call-template name="colset4" />
                            </xsl:when>
                            <xsl:when test="$currentColset = 3">
                                <xsl:call-template name="colset3" />
                            </xsl:when>
                            <xsl:when test="$currentColset = 2">
                                <xsl:call-template name="colset2" />
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:call-template name="colset1" />
                            </xsl:otherwise>
                        </xsl:choose>
                    </tr>

                    <xsl:if test="count(Tracks/Track) &gt; 0">
                        <tr class="Table-row Table-row-data">
                            <td class="Table-col" colspan="{$albumTableWidth}">
                                <table class="Table Distribution-track-chart" >
                                    <thead>
                                        <xsl:call-template name="showTracksHeader" />
                                    </thead>
                                    <tbody>
                                        <xsl:for-each select="Tracks/Track">
                                            <xsl:call-template name="showTracks" />
                                        </xsl:for-each>
                                    </tbody>
                                </table>
                            </td>
                        </tr>
                    </xsl:if>
                </xsl:for-each>
            </tbody>
        </table>

        <div class="Distribution-detail-footer">
            <div class="Distribution-detail-footer-item"><xsl:call-template name="previousButton" /></div>
            <div class="Distribution-detail-footer-item"><xsl:call-template name="pageNumber" /></div>
            <div class="Distribution-detail-footer-item"><xsl:call-template name="nextButton" /></div>
        </div>

    </xsl:template>

    <xsl:template name="colsetHeader0">
        <th class="Table-col"></th>
        <th class="Table-col">
            <xsl:variable name="status" select="/Root/Params/show" />
            <xsl:if test="$status = 7">Force Import</xsl:if>
        </th>
        <th class="Table-col">
            <xsl:variable name="status" select="/Root/Params/show" />
            <xsl:if test="$status &gt; 0"></xsl:if>
        </th>
        <th class="Table-col">Cat ID</th>
        <th class="Table-col">Album Title</th>
    </xsl:template>

    <xsl:template name="colsetHeader1">
        <th class="Table-col">Primary Artist</th>
        <th class="Table-col">Secondary Artists and Roles</th>
        <th class="Table-col">Tracks</th>
    </xsl:template>

    <xsl:template name="colsetHeader2">
        <th class="Table-col">Digital UPC</th>
        <th class="Table-col">CD UPC</th>
        <th class="Table-col">DVD UPC</th>
        <th class="Table-col">Vinyl UPC</th>
    </xsl:template>

    <xsl:template name="colsetHeader3">
        <th class="Table-col">Digital Product ID</th>
        <th class="Table-col">CD Product ID</th>
        <th class="Table-col">DVD Product ID</th>
        <th class="Table-col">Vinyl Product ID</th>
    </xsl:template>

    <xsl:template name="colsetHeader4">
        <th class="Table-col">Label</th>
        <th class="Table-col">Release</th>
        <th class="Table-col">Primary Genre</th>
        <th class="Table-col">Secondary Genre</th>
    </xsl:template>

    <xsl:template name="colsetHeader5">
        <th class="Table-col">Territories Allowed</th>
        <th class="Table-col">Territories Denied</th>
    </xsl:template>

    <xsl:template name="colsetHeader6">
        <th class="Table-col">C Line</th>
        <th class="Table-col">P Line</th>
    </xsl:template>

    <xsl:template name="colsetHeader7">
        <th class="Table-col">Client Album ID</th>
        <th class="Table-col">Custom 1</th>
        <th class="Table-col">Custom 2</th>
        <th class="Table-col">Custom 3</th>
    </xsl:template>

    <xsl:template name="colsetHeader8">
        <th class="Table-col">Price Tiers</th>
        <th class="Table-col">Cleared For Distribution</th>
    </xsl:template>


    <xsl:template name="colset0">
        <td class="Table-col Table-col-icon">
            <xsl:call-template name="albumButton">
                <xsl:with-param name="catalog_no" select="catalog_no" />
            </xsl:call-template>
        </td>

        <td class="Table-col Table-col-icon">
            <xsl:call-template name="importOKButton">
                <xsl:with-param name="status" select="@status" />
            </xsl:call-template>
        </td>

        <td class="Table-col Table-col-icon">
            <xsl:call-template name="hasErrorImage">
                <xsl:with-param name="status" select="@status" />
            </xsl:call-template>
        </td>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="catalog_no/@error" />
            <xsl:with-param name="status"  select="catalog_no/@status" />
            <xsl:with-param name="value"   select="catalog_no" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="album_title/@error" />
            <xsl:with-param name="status"  select="album_title/@status" />
            <xsl:with-param name="width"   select="45" />
            <xsl:with-param name="value"   select="album_title" />
        </xsl:call-template>

    </xsl:template>

    <xsl:template name="colset1">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="album_artist/@error" />
            <xsl:with-param name="status"  select="album_artist/@status" />
            <xsl:with-param name="width"   select="45" />
            <xsl:with-param name="value"   select="album_artist" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="additional_album_artists/@error" />
            <xsl:with-param name="status"  select="additional_album_artists/@status" />
            <xsl:with-param name="value"   select="additional_album_artists" />
            <xsl:with-param name="delimiter" select="';'" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="track_count/@error" />
            <xsl:with-param name="status"  select="track_count/@status" />
            <xsl:with-param name="class">alignCenter</xsl:with-param>
            <xsl:with-param name="value"   select="track_count" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="colset2">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="digital_upc/@error" />
            <xsl:with-param name="status"  select="digital_upc/@status" />
            <xsl:with-param name="value"   select="digital_upc" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="cd_upc/@error" />
            <xsl:with-param name="status"  select="cd_upc/@status" />
            <xsl:with-param name="value"   select="cd_upc" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="dvd_upc/@error" />
            <xsl:with-param name="status"  select="dvd_upc/@status" />
            <xsl:with-param name="value"   select="dvd_upc" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="vinyl_upc/@error" />
            <xsl:with-param name="status"  select="vinyl_upc/@status" />
            <xsl:with-param name="value"   select="vinyl_upc" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="colset3">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="digital_product_id/@error" />
            <xsl:with-param name="status"  select="digital_product_id/@status" />
            <xsl:with-param name="value"   select="digital_product_id" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="cd_product_id/@error" />
            <xsl:with-param name="status"  select="cd_product_id/@status" />
            <xsl:with-param name="value"   select="cd_product_id" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="dvd_product_id/@error" />
            <xsl:with-param name="status"  select="dvd_product_id/@status" />
            <xsl:with-param name="value"   select="dvd_product_id" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="vinyl_product_id/@error" />
            <xsl:with-param name="status"  select="vinyl_product_id/@status" />
            <xsl:with-param name="value"   select="vinyl_product_id" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="colset4">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="label_name/@error" />
            <xsl:with-param name="status"  select="label_name/@status" />
            <xsl:with-param name="value"   select="label_name" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="release_date/@error" />
            <xsl:with-param name="status"  select="release_date/@status" />
            <xsl:with-param name="value"   select="release_date" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="primary_genre/@error" />
            <xsl:with-param name="status"  select="primary_genre/@status" />
            <xsl:with-param name="value"   select="primary_genre" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="secondary_genre/@error" />
            <xsl:with-param name="status"  select="secondary_genre/@status" />
            <xsl:with-param name="value"   select="secondary_genre" />
        </xsl:call-template>

    </xsl:template>
    <xsl:template name="colset5">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="territories_allowed/@error" />
            <xsl:with-param name="status"  select="territories_allowed/@status" />
            <xsl:with-param name="value"   select="territories_allowed" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="territories_denied/@error" />
            <xsl:with-param name="status"  select="territories_denied/@status" />
            <xsl:with-param name="value"   select="territories_denied" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="colset6">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="c_line/@error" />
            <xsl:with-param name="status"  select="c_line/@status" />
            <xsl:with-param name="value"   select="c_line" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="p_line/@error" />
            <xsl:with-param name="status"  select="p_line/@status" />
            <xsl:with-param name="value"   select="p_line" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="colset7">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="client_album_id/@error" />
            <xsl:with-param name="status"  select="client_album_id/@status" />
            <xsl:with-param name="value"   select="client_album_id" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="album_custom_1/@error" />
            <xsl:with-param name="status"  select="album_custom_1/@status" />
            <xsl:with-param name="value"   select="album_custom_1" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="album_custom_2/@error" />
            <xsl:with-param name="status"  select="album_custom_2/@status" />
            <xsl:with-param name="value"   select="album_custom_2" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="album_custom_3/@error" />
            <xsl:with-param name="status"  select="album_custom_3/@status" />
            <xsl:with-param name="value"   select="album_custom_3" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="colset8">
        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="price_tiers/@error" />
            <xsl:with-param name="status"  select="price_tiers/@status" />
            <xsl:with-param name="value"   select="price_tiers" />
            <xsl:with-param name="delimiter" select="';'" />
        </xsl:call-template>

        <xsl:call-template name="albumDetailTableItem">
            <xsl:with-param name="message" select="cleared_for_distribution/@error" />
            <xsl:with-param name="status"  select="cleared_for_distribution/@status" />
            <xsl:with-param name="value"   select="cleared_for_distribution" />
        </xsl:call-template>
    </xsl:template>


    <xsl:template name="showTracksHeader">
        <tr class="Table-row Table-row-header">
            <th class="Table-col">Title</th>
            <th class="Table-col">Primary Artist</th>
            <th class="Table-col">Secondary Artists</th>
            <th class="Table-col">ISRC</th>
            <th class="Table-col">Composer</th>
            <th class="Table-col">Disc</th>
            <th class="Table-col">Track</th>
            <th class="Table-col">Time</th>
            <th class="Table-col"><span title="Media Type 1 = Audio, 2 = Video" class="js-tooltip">MT</span></th>
            <th class="Table-col"><span title="Exclude Digitally" class="js-tooltip">ED</span></th>
            <th class="Table-col"><span title="Album Purchase Only" class="js-tooltip">AO</span></th>
            <th class="Table-col"><span title="Parental Advisory" class="js-tooltip">PA</span></th>
        </tr>
    </xsl:template>


    <xsl:template name="showTracks">
        <tr class="Table-row Table-row-data">

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="track_title/@error" />
                <xsl:with-param name="status" select="track_title/@status" />
                <xsl:with-param name="width"   select="25" />
                <xsl:with-param name="value"   select="track_title" />
            </xsl:call-template>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="track_artist/@error" />
                <xsl:with-param name="status" select="track_artist/@status" />
                <xsl:with-param name="width"   select="25" />
                <xsl:with-param name="value"   select="track_artist" />
            </xsl:call-template>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="additional_track_artists/@error" />
                <xsl:with-param name="status" select="additional_track_artists/@status" />
                <xsl:with-param name="width"   select="25" />
                <xsl:with-param name="value"   select="additional_track_artists" />
                <xsl:with-param name="delimiter" select="';'" />
            </xsl:call-template>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="isrc/@error" />
                <xsl:with-param name="status" select="isrc/@status" />
                <xsl:with-param name="value"   select="isrc" />
            </xsl:call-template>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="track_composer/@error" />
                <xsl:with-param name="status" select="track_composer/@status" />
                <xsl:with-param name="value"   select="track_composer" />
                <xsl:with-param name="width"   select="15" />
            </xsl:call-template>

            <xsl:variable name="disc">
                <xsl:choose>
                    <xsl:when test="disc_number &gt; 0"><xsl:value-of select="disc_number" /></xsl:when>
                    <xsl:otherwise><xsl:value-of select="disc_number" /></xsl:otherwise>
                </xsl:choose>
            </xsl:variable>
            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="disc_no/@error" />
                <xsl:with-param name="status" select="disc_no/@status" />
                <xsl:with-param name="value">
                    <xsl:value-of select="$disc" />
                </xsl:with-param>
            </xsl:call-template>

            <xsl:variable name="track">
                <xsl:choose>
                    <xsl:when test="track_number &gt; 0"><xsl:value-of select="track_number" /></xsl:when>
                    <xsl:otherwise><xsl:value-of select="track_number" /></xsl:otherwise>
                </xsl:choose>
            </xsl:variable>
            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="track_number/@error" />
                <xsl:with-param name="status" select="track_number/@status" />
                <xsl:with-param name="value">
                    <xsl:value-of select="$track" />
                </xsl:with-param>
            </xsl:call-template>

            <xsl:variable name="minutes">
                <xsl:choose>
                    <xsl:when test="track_minutes &gt;= 0"><xsl:value-of select="track_minutes" /></xsl:when>
                    <xsl:when test="normalize-space(track_minutes)">??</xsl:when>
                    <xsl:otherwise>0<xsl:value-of select="track_minutes" /></xsl:otherwise>
                </xsl:choose>
            </xsl:variable>
            <xsl:variable name="seconds">
                <xsl:choose>
                    <xsl:when test="track_seconds &gt;= 0"><xsl:value-of select="track_seconds" /></xsl:when>
                    <xsl:when test="normalize-space(track_seconds)">??</xsl:when>
                    <xsl:otherwise>00</xsl:otherwise>
                </xsl:choose>
            </xsl:variable>
            <xsl:variable name="status">
                <xsl:choose>
                    <xsl:when test="track_minutes/@status">
                        <xsl:value-of name="status" select="track_minutes/@status" />
                    </xsl:when>
                    <xsl:when test="track_seconds/@status">
                        <xsl:value-of name="status" select="track_seconds/@status" />
                    </xsl:when>
                </xsl:choose>
            </xsl:variable>
            <xsl:variable name="message">
                <xsl:value-of select="track_minutes/@error" /><xsl:if test="track_minutes/@error and track_seconds/@error">, </xsl:if>
                <xsl:value-of select="track_seconds/@error" />
            </xsl:variable>
            <xsl:choose>
                <xsl:when test="normalize-space(track_seconds) or normalize-space(track_minutes)">
                    <xsl:call-template name="albumDetailTableItem">
                        <xsl:with-param name="message" select="$message" />
                        <xsl:with-param name="status" select="$status" />
                        <xsl:with-param name="value">
                            <xsl:value-of select="$minutes" />:<xsl:value-of select="$seconds" />
                        </xsl:with-param>
                    </xsl:call-template>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:call-template name="albumDetailTableItem" />
                </xsl:otherwise>
            </xsl:choose>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="media_type/@error" />
                <xsl:with-param name="status" select="media_type/@status" />
                <xsl:with-param name="value"   select="media_type" />
            </xsl:call-template>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="exclude_digitally/@error" />
                <xsl:with-param name="status" select="exclude_digitally/@status" />
                <xsl:with-param name="value"   select="exclude_digitally" />
            </xsl:call-template>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="album_purchase_only/@error" />
                <xsl:with-param name="status" select="album_purchase_only/@status" />
                <xsl:with-param name="value"   select="album_purchase_only" />
            </xsl:call-template>

            <xsl:call-template name="albumDetailTableItem">
                <xsl:with-param name="message" select="explicit/@error" />
                <xsl:with-param name="status" select="explicit/@status" />
                <xsl:with-param name="value"   select="explicit" />
            </xsl:call-template>

        </tr>
    </xsl:template>



    <xsl:template name="albumButton">
        <xsl:param name="catalog_no" />

        <xsl:variable name="null_catalog">
            <xsl:if test="catalog_no">1</xsl:if>
        </xsl:variable>

        <xsl:variable name="button_action">
            <xsl:choose>
                <xsl:when test="/Root/Params/catalog = $catalog_no">collapse</xsl:when>
                <xsl:otherwise>expand</xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

        <a href="javascript:void(0);" onClick='oAlbumListArray[{$status}].URLRequest( {{ url: "{$ajaxURL}{$status}", catalog_no: "{$catalog_no}", track_click: 1, null_catalog: "{$null_catalog}" }} )' title="{$button_action}" onMouseOver="javascript:window.status=''; return true;">
            <span class="CollapseTrigger" id="album{$status}Image">
                <xsl:attribute name="class">
                    <xsl:choose>
                        <xsl:when test="/Root/Params/catalog = $catalog_no">CollapseTrigger CollapseTrigger-collapse</xsl:when>
                        <xsl:otherwise>CollapseTrigger</xsl:otherwise>
                    </xsl:choose>
                </xsl:attribute>
                <span class="CollapseTrigger-icon">
                    <xsl:call-template name="icon">
                        <xsl:with-param name="type" select="'arrow-down'" />
                        <xsl:with-param name="role" select="'action'" />
                        <xsl:with-param name="className" select="'CollapseTrigger-glyph'" />
                    </xsl:call-template>
                </span>
            </span>
        </a>
    </xsl:template>

    <xsl:template name="importOKButton">
        <xsl:param name="status" />

        <xsl:if test="$status = 7">
            <xsl:variable name="cidID" select="content_import_data_id" />
            <xsl:variable name="override" select="override" />

            <input type="checkbox" name="importOK" onClick='toggleImportOverride( "/rps/distribution?c=override&amp;cidID={$cidID}" )' >
                <xsl:if test="$override &gt; 0">
                    <xsl:attribute name="checked">1</xsl:attribute>
                </xsl:if>
            </input>

        </xsl:if>

    </xsl:template>

    <xsl:template name="hasErrorImage">
        <xsl:param name="status" />

        <xsl:variable name="id" select="content_import_data_id" />
        <xsl:variable name="catalog" select="catalog_no" />
        <xsl:choose>
            <xsl:when test="$status &gt; 6">
                <span data-tooltip_url="/rps/distribution?c=errorreport&amp;id={$id}&amp;catalog={$catalog}">
                    <xsl:call-template name="uiStatusIcon">
                        <xsl:with-param name="type" select="'danger'"/>
                    </xsl:call-template>
                </span>

            </xsl:when>
            <xsl:when test="$status &gt; 0">
                <span data-tooltip_url="/rps/distribution?c=errorreport&amp;id={$id}&amp;catalog={$catalog}">
                    <xsl:call-template name="icon">
                        <xsl:with-param name="type" select="'attention'" />
                        <xsl:with-param name="role" select="'colored'" />
                    </xsl:call-template>
                </span>
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="uiStatusIcon">
                    <xsl:with-param name="type" select="'success'"/>
                </xsl:call-template>
            </xsl:otherwise>
        </xsl:choose>
<!--
<input type="checkbox" name="importOK" onClick='toggleImportOverride( "/rps/distribution?c=errorreport&amp;id={$id}&amp;catalog={$catalog}" )' >
</input>
-->
</xsl:template>


<xsl:template name="previousButton">
    <xsl:if test="$currentPage &gt; 1">
        <xsl:call-template name="uiButton">
            <xsl:with-param name="onClick">
                oAlbumListArray[<xsl:value-of select="$status" />].URLRequest( { url: "<xsl:value-of select="$ajaxURL" /><xsl:value-of select="$status" />", page: <xsl:value-of select="$currentPage" /> - 1 } )
            </xsl:with-param>
            <xsl:with-param name="content" select="'Previous'" />
            <xsl:with-param name="iconLeftType" select="'arrow-left'" />
        </xsl:call-template>
    </xsl:if>
</xsl:template>

<xsl:template name="nextButton">
    <xsl:if test="$currentPage &lt; $lastPage">
        <xsl:call-template name="uiButton">
            <xsl:with-param name="onClick">
                oAlbumListArray[<xsl:value-of select="$status" />].URLRequest( { url: "<xsl:value-of select="$ajaxURL" /><xsl:value-of select="$status" />", page: <xsl:value-of select="$currentPage" /> + 1 } )
            </xsl:with-param>
            <xsl:with-param name="content" select="'Next'" />
            <xsl:with-param name="iconRightType" select="'arrow-right'" />
        </xsl:call-template>
    </xsl:if>
</xsl:template>

<xsl:template name="prevColsetButton">
    <xsl:if test="$currentColset &gt; 1">
        <xsl:call-template name="uiButton">
            <xsl:with-param name="onClick">
                oAlbumListArray[<xsl:value-of select="$status" />].URLRequest( { url: "<xsl:value-of select="$ajaxURL" /><xsl:value-of select="$status" />", colset: <xsl:value-of select="$currentColset" /> - 1 } )
            </xsl:with-param>
            <xsl:with-param name="content" select="'Previous'" />
            <xsl:with-param name="iconLeftType" select="'arrow-left'" />
        </xsl:call-template>
    </xsl:if>
</xsl:template>

<xsl:template name="nextColsetButton">
    <xsl:if test="$currentColset &lt; $lastColset">
        <xsl:call-template name="uiButton">
            <xsl:with-param name="onClick">
                oAlbumListArray[<xsl:value-of select="$status" />].URLRequest( { url: "<xsl:value-of select="$ajaxURL" /><xsl:value-of select="$status" />", colset: <xsl:value-of select="$currentColset" /> + 1 } )
            </xsl:with-param>
            <xsl:with-param name="content" select="'More'" />
            <xsl:with-param name="iconRightType" select="'arrow-right'" />
        </xsl:call-template>
    </xsl:if>
</xsl:template>

<xsl:template name="pageNumber">
    Page <xsl:value-of select="$currentPage" /> of <xsl:value-of select="$lastPage" />
</xsl:template>

<xsl:template name="truncateString">
    <xsl:param name="string" />
    <xsl:param name="width" />

    <xsl:choose>
        <xsl:when test="string-length($string) &gt; $width - 3">
            &lt;span class="js-tooltip" title="<xsl:value-of select="$string" />"&gt;
            <xsl:value-of select="substring( $string, 1, $width - 3 )" />...
            &lt;/span&gt;
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$string" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>


<xsl:template name="albumDetailTableItem">
    <xsl:param name="message" />
    <xsl:param name="status" />
    <xsl:param name="value" />
    <xsl:param name="width" />
    <xsl:param name="delimiter" />

    <xsl:variable name="errorClass">
        <xsl:choose>
            <xsl:when test="$status &gt; 6">error</xsl:when>
            <xsl:when test="$status &gt; 0">warning</xsl:when>
        </xsl:choose>
    </xsl:variable>

    <xsl:variable name="cellData">
        <xsl:choose>
            <xsl:when test="$delimiter">
                <xsl:call-template name="splitText">
                    <xsl:with-param name="string" select="$value" />
                    <xsl:with-param name="delimiter" select="$delimiter" />
                    <xsl:with-param name="width"  select="$width" />
                </xsl:call-template>
            </xsl:when>
            <xsl:when test="$width">
                <xsl:call-template name="truncateString">
                    <xsl:with-param name="string" select="$value" />
                    <xsl:with-param name="width"  select="$width" />
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$value" />
            </xsl:otherwise>
        </xsl:choose>
    </xsl:variable>

    <xsl:variable name="title">
        <xsl:choose>
            <xsl:when test="$status and not ($status = 7 or $status = 8)">
                <xsl:value-of select="$message" />
            </xsl:when>
            <xsl:when test="string-length($cellData) != string-length($value)">
                <xsl:value-of select="$value" />
            </xsl:when>
        </xsl:choose>
    </xsl:variable>

    <td class="Table-col Table-col-{$errorClass}">

        <xsl:if test="$status = 7 or $status = 8">
            <xsl:attribute name="data-tooltip_title">Duplicate Album (currently in catalog)</xsl:attribute>
            <xsl:attribute name="data-tooltip_url">
                <xsl:variable name="album_title"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="album_title"/></xsl:call-template></xsl:variable>
                <xsl:variable name="client_album_id"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="client_album_id"/></xsl:call-template></xsl:variable>
                <xsl:variable name="digital_upc"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="digital_upc"/></xsl:call-template></xsl:variable>
                <xsl:variable name="cd_upc"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="cd_upc"/></xsl:call-template></xsl:variable>
                <xsl:variable name="vinyl_upc"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="vinyl_upc"/></xsl:call-template></xsl:variable>
                <xsl:variable name="dvd_upc"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="dvd_upc"/></xsl:call-template></xsl:variable>
                <xsl:variable name="client_track_id"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="client_track_id"/></xsl:call-template></xsl:variable>
                <xsl:variable name="isrc"><xsl:call-template name="my-escape-uri"><xsl:with-param name="str" select="isrc"/></xsl:call-template></xsl:variable>
                /rps/distribution?c=duplicate<xsl:text disable-output-escaping="yes">&amp;</xsl:text>album_title=<xsl:value-of select="$album_title" /><xsl:text disable-output-escaping="yes">&amp;</xsl:text>client_album_id=<xsl:value-of select="$client_album_id" /><xsl:text disable-output-escaping="yes">&amp;</xsl:text>digital_upc=<xsl:value-of select="$digital_upc" /><xsl:text disable-output-escaping="yes">&amp;</xsl:text>cd_upc=<xsl:value-of select="$cd_upc" /><xsl:text disable-output-escaping="yes">&amp;</xsl:text>vinyl_upc=<xsl:value-of select="$vinyl_upc" /><xsl:text disable-output-escaping="yes">&amp;</xsl:text>dvd_upc=<xsl:value-of select="$dvd_upc" /><xsl:text disable-output-escaping="yes">&amp;</xsl:text>client_track_id=<xsl:value-of select="$client_track_id" /><xsl:text disable-output-escaping="yes">&amp;</xsl:text>isrc=<xsl:value-of select="$isrc" />
            </xsl:attribute>
        </xsl:if>
        <div class="js-tooltip">
            <xsl:if test="$status and not ($status = 7 or $status = 8)">
                <xsl:attribute name="title"><xsl:value-of select="$message" /></xsl:attribute>
            </xsl:if>
            <xsl:choose>
                <xsl:when test="($status = 7 or $status = 8)">
                    <xsl:call-template name="duplicateLink">
                        <xsl:with-param name="data">
                            <xsl:value-of select="$cellData" />
                        </xsl:with-param>
                    </xsl:call-template>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of disable-output-escaping="yes" select="$cellData" />
                </xsl:otherwise>
            </xsl:choose>
            &#160;
        </div>
    </td>

</xsl:template>

<xsl:template name="duplicateLink">
    <xsl:param name="data" />
    <xsl:variable name="catalog_no" select="catalog_no" />
    <xsl:variable name="album_title" select="album_title" />
    <xsl:variable name="client_album_id" select="client_album_id" />
    <xsl:variable name="digital_upc" select="digital_upc" />
    <xsl:variable name="cd_upc" select="cd_upc" />
    <xsl:variable name="vinyl_upc" select="vinyl_upc" />
    <xsl:variable name="dvd_upc" select="dvd_upc" />
    <xsl:variable name="client_track_id" select="client_track_id" />
    <xsl:variable name="isrc" select="isrc" />
    <a href="/rps/catalog?c=search_duplicates&amp;catalog_no={$catalog_no}&amp;client_track_id={$client_track_id}&amp;client_album_id={$client_album_id}&amp;album_title={$album_title}&amp;isrc={$isrc}&amp;digital_upc={$digital_upc}&amp;cd_upc={$cd_upc}&amp;vinyl_upc={$vinyl_upc}&amp;dvd_upc={$dvd_upc}">
        <xsl:value-of disable-output-escaping="yes" select="$data" />
    </a>
</xsl:template>

<xsl:template name="splitText">
    <xsl:param name="string"/>
    <xsl:param name="delimiter"/>
    <xsl:param name="width" />
    <xsl:choose>
        <xsl:when test="contains($string, $delimiter)">
            <xsl:choose>
                <xsl:when test="$width">
                    <xsl:call-template name="truncateString">
                        <xsl:with-param name="string" select="substring-before($string,$delimiter)" />
                        <xsl:with-param name="width"  select="$width" />
                    </xsl:call-template>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="substring-before($string,$delimiter)"/>
                </xsl:otherwise>
            </xsl:choose>
            <xsl:text>&lt;br /&gt;</xsl:text>
            <xsl:call-template name="splitText">
                <xsl:with-param name="string" select="substring-after($string,$delimiter)"/>
                <xsl:with-param name="delimiter" select="$delimiter"/>
                <xsl:with-param name="width"  select="$width" />
            </xsl:call-template>
        </xsl:when>
        <xsl:when test="$string != ''">
            <xsl:choose>
                <xsl:when test="$width">
                    <xsl:call-template name="truncateString">
                        <xsl:with-param name="string" select="$string" />
                        <xsl:with-param name="width"  select="$width" />
                    </xsl:call-template>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="$string"/>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:when>
    </xsl:choose>
</xsl:template>


</xsl:stylesheet>
