//css for styles defined here /.element/css/2.0/video/savp/site/default.css

function cnnGetXmpVideoUrl( str ) {
	var videoUrl = str;
	if ( str.indexOf("javascript:cnnLaunchVideo('") != -1 ) {
		videoUrl = str.slice(27, -14);
	}
	else if ( str.indexOf("javascript:LaunchVideo('") != -1 ) {
		videoUrl = str.slice(24, -5);
		videoUrl = '/video/'+ videoUrl;
	}
	if ( videoUrl.indexOf('/index.html') != -1 ) {
		var end = videoUrl.indexOf('/index.html');
		videoUrl = videoUrl.slice(0, end);
	}
	if ( str.charAt( str.length - 1) == '/' ) {
		videoUrl =  str.slice( 0, str.length - 1 );
	}
	return videoUrl +'.json';
}

function defaultHomepageStartSlateHandler() {
	var o = '<img src="'+ nascarStartSlateBackgroundImage +'" width="640" height="360" class="cnnXmpStartSlate">'; 
	o += '<div class="cnnXmpPlayButton">';
	o += '<a href="javascript:;" onclick="XMPPlaylistManager.getInstance().advanceTo(\'saplaylist\', NASCARPlayers.getInstance().getPlayerConfig(\'homepage\').startPoint);return false;">';
	//o += '<a href="javascript:;" onclick="XMPPlaylistManager.getInstance().advance();return false;" onmouseover="$(\'cnnXmpPlayButtonImg\').src=\'http://i.cdn.turner.com/nascar/.element/img/2.1/sect/video/play_on.png\'" onmouseout="$(\'cnnXmpPlayButtonImg\').src=\'http://i.cdn.turner.com/nascar/.element/img/2.1/sect/video/play_off.png\'">';
	o += '<img id="cnnXmpPlayButtonImg" src="http://i.cdn.turner.com/nascar/.element/img/2.1/sect/video/play_off.png" width="75" height="75" border="0">';
	o += '</a>';
	o += '</div>';
	return o;
}

function defaultStartSlateHandler(backgroundImage) {
	//alert('default start slate handler');
	return '<img id="cnnStartSlateImg" src="'+backgroundImage+'" width="384" height="216"><div id="playDiv"><a href="javascript:VideoPlaylistManager.getInstance().advanceTo(\''+VideoPlaylistManager.getInstance().activePlaylist+'\',0)"><div id="play_button_ht"><img id="playImg" border="no" src="http://i.cdn.turner.com/cnn/video/bvp/images/play_HT_off.png"></div></a></div>';
}
// This is the 180x150 "ad" in the end slate
var cnnEndSlateXmpAd = '<a href="/promos/trackpass/free_homestead/index.html?sc_cid=bfgh22"><img src="http://i.cdn.turner.com/nascar/.element/img/2.1/sect/video/TP09_Homestead_180x150.jpg" width="180" height="150" alt=""></a>';
var cnnRelatedHeadlinesArray;
function defaultEndSlateHandler(backgroundImage) {
	var str = '';
	str += '<div id="cnnXmpEndState">';
	str += '<div id="cnnXmpEndActions">';
	str += '<a href="javascript:XMPPlaylistManager.getInstance().advanceTo(\'saplaylist\', NASCARPlayers.getInstance().getPlayerConfig(\'playerPage\').startPoint);" onclick="" id="cnnXmpEndReplay"></a>';
	str += '<a href="javascript:;" onclick="this.style.display=\'none\'; d.getElementById(\'cnnXmpShare\').style.display=\'block\';" id="cnnXmpEndShare"></a>';
	str += '</div>';
	str += '<div id="cnnXmpEndAd">'+ cnnEndSlateXmpAd +'</div>';
	str += '<div id="cnnXmpEndRelateds">';
	if ( cnnRelatedHeadlinesArray ) {
		str += 'Related Headlines';
		var len = cnnRelatedHeadlinesArray.length;
		for ( var i = 0; i < len; i++ ) {
			if ( cnnRelatedHeadlinesArray[i] ) {
				str += '<a href="'+ cnnRelatedHeadlinesArray[i].url +'">'+ cnnRelatedHeadlinesArray[i].headline +'</a>';
			}
		}
	}
	str += '</div>';
	str += '</div>';
	
	return str;
}

