//
//$History: render.js $
//User    : Kamesh Bora     
//Date    : 05/29/08 
//Time    : 10:30a
//Created in $/ For Media Player Page
//
// Functions of Curved Box media player begin render.js
function renderPlayer(url) { 
    var browserAgent = navigator.userAgent.toLowerCase();
    if (browserAgent.indexOf("safari") > 0 && !window.devicePixelRatio)
    {
	    var flashPlayerDiv = document.getElementById('flashPlayer');
	    if (flashPlayerDiv != null)
	    {
	       flashPlayerDiv.innerHTML = "<div id='warningMessage'><%=sFlashMessage%></div>";
	    }
    }
	else
    {
        var flashPlayerName = "flashPlayer";
		var flashvars = {};
		flashvars.autostart = "true";
		flashvars.width = "363";
		flashvars.height = "208";
		var params = {};
		params.wmode = "transparent";
		params.allowfullscreen = "true";
		params.allowscriptaccess = "always";
		var attributes = {};
		attributes.id = "flashPlayer";
		attributes.enablejs = "true";
		swfobject.embedSWF(url, flashPlayerName, "363", "208", "8.0.0", "/family/JWPlayer/expressinstall2.swf", flashvars, params, attributes);
    }
}

// renderPlayer is for swfobject.ashx v2
function renderPlayer2(url, autostart, image, IsRmtpProtocol, rtmpPath, fileNameNoExt) 
{ 
    var browserAgent = navigator.userAgent.toLowerCase();
    if (browserAgent.indexOf("safari") > 0 && !window.devicePixelRatio)
    {
	    var flashPlayerDiv = document.getElementById('mediaPlayer1');
	    if (flashPlayerDiv != null)
	    {
	        flashPlayerDiv.innerHTML = "<div style='color: white; text-indent: 0px; margin: 10px; padding: 10px;'>To use this player, please visit <a href='http://www.apple.com/safari' style='color: white;'>www.apple.com/safari</a> and upgrade your version of Safari to 3.0 or above.</div>"	
	    }
    }
	else
    {
        if (IsRmtpProtocol == true)
        {
            var imagePath = image;
            var tempPath = new Array();
            tempPath = imagePath.split('?');
            var tempPath1 = tempPath[0];
		    var flashvars = {};
		    flashvars.allowfullscreen = "true";
		    flashvars.allowscriptaccess = "always";
		    flashvars.autostart = autostart;
		    			    
		    flashvars.file = rtmpPath;
		    flashvars.id = fileNameNoExt;
		    
		    flashvars.image = tempPath1;
		    flashvars.width = "640";
		    flashvars.height = "360";
		    flashvars.shownavigation = "true";
		    flashvars.enablejs = "true";
		    flashvars.volume = "50";
		    
		    var params = {};
		    params.allowfullscreen = "true";
			params.wmode = "transparent";
		    var attributes = {};
		    attributes.id = "flashPlayerName";
		    
		    swfobject.embedSWF("/family/JWPlayer/mediaplayer.swf", "mediaPlayer1", "640", "360", "8.0.0", "/family/JWPlayer/expressinstall2.swf", flashvars, params, attributes);
		}
		else
		{
		
		    var imagePath = image;
            var tempPath = new Array();
            tempPath = imagePath.split('?');
            var tempPath1 = tempPath[0];
		    var flashvars = {};
		    flashvars.allowfullscreen = "true";
		    flashvars.allowscriptaccess = "always";
		    flashvars.autostart = autostart;
		    flashvars.file = url;
		    flashvars.image = tempPath1;
		    flashvars.width = "640";
		    flashvars.height = "360";
		    flashvars.shownavigation = "true";
		    flashvars.enablejs = "true";
		    flashvars.volume = "50";
		    var params = {};
			params.wmode = "transparent";
	    	params.allowfullscreen = "true";
		    var attributes = {};
		    attributes.id = "flashPlayerName";
		    swfobject.embedSWF("/family/JWPlayer/mediaplayer.swf", "mediaPlayer1", "640", "360", "8.0.0", "/family/JWPlayer/expressinstall2.swf", flashvars, params, attributes);
        }
    }
}


