//load the cvp
	<!--
	// -----------------------------------------------------------------------------
	// Globals
	// Major version of Flash required
	var requiredMajorVersion = 9;
	// Minor version of Flash required
	var requiredMinorVersion = 0;
	// Minor version of Flash required
	var requiredRevision = 124;
	// -----------------------------------------------------------------------------
	// -->
	var logOutput;
	var cnnLoadIt;
	var cnnPlayerID = 0;
	var cnnVideoLocation = '';
	var T1 = 'T1';
	var hasOnRelatedPlaylistBeenClicked = false;
function log(s)
{
}

function cnnLoadPLayer(videoID, domIdStr, context, playerOverRide){
	var domChildIdStr = domIdStr + '_child';
	var parentObject=document.getElementById(domIdStr);
	parentObject.innerHTML = '<span id="'+domChildIdStr+'"></span>'; // CVP replaces target node 
	var editionizedContext = getEditionizedContext(context);
	var player = cnnGetPlayer(videoID, editionizedContext, playerOverRide);
	
	if(typeof player == 'object' && player.options){
		player.g_domIdStr = domIdStr;
		player.g_context = context;
		player.embedSWF(domChildIdStr);
	} else if ( typeof CVP.swfobject == 'object' && !(CVP.swfobject.hasFlashPlayerVersion( "6.0.65" )) ) {
		cnnGetNoFlash(context, domChildIdStr);
	}
	return player;
}

function cnnLoadStoryPlayer(videoID, domIdStr, context, playerOverRide, loc){
	if(loc == T1 && typeof cnnCVPAdSectionT1 == "string" && cnnCVPAdSectionT1.length > 1){
		cnnCVPAdSection = cnnCVPAdSectionT1;
	} else if (typeof cnnCVPAdSectionInPage == "string" && cnnCVPAdSectionInPage.length > 1){
		cnnCVPAdSection = cnnCVPAdSectionInPage;
	}
	cnnLoadPLayer(videoID, domIdStr, context, playerOverRide);
}

function cnnCVPErroredOut(g_domIdStr, g_context) {
	var playerWidth = 416;
	var playerHeight = 250;
	var re = new RegExp(/(\d+)x(\d+)/);
	var dimensions = re.exec(g_context);
	if(typeof dimensions == 'object' && dimensions.length > 2){
		playerWidth = dimensions[1];
		playerHeight = dimensions[2];
	}
	var errorHTML = '<div class="cnn_viderrbx cnn_viderrbx640"><div>The video timed out attempting to play. Please ensure that you do not have any Flash or JavaScript blocking plugins active. </div></div>';
	switch (playerWidth) {
		case "640":
			errorHTML = '<div class="cnn_viderrbx cnn_viderrbx640"><div>The video timed out attempting to play. Please ensure that you do not have any Flash or JavaScript blocking plugins active. </div></div>';
			break;
		case "416":
			errorHTML = '<div class="cnn_viderrbx cnn_viderrbx416"><div>The video timed out attempting to play. Please ensure that you do not have any Flash or JavaScript blocking plugins active. </div></div>';
			break;
		case "320":
			errorHTML = '<div class="cnn_viderrbx cnn_viderrbx320"><div>The video timed out attempting to play. Please ensure that you do not have any Flash or JavaScript blocking plugins active. </div></div>';
	}
	$(g_domIdStr).update( errorHTML );	
}

function cnnGetNoFlash(context, domIdStr){
	var playerWidth = 416;
	var playerHeight = 250;
	var re = new RegExp(/(\d+)x(\d+)/);
	var dimensions = re.exec(context);
	if(typeof dimensions == 'object' && dimensions.length > 2){
		playerWidth = dimensions[1];
		playerHeight = dimensions[2];
	}
	var noFlashImage = 'http://i.cdn.turner.com/cnn/.element/img/3.0/global/misc/640x360_no_flash.gif';
	switch (playerWidth) {
		case "640":
			noFlashImage = 'http://i.cdn.turner.com/cnn/.element/img/3.0/global/misc/640x360_no_flash.gif';
			break;
		case "416":
			noFlashImage = 'http://i.cdn.turner.com/cnn/.element/img/3.0/global/misc/416x234_no_flash.gif';
			break;
		case "320":
			noFlashImage = 'http://i.cdn.turner.com/cnn/.element/img/3.0/global/misc/320x180_no_flash.gif';
	}
	$(domIdStr).update( '<a href="http://get.adobe.com/flashplayer/" target="_blank"><img src="'+noFlashImage+'" width="'+playerWidth+'" height="'+playerHeight+'" alt="" border="0"><\/a>');
}

