var ytPlayerList;

///////////////////////////////////////////////////////////////////////////////
/*
function uicornerfix(r)
{

	DD_roundies.addRule('.ui-corner-all', r);
	DD_roundies.addRule('.ui-corner-top', r+' '+r+' 0 0');
	DD_roundies.addRule('.ui-corner-bottom', '0 0 '+r+' '+r);
	DD_roundies.addRule('.ui-corner-right', '0 '+r+' '+r+' 0');
	DD_roundies.addRule('.ui-corner-left', r+' 0 0 '+r);
	DD_roundies.addRule('.ui-corner-tl', r+' 0 0 0');
	DD_roundies.addRule('.ui-corner-tr', '0 '+r+' 0 0');
	DD_roundies.addRule('.ui-corner-br', '0 0 '+r+' 0');
	DD_roundies.addRule('.ui-corner-bl', '0 0 0 '+r);

};
*/
///////////////////////////////////////////////////////////////////////////////

function isUndefined(x) { return x == null && x !== null; }

///////////////////////////////////////////////////////////////////////////////

function ytGetPlaylistFeedUrl(playlistId)
{
	return "http://gdata.youtube.com/feeds/api/playlists/" + playlistId + "?v=2&alt=json";
}

///////////////////////////////////////////////////////////////////////////////

function ytGetVideoUrl(videoId)
{
	return "http://www.youtube.com/v/" + videoId + "?enablejsapi=1&playerapiid=ytplayer&hd=1&start=0&fs=1";
}

///////////////////////////////////////////////////////////////////////////////

function ytGetVideoThumb(videoId)
{
	return "http://i.ytimg.com/vi/" + videoId + "/hqdefault.jpg";
}

///////////////////////////////////////////////////////////////////////////////

function stopAllPlayers()
{
	for (var i in ytPlayerList)
	{
		var player = ytPlayerList[i];
		var o = swfobject.getObjectById(player);
	    if (o)
	    {
	    	try
	    	{
	    		o.stopVideo();
	    	}   	
	    	catch (ex)
	    	{
	    	}
	    }
	}
}

///////////////////////////////////////////////////////////////////////////////

jQuery.fn.center = function ()
{
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

///////////////////////////////////////////////////////////////////////////////

$(function(){
	
	var thumbWidth = 120;
	var thumbHeight = 90;
	var ytChrome = 25;
	var ytVideoHeight = 395 + ytChrome;
	var ytVideoWidth = 700;//(ytVideoHeight - ytChrome) * (16/9);
	var flashvars = {};
	var params = {};
	var atts = {};
	var ytXmlUrl = "youtube/xml/media.xml";
	ytPlayerList = new Array();
	
	// Set up expose
	$('#activateExpose').click(function(){
		$('#ytTabs').expose({
			color: '#000',
			opacity: 0.5,
			onBeforeLoad: function(){
				$('#ytTabs').center();
				$('#ytTabs').fadeIn();
			},
			onBeforeClose: function(){
				stopAllPlayers();
				$('#ytTabs').fadeOut();
			}
		});
	});	
	
	// Open video player in new window
	$('a.videoPlayer').click(function(){
		window.open(this.href, "", "width=640,height=480,location=no,resizable=no,scrollbars=no,toolbar=no,status=no");
		return false;
    });
    
	$('.video-thumb').live('click', function() {
		
		var videoId = $(this).attr('video');
		var playlistId = $(this).attr('playlist');
		var videoDiv = '#tab-' + playlistId + '-player';
		var playerId = '#tab-' + playlistId + '-ytObject'

	    var o = document.getElementById(playerId);
	    if ( o )
	    {
	    	o.setPlaybackQuality("hd720");
	        o.loadVideoById(videoId);
	    }
	});
	
	$.ajax({		
		cache: false,
		dataType: "xml",
		type: "get",
		url: ytXmlUrl,

		error: function(XMLHttpRequest, textStatus, errorThrown)
		{
			//alert("Error!");
		},
		
		success: function(data, textStatus, XMLHttpRequest)
		{
			$(data).find('playlist').each(function(){
				
				var playlistId = $(this).attr('id');
				var playlistName = $(this).attr('name');

				$('#ytTabs ul').append('<li><a href="#tab-' + playlistId + '">' + playlistName + '</a></li>');
				$('#ytTabs').append('<div id="tab-' + playlistId + '"></div>');
				$('#tab-' + playlistId).append('<div class="ytPlayer"><div id="' + '#tab-' + playlistId + '-player' + '"></div></div><div class="ytPlaylist"></div><div class="clear"></div>');
				
				$(this).find('video').each(function(){
					
					var videoId = $(this).attr('id');
					var videoName = $(this).attr('name');
					var thumbSrc = ytGetVideoThumb(videoId);					
					
					$('#tab-' + playlistId).find('.ytPlaylist').append('<div><img playlist="' + playlistId + '" video="' + videoId + '" class="video-thumb" width="' + thumbWidth + '" height="' + thumbHeight + '" src="' + thumbSrc + '" /></div>');
					$('#tab-' + playlistId).find('.ytPlaylist').append('<div><p>' + videoName + '</p></div>');
				});
				
				var videoId = $(this).find('video:first').attr('id');
				var videoDiv = '#tab-' + playlistId + '-player';
				var playerId = '#tab-' + playlistId + '-ytObject'
				
				//var swf = 
				swfobject.embedSWF
				(
					ytGetVideoUrl(videoId),
					videoDiv,
					ytVideoWidth,
					ytVideoHeight,
					'8',
					null,
					null,
				  	{
						allowScriptAccess: 'always',
						allowFullScreen: 'true'
				  	},
				  	{
				    	id: playerId
				  	}
				);
				
				ytPlayerList.push(playerId);
			});
		},
		
		complete: function(XMLHttpRequest, textStatus)
		{
			$('#ytTabs').tabs({
				select: function(event, ui)
				{
					stopAllPlayers();
				}
			});
			
			//uicornerfix('8px');
			//$.uicornerfix('8px');
		}
	});
});








































