jQuery(function(){
	addData('http://twitter.com/statuses/user_timeline/kudoscms.json?callback=' + 'showtweets&count=3');
	jQuery("#twitter .twit_text a").text("[link]");
});
String.prototype.linkify = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g, function(m) {
		return '<a href="' + m + '">[link]</a>';
	}).replace(/@[\S]+/g, function(m) {
		return '<a href="http://twitter.com/' + m.substr(1) + '">' + m + '</a>';
	});
}


function addData(url){
	var script = document.createElement('script');
	script.src = url;
	script.type = 'text/javascript';
	document.getElementsByTagName('head')[0].appendChild(script);
}

function showtweets(data){
	var list = jQuery('<ul class="tweet_list" style="list-style:none;">').appendTo("#twitter .twit_text");
	jQuery.each(data, function(index, item){
		list.append('<li>' + item.text.linkify() + ' <em>' + relative_time(item.created_at) + '</em></li>');
	});
//	list.append('</ul>');
	list.children('li:first').addClass('tweet_first');
	list.children('li:odd').addClass('tweet_even');
	list.children('li:even').addClass('tweet_odd');
	jQuery('#twitter .twit_text')
}

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);
	if (delta < 60) {
		return 'less than a minute ago';
	} else if(delta < 120) {
		return 'about a minute ago';
	} else if(delta < (60*60)) {
		return (parseInt(delta / 60)).toString() + ' minutes ago';
	} else if(delta < (120*60)) {
		return 'about an hour ago';
	} else if(delta < (24*60*60)) {
		return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
	} else if(delta < (48*60*60)) {
		return '1 day ago';
	} else {
		return (parseInt(delta / 86400)).toString() + ' days ago';
	}
}