<%-- page range --%>
<c:choose>
<%-- List all page links if total number of pages for the category is 4 or below --%>
<c:when test="${pagesAvailable <= 4}">
<c:forEach begin='1' end='${pagesAvailable}' varStatus="loop">
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=${loop.index}" class="ajax-pagination-action ${currentPage eq loop.index? 'inactive' : ''} paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem">${loop.index}</a>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<c:choose>
<%-- If user is on page 1 or 2 and total Num of pages is more than 4--%>
<c:when test="${currentPage < 3}">
<c:forEach begin='1' end='3' varStatus="loop">
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=${loop.index}" class="ajax-pagination-action ${currentPage eq loop.index ? 'inactive' : ''} paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem">${loop.index}</a>
</li>
</c:forEach>
<li class="page-more after" role="presentation"> ... </li>
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=${pagesAvailable}" class="ajax-pagination-action paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem" tabindex="-1">${pagesAvailable}</a>
</li>
</c:when>
<%-- Display "..." between (N+1) and (L) only if the difference between them is more than 1 --%>
<c:when test="${currentPage >= (pagesAvailable - 2)}">
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=1" class="ajax-pagination-action paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem">1</a>
</li>
<li class="page-more before" role="presentation"> ... </li>
<c:forEach begin='${pagesAvailable - 2}' end='${pagesAvailable}' varStatus="loop">
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=${loop.index}" class="ajax-pagination-action ${currentPage eq loop.index? 'inactive' : ''} paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem">${loop.index}</a>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=1" class="ajax-pagination-action paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem" tabindex="-1">1</a>
</li>
<li class="page-more before" role="presentation"> ... </li>
<c:forEach begin='${currentPage}' end='${currentPage + 1}' varStatus="loop">
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=${loop.index}" class="ajax-pagination-action ${currentPage eq loop.index ? 'inactive' : ''} paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem">${loop.index}</a>
</li>
</c:forEach>
<li class="page-more after" role="presentation"> ... </li>
<li class="page-link" role="presentation">
<a href="${paginationLink}?pgN=${pagesAvailable}" class="ajax-pagination-action paginationLink ${bottomPagination ? 'forceTop' : ''} " role="menuitem">${pagesAvailable}</a>
</li>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>