summaryrefslogtreecommitdiff
path: root/functions.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-10-01 05:06:55 +0100
committerAndrew Dolgov <[email protected]>2008-10-01 05:06:55 +0100
commitf46192bb191acdbc733f60bad60c4eb83ebb2e26 (patch)
tree2ab0583733430eb313fbe43e6ca5350c366de525 /functions.js
parent886d4bce27b459e5991e49e28a27101847a9ddd3 (diff)
catchup in category view mode jumps to the next unread category
Diffstat (limited to 'functions.js')
-rw-r--r--functions.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/functions.js b/functions.js
index 351f4dcc3..77c5c13b1 100644
--- a/functions.js
+++ b/functions.js
@@ -1035,6 +1035,40 @@ function toggleSelectRow(sender) {
}
}
+function getNextUnreadCat(id) {
+ try {
+ var rows = document.getElementById("feedList").getElementsByTagName("LI");
+ var feeds = new Array();
+
+ var unread_only = true;
+ var is_cat = true;
+
+ for (var i = 0; i < rows.length; i++) {
+ if (rows[i].id.match("FCAT-")) {
+ if (rows[i].id == "FCAT-" + id && is_cat || (Element.visible(rows[i]) && Element.visible(rows[i].parentNode))) {
+
+ var cat_id = parseInt(rows[i].id.replace("FCAT-", ""));
+
+ if (cat_id >= 0) {
+ if (!unread_only || get_cat_unread(cat_id) > 0) {
+ feeds.push(cat_id);
+ }
+ }
+ }
+ }
+ }
+
+ var idx = feeds.indexOf(id);
+ if (idx != -1 && idx < feeds.length) {
+ return feeds[idx+1];
+ } else {
+ return feeds.shift();
+ }
+
+ } catch (e) {
+ exception_error("getNextUnreadCat", e);
+ }
+}
function getRelativeFeedId2(id, is_cat, direction, unread_only) {
try {