// TNT player driver reference.
var driver = null;
// ----------------------------------------------
// -- Function: init - 
// ---------------------------------------------- 
function init() {
// from main.js - needed for IFrame communication
var cnnDocDomain = '';
if(location.hostname.indexOf('tnt.tv')>0) {cnnDocDomain='tnt.tv';}
if(location.hostname.indexOf('turner.com')>0) {if(document.layers){cnnDocDomain='turner.com:'+location.port;}else{cnnDocDomain='turner.com';}}
//if(cnnDocDomain) {document.domain = cnnDocDomain;}
initAdServerCookies(cnnDocDomain);
// Create TNT player driver.
driver = new TNTPlayerDriver();
// Initialize driver.
driver.init();	
}
function initAdServerCookies(docDomain)
{	// See document Design\xmp_cookies.txt
var cnnAdCookieIsSet = null;
var imgSrc = '';
// can the user read/write cookie values?
if (tkutils.Cookie.canUse()) {
cnnAdCookieIsSet = tkutils.Cookie.read('adDEon');
if (!cnnAdCookieIsSet) {
imgSrc = 'http://gdyn.' + docDomain + '/1.1/1.gif';
window.top.document.images.cookieCrumb.src = imgSrc;
}
}	
}
function fini() {
}
function callScrubbarMethod(method, args) {
try {
var controller = (navigator.appName.indexOf("Microsoft") != -1) ? window["tnt_scrubbar"] : document["tnt_scrubbar"];
var returnVal = controller[method](args);
if(typeof(returnVal) != "undefined") return returnVal;
} catch(err) {
// catch error and ignore, usually caused by xmp loading before controller plugin
}
}
function handleScrubbarEvent(event) {
if (event == 'play') {
driver.player.playEx();
} else if (event == 'pause') {
driver.player.pauseEx();
} else if (event == 'seek') {
driver.player.seekEx();
} else if (event == 'setVolume') {
driver.player.setVolumeEx();
} else if (event == 'setFullscreen') {
driver.player.setFullScreenEx();
}
}
// --------------------------------------------------------------------------------- 
// -- Class: TNTPlayerDriver	-	
// --	-	
// -- Base Classes Inherited:	-
// --	-	
// -- None	- 
// --	- 
// -- Description: TNT player driver.	-
// --	-	
// -- Maintenance History:	-	
// --	- 
// -- Created: Jerry Chen	- 
// --------------------------------------------------------------------------------- 
// ----------------------------------------------
// -- Class: TNTPlayerDriver	-
// -- Constructor: TNTPlayerDriver	- 
// ---------------------------------------------- 
function TNTPlayerDriver( ) {
this._TABLE_CELL_STYLE = "border-bottom: 1px solid #DCDCDC; border-right: 1px solid #DCDCDC; " + 
"border-left: 1px solid #DCDCDC; cursor: pointer";
// Set TNT player reference to null.
this.player = null;
}
// ----------------------------------------------
// -- Class: TNTPlayerDriver	-
// -- Method: init	- 
// ---------------------------------------------- 
TNTPlayerDriver.prototype.init = function() {
//var sm = xmp.util.SettingsManager.getInstance();
//sm.init(cnnXmpPrimaryJsonObj); // cnnXmpPrimaryJsonObj defined in primary.js
xmp.baseplayer.BasePlayer.configure([cnnXmpPrimaryJsonObj], {});
//xmp.util.LogConfigurator.configure();	
this.player = new TNTPlayer( {}, [], this );
this.player.bootStrap(); // this is asynch, wait for onBootstrapped to be called
};
TNTPlayerDriver.prototype.onBootstrapped = function(success) {	
if (!success) { return; } // handleFatalException should have been called on player
this.player.setPlayerContext('Dramavision');
this.player.createPlayListContext('Dramavision');
xmpReady = true;
if (typeof(waitingVideo) !== 'undefined' && waitingVideo !== '') {
handleAddPlaylistItem(waitingVideo);
}
};
// ----------------------------------------------
// -- Class: TNTPlayerDriver	-
// -- Method: addPlaylistItem	- 
// ---------------------------------------------- 
TNTPlayerDriver.prototype.addPlaylistItem = function( event ) {
// If the item already exists, remove it
if (this.player.findPlayListItemIndex(event) !== -1) {
this.deletePlaylistItem( event );	
}
// Put in player playlist and play.	
this.player.appendToPlayList( event, true );	
};
// ----------------------------------------------
// -- Class: TNTPlayerDriver	-
// -- Method: deletePlaylistItem	- 
// ---------------------------------------------- 
TNTPlayerDriver.prototype.deletePlaylistItem = function( event ) {
this.player.removeFromPlayList( event );	
};
// ----------------------------------------------
// -- Class: TNTPlayerDriver	-
// -- Method: gotoPlaylistItem	- 
// ---------------------------------------------- 
TNTPlayerDriver.prototype.gotoPlaylistItem = function( event ) {
// Get selected row.
var row = this.getSelectedRow( event );
// Get selected playlist item url.
var url = row.getAttribute( "url" );
// Do we have a playlist already loaded?	
if ( this.player !== null && this.player.hasPlayListContext() ) {
// Hide all overlays.
this.player.getViewport(this.player.getMainPlayerContext()).hideOverlays( xmp.ALL_OVERLAYS );
// Goto to playlist item.
this.player.setCurrentPlayListPosition( url );	
}
};
// ----------------------------------------------
// -- Function: handleAddPlaylistItem - 
// ---------------------------------------------- 
function handleAddPlaylistItem( event ) {
// Delegate to driver.
driver.addPlaylistItem( event );
}
// ----------------------------------------------
// -- Function: handleDeletePlaylistItem - 
// ---------------------------------------------- 
function handleDeletePlaylistItem( event ) {
// Delegate to driver.
driver.deletePlaylistItem( event );
}
// ----------------------------------------------
// -- Function: handleGotoPlaylistItem	- 
// ---------------------------------------------- 
function handleGotoPlaylistItem( event ) {
// Delegate to driver.
driver.gotoPlaylistItem( event );
}

