﻿var player;
var currentSelectedVideoID = 0;
var controller = new MTVNPlayerController('embeddedPlayer','onPlayerLoaded');

function onPlayerLoaded(controller){
   player = controller.player;
   player.addEventListener('READY','onReady');
   player.addEventListener('METADATA','onMetaData');
   player.addEventListener('STATE_CHANGE','onStateChange');
   player.addEventListener('PLAYHEAD_UPDATE','onPlayheadUpdate');
   player.addEventListener('NO_AD','onNoAd');
   player.addEventListener('AD_PACKAGE_LOADED','onAdPackageLoaded');
   player.addEventListener('MEDIA_ENDED','onMediaEnded');
   player.addEventListener('PLAYLIST_COMPLETE','onPlaylistComplete');
   player.addEventListener('PLAYLIST_ERROR','onPlaylistError');   
   //alert("LOADED");   
}

function onReady() {		 
	//var api = $("div.scrollable:first").scrollable(); 
	//alert("onReady playing index: " + player.getPlaylist().index);
	//focusCurrentPlayingVideo(player.getPlaylist().index);
	updatePlaylist(player.getPlaylist().index);
	loadRC();
	//loadRateThis();	
	loadInfoWindow();
	updateShare(getCMSIDfromGUID(player.getMetadata().guid));
}  

function onMetaData( metadata ){
	//show_props(metadata, "metadata");
   //alert("Now watching: " + metadata.title + ":" + player.getTempPlaylist());
   //alert("player.metadata.isAd" + player.getMetadata().isAd);
   //focusCurrentPlayingVideo(player.getPlaylist().index);
	//var output = metadata.title + "</br>" + metadata.description + "</br>" + metadata.duration + "</br>" + metadata.url + "</br>id: " + getCMSIDfromGUID(player.getMetadata().guid);
	//document.getElementById("fpVideoInfo").innerHTML = output;
	updateShare(getCMSIDfromGUID(player.getMetadata().guid));
	
}

function show_props(obj, obj_name) {
	//alert("showprops" + obj + " " + obj_name);
    var result = "" 
    for (var i in obj) {
        result += obj_name + "." + i + " = " + obj[i] + "<br />"; 
	}
	//alert(result);
    $("#metatest").html(result);
}


function onStateChange(playState) {
	//alert("playstate change");
}

function onPlayheadUpdate(info) {
	//alert("playhead update");
}

function onNoAd( info ) {
	//alert("no ad");
   // info.metadata
   // info.adUrl
   // info.counters
} 

function onAdPackageLoaded(info) {
	//alert("onAdPackageLoaded");
}

function onMediaEnded(info) {
	//alert("onMediaEnded");
}

function onPlaylistComplete(info) {
	player.playIndex(0, 0);
}

function onPlaylistError(info) {
	//alert("onPlaylistError");
}	

function nextVideo() {
	if (!player.getMetadata().isAd) {	
		player.next();
	}
}

function prevVideo() {
	if (!player.getMetadata().isAd) {
		player.previous();
	}
}

function getCMSIDfromGUID(guid) {
	
	if (guid != null) {
		var a=guid.split(":");
		return(a[4]);	
	} else {
		return null;
	}

}

//playlist
function focusCurrentPlayingVideo(cmsid) {
	//unselect current video	
	if (index >= 0) {
		$('#'+currentSelectedVideoID).className = 'videoNotSelected';	
		//select video playing
		currentSelectedVideoID = getCMSIDfromGUID(player.getMetadata().guid);
		$('#'+currentSelectedVideoID).className = 'videoSelected';		
	}	
}

function playVideo(index) {
	if (!player.getMetadata().isAd) {
		player.playIndex(index, 0);
	}
}	

function thisMovie(movieName) {
 if (navigator.appName.indexOf("Microsoft") != -1) {
	 return window[movieName];
 } else {
	 return document[movieName];
 }
}
function updatePlaylist(value) {
 thisMovie("playlist").updatePlaylist(value);
}


