var youtubePortletContent = '<center><img src="/html/images/layout/ajax-loader.gif"></center>';

var youtubeApp = new function() {
	this.showLastVideos = function (_username, _count) {
		if (_count < 1 || _count > 20) {
			_count = 1;
		}
		
		document.write('<div class="youtubePortlet" id="youtubePortlet">' + youtubePortletContent + '</div>');
		// dirty failure handler, because cross domain JSON-NP requests have no failure function
		setTimeout(function() {
			if ($("#youtubePortlet").html().toLowerCase() == youtubePortletContent.toLowerCase()) {
				$("#youtubePortlet").html('<div style="color: red;">Error: Youtube Server not accessible</div>');
			}
		}, 5000); 
		
		$.getJSON("http://gdata.youtube.com/feeds/api/users/" + _username + "/uploads?orderby=published&alt=json-in-script&v=2&callback=?",
			function (data){
				// console.log (data);
				var videoHTML = "";
				$.each(data.feed.entry, function(i, item){
					var thumbnailUrl = "";
					$.each(item.media$group.media$thumbnail, function(i, thumbnail){
						if (!thumbnail.time) {
							thumbnailUrl = thumbnail.url;
						}
					});
					
					var ratio = (item.media$group.yt$aspectRatio ? item.media$group.yt$aspectRatio.$t : "");
					var text =  "<a class='" + ratio + "' href='" + item.link[0].href + "' target='_blank' style='display: block;'><img src='" + thumbnailUrl + "' width='210' / ></a><p>" + item.title.$t + "</p>";
					videoHTML += "<div class='video'>" + text + "</div>";
					
					if (--_count == 0) {
						return false;
					}
				});
				
				var youtubeUrl = "http://www.youtube.com/" + data.feed.author[0].name.$t;
				$("#youtubePortlet").hide().html("").append(videoHTML).append ("<div class='followus'><a class='arrow' href='" + youtubeUrl + "' target='_blank'>Follow is on </a><a href='" + youtubeUrl + "' class='logo' target='_blank'></a></div>").slideDown("slow");
				addOverlayToExternalLinks("#youtubePortlet");
			}
		);
	}
}