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