/*
	VideoPresentation()
	
	Builds a Menu and its functionality for pages with video.
	
	required on page 
	/tools/js/video/VideoPresentation.js 

	<div id="VideoPresentation_ShowMore"></div>
	<div id="VideoPresentation_videoclips"></div>

	requires jquery
*/

function VideoPresentation(){
		
}

VideoPresentation.videoList 			= new Array(0);
VideoPresentation.tveVideoList 			= new Array(0);
VideoPresentation.achievementIDList		= new Array(0);
VideoPresentation.playList;
VideoPresentation.nowPlaying 			= "";
VideoPresentation.autoPlaying 			= true;
VideoPresentation.videoAutoPlayed		= true;
VideoPresentation.params 				= null;
VideoPresentation.initLoad 				= true;
VideoPresentation.initialPlay			= true;
VideoPresentation.hasAchievementVideo 	= false;
VideoPresentation.tveLoaded				= false;
VideoPresentation.tabClip				= false;
VideoPresentation.tabEpisode			= false;
VideoPresentation.tabExtra				= false;
VideoPresentation.videoTrackingData 	= {};
VideoPresentation.delayNextVideoTimer 	= null;
VideoPresentation.delayNextVideoloop 	= 10;
VideoPresentation.tveLinkURL 			= "/full-episodes/index.html?videoID=";

VideoPresentation.currentFilter		= "ALL";
VideoPresentation.currentSort		= "RECENT";

VideoPresentation.displayStartAt	= 0;
VideoPresentation.displayEndAt 		= 0;
VideoPresentation.displayInterval	= 0;

VideoPresentation.init = function(p_itemsToShow){

	VideoPresentation.params 			= VideoData.getQueryData();
	VideoPresentation.displayInterval	= p_itemsToShow == undefined ? 5 : p_itemsToShow;
	VideoPresentation.displayEndAt		= VideoPresentation.displayInterval;
	
	VideoPresentation.achievementIDList[0] = "8a25c39218ef808e0118f1012d1a0013";
	VideoPresentation.achievementIDList[1] = "8a250ab03119fb4b01314ded81ea03c6";
}

VideoPresentation.onDataReady = function(){

	VideoPresentation.truncateVideoTitles();
	
	VideoPresentation.videoList = VideoData.getVideoList();
	VideoPresentation.filterVideoListBy("ALL");

	VideoPresentation.enableTabs();

	VideoPresentation.buildPlayList();

	if(VideoPresentation.videoList.length >= 1){
//	alert('list is 1');

		var collection_found = false;

		//check for achievement videos
		for(var y=0; y <= VideoPresentation.videoList.length -1; y++){

			//look for collection to show messaging
			for(var z=0; z <= VideoPresentation.achievementIDList.length -1; z++){
				if(VideoPresentation.videoList[y].collectionId == VideoPresentation.achievementIDList[z] ){
					collection_found = true;					
				}
			}
			
			if(collection_found){
				VideoPresentation.hasAchievementVideo = true;
				if(VideoPresentation.initialPlay){
					VideoAchievementModule.achievementShowHidePreGame("block");
				}
				break;
			}
		}
		
		if(VideoPresentation.params.episodeID != null){
			//check for deep linking
			for(var x=0; x <= VideoPresentation.videoList.length -1; x++){
				if(VideoPresentation.videoList[x].id == VideoPresentation.params.episodeID){
					VideoPresentation.autoPlayVideo(VideoPresentation.videoList[x]);
					break;
				}
			}
		}else{
//			alert("else");
			//else default to first clip in list
			VideoPresentation.autoPlayVideo(VideoPresentation.videoList[0]);
		}
	}
}

VideoPresentation.onTVEDataReady = function(p_tveVideoList){
	VideoPresentation.tveLoaded = true;	
	VideoPresentation.tveVideoList = p_tveVideoList;
}


VideoPresentation.doFilter = function(p_data, p_sortType){
	var data = new Array(0);

	for(var i=0; i <= p_data.length -1; i++){

		if(p_sortType == "CLIPS" && VideoPresentation.doTruncateEpType(p_data[i].episodeType) == "CLI" && p_data[i].episodeType != "CLI-EXT"){
			data.push(p_data[i]);
		}	
		if(p_sortType == "EPISODES" && VideoPresentation.doTruncateEpType(p_data[i].episodeType) == "EPI"){
			data.push(p_data[i]);
		}	
		if(p_sortType == "EXTRAS" && p_data[i].episodeType == "CLI-EXT"){
			data.push(p_data[i]);
		}
		if(p_sortType == "ALL"){
			data.push(p_data[i]);
		}
		
		//turn on appropriate tabs during the initial filtering of data 
		if(VideoPresentation.initLoad){
			if(VideoPresentation.doTruncateEpType(p_data[i].episodeType) == "CLI" && p_data[i].episodeType != "CLI-EXT"){
				VideoPresentation.tabClip		= true;
			}	
			if(VideoPresentation.doTruncateEpType(p_data[i].episodeType) == "EPI"){
				VideoPresentation.tabEpisode	= true;
			}	
			if(p_data[i].episodeType == "CLI-EXT"){
				VideoPresentation.tabExtra		= true;
			}
		}	
	}
	
	VideoPresentation.initLoad = false;
	return data
}

