/*
http://ardmtdata1.turner.com/toonla-released/images/cn25/js/video.js
*/

function getEnvForHost() {
	var host = window.location.host;
	if(host.indexOf("localhost") != -1) {
		return 'LOCAL';
	} else if (/cn[a-z]{2,8}-apps\.turner\.com/i.test(host)) {
		return 'CONT';
	} else {
		return 'PROD';
	}
}

function getCountryForHost() {
	var host = window.location.host;
	var country = 'ar';
	
	switch(host) {
		case 'www.cartoonnetwork.com.ar':
		case 'cnarqa.turner.com':
		case 'cnardev-apps.turner.com':
		case 'cnardev.turner.com':
			country = 'ar';
			break;
		case 'www.cartoonnetwork.com.br':
		case 'cnbrqa.turner.com':
		case 'cnbrdev-apps.turner.com':
		case 'cnbrdev.turner.com':
			country = 'br';
			break;
		case 'www.cartoonnetwork.cl':
		case 'cnclqa.turner.com':
		case 'cncldev-apps.turner.com':
		case 'cncldev.turner.com':
			country = 'cl';
			break;
		case 'www.cartoonnetwork.com.co':
		case 'cncoqa.turner.com':
		case 'cncodev-apps.turner.com':
		case 'cncodev.turner.com':
			country = 'co';
			break;
		case 'www.cartoonnetwork.com.mx':
		case 'cnmxqa.turner.com':
		case 'cnmxdev-apps.turner.com':
		case 'cnmxdev.turner.com':
			country = 'mx';
			break;
		case 'www.cartoonnetwork.com.ve':
		case 'cnveqa.turner.com':
		case 'cnvedev-apps.turner.com':
		case 'cnvedev.turner.com':
			country = 've';
			break;
		case 'spa.cartoonnetworkla.com':
		case 'cnespqa.turner.com':
		case 'cnespdev-apps.turner.com':
		case 'cnespdev.turner.com':
			country = 'la';
			break;
		case 'eng.cartoonnetworkla.com':
		case 'cnengqa.turner.com':
		case 'cnengdev-apps.turner.com':
		case 'cnengdev.turner.com':
			country = 'laen';
			break;
	}
	return country;
}

function getCndPath() {
	var env = getEnvForHost();
	var path = '';

	switch(env) {
		case 'LOCAL':
		case 'CONT':
			path =  'http://ardmtdata1.turner.com/toonla-released/images/';
			break;
		case 'PROD':
		default:
			path = 'http://i.cdn.turner.com/toonla/images/';
			break;
	}
	return path;
}

function getVideoPlayerUrl() {
	var env = getEnvForHost();
	var cdnPath = getCndPath();
	
	var playerUrl = '';
	if(env == 'LOCAL') {
		playerUrl = window.location.protocol + "//" + window.location.host + window.location.pathname;
		if(playerUrl.charAt(playerUrl.length - 1) != "/") {
			playerUrl += "/";
		}
		playerUrl += "kaltura_player/kdp3.swf";
	} else {
		playerUrl = cdnPath + 'cn25/kaltura_player/kdp3.swf';
	}
	
	return playerUrl;
}

var _playerReady = false;

function showVideo(videoData) {
	if(videoData) {
		if(!_playerReady) {
			loadVideo(videoData);
		} else {
			changeVideo(videoData);
		}
	} else {
		unloadVideo();
	}
}

function getUiConfId()  {
	var country = getCountryForHost();
	
	var uiConfId;
	switch(country) {
		case 'ar':
			uiConfId = '6956612';
			break;
		case 'br':
			uiConfId = '6956682';
			break;
		case 'cl':
			uiConfId = '6956672';
			break;
		case 'co':
			uiConfId = '6956662';
			break;
		case 'mx':
			uiConfId = '6956632';
			break;
		case 've':
			uiConfId = '6956622';
			break;
		case 'la':
			uiConfId = '6956652';
			break;
		case 'laen':
			uiConfId = '6956642';
			break;
	}
	return uiConfId;

}

