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

	<!-- alphanumeric list navigation templates -->

	<xsl:template name="alphaListNav">
        <xsl:param name="next" />
        <xsl:param name="prev" />
        <xsl:param name="current" />
        <xsl:param name="command" />
		<div class="listNavWrapper">
            <xsl:call-template name="listNavPrevNext">
                <xsl:with-param name="next"><xsl:value-of select="$next" /></xsl:with-param>
                <xsl:with-param name="prev"><xsl:value-of select="$prev" /></xsl:with-param>
                <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
            </xsl:call-template>
			<xsl:call-template name="listNavAlpha">
                <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
                <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
            </xsl:call-template>
		</div>
	</xsl:template>


    <!-- get rid of this, make this sort of thing a parameter 
	<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">
        <xsl:param name="prev" />
        <xsl:param name="next" />
        <xsl:param name="command" />

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


	<xsl:template name="listNavAlpha">
        <xsl:param name="current" />
        <xsl:param name="command" />
		<div class="listNavAlpha">
			<xsl:call-template name="listNavAlphaLinks">
                <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
                <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
			</xsl:call-template>
		</div>
	</xsl:template>


  <xsl:template name="listNavAlphaLinks">
        <xsl:param name="current" />
        <xsl:param name="command" />

        <!-- Should make this even more generic, and have the XML contain the list of nav links.
             Then we could replace this big nasty thing with a loop -->
		<xsl:call-template name="listNavLink">
			<xsl:with-param name="letter">A</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
		</xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">B</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">C</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">D</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">E</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">F</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">G</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">H</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">I</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">J</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">K</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">L</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">M</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">N</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">O</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">P</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Q</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">R</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">S</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">T</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">U</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">V</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">W</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">X</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Y</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Z</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">Other</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
        <xsl:call-template name="listNavLink">
            <xsl:with-param name="letter">All</xsl:with-param>
            <xsl:with-param name="current"><xsl:value-of select="$current" /></xsl:with-param>
            <xsl:with-param name="command"><xsl:value-of select="$command" /></xsl:with-param>
        </xsl:call-template>
  </xsl:template>


	<xsl:template name="listNavLink">
        <xsl:param name="current" />
        <xsl:param name="command" />
		<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="$current = $linkLetter"><span class="listNavAlphaOn"><xsl:value-of select="$letter" /></span></xsl:when>
			<xsl:otherwise>
				<a>
					<xsl:attribute name="href">
						?c=<xsl:value-of select="$command" />&amp;page=<xsl:value-of select="$linkLetter" />
					</xsl:attribute>
					<xsl:value-of select="$letter" />
				</a>
			</xsl:otherwise>
    </xsl:choose>
		<xsl:if test="$letter != 'All'">
		 |
		</xsl:if>
	</xsl:template>
	

</xsl:stylesheet>

