'use strict'; /*global define, utils, ajaxify, bootbox*/ define('forum/pagination', function() { var pagination = {}; pagination.currentPage = 0; pagination.pageCount = 0; pagination.init = function(currentPage, pageCount) { pagination.currentPage = parseInt(currentPage, 10); pagination.pageCount = parseInt(pageCount, 10); $('.pagination').on('click', '.select_page', function(e) { e.preventDefault(); bootbox.prompt('Enter page number:', function(pageNum) { pagination.loadPage(pageNum); }); }); }; pagination.loadPage = function(page, callback) { callback = callback || function() {}; page = parseInt(page, 10); if (!utils.isNumber(page) || page < 1 || page > pagination.pageCount) { callback(false); return false; } var url = window.location.pathname.slice(1).split('/').slice(0, 3).join('/') + '?page=' + page; ajaxify.go(url, callback); return true; }; return pagination; });