generate relative time from epic

by MikeGrace

HTML

<div timestamp="1292990000" class="fo-question fo-stream-item">
    <span class="timeago"/>
            <img friendid="220591" class="fo-friend-in-stream" alt="JAM" title="JAM 209 rep" src="http://www.gravatar.com/avatar/7e130b9e81c175516c550e5a119840b6?s=50">
            <div class="fo-stream-item-details">
              <h3><a href="/questions/3125049/timeline" class="question-hyperlink">Cannot add Google Map API script after pageload</a></h3>
              <p class="fo-stream-item-meta">
                <span class="fo-stream-item-tags">jquery, google-maps </span>
                <span class="fo-stream-item-stats"> 2:1:38</span> 
              </p>
            </div>
          <img alt="question" src="http://kynetx-apps.s3.amazonaws.com/friendoverflow/question.png" class="fo-question-marker">
    
          <br class="fo-clear">
        </div>

JavaScript

var currentTime = Math.round(new Date().getTime()/1000.0);

$(".fo-stream-item").each(function(index, element) {
    var seconds = currentTime - $(element).attr("timestamp");
    var minutes = seconds / 60;
    var hours = minutes / 60;
    var days = hours / 24;
    var years = days / 365;
    var words = (years > 1) ? "over a year" :
        (days > 1) ? clean(days)+" days ago" :
        (hours > 1) ? clean(hours)+" hours ago":
        (minutes > 1) ? clean(minutes)+" minutes ago":
        clean(seconds)+" seconds ago";
    $(element).find(".timeago").append(words);
});


function clean(num) {
    return parseInt(num, 10);   
}