//  For Live Stream
var LIVE_WIDTH = 473;
var LIVE_HEIGHT = 355;

// For CAN
var PLAYER_WIDTH = 470;
var PLAYER_HEIGHT = 358;

var playerStarted = false;


$(document).ready(function(){
	if(!$.browser.msie){
		$('.copyButton').hide();
		$('#link, #embed').css('width', '466px');
	}

	$('#emailto').focus(doSendAuth);
});


/**
 * Copy To Clipboard (IE only)
 * @param obj DOM object whose value should be copied
 */
function copyToClipboard(obj) {
	clipboardData.setData("Text", $(obj).val());
	return false;
}

/**
 * Sends Authorization Ping
 */
function doSendAuth(){
	// if we have it, just abort
	if($('#verify').size() >= 1){ 
		return;
	}

	$.ajax({
		url: "sendToFriend.php?action=verify",
		cache: false,
		success: function(html){
			$("#send_to_friend").append(html);
			sendAuth = true;
		}
	});
}

/**
 * Send To Friend Submission
 * @param frm DOM object for friend form.
 */
function sendToFriend(frm){
	var data = $(frm).serialize();
	$.ajax({
		url: "sendToFriend.php",
		type: "POST",
		data: data,
		cache: false,
		success: function(html){
			$('#send_to_friend_results').html( html );
			showHide('send_to_friend_results', 'send_to_friend_form');
		}
	});
	return false;
}

/**
 * Send To Friend Submission
 * @param frm DOM object for sendToPhone form.
 */
function sendToPhoneConfirm(frm){

	// Check for default
	if($('#send_to_phone_num').val() == '12125551212'){
		alert("Please enter your phone number.")
		return false;
	}

	showHide('send_to_phone_confirm', 'send_to_phone_form');
	return false;
}

/**
 * Send To Phone Submission
 * @param frm DOM object for sendToPhone form.
 */
function sendToPhone(frm){
	var data = $(frm).serialize();

	// Second check for default
	if($('#send_to_phone_num').val() == '12125551212'){
		alert("Please enter your phone number.")
		return false;
	}

	// Hide confirmation	
	$('#send_to_phone_confirm').hide();

	$.ajax({
		url: "sendToPhone.php",
		type: "POST",
		data: data,
		cache: false,
		beforeSend: function(){
			showHide('send_to_phone_results', 'send_to_phone_form');
			$('#send_to_phone_results').html( '<p style="text-align: center; margin-bottom: 0;" class="subheadblack">Sending...</p>' );
		},
		success: function(html){
			$('#send_to_phone_results').html( html );
		}
	});
	return false;
}

/**
 * Toggle Form - Toggles between form and results
 * @param aShow set to 'results' to show results panel.  Otherwise shows form.
 */
function showHide(aShow, aHide){
	$('#'+aHide).fadeOut('fast', function(){
		$('#'+aShow).fadeIn('fast');
	});
	return false;
};
	

/**
 * Clear Form
 */
function clearForm(){
	$('#emailto, #emailfrom, #note').each(function(){
		$(this).val('');
	});
	return false;
}
	
	
/**
 * On Ad Start 
 * @param aSrc {String} src for img
 * @param aUrl {String} url for link
 * @author raccettura
 */
function setExternalAd(aSrc, aUrl){
	$videoAd = $('#videoAd');
	$videoAd.html('<a href="' + aUrl + '" target="_blank"><img src="' + aSrc + '" alt="Advertisement" /></a>');
	if($videoAd.css('display') == 'none'){
		$videoAd.slideDown("slow");
	}
	//  Note: closed in onVideoEnded()
}


/**
 * On Video Ended 
 * @global gVideoInPlay {Object} Video Object
 */
function onVideoEnded(){
	if(playerStarted){
		playerStarted = false;

		// Don't do this in the actual callback or you'll crash browsers
		setTimeout(function(){ 
			closeVideoCompanionAd();
	
		}, 10)	
	}
}


/**
 * Close Video Companion Ad
 */
 
var videoPlaylistItem = 0;
function closeVideoCompanionAd(){
	$('#videoAd').slideUp("slow", 
		function(){
			$('#videoAd').html('');
		}
	);
	
	if(typeof videoPlaylist != 'undefined' && videoPlaylist.length > 0 && videoPlaylistItem < videoPlaylist.length-1){
		videoPlaylistItem++ // increment
		//console.log('item:'+ videoPlaylistItem);
		playFlashVideo(videoPlaylist[videoPlaylistItem]); // play the next
	}
}


function playFlashVideo(aFlvId){
	playerStarted = true;
	//var so = new SWFObject("http://www.cbs.com/thunder/swf/rcpHolderCbs-News560.swf", "rcpHolder", "560", "355", "9", "#000000");
	//var so = new SWFObject("http://www.cbs.com/thunder/swf30can10/rcpHolderCbs-3-4x3.swf", "rcpHolder", "560", "315", "9", "#000000");
	//var so = new SWFObject("http://stage.cbs.com/thunder/swf30can10cbsnews/rcpHolderCbs-3-4x3.swf", "rcpHolder", "480", "355", "9", "#000000");
	var so = new SWFObject("http://www.cbs.com/thunder/swf30can10cbsnews/rcpHolderCbs-3-4x3.swf", "rcpHolder", PLAYER_WIDTH, PLAYER_HEIGHT, "9", "#000000");

	so.addParam("name", "rcpHolder");
	so.addParam("quality", "high");
	so.addParam("scale", "noorder"); 
	so.addParam("wmode", "transparent");
	so.addParam("autoplay", "true");
	so.addParam("allowScriptAccess", "always");
	so.addParam("allowFullScreen", true);
	so.addParam('FlashVars', 'releaseURL=' + playerBuildFlashVar(aFlvId) + '&rv=n&partner=news');
    so.addVariable("partner", "news");
//	console.log(playerBuildFlashVar(aFlvId));
	so.write("flashvideocontent");
}


