/* vim: set ts=4 tw=4 sw=4 noet: */
function updateRowsPerPage() {
+ var pos;
+ var url;
+ var base;
+ var href;
var rowsPerPage = document.getElementById("rows");
- var found = false;
var link = document.getElementsByTagName('a');
+ var found = false;
for (var i = 0; i < link.length; i++) {
- var url = link[i].href;
- var pos = url.search('rowsperpage');
+ url = link[i].href;
+ pos = url.search('rowsperpage');
if (pos >= 0) {
found = true;
- var base = url.slice(0, pos);
- var href = base + 'rowsperpage=' + rowsPerPage.value;
+ base = url.slice(0, pos);
+ href = base + 'rowsperpage=' + rowsPerPage.value;
link[i].href = href;
}
}
if (found == false) {
- /* current page has rows < current rows per page */
- var href = location.href;
- href = 'index.php?rowsperpage=' + rowsPerPage.value;
- window.location.href = href;
+ pos = location.href.search('rowsperpage');
+ if (pos >= 0) {
+ base = location.href.slice(0, pos);
+ } else {
+ base = location.href;
+ }
+ if (location.href.charAt(location.href.length) == '?') {
+ href = base + 'rowsperpage=' + rowsPerPage.value;
+ } else {
+ href = base + '?rowsperpage=' + rowsPerPage.value;
+ }
+ } else {
+ pos = location.href.search('rowsperpage');
+ base = location.href.slice(0, pos);
+ href = base + 'rowsperpage=' + rowsPerPage.value;
}
+ location.href = href;
}