VideoPresentation.filterVideoListBy = function(p_sort){
	
/*
	VideoPresentation.videoList = new Array(0);

	if(typeof(VideoData.getVideoList) == "function"){ 
	
		switch(p_sort){
			case "CLIPS" :
				VideoPresentation.videoList = VideoPresentation.doFilter(VideoData.getVideoList(), "CLIPS");
			break;
			case "EPISODES" :
				VideoPresentation.videoList = VideoPresentation.doFilter(VideoData.getVideoList(), "EPISODES");
			break;
			case "EXTRAS" :
				VideoPresentation.videoList = VideoPresentation.doFilter(VideoData.getVideoList(), "EXTRAS");
			break;
			
			default :
				VideoPresentation.videoList = VideoPresentation.doFilter(VideoData.getVideoList(), "ALL");
			break;
		}
	}

	VideoPresentation.currentFilter = p_sort;

	VideoPresentation.sortVideoListBy(document.getElementById("iconTheme").options[document.getElementById("iconTheme").selectedIndex].value);

	VideoPresentation.buildView(true);
*/
}

VideoPresentation.mdyOrder = function(a, b){

	var dateRE = /^(\d{2})[\/\- ](\d{2})[\/\- ](\d{4})/;

	a = a.launchDate.replace(dateRE,"$3$1$2");
	b = b.launchDate.replace(dateRE,"$3$1$2");
	if (a>b) return -1;
	if (a<b) return 1;
	return 0; 
} 

VideoPresentation.rankOrder = function(a, b){

	return b.ranking - a.ranking;
} 

VideoPresentation.viewOrder = function(a, b){

	return b.numberOfViews - a.numberOfViews;
} 

VideoPresentation.doSort = function(p_data, p_sortType){
	
	var data = p_data;
	
		if(p_sortType == "RECENT"){
			data.sort( VideoPresentation.mdyOrder );
		}	
		if(p_sortType == "TOPRATED"){
			data.sort( VideoPresentation.rankOrder );
		}	
		if(p_sortType == "MOSTVIEWED"){
			data.sort( VideoPresentation.viewOrder );
		}	
	
	return data
}

VideoPresentation.doSortVideoListBy = function(){
	VideoPresentation.filterVideoListBy(VideoPresentation.currentFilter);
}

VideoPresentation.sortVideoListBy = function(p_sort){

	if(typeof(VideoData.getVideoList) == "function"){ 
		switch(p_sort){
			case "RECENT" :
				VideoPresentation.videoList = VideoPresentation.doSort(VideoPresentation.videoList, "RECENT");
				jQuery('#VideoPresentationSelect').empty();
				jQuery('#VideoPresentationSelect').html("MOST RECENT");
			break;
			case "TOPRATED" :
				VideoPresentation.videoList = VideoPresentation.doSort(VideoPresentation.videoList, "TOPRATED");
				jQuery('#VideoPresentationSelect').empty();
				jQuery('#VideoPresentationSelect').html("TOP RATED");
			break;
			case "MOSTVIEWED" :
				VideoPresentation.videoList = VideoPresentation.doSort(VideoPresentation.videoList, "MOSTVIEWED");
				jQuery('#VideoPresentationSelect').empty();
				jQuery('#VideoPresentationSelect').html("MOST VIEWED");
			break;
		}
	}	

	VideoPresentation.currentSort = p_sort;

	VideoPresentation.buildView(true);
}

VideoPresentation.disableShowMoreButton = function(p_state){
	
	if(document.getElementById("VideoPresentation_ShowMore")){	
		document.getElementById("VideoPresentation_ShowMore").style.display = p_state ? "none" : "block";
	}
}

VideoPresentation.showMore = function(){
	VideoPresentation.buildView(false);
}

