+ }
+}
+
+function getSelectedFeedsFromBrowser() {
+
+ var list = $("browseFeedList");
+ if (!list) list = $("browseBigFeedList");
+
+ var selected = new Array();
+
+ for (i = 0; i < list.childNodes.length; i++) {
+ var child = list.childNodes[i];
+ if (child.id && child.id.match("FBROW-")) {
+ var id = child.id.replace("FBROW-", "");
+
+ var cb = $("FBCHK-" + id);
+
+ if (cb.checked) {
+ selected.push(id);
+ }
+ }
+ }
+
+ return selected;
+}
+
+function updateFeedBrowser() {
+ try {
+
+ var query = "backend.php?op=rpc&subop=feedBrowser";
+
+ var search = $("feed_browser_search");
+ var limit = $("feed_browser_limit");
+
+ if (limit) {
+ query = query + "&limit=" + limit[limit.selectedIndex].value;
+ }
+
+ if (search) {
+ query = query + "&search=" + param_escape(search.value);
+ }
+
+ //notify_progress("Loading, please wait...", true);
+
+ Element.show('feed_browser_spinner');
+
+ new Ajax.Request(query, {
+ onComplete: function(transport) {
+ notify('');
+
+ Element.hide('feed_browser_spinner');
+
+ var c = $("browseFeedList");
+ var r = transport.responseXML.getElementsByTagName("content")[0];
+ var nr = transport.responseXML.getElementsByTagName("num-results")[0];
+ var sb = $("feed_browser_subscribe");
+
+ if (c && r) {
+ c.innerHTML = r.firstChild.nodeValue;
+ }
+
+ if (nr && sb) {
+ if (nr.getAttribute("value") > 0) {
+ sb.disabled = false;
+ } else {
+ sb.disabled = true;
+ }
+ }
+
+ } });
+
+
+ } catch (e) {
+ exception_error("updateFeedBrowser", e);
+ }
+}
+
+function browseFeeds(limit) {
+
+ try {
+
+ var query = "backend.php?op=pref-feeds&subop=browse";
+
+ notify_progress("Loading, please wait...", true);
+
+ new Ajax.Request(query, {
+ onComplete: function(transport) {
+ infobox_callback2(transport);
+ } });
+
+ return false;
+ } catch (e) {
+ exception_error("browseFeeds", e);
+ }
+}
+
+function transport_error_check(transport) {
+ try {
+ if (transport.responseXML) {
+ var error = transport.responseXML.getElementsByTagName("error")[0];
+
+ if (error) {
+ var code = error.getAttribute("error-code");
+ var msg = error.getAttribute("error-msg");
+ if (code != 0) {
+ fatalError(code, msg);
+ return false;
+ }
+ }
+ }
+ } catch (e) {
+ exception_error("check_for_error_xml", e);
+ }
+ return true;
+}
+
+function strip_tags(s) {
+ return s.replace(/<\/?[^>]+(>|$)/g, "");
+}
+
+function truncate_string(s, length) {
+ if (!length) length = 30;
+ var tmp = s.substring(0, length);
+ if (s.length > length) tmp += "…";
+ return tmp;
+}
+
+/*
+function switchToFlash(e) {
+ try {
+ var targ = e;
+ if (!e) var e = window.event;
+ if (e.target) targ = e.target;
+ else if (e.srcElement) targ = e.srcElement;
+ if (targ.nodeType == 3) // defeat Safari bug
+ targ = targ.parentNode;
+
+ //targ is the link that was clicked
+ var audioTag=targ;
+ do {
+ audioTag=audioTag.previousSibling;
+ } while(audioTag && audioTag.nodeType != 1)
+
+ var flashPlayer = audioTag.getElementsByTagName('span')[0];
+ targ.parentNode.insertBefore(flashPlayer,targ);
+ targ.parentNode.removeChild(targ);
+ audioTag.parentNode.removeChild(audioTag);
+
+ return false;
+ } catch (e) {
+ exception_error("switchToFlash", e);
+ }
+}
+
+function html5AudioOrFlash(type) {
+ var audioTag = document.createElement('audio');
+ if(! audioTag.canPlayType || audioTag.canPlayType(type) == "no" ||
+ audioTag.canPlayType(type) == ""){
+ if($('switchToFlashLink')){
+ switchToFlash($('switchToFlashLink'));
+ }
+ }
+} */
+
+function hotkey_prefix_timeout() {
+ try {
+
+ var date = new Date();
+ var ts = Math.round(date.getTime() / 1000);
+
+ if (hotkey_prefix_pressed && ts - hotkey_prefix_pressed >= 5) {
+ debug("hotkey_prefix seems to be stuck, aborting");
+ hotkey_prefix_pressed = false;
+ hotkey_prefix = false;
+ Element.hide('cmdline');
+ }
+
+ setTimeout("hotkey_prefix_timeout()", 1000);
+
+ } catch (e) {
+ exception_error("hotkey_prefix_timeout", e);
+ }
+}
+
+function hideAuxDlg() {
+ try {
+ Element.hide('auxDlg');
+ } catch (e) {
+ exception_error("hideAuxDlg", e);
+ }
+}
+
+function displayNewContentPrompt(id) {
+ try {
+ var msg = __("New articles in «%s».") +
+ " <a href='#' onclick='viewfeed("+id+")'>" + __('Click to view') + "</a>.";
+
+ msg = msg.replace("%s", getFeedName(id));
+
+ $('auxDlg').innerHTML = msg;
+
+ Element.show('auxDlg');
+
+ } catch (e) {
+ exception_error("displayNewContentPrompt", e);
+ }
+}