//renderPlayer3 is the currently working function			
var IsAutoStart="true";
var lastOnceSize = 0;
var playlistSize = 0;
function renderPlayer3(url, autostart, image, IsRmtpProtocol, rtmpFile, rtmpServer, fileNameNoExt, mediaID, gaproIdstring, kidsafe, playlistCount, isCanadian, caHostname) 
{	
	lastOnceSize = playlistSize;
	playlistSize = playlistCount;
	IsAutoStart = autostart;
	var playerWidth = "640";
	var playerHeight = "384";
	
	var gaproAccountid = "UA-5662829-1";
	
	var hostname= "";
	var mediaCenter = "media_player";
	var _inPlayPlayerID = "P-PYT-6ET";
	var inPlayTrackerID = "TR-K5O-BMQ";
	var inPlayPublisherID = "fotf";
	var inPlayVideoID = gaproIdstring;
	var inPlayDisplayName = '||' + gaproIdstring + '||';
	var enCaImageParam = "";
	
	var playPath = "/family/JWPlayer/player.swf";
	var ovaPluginPath = "/family/JWPlayer/ova.swf,";
	var usOvaPluginConfig = "/family/JWPlayer/ova.xml";
	var caOvaPluginConfig = "/MediaCenterCA/JWPlayer/ova.xml";
	var ovaPlugin = '';
	var ovaConfig = '';
	
	if (true == isCanadian)
	{
		playerWidth = "768";
		playerHeight = "456";
		hostname = caHostname;
		mediaCenter = "canada-media-player";
		_inPlayPlayerID = "P-ER0-XF4";
		inPlayTrackerID = "TR-N46-Q4P";
		enCaImageParam = "?la=en-ca";
		
		ovaPlugin = ovaPluginPath;				
		ovaConfig = caOvaPluginConfig; // ova config file for MC.ca
	}
	else
	{
		hostname= hostAddress;// hostAddress is declared in master page
		if (kidsafe == false)
		{
			ovaPlugin = ovaPluginPath;
			ovaConfig = usOvaPluginConfig;				
		}
		else
			IsAutoStart = "true";
	}
	
	var sharingLink = hostname + "/popups/" + mediaCenter + ".aspx?MediaId=" + mediaID;
	var sharingCode = '<embed width="'+ playerWidth + '" height="' + playerHeight + '" src="' + hostname + '/family/JWPlayer/mediaplayer.swf" flashvars="allowfullscreen=true&allowscriptaccess=always&autostart=true' + '&shownavigation=true&enablejs=true&volume=50';

    var browserAgent = navigator.userAgent.toLowerCase();
    if (browserAgent.indexOf("safari") > 0 && !window.devicePixelRatio)
    {
	    var flashPlayerDiv = document.getElementById('mediaPlayer1');
	    if (flashPlayerDiv != null)
	    {
	        flashPlayerDiv.innerHTML = "<div style='color: white; text-indent: 0px; margin: 10px; padding: 10px;'>To use this player, please visit <a href='http://www.apple.com/safari' style='color: white;'>www.apple.com/safari</a> and upgrade your version of Safari to 3.0 or above.</div>"	
	    }
		
    }
	else
    {
		if (('' == url) && ('' == rtmpFile))//get nothing to play,otherwise if empty 'file', 'streamer' is passed in, player cannot be loaded normally
		{
			jwplayer('mediaPlayer1').setup({
			  'flashplayer':        playPath,
			  'id':					'flashPlayerId',
			  'width':              playerWidth,
			  'height':             playerHeight,
			  'controlbar':         'bottom'
			}); 
		}
		else
		{
			var imagePath = image;
			var tempPath = new Array();
			tempPath = imagePath.split('?');
			var tempPath1 = tempPath[0];
			var coverImage = tempPath1 + enCaImageParam;		

			if (IsRmtpProtocol == true)
			{	
				var escapedSharingCode = sharingCode + '&file=' + rtmpFile + '&streamer=' + rtmpServer  + '&image=' + hostname + '/' + coverImage + '" />';

				jwplayer('mediaPlayer1').setup({
				  'flashplayer':        playPath,
				  'id':					'flashPlayerId',
				  'width':              playerWidth,
				  'height':             playerHeight,
				  'streamer':           rtmpServer,
				  'provider':           'rtmp',
				  'file':               rtmpFile,
				  'image':				coverImage,
				  'controlbar':         'bottom',
				  'autostart':          IsAutoStart,
				  'plugins':			{
					'sharing': {
						'link': sharingLink,
						'code': escapedSharingCode
					},
					'inplay': {
						'playerID':	    _inPlayPlayerID,
						'trackerIDs':	inPlayTrackerID,
						'publisherID':	inPlayPublisherID,
						'videoID':		inPlayVideoID,
						'displayName':	inPlayDisplayName
					},
					'/family/JWPlayer/ova.swf': {
						
					}
				  },
				  'config':				ovaConfig,
				  //gapro will cause player pause when tabs in sort by area is clicked in IE browsers, disabled for now
				  //'gapro.accountid':	gaproAccountid,
				  //'gapro.tracktime':	'true',
				  //'gapro.trackpercentage':'true',
				  //'gapro.trackstarts':	'true',
				  //'gapro.idstring':		inPlayDisplayName,
				  'seamlesstabbing':	'false'
				});
			}
			else
			{
				var escapedSharingCode = sharingCode + '&file=' + url + '&image=' + hostname + '/' + coverImage + '" />';
				
				jwplayer('mediaPlayer1').setup({
				  'flashplayer':        playPath,
				  'id':					'flashPlayerId',
				  'width':              playerWidth,
				  'height':             playerHeight,
				  'file':               url,
				  'image':				coverImage,
				  'controlbar':         'bottom',
				  'autostart':          IsAutoStart,
				  'plugins':			{
					'sharing': {
						'link': sharingLink,
						'code': escapedSharingCode
					},
					'inplay': {
						'playerID':	    _inPlayPlayerID,
						'trackerIDs':	inPlayTrackerID,
						'publisherID':	inPlayPublisherID,
						'videoID':		inPlayVideoID,
						'displayName':	inPlayDisplayName
					},
					'/family/JWPlayer/ova.swf': {
						
					}
				  },
				  'config':				ovaConfig,
				  'seamlesstabbing':	'false'
				});
			}
		}
    }	

}

