+function fixHeadlinesOrder(ids) {
+ try {
+ for (var i = 0; i < ids.length; i++) {
+ var e = document.getElementById("RROW-" + ids[i]);
+
+ if (e) {
+ if (i % 2 == 0) {
+ e.className = e.className.replace("even", "odd");
+ } else {
+ e.className = e.className.replace("odd", "even");
+ }
+ }
+ }
+ } catch (e) {
+ exception_error("fixHeadlinesOrder", e);
+ }
+}
+
+function hideReadHeadlines() {
+ try {
+
+ var ids = false;
+ var vis_ids = new Array();
+
+ if (document.getElementById("headlinesList")) {
+ ids = getVisibleHeadlineIds();
+ } else {
+ ids = cdmGetVisibleArticles();
+ }
+
+ var read_headlines_visible = true;
+
+ for (var i = 0; i < ids.length; i++) {
+ var row = document.getElementById("RROW-" + ids[i]);
+
+ if (row && row.className) {
+ if (read_headlines_visible) {
+ if (row.className.match("Unread") || row.className.match("Selected")) {
+ Element.show(row);
+ vis_ids.push(ids[i]);
+ } else {
+ //Effect.Fade(row, {duration : 0.3});
+ Element.hide(row);
+ }
+ } else {
+ Element.show(row);
+ vis_ids.push(ids[i]);
+ }
+ }
+ }
+
+ fixHeadlinesOrder(vis_ids);
+
+ read_headlines_visible = !read_headlines_visible;
+
+ } catch (e) {
+ exception_error("hideReadHeadlines", e);
+ }
+}
+
+function invertHeadlineSelection() {
+ try {
+ var rows = new Array();
+ var r = false;
+
+ if (!isCdmMode()) {
+ r = document.getElementsByTagName("TR");
+ } else {
+ r = document.getElementsByTagName("DIV");
+ }
+
+ for (var i = 0; i < r.length; i++) {
+ if (r[i].id && r[i].id.match("RROW-")) {
+ rows.push(r[i]);
+ }
+ }
+
+ for (var i = 0; i < rows.length; i++) {
+ var nc = rows[i].className;
+ var id = rows[i].id.replace("RROW-", "");
+ var cb = document.getElementById("RCHK-" + id);
+
+ if (!rows[i].className.match("Selected")) {
+ nc = nc + "Selected";
+ cb.checked = true;
+ } else {
+ nc = nc.replace("Selected", "");
+ cb.checked = false;
+ }
+
+ rows[i].className = nc;
+
+ }
+
+ } catch (e) {
+ exception_error("invertHeadlineSelection", e);
+ }
+}
+
+function getArticleUnderPointer() {
+ return post_under_pointer;
+}
+
+function zoomToArticle(id) {
+ try {
+ var w = window.open("backend.php?op=view&mode=zoom&id=" + param_escape(id),
+ "ttrss_zoom_" + id,
+ "status=0,toolbar=0,location=0,width=450,height=300,scrollbars=1,menubar=0");
+
+ } catch (e) {
+ exception_error("zoomToArticle", e);
+ }
+}
+
+function showOriginalArticleInline(id) {
+ try {
+
+ var query = "backend.php?op=rpc&subop=getArticleLink&id=" + id;
+
+ notify_progress("Loading, please wait...", true);
+
+ new Ajax.Request(query, {
+ onComplete: function(transport) {
+
+ if (transport.responseXML) {
+
+ var link = transport.responseXML.getElementsByTagName("link")[0];
+ var id = transport.responseXML.getElementsByTagName("id")[0];
+
+ notify("");
+
+ if (link && id) {
+ link = link.firstChild.nodeValue;
+
+ var ci = document.getElementById("content-insert");
+
+ var tmp = "<iframe id=\"inline_orig_article\" width=\""+ci.offsetWidth+"\" height=\""+ci.offsetHeight+"\" style=\"border-width : 0px;\" src=\""+link+"\"></iframe>";
+
+ render_article(tmp);
+
+ }
+ }
+ } });
+
+ } catch (e) {
+ exception_error("showOriginalArticleInline", e);
+ }
+}
+
+
+function scrollArticle(offset) {
+ try {
+ if (!isCdmMode()) {
+ var ci = document.getElementById("content-insert");
+ if (ci) {
+ ci.scrollTop += offset;
+ }
+ } else {
+ var hi = document.getElementById("headlinesInnerContainer");
+ if (hi) {
+ hi.scrollTop += offset;
+ }
+
+ }
+ } catch (e) {
+ exception_error("scrollArticle", e);
+ }
+}
+
+function show_labels_in_headlines(transport) {
+ try {
+ if (transport.responseXML) {
+ var info = transport.responseXML.getElementsByTagName("info-for-headlines")[0];
+
+ var elems = info.getElementsByTagName("entry");
+
+ for (var l = 0; l < elems.length; l++) {
+ var e_id = elems[l].getAttribute("id");
+
+ if (e_id) {
+
+ var ctr = document.getElementById("HLLCTR-" + e_id);
+
+ if (ctr) {
+ ctr.innerHTML = elems[l].firstChild.nodeValue;
+ }
+ }
+
+ }
+
+ }
+ } catch (e) {
+ exception_error("show_labels_in_headlines", e);
+
+ }
+}
+
+function toggleHeadlineActions() {
+ try {
+ var e = document.getElementById("headlineActionsBody");
+ var p = document.getElementById("headlineActionsDrop");
+
+ if (!Element.visible(e)) {
+ Element.show(e);
+ } else {
+ Element.hide(e);
+ }
+
+ e.scrollTop = 0;
+ e.style.left = (p.offsetLeft + 1) + "px";
+// e.style.top = (p.offsetTop + p.offsetHeight - 1) + "px";