
function sprintf(){if(sprintf.arguments.length<2){return;}
var data=sprintf.arguments[0];for(var k=1;k<sprintf.arguments.length;++k){switch(typeof(sprintf.arguments[k])){case'string':data=data.replace(/%s/,sprintf.arguments[k]);break;case'number':data=data.replace(/%d/,sprintf.arguments[k]);break;case'boolean':data=data.replace(/%b/,sprintf.arguments[k]?'true':'false');break;default:break;}}
return(data);}
if(!String.sprintf){String.sprintf=sprintf;}
function getAge(days,hours){var ageMsg="";if(days>1){ageMsg=String.sprintf("%d days ago",days);}else if(days==1){ageMsg="yesterday ";}else if(days<1&&hours>1){ageMsg=String.sprintf("%d hrs ago",hours);}else if(days<1&&hours==1){ageMsg="in the last hour";}else if(days<1&&hours<1){ageMsg="just recently";}
return ageMsg;}
function addObserver(link,wrapper,preview,feed,name){jQuery(link).click(function(){jQuery(wrapper).toggle("slow");var feedControl=new google.feeds.FeedControl();feedControl.addFeed(feed,name);feedControl.draw(jQuery(preview).get(0));});jQuery(wrapper).click(function(){jQuery(wrapper).toggle("slow");});}
function addAge(entry,bookmark,anchor,divID,previewtoggle,last_posttitle){var $li=jQuery(bookmark),$a=jQuery(anchor),$toggle=jQuery(previewtoggle),$title=jQuery(last_posttitle),now=new Date(),then=new Date(),ageInDays,ageInHours,randomAge,ageMsg,$snippet;try{then=new Date(entry.publishedDate);}catch(dateException){}
ageInDays=Math.floor((now.getTime()-then.getTime())/(1000*60*60*24)),ageInHours=Math.floor((now.getTime()-then.getTime())%(1000*60*60*24)/3600000);try{$entryTitle=jQuery("<p />").html(entry.title);$a.attr({title:$entryTitle.html()});}catch(titleException){$a.attr({title:""});}
if(!isNaN(then.getTime())){$li.attr({age:then.getTime()});}else{randomAge=Math.floor(Math.random()*1000001);$li.attr({age:randomAge});}
if(isNaN(ageInDays)||isNaN(ageInHours)){}else{ageMsg=getAge(ageInDays,ageInHours);$toggle.html(ageMsg);}
$title.html(entry.title);$title.attr({href:entry.link});$snippet=jQuery("<p />").html(entry.contentSnippet);$title.attr({title:$snippet.html()});$title.attr({rel:"external"});$title.attr({rev:"bookmark"});return;}
function addZeroAge(zeroAgeBookmark){var $zali=jQuery(zeroAgeBookmark),randomAge=Math.floor(Math.random()*1000001);if($zali!==null){$zali.attr({age:randomAge});}
return;}
function feedreading_automatic_sort(){jQuery("#feedreading_blogroll_ > li").tsort({order:"desc",attr:"age"});}
var myInterval=window.setInterval(function(){feedreading_automatic_sort();},500);window.setTimeout(function(a,b){clearInterval(myInterval);},20000);function initializeBR(){google.feeds.lookupFeed("http://www.slash7.com/",function(){var url13=this.url,feed13=new google.feeds.Feed(this.url);feed13.load(function(result_13){if(!result_13.error){addAge(result_13.feed.entries[0],"#feedreading_bookmark_13","#feedreading_anchor_13","#feedreading_info_13","#feedreading_previewtoggle_13","#frbl_last_posttitle_13");}else{addZeroAge("#feedreading_bookmark_13");}});});google.feeds.lookupFeed("http://weblog.jamisbuck.org/",function(){var url18=this.url,feed18=new google.feeds.Feed(this.url);feed18.load(function(result_18){if(!result_18.error){addAge(result_18.feed.entries[0],"#feedreading_bookmark_18","#feedreading_anchor_18","#feedreading_info_18","#feedreading_previewtoggle_18","#frbl_last_posttitle_18");}else{addZeroAge("#feedreading_bookmark_18");}});});google.feeds.lookupFeed("http://blogs.sun.com/jonathan/",function(){var url9=this.url,feed9=new google.feeds.Feed(this.url);feed9.load(function(result_9){if(!result_9.error){addAge(result_9.feed.entries[0],"#feedreading_bookmark_9","#feedreading_anchor_9","#feedreading_info_9","#feedreading_previewtoggle_9","#frbl_last_posttitle_9");}else{addZeroAge("#feedreading_bookmark_9");}});});google.feeds.lookupFeed("http://josh.the-owens.com/",function(){var url19=this.url,feed19=new google.feeds.Feed(this.url);feed19.load(function(result_19){if(!result_19.error){addAge(result_19.feed.entries[0],"#feedreading_bookmark_19","#feedreading_anchor_19","#feedreading_info_19","#feedreading_previewtoggle_19","#frbl_last_posttitle_19");}else{addZeroAge("#feedreading_bookmark_19");}});});google.feeds.lookupFeed("http://www.ecurry.com",function(){var url20=this.url,feed20=new google.feeds.Feed(this.url);feed20.load(function(result_20){if(!result_20.error){addAge(result_20.feed.entries[0],"#feedreading_bookmark_20","#feedreading_anchor_20","#feedreading_info_20","#feedreading_previewtoggle_20","#frbl_last_posttitle_20");}else{addZeroAge("#feedreading_bookmark_20");}});});google.feeds.lookupFeed("http://nubyonrails.com/",function(){var url15=this.url,feed15=new google.feeds.Feed(this.url);feed15.load(function(result_15){if(!result_15.error){addAge(result_15.feed.entries[0],"#feedreading_bookmark_15","#feedreading_anchor_15","#feedreading_info_15","#feedreading_previewtoggle_15","#frbl_last_posttitle_15");}else{addZeroAge("#feedreading_bookmark_15");}});});google.feeds.lookupFeed("http://www.rubyrailways.com/",function(){var url17=this.url,feed17=new google.feeds.Feed(this.url);feed17.load(function(result_17){if(!result_17.error){addAge(result_17.feed.entries[0],"#feedreading_bookmark_17","#feedreading_anchor_17","#feedreading_info_17","#feedreading_previewtoggle_17","#frbl_last_posttitle_17");}else{addZeroAge("#feedreading_bookmark_17");}});});google.feeds.lookupFeed("http://m.onkey.org/",function(){var url14=this.url,feed14=new google.feeds.Feed(this.url);feed14.load(function(result_14){if(!result_14.error){addAge(result_14.feed.entries[0],"#feedreading_bookmark_14","#feedreading_anchor_14","#feedreading_info_14","#feedreading_previewtoggle_14","#frbl_last_posttitle_14");}else{addZeroAge("#feedreading_bookmark_14");}});});google.feeds.lookupFeed("http://railscasts.com/",function(){var url16=this.url,feed16=new google.feeds.Feed(this.url);feed16.load(function(result_16){if(!result_16.error){addAge(result_16.feed.entries[0],"#feedreading_bookmark_16","#feedreading_anchor_16","#feedreading_info_16","#feedreading_previewtoggle_16","#frbl_last_posttitle_16");}else{addZeroAge("#feedreading_bookmark_16");}});});google.feeds.lookupFeed("http://testobsessed.com/",function(){var url11=this.url,feed11=new google.feeds.Feed(this.url);feed11.load(function(result_11){if(!result_11.error){addAge(result_11.feed.entries[0],"#feedreading_bookmark_11","#feedreading_anchor_11","#feedreading_info_11","#feedreading_previewtoggle_11","#frbl_last_posttitle_11");}else{addZeroAge("#feedreading_bookmark_11");}});});google.feeds.lookupFeed("http://weblog.rubyonrails.org/",function(){var url10=this.url,feed10=new google.feeds.Feed(this.url);feed10.load(function(result_10){if(!result_10.error){addAge(result_10.feed.entries[0],"#feedreading_bookmark_10","#feedreading_anchor_10","#feedreading_info_10","#feedreading_previewtoggle_10","#frbl_last_posttitle_10");}else{addZeroAge("#feedreading_bookmark_10");}});});}