function getVideoPlayerContainer() {
	var container = document.getElementById('videoContainer_absolute_inner');
	if(container) {
		return container;
	}
	
	if($('.mainSWFRegionInner').length == 1) {

		$('.mainSWFRegionInner').append(
			'<div id="videoContainer_absolute_outer"><div class="externalVideoContainer" id="externalVideoContainer"><div id="videoContainer_absolute_inner" class="absolute_inner"></div></div></div>'
		);

		$('#videoContainer_absolute_outer').css({
			'position': 'relative',
			'left': 0,
			'top': '-400px'
		});	
		
		$('.externalVideoContainer').css({
			'background-color': '#000000',
			'border': 'medium none',
			'height': '400px',
			'left': '-301px',
			'position': 'relative',
			'top': '156px',
			'visibility': 'hidden',
			'width': '600px',
			'z-index': 32
		
		});
	
	} else {

		$('.flashContainer').append(
			'<div id="videoContainer_absolute_outer"><div class="externalVideoContainer" id="externalVideoContainer"><div id="videoContainer_absolute_inner" class="absolute_inner"></div></div></div>'
		);

		$('#videoContainer_absolute_outer').css({
			'position': 'absolute',
			'left': '50%',
			'visibility' : 'hidden'
		});	
		
		$('.externalVideoContainer').css({
			'background-color': '#000000',
			'border': 'medium none',
			'height': '400px',
			'left': '-301px',
			'position': 'relative',
			'top': '156px',
			'visibility': 'hidden',
			'width': '600px',
			'z-index': 32
		
		});
		
	}
	
	return document.getElementById('videoContainer_absolute_inner');
}

function loadVideo(videoData) {

	var cdnPath = getCndPath() + "cn25/";
	var env = getEnvForHost();
	
	_playerReady = false;
	
	var width = !isNaN(videoData.width) ? videoData.width : 640;
	var height = !isNaN(videoData.height) ? videoData.height : 480;
	
	var container = getVideoPlayerContainer();
	container.innerHTML  = '<div id="kdp3" style="position:absolute;"></div>';
	
	//	si se usa path absoluto, guarda que haya crossdomain.xml
	var playerUrl = getVideoPlayerUrl();
	
	var flashvars = {};
	flashvars.autoPlay = "true";
	flashvars.entryId = videoData.videoId;
	flashvars.sourceType = "entryId";
	
	flashvars.debugMode = "true";
	flashvars.fileSystemMode = "false";
	
	flashvars.uiConfId = getUiConfId();	//	'6597151';
		
	flashvars.widgetId = '_618292';
	flashvars.partnerId = '618292';
	flashvars.subpId = '61829200';
	flashvars.pluginDomain = cdnPath + "kaltura_player/plugins/";
	/* No anda el RTMP */
	//flashvars.streamerType = 'rtmp';
	//flashvars.rtmpFlavors = 'undefined';
	
	/* HTTP */
	flashvars.streamerType = 'http';
	
	
	flashvars.host = "cdnbakmi.kaltura.com";
	flashvars.cdnHost = "cdnbakmi.kaltura.com";
	flashvars.kml = "undefined";
	/*
	switch(env) {
		case "LOCAL":
			flashvars.kmlPath = cdnPath + "kaltura_player/config_LOCAL.xml";
			break;
		case "CONT":
			flashvars.kmlPath = cdnPath + "kaltura_player/config_CONT.xml";
			break;
		case "PROD":
			flashvars.kmlPath = cdnPath + "kaltura_player/config.xml";
			break;
	}
	*/
	flashvars.externalInterfaceDisabled = "false";

	/*
	var flashvars = {};
	flashvars.autoPlay = "true";

	flashvars.host = "cdnbakmi.kaltura.com";
	flashvars.cdnHost = "cdnbakmi.kaltura.com";

	flashvars.sourceType = 'entryId';
	flashvars.entryId = videoData.videoId;

//	flashvars.entryId = videoData.dataUrl;
//	flashvars.sourceType = "url";
	
	flashvars.debugMode = 'false';
	flashvars.fileSystemMode = 'false';
	flashvars.uiConfId = '6119111';//	'6119111';
	flashvars.widgetId = '_618292';
	flashvars.partnerId = '618292';
	flashvars.externalInterfaceDisabled = "false";

	flashvars.streamerType = 'rtmp';
	flashvars.rtmpFlavors = '1';

	*/

	
	var params = {};
	params.quality = "best";
	params.wmode = "opaque";
	params.allowfullscreen = "true";
	params.allowscriptaccess = "always";
	
	var attributes = {};
	attributes.id = "kdp3";
	attributes.name = "kdp3";
	attributes.styleclass = "player";
	
//	playerUrl = 'http://www.kaltura.com/index.php/kwidget/cache_st/1321888594/wid/_618292/uiconf_id/6119111/entry_id/1_0osbwdg3';
	swfobject.embedSWF(playerUrl, "kdp3", "600", "400", "10.0.0", "jslib/expressInstall.swf", flashvars, params, attributes);

	
}

