/*
	setupPlayer.js
*/

var sidebarsOK = false;
var sidebarsLoaded = false;
document.observe('dom:loaded', OnPageLoaded);
var mn_pwp = null;
var mn_adClick = null;
var mn_l3rd = null;
var mn_logo = null;
var mn_logoFull = null;

function OnPageLoaded() {
	var params = MN.GetPageParams();
	if(params.debug) {
		MN.Log.ShowPane(500);
	}
	
	var url = "";
	if (mn_extraURL=="") {
		url = '%scms/publish/vod/vodclip/%s/%s.qvt'.format(mn_host,mn_publisher,mn_clipID);
		//omnitureReportEpisode();

		// CFS: First video Omniture call. Subsequent calls are
		// made from PopulateEpisodeInfo() in playerextras.js
		var analyticsData = {
			contentTitle	: mn_showName + " - " + episodeTitleHolder,
			contentType		: "video",
			contentId		: mn_clipID,
			season			: mn_seasonNumber
		}
		omnitureReportEpisodeData(analyticsData);
	} else {
		url = mn_extraURL;
	}

	var sidebar_so = new SWFObject("/player/sidebars.swf", 'mn_sidebars', '100%', '100%', '9', '#ffffff');
	sidebar_so.addParam('allowScriptAccess', 'always');	// (REQUIRED)
	sidebar_so.addParam('wmode', 'transparent'); // allows move install process to be shown
	sidebar_so.addParam('scale', 'noscale');
	sidebar_so.addParam('align', 'l');
	sidebar_so.addParam('salign', 'tl');
	sidebar_so.addVariable('movieID', 'sidebars');
	sidebar_so.write('mnSidebars');
	
	WritePlayer(url, (mn_extraURL!=""));
}

function WritePlayer(url, extra) {

	//Hybrid bottom controls PLAY, PAUSE, SEEK BAR
	var so = new SWFObject("/player/HybridPlayer.swf", 'mn_controls', '100%', '100%', '9', '#ffffff');
	so.addParam('allowScriptAccess', 'always');	// (REQUIRED)
	so.addParam('wmode', 'transparent'); // allows move install process to be shown
	so.addParam('scale', 'noscale');
	so.addParam('align', 'l');
	so.addParam('salign', 'tl');
	if(mn_clipID != null && mn_clipID != "undefined" && mn_clipID.length != "") {
		so.addVariable("video", url);
		so.addVariable("start", ((mn_start!="")?mn_start:0));
		so.addVariable("stop", ((mn_start!="")?mn_stop:-1));
	}
	so.addVariable("streamflashads", "http://ad.doubleclick.net/adx/fbc.video/short/%s;dcmt=xml/text;sz=320x240;".format(mn_showName));
	so.addVariable('movieID', 'mn_controls'); 								// Makes the flash aware of its own ID	(REQUIRED)
	so.addVariable('playerParentID', 'mnPlayer'); 							// ID of the div that gets the client inside of it (REQUIRED)
	so.addVariable('movieParentID', 'mnControls');							// ID of the div that holds the flash object
	so.addVariable('movieFormat', 'fod');
	
	//enable fs native controls and sets the img path folder
	so.addVariable('fsnativecontrols', 'http://www.fox.com/fod/images/nativecontrols/');
	
	//ad server information
    so.addVariable('dfpUrl', 'fbc.video');
    so.addVariable('siteId', '1'); //used to designate sites, commented out for now.
	
	if(geocheck || extra) {
		if(!so.write('mnControls')){
			$("mnControls").innerHTML = "<p>Your browser does not have Flash installed. <a href=\"http://www.adobe.com/shockwave/download/index.cgi?&P1_Prod_Version=ShockwaveFlash\">Click here to download</a> the Flash Player.</p>";
		}
	} else {
		GeoBlockMessage(true);
	}

	MN.Event.Observe($('player'), 'mouseover', showControls);
	MN.Event.Observe($('player'), 'mouseout', hideDelayControls);
	MN.Event.Observe(window, 'scroll', windowScroll);
}

function GeoBlockMessage(display) {
	var html = '<p style="padding-top:40px;padding-left:40px;text-align:center;background-color:#000;height:300px;width:560px;color:white;">Thank you for your interest in FOX. <br/>This episode is currently only available to viewers living in the United States.</p>';
	$("playerBG").innerHTML = (display)?html:"";
	$("playerBG").style.display = (display)?"block":"";
	$("mnSidebars").style.visibility = (display)?"hidden":"visible";
	$("mnControls").style.visibility = (display)?"hidden":"visible";
}

//Calls into Player Object