VideoPresentation.buildView = function(p_empty){

	if(p_empty){
		VideoPresentation.displayStartAt	= 0;
		VideoPresentation.displayEndAt 		= VideoPresentation.displayInterval - 1;
		VideoPresentation.disableShowMoreButton(false);

		jQuery('#VideoPresentation_videoclips_recent').empty();
		jQuery('#VideoPresentation_videoclips').empty();
	}
	
	if(document.getElementById("VideoPresentation_justadded")){	
		document.getElementById("VideoPresentation_justadded").style.display = (VideoPresentation.currentFilter == "ALL" && VideoPresentation.currentSort == "RECENT") ? "block" : "none";
	}
	
	for(var i=VideoPresentation.displayStartAt; (i <= VideoPresentation.displayEndAt) && (i <= VideoPresentation.videoList.length - 1); i++){
	
		var durStr = 0;
		var txtStr = "";
		var createShortView = false;
		var imgSrc = (VideoPresentation.videoList[i].id == VideoPresentation.nowPlaying) ? "../tools/img/video_playing.png" : "../tools/img/video_playicon.png";
		
		for(var n=0; n <= VideoPresentation.videoList[i].segment.length -1; n++){
		
			var num = new Number(VideoPresentation.videoList[i].duration[n]);
			durStr = durStr + num;
		}			 
		
		if(VideoPresentation.currentFilter == "ALL" && VideoPresentation.currentSort == "RECENT"){
			createShortView = (i == 0 || i == 1) ? true : false;
		}

		if(createShortView){
			jQuery("<div class='clip' 		id='VideoPresentation_videoclip_"	+ VideoPresentation.videoList[i].id + "' onclick='javascript:VideoPresentation.playVideo(VideoPresentation.videoList["+i+"]);'></div>").appendTo(jQuery('#VideoPresentation_videoclips_recent'));
			jQuery("<div class='image' 		id='VideoPresentation_image_"		+ VideoPresentation.videoList[i].id + "'></div>").html("<div class='thumb'><img src ='" +  VideoPresentation.videoList[i].thumb + "' width='144' height='81' border='0'></div><div class='overlay'><img src ='"+imgSrc+"' width='144' height='81' border='0' id='VideoPresentation_playnow_"+ VideoPresentation.videoList[i].id +"'></div>").appendTo(jQuery('#VideoPresentation_videoclip_'+ VideoPresentation.videoList[i].id));

			txtStr += "<div class='title'>"	+ VideoPresentation.videoList[i].title																+ "</div>";
			txtStr += "<div class='textwrap'><span class='eptype'>"		+ VideoPresentation.doReturnReadableEpType(VideoPresentation.videoList[i].episodeType)			   	+ "</span>";
			txtStr += "<span class='pipe'>|</span><span class='time'> "		+ VideoPresentation.secondsTohhmmss(durStr)															+ "</span></div>";
			txtStr += "<div class='details'>"	+ VideoPresentation.videoList[i].numberOfViews														+ " VIEWS </div>";
			txtStr += "<div class='ratingstars'>"	+ VideoPresentation.getStars(VideoPresentation.videoList[i].ranking, "read-only") 					+ "</div>";
			
			jQuery("<div class='text' 		id='VideoPresentation_text_"		+ VideoPresentation.videoList[i].id + "'></div>").html(txtStr).appendTo(jQuery('#VideoPresentation_videoclip_'+ VideoPresentation.videoList[i].id));
			
		}else{	
			var classmameStr = (VideoPresentation.videoList[i].id == VideoPresentation.nowPlaying) ? "videoclipOn" : "videoclip";
			
			jQuery("<div class='"+classmameStr+"' 	id='VideoPresentation_videoclip_"	+ VideoPresentation.videoList[i].id + "' onclick='javascript:VideoPresentation.playVideo(VideoPresentation.videoList["+i+"]);'></div>").appendTo(jQuery('#VideoPresentation_videoclips'));
			jQuery("<div class='image' 		id='VideoPresentation_image_"		+ VideoPresentation.videoList[i].id + "'></div>").html("<div class='thumb'><img src ='" +  VideoPresentation.videoList[i].thumb + "' width='144' height='81' border='0'></div><div class='overlay'><img src ='"+imgSrc+"' width='144' height='81' border='0' id='VideoPresentation_playnow_"+ VideoPresentation.videoList[i].id +"'></div>").appendTo(jQuery('#VideoPresentation_videoclip_'+ VideoPresentation.videoList[i].id));
	
			txtStr += "<div class='title'>"	+ VideoPresentation.videoList[i].title																+"</div>";
			txtStr += "<div class='description'>"	+ VideoPresentation.videoList[i].description														+"</div>";
			txtStr += "<div class='textwrap'><span class='eptype'>"		+ VideoPresentation.doReturnReadableEpType(VideoPresentation.videoList[i].episodeType)			+"</span>";
			txtStr += "<span class='details'><span class='pipe'>|</span> "	+ VideoPresentation.secondsTohhmmss(durStr)+" <span class='pipe'>|</span> "+VideoPresentation.videoList[i].numberOfViews	+" VIEWS</span>";
			txtStr += "<span class='ratingstars' ><span class='pipe'>|</span>"	+ VideoPresentation.getStars(VideoPresentation.videoList[i].ranking, "read-only") 				+"</span></div>";
			
			jQuery("<div class='text' 		id='VideoPresentation_text_"		+ VideoPresentation.videoList[i].id + "'></div>").html(txtStr).appendTo(jQuery('#VideoPresentation_videoclip_'+ VideoPresentation.videoList[i].id));
		}
	}

	if(VideoPresentation.displayEndAt >= (VideoPresentation.videoList.length - 1)){
		VideoPresentation.disableShowMoreButton(true);
	}

	VideoPresentation.displayStartAt = VideoPresentation.displayEndAt + 1;
	VideoPresentation.displayEndAt += VideoPresentation.displayInterval;
}

VideoPresentation.doReturnReadableEpType = function(p_str){

	var s = VideoPresentation.doTruncateEpType(p_str);

	switch(s){
		case "EPI" :
			s = "FULL EPISODE";
		break;
		case "CLI" :
		s = (p_str == "CLI-EXT") ? "EXTRA" : "CLIP";
		break;
	}
	return s;
}

VideoPresentation.doTruncateEpType = function(p_str){

	return p_str.substring(0, 3);
}

VideoPresentation.doTruncateDate = function(p_str){

	return p_str.substring(0, 10);
}

VideoPresentation.secondsTohhmmss = function(p_num) {
	
	var num = new Number(p_num);

	var h = Math.floor(num / 3600);
	var m = Math.floor(num % 3600 / 60);
	var s = Math.floor(num % 3600 % 60);
	var str = "";
	
	str += h > 0 ? h + ":" : "";
	str += m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "00:";

	if(s < 10 && m >= 1){
		str += "0" + s;
	}else{
		str += s < 10 ? "0" + s : "" + s;
	}

	return str;
}

