ttrss/functions.js

200 lines
3.6 KiB
JavaScript

var hotkeys_enabled = true;
function disableHotkeys() {
hotkeys_enabled = false;
}
function enableHotkeys() {
hotkeys_enabled = true;
}
function xmlhttp_ready(obj) {
return obj.readyState == 4 || obj.readyState == 0 || !obj.readyState;
}
function notify_callback() {
var container = document.getElementById('notify');
if (xmlhttp.readyState == 4) {
container.innerHTML=xmlhttp.responseText;
}
}
function rpc_notify_callback() {
var container = document.getElementById('notify');
if (xmlhttp_rpc.readyState == 4) {
container.innerHTML=xmlhttp_rpc.responseText;
}
}
function param_escape(arg) {
if (typeof encodeURIComponent != 'undefined')
return encodeURIComponent(arg);
else
return escape(arg);
}
function param_unescape(arg) {
if (typeof decodeURIComponent != 'undefined')
return decodeURIComponent(arg);
else
return unescape(arg);
}
function delay(gap) {
var then,now;
then=new Date().getTime();
now=then;
while((now-then)<gap) {
now=new Date().getTime();
}
}
function p_notify(msg) {
var n = parent.document.getElementById("notify");
var nb = parent.document.getElementById("notify_body");
if (!n || !nb) return;
nb.innerHTML = msg;
if (msg.length == 0) {
n.style.display = "none";
} else {
n.style.display = "block";
}
}
function notify(msg) {
var n = document.getElementById("notify");
var nb = document.getElementById("notify_body");
if (!n || !nb) return;
nb.innerHTML = msg;
if (msg.length == 0) {
n.style.display = "none";
} else {
n.style.display = "block";
}
}
function printLockingError() {
notify("Please wait until operation finishes");}
var seq = "";
function hotkey_handler(e) {
var keycode;
if (!hotkeys_enabled) return;
if (window.event) {
keycode = window.event.keyCode;
} else if (e) {
keycode = e.which;
}
if (keycode == 13 || keycode == 27) {
seq = "";
} else {
seq = seq + "" + keycode;
}
var piggie = document.getElementById("piggie");
if (piggie) {
if (seq.match("807371717369")) {
localPiggieFunction(true);
} else {
localPiggieFunction(false);
}
}
if (typeof localHotkeyHandler != 'undefined') {
localHotkeyHandler(keycode);
}
}
function cleanSelected(element) {
var content = document.getElementById(element);
var rows = new Array();
for (i = 0; i < content.rows.length; i++) {
content.rows[i].className = content.rows[i].className.replace("Selected", "");
}
}
function getVisibleUnreadHeadlines() {
var content = document.getElementById("headlinesList");
var rows = new Array();
for (i = 0; i < content.rows.length; i++) {
var row_id = content.rows[i].id.replace("RROW-", "");
if (row_id.length > 0 && content.rows[i].className.match("Unread")) {
rows.push(row_id);
}
}
return rows;
}
function getVisibleHeadlineIds() {
var content = document.getElementById("headlinesList");
var rows = new Array();
for (i = 0; i < content.rows.length; i++) {
var row_id = content.rows[i].id.replace("RROW-", "");
if (row_id.length > 0) {
rows.push(row_id);
}
}
return rows;
}
function getFirstVisibleHeadlineId() {
var rows = getVisibleHeadlineIds();
return rows[0];
}
function getLastVisibleHeadlineId() {
var rows = getVisibleHeadlineIds();
return rows[rows.length-1];
}
function markHeadline(id) {
var row = document.getElementById("RROW-" + id);
if (row) {
row.className = row.className + "Selected";
}
}
function getFeedIds() {
var content = document.getElementById("feedsList");
var rows = new Array();
for (i = 0; i < content.rows.length; i++) {
var id = content.rows[i].id.replace("FEEDR-", "");
if (id.length > 0) {
rows.push(id);
}
}
return rows;
}