//coad
function mtvnSetCoad(adObject){ 
	//alert("video ad, set coad");
	var src = adObject.url; 
	var w = adObject.width; 
	var h = adObject.height;
	var clickTag = adObject.clickUrl; 
	//var output = "<a href='" + clickTag + "'>" + "<img border='0' width='" + w + "' height='" + h + "' src='" + src + "' /></a>";
	//document.getElementById("coAdHtmlContainer").innerHTML = output;	
	//alert("Ad Src:" + src);
	document.getElementById("iFrameAd").src = src;
} 

//info window
function loadInfoWindow() {
	//alert("loadInfoWindow");
	if (!player.getMetadata().isAd) {
		$('#videoInfoContainer h1').html(player.getMetadata().title);
		$('#videoInfoContainer p').html(player.getMetadata().description);
	} else {
		$('#videoInfoContainer h1').html("Advertisement");	
		$('#videoInfoContainer p').html("Your video will begin after this word from our sponsor.");
	}
}

//share with a friend, deeplink info
function updateShare(value) {
 thisMovie("shareURL").updateShare(value);
}

 function shareIsLoaded(value) {
	updateShare(getCMSIDfromGUID(player.getMetadata().guid));
 }


//rc		
function loadRC() {
	
if (!player.getMetadata().isAd) {
	//alert("loadrc");
	//$("#relatedContentContainer").append('<div id="relatedList"></div>')							
	//.load("getRelatedContent.jhtml?cmsid=" + getCMSIDfromGUID(player.getMetadata().guid) +" div#relatedList", function() {
	//		$("#relatedList").show();
	//	});
	$("#relatedContentContainer").load("/videoplayer/hub/getRelatedContent.jhtml?cmsid=" + getCMSIDfromGUID(player.getMetadata().guid),function() { return false});

	return false;
}
	

};


function onRelatedContentTabClick() {
		$("#relatedContentContainer").show();
		$("#sendToAFriendContainer").hide();
		$('#relatedContentTab').hasClass('selected') ? false : $('#relatedContentTab').addClass('selected');
		$('#sendToAFriendTab').hasClass('selected')	? $('#sendToAFriendTab').removeClass('selected') : false;
};
function onSendToAFriendTabClick() {	
		$("#relatedContentContainer").hide(); 
		$("#sendToAFriendContainer").show();
		$('#sendToAFriendTab').hasClass('selected') 	? false : $('#sendToAFriendTab').addClass('selected');
		$('#relatedContentTab').hasClass('selected')	? $('#relatedContentTab').removeClass('selected') : false;
		
};
function onMoreToggleButtonClick() {
		$("#channelsShowContainer").toggle(); 
		$("#moreContainer").toggle(); 	
};


/*  
//rateThis
function loadRateThis() {
	$("#rateThisTitleContainer").html(player.getMetadata().title);	
	
	//set stars to rating from cms
	jQuery.post("/dynamo/turbonick/xml/dyn/getItemRating.jhtml",{	 
		 id: getCMSIDfromGUID(player.getMetadata().guid)
	   }, function(data) {
	
		// response structure
		//<?xml version="1.0" encoding="utf-8" ?>
		//<response code="OK">
		//<rating>0</rating>
		//<ratingTotal>0</ratingTotal>
		//<ratingTotalCount>0</ratingTotalCount>
		//</response>
		//

		//alert(());
		setRating(parseInt($("rating",data).text()));
	});
}
*/

