if(typeof renderTwitters!="function"){(function(){var browser=(function(){var b=navigator.userAgent.toLowerCase();return{safari:/webkit/.test(b),opera:/opera/.test(b),msie:/msie/.test(b)&&!(/opera/).test(b),mozilla:/mozilla/.test(b)&&!(/(compatible|webkit)/).test(b)}})();var guid=0;var readyList=[];var isReady=false;window.renderTwitters=function(obj,options){function node(e){return document.createElement(e)}function text(t){return document.createTextNode(t)}var target=document.getElementById(options.twitterTarget);var data=null;var ul=node("ul"),li,statusSpan,timeSpan,i,max=obj.length>options.count?options.count:obj.length;for(i=0;i<max&&obj[i];i++){data=getTwitterData(obj[i]);if(options.ignoreReplies&&obj[i].text.substr(0,1)=="@"){max++;continue}li=node("li");if(options.template){li.innerHTML=options.template.replace(/%([a-z_\-\.]*)%/ig,function(m,l){var r=data[l]+""||"";if(l=="text"&&options.enableLinks){r=linkify(r)}return r})}else{statusSpan=node("span");statusSpan.className="twitterStatus";timeSpan=node("span");timeSpan.className="twitterTime";statusSpan.innerHTML=obj[i].text;if(options.enableLinks==true){statusSpan.innerHTML=linkify(statusSpan.innerHTML)}timeSpan.innerHTML=relative_time(obj[i].created_at);if(options.prefix){var s=node("span");s.className="twitterPrefix";s.innerHTML=options.prefix.replace(/%(.*?)%/g,function(m,l){return obj[i].user[l]});li.appendChild(s);li.appendChild(text(" "))}li.appendChild(statusSpan);li.appendChild(text(" "));li.appendChild(timeSpan)}ul.appendChild(li)}if(options.clearContents){while(target.firstChild){target.removeChild(target.firstChild)}}target.appendChild(ul)};window.getTwitters=function(target,id,count,options){guid++;if(typeof id=="object"){options=id;id=options.id;count=options.count}if(!count){count=1}if(options){options.count=count}else{options={}}if(!options.timeout&&typeof options.onTimeout=="function"){options.timeout=10}if(typeof options.clearContents=="undefined"){options.clearContents=true}if(options.withFriends){options.withFriends=false}options.twitterTarget=target;if(typeof options.enableLinks=="undefined"){options.enableLinks=true}window["twitterCallback"+guid]=function(obj){if(options.timeout){clearTimeout(window["twitterTimeout"+guid])}renderTwitters(obj,options)};ready((function(options,guid){return function(){if(!document.getElementById(options.twitterTarget)){return}var url="http://www.twitter.com/statuses/"+(options.withFriends?"friends_timeline":"user_timeline")+"/"+id+".json?callback=twitterCallback"+guid+"&count=20&cb="+Math.random();if(options.timeout){window["twitterTimeout"+guid]=setTimeout(function(){if(options.onTimeoutCancel){window["twitterCallback"+guid]=function(){}}options.onTimeout.call(document.getElementById(options.twitterTarget))},options.timeout*1000)}var script=document.createElement("script");script.setAttribute("src",url);document.getElementsByTagName("head")[0].appendChild(script)}})(options,guid))};DOMReady();function getTwitterData(orig){var data=orig,i;for(i in orig.user){data["user_"+i]=orig.user[i]}data.time=relative_time(orig.created_at);return data}function ready(callback){if(!isReady){readyList.push(callback)}else{callback.call()}}function fireReady(){isReady=true;var fn;while(fn=readyList.shift()){fn.call()}}function DOMReady(){if(browser.mozilla||browser.opera){document.addEventListener("DOMContentLoaded",fireReady,false)}else{if(browser.msie){document.write("<script id=__ie_init defer=true src=//:><\/script>");var script=document.getElementById("__ie_init");if(script){script.onreadystatechange=function(){if(this.readyState!="complete"){return}this.parentNode.removeChild(this);fireReady.call()}}script=null}else{if(browser.safari){var safariTimer=setInterval(function(){if(document.readyState=="loaded"||document.readyState=="complete"){clearInterval(safariTimer);safariTimer=null;fireReady.call()}},10)}}}}function relative_time(time_value){var values=time_value.split(" "),parsed_date=Date.parse(values[1]+" "+values[2]+", "+values[5]+" "+values[3]),date=new Date(parsed_date),relative_to=(arguments.length>1)?arguments[1]:new Date(),delta=parseInt((relative_to.getTime()-parsed_date)/1000),r="";function formatTime(date){var hour=date.getHours(),min=date.getMinutes()+"",ampm="AM";if(hour==0){hour=12}else{if(hour>12){hour-=12;ampm="PM"}}if(min.length==1){min="0"+min}return hour+":"+min+" "+ampm}function formatDate(date){var ds=date.toDateString().split(/ /),mon=ds[1],day=ds[2],dayi=parseInt(day),year=date.getFullYear(),thisyear=(new Date()).getFullYear(),th="th";if((dayi%10)==1&&day.substr(0,1)!="1"){th="st"}else{if((dayi%10)==2&&day.substr(0,1)!="1"){th="nd"}else{if((dayi%10)==3&&day.substr(0,1)!="1"){th="rd"}}}if(day.substr(0,1)=="0"){day=day.substr(1)}return mon+" "+day+th+(thisyear!=year?", "+year:"")}delta=delta+(relative_to.getTimezoneOffset()*60);if(delta<5){r="less than 5 seconds ago"}else{if(delta<30){r="half a minute ago"}else{if(delta<60){r="less than a minute ago"}else{if(delta<120){r="1 minute ago"}else{if(delta<(45*60)){r=(parseInt(delta/60)).toString()+" minutes ago"}else{if(delta<(2*90*60)){r="about 1 hour ago"}else{if(delta<(24*60*60)){r="about "+(parseInt(delta/3600)).toString()+" hours ago"}else{if(delta<(48*60*60)){r=formatTime(date)+" yesterday"}else{r=formatTime(date)+" "+formatDate(date)}}}}}}}}return r}function linkify(s){var entities={'"':"&quot;","&":"&amp;","<":"&lt;",">":"&gt;"};return s.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g,function(m){return m.link(m)}).replace(/(^|[^\w])(@[\d\w\-]+)/g,function(d,m1,m2){return m1+'@<a href="http://twitter.com/'+m2.substr(1)+'">'+m2.substr(1)+"</a>"}).replace(/"&<>/,function(m){return entities[m]})}})()};