function setMiniControls() {
	if (typeof $("mn_controls").setMiniControls == 'function') {
		setTimeout('$("mn_controls").setMiniControls();', 1);
	}
}

function setMinimalControls() {
	if (typeof $("mn_controls").setMinimalControls == 'function') {
		setTimeout('$("mn_controls").setMinimalControls();', 1);
	}

	if($("mn_sidebars") && typeof($("mn_sidebars").fadeOutJS) == "function"){
		setTimeout('$("mn_sidebars").fadeOutJS();', 1);
	}
}

function setDefaultControls() {
	if (typeof $("mn_controls").setDefaultControls == 'function') {
		setTimeout('$("mn_controls").setDefaultControls();', 1);
	}
	if((playerInstalled || screenMode=="flash") && !(playingAd) && sidebarsOK){
		if($("mn_sidebars") && typeof($("mn_sidebars").fadeInJS) == "function"){
  			setTimeout('$("mn_sidebars").fadeInJS();', 1);
		}
	}
}

function setFullControls() {
	if (typeof $("mn_controls").setFullControls == 'function') {
		setTimeout('$("mn_controls").setFullControls();', 1);
	}
}

function showClosedCaption() {
	if (typeof $("mn_controls").showClosedCaption == 'function') {
		setTimeout('$("mn_controls").showClosedCaption();', 1);
	}
}

function hideClosedCaption() {
	if (typeof $("mn_controls").hideClosedCaption == 'function') {
		setTimeout('$("mn_controls").hideClosedCaption();', 1);
	}
}

function redrawAdBreaks() {
	if (typeof $("mn_controls").redrawAdBreaks == 'function') {
		setTimeout('$("mn_controls").redrawAdBreaks();', 1);
	}
}

function clearAdBreaks() {
	if (typeof $("mn_controls").clearAdBreaks == 'function') {
		setTimeout('$("mn_controls").clearAdBreaks();', 1);
	}
}

function hidePlayer() {
	if (inInteractiveAd===true) return;
	
	if($("mn_controls") && typeof($("mn_controls").hidePlayer) == "function"){
  		setTimeout('$("mn_controls").hidePlayer();', 1);
	}
}

function showPlayer() {
	if (inInteractiveAd===true) return;
	
	if($("mn_controls") && typeof($("mn_controls").showPlayer) == "function"){
		setTimeout('$("mn_controls").showPlayer();',1);
	}
}

function hideLoadAnim() {
	$("playerLoad").style.backgroundImage = "none";
}

function windowScroll(){
	if (!MN.nonIE) {
		//Ben's hackfix for the Vista 'player can leave my browser window' problem
		$('mnPlayer').style.visibility = 'hidden';
		setTimeout("$('mnPlayer').style.visibility = 'visible'",1); //wait a millisecond, else it doesn't work
    }
}

function SidebarsLoaded() {
	sidebarsLoaded = true;
	hideLoadAnim();
}

function setSidebarsVersion(bShort)
{
	if (sidebarsLoaded)
	{
		if (bShort)
		{
			$('mn_sidebars').setShortVer();
		}
		else
		{
			$('mn_sidebars').setLongVer();
		}
	}
	else
	{
		setTimeout("setSidebarsVersion("+bShort+")",250);
	}
}

function FlashLoaded() {
	sidebarsOK = true;
	if (mn_clipID != "")
		hideDelayControlsAfterAd();
		//$('mnSidebars').style.visibility = "visible";
	hideLoadAnim();
}

function MoveTimelineLoaded() {
	sidebarsOK = true;
	SetStreamLimits(true);
	
	if (mn_pwp == null)
	{
    	mn_pwp = new MN.QVT.PlayerWrapper(MN.$("mnPlayer_QMP"), MN.$("mnPlayer"));
	
    	mn_l3rd = new MN.LowerThird(mn_pwp, false);

    	mn_l3rdFull = new MN.LowerThird(mn_pwp, true);

		mn_logo = new MN.LogoAd(mn_pwp,false);

		mn_logoFull = new MN.LogoAd(mn_pwp,true);
		
		var opts = {"top":"0px","left":"0px","height":"100%","width":"100%","z-index":"1","visibility":"hidden","onmouseup":""};
		mn_adClick = mn_pwp.OverlayManager.createOverlay("", opts);
		mn_pwp.OverlayManager.addOverlay("click_ad", mn_adClick);
    }
}

function SetStreamLimits(on) {
	mnPlayer_QMP_Set("AutoSelectByStageSize",((on)?"1":"0"));
	mnPlayer_QMP_Set("Commit","");
}