/*
	VideoPlayer()
	
	Builds video player and communication between swf file and the page.
	
	required on page 
	<div id="videoplayer_div">
		<div id="player_wrapper">
			<div id="player_area"></div>
		</div>
	</div>
				
	requires 
		jquery
		swfobject
*/

function VideoPlayer () {

}

VideoPlayer.swf;
VideoPlayer.swfIsReady			= false;
VideoPlayer.videoAdPlaying 		= false;
VideoPlayer.data;
	
VideoPlayer.init = function(p_swfURL, p_configURL, p_width, p_height){
	
	var swfURL 		= p_swfURL;
	var swfID 		= "cn_video_player";
	var flashVars 	= { configURL: p_configURL}
	
	var swfParams 	= { allowScriptAccess	: "always",
						allowFullScreen		: "true",
						bgcolor				: "#000000",
						wmode 				: "transparent"};

	jQuery(document).ready(function(){
		swfobject.embedSWF(swfURL, "player_area", p_width, p_height, "9.0.0", "swf/expressInstall.swf", flashVars, swfParams, {id	: swfID,name: swfID});
	});
}

VideoPlayer.getFlashMovie = function(movieName){

	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}

VideoPlayer.onReady = function (){

	if(VideoPlayer.swfIsReady == false){
		VideoPlayer.swf = VideoPlayer.getFlashMovie("cn_video_player");
		VideoPlayer.swfIsReady = true;
	}
}

VideoPlayer.playVideo = function (p_obj){

	var o = new Object();

	o.collectionId 		= p_obj.collectionId;
	o.collectionTitle 	= p_obj.collectionTitle;
	o.episodeId 		= p_obj.id;
	o.episodeType 		= p_obj.episodeType;
	o.episodeTitle 		= p_obj.title;
	o.embed				= p_obj.embed;
	o.ranking 			= p_obj.ranking;
	o.segments 			= new Array();

	for(var x=0; x <= p_obj.segment.length - 1; x++){
		var segDuration = p_obj.duration[x];	
		var segID 		= p_obj.segment[x];
		var segThumb 	= p_obj.thumbnailUrl[x];
		var segment 	= new Object();

		segment.duration 		= segDuration;
		segment.segmentId 		= segID;
		segment.thumbnailUrl 	= segThumb;

		o.segments.push(segment);
	}			
	
	o.playEndSlate 		= false;
	
	if(o.collectionId == "8a25c39218ef808e0118f1012d1a0013"){
		o.sectionId			= "cn.com_videos_premieres"; 
	}else{
		o.sectionId			= (VideoData) ? VideoData.freeWheelSectionID : "cn.com_videos_archive"; 
	}
	
	o.pageUrl 			= (VideoData) ? VideoData.pageUrl : "http://www.cartoonnetwork.com";
	o.pathVideoPlayList = (VideoData) ? VideoData.videoPlayListPath : "http://www.cartoonnetwork.com/cnvideosvc2/svc/episodeservices/getVideoPlaylist?networkName=CN2";

	VideoPlayer.data = o;

	VideoPlayer.doDelayinitializeAndPlayVideo();
}

VideoPlayer.doDelayinitializeAndPlayVideo = function(){
	
	if(VideoPlayer.swfIsReady == false || VideoPlayer.videoAdPlaying){
		var delayVideoTimer = setTimeout("VideoPlayer.doDelayinitializeAndPlayVideo()",200);
	}else{
		VideoPlayer.swf.videoRequested(VideoPlayer.data);
	}
}

VideoPlayer.onAlert = function (val){

	alert(val);
}

VideoPlayer.onVideoStateChange = function (val){
	
	if(val == "ENDED"){
		if(VideoPresentation){VideoPresentation.next()};
	}
}

VideoPlayer.sendEmail = function (p_url){

	if(!VideoPlayer.videoAdPlaying){
		VideoPlayer.swf.sendToFriend();	
	}
}

VideoPlayer.onAdPlaying = function (val){

	VideoPlayer.videoAdPlaying = val;
}

VideoPlayer.onOpenFacebook = function (){
	
	if(VideoPresentation){
		VideoPresentation.shareFacebook();
	}
}

VideoPlayer.onPauseVideo = function (){

	VideoPlayer.swf.onPauseVideo();	
}

VideoPlayer.onResumeVideo = function (){

	VideoPlayer.swf.onResumeVideo();	
}

VideoPlayer.onReplayVideo = function (){

	VideoPlayer.swf.onReplayVideo();	
}

VideoPlayer.onShowEndSlate = function (){

	VideoPlayer.swf.onShowEndSlate();	
}

