// ========================================
// Requires jQuery
// ========================================

var FDMVideo = {

	player:	'',
	video:	'',
	content: '',
	exp:	'',
	currentVideo: {
		videoid:	0,
		videotitle:	'',
		description: '',
		episodenum:	'',
		videoseries:	'',
		rating:	'',
		genre:	'',
		season:	''
	},

	initialize: function(videoid) {
		FDMVideo.currentVideo.videoid		= (videoid) ? videoid : 0;

		log("initialize");
	},

	playTitleFromList: function(videoid) {
		FDMVideo.content.getMediaAsynch(videoid);
		log("playTitleFromList");
	},

	onVideoLoad: function(event) {
		FDMVideo.video.loadVideo(event.video.id);
		FDMVideo.initialize(event.video);
	},

	doPlay: function(videoid) {
		if(videoid && videoid != FDMVideo.currentVideo.videoid) {
			FDMVideo.playTitleFromList(videoid)
		}
		else {
			if(!FDMVideo.video.isPlaying()) {
				var p = FDMVideo.video.pause(false);
			}
		}
	},

	doPause: function() {
		// need to stop current video
		FDMVideo.video.pause(true);
	},
	
	getCurrentVideoMetadata: function() {
		return FDMVideo.currentVideo;
	},

	clipsPlaylistEnd: function() {
	},

	doMediaLoad: function(e) {
		log("doMediaLoad");
		log(e);
	},

	doMediaStart: function() {
	},

	templateReady: function(e) {
		console.log(e.toSource());
	},

	thisMovie: function(movieName) {
		if (navigator.appName.indexOf("Microsoft") != -1) return window[movieName];
		else return document[movieName];
	}

};

function onTemplateLoaded(pEvent) {
	FDMVideo.player		= brightcove.getExperience(pEvent);
	FDMVideo.video		= FDMVideo.player.getModule(APIModules.VIDEO_PLAYER);
	FDMVideo.content	= FDMVideo.player.getModule(APIModules.CONTENT);
	FDMVideo.exp		= FDMVideo.player.getModule(APIModules.EXPERIENCE);

	FDMVideo.content.addEventListener(BCContentEvent.VIDEO_LOAD, FDMVideo.onVideoLoad);
	FDMVideo.exp.addEventListener(BCExperienceEvent.TEMPLATE_READY, FDMVideo.templateReady);
	
	FDMVideo.content.addEventListener("mediaLoad", FDMVideo.doMediaLoad);
	FDMVideo.video.addEventListener("mediaBegin", FDMVideo.doMediaStart);
	log("template loaded");
	FDMVideo.playTitleFromList(FDMVideo.currentVideo.videoid);
}

window.onunload = function() {
	FDMVideo.thisMovie("myExperience").onOmnitureUnload(); //FoxOmniture.as
};

$jq(document).ready(function() {

	$jq("#clip-list li a").click(function(){
		var selectedId = $jq(this).attr("id");
		var title = $jq(this).attr("title");
		var description = $jq(this).attr("name");
								
		log(selectedId);

		$('video-clips-tab-content').hide();
		$('clip-player').show();
		$('clip-player-title').update(title);
		$('clip-player-description').update(description);
		
		if (FDMVideo.video)  //Brightcove template already loaded play title
		{
			FDMVideo.initialize(selectedId);
			FDMVideo.playTitleFromList(selectedId);
		}
		else // initialize and wait for template to load
		{
			FDMVideo.initialize(selectedId);
		}
		
		$('clip-player-close').observe('click',function(){
		   UnloadPlayer();
		});
		
	   $('episodesTab').observe('click',function(){
		   UnloadPlayer();
		});
	});
	
	function UnloadPlayer()
	{
		log("unload");

		$('video-clips-tab-content').show();
		$('clip-player').hide();

		FDMVideo.doPause();
	}
});



			