VideoPresentation.changeView = function(p_id){
	
	if(document.getElementById("VideoPresentationAllDiv")){	
		document.getElementById("VideoPresentationAllDiv").className = "tab";
	}
	if(document.getElementById("VideoPresentationClipsDiv")){	
		document.getElementById("VideoPresentationClipsDiv").className = "tab";
	}
	if(document.getElementById("VideoPresentationEpisodesDiv")){	
		document.getElementById("VideoPresentationEpisodesDiv").className = "tab";
	}
	if(document.getElementById("VideoPresentationExtrasDiv")){	
		document.getElementById("VideoPresentationExtrasDiv").className = "tab";
	}

	p_id.className = "tab_on";
}

VideoPresentation.getStars = function (p_rating,p_state) {

	var starString 			= "";
	var starRatingFloat		= parseFloat(p_rating);
	var starRatingFloor 	= Math.floor(starRatingFloat)
	starRatingFloor 		= starRatingFloor <= 5 ? starRatingFloor : 5;

	if (isNaN(starRatingFloor)) {
		starRatingFloor = 0;
	}
	
	for (i = 1; i <= 5; i++) {
		if (p_state == "read-only") {
			starString += (i <= starRatingFloor) ? '<span><img src="/tools/img/home/star_full.png" width="13" height="13" alt="" border="0"></span>' : '<span><img src="/tools/img/home/star_empty.png" width="13" height="13" alt="" border="0"></span>';
		} else if(p_state == "rollover") {
			starString += (i <= starRatingFloor) ? '<span><a href="javascript:VideoPresentation.doRate('+i+')" onmouseover="javascript:VideoPresentation.starMouseRoll('+i+')" onmouseout="javascript:VideoPresentation.starMouseRoll('+starRatingFloor+')"><img src="/tools/img/home/star_full.png" id="videoPresentationStar_'+i+'" width="13" height="13" alt="" border="0"></a></span>' : '<span><a href="javascript:VideoPresentation.doRate('+i+')"  onmouseover="javascript:VideoPresentation.starMouseRoll('+i+')" onmouseout="javascript:VideoPresentation.starMouseRoll('+starRatingFloor+')"><img src="/tools/img/home/star_empty.png" id="videoPresentationStar_'+i+'" width="13" height="13" alt="" border="0"></a></span>';
		} else{
			starString += (i <= starRatingFloor) ? '<span><a href="javascript:VideoPresentation.doRate('+i+')"><img src="/tools/img/home/star_full.png" width="13" height="13" alt="" border="0"></a></span>' : '<span><a href="javascript:VideoPresentation.doRate('+i+')"><img src="/tools/img/home/star_empty.png" width="13" height="13" alt="" border="0"></a></span>';
		}
	}
	
	return starString;
}

VideoPresentation.doRate = function(p_rate){
	
	var ratingsPath = "";
	var str = "";
	
	if(VideoData.ratingsPath){
		ratingsPath = VideoData.ratingsPath;

		// send request
		jQuery.post(ratingsPath, {id: VideoPresentation.nowPlaying, rating: p_rate});
	}
	
	if(document.getElementById("videoPlayerStarRate")){	
		document.getElementById("videoPlayerStarRate").innerHTML = VideoPresentation.getStars(p_rate, "read-only") ;
	}
}

VideoPresentation.starMouseRoll = function(p_num){
	p_num++;
	for (i = 1; i <= 5; i++) {
		document.getElementById("videoPresentationStar_" + i).src = (i >= p_num) ? "/tools/img/home/star_empty.png" : "/tools/img/home/star_full.png";
	}	
}

VideoPresentation.buildPlayList = function(){

	VideoPresentation.playList = VideoPresentation.videoList; 
}

VideoPresentation.next = function(){

	if(VideoPresentation.autoPlaying){
		for(var x=0; x <= VideoPresentation.playList.length-1; x++){
			if(VideoPresentation.playList[x].id == VideoPresentation.nowPlaying){
				if(x == (VideoPresentation.playList.length-1)){
					if(VideoPlayer.onShowEndSlate){
						VideoPlayer.onShowEndSlate();
					}
				}else{
					if(document.getElementById("player_endslate")){
						VideoPresentation.writeEndSlate();	
						VideoPlayer.onPauseVideo();
						document.getElementById("player_endslate").style.display = "block";
						VideoPresentation.clearTimer();
						VideoPresentation.countdownClock();
					}else{
						VideoPresentation.beginNextVideoPlay();
					}
				}
				break;
			}
		}
	}else{
		VideoPresentation.beginNextVideoPlay();
	}

	
}

VideoPresentation.countdownClock = function(){

	if(VideoPresentation.delayNextVideoloop == 0){
		VideoPresentation.delayNextVideoloop = 10;
		VideoPresentation.beginNextVideoPlay();
	}else{

		jQuery("#player_endslate_msg").empty();
		jQuery("<div style='color: #ffffff; line-height:15px; font: bold 28px CNBold,Trebuchet MS,sans-serif; position:absolute; left:65px; top:22px;'></div>").html("YOUR NEXT").appendTo(jQuery('#player_endslate_msg'));
		jQuery("<div style='color: #ffffff; line-height:15px; font: bold 28px CNBold,Trebuchet MS,sans-serif; position:absolute; left:65px; top:50px;'></div>").html("VIDEO BEGINS IN: " + VideoPresentation.delayNextVideoloop).appendTo(jQuery('#player_endslate_msg'));

		VideoPresentation.delayNextVideoTimer = setTimeout("VideoPresentation.countdownClock()", 1000);
		VideoPresentation.delayNextVideoloop --;
	}
}

