(function(d){d.fn.tweet=function(j){function l(a){return Date.parse(a.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i,"$1,$2$4$3"))}function m(a){var c=l(a);c=parseInt(((arguments.length>1?arguments[1]:new Date).getTime()-c)/1E3);var e=function(i,h){return""+h+" "+i+(h==1?"":"s")};return c<60?"less than a minute ago":c<3600?"about "+e("minute",parseInt(c/60))+" ago":c<86400?"about "+e("hour",parseInt(c/3600))+" ago":"about "+e("day",parseInt(c/86400))+" ago"}function n(){var a="https:"==document.location.protocol? "https:":"http:";if(b.list)return a+"//api.twitter.com/1/"+b.username[0]+"/lists/"+b.list+"/statuses.json?per_page="+b.count+"&callback=?";else if(b.query==null&&b.username.length==1)return a+"//"+location.hostname+"/twitter_cache.php";else{var c=b.query||"from:"+b.username.join(" OR from:");return a+"//search.twitter.com/search.json?&q="+escape(c)+"&rpp="+b.count+"&callback=?"}}var b={username:"GameTreeMac",list:null,avatar_size:40,count:5,intro_text:null,outro_text:null,join_text:"auto",auto_join_text_default:"we said,", auto_join_text_ed:"we",auto_join_text_ing:"we are",auto_join_text_reply:"we replied to",auto_join_text_url:"we were checking out",loading_text:"Loading Tweets...",query:null};j&&d.extend(b,j);d.fn.extend({linkUrl:function(){var a=[],c=/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;this.each(function(){a.push(this.replace(c,'<a href="$1">$1</a>'))});return d(a)},linkUser:function(){var a=[],c=/[\@]+([A-Za-z0-9-_]+)/gi;this.each(function(){a.push(this.replace(c, '<a href="http://twitter.com/$1">@$1</a>'))});return d(a)},linkHash:function(){var a=[],c=/ [\#]+([A-Za-z0-9-_]+)/gi;this.each(function(){a.push(this.replace(c,' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from='+b.username.join("%2BOR%2B")+'">#$1</a>'))});return d(a)},capAwesome:function(){var a=[];this.each(function(){a.push(this.replace(/\b(awesome)\b/gi,'<span class="awesome">$1</span>'))});return d(a)},capEpic:function(){var a=[];this.each(function(){a.push(this.replace(/\b(epic)\b/gi, '<span class="epic">$1</span>'))});return d(a)},makeHeart:function(){var a=[];this.each(function(){a.push(this.replace(/(&lt;)+[3]/gi,"<tt class='heart'>&#x2665;</tt>"))});return d(a)}});return this.each(function(a,c){var e=d('<ul class="tweet_list">').appendTo(c),i='<p class="tweet_intro">'+b.intro_text+"</p>",h='<p class="tweet_outro">'+b.outro_text+"</p>",k=d('<p class="loading">'+b.loading_text+"</p>");if(typeof b.username=="string")b.username=[b.username];b.loading_text&&d(c).append(k);d.getJSON(n(), function(g){b.loading_text&&k.remove();b.intro_text&&e.before(i);g=g.results||g;d.each(g,function(q,f){if(b.join_text=="auto")f.text.match(/^(@([A-Za-z0-9-_]+)) .*/i)||f.text.match(/(^\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+) .*/i)||f.text.match(/^((\w+ed)|just) .*/im)||f.text.match(/^(\w*ing) .*/i);var o='<span class="tweet-time"><a href="http://twitter.com/'+(f.from_user||f.user.screen_name)+"/statuses/"+f.id+'" title="view tweet on twitter">'+m(f.created_at)+"</a></span>",p='<span class="tweet_text">'+ d([f.text]).linkUrl().linkUser().linkHash().makeHeart().capAwesome().capEpic()[0]+"</span>";e.append("<li>"+p+o+"</li>");e.children("li:first-child").addClass("tweet_first");e.children("li:odd").addClass("tweet_even");e.children("li:even").addClass("tweet_odd")});b.outro_text&&e.after(h);d(c).trigger("loaded").trigger(g.length==0?"empty":"full")})})}})(jQuery);