(function() {
     var relative_time = function (time_value) {
         time_value = time_value.replace(/T/, " ").replace(/\-/g, "/").replace(/\+00$/,'');

         var parsed_date = Date.parse(time_value);
         var relative_to = arguments.length > 1 ? arguments[1] : new Date();
         var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
         delta = delta + relative_to.getTimezoneOffset() * 60;

         if (delta < 60)
         {
             return "less than a minute ago";
         }
         else
             if (delta < 120)
         {
             return "about a minute ago";
         }
         else
             if (delta < 60 * 60)
         {
             return parseInt(delta / 60).toString() + " minutes ago";
         }
         else
             if (delta < 120 * 60)
         {
             return "about an hour ago";
         }
         else
             if (delta < 24 * 60 * 60)
         {
             return "about " + parseInt(delta / 3600).toString() + " hours ago";
         }
         else
             if (delta < 48 * 60 * 60)
         {
             return "1 day ago";
         }
         else
         {
             return parseInt(delta / 86400).toString() + " days ago";
         }
     };

     window.opmsgCallback = function (obj) {
         var html = "";
         for(var i = 0; i < obj.length; i++) {
             html += "<li>"
                 + '<span class="author"  style="color: #228; padding: 0 5px 0 0;">'
                 + String(obj[i].created_by)
                 + '</span>'
                 + obj[i].content + " "
                 + '<span class="time"  style="color: #282;">'
                 + relative_time(obj[i].created_at)
                 + "</span></li>";
         }
         document.getElementById("opmsg-update-list").innerHTML = html;
     };

})();

