concise "50 seconds ago" rendering function

a fork from http://jsfiddle.net/tylerbrinks/kRH5T/ with improved "time-ago" rendering function (interprit)

by Adrien Joly

HTML

<abbr>abbr tag</abbr>
<div>div tag</abbr>

JavaScript

(function($) {

    function refresh(options) {
        var time = parse(options);
        var span = timeSpan(time);
        var spanType = interprit(span);

        var phrase = options[spanType.type];
        phrase = phrase.replace(/%d/i, spanType.count);

        $(options.selector).html(phrase);

        var delay = function() {
            refresh(options);
        };

        setTimeout(delay, options.refreshRate);
    }

    function parse(options) {
        var date = $(options.selector).attr(options.dateAttribute);
        var time = $.trim(date);
        time = time.replace(/\.\d\d\d+/, "");
        time = time.replace(/-/, "/").replace(/-/, "/");
        time = time.replace(/T/, " ").replace(/Z/, " UTC");
        time = time.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2");
        return new Date(time);

    }

    function timeSpan(date) {
        return (new Date().getTime() - date.getTime());
    }

    var timeScales = [    
        {"minute(s)":60},
        {"hour(s)":60},
        {"day(s)":24},
        {"month(s)":30}
    ];
    
    function interprit(delta) {
        var t = (delta / 1000);
        var lastScale = "second(s)";
        for (i in timeScales) {
            var scaleTitle;
            for (scaleTitle in timeScales[i]);
            var scaleVal = timeScales[i][scaleTitle];
            
            if (t / scaleVal < 1) break;
            t = t / scaleVal;
            lastScale = scaleTitle;
        }
        var rnd = Math.round(t);
        return {
            type: lastScale.replace(/\(s\)/g, rnd > 1 ? "s" : ""),
            count: rnd
        };
    }


    $.fn.extend({
        relativeTime: function(options) {
            var settings = {
                selector: $(this).selector,
                dateAttribute: "title",
                refreshRate: 10000,
                second: "%d second ago",
                seconds: "%d seconds ago",
                minute: "%d minute ago",
                minutes: "%d minutes ago",
          ...