VideoPresentation.beginNextVideoPlay = function(){
	
	if(document.getElementById("player_endslate")){
		VideoPlayer.onResumeVideo();
		document.getElementById("player_endslate").style.display = "none";
	}
	
	if(VideoPresentation.autoPlaying){
		for(var x=0; x <= VideoPresentation.playList.length-1; x++){
			if(VideoPresentation.playList[x].id == VideoPresentation.nowPlaying){
				VideoPresentation.autoPlayVideo(VideoPresentation.playList[x+1]);
				break;
			}
		}
	}
}

VideoPresentation.playVideo = function(p_obj){

	if(VideoPlayer.videoAdPlaying == false && VideoPresentation.nowPlaying != p_obj.id){

		if(document.getElementById("player_endslate")){
			VideoPresentation.clearTimer(); 
			VideoPresentation.clearEndslate();
		}
		
		window.scrollTo(0,356);

		VideoPresentation.buildPlayList();
		VideoPresentation.autoPlaying = true;
	
		VideoPresentation.nowPlaying = p_obj.id;
	
		VideoPresentation.writeCopy(p_obj);
		
		if(VideoPlayer.playVideo){
			VideoPresentation.initialPlay = false;
			VideoAchievementModule.achievementShowHidePreGame("none");
			VideoPlayer.playVideo(p_obj);
		}

		VideoPresentation.videoAutoPlayed = false;
		VideoPresentation.toggleNowPlaying(VideoPresentation.nowPlaying);
		VideoPresentation.updateShareCopy();
	}
}

VideoPresentation.playTVEVideo = function(p_epID){
	
	location.href = VideoPresentation.tveLinkURL + p_epID;
	
}

VideoPresentation.autoPlayVideo = function(p_obj){

	VideoPresentation.nowPlaying = p_obj.id;
//	VideoPresentation.writeCopy(p_obj);
	
	if(VideoPlayer.playVideo){
		
//		var doPlayVideo = (document.getElementById("achievements_module_comm_wrapper") != null && LoginModule.isLoggedIn == false && VideoPresentation.initialPlay && VideoPresentation.hasAchievementVideo) ? false : true;

	doPlayVideo = true;
		if(doPlayVideo){
			VideoPresentation.initialPlay = false;
//			VideoAchievementModule.achievementShowHidePreGame("none");
			VideoPlayer.playVideo(p_obj);
		}
	}
	
	VideoPresentation.videoAutoPlayed = true;
//	VideoPresentation.toggleNowPlaying(VideoPresentation.nowPlaying);
	VideoPresentation.updateShareCopy();
}

VideoPresentation.continueAutoPlayVideo = function(){

	VideoPresentation.initialPlay = false;
	
	if(VideoPresentation.videoList.length >= 1){
		for(var x=0; x <= VideoPresentation.videoList.length-1; x++){
			if(VideoPresentation.videoList[x].id == VideoPresentation.nowPlaying){
				VideoPresentation.autoPlayVideo(VideoPresentation.videoList[x]);
				break;
			}
		}
	}
}

VideoPresentation.writeCopy = function(p_obj){
/*
	if(document.getElementById("videoModuleVideoPlayerCopy")){	
		document.getElementById("videoModuleVideoPlayerCopy").style.display = "block";
	}
	if(document.getElementById("videoPlayerRate")){	
		document.getElementById("videoPlayerRate").innerHTML = "<img src='"+ p_obj.epiRatingImage+"' width='19' height='19'>";
	}
	if(document.getElementById("videoPlayerTitle")){	
		document.getElementById("videoPlayerTitle").innerHTML = p_obj.title;
	}
	if(document.getElementById("videoPlayerDesc")){	
		document.getElementById("videoPlayerDesc").innerHTML = p_obj.description;
	}
	if(document.getElementById("videoPlayerEptype")){	
		document.getElementById("videoPlayerEptype").innerHTML = VideoPresentation.doReturnReadableEpType(p_obj.episodeType);
	}

	var durStr = 0;
	if(document.getElementById("videoPlayerDuration")){	
		for(var n=0; n <= p_obj.duration.length -1; n++){
			var num = new Number(p_obj.duration[n]);
			durStr = durStr + num;
		}			 
		document.getElementById("videoPlayerDuration").innerHTML = VideoPresentation.secondsTohhmmss(durStr);
	}
	if(document.getElementById("videoPlayerViews")){	
		document.getElementById("videoPlayerViews").innerHTML = p_obj.numberOfViews + " VIEWS";
	}
	if(document.getElementById("videoPlayerStarRate")){	
		document.getElementById("videoPlayerStarRate").innerHTML = VideoPresentation.getStars(p_obj.ranking, "rollover") ;
	}
	if(document.getElementById("videoPlayerShareBtn")){	
		document.getElementById("videoPlayerShareBtn").innerHTML = p_obj.embed == true ? "<a href='javascript:VideoPresentation.sendViralLink("+p_obj.embed+")' onmouseover='javascript:document.getElementById("+'"VideoPresentationShareBTN"'+").src="+'"/tv_shows/tools/img/video_share_fb_hover.png"'+"' onmouseout='javascript:document.getElementById("+'"VideoPresentationShareBTN"'+").src="+'"/tv_shows/tools/img/video_share_fb.png"'+"'><img src='/tv_shows/tools/img/video_share_fb.png' id='VideoPresentationShareBTN' width='83' height='22' border='0'></a>" : "<a href='javascript:VideoPresentation.sendViralLink("+p_obj.embed+")' onmouseover='javascript:document.getElementById("+'"VideoPresentationShareBTN"'+").src="+'"/tv_shows/tools/img/video_share_hover.png"'+"' onmouseout='javascript:document.getElementById("+'"VideoPresentationShareBTN"'+").src="+'"/tv_shows/tools/img/video_share.png"'+"'><img src='/tv_shows/tools/img/video_share.png' id='VideoPresentationShareBTN' width='83' height='22' border='0'></a>";
	}
*/
}

