
var MAX_TOOTS=35;var PAGES=MAX_TOOTS/15;var toots=new Array();var subToots=new Array();var gOffset=0,gCount=MAX_TOOTS;var archive_page=false;function cleanDate(time_value){var values=time_value.replace(/,/i,'').split(" ");return values[2]+" "+values[1]+", "+values[3]+" "+values[4];}
function tootSort(a,b){var a_date=Date.parse(cleanDate(a.created_at));var b_date=Date.parse(cleanDate(b.created_at));if(a_date<b_date){return 1;}else if(a_date>b_date){return-1;}else{return 0;}}
function collateTootsCallback(obj){subToots=subToots.concat(obj.results);if(MAX_TOOTS/2>subToots.length&&(null!=obj.next_page)){document.write('<script type="text/javascript" src="http://search.twitter.com/search.json'+obj.next_page+'&amp;callback=collateTootsCallback"></script>');}else{toots=toots.concat(subToots).sort(tootSort);subToots=new Array();}}
function spewToots(twitters){var maxToots=archive_page?twitters.length:(twitters.length>MAX_TOOTS)?MAX_TOOTS:twitters.length;var statusHTML="";var username="";for(var i=0;i<maxToots;i++){username=twitters[i].user.screen_name;statusHTML+='<li class="'+username+' twitter"><p class="'+username+'"><a href="http://twitter.com/'+username+'" class="name">'+twitters[i].user.name+':</a> <span class="tweet">'+linkify_text(twitters[i])+'</span> <a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'" class="toottime">'+relative_time(twitters[i].created_at)+'</a></p></li>';}
document.getElementById('twitter_update_list').innerHTML=statusHTML;if(!archive_page){set_voices_border();}}
function relative_time(time_value){var values=time_value.split(" ");time_value=values[1]+" "+values[2]+", "+values[5]+" "+values[3];var parsed_date=Date.parse(time_value);var relative_to=(arguments.length>1)?arguments[1]:new Date();var delta=parseInt((relative_to.getTime()-parsed_date)/1000);delta=delta+(relative_to.getTimezoneOffset()*60);if(delta<60){return'less than a minute ago';}else if(delta<120){return'about a minute ago';}else if(delta<(60*60)){return(parseInt(delta/60)).toString()+' minutes ago';}else if(delta<(120*60)){return'about an hour ago';}else if(delta<(24*60*60)){return'about '+(parseInt(delta/3600)).toString()+' hours ago';}else if(delta<(48*60*60)){return'1 day ago';}else{return(parseInt(delta/86400)).toString()+' days ago';}}
function linkify_text(toot){var text=toot.text;text=text.replace(/\n/ig,'<br />');text=text.replace(/(?:(http:\/\/)([^\s\)\]\>]+))|(www\.[^\s\)\]\>]+)/ig,'<a href="http://$2$3" class="tooturl">$1$2$3</a>');text=text.replace(/(@([^\s\(\)\[\]{}<>\.\?\!]+))/ig,'<a href="http://www.twitter.com/$2" class="atreply">$1</a>');text=text.replace(/#([^\s\(\)\[\]{}<>]+)/ig,'<a href="http://search.twitter.com/search?qver=%23$1" class="topicurl">#$1</a>');return text;}
function doTwitterMagic(isArchive){var req,refireTimeout;if(undefined==isArchive){isArchive=archive_page;}
archive_page=isArchive;var resource=archive_page?'/js/atlantic_twitter_archive.json':'/js/atlantic_twitter.json';if(window.ActiveXObject){req=new ActiveXObject("Microsoft.XMLHTTP");}else{req=new XMLHttpRequest();}
req.open('GET',resource,true);req.onreadystatechange=function(aEvt){if(req.readyState==4){if(req.status==200){var result=JSON.parse(req.responseText);spewToots(result.statuses.status);refireTimeout=setTimeout("doTwitterMagic()",60000);}else{dump("Error loading page\n");}}};req.send(null);}