/*
 * JavaScript Pretty Date
 * Copyright (c) 2008 John Resig (jquery.com)
 * Licensed under the MIT license.
 */

// Localisation
var settingsDate	= { just: "Just now", minute: "1 minute ago", minutes: " minutes ago", hour: "1 hour ago", hours: " hours ago", yesterday: "Yesterday", days: " days ago", weeks: " weeks ago" };
settingsDate		= $.extend(settingsDate, localDate);

// Takes an ISO time and returns a string representing how long ago the date represents.
function prettyDate(time){
	var date		= new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
		diff		= (((new Date()).getTime() - date.getTime()) / 1000),
		day_diff	= Math.floor(diff / 86400);
			
	if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 ){
		return;
	}
	
	return day_diff == 0 && (
			diff < 60 && settingsDate.just ||
			diff < 120 && settingsDate.minute ||
			diff < 3600 && Math.floor( diff / 60 ) + settingsDate.minutes ||
			diff < 7200 && settingsDate.hour ||
			diff < 86400 && Math.floor( diff / 3600 ) + settingsDate.hours) ||
		day_diff == 1 && settingsDate.yesterday ||
		day_diff < 7 && day_diff + settingsDate.days ||
		day_diff < 31 && Math.ceil( day_diff / 7 ) + settingsDate.weeks;
}

jQuery.fn.prettyDate = function(){
	return this.each(function(){
		var date	= prettyDate(this.title);
		if(date){
			jQuery(this).text(date);
		}
	});
};