VideoPresentation.writeEndSlate = function(){

	jQuery("#player_endslate_clips").empty();
	jQuery("#player_endslate_links").empty();
	jQuery("#player_endslate_gph").empty();


	for(var x=0; x <= VideoPresentation.playList.length -1; x++){
		if(VideoPresentation.playList[x].id == VideoPresentation.nowPlaying){

			jQuery("<div class='player_endslate_arrow'></div>").html("<img src='/tv_shows/tools/img/endslate_arrow.gif' width='54' height='45' border='0'>").appendTo(jQuery('#player_endslate_gph'));

			jQuery("<div class='player_endslate_sharebtn'></div>").html("<a href='javascript:VideoPresentation.sendViralLink("+VideoPresentation.playList[x].embed+");' onmouseover='javascript:document.getElementById("+'"endslate_sharebtn"'+").src="+'"/tv_shows/tools/img/endslate_share_on.gif"'+"' onmouseout='javascript:document.getElementById("+'"endslate_sharebtn"'+").src="+'"/tv_shows/tools/img/endslate_share.gif"'+"'><img src='/tv_shows/tools/img/endslate_share.gif' width='41' height='41' border='0' id='endslate_sharebtn'></a>").appendTo(jQuery('#player_endslate_links'));
			jQuery("<div class='player_endslate_replaybtn'></div>").html("<a href='javascript:VideoPresentation.replayVideo();' onmouseover='javascript:document.getElementById("+'"endslate_replaybtn"'+").src="+'"/tv_shows/tools/img/endslate_replay_on.gif"'+"' onmouseout='javascript:document.getElementById("+'"endslate_replaybtn"'+").src="+'"/tv_shows/tools/img/endslate_replay.gif"'+"'><img src='/tv_shows/tools/img/endslate_replay.gif' width='41' height='41' border='0' id='endslate_replaybtn'></a>").appendTo(jQuery('#player_endslate_links'));

			
			var nextIndexTop 	= 0;
			var nextIndexBottom = 0;
			
			switch(VideoPresentation.playList.length - 1 - x){
				case 1	:
					nextIndexTop 	= x + 1;
					nextIndexBottom = 0;
					break;
				case 0	:
					nextIndexTop 	= 0;
					nextIndexBottom = VideoPresentation.playList.length - 1 >= 1 ? 1 : 0;
					break;
				default:
					nextIndexTop 	= x + 1;
					nextIndexBottom = x + 2;
					break;
			}
				
			jQuery("<div class='player_endslate_upnext_left' onclick='javascript:VideoPresentation.playVideo(VideoPresentation.videoList["+nextIndexTop+"]);'></div>").html("<div style='float:left; width=145px; height=83px; position:absolute;'><img src ='"+VideoPresentation.videoList[nextIndexTop].thumb+"' width='145' height='83' border='0'></div><div style='float:left; width=145px; height=83px; position:absolute;'><img src ='/tv_shows/tools/img/video_playicon.png' width='145' height='83' border='0'></div><div class='upnext_title'>" +  VideoPresentation.videoList[nextIndexTop].title + "</div>").appendTo(jQuery('#player_endslate_clips'));
			jQuery("<div class='player_endslate_upnext_right' onclick='javascript:VideoPresentation.playVideo(VideoPresentation.videoList["+nextIndexBottom+"]);'></div>").html("<div style='float:left; width=145px; height=83px; position:absolute;'><img src ='"+VideoPresentation.videoList[nextIndexBottom].thumb+"' width='145' height='83' border='0'></div><div style='float:left; width=145px; height=83px; position:absolute;'><img src ='/tv_shows/tools/img/video_playicon.png' width='145' height='83' border='0'></div><div class='upnext_title'>" +  VideoPresentation.videoList[nextIndexBottom].title + "</div>").appendTo(jQuery('#player_endslate_clips'));
		}
	}
	
	jQuery("<div id='player_endslate_clip_container'></div>").appendTo(jQuery('#player_endslate_clips'));
	
	if(VideoPresentation.tveLoaded){
		var n=0;
		var xyPos = "";
		
		if(VideoPresentation.tveVideoList.length >= 3){
			for(var y=0; y <= VideoPresentation.tveVideoList.length -1; y++){
				
				switch(n){
					case 0 :
						xyPos="top:4px; left:140px;";
					break;
					case 1 :
						xyPos="top:4px; left:296px;";
					break;
					case 2 :
						xyPos="top:4px; left:452px;";
					break;
				}
			
				if(VideoPresentation.tveVideoList[y].isTVE){
					n++;
					jQuery("<div class='player_endslate_tve' style='"+xyPos+"' onclick='javascript:VideoPresentation.clearTimer(); VideoPresentation.playTVEVideo("+VideoPresentation.tveVideoList[y].episodeId+");'></div>").html("<div class='tve_img'><img src ='" +  VideoPresentation.tveVideoList[y].thumbnailUrl + "' width='141' height='78' border='0'></div><div style='float:left; width=141px; height=78px; position:absolute;'><img src ='/tv_shows/tools/img/video_playicon.png' width='144' height='81' border='0'></div><div class='tve_title'>"+VideoPresentation.truncateText(VideoPresentation.tveVideoList[y].title, 23)+"</div>").appendTo(jQuery('#player_endslate_clip_container'));
				}else{
					for(var z=0; z <= VideoPresentation.videoList.length -1; z++){
						if(VideoPresentation.videoList[z].id == VideoPresentation.tveVideoList[y].episodeId){
							n++;
							jQuery("<div class='player_endslate_tve' style='"+xyPos+"' onclick='javascript:VideoPresentation.playVideo(VideoPresentation.videoList["+z+"]);'></div>").html("<div class='tve_img'><img src ='" +  VideoPresentation.videoList[z].thumb + "' width='141' height='78' border='0'></div><div style='float:left; width=141px; height=78px; position:absolute;'><img src ='/tv_shows/tools/img/video_playicon.png' width='144' height='81' border='0'></div><div class='tve_title'>"+VideoPresentation.truncateText(VideoPresentation.tveVideoList[y].title, 23)+"</div>").appendTo(jQuery('#player_endslate_clip_container'));
						}
					}
				}
				
				if(n == 3){
					break;
				}
			}
		}
	}else{
		//fail safe
		var n=0;

		for(var y=0; y <= VideoPresentation.videoList.length -1; y++){
			
			switch(n){
				case 0 :
					xyPos="top:4px; left:140px;";
				break;
				case 1 :
					xyPos="top:4px; left:296px;";
				break;
				case 2 :
					xyPos="top:4px; left:452px;";
				break;
			}
		
			if(VideoPresentation.videoList[y].episodeType.indexOf("CLI") > -1){
				n++;
				jQuery("<div class='player_endslate_tve' style='"+xyPos+"' onclick='javascript:VideoPresentation.playVideo(VideoPresentation.videoList["+y+"]);'></div>").html("<div class='tve_img'><img src ='" +  VideoPresentation.videoList[y].thumb + "' width='141' height='78' border='0'></div><div style='float:left; width=141px; height=78px; position:absolute;'><img src ='/tv_shows/tools/img/video_playicon.png' width='144' height='81' border='0'></div><div class='tve_title'>"+VideoPresentation.truncateText(VideoPresentation.tveVideoList[y].title, 23)+"</div>").appendTo(jQuery('#player_endslate_clip_container'));
			}

			if(n == 3){
				break;
			}
		}
	}
}