function getEditionizedContext(context){
	var isIntlUser = (location.hostname.indexOf('edition.') > -1 || location.port === '94');
	editionizedContext = (isIntlUser) ? context + '_edition' : context;
	var returnContext = context;
	switch (editionizedContext) {
		case "hp_edition":
		case "hp_autostartOff_edition":
		case "640x406_start_sw_edition":
		case "640x406_start_bvp_edition":
		case "640x384_edition":
		case "640x384_start_art_edition":
		case "640x384_start_art_inpage_edition":
		case "416x280_start_sw_edition":
		case "416x250_start_edition":
		case "416x250_live_edition":
		case "320x216_edition":
		case "320x180_start_ns_edition":
		case "embed_edition":
			returnContext = editionizedContext;
			break;
		default:
			returnContext = context;
	}
	return returnContext;
}

var isBVPPage = false;
var currentPlayListId = false;
var playListLength = 12;
function loadPlayList(playlistId, resetPlayList)
{
	var section = playlistId.substring(0,playlistId.indexOf('/'));
	var sectionId = '/video/'+section;
	var bvpManagerChannelID = bvpManager.findChannelBySection(sectionId);
	var bvpManagerChannel = bvpManager.getChannel(bvpManagerChannelID);
	var playListXML = 'by_section_'+section+'.xml';
	if(bvpManagerChannel.xml_url && bvpManagerChannel.xml_url.length > 0){
		playListXML = bvpManagerChannel.xml_url;
	}
	if(!section){ // Could load in a playlistId that is not based off a vid
		var isIntlUser = (location.hostname.indexOf('edition.') > -1 || location.port === '94');
		var dfltTab = (isIntlUser) ? 'international' : 'top_stories';
		playListXML = dfltTab+'.xml';
	}
	
	if(!resetPlayList && bvpManager.currentVideoPlayingChannelXML && bvpManager.currentVideoPlayingChannelXML!='')
	{
		playListXML = bvpManager.currentVideoPlayingChannelXML;
	}


	currentPlayListId = playlistId;
	AjaxManager.sendCommand('/.element/ssi/www/auto/2.0/video/xml/'+ playListXML, suckInPlayList );
}

var currentPlayListListing = new Array();
function suckInPlayList(resp)
{
	currentPlayListListing = new Array();
	currentPlayListListing.push(currentPlayListId);
	var videoIdList = new Array();
	var startoffset = -1;
	var foundList = new Array();
	var foundTheVideo = false;
	var searchForVideo = '/video/'+currentPlayListId;
	for(var i=0;i<resp.video.length;i++)
	{
		var videourl = resp.video[i].video_id;
		//if(nitnCurrentVid) {
			if(videourl=='/video/nitn/latest/nitn') 
			{
				//videourl= '/video/'+nitnCurrentVid;
				continue;
			}
		//}

		videoIdList.push(resp.video[i].video_id);

		if((videourl==searchForVideo) || foundTheVideo)
		{
			// the order here is important - flipping this will cause the video to be added twice.
			if(foundTheVideo)
			{
				foundList.push( videourl );
			}
			foundTheVideo = true;
		}
	}
	var maxNum = videoIdList.length;
	if(foundTheVideo) {
		var maxNum = foundList.length;
		videoIdList = foundList;
	}
	if(maxNum>playListLength)
	{
		maxNum = playListLength;
	}
	for(var i=0;i<maxNum;i++)
	{
		var cvpVideoId = videoIdList[i].substring(7);
		cnnCVPPlayer.queue(cvpVideoId);
		currentPlayListListing.push(cvpVideoId);
	}
	//renderPlayList();
}

