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

    <xsl:template name="uiPaginationButton">
        <xsl:param name="pageNumber" />
        <xsl:param name="currentPage" />
        <xsl:param name="searchParams" />
        <xsl:param name="searchPreffix" />
        <xsl:param name="type" />
        <xsl:param name="pageSize" />

        <xsl:call-template name="uiButton">
            <xsl:with-param name="url">
                <xsl:if test="$currentPage != $pageNumber">
                    <xsl:choose>
                        <xsl:when test="$type = 'record'">
                            <xsl:text>?Record=</xsl:text>
                            <xsl:value-of select="($pageNumber - 1) * $pageSize + 1" />
                            <xsl:if test="$searchParams != ''">
                                <xsl:value-of select="$searchParams" />
                            </xsl:if>
                        </xsl:when>
                        <xsl:otherwise>
                            <xsl:text>?</xsl:text>
                            <xsl:if test="$searchPreffix != ''">
                                <xsl:value-of select="$searchPreffix" />
                            </xsl:if>
                            <xsl:choose>
                                <xsl:when test="$type = 'priceExeptions'">
                                    <xsl:text>Page=</xsl:text>
                                </xsl:when>
                                <xsl:otherwise>
                                    <xsl:text>page=</xsl:text>
                                </xsl:otherwise>
                            </xsl:choose>
                            <xsl:value-of select="$pageNumber" />
                            <xsl:if test="$searchParams != ''">
                                <xsl:value-of select="$searchParams" />
                            </xsl:if>

                        </xsl:otherwise>
                    </xsl:choose>
                </xsl:if>
            </xsl:with-param>
            <xsl:with-param name="content">
                <xsl:value-of select="$pageNumber" />
            </xsl:with-param>
            <xsl:with-param name="type" select="'default'"/>
            <xsl:with-param name="className" select="'Pagination-control'"/>
            <xsl:with-param name="active">
                <xsl:if test="$currentPage = $pageNumber">
                    <xsl:text>true</xsl:text>
                </xsl:if>
            </xsl:with-param>
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="uiPagination">

        <xsl:param name="lastPage" />
        <xsl:param name="totalCount" select="''" />
        <xsl:param name="currentPage" />
        <xsl:param name="type" select="'page'" />
        <xsl:param name="searchParams" select="''" />
        <xsl:param name="searchPreffix" select="''" />
        <xsl:param name="pageSize" select="1" />

        <div class="Pagination">
            <div class="Pagination-info">
                <xsl:if test="$totalCount != ''">
                    <span class="Pagination-total-count">
                        <xsl:value-of select="$totalCount" />
                    </span>
                    files
                </xsl:if>
                <xsl:if test="$totalCount != '' and $lastPage > 1">
                    <xsl:text> — </xsl:text>
                </xsl:if>
                <xsl:if test="$lastPage > 1">
                    Page <xsl:value-of select="$currentPage" /> of <xsl:value-of select="$lastPage" />
                </xsl:if>
            </div>

            <div class="Pagination-navigation">
                <xsl:if test="$lastPage > 1">

                    <!-- Prev Arrow -->

                    <xsl:if test="$currentPage != 1">
                        <div class="Pagination-item">
                            <xsl:call-template name="uiButton">
                                <xsl:with-param name="url">
                                    <xsl:if test="$currentPage != 1">

                                        <xsl:choose>
                                            <xsl:when test="$type = 'record'">
                                                <xsl:text>?Record=</xsl:text>
                                                <xsl:value-of select="($currentPage - 2) * $pageSize + 1" />
                                                <xsl:if test="$searchParams != ''">
                                                    <xsl:value-of select="$searchParams" />
                                                </xsl:if>
                                            </xsl:when>
                                            <xsl:otherwise>
                                                <xsl:text>?</xsl:text>
                                                <xsl:if test="$searchPreffix != ''">
                                                    <xsl:value-of select="$searchPreffix" />
                                                </xsl:if>
                                                <xsl:choose>
                                                    <xsl:when test="$type = 'priceExeptions'">
                                                        <xsl:text>Page=</xsl:text>
                                                    </xsl:when>
                                                    <xsl:otherwise>
                                                        <xsl:text>page=</xsl:text>
                                                    </xsl:otherwise>
                                                </xsl:choose>
                                                <xsl:value-of select="$currentPage - 1" />
                                                <xsl:if test="$searchParams != ''">
                                                    <xsl:value-of select="$searchParams" />
                                                </xsl:if>
                                            </xsl:otherwise>
                                        </xsl:choose>

                                    </xsl:if>
                                </xsl:with-param>
                                <xsl:with-param name="content" select="''"/>
                                <xsl:with-param name="type" select="'default'"/>
                                <xsl:with-param name="iconLeftType" select="'arrow-left'"/>
                                <xsl:with-param name="className" select="'Pagination-control'"/>
                                <xsl:with-param name="disabled">
                                    <xsl:if test="$currentPage = 1">
                                        <xsl:text>true</xsl:text>
                                    </xsl:if>
                                </xsl:with-param>
                            </xsl:call-template>
                        </div>
                    </xsl:if>

                    <!-- First Page -->
                    <div class="Pagination-item">
                        <xsl:call-template name="uiPaginationButton">
                            <xsl:with-param name="pageNumber" select="'1'" />
                            <xsl:with-param name="currentPage" select="$currentPage" />
                            <xsl:with-param name="type" select="$type" />
                            <xsl:with-param name="searchParams" select="$searchParams" />
                            <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                            <xsl:with-param name="pageSize" select="$pageSize" />
                        </xsl:call-template>
                    </div>

                    <!-- Interim Pages -->
                    <xsl:if test="$currentPage > 2">

                        <xsl:if test="$currentPage > 3">
                            <xsl:if test="$lastPage > 5">
                                <div class="Pagination-item Pagination-item-ellipsis">
                                    <xsl:call-template name="icon">
                                        <xsl:with-param name="type" select="'more'" />
                                        <xsl:with-param name="className" select="'Pagination-ellipsis-icon'" />
                                    </xsl:call-template>
                                </div>
                            </xsl:if>
                            <xsl:if test="$lastPage = 5">
                                <div class="Pagination-item">
                                    <xsl:call-template name="uiPaginationButton">
                                        <xsl:with-param name="pageNumber" select="2" />
                                        <xsl:with-param name="currentPage" select="$currentPage" />
                                        <xsl:with-param name="type" select="$type" />
                                        <xsl:with-param name="searchParams" select="$searchParams" />
                                        <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                        <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                        <xsl:with-param name="pageSize" select="$pageSize" />
                                    </xsl:call-template>
                                </div>
                            </xsl:if>
                        </xsl:if>

                        <xsl:if test="$currentPage = $lastPage">
                            <xsl:if test="$currentPage != 3">
                                <div class="Pagination-item">
                                    <xsl:call-template name="uiPaginationButton">
                                        <xsl:with-param name="pageNumber" select="$currentPage - 2" />
                                        <xsl:with-param name="currentPage" select="$currentPage" />
                                        <xsl:with-param name="type" select="$type" />
                                        <xsl:with-param name="searchParams" select="$searchParams" />
                                        <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                        <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                        <xsl:with-param name="pageSize" select="$pageSize" />
                                    </xsl:call-template>
                                </div>
                            </xsl:if>
                        </xsl:if>

                        <div class="Pagination-item">
                            <xsl:call-template name="uiPaginationButton">
                                <xsl:with-param name="pageNumber" select="$currentPage - 1" />
                                <xsl:with-param name="currentPage" select="$currentPage" />
                                <xsl:with-param name="type" select="$type" />
                                <xsl:with-param name="searchParams" select="$searchParams" />
                                <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                <xsl:with-param name="pageSize" select="$pageSize" />
                            </xsl:call-template>
                        </div>
                    </xsl:if>

                    <!-- Selected Page -->
                    <xsl:if test="$currentPage != $lastPage ">
                        <xsl:if test="$currentPage != 1 ">
                            <div class="Pagination-item">
                                <xsl:call-template name="uiPaginationButton">
                                    <xsl:with-param name="pageNumber" select="$currentPage" />
                                    <xsl:with-param name="currentPage" select="$currentPage" />
                                    <xsl:with-param name="type" select="$type" />
                                    <xsl:with-param name="searchParams" select="$searchParams" />
                                    <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                    <xsl:with-param name="pageSize" select="$pageSize" />
                                </xsl:call-template>
                            </div>
                        </xsl:if>
                    </xsl:if>

                    <!-- Interim Pages -->
                    <xsl:if test="$lastPage - 1 > $currentPage">
                        <div class="Pagination-item">
                            <xsl:call-template name="uiPaginationButton">
                                <xsl:with-param name="pageNumber" select="$currentPage + 1" />
                                <xsl:with-param name="currentPage" select="$currentPage" />
                                <xsl:with-param name="type" select="$type" />
                                <xsl:with-param name="searchParams" select="$searchParams" />
                                <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                <xsl:with-param name="pageSize" select="$pageSize" />
                            </xsl:call-template>
                        </div>

                        <xsl:if test="$currentPage = 1">
                            <xsl:if test="$currentPage + 2 != $lastPage">
                                <div class="Pagination-item">
                                    <xsl:call-template name="uiPaginationButton">
                                        <xsl:with-param name="pageNumber" select="$currentPage + 2" />
                                        <xsl:with-param name="currentPage" select="$currentPage" />
                                        <xsl:with-param name="type" select="$type" />
                                        <xsl:with-param name="searchParams" select="$searchParams" />
                                        <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                        <xsl:with-param name="pageSize" select="$pageSize" />
                                    </xsl:call-template>
                                </div>
                            </xsl:if>
                        </xsl:if>

                        <xsl:if test="$lastPage - 2 > $currentPage">
                            <xsl:if test="$lastPage > 5">
                                <div class="Pagination-item Pagination-item-ellipsis">
                                    <xsl:call-template name="icon">
                                        <xsl:with-param name="type" select="'more'" />
                                        <xsl:with-param name="className" select="'Pagination-ellipsis-icon'" />
                                    </xsl:call-template>
                                </div>
                            </xsl:if>
                            <xsl:if test="$lastPage = 5">
                                <div class="Pagination-item">
                                    <xsl:call-template name="uiPaginationButton">
                                        <xsl:with-param name="pageNumber" select="4" />
                                        <xsl:with-param name="currentPage" select="$currentPage" />
                                        <xsl:with-param name="type" select="$type" />
                                        <xsl:with-param name="searchParams" select="$searchParams" />
                                        <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                                        <xsl:with-param name="pageSize" select="$pageSize" />
                                    </xsl:call-template>
                                </div>
                            </xsl:if>
                        </xsl:if>
                    </xsl:if>

                    <!-- Last Page -->
                    <div class="Pagination-item">
                        <xsl:call-template name="uiPaginationButton">
                            <xsl:with-param name="pageNumber" select="$lastPage" />
                            <xsl:with-param name="currentPage" select="$currentPage" />
                            <xsl:with-param name="type" select="$type" />
                            <xsl:with-param name="searchParams" select="$searchParams" />
                            <xsl:with-param name="searchPreffix" select="$searchPreffix" />
                            <xsl:with-param name="pageSize" select="$pageSize" />
                        </xsl:call-template>
                    </div>

                    <!-- Next Arrow -->
                    <xsl:if test="$currentPage != $lastPage">
                        <div class="Pagination-item">
                            <xsl:call-template name="uiButton">
                                <xsl:with-param name="url">

                                    <xsl:choose>
                                        <xsl:when test="$type = 'record'">
                                            <xsl:text>?Record=</xsl:text>
                                            <xsl:value-of select="$currentPage * $pageSize + 1" />
                                            <xsl:if test="$searchParams != ''">
                                                <xsl:value-of select="$searchParams" />
                                            </xsl:if>
                                        </xsl:when>
                                        <xsl:otherwise>
                                            <xsl:text>?</xsl:text>
                                            <xsl:if test="$searchPreffix != ''">
                                                <xsl:value-of select="$searchPreffix" />
                                            </xsl:if>
                                            <xsl:choose>
                                                <xsl:when test="$type = 'priceExeptions'">
                                                    <xsl:text>Page=</xsl:text>
                                                </xsl:when>
                                                <xsl:otherwise>
                                                    <xsl:text>page=</xsl:text>
                                                </xsl:otherwise>
                                            </xsl:choose>
                                            <xsl:value-of select="$currentPage + 1" />
                                            <xsl:if test="$searchParams != ''">
                                                <xsl:value-of select="$searchParams" />
                                            </xsl:if>
                                        </xsl:otherwise>
                                    </xsl:choose>

                                </xsl:with-param>
                                <xsl:with-param name="content" select="''"/>
                                <xsl:with-param name="type" select="'default'"/>
                                <xsl:with-param name="iconRightType" select="'arrow-right'"/>
                                <xsl:with-param name="className" select="'Pagination-control'"/>
                                <xsl:with-param name="disabled">
                                    <xsl:if test="$currentPage = $lastPage">
                                        <xsl:text>true</xsl:text>
                                    </xsl:if>
                                </xsl:with-param>
                            </xsl:call-template>
                        </div>
                    </xsl:if>

                </xsl:if>
            </div>
        </div>
    </xsl:template>
</xsl:stylesheet>