/**
 * Check for Winmed
 * @global gVideoInPlay {Object} Video Object
 */
function hasWinMed(){
	
	// Detection
	var version = 0;
	if (window.ActiveXObject) {
		var control = null;
		try {
			control = new ActiveXObject('WMPlayer.OCX');
			version = parseFloat(control.versionInfo);
		} catch (e) {
			return;
		}
	} else {
		var i = 0;
		while(i<navigator.plugins.length){
			if(navigator.plugins[i].name.indexOf('Flip4Mac') != -1 
				|| navigator.plugins[i].name.indexOf('Windows Media Player') != -1 ){
				version = navigator.plugins[i].name;
				break;
			}
			i++;
		}
	
	}

	if(version >= 9 || (version != 0 && version.indexOf('Flip4Mac') != -1 ) || version.indexOf('Media Player') != -1 ){
		return true;
	}
	return false;							
}

/**
 * Display Windows Media
 * @param url {string} Video Url
 */
function showStream(streamUrl){
	streamUrl += '&width='+LIVE_WIDTH+'&height='+LIVE_HEIGHT;
	
	if(hasWinMed()){
		//stretchtofit="1"  animationatstart="0" 
		//var embed = '<embed width="' + LIVE_WIDTH + '" height="' + (LIVE_HEIGHT-16) + '" src="' + streamUrl + '" displaysize="0" autosize="0" showtracker="1" showpositioncontrols="1" showstatusbar="1" showcontrols="1" autostart="1" name="vplayer" defaultframe="adtrack" autostart="1" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" type="application/x-mplayer2"></embed>';
		//var object = '<object id="player" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width="' + LIVE_WIDTH +'" height="' + LIVE_HEIGHT + '" type="application/x-oleobject" data="' + streamUrl + '"><param name="autoStart" value="True" /><param name="src" value="' + streamUrl + '" /><param name="url" value="' + streamUrl + '" /><param name="controller" value="true" />' +  '</object>';
		//var object = '<object type="video/x-ms-wmv" data="' + streamUrl + '" width="' + LIVE_WIDTH + '" height="' + LIVE_HEIGHT + '"><param name="src" value="' + streamUrl + '" /><param name="autostart" value="true" /><param name="controller" value="true" /><param name="displaysize" value="0" /><param name="autosize" value="1" /><param name="showtracker" value="1" /><param name="showpositioncontrols" value="1" /><param name="showstatusbar" value="0" /><param name="showcontrols" value="1" /><param name="uimode" value="full" /></object>';
		var object = '<object id="streamPlayer" type="video/x-ms-wmv" data="' + streamUrl + '" width="' + LIVE_WIDTH + '" height="' + LIVE_HEIGHT + '"><param name="src" value="' + streamUrl + '" /><param name="autostart" value="true" /><param name="showstatusbar" value="false" /><param name="showcontrols" value="0" /><param name="controller" value="0" /></object>';
		$box = $('#streamcontent');
		$box.html(object);
	} else {
		var error = '<a href="http://www.microsoft.com/windows/windowsmedia/player/download" target="new" title="Download Windows Media Player 11"><img src="http://www.microsoft.com/windows/windowsmedia//images/logos/getwm/mp11_88x31_static.gif" alt="Windows Media Player 11" style="margin-bottom: 4px;" /></a>';
		error += '<p class="bodysmall" style="color: #fff; margin: 0 0 25px 0;">The live simulcast of the CBS Evening News as well as live video feeds can only be viewed using the Windows Media player at this time.</p>';
		$('#streamcontent').html(error);
	}
}

function showLoginRequiredError(){
	var error = '<div style="background-color: rgb(0, 0, 0);" id="streamcontentError"/>';
		error += '<h3 class="margin: 0; bodysmall" style="padding-top: 8px; font-size: 15px; color: #fff;">Login Required</h3>';
		error += '<p class="bodysmall" style="font-size: 12px; text-align: left; padding: 0 10px; color: #fff;">To see this video, you need to log-in to CBSNews.com.  Please login or register using the log-in form in the upper right corner.</p>';
		error += '</div>';
	$o = $('#streamcontent');
	$o.height(LIVE_HEIGHT);
	$o.html(error);
}

/**
 *Return param values from url
 *@param _param {string}
*/
var _params = null;

//-------------------------------------------------------------
// Load all params into _params array
function getParams(arrays) {
	if (_params == null) {
		var url = location.href.split('?', 2);
		if (url.length == 2) {
        	 _params = parseParams(url[1], arrays);
		} else {
			_params = new Array();
		}
	}
	return _params;
}

//-------------------------------------------------------------
// Parse a param string
function parseParams(string, arrays) {
	var params = new Array();
	var args = string.split('&');
	for (var i=0; i<args.length; i++) {
		var arg = args[i].split('=', 2);
		if (arrays) {
            
			if (!params[arg[0]]) {
				params[arg[0]] = new Array();
			}
			params[arg[0]][params.length] = arg[1];
		} else {
       
			params[arg[0]] = arg[1];
		}
	}
	return params;
}

//-------------------------------------------------------------
// Get a value of a param
function getParam(name) {
	var params = this.getParams();
	return params[name];
}
