function PagedList( listElementId, itemCount, itemsPerPage ) { this.currentPageIndex = 0; this.listElementId = listElementId; this.itemCount = itemCount; this.itemsPerPage = itemsPerPage; this.pageCount = Math.floor(this.itemCount / this.itemsPerPage); if( this.itemCount % this.itemsPerPage > 0 ) { this.pageCount++; } this.init = function(){ var pagedList = this; if( this.itemCount > this.itemsPerPage ) { $('#' + this.listElementId ).find('aside').eq(0).append( "
Prev   Next
" ); $('#' + this.listElementId + ' a.scNext' ).click(function(){ if( pagedList.currentPageIndex < ( pagedList.pageCount - 1 ) ) { pagedList.currentPageIndex++; pagedList.refresh(); } }); $('#' + this.listElementId + ' a.scPrev' ).click(function(){ if( pagedList.currentPageIndex > 0 ) { pagedList.currentPageIndex--; pagedList.refresh(); } }); } this.refresh(); }; this.refresh = function() { var minIndex = this.currentPageIndex * this.itemsPerPage; var maxIndex = minIndex + this.itemsPerPage; if( maxIndex > this.itemCount ) maxIndex = this.itemCount; $('#' + this.listElementId + ' li' ).each( function(index) { if( index >= minIndex && index < maxIndex ) { $(this).show(); } else { $(this).hide(); } }); var pagedList = this; $('#' + this.listElementId + ' .scPrev').each( function(){ if( pagedList.currentPageIndex == 0 ) { $(this).addClass("disabled"); } else { $(this).removeClass("disabled"); } }); $('#' + this.listElementId + ' .scNext').each( function(){ if( pagedList.currentPageIndex >= pagedList.pageCount - 1 ) { $(this).addClass("disabled"); } else { $(this).removeClass("disabled"); } }); }; } function initializePagedList( listElementId, itemCount, itemsPerPage ) { var pagedList = new PagedList( listElementId, itemCount, itemsPerPage ); pagedList.init(); }