(function(a){if(!a.fn.reverse){a.fn.reverse=function(){return this.pushStack(this.get().reverse(),arguments)}}a.fn.liveTwitter=function(e,b){var c=jQuery.extend({mode:"search",rate:15000,limit:10},b);window.twitter_callback=function(){return true};if(this.twitter){clearInterval(this.twitter.interval)}this.twitter={query:e,limit:c.limit,mode:c.mode,interval:false,container:this,tweetIds:[],relativeTime:function(g){var f=Date.parse(g);var i=(Date.parse(Date())-f)/1000;var h="";if(i<60){h="a moment ago"}else{if(i<120){h="a couple of minutes ago"}else{if(i<(45*60)){h=(parseInt(i/60,10)).toString()+" minutes ago"}else{if(i<(90*60)){h="an hour ago"}else{if(i<(24*60*60)){h=""+(parseInt(i/3600,10)).toString()+" hours ago"}else{if(i<(48*60*60)){h="a day ago"}else{h=(parseInt(i/86400,10)).toString()+" days ago"}}}}}}return h},refresh:function(f){var h=encodeURIComponent(this.query);var i=this;var g="";if(i.mode=="search"){g="http://search.twitter.com/search.json?q="+h+"&callback=?"}else{if(i.mode=="user_timeline"){g="http://twitter.com/statuses/user_timeline/"+h+".json?count=5&callback=?"}}a.getJSON(g,function(k){var j=null;if(i.mode=="search"){j=k.results}else{j=k}a(j).reverse().each(function(){var l=this.text.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/,function(n){return n.link(n)});l=l.replace(/@[A-Za-z0-9_]+/,function(n){return n.link("http://twitter.com/"+n.replace(/^@/,""))});if(a.inArray(this.id,i.tweetIds)<0){var m='<div class="tweet tweet-'+this.id+'">';if(i.mode=="search"){m+='<img width="24" src="'+this.profile_image_url+'" /><p class="text"><span class="username"><a href="http://twitter.com/'+this.from_user+'">'+this.from_user+"</a>:</span> "}else{m+='<p class="text"> '}m+=l+' <span class="time">'+i.relativeTime(this.created_at)+"</span></p></div>";a(i.container).prepend(m);if(!f){a(i.container).find(".tweet-"+this.id).hide().fadeIn()}i.tweetIds.push(this.id)}});a(i.container).find("div.tweet:gt("+(i.limit-1)+")").remove()})}};var d=this.twitter;d.interval=setInterval(function(){d.refresh()},c.rate);d.refresh(true);return this}})(jQuery);