(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">#$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 H("minute",parseInt(K/60))+" ago"
}else{if(K<(24*60*60)){return H("hour",parseInt(K/3600))+" ago"
}else{return 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,K){var J=A('<ul class="tweet_list">').appendTo(K);
var I='<p class="tweet_intro">'+E.intro_text+"</p>";
var G='<p class="tweet_outro">'+E.outro_text+"</p>";
var L=A('<p class="loading">'+E.loading_text+"</p>");
if(typeof (E.username)=="string"){E.username=[E.username]
}if(E.loading_text){A(K).append(L)
}A.getJSON(C(),function(M){if(E.loading_text){L.remove()
}if(E.intro_text){J.before(I)
}var N=(M.results||M);
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>";
J.append("<li>"+V+X+O+Q+"</li>");
J.children("li:first").addClass("tweet_first");
J.children("li:odd").addClass("tweet_even");
J.children("li:even").addClass("tweet_odd")
});
if(E.outro_text){J.after(G)
}A(K).trigger("loaded").trigger((N.length==0?"empty":"full"))
})
})
}
})(jQuery);
