﻿function showMyVideos(data) {
  var feed = data.feed;
  var entries = feed.entry || [];
  var html = [''];
  for (var i = 0; i < entries.length; i++) {
    if (i > 2) break;
  
    var entry = entries[i];
    var title = entry.title.$t;
    if (title.length >= 23)
    {
        title = title.substr(0, 20) + '...';
    }

	var img = entry.media$group.media$thumbnail[0].url;
	var playerUrl = entry.media$group.media$player[0].url;
	var views = 0;
    if (entry.yt$statistics != undefined)
        views = entry.yt$statistics.viewCount;

	var uploadDate = entry.published.$t;

    // Modify the playerUrl so that the video can be displayed in pmosingapore channel.
    playerUrl = playerUrl.replace("&feature=youtube_gdata", "");
    playerUrl = playerUrl.replace("watch?v=","pmosingapore#p/a/u//");

    html.push('<a href="',playerUrl,'" target="_blank" title="Click here to visit PMO on Youtube."><img src="',img, '" border="0" alt="Click here to visit PMO on Youtube." /></a><br>');
    html.push('<font color="#FFFFFF"><span style="font-size: 7pt"><strong>', title, '</strong><br>');
    
    if (uploadDate == null)
    {
        html.push('No upload date...<br>');
    }
    else
    {
        var dd = formatDate(uploadDate);
        html.push(dd, '<br>');
    }
    
    html.push(views, ' views</span><br><span style="font-size: 5pt">&nbsp;</span><br></font>');    	
  }
  html.push('');
  document.getElementById('videos').innerHTML = html.join('');
}

function formatDate(data) {
    var strDate = "";
    var year = data.substr(0,4);
    var month = data.substr(5,2);
    var day = data.substr(8,2);
    var hour = data.substr(11,2);
    var minute = data.substr(14,2);
    var second = data.substr(17,2);
    
    if (month.substr(0,1) == "0") { month = month.substr(1,1); }
    
    var today = new Date();
    var publishDate = new Date();
    publishDate.setUTCFullYear(year, month-1, day);
    publishDate.setUTCHours(hour, minute, second);
           
    var secDiff = (today.getTime() - publishDate.getTime()) / 1000;
    var dayDiff = 0;
    
    if (secDiff <= 1)
        strDate = secDiff + " second";
    else if (secDiff > 1 && secDiff < 60)
        strDate = secDiff + " seconds";
    else if (secDiff >= 60 && secDiff < 120)
        strDate = Math.floor(secDiff / 60) + " minute";
    else if (secDiff >= 120 && secDiff < 3600)
        strDate = Math.floor(secDiff / 60) + " minutes";
    else if (secDiff >= 3600 && secDiff < 7200)
        strDate = Math.floor(secDiff / 3600) + " hour";
    else if (secDiff >= 7200 && secDiff < 86400)
        strDate = Math.floor(secDiff / 3600) + " hours";
    else if (secDiff >= 86400 && secDiff < 172800)
        strDate = Math.floor(secDiff / 86400) + " day";
    else if (secDiff >= 172800)     // for all difference larger than day.
        dayDiff = Math.floor(secDiff / 86400);
        
    if (dayDiff > 1 && dayDiff < 30)
        strDate = dayDiff + " days";
    else if (dayDiff >= 30 && dayDiff < 60)     // 1 month ago.
        strDate = Math.floor(dayDiff / 30) + " month";
    else if (dayDiff >= 60 && dayDiff < 365)
        strDate = Math.floor(dayDiff / 30) + " months";
    else if (dayDiff >= 365 && dayDiff < 730)   // 1 year ago.
        strDate = Math.floor(dayDiff / 365) + " year";
    else if (dayDiff >= 730)   // more than 1 year ago.
        strDate = Math.floor(dayDiff / 365) + " years";
                   
    strDate = strDate + " ago";
    
    return strDate;
}

