summaryrefslogtreecommitdiff
path: root/functions.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-12-13 16:59:43 +0100
committerAndrew Dolgov <[email protected]>2005-12-13 16:59:43 +0100
commit1a6a9555ffc0bb6d6f1d9e1b54e141ebd605c604 (patch)
tree939fb4f4ef2077841cf8ced4476781a2dd2b2a10 /functions.js
parentc3d74dca93ce93bd7aecefccfb459166da9d459e (diff)
consolidate counter parsing code
Diffstat (limited to 'functions.js')
-rw-r--r--functions.js104
1 files changed, 56 insertions, 48 deletions
diff --git a/functions.js b/functions.js
index e032ff527..f82708b29 100644
--- a/functions.js
+++ b/functions.js
@@ -344,6 +344,61 @@ if (!xmlhttp_rpc && typeof XMLHttpRequest!='undefined') {
xmlhttp_rpc = new XMLHttpRequest();
}
+function parse_counters(reply, f_document) {
+ try {
+ for (var l = 0; l < reply.childNodes.length; l++) {
+ var id = reply.childNodes[l].getAttribute("id");
+ var t = reply.childNodes[l].getAttribute("type");
+ var ctr = reply.childNodes[l].getAttribute("counter");
+
+ if (id == "global-unread") {
+ parent.global_unread = ctr;
+ parent.updateTitle();
+ continue;
+ }
+
+ if (t == "category") {
+ var catctr = f_document.getElementById("FCATCTR-" + id);
+ if (catctr) {
+ catctr.innerHTML = "(" + ctr + " unread)";
+ }
+ continue;
+ }
+
+ var feedctr = f_document.getElementById("FEEDCTR-" + id);
+ var feedu = f_document.getElementById("FEEDU-" + id);
+ var feedr = f_document.getElementById("FEEDR-" + id);
+
+ if (feedctr && feedu && feedr) {
+
+ feedu.innerHTML = ctr;
+
+ if (ctr > 0) {
+ feedctr.className = "odd";
+ if (!feedr.className.match("Unread")) {
+ var is_selected = feedr.className.match("Selected");
+
+ feedr.className = feedr.className.replace("Selected", "");
+ feedr.className = feedr.className.replace("Unread", "");
+
+ feedr.className = feedr.className + "Unread";
+
+ if (is_selected) {
+ feedr.className = feedr.className + "Selected";
+ }
+
+ }
+ } else {
+ feedctr.className = "invisible";
+ feedr.className = feedr.className.replace("Unread", "");
+ }
+ }
+ }
+ } catch (e) {
+ exception_error(e);
+ }
+}
+
function all_counters_callback() {
if (xmlhttp_rpc.readyState == 4) {
try {
@@ -353,57 +408,10 @@ function all_counters_callback() {
}
var reply = xmlhttp_rpc.responseXML.firstChild;
-
var f_document = parent.frames["feeds-frame"].document;
-
- for (var l = 0; l < reply.childNodes.length; l++) {
- var id = reply.childNodes[l].getAttribute("id");
- var t = reply.childNodes[l].getAttribute("type");
- var ctr = reply.childNodes[l].getAttribute("counter");
-
- if (id == "global-unread") {
- parent.global_unread = ctr;
- parent.updateTitle();
- continue;
- }
- if (t == "category") {
- var catctr = f_document.getElementById("FCATCTR-" + id);
- if (catctr) {
- catctr.innerHTML = "(" + ctr + " unread)";
- }
- continue;
- }
-
- var feedctr = f_document.getElementById("FEEDCTR-" + id);
- var feedu = f_document.getElementById("FEEDU-" + id);
- var feedr = f_document.getElementById("FEEDR-" + id);
-
- if (feedctr && feedu && feedr) {
-
- feedu.innerHTML = ctr;
-
- if (ctr > 0) {
- feedctr.className = "odd";
- if (!feedr.className.match("Unread")) {
- var is_selected = feedr.className.match("Selected");
-
- feedr.className = feedr.className.replace("Selected", "");
- feedr.className = feedr.className.replace("Unread", "");
-
- feedr.className = feedr.className + "Unread";
-
- if (is_selected) {
- feedr.className = feedr.className + "Selected";
- }
+ parse_counters(reply, f_document);
- }
- } else {
- feedctr.className = "invisible";
- feedr.className = feedr.className.replace("Unread", "");
- }
- }
- }
} catch (e) {
exception_error("all_counters_callback", e);
}