var curWidth = 0; var curPos = 0; var drag = false; var what; var when; var firstItem; var item; var itemElement; var itemElements; function embed_odeo(link) { document.writeln(''); } function embed_quicktime(type, bgcolor, width, height, link, placeholder, loop) { if (placeholder != '') { document.writeln(''); } else { document.writeln(''); } } function embed_flash(bgcolor, width, height, link, loop, type) { document.writeln(''); } function embed_flv(width, height, link, placeholder, loop, player) { document.writeln(''); } function embed_wmedia(width, height, link) { document.writeln(''); } function checkbox(event) { if(!event) event = window.event; target = window.event ? window.event.srcElement : event.target; if(!event.shiftKey) return true; flag_upto(target.id); return true; } function select(item) { Element.addClassName(itemElement, 'selected'); y = itemElement.y ? itemElement.y : itemElement.offsetTop; window.scrollTo(0, y - 30); n = itemElements.length; i = itemElements.indexOf(itemElement); if(i == -1) { // in case page was partially loaded when itemElements was initialized itemElements = $$('.item'); i = itemElements.indexOf(itemElement); } i++; document.title = "Feed on Feeds - " + i + " of " + n; } function unselect(item) { Element.removeClassName(item, 'selected'); } function show_enclosure(e) { if (!e) e = window.event; target = window.event ? window.event.srcElement : e.target; Element.extend(target); div = target.nextSiblings().first(); Element.show(div); Element.hide(target); return false; } function keyboard(e) { if (!e) e = window.event; target = window.event ? window.event.srcElement : e.target; if(target != null && target.type != null && (target.type == "textarea" || target.type=="text" || target.type=="password")) { return true; } if (e.keyCode) keycode=e.keyCode; else keycode=e.which; if(e.ctrlKey || e.altKey || e.metaKey) return true; key = String.fromCharCode(keycode); if(!itemElements) itemElements = $$('.item'); if(key == "H") { itemElements.each( function(i) { Element.toggleClassName(i, "shown"); Element.toggleClassName(i, "hidden"); } ); if(itemElement) select(itemElement); return false; } if(key == "h") { if(itemElement) { Element.toggleClassName(itemElement, "shown"); Element.toggleClassName(itemElement, "hidden"); select(itemElement); return false; } } if(key == "s") { if(itemElement) { toggle_favorite(itemElement.id.substring(1)); select(itemElement); return false; } } if(key == "f") { if(itemElement) { checkbox = ($('c' + itemElement.id.substring(1))); checkbox.checked = true; return false; } } if(key == "F") { itemElements.each( function(i) { if(itemElement) { if(itemElements.indexOf(i) > itemElements.indexOf(itemElement)) return; } checkbox = ($('c' + i.id.substring(1))); checkbox.checked = true; } ); return false; } if(key == "U") { itemElements.each( function(i) { checkbox = ($('c' + i.id.substring(1))); checkbox.checked = false; } ); return false; } if(key == "j") { if(itemElement) { // is the next element visible yet? scroll if not. if(itemElement.nextSibling.id && itemElement.nextSibling.id != "end-of-items") { nextElement = itemElement.nextSibling; scrollHeight = document.body.scrollTop ? document.body.scrollTop : pageYOffset; if (nextElement.offsetParent) { y = nextElement.offsetTop while (nextElement = nextElement.offsetParent) { y += nextElement.offsetTop } } if( typeof( window.innerHeight ) == 'number' ) { //Non-IE windowHeight = window.innerHeight; } else if( document.documentElement && document.documentElement.clientHeight ) { //IE 6+ in 'standards compliant mode' windowHeight = document.documentElement.clientHeight; } else if( document.body && document.body.clientHeight ) { //IE 4 compatible windowHeight = document.body.clientHeight; } if(y > scrollHeight + windowHeight) { window.scrollTo(0, scrollHeight + (.8 * windowHeight)); return false; } } unselect(itemElement); checkbox = ($('c' + itemElement.id.substring(1))); checkbox.checked = true; next = itemElement.nextSibling; if(next.id && next.id != "end-of-items") { itemElement = next; } else { if( typeof( window.innerHeight ) == 'number' ) { //Non-IE windowHeight = window.innerHeight; } else if( document.documentElement && document.documentElement.clientHeight ) { //IE 6+ in 'standards compliant mode' windowHeight = document.documentElement.clientHeight; } else if( document.body && document.body.clientHeight ) { //IE 4 compatible windowHeight = document.body.clientHeight; } scrollHeight = document.body.scrollTop ? document.body.scrollTop : pageYOffset; e = $('end-of-items'); if (e.offsetParent) { y = e.offsetTop while (e = e.offsetParent) { y += e.offsetTop } } if(y - 10 > scrollHeight + windowHeight) { window.scrollTo(0, scrollHeight + (.8 * windowHeight)); return false; } else { if(confirm("No more items! Mark flagged as read?")) { mark_read(); } else { item = firstItem; itemElement = $(item); select(itemElement); return false; } } } item = itemElement.id; itemElement = $(item); select(itemElement); return false; } else { item = firstItem; itemElement = $(item); itemElements = $$('.item'); select(itemElement); return false; } } if(key == "J") { if(itemElement) { unselect(itemElement); checkbox = ($('c' + itemElement.id.substring(1))); checkbox.checked = true; next = itemElement.nextSibling; if(next.id) { itemElement = next; } else { if(confirm("No more items! Mark flagged as read?")) { mark_read(); } else { item = firstItem; itemElement = $(item); } } item = itemElement.id; itemElement = $(item); select(itemElement); return false; } else { item = firstItem; itemElement = $(item); itemElements = $$('.item'); select(itemElement); return false; } } if(key == "n") { if(itemElement) { unselect(itemElement); next = itemElement.nextSibling; if(next.id) { itemElement = next; } else { item = firstItem; itemElement = $(item); } item = itemElement.id; itemElement = $(item); select(itemElement); return false; } else { item = firstItem; itemElement = $(item); itemElements = $$('.item'); select(itemElement); return false; } } if(key == "N") { if(itemElement) unselect(itemElement); item = itemElements.last().id; itemElement = $(item); select(itemElement); return false; } if(key == "P") { if(itemElement) unselect(itemElement); item = firstItem; itemElement = $(item); itemElements = $$('.item'); select(itemElement); return false; } if(key == "p") { if(itemElement) { unselect(itemElement); next = itemElement.previousSibling; if(next.id) { itemElement = next; } else { item = itemElements.last().id; itemElement = $(item); } item = itemElement.id; itemElement = $(item); select(itemElement); return false; } else { itemElements = $$('.item'); item = itemElements.last().id; itemElement = $(item); select(itemElement); return false; } } return true; } function startResize(e) { if (!e) e = window.event; Event.stop(e); drag = true; curPos=e.clientX; curWidth=$('sidebar').offsetWidth; return false; } function dragResize(e) { if (!e) e = window.event; if(drag) { Event.stop(e); newPos=e.clientX; var x=newPos-curPos; var w=curWidth+x; newWidth=(w<5?5:w); $('handle').style.left=newWidth+'px'; return false; } } function completeDrag(e) { if (!e) e = window.event; if(drag) { Event.stop(e); drag = false; newPos=e.clientX; var x=newPos-curPos; var w=curWidth+x; newWidth=(w<5?5:w); $('sidebar').style.width=newWidth+'px'; $('handle').style.left=newWidth+'px'; $('items').style.marginLeft=(newWidth+20)+'px'; $('item-display-controls').style.left=(newWidth+10)+'px'; if(isIE) { tables = $$('#sidebar table'); for(i=0;iUpdate complete!'); refreshlist(); } } function continueadd() { if(feed = feedi()) { f = feed(); new Insertion.Bottom($('items'), 'Adding ' + f['url'] + "... "); $('items').childElements().last().scrollTo(); parameters = 'url=' + encodeURIComponent(f['url']) + "&unread=" + document.addform.unread.value; new Ajax.Updater('items', 'add-single.php', { method: 'get', parameters: parameters, insertion: Insertion.Bottom, onComplete: continueadd }); } else { new Insertion.Bottom($('items'), '
Done!'); refreshlist(); } } function ajaxupdate() { throb(); feedi = iterate(feedslist); continueupdate(); } function ajaxadd() { throb(); feedi = iterate(feedslist); continueadd(); }