function playerReady(obj) {
    var player = document.getElementsByName(obj['id'])[0];
    player.addModelListener("STATE", "getUpdate");
    player.addModelListener("ERROR", "errorMonitor");
    player.autostart = IsAutoStart;
}

function errorMonitor(err) {
    isOVAFinished = false;
    if (errCount == 0) {
        if (err.message == "Error #2032") {
            if (ignoreError)
                ignoreError = false;
            else {
                alert("file not found");              
            }
			playNext();
        }
        errCount = 1;
    }
    else
        errCount = 0;
}


var errCount = 0;
var currentState;
var currentItem;
var currentPercent;
var ignoreError = false;

//This function fires for every change in media player state
function getUpdate(obj) {
    if (obj.newstate == "PLAYING" && obj.oldstate == "BUFFERING") {
        if (isOVAFinished) {
            isOVAFinished = false;
        }
    }
    else if ((obj.newstate == "COMPLETED" && obj.oldstate == "BUFFERING") || (obj.newstate == "COMPLETED" && obj.oldstate == "IDLE")) {
        if (!isOVAFinished) {
			if (isTheLastOne())
				jwplayer().pause(true);
			else
			{
				playNext();					
			}		
        }
    }
    else if (obj.newstate == "IDLE" && obj.oldstate == "PLAYING") {
        ignoreError = true;
    }
}

function onLinearAdStart() {
    isOVAFinished = false;
}

var isOVAFinished = false;
function onLinearAdFinish() {
    isOVAFinished = true;
}

function isTheLastOne()
{
	return (playlistSize == 0) || ((lastOnceSize == 0 || lastOnceSize == 2) && (playlistSize == 1));
}
