/*
* Author:      phpdude (http://codecanyon.net/user/phpdude/portfolio)
* Plugin name: twitter_reactions
* Description: This plugin allows the user to display Twitter reactions for a given URL.
*/
(function($){$.fn.twitter_reactions=function(g,h){var j=$.extend({results:10,showUsername:false},h);j.results=(j.results>50)?50:j.results;var k=$(this);$.getJSON('http://otter.topsy.com/trackbacks.js?url='+escape(g)+'&amp;perpage='+j.results+'&amp;callback=?',function(e){var f=(j.results>e.response.total)?e.response.total:j.results;k.html('<li id="reactions_header"><em>Showing '+f+' most recent</em>'+e.response.total+' Twitter Mentions</li>');$.each(e.response.list,function(i,b){var c=b.content.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,function(a){return'<a href="'+a+'" target="_blank">'+a+'</a>'}).replace(/\B@([_a-z0-9]+)/ig,function(a){return'@<a href="http://twitter.com/'+a.substring(1)+'" target="_blank">'+a.substring(1)+'</a>'});var d=(j.showUsername)?'<strong>'+b.author.name+'</strong>: ':'';k.html(k.html()+'<li><a href="'+b.author.url+'" target="_blank"><img src="'+b.author.photo_url+'" alt="'+b.author.name+'" /></a>'+d+c+'<br class="clear" /><small><a href="'+b.permalink_url+'">'+$(this).relTime(b.date)+'</a></small></li>')})})};$.fn.twitter_search=function(f,g){var h=$.extend({results:10,showUsername:false},g);h.results=(h.results>100)?100:h.results;var j=$(this);$.ajax({url:'http://search.twitter.com/search.json?q='+escape(f),type:'GET',dataType:'jsonp',success:function(e){j.html('<li id="reactions_header"><em>&nbsp;</em>Showing '+h.results+' Most Recent Twitter Reactions</li>');$.each(e.results,function(i,b){var c=b.text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,function(a){return'<a href="'+a+'" target="_blank">'+a+'</a>'}).replace(/\B@([_a-z0-9]+)/ig,function(a){return'@<a href="http://twitter.com/'+a.substring(1)+'" target="_blank">'+a.substring(1)+'</a>'});var d=(h.showUsername)?'<strong>'+b.from_user+'</strong>: ':'';j.html(j.html()+'<li><a href="http://www.twitter.com/'+b.from_user+'" target="_blank"><img src="'+b.profile_image_url+'" alt="'+b.from_user+'" /></a>'+d+c+'<br class="clear" /><small><a href="http://www.twitter.com/'+b.from_user+'/status/'+b.id+'">'+$(this).relTime($(this).parseDate(b.created_at))+'</a></small></li>')})}})};$.fn.parseDate=function(a){var b=new Date(a);return(b.getTime()/1000.0)};$.fn.relTime=function(a){var b=parseInt(new Date().getTime()/1000)-parseInt(a);if(b<60){return'less than a minute ago'}else if(b<120){return'about a minute ago'}else if(b<(60*60)){return(parseInt(b/60)).toString()+' minutes ago'}else if(b<(120*60)){return'about an hour ago'}else if(b<(24*60*60)){return'about '+(parseInt(b/3600)).toString()+' hours ago'}else if(b<(48*60*60)){return'1 day ago'}else if(b<(10*24*60*60)){return'about '+(parseInt(b/86400)).toString()+' days ago'}else{var c=new Date();c.setTime(a*1000);var d=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec");return c.getDate()+'-'+d[c.getMonth()]+'-'+c.getFullYear()+' '+((c.getHours()<10)?'0'+c.getHours():c.getHours())+':'+((c.getMinutes()<10)?'0'+c.getMinutes():c.getMinutes())}}})(jQuery);