function defaultErrorSlateHandler(errorObject) {
	var str = str2 = '';
	if (XMPPlaylistManager.getInstance().SAConfiguration.videoDivId != 'cnnXMPhome') {
		if (errorObject.message.indexOf('PlugInNotFoundError') > -1) { 
			// missing plugin error, only gonna be flash right now
			str += '<div style="border: 1px solid #900; margin: 70px auto 0; width: 250px;">';
			str += '<div style="padding:4px;color:#fdd;background-color:#900;font-weight:bold;">'+ errorObject.innerError.plugIn.displayName +'</div>';
			str += '<div style="color: #900;background-color: #fdd;padding: 5px;">The PlugIn was not found.<br />The plugin can be downloaded at:';
			str += '<br /><br /><a href="'+ errorObject.innerError.plugIn.downloadUrl +'" style="color:#900;background:inherit;font-weight:bold;" target="_blank">'+ errorObject.innerError.plugIn.downloadUrl +'</a></div>';
			str += '</div>';
		} 
		else {
			if ( errorObject.getContext() == 'Connection timeout.' ) {
				str += '<div style="border: 1px solid #900; margin: 70px auto 0; width: 250px;">';
				str += '<div style="padding:4px 0;color:#fdd;background-color:#900;font-weight:bold;">CONNECTION ERROR</div>';
				str += '<div style="color: #900;background-color: #fdd;padding: 5px 0;">The connection timed out after attempting to connect for several secounds.</div>';
				str += '<div style="color: #900;background-color: #fdd;padding: 5px 0;"><a href="javascript:window.location.reload();" style="color:#900;background:inherit;font-weight:bold;">Try to connect again</a></div>';
				str += '</div>';
			}
			else if ( errorObject.getContext() == 'Connecting to media.' ) {
			//*
				str += '<div style="border: 1px solid #900; margin: 70px auto 0; width: 250px;">';
				str += '<div style="padding:4px;color:#fdd;background-color:#900;font-weight:bold;">CONNECTION ERROR</div>';
				str += '<div style="color: #900;background-color: #fdd;padding: 5px;">The connection timed out after attempting to connect for several secounds.</div>';
				str += '</div>';
/*
	str += '<div id="errorDiv" style="padding: 5px; text-align: center;">';
	str += '<div style="width: 270px; margin: 70px auto 0; color: #222; background-color: #999;">';
	str += '<div style="width: 270px; background: transparent url(http://i.cdn.turner.com/nascar/.element/img/2.0/global/video/hdr_videoMsg.gif); height: 22px;"></div>';
	str += '<div style="padding: 5px;">Your video experience has ended.<br>Please select another video or <a href="javascript:window.close();" style="padding-left:0;background:inherit;">close this window</a>.</div>';
	str += '</div>';
	str += '</div>';
			*/
			}
			else {
				str += '<div style="border: 1px solid #900; margin: 70px auto 0; width: 250px;">';
				str += '<div style="padding:4px;color:#fdd;background-color:#900;font-weight:bold;">GENERAL ERROR</div>';
				str += '<div style="color: #900;background-color: #fdd;padding: 5px;">A general error has occurred.</div>';
				str += '</div>';
			}
		}
		str2 = '<div id="errorDiv" style="padding: 2px; text-align: center; color: #FFFFFF;">'+ str +'</div>';
	}
	return str2;
}

function defaultUpdateContentHandler() {
	// intentionally left blank
}

function defaultMidSlateHandler( backgroundImage ) {
	return '<img id="cnnMidSlateImage" src="'+ backgroundImage +'" width="464" height="240" onload="xmpStartMidSlateTimer()">';
}

// additional handlers that might be reused but weren't part of the core 4 basic examples

function defaultEndSlateHandlerReplayEntirePlaylist(backgroundImage) {
	alert('default end slate handler replay entire playlist');
	str = "<img id='cnnEndSlateImg' src='"+backgroundImage+"' width='384' height='216'>";
	str += '<div id="replayButton"><a onmouseover="flipBVPImage(\'replay\',\'rply_sm\',\'on\',\'_ht\');" onmouseout="flipBVPImage(\'replay\',\'rply_sm\',\'off\',\'_ht\');" href="javascript:XMPPlaylistManager.getInstance().advanceTo(\''+XMPPlaylistManager.getInstance().activePlaylist+'\',0)"><div id="replay_button_ht"><img id="replayImg" border="no" src="http://i.cdn.turner.com/cnn/video/bvp/images/rply_sm_off.png"></div></a></div>';
	return str;
}

function defaultBootErrorSlateHandler(errorObject) {
	if (XMPPlaylistManager.getInstance().SAConfiguration.videoDivId != 'cnnXMPhome') {
		if (errorObject.message.indexOf('PlugInNotFoundError') > -1) { // missing plugin error, only gonna be flash right now
			var str = "<b>"+errorObject.plugIn.displayName+":</b> The PlugIn was not found.<br><br>The plugin can be downloaded at<br><br>";
			str += '<a href="'+errorObject.plugIn.downloadUrl+'" target="_blank">'+errorObject.plugIn.downloadUrl+'</a>';
		}
		document.getElementById(XMPPlaylistManager.getInstance().SAConfiguration.videoDivId).innerHTML = '<div id="errorDiv" style="padding: 2px; text-align: center; color: #FFFFFF;">'+str+'</div>';
	}
}

function xmpStartMidSlateTimer() {
	setTimeout('XMPPlayer.getInstance().advance()', 5000)
}

function cnnProcessSearchTerms() {
	var searchPath = 'http://search.nascar.com/pages/search/advanced.jsp?Coll=nascar_xml&QuerySubmit=true&Page=1&source=NSS&QueryText=';
	var arr = arguments;
	var len = arr.length;
	var output = '';
	for ( var i = 0; i < len; i++ ) {
		if ( arr[i] != 'None' ) {
			if ( arr[i].match(/^\d{2}/) ) arr[i] = arr[i].slice(4);
			if ( arr[i].match(/^\w{2}\s-\s/) ) arr[i] = arr[i].slice(4);
			//output += ' <a href="'+ searchPath + escape(arr[i]) +'">'+ arr[i] +'<\/a>,';
			output += ' '+ arr[i] +',';
		}
	}
	return output.slice(0, output.length - 1);
}