/* twitter */
(function($) {
	/*
		jquery.twitter.js
		Last updated: 17 March 2009
	*/

	var twittername = 'timebank';

	$.fn.getTweets = function(options) {
		$(this).hide();
		$(this).append('<p><a href="http://twitter.com/'+twittername+'"><img src="http://timebank.org.uk/images/home/tbtwitter.gif" alt="TimeBank is on twitter" border="0" /></a></p>');
		$(this).append('<ul id="twitter_update_list"><li></li></ul>');
		$("#twitter_update_list").hide();
		$(this).show();
//		$.getScript("http://twitter.com/javascripts/blogger.js");
		$.getJSON("http://twitter.com/statuses/user_timeline/"+twittername+".json?count=3&callback=?", 
			function(data) {
				var done = false;
				$.each(data, function(i,item){
					if (item.in_reply_to_screen_name == null && done == false) {
						done = true;
            			$("#twitter_update_list li").append('<span>'+linkify(item.text)+'</span>');
            			$("#twitter_update_list li").append('<a href="http://twitter.com/'+twittername+'/statuses/'+item.id+'" style="font-size:85%;">'+relative_time(item.created_at)+'</a>')
 					}
          		});
		    });	
		$("#twitter_update_list").show();
		$(this).append('<a class="followus" href="http://twitter.com/'+twittername+'">follow us</a>');
	};

})(jQuery);


/* link urls and twitter names */
function linkify(s) {
    var entities = {
        '"' : '&quot;',
        '&' : '&amp;',
        '<' : '&lt;',
        '>' : '&gt;'
    };
    
    return s.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function(m) {
        return m.link(m);
    }).replace(/(^|[^\w])(@[\d\w\-]+)/g, function(d, m1, m2) {
        return m1 + '@<a href="http://twitter.com/' + m2.substr(1) + '">' + m2.substr(1) + '</a>';
    }).replace(/"&<>/, function (m) {
        return entities[m];
    });
}

/* relative time */
function relative_time(time_value) {
	  var values = time_value.split(" ");
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	  var parsed_date = Date.parse(time_value);
	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	  delta = delta + (relative_to.getTimezoneOffset() * 60);
	  
	  var r = '';
	  if (delta < 60) {
	    r = 'a minute ago';
	  } else if(delta < 120) {
	    r = 'couple of minutes ago';
	  } else if(delta < (45*60)) {
	    r = (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (90*60)) {
	    r = 'an hour ago';
	  } else if(delta < (24*60*60)) {
	    r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
	  } else if(delta < (48*60*60)) {
	    r = '1 day ago';
	  } else {
	    r = (parseInt(delta / 86400)).toString() + ' days ago';
	  }
	  
	  return r;
}


/*(function($) {
	$.fn.getTweets = function(options) {
		$(this).hide();
		$(this).append('<p><a href="http://twitter.com/timebank"><img class="twitterheader" src="http://timebank.org.uk/images/home_i/tbtwitter.gif" alt="TimeBank is on twitter" /></a></p>');
		$(this).append('<ul id="twitter_update_list"><li></li></ul>');
		$("#twitter_update_list").hide();
		$(this).show();
		$.getScript("http://twitter.com/javascripts/blogger.js");
		$.getScript("http://twitter.com/statuses/user_timeline/timebank.json?callback=twitterCallback2&count=1", 
			function() {
				$("#twitter_update_list").show();  
			});
		$(this).append('<a class="followus" href="http://twitter.com/timebank">follow us</a>');
	};

})(jQuery);*/