var DateHelper = {
  timeAgoInWords: function(from) {
   return this.distanceOfTimeInWords(new Date().getTime(), from);
  },

  distanceOfTimeInWords: function(to, from) {
    seconds_ago = ((to  - from) / 1000);
    minutes_ago = Math.floor(seconds_ago / 60);

    if(minutes_ago == 0) { return "less than a minute ago"; }
    if(minutes_ago == 1) { return "1 minute ago"; }
    if(minutes_ago < 45) { return minutes_ago + " minutes ago"; }
    if(minutes_ago < 90) { return " about 1 hour ago"; }
    hours_ago  = Math.round(minutes_ago / 60);
    if(minutes_ago < 1440) { return "about " + hours_ago + " hours ago"; }
    if(minutes_ago < 2880) { return "1 day ago"; }
    days_ago  = Math.floor(minutes_ago / 1440);
    if(minutes_ago < 43200) { return days_ago + " days ago"; }
    if(minutes_ago < 86400) { return "about 1 month ago"; }
    months_ago  = Math.floor(minutes_ago / 43200);
    if(minutes_ago < 525960) { return months_ago + " months ago"; }
    if(minutes_ago < 1051920) { return "about 1 year ago"; }
    years_ago  = Math.floor(minutes_ago / 525960);
    return "over " + years_ago + " years ago";
  }
}