VideoPresentation.toggleNowPlaying = function(p_id){

	var divID 			= "VideoPresentation_videoclip_" + p_id;
	var divIDplayNow 	= "VideoPresentation_playnow_" + p_id;
	
	for(var x=0; x <= VideoPresentation.videoList.length -1; x++){
		var turnOffdivID 		= "VideoPresentation_videoclip_" +VideoPresentation.videoList[x].id;
		var turnOffdivIDplayNow = "VideoPresentation_playnow_" +VideoPresentation.videoList[x].id;

		//turn off all clips
		if(document.getElementById(turnOffdivID)){	
			if(document.getElementById(turnOffdivID).className == "videoclip" || document.getElementById(turnOffdivID).className == "videoclipOn"){
				document.getElementById(turnOffdivID).className = "videoclip";
			}
		}

		if(document.getElementById(turnOffdivIDplayNow)){
			document.getElementById(turnOffdivIDplayNow).src = "../tools/img/video_playicon.png";
		}				

		//turn on any clips in current view
		if(VideoPresentation.videoList[x].id == p_id){
			if(document.getElementById(divID)){	
				if(document.getElementById(divID).className == "videoclip" || document.getElementById(divID).className == "videoclipOn"){
					document.getElementById(divID).className = "videoclipOn";
				}
			}

			if(document.getElementById(divIDplayNow)){
				document.getElementById(divIDplayNow).src = "../tools/img/video_playing.png";
			}				
		}			
	}
}

VideoPresentation.updateShareCopy = function(){
	if(document.getElementById("copyLinkField")){
		var str = document.location.pathname;
		var hst = document.location.host;
		document.getElementById("copyLinkField").value= "http://" + hst + str + "?episodeID=" + VideoPresentation.nowPlaying
	}
}

VideoPresentation.enableTabs = function(){
/*
	if(document.getElementById("VideoPresentationClipsDiv") 	&& VideoPresentation.tabClip){	
		document.getElementById("VideoPresentationClipsDiv").style.display = "block";
	}
	if(document.getElementById("VideoPresentationEpisodesDiv") 	&& VideoPresentation.tabEpisode){	
		document.getElementById("VideoPresentationEpisodesDiv").style.display = "block";
	}
	if(document.getElementById("VideoPresentationExtrasDiv") 	&& VideoPresentation.tabExtra){	
		document.getElementById("VideoPresentationExtrasDiv").style.display = "block";
	}

	if(document.getElementById("VideoPresentationExtrasDiv") 	&& VideoPresentation.tabExtra){	
		document.getElementById("VideoPresentationExtrasDiv").style.borderRight="1px solid white";
	}else if(document.getElementById("VideoPresentationEpisodesDiv") 	&& VideoPresentation.tabEpisode){	
		document.getElementById("VideoPresentationEpisodesDiv").style.borderRight="1px solid white";
	}else if(document.getElementById("VideoPresentationClipsDiv") 	&& VideoPresentation.tabClip){	
		document.getElementById("VideoPresentationClipsDiv").style.borderRight="1px solid white";
	}
*/
}

