/**
 * 
 * Funciones para la inserción de videoBanners (banner.jsp), empleando la
 * versión 2.1 de swfobject.js.
 * 
 * function showVid(url, img, w,h,divId,autoStart, controls); - Inserta en el
 * DIV definido en 'divId' el video que define el resto de parámetros url: url
 * del video .flv img: url de la imagen preview divId: id del DIV que contendrá
 * el video autoStart: 'true'/'false' indicando si el video tendrá la opción de
 * pantalla completa en sus controles. controls: look&feel de la barra de
 * controles (por defecto 'over');
 * 
 * function playerReady(thePlayer); - Función de implementación OBLIGATORIA, que
 * es invocada automáticamente cuando el video ha sido cargado. , mediante
 * addListeners(); thePlayer: recibe automáticamente la referencia al objeto
 * player recién instanciado.
 * 
 * 
 * function stateListener(obj); - Tarea a ejecutar cuando cambia el estado del
 * reproductor. Recibe como parámetro el objeto reproductor. - Si se pulsa play
 * viniendo del estado IDLE (stopped) o BUFFERING (cargando), se ejecuta una
 * acción.
 * 
 */

var player = null;
var isObjPlaying = null;

// -------------> FUNCIONES GENÉRICAS
// <----------------------------------------------

function playerReady(thePlayer) {
	player = document.getElementById(thePlayer.id);
	if (player) {
		addStateListeners();
	} else {
		setTimeout("addStateListeners()", 1000);
	}
}

function addStateListeners() {
	player.addModelListener("STATE", "playStateListener");

}

// para swfobject.js v2.1 !!!!
function showVid(url, img, waterMark, w, h, divId, autoStart, controls) {
	if (controls == null)
		controls = 'over';

	var attributes = {
		id :divId,
		name :divId
	}
	var params = {
		allowfullscreen :"true",
		allowscriptaccess :"always",
		wmode :'transparent'
	}

	var flashvars = {
		file :url,
		image :img,
		logo :waterMark,
		height :h,
		width :w,
		autostart :autoStart,
		id :"video",
		controlbar :controls
	};

	flashvars.rotatetime = '2';
	flashvars.transition = 'random'; // fade |
	flashvars.bufferlength = '1';
	flashvars.volume = '20';
	flashvars.stretching = 'uniform'; // (none|uniform|exactfit|fill)
	flashvars.backcolor = 'ADE1FF'; // Background de la barra de controles
	flashvars.frontcolor = '000'; // Foreground de los elementos de la barra
	// de controles
	// flashvars.screencolor = 'd6e8ff'; // Background del video (márgenes
	// superiores en WS, etc...)

	// swfobject.js 2.1
	swfobject.embedSWF("/mediaplayer/player.swf", divId, w, h, "9.0.0", false,
			flashvars, params, attributes);

}

// -------------> FUNCIONES ESPECÍFICAS
// <----------------------------------------------

function playStateListener(obj) { // IDLE, BUFFERING, PLAYING, PAUSED,
	// COMPLETED
	if (isObjPlaying != null) {
		if (obj.id != isObjPlaying.id) {
			var p = window.document[isObjPlaying.id];
			p.sendEvent('PLAY', 'false');
			//p.addVariable('image',             'http://myserver/startframe.jpg');
		}
	}
	isObjPlaying = obj;
	currentState = obj.newstate;
	previousState = obj.oldstate;

	// /TODO ---------------> Modificaciones
	if (((currentState == "BUFFERING") || (currentState == "PLAYING"))
			&& ((previousState == "IDLE") || (previousState == "COMPLETED"))) {
		if (obj.id.substr(0, 9) == 'vidBanner') { // Sólo plays de
			// VideoBanners
			$.ajax( {
				type :"POST",
				url :'/RedirectBannerAction.do',
				data :'banner=' + obj.id.split('_')[1] + '&type=P',
				success : function(msg) {
				},
				error : function(msg) {
				}
			});
		}
	}
}
