/* This program is Copyright (c) 2003-2005 Andrew Dolgov Licensed under GPL v.2 or (at your preference) any later version. */ var xmlhttp = false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. // and security blocked creation of the objects. try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @end @*/ if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } function feedlist_callback() { var container = document.getElementById('feeds'); if (xmlhttp.readyState == 4) { container.innerHTML=xmlhttp.responseText; } } function notify_callback() { var container = document.getElementById('notify'); if (xmlhttp.readyState == 4) { container.innerHTML=xmlhttp.responseText; } } function updateFeedList() { document.getElementById("feeds").innerHTML = "Loading feeds, please wait..."; xmlhttp.open("GET", "backend.php?op=pref-feeds", true); xmlhttp.onreadystatechange=feedlist_callback; xmlhttp.send(null); } function toggleSelectRow(sender) { var parent_row = sender.parentNode.parentNode; if (sender.checked) { if (!parent_row.className.match("Selected")) { parent_row.className = parent_row.className + "Selected"; } } else { if (parent_row.className.match("Selected")) { parent_row.className = parent_row.className.replace("Selected", ""); } } } function addFeed() { var link = document.getElementById("fadd_link"); if (link.value.length == 0) { notify("Error: Missing feed URL."); } else { notify("Adding feed..."); xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&link=" + param_escape(link.value), true); xmlhttp.onreadystatechange=feedlist_callback; xmlhttp.send(null); link.value = ""; } } function editFeed(feed) { notify("Editing feed..."); xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=edit&id=" + param_escape(feed), true); xmlhttp.onreadystatechange=feedlist_callback; xmlhttp.send(null); } function getSelectedFeeds() { var content = document.getElementById("prefFeedList"); var sel_rows = new Array(); for (i = 0; i < content.rows.length; i++) { if (content.rows[i].className.match("Selected")) { var row_id = content.rows[i].id.replace("FEEDR-", ""); sel_rows.push(row_id); } } return sel_rows; } function readSelectedFeeds() { var sel_rows = getSelectedFeeds(); if (sel_rows.length > 0) { notify("Marking selected feeds as read..."); xmlhttp.open("GET", "backend.php?op=pref-rpc&subop=unread&ids="+ param_escape(sel_rows.toString()), true); xmlhttp.onreadystatechange=notify_callback; xmlhttp.send(null); } else { notify("Error: Please select some feeds first."); } } function unreadSelectedFeeds() { var sel_rows = getSelectedFeeds(); if (sel_rows.length > 0) { notify("Marking selected feeds as unread..."); xmlhttp.open("GET", "backend.php?op=pref-rpc&subop=unread&ids="+ param_escape(sel_rows.toString()), true); xmlhttp.onreadystatechange=notify_callback; xmlhttp.send(null); } else { notify("Error: Please select some feeds first."); } } function removeSelectedFeeds() { var sel_rows = getSelectedFeeds(); if (sel_rows.length > 0) { notify("Removing selected feeds..."); xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=remove&ids="+ param_escape(sel_rows.toString()), true); xmlhttp.onreadystatechange=feedlist_callback; xmlhttp.send(null); } else { notify("Error: Please select some feeds first."); } } function init() { updateFeedList(); notify(""); }