function skipAheadInPlayList(id)
{
	currentPlayListId = id;
	var startqueing = false;

	cnnCVPPlayer.play(id);
	var retStr="";
	for(var i=0;i<currentPlayListListing.length;i++)
	{
		if(startqueing)
		{
		retStr=retStr+currentPlayListListing[i]+"\n";
			cnnCVPPlayer.queue(currentPlayListListing[i]);
		}
		if(currentPlayListListing[i]==id)
		{
			startqueing = true;
		}
	}
	renderPlayList();
}

function markAsPlaying(videoId){
	var playListNodes = $('Play_Box').childElements();
	playListNodes.each(function(playListNode, index) {
		var onclickText = playListNode.select('a')[0].readAttribute('videoId');
		var cnnTeaseImgNode = playListNode.select('img.cnnFindTeaseImg')[0];
		var thecnnFindNowPlayingChild = playListNode.select('div.cnnFindNowPlayingChild')[0];
				
		if(onclickText.indexOf(videoId) >= 0){
			playListNode.writeAttribute('class', 'box_item_play');
			playListNode.writeAttribute('style', 'background-color: rgb(243, 243, 243);');
			var theSrc = cnnTeaseImgNode.readAttribute('src');
			cnnTeaseImgNode.writeAttribute('_src', theSrc);
			cnnTeaseImgNode.writeAttribute('src', 'http://i.cdn.turner.com/cnn/.element/img/3.0/video/bvp/2008/play_btn.gif');
			playListNode.select('div.cnnFindNowPlayingDiv')[0].insert({top:'<div id="_nowplaying_' + index + '" class="cnnFindNowPlayingChild"><span class="box_item_np">NOW PLAYING</span><br></div>'});
			playListNode.select('div.cnnFindNowPlayingDiv')[0].writeAttribute('class', 'box_item_link bIwTitle cnnFindNowPlayingDiv');
			
		} else if(thecnnFindNowPlayingChild){
			playListNode.writeAttribute('class', 'box_item');
			playListNode.select('div.cnnFindNowPlayingDiv')[0].writeAttribute('class', 'cnnFindNowPlayingDiv');
			playListNode.writeAttribute('style', 'background-color: rgb(255, 255, 255);');
			thecnnFindNowPlayingChild.remove();
			cnnTeaseImgNode.writeAttribute('src', cnnTeaseImgNode.readAttribute('_src'));
		}
	});
}

