function getDetailLink(template, itemId) { var result; var quickfind = false; var quickValue; var arguments = Request.getParameterAll() // First look to see what type of search we started with for (x = 0; x < arguments.length; x++) { var command = arguments[x]; if (command == 'quickfind') { quickfind = true; quickValue = Request.getParameter(command); break; } } if (quickfind) result = "/netpub/server.np?quickfind=" + quickValue; else result = "/netpub/server.np?find"; // Dump out all of our existing arguments as they were received for (x = 0; x < arguments.length; x++) { var command = arguments[x]; if (command != 'find' && command != 'quickfind') { if (command.indexOf('field') != -1) { var number = command.substr(5); // Look for missing values for this field and skip over them if (Request.getParameter('value' + number).length == 0) { if (arguments[x + 3] != 'join') x += 2; else x += 1; continue; } } if (command == 'template') { result += '&template=' + template; } else if (Request.getParameter(command).length > 0) { result += '&' + command + "=" + Request.getParameter(command); } } } // What itemId to start the detail page with result += "&start=" + itemId; return result; } function getPrevious(text) { currentPage = Page.getCurrent(Page.itemsPerPage); if (currentPage > 0) currentPage--; var buffer = ""; var url = RecordSet.getUrl(currentPage * Page.itemsPerPage); var pieces = url.split('&'); for (x = 0; x < pieces.length; x++) { if (pieces[x].indexOf('start=') == -1) { if (x == 0) url = pieces[x]; else url += '&' + pieces[x]; } } buffer += ''; buffer += text; buffer += ''; return buffer; } function getNext(text) { currentPage = Page.getCurrent(Page.itemsPerPage); if (currentPage < (Page.getTotal(Page.itemsPerPage) - 1)) currentPage++; var buffer = ""; var url = RecordSet.getUrl(currentPage * Page.itemsPerPage); var pieces = url.split('&'); for (x = 0; x < pieces.length; x++) { if (pieces[x].indexOf('start=') == -1) { if (x == 0) url = pieces[x]; else url += '&' + pieces[x]; } } buffer += ''; buffer += text; buffer += ''; return buffer; } function page_getListCustom(siteRoot, maximumPages) { if (maximumPages == undefined) maximumPages = 9; var totalPages = this.getTotal(this.itemsPerPage); var currentPage = this.getCurrent(this.itemsPerPage) + 1; var startPage = 1; var endPage = totalPages; if (maximumPages < totalPages) { // start case: 1***....9. if (currentPage <= (maximumPages / 2)) { endPage = maximumPages; } // end case: .2....***0 else if ((currentPage + maximumPages / 2) > totalPages) { startPage = 1 + totalPages - maximumPages; } // middle case: 1...*...9. or .2...*...0 else { startPage = Math.round(currentPage - maximumPages / 2); endPage = Math.floor(currentPage + maximumPages / 2); } } var buffer = ""; for (page = startPage; page <= endPage; page++) { if (page == currentPage) { buffer += ''; buffer += '

'; buffer += page; buffer += ' '; buffer += ''; buffer += 'spacer'; } else { buffer += ''; buffer += '

'; buffer += ''; buffer += page; buffer += ' '; buffer += ''; buffer += 'spacer'; } } return buffer; } function page_getPreviousCustom(text) { currentPage = this.getCurrent(this.itemsPerPage); if (currentPage > 0) currentPage--; var buffer = ""; buffer += ''; buffer += text; buffer += ''; return buffer; } function page_getNextCustom(text) { currentPage = this.getCurrent(this.itemsPerPage); if (currentPage <= (this.getTotal(this.itemsPerPage) - 1)) currentPage++; var buffer = ""; buffer += ''; buffer += text; buffer += ''; return buffer; } // Overwrite the default with our custom functions Page.getListCustom = page_getListCustom; Page.getPrevious = page_getPreviousCustom; Page.getNext = page_getNextCustom;