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 < (45*60)) {
		return (parseInt(delta / 60)).toString() + ' minutes ago';
	} else if(delta < (90*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';
	}
}
function auto_link(what) {
	str = what; out = ""; url = ""; i = 0;
	do {
		url = str.match(/(((ht|f)tps?:\/\/)?([a-z\-]+\.)*[\-\w]+(\.[a-z]{2,4})+(\/[\w\_\-\?\=\&\.]*)*(?![a-z]))/i);
		if(url!=null) {
			// get href value
			href = url[0];
			if(href.substr(0,7)!="http://") href = "http://"+href;
		
			// where the match occured
			where = str.indexOf(url[0]);
		
			// add it to the output
			out += str.substr(0,where);
		
			// link it
			out += '<a href="'+href+'" target="_blank">'+url[0]+'</a>';
		
			// prepare str for next round
			str = str.substr((where+url[0].length));
		} else {
			out += str;
			str = "";
		}
	} while(str.length>0);
	return out.replace(/\B@([_a-z0-9]+)/ig,'<a href="http://twitter.com/$1">@$1</a>');
}
function twitter(obj) {
	for (var i = 0; i < obj.length; i++) {
		$('twitter').grab(
			new Element('div').addClass('update').grab(
				new Element('span').addClass('status').set('html', auto_link(obj[i].text))
			).grab(
				new Element('span').addClass('time').set('text', relative_time(obj[i].created_at))
			).grab(
				new Element('a', {
					href: 'http://twitter.com/circlesquare_uk'
				}).addClass('via').set('text', 'via twitter')
			)
		);
	}
}