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