/*
 * timeago: a jQuery plugin, version: 0.9.2 (2010-09-14)
 * @requires jQuery v1.2.3 or later
 *
 * Timeago is a jQuery plugin that makes it easy to support automatically
 * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
 *
 * For usage and examples, visit:
 * http://timeago.yarp.com/
 *
 * Licensed under the MIT:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Copyright (c) 2008-2010, Ryan McGeary (ryanonjavascript -[at]- mcgeary [*dot*] org)
 */
(function(jQuery){jQuery.timeago=function(timestamp){if(timestamp instanceof Date)return inWords(timestamp);else if(typeof timestamp=="string")return inWords(jQuery.timeago.parse(timestamp));else return inWords(jQuery.timeago.datetime(timestamp));};var jQueryt=jQuery.timeago;jQuery.extend(jQuery.timeago,{settings:{refreshMillis: 60000,allowFuture: false,strings:{prefixAgo: null,prefixFromNow: null,suffixAgo: "ago",suffixFromNow: "from now",seconds: "less than a minute",minute: "about a minute",minutes: "%d minutes",hour: "about an hour",hours: "about%d hours",day: "a day",days: "%d days",month: "about a month",months: "%d months",year: "about a year",years: "%d years",numbers:[]}},inWords: function(distanceMillis){var jQueryl=this.settings.strings;var prefix=jQueryl.prefixAgo;var suffix=jQueryl.suffixAgo;if(this.settings.allowFuture){if(distanceMillis<0){prefix=jQueryl.prefixFromNow;suffix=jQueryl.suffixFromNow;}distanceMillis=Math.abs(distanceMillis);}var seconds=distanceMillis/1000;var minutes=seconds/60;var hours=minutes/60;var days=hours/24;var years=days/365;function substitute(stringOrFunction,number){var string=jQuery.isFunction(stringOrFunction)?stringOrFunction(number,distanceMillis): stringOrFunction;var value=(jQueryl.numbers&&jQueryl.numbers[number])||number;return string.replace(/%d/i,value);}var words=seconds<45&&substitute(jQueryl.seconds,Math.round(seconds))||seconds<90&&substitute(jQueryl.minute,1)||minutes<45&&substitute(jQueryl.minutes,Math.round(minutes))||minutes<90&&substitute(jQueryl.hour,1)||hours<24&&substitute(jQueryl.hours,Math.round(hours))||hours<48&&substitute(jQueryl.day,1)||days<30&&substitute(jQueryl.days,Math.floor(days))||days<60&&substitute(jQueryl.month,1)||days<365&&substitute(jQueryl.months,Math.floor(days/30))||years<2&&substitute(jQueryl.year,1)||substitute(jQueryl.years,Math.floor(years));return jQuery.trim([prefix,words,suffix].join(" "));},parse: function(iso8601){var s=jQuery.trim(iso8601);s=s.replace(/\.\d\d\d+/,"");s=s.replace(/-/,"/").replace(/-/,"/");s=s.replace(/T/," ").replace(/Z/," UTC");s=s.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2");return new Date(s);},datetime: function(elem){var isTime=jQuery(elem).get(0).tagName.toLowerCase()=="time";var iso8601=isTime?jQuery(elem).attr("datetime"): jQuery(elem).attr("title");return jQueryt.parse(iso8601);}});jQuery.fn.timeago=function(){var self=this;self.each(refresh);var jQuerys=jQueryt.settings;if(jQuerys.refreshMillis>0){setInterval(function(){self.each(refresh);},jQuerys.refreshMillis);}return self;};function refresh(){var data=prepareData(this);if(!isNaN(data.datetime)){jQuery(this).text(inWords(data.datetime));}return this;}function prepareData(element){element=jQuery(element);if(!element.data("timeago")){element.data("timeago",{datetime: jQueryt.datetime(element)});var text=jQuery.trim(element.text());if(text.length>0)element.attr("title",text);}return element.data("timeago");}function inWords(date){return jQueryt.inWords(distance(date));}function distance(date){return(new Date().getTime()-date.getTime());}document.createElement("abbr");document.createElement("time");})(jQuery);
