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

    <!-- list navigation templates -->

    <xsl:template name="listNav">
        <div class="ListNav">
            <div class="ListNav-control ListNav-control-prev">
                <xsl:if test="normalize-space(Pagination/Previous)">
                    <a>
                        <xsl:attribute name="href">
                            ?c=list&amp;page=<xsl:value-of select="Pagination/Previous"/><xsl:value-of
                            select="$listNavParams"/>
                        </xsl:attribute>
                        &#171; Previous
                    </a>
                </xsl:if>
            </div>

            <div class="ListNav-alpha-wrapper">
                <xsl:call-template name="listNavAlpha"/>
            </div>

            <div class="ListNav-control ListNav-control-next">
                <xsl:if test="normalize-space(Pagination/Next)">
                    <a>
                        <xsl:attribute name="href">
                            ?c=list&amp;page=<xsl:value-of select="Pagination/Next"/><xsl:value-of
                            select="$listNavParams"/>
                        </xsl:attribute>
                        Next &#187;
                    </a>
                </xsl:if>
            </div>
        </div>
    </xsl:template>


    <xsl:variable name="listNavParams">
        <xsl:if test="normalize-space(Root/Params/label)">&amp;label=<xsl:value-of select="Root/Params/label"/>
        </xsl:if>
        <xsl:if test="normalize-space(Root/Params/filter)">&amp;filter=<xsl:value-of select="Root/Params/filter"/>
        </xsl:if>
        <xsl:if test="normalize-space(Root/Params/payor)">&amp;payor=<xsl:value-of select="Root/Params/payor"/>
        </xsl:if>
    </xsl:variable>


    <xsl:template name="listNavPrevNext">
        <div class="ListNav-next">
            <xsl:if test="normalize-space(Pagination/Next)">
                <a>
                    <xsl:attribute name="href">
                        ?c=list&amp;page=<xsl:value-of select="Pagination/Next"/><xsl:value-of select="$listNavParams"/>
                    </xsl:attribute>
                    Next &#187;
                </a>
            </xsl:if>
        </div>
        <div class="ListNav-prev">
            <xsl:if test="normalize-space(Pagination/Previous)">
                <a>
                    <xsl:attribute name="href">
                        ?c=list&amp;page=<xsl:value-of select="Pagination/Previous"/><xsl:value-of
                        select="$listNavParams"/>
                    </xsl:attribute>
                    &#171; Previous
                </a>
            </xsl:if>
        </div>
    </xsl:template>


    <xsl:template name="listNavAlpha">
        <div class="ListNav-alpha">
            <xsl:call-template name="listNavAlphaLinks"/>
        </div>
    </xsl:template>


    <xsl:template name="listNavAlphaLinks">
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">A</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">B</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">C</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">D</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">E</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">F</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">G</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">H</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">I</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">J</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">K</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">L</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">M</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">N</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">O</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">P</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Q</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">R</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">S</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">T</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">U</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">V</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">W</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">X</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Y</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Z</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Other</xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">All</xsl:with-param>
        </xsl:call-template>
    </xsl:template>


    <xsl:template name="listNavLink">
        <xsl:param name="letter"/>
        <xsl:variable name="linkLetter">
            <xsl:choose>
                <xsl:when test="$letter = 'Other'">0</xsl:when>
                <xsl:when test="$letter = 'All'">ALL</xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="$letter"/>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>
        <xsl:choose>
            <xsl:when test="Pagination/Current = $linkLetter">
                <span class="listNavAlphaOn">
                    <xsl:value-of select="$letter"/>
                </span>
            </xsl:when>
            <xsl:otherwise>
                <a>
                    <xsl:attribute name="href">
                        ?c=list&amp;page=<xsl:value-of select="$linkLetter"/><xsl:value-of select="$listNavParams"/>
                    </xsl:attribute>
                    <xsl:value-of select="$letter"/>
                </a>
            </xsl:otherwise>
        </xsl:choose>
        <xsl:if test="$letter != 'All'">
            |
        </xsl:if>
    </xsl:template>


</xsl:stylesheet>

