<%@ include file="/portal/include/include_java.jsp" %>
<fmt:bundle basename="text.jsp.components.grid.paging">

<c:choose><c:when test="${asi_grid_form.limitReached}">
  <c:choose><c:when test="${asi_grid_form.hasGrouping}">
    <c:set var="jumpToLastMessage"><fmt:message key="JumpToLastPage_LimitReached_Approximate"/></c:set>
  </c:when><c:otherwise>
    <c:set var="jumpToLastMessage"><fmt:message key="JumpToLastPage_LimitReached"><fmt:param><c:out value="${asi_grid_form.maxAllowedRows}"/></fmt:param></fmt:message></c:set>
  </c:otherwise></c:choose>
</c:when><c:otherwise>
  <c:set var="jumpToLastMessage"><fmt:message key="JumpToLastPage"/></c:set>
</c:otherwise></c:choose>
<c:set var="nextPageMessage"><fmt:message key="NextPage"/></c:set>

<c:choose>
  <c:when test="${asi_grid_form.batchSize >= 0}">
    <span class="asiGridPagenum">
    <c:choose><c:when test="${asi_grid_form.limitReached && asi_grid_form.hasGrouping}">
      <c:out value="${asi_grid_form.currentIndex+1}"/> - <fmt:message key="PageXofMore"><fmt:param><c:out value="${asi_grid_form.currentIndex+asi_grid_form.numDisplayedItems}"/></fmt:param></fmt:message>
    </c:when><c:when test="${asi_grid_form.hasGrouping}">
      <c:out value="${asi_grid_form.currentIndex+1}"/> - <c:out value="${asi_grid_form.currentIndex+asi_grid_form.numDisplayedItems}"/>
    </c:when><c:otherwise>
      <c:out value="${asi_grid_form.currentIndex+1}"/> - <fmt:message key="PageXofY"><fmt:param><c:out value="${asi_grid_form.currentIndex+asi_grid_form.numDisplayedItems}"/></fmt:param><fmt:param><c:out value="${asi_grid_form.numAvailableItems}"/></fmt:param></fmt:message>
    </c:otherwise></c:choose>
    </span>
    <span class="asiGridPageCtrls">
    <c:if test="${asi_grid_form.showFirstAndLastLinks}">
      <c:choose>
        <c:when test="${asi_grid_form.currentIndex != 0}">
          <c:out value="${linkToFirst}" escapeXml="false" /><img alt='<fmt:message key="JumpToFirstPage"/>' src="<h:rewrite page="/components/img/firstpage.gif"/>"></a>
        </c:when>
        <c:otherwise>
          <a href="#"><img alt='<fmt:message key="JumpToFirstPage"/>' src="<h:rewrite page="/components/img/firstpage_disabled.gif"/>"></a>
        </c:otherwise>
      </c:choose>
    </c:if>
    <c:choose>
      <c:when test="${asi_grid_form.currentIndex>0}">
        <c:out value="${linkToPrevious}" escapeXml="false" /><img alt='<fmt:message key="PreviousPage"/>' src="<h:rewrite page="/components/img/prev_arrow.gif"/>"></a>
      </c:when>
      <c:otherwise>
        <a href="#"><img alt='<fmt:message key="PreviousPage"/>' src="<h:rewrite page="/components/img/prev_disabled.gif"/>"></a>
      </c:otherwise>
    </c:choose>
    <c:forEach items="${asi_grid_form.pageLinks}" var="page">
      <c:choose><c:when test="${page==asi_grid_form.page}" >
        <span class="strong"><c:out value="${page}"/></span>
      </c:when><c:otherwise>
      <%/* "with" attribute does not evaluate expressions. Awesome.*/%>
        <s:replace replace="{{page}}" with="<%=pageContext.getAttribute(\"page\").toString()%>" var="linkToPageReplaced"><c:out value="${linkToPage}" escapeXml="false"/></s:replace> 
        <c:out value="${linkToPageReplaced}" escapeXml="false"/><c:out value="${page}"/></a>
      </c:otherwise></c:choose>
    </c:forEach>
    <c:choose>
      <c:when test="${asi_grid_form.hasNext}">
        <c:out value="${linkToNext}" escapeXml="false" /><img alt='<asi:out value="${nextPageMessage}" encoding="html"/>' src="<h:rewrite page="/components/img/next_arrow.gif"/>"></a>
      </c:when>
      <c:otherwise>
        <c:if test="${asi_grid_form.limitReached}">
          <c:choose><c:when test="${asi_grid_form.hasGrouping}">
            <c:set var="nextPageMessage"><fmt:message key="NextPage_LimitReached_Approximate"/></c:set>
          </c:when><c:otherwise>
            <c:set var="nextPageMessage"><fmt:message key="NextPage_LimitReached"><fmt:param><c:out value="${asi_grid_form.maxAllowedRows}"/></fmt:param></fmt:message></c:set>
          </c:otherwise></c:choose>
        </c:if>
        <img alt='<asi:out value="${nextPageMessage}" encoding="html"/>' src="<h:rewrite page="/components/img/next_disabled.gif"/>">
      </c:otherwise>
    </c:choose>
    <c:if test="${asi_grid_form.showFirstAndLastLinks}">
      <c:choose><c:when test="${!asi_grid_form.limitReached && asi_grid_form.page != asi_grid_form.lastPage}">
          <c:out value="${linkToLast}" escapeXml="false" /><img alt='<asi:out value="${jumpToLastMessage}" encoding="html"/>' src="<h:rewrite page="/components/img/lastpage.gif"/>"></a>
      </c:when>
      <c:otherwise>     
          <img alt='<asi:out value="${jumpToLastMessage}"  encoding="html"/>' src="<h:rewrite page="/components/img/lastpage_disabled.gif"/>">
      </c:otherwise></c:choose>
    </c:if>
    </span>

  </c:when>
  <c:otherwise>

    <span class="asiGridPagenum">
      1 - <fmt:message key="PageXofY"><fmt:param><c:out value="${asi_grid_form.numAvailableItems}"/></fmt:param><fmt:param><c:out value="${asi_grid_form.numAvailableItems}"/></fmt:param></fmt:message>
    </span>

  </c:otherwise>
</c:choose>
</fmt:bundle>