VideoPresentation.clearTimer = function(){

	clearTimeout(VideoPresentation.delayNextVideoTimer);
	VideoPresentation.delayNextVideoloop = 10;
	
}

VideoPresentation.pauseTimer = function(){
	
	var tempTimer = VideoPresentation.delayNextVideoloop;
	clearTimeout(VideoPresentation.delayNextVideoTimer);
	VideoPresentation.delayNextVideoloop = tempTimer;
}

VideoPresentation.resumeTimer = function(){
	VideoPresentation.countdownClock();
}

VideoPresentation.clearEndslate = function(){
	
	if(document.getElementById("player_endslate")){
		document.getElementById("player_endslate").style.display = "none";
	}
}

VideoPresentation.replayVideo = function(){

	VideoPresentation.clearTimer();
	
	VideoPresentation.clearEndslate();
	
	for(var x=0; x <= VideoPresentation.playList.length -1; x++){
		if(VideoPresentation.playList[x].id == VideoPresentation.nowPlaying){
			VideoPresentation.playVideo(VideoPresentation.videoList[x]);
		}
	}
	
	VideoPlayer.onReplayVideo();
}

VideoPresentation.closeViral = function(){

	if(document.getElementById("player_endslate")){
		if(document.getElementById("player_endslate").style.display == "block"){
			VideoPresentation.resumeTimer();
		}else{
			VideoPlayer.onResumeVideo();
		}
	}else{
		VideoPlayer.onResumeVideo();
	}
}

VideoPresentation.sendViralLink = function(p_hideFB){

	if(document.getElementById("videopresentation_fbShareBox")){
		document.getElementById("videopresentation_fbShareBox").style.display = (p_hideFB == true) ? "block" : "none";
	}	
	
	if(document.getElementById("player_endslate").style.display == "block"){
		VideoPresentation.pauseTimer();
	}else{
		VideoPlayer.onPauseVideo();
	}
	
	if((typeof(showPlayerWindow) == "function")){
		showPlayerWindow({visible: true});
	}
}

VideoPresentation.shareFacebook = function(){

	for(var x=0; x <= VideoPresentation.playList.length -1; x++){
		if(VideoPresentation.playList[x].id == VideoPresentation.nowPlaying){
			if(VideoPresentation.playList[x].embed){
 				var windowURL = "http://www.cartoonnetwork.com/fb/video_share.html?episodeID=" + VideoPresentation.nowPlaying;
				window.open(windowURL,'fbBufferWin','width=627,height=310');
			}
			break;
		}
	}
}

VideoPresentation.getQueryData = function(){

	var vals = location.search.substring(1, location.search.length).split("&");
	var val;
	var i = vals.length;
	var result = {};

	while(i--)
	{
		val = vals[i].split("=");
		result[val[0]] = val[1];
	}
	
	return result;
}

VideoPresentation.trackVideo = function(p_type, p_title, p_segmentID, p_episodeID, p_segmentIndex){
	
	var videoTrackingData = {};
	
	videoTrackingData.id 			= p_segmentID;
	videoTrackingData.title 		= p_title;
	videoTrackingData.episode		= p_episodeID;
	videoTrackingData.segment		= p_segmentIndex;
	videoTrackingData.autoplayed	= VideoPresentation.videoAutoPlayed;

	var list = VideoData.getVideoList()
	
	for(var x=0; x <= list.length -1; x++){
		if(list[x].id == p_episodeID){
			videoTrackingData.type		= list[x].episodeType;
			videoTrackingData.season	= list[x].epiSeasonName;
			videoTrackingData.franchise	= list[x].collectionTitle;			
			break;
		}
	}
	
	trackVideo(p_type, videoTrackingData);	

	list 				= null;
	videoTrackingData 	= null;
}

VideoPresentation.truncateVideoTitles = function(){
/*
	if(document.getElementById("VideoPresentation_videoclips_recent")){	
		jQuery('#VideoPresentation_videoclips_recent').find('div.title').each(function() {
			var wordCounter = 0;
			var titleHeight = jQuery(this).height();
			jQuery(this).css('height', 'auto');
			var currHeight = jQuery(this).height();
			var epiTitle = jQuery(this).text();
			while (currHeight > titleHeight + 10) {
			var splitEpiTitle = epiTitle.split(' ');
			splitEpiTitle.length -= ++wordCounter;
			jQuery(this).text(splitEpiTitle.join(' ') + "...");
			currHeight = jQuery(this).height();
			}
			jQuery(this).css('height', titleHeight);
		});
	}
*/
}

VideoPresentation.truncateText = function(p_str, p_charcount){
	
	var s = p_str;

	if(s.length > p_charcount){
		s = s.substring(p_charcount, 0)
		s += "...";
	}
	
	
	return s;
}