/*
function setRating(id) {

	if (!player.getMetadata().isAd) {

		//submit rating	
		jQuery.post("/dynamo/turbonick/xml/dyn/rateItem.jhtml",{	 
			 rating: id,
			 id: getCMSIDfromGUID(player.getMetadata().guid)
		   }, function(data) {
			 //do nothing
		});		
		
		switch(id)
		{
			
			case 1:
			  $("#star1").attr("src","images/ratingStar.gif");
			  $("#star2").attr("src","images/ratingStarFaded.gif");
			  $("#star3").attr("src","images/ratingStarFaded.gif");
			  $("#star4").attr("src","images/ratingStarFaded.gif");
			  $("#star5").attr("src","images/ratingStarFaded.gif");
			  break; 
			case 2:
			  $("#star1").attr("src","images/ratingStar.gif");
			  $("#star2").attr("src","images/ratingStar.gif");
			  $("#star3").attr("src","images/ratingStarFaded.gif");
			  $("#star4").attr("src","images/ratingStarFaded.gif");
			  $("#star5").attr("src","images/ratingStarFaded.gif");
			  break;
			case 3:
			  $("#star1").attr("src","images/ratingStar.gif");
			  $("#star2").attr("src","images/ratingStar.gif");
			  $("#star3").attr("src","images/ratingStar.gif");
			  $("#star4").attr("src","images/ratingStarFaded.gif");
			  $("#star5").attr("src","images/ratingStarFaded.gif");
			  break;    
			case 4:
			  $("#star1").attr("src","images/ratingStar.gif");
			  $("#star2").attr("src","images/ratingStar.gif");
			  $("#star3").attr("src","images/ratingStar.gif");
			  $("#star4").attr("src","images/ratingStar.gif");
			  $("#star5").attr("src","images/ratingStarFaded.gif");
			  break;
			case 5:
			  $("#star1").attr("src","images/ratingStar.gif");
			  $("#star2").attr("src","images/ratingStar.gif");
			  $("#star3").attr("src","images/ratingStar.gif");
			  $("#star4").attr("src","images/ratingStar.gif");
			  $("#star5").attr("src","images/ratingStar.gif");
			  break;  
			default:
			  $("#star1").attr("src","images/ratingStar.gif");
			  $("#star2").attr("src","images/ratingStar.gif");
			  $("#star3").attr("src","images/ratingStar.gif");
			  $("#star4").attr("src","images/ratingStarFaded.gif");
			  $("#star5").attr("src","images/ratingStarFaded.gif");	
			  break;
		}	
		
	}
	

}
*/



//$(document).ready(function(){	
	
	
//playlist
/*
 jQuery('#mycarousel').jcarousel({
	 scroll: 1,
	 wrap: "both"
	 //visible: 3
       //vertical: true
    });
	
	
	$(".playlistItem").click(function() {
		playVideo($(this).attr('playlistIndex'))
		return false;
	});				
	*/
	//sendtoafriend
	/*
      $("form#sendToFriendForm").submit(function(){	
		  
			$("#sendToFriendForm").validate();
			
			  var formIsValid = $("#sendToFriendForm").valid();
			  if (formIsValid) {
				  var targetsEmail = $("#friendsEmail").val();
				  var usersName = $("#yourName").val();
				  var targetsName = $("#friendsName").val();
				  var videoCMSID = getCMSIDfromGUID(player.getMetadata().guid);			  
					jQuery.post("/videoplayer/hub/email/send.jhtml",{	 
						 id: videoCMSID,
						 email: targetsEmail,
						 senderName: usersName,
						 friendsname: targetsName,
					   }, function(data) {
					    alert('Send to a Friend Successful');
				   });				  
			  }
       return false;
     });
	 */
	
	/*
	//rate this
	//rc	
	$("#star1").click(function() {
		setRating(1);	
		return false;
	});		
	
	$("#star2").click(function() {
		setRating(2);
		return false;
	});	
	
	$("#star3").click(function() {
		setRating(3);
		return false;
	});	
	
	$("#star4").click(function() {
		setRating(4);
		return false;
	});	
	
	$("#star5").click(function() {
		setRating(5);
		return false;
	});		
	
	//search
	$("#videoKeywordSearchInput").keyup( function() {
		$("#videoKeywordSearchLink").attr("href","http://www.nick.com/turbonick/index.jhtml?searchTerm=" + $("#videoKeywordSearchInput").val());	
		//alert($("#videoKeywordSearchLink").attr("href"));
	});		 
	 */
	 
	 //sendtoafriend
	//initiate validator on load
	//$(function() {
	// validate contact form on keyup and submit
	/*
	$("#sendToFriendForm").validate({
	//set the rules for the field names
	rules: {
	yourName: {
	required: true,
	minlength: 2
	},
	friendsEmail: {
	required: true,
	email: true
	},
	friendsName: {
	required: true,
	minlength: 2
	}
	},
	//set messages to appear inline
	messages: {
	name: "Please enter your first name",
	email: "Please enter a valid email address",
	message: "Please enter your friends first name"
	}
	});
	*/
//});   	