function handleDoPlay() {
	sendMessage('doPlay');
	console.log('handleDoPlay'); 
}

function handleDoPlayEntry() {
	console.log('handleDoPlayEntry'); 
}

function handlePre1start() {
	console.log('handlePre1start'); 
}

function handlePost1start() {
	console.log('handlePost1start'); 
}

function handleEndPreSession() {
	console.log('handleEndPreSession'); 
}

function handleEndEntrySession() {
	console.log('handleEndEntrySession'); 
}

function handleChangeMedia() {
	console.log('handleChangeMedia'); 
}

function handleEntryReady() {
	console.log('handleEntryReady'); 
}

function handleLoadMedia() {
	console.log('handleLoadMedia'); 
}

function handlePlayerReady() {
	console.log('handleLoadMedia'); 
}

function handlePlayerContainerReady() {
	console.log('handlePlayerContainerReady'); 
}

function handlePlayerPlayed() {
	console.log('handlePlayerPlayed'); 
}

function handleSequenceItemPlayStart() {
	console.log('handleSequenceItemPlayStart'); 
}

function handleStartup() {
	console.log('handleStartup'); 
}


function jsCallbackReady () {
	_playerReady = true;
	$('#kdp3').get(0).addJsListener('pre1start','handlePre1start');
	$('#kdp3').get(0).addJsListener('post1start','handlePost1start');	
	$('#kdp3').get(0).addJsListener('doPlay','handleDoPlay');
	$('#kdp3').get(0).addJsListener('doPlayEntry','handleDoPlayEntry');	
	$('#kdp3').get(0).addJsListener('entryReady','handleEntryReady');	
	$('#kdp3').get(0).addJsListener('loadMedia','handleLoadMedia');	

	$('#kdp3').get(0).addJsListener('endPreSession','handleEndPreSession');	
	$('#kdp3').get(0).addJsListener('endEntrySession','handleEndEntrySession');	
	$('#kdp3').get(0).addJsListener('changeMedia','handleChangeMedia');	

	$('#kdp3').get(0).addJsListener('playerReady','handlePlayerReady');	
	$('#kdp3').get(0).addJsListener('playerContainerReady','handlePlayerContainerReady');	
	
	$('#kdp3').get(0).addJsListener('playerPlayed','handlePlayerPlayed');	

	$('#kdp3').get(0).addJsListener('sequenceItemPlayStart','handleSequenceItemPlayStart');
	$('#kdp3').get(0).addJsListener('startup','handleStartup');	
	
	
	sendMessage('playerReady');
	
}

function sendMessage(msg) {
	try {
		$('#applicationContainer').get(0).sendMessage(msg);
	} catch(err) {}
}


function unloadVideo() {
	var container = getVideoPlayerContainer();
	container.innerHTML  = '';
	_playerReady = false;
}

function changeVideo(videoData) {
	var entryId = videoData.videoId;	//	videoData.dataUrl;	//	videoData.videoId
	$('#kdp3').get(0).sendNotification('changeMedia', {'entryId' : entryId});
}	

function isInSequence()  {
	return $('#kdp3').get(0).evaluate('{sequenceProxy.isInSequence}'); 
}



