--- /dev/null
+// ================
+// PagingController
+
+var PagingController = (function() {
+ var my = {};
+
+ var booksModel = undefined;
+
+ // ==============
+ // Public Methods
+
+ my.init = function(linkedBooksModel) {
+ booksModel = linkedBooksModel;
+ };
+
+ my.adjustPos = function (setting) {
+ var value = parseInt(setting);
+
+ if (booksModel.first === value) {
+ // No change
+ return;
+ }
+
+ var maxFirst = Math.max(0, booksModel.count - booksModel.pageSize);
+
+ if (value < 0) {
+ booksModel.first = 0;
+ } else if (value > maxFirst) {
+ booksModel.first = maxFirst;
+ } else {
+ booksModel.first = value;
+ }
+
+ booksModel.last = booksModel.first + booksModel.pageSize - 1;
+ if (booksModel.last >= booksModel.count) {
+ booksModel.last = booksModel.count - 1;
+ }
+
+ document.getElementById('slider').value = setting;
+
+ booksModel.refreshData();
+ };
+
+ return my;
+})();