function addToPlaylist(videoId){
	var html = new Array();
	var havesomedata = false;
		var currId = videoId;
		var currVideojson = cnnCVPPlayer.getContentEntry( currId );
		var currVideoObj = false;
		if(currVideojson && currVideojson!='')
		{
			currVideoObj = eval( '('+currVideojson+')');
		}
		havesomedata = true;
		
		if(currVideoObj)
		{
			if($('cnnLoadingPL')){
				$('cnnLoadingPL').remove();
			}
			var teaseImageUrl = '';
			var numImages = currVideoObj.images.length;
			if(numImages>0)
			{
				teaseImageUrl = currVideoObj.images[1].image.text;
			}
			for(var x=0;x<numImages;x++)
			{
				if(currVideoObj.images[x] && currVideoObj.images[x].image && currVideoObj.images[x].image.name && currVideoObj.images[x].image.name == 'pl')
				{
					teaseImageUrl = currVideoObj.images[x].image.text;
				}
			}
			var vidid = currVideoObj.id;

			var specialbrandingKey = currVideoObj.subcategory.toLowerCase().replace(' ','_');
			var specialConfigObj = bvpSpecialsConfig[ specialbrandingKey ];
	
			var bln_specialbranded = false;
			var special_url = '';
			var title_class = '';
			var special_title = '';
			
			if(specialConfigObj)
			{
				bln_specialbranded = true;
				special_url = specialConfigObj.url;
				title_class = 'box_item_link bIwTitle';
				special_title = specialConfigObj.name;
			}
			
			var nowplaying = '';
			var i = $('Play_Box').childNodes.length;
			if(vidid==currentPlayListId)
			{
				//teaseImageUrl = 'http://i.cdn.turner.com/cnn/.element/img/3.0/video/bvp/2008/play_btn.gif';
				//nowplaying = '<div id="_nowplaying_' + i + '"><span class="box_item_np">NOW PLAYING</span><br></div>';
			}
			else
			{
				//var t = new Template('<div>Name: <b><%= name %></b>, Age: <b><%=age%></b></div>', syntax);
				//t.evaluate( {name: 'John Smith', age: 26} ); // -> <div>Name: <b>John Smith</b>, Age: <b>26</b></div>
			}
			html.push('<div class="box_item" id="nextup_' + i + '"><div class="box_item_tz">',
			// don't know if this is good or not. Need to discuss how to moving around within a playlist. Is it actually possible?
	//				'<a href="#" onclick="CNNPlaylistManager.getInstance().advanceTo(\'bvpplaylist\','+i+'); return false;">',
					'<a href="#" onclick="cnnCVPPlayer.play(',
					"'"+vidid+"');return false;",
					'" videoId="'+vidid+'">',
					'<img id="nextup_img_'+i+'" src="',
					teaseImageUrl,
					'" width="45" height="25" border="0" alt="" class="cnnFindTeaseImg">',
					'</a></div><div id="_title_'+i+'" class="'+title_class,
					' cnnFindNowPlayingDiv">',nowplaying,
					(bln_specialbranded) ? '<div id="_specials_'+i+'"><a href="'+special_url+'"><span><span>'+special_title+'</span> &raquo;</span></a><br></div>' : '<div id="_specials_'+i+'"></div>',
//see above
					'<a href="#" onclick="cnnCVPPlayer.play(',
					"'"+vidid+"');return false;",
					'">' + currVideoObj.headline + '</a>',
					'<span class="duration">' + currVideoObj.length + '</span>',
					'</div></div>'
				);		
		}
		
		if(havesomedata)
		{
			$('Play_Box').insert(html.join(''));
			//document.getElementById('Play_Box').innerHTML = document.getElementById('Play_Box').innerHTML + html.join('');
		}
}

var lastPlaying='';
function renderPlayList()
{
	var html = new Array();
	var havesomedata = false;
	for(var i=0;i<currentPlayListListing.length;i++)
	{
		var currId = currentPlayListListing[i];
		var currVideojson = cnnCVPPlayer.getContentEntry( currId );
		var currVideoObj = false;
		if(currVideojson && currVideojson!='{}' && currVideojson!='')
		{
			currVideoObj = eval( '('+currVideojson+')');
		} else {
			return;
		}
		havesomedata = true;
		
		if(currVideoObj)
		{
			var teaseImageUrl = '';
			var numImages = currVideoObj.images.length;
			if(numImages>0)
			{
				teaseImageUrl = currVideoObj.images[1].image.text;
			}
			for(var x=0;x<numImages;x++)
			{
				if(currVideoObj.images[x] && currVideoObj.images[x].image && currVideoObj.images[x].image.name && currVideoObj.images[x].image.name == 'pl')
				{
					teaseImageUrl = currVideoObj.images[x].image.text;
				}
			}
			var vidid = currVideoObj.id;
	
			var specialbrandingKey = currVideoObj.subcategory.toLowerCase().replace(' ','_');
			var specialConfigObj = bvpSpecialsConfig[ specialbrandingKey ];

			var bln_specialbranded = false;
			var special_url = '';
			var title_class = 'box_item_link';
			var special_title = '';
			var extraclass = '';
			
			if(specialConfigObj)
			{
				bln_specialbranded = true;
				special_url = specialConfigObj.url;
				title_class = 'box_item_link bIwTitle';
				special_title = specialConfigObj.name;
			}
			
			
			var isnowplaying = false;
			var nowplaying = '';
			
			if(vidid==currentPlayListId)
			{
				teaseImageUrl = 'http://i.cdn.turner.com/cnn/.element/img/3.0/video/bvp/2008/play_btn.gif';
				nowplaying = '<div id="_nowplaying_' + i + '"><span class="box_item_np">NOW PLAYING</span><br></div>';
				extraclass = '_play';
				isnowplaying = true;
				title_class = 'box_item_link bIwTitle';
				bln_specialbranded = false;
			}
			else
			{
			
			}
			html.push('<div class="box_item'+extraclass+'" id="nextup_' + i + '"><div class="box_item_tz">',
			// don't know if this is good or not. Need to discuss how to moving around within a playlist. Is it actually possible?
	//				'<a href="#" onclick="CNNPlaylistManager.getInstance().advanceTo(\'bvpplaylist\','+i+'); return false;">',
					'<a href="#" onclick="skipAheadInPlayList(',
					"'"+vidid+"');return false;",
					'">',
					'<img id="nextup_img_'+i+'" src="',
					teaseImageUrl,
					'" width="45" height="25" border="0" alt="">',
					'</a>',
					'</div><div id="_title_'+i+'" class="'+title_class,
					'">',nowplaying,
					(bln_specialbranded) ? '<div id="_specials_'+i+'"><a href="'+special_url+'"><span><span>'+special_title+'</span> &raquo;</span></a><br></div>' : '<div id="_specials_'+i+'"></div>',
//see above
					'<a href="#" onclick="skipAheadInPlayList(',
					"'"+vidid+"');return false;",
					'">' + currVideoObj.headline + '</a>',
					'<span class="duration">' + currVideoObj.length + '</span>',
					'</div></div>'
				);		
		}
		
		
	}
	if(havesomedata)
		{
			var newhtml =  html.join('');
			if(newhtml!=previousPlayListHTML)
			{
				document.getElementById('Play_Box').innerHTML = newhtml;
				previousPlayListHTML = newhtml;
			}
		}
}
var previousPlayListHTML='';

var previousMetaDataHTML = '';
function renderVideoMetaData(id)
{
	var html = new Array();

	var currVideojson = cnnCVPPlayer.getContentEntry( id);
	var currVideoObj = false;
	if(currVideojson && currVideojson!='{}' && currVideojson!='')
	{
		currVideoObj = eval( '('+currVideojson+')');
	}

	if(currVideoObj && currVideoObj.description)
	{
		var specialbrandingKey = currVideoObj.subcategory.toLowerCase().replace(' ','_');
		var specialConfigObj = bvpSpecialsConfig[ specialbrandingKey ];

			var bln_specialbranded = false;
			var special_url = '';
			var special_title = '';
			
			if(specialConfigObj)
			{
				bln_specialbranded = true;
				special_url = specialConfigObj.url;
				special_title = specialConfigObj.name;
			}


		var videoDescription = currVideoObj.description;
		if(currVideoObj.lastModified && currVideoObj.lastModified.text){
			var monthNames = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
			var dateArr = currVideoObj.lastModified.text.split('/');
			if(dateArr && typeof(dateArr) == 'object' && dateArr.length && dateArr.length >=2){
				var dateModified = new Date(dateArr[0],(dateArr[1]-1),dateArr[2]);
				var theDate = dateModified.getDate()
				var theMonth = monthNames[dateModified.getMonth()];
				var theYear = dateModified.getFullYear();
				html.push('<div id="commentsPadding"><div id="addedOnL"><b>Added On</b> '+theMonth+' '+theDate+', '+theYear+'</div></div>');				
			}
		}
		html.push('<div id="contentL"><div class="bvp_desctext">'+videoDescription);
		html.push('<div class="bvp_desclinks">',
			(bln_specialbranded) ? '<div class="bvp_desclhead"><a href="'+special_url+'"><span><span>'+special_title+'</span> &raquo;</span></a><br></div>' : '',
		'<ul class="cnn_bulletbin">');
		//var a=2;
		//if(currVideoObj.urls){
		//	a =2;
		//}
		//if(currVideoObj.urls.relateds){
	//		a=3;
		//}
		//if(typeof(currVideoObj.urls.relateds) == 'object'){
		//	a =4;
		//}
		//if(currVideoObj.urls.relateds.length >=0){
		//	a =5;
		//}
		//a=7;
		if(currVideoObj.urls && currVideoObj.urls.relateds && typeof(currVideoObj.urls.relateds) == 'object') {
			try {
				if (currVideoObj.urls.relateds.length >=0) {
					for (var i=0, end=currVideoObj.urls.relateds.length; i<end; i++)
					{
						var storyObj = currVideoObj.urls.relateds[i].story;
						html.push('<li><a href="'+storyObj.url.html+'">'+storyObj.headline+'</a></li>');
					}
				} else if (currVideoObj.urls.relateds.story) {
						var storyObj = currVideoObj.urls.relateds.story;
						html.push('<li><a href="'+storyObj.url.html+'">'+storyObj.headline+'</a></li>');
				}
			} catch(err) {
				// do nothing, live your live, be free
			}
		}
		html.push('</ul></div></div></div>');
		
		document.getElementById('cnnVPInfoLeftCol').innerHTML = html.join('');
	}
}

function getRelatedsURL(context, vidRelatedVideosUrl){
	var playerWidth = 416;
	var playerHeight = 250;
	var re = new RegExp(/(\d+)x(\d+)/);
	var dimensions = re.exec(context);
	if(typeof dimensions == 'object' && dimensions.length > 2){
		playerWidth = dimensions[1];
		playerHeight = dimensions[2];
	}
	var numOfRelateds = '';
	switch (playerWidth) {
		case "640":
			numOfRelateds = 12;
			break;
		case "416":
			numOfRelateds = 9;
			break;
		case "320":
			numOfRelateds = 6;
	}
	if(vidRelatedVideosUrl && vidRelatedVideosUrl.indexOf('relateds.xml') > 0 && numOfRelateds){
		vidRelatedVideosUrl = vidRelatedVideosUrl.substring(0, vidRelatedVideosUrl.indexOf('relateds.xml')) + 'relateds_'+ numOfRelateds + '.xml';
	}
	return vidRelatedVideosUrl;
}

function cnnGetPlayer(videoID, context, playerOverRide, cvpDomId ){
	var player;
	var theID = '';
	if(typeof(cvpDomId) == "string"){
		theID = cvpDomId;
	} else {
		cnnPlayerID++;
		theID = 'cvp_'+cnnPlayerID;
	}
	var playerWidth = 640;
	var playerHeight = 360;
	
	var re = new RegExp(/(\d+)x(\d+)/);
	var dimensions = re.exec(context);
	if(typeof dimensions == 'object' && dimensions.length > 2){
		playerWidth = dimensions[1];
		playerHeight = dimensions[2];
	}
	var flashVars = {
		contentId : videoID,
		context : context
	};
	var isAdTest = CVP.swfobject.getQueryParamValue('adTest');
	var containerSwf = 'http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/cnn_video.swf';
	if(isAdTest){
		containerSwf = 'http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/testing/confidential/swf/cnn_staging.swf';
		flashVars.configUrl = 'http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/testing/confidential/cfg/config.xml';
	}
	if ( typeof CVP.swfobject == 'object' && CVP.swfobject.hasFlashPlayerVersion( "6.0.65" ) ) {
	
	  player = new CVP({
		id : theID,
		width : playerWidth,
		height : playerHeight,
		flashVars : flashVars,
		embed : {
			containerSwf : containerSwf,
			expressInstallSwf : 'http://i.cdn.turner.com/cnn/.element/apps/cvp/3.0/swf/expressInstall.swf',
			options : {
				quality : 'high',
				bgcolor : '#000000',
				allowFullScreen : 'true',
				allowScriptAccess : 'always',
				wmode : 'transparent'
			}
		}, 
		onPlayerReady : function(vidID) {
			var a = 1;
			if(typeof cnnCVPAdSection == 'string' && cnnCVPAdSection.length > 1){
				this.setAdSection(cnnCVPAdSection);
			}
			if(isBVPPage)
			{
				var thisVidId = this.getContentId();
				loadPlayList( videoID);
				renderVideoMetaData( videoId);
			}
		},
		onAdPostrollUrl : function(videoId, adUrl) {
		},
			
			onAdStarted : function(token)
			{
				if(isBVPPage)
				{
					//renderPlayList();
				}
			},
			
			onAdFinished : function(token)
			{
			
			},
			
			onContentBegin : function(videoId, json)
			{
				if(isBVPPage)
				{
					currentPlayListId = videoId;
					if (shouldIReload || hasOnRelatedPlaylistBeenClicked) {
						var resetPlayList = (hasOnRelatedPlaylistBeenClicked)?true:false;
						shouldIReload = false;
						hasOnRelatedPlaylistBeenClicked = false;
						loadPlayList(videoId, resetPlayList);
					} else {
						renderPlayList();
					}
					renderVideoMetaData( videoId);
				}
			},
	
			onContentBuffering : function() {	
			},
			
			/* Note - this is fired before the click action is taken, so the page can take appropriate action
			 * i.e., if clickMode is set to play, onRelatedClick will be fired before onContentBegin
			 * @contentId The id of the video just clicked on
			 * @clickMode Specifies whether the action will be to play the video directly, or navigate to the app. url
			 *		- possible values are "clickModePlay", "clickModeOpen"
			 */
			onRelatedPlaylistClick : function(contentId, clickMode) {
				hasOnRelatedPlaylistBeenClicked = true;
			},		

			onContentDataLoaded : function(videoId) {
				//addToPlaylist(videoId);
				if(isBVPPage)
				{
					renderPlayList();
				}
				var playerOverRideReturn = playerOverRide;
				playerOverRide = {};
				var currVideojson = this.getContentEntry( videoId );
				var currVideoObj = false;
				if(currVideojson && currVideojson!='{}' && currVideojson!='')
				{
					currVideoObj = eval( '('+currVideojson+')');
					if(currVideoObj)
					{
						var vidRelatedVideosUrl = currVideoObj.relatedVideosUrl;
						if(vidRelatedVideosUrl){
							playerOverRideReturn.relatedVideosUrl = getRelatedsURL(this.g_context, vidRelatedVideosUrl);
						}
					}
				}
				return playerOverRideReturn;	
			},
			
			onContentPlay : function(videoId) {
				if(isBVPPage)
				{
					//markAsPlaying(videoId);
					window.setTimeout("renderPlayList();",500);
				}
			},
			
			onContentPlayHead : function() {	
			},
			
			onContentStop : function(videoId)
			{
			},
			
			onContentPause : function(videoId, paused)
			{
			},
			
			onContentCompleted : function() {
				//renderPlayList();
			},
			
			onContentError : function(errorMessage) {
				//renderPlayList(videoId);
			},
			
			onContentError : function(errorMessage, currId)
            {
							cnnCVPErroredOut(this.g_domIdStr, this.g_context);
/*                var newArray = new Array();
                for(var i=0;i<currentPlayListListing.length;i++)
                {
                    if(currentPlayListListing[i]!=currId)
                    {
                        newArray.push( currentPlayListListing[i] );
                    }
                }
                currentPlayListListing = newArray;
                renderPlayList();
                //log("Error : " + this.getContentId() + " - " + errorMessage);    
*/
            },

			
			onAdError : function(message)
			{
			},
			
			onContentVolume : function(muted, volume)
			{
			},
		
			/************************
			    Tracking callbacks
			 ************************/
			onVideoTrackingAdClick : function(videoId, url)
			{
			},
			
			onVideoTrackingProgress : function(videoId, percent)
			{
			},
			
			onVideoTrackingLifetime : function(seconds)
			{
			},
			
			onVideoTrackingFullscreen : function(videoId, fullscreen)
			{
			},
			
			onVideoTrackingMuted : function(videoId, muted)
			{
			},
			
			onVideoTrackingPaused : function(videoId, paused)
			{
			},
			
			onVideoTrackingCompleted : function(videoId)
			{
			},
			
			onVideoTrackingReplay : function(videoId)
			{
			},
			
			onVideoTrackingPlay : function(videoId)
			{
			},
			
			onContentTrackingAdCountdown : function(secs) {
			}

	  });
	}
	return player;
}
