// Flashmp3alizer 0.4 by tvst from varal.org
// Released under the MIT License: http://www.opensource.org/licenses/mit-license.php
var FMr = 
{
	all : new Array(),
	
	playlist : new Array(),
	current : 0,

	playerId : false,
	playerId : false,
	playlistId : false,	
	pausa : false,
	listaLimpia: false,

	run: function() 
	{
		var c = window.FMrConf;
		var id = (c && c.playerId)? c.playerId : "niftyPlayer1";
		var plid = (c && c.playlistId)? c.playlistId : "FMrPlaylist";
						
		FMr.playerId = id;
		FMr.playlistId = plid;

		var a = document.getElementsByTagName("a");
		var all = FMr.all;
		for (i = 0; i < a.length; i++)
		{
			if (a[i].href.indexOf(".mp3") == a[i].href.length - 4) 
			{
				all[all.length] = a[i].href;
				a[i].onclick = function (){
					FMr.enqueue(this);
					FMr.pausa = false;
					return false;
				};
			}
		}

		//Agrego el primer elemento al playlist
		var link = document.getElementById("primera").firstChild;
		var l = document.createElement('a');
		var r = document.createElement('a');
		var li = document.createElement('li');
		var lf = document.createElement('br');
		var span1 = document.createElement('span');
		var span2 = document.createElement('span');
		var noticia = link.name-1;
		var inputImage;
		var imgPlaylist;
		
		span1.className = "fecha";
		span1.className = "eliminar_deplaylist";
		fecha = document.getElementById("fecha"+link.name);
		span1.innerHTML = fecha.innerHTML;

		r.innerHTML = " Eliminar";
		r.href = "javascript:FMr.remove(0);";
		r.setAttribute("id", "quita0");
		
		span2.appendChild(r);
		
		document.getElementById("FMrPlaylist").appendChild(li);
		li.setAttribute("id", "lista0");
		li.appendChild(l);
		li.appendChild(lf);
		li.appendChild(span1);
		li.appendChild(span2);
		FMr.playlist[0]= l;
		titulo = document.getElementById("audio"+link.name);
		l.innerHTML = titulo.innerHTML; // for ie, since clonenode and appendchild aren't working wtf
		l.setAttribute("id", "url0");
		l.setAttribute("style","cursor:pointer");
		l.setAttribute("name",noticia);
		l.href = link.href;
		l.onclick = function (){
			pausar = true;
			FMr.pause=false;
			FMr.determinaPlayPause();
			FMr.skipTo(0);
			return false;
		};
		//El audio que está agregado es el current.
		this.current = 0;
	},

	enqueue : function (link)
	{		
		var p = FMr.playlist;
		var n = niftyplayer(FMr.playerId);
		var s = n.getPlayingState();
		var l = document.createElement('a');
		var r = document.createElement('a');
		var li = document.createElement('li');
		var lf = document.createElement('br');
		var span1 = document.createElement('span');
		var span2 = document.createElement('span');
		var noticia = link.name - 1;
		document.getElementById("conLink"+noticia).style.display="none";
		document.getElementById("sinLink"+noticia).style.display="";
		
		span1.className = "fecha";
		span1.className = "eliminar_deplaylist";
		fecha = document.getElementById("fecha"+link.name);
		span1.innerHTML = fecha.innerHTML;
		var i = p.length;

		n.registerEvent("onSongOver", "window.FMr.next()");
		
		r.innerHTML = " Eliminar";
		r.href = "javascript:FMr.remove(" + i + ");";
		r.setAttribute("id", "quita" + i);
		
		span2.appendChild(r);
		
		document.getElementById(FMr.playlistId).appendChild(li);
		li.setAttribute("id", "lista" + i);
		li.appendChild(l);
		li.appendChild(lf);
		li.appendChild(span1);
		li.appendChild(span2);
		
		p[i] = l;
		titulo = document.getElementById("audio"+link.name);
		l.innerHTML = titulo.innerHTML; // for ie, since clonenode and appendchild aren't working wtf
		l.href = link.href;
		l.playlistIndex = i;
		l.setAttribute("id", "url" + i);
		l.setAttribute("name",noticia);
		
		l.onclick = function ()
		{
			pausar=true;
			FMr.pausa = false;
			FMr.determinaPlayPause();
			FMr.skipTo(l.playlistIndex);
			return false;
		};
	},

	remove : function(i)
	{
		var n = niftyplayer(FMr.playerId);
		var s = n.getPlayingState();
		var skip = false;
		var largo  = FMr.playlist.length-1;
		pausar = true;
		this.pausa = false;

		if(i == FMr.current) { // Si estamos tocando la current, detenemos el play
			pausar = false;
			FMr.stop();
			if(FMr.playlist.length > 1){//hay m�s elementos?
				skip = true;
				if(i == largo){//es la �ltima?
					FMr.current = 0;
				}else{
					FMr.current = i; 
				}
			}
		}
		var eliminado = false;
		for(key in FMr.playlist) {
			var elemento = document.getElementById("lista" + key);
			var eliminar = document.getElementById("quita" + key);
			var urlRola  = document.getElementById("url" + key);
			var noticia  = urlRola.name;
			var ultimo;
			if(eliminado){
				j = key - 1;
				elemento.setAttribute("id", "lista" + j);
				urlRola.setAttribute("id", "url" + j);
				urlRola.setAttribute("onclick", "javascript: FMr.skipTo("+ j + "); return false;");
				eliminar.setAttribute("id", "quita" + j);
				eliminar.href = "javascript:FMr.remove("+j+");";				
			}
 			if(key == i) {
				document.getElementById("conLink"+noticia).style.display="";
				document.getElementById("sinLink"+noticia).style.display="none";
				document.getElementById(FMr.playlistId).removeChild(elemento);
				eliminado = true;
			}			
		}

		// Nos chentamos el elemento a eliminar del Playlist
		if(FMr.playlist.length == 1) {
			FMr.playlist = new Array();
			pausar = false;
			this.pausa = true;
			document.getElementById("bannerAudio").innerHTML = '<img src="fotos/inicialPlaylist.jpg" height="237" border="0" width="644" alt="Reproductor" />';
		} else {
			FMr.playlist.splice(i,1);
		}
		
		
		// Decidimos qu� tocar	
		if(skip){
			FMr.skipTo(FMr.current);
		}else{
			FMr.current = (FMr.current==0)?FMr.current:FMr.current-1;
		}
		
		this.determinaPlayPause();
	
	},
	
	next : function ()
	{
		FMr.skipTo(FMr.current+1);
		FMr.pausa = false;
		this.determinaPlayPause();
	},
	
	prev : function ()
	{
		FMr.skipTo(FMr.current-1);
		FMr.pausa = false;
		this.determinaPlayPause();
	},

	stop : function ()
	{
		var n = niftyplayer(FMr.playerId);
		n.stop();
	},
	
	play : function ()
	{
		var n = niftyplayer(FMr.playerId);
		n.play();
		FMr.pausa = false;
	},

	pause : function ()
	{
		var n = niftyplayer(FMr.playerId);
		n.pause();
		FMr.pausa = false;
	},
	
	playPause : function()
	{
		var n = niftyplayer(FMr.playerId);
		if(FMr.pausa) {
			n.play();
			FMr.pausa = false;
		} else {
			n.pause();
			FMr.pausa = true;
		}
		FMr.determinaPlayPause();
	},
	
	loadAndPlay: function(link){
		var n = niftyplayer(FMr.playerId);
		var p = FMr.playlist;
		var c = FMr.current;
		p[c].setAttribute("style","");
		p[0].setAttribute("style","color:red");
		inputImage = document.getElementById("imgNoticia"+ p[0].name);
		document.getElementById("imagenPlaylist").src = "fotos/" + inputImage.value;		
		FMr.current = 0;
		n.loadAndPlay(link);
		FMr.pausa = false;
		FMr.determinaPlayPause();
	},
	
	determinaPlayPause : function () 
		{
		if(FMr.pausa) {
			document.getElementById('play').src = "img/podcast/playUnpressed.png";
		} else {
			document.getElementById('play').src = "img/podcast/pauseUnpressed.png";
		}
	},
	
	limpiaLista : function ()
	{
		FMr.stop();

		//Pregunto qué elementos existen en el play list para regresar los link al contenedor de audios
		//Tativel Castci te ama. atte. Castci pa mi venadita linda :D
		for(key in FMr.playlist){
			var urlRola  = document.getElementById("url" + key);
			var noticia  = urlRola.name;
			document.getElementById("conLink"+noticia).style.display="";
			document.getElementById("sinLink"+noticia).style.display="none";
		}
		FMr.playlist = new Array();
		pausar = false;
		FMr.pausa = true;
		FMr.determinaPlayPause();

		var contenedor = document.getElementById(FMr.playlistId);
		contenedor.innerHTML = "";
		document.getElementById("bannerAudio").innerHTML = '<img src="fotos/inicialPlaylist.jpg" height="237" border="0" width="644" alt="Reproductor" />';
	},
	
	skipTo : function (i)
	{
		var c = FMr.current;		
		var p = FMr.playlist;
		var n = niftyplayer(FMr.playerId);
		var inputImage;
		if (i >= p.length || i < 0) return;
		if(p.length > 1) p[c].setAttribute("class","sin_playing");
		p[i].setAttribute("class","playing");
		//Agregamos los titulos y la imagen
		var j = parseInt(p[i].name) + 1;
		imagen    = document.getElementById("imgNoticia" + j);
		titulo    = document.getElementById("tituloNoticia" + j);
		resumen   = document.getElementById("resumenNoticia" + j);
		reportero = document.getElementById("reporteroNoticia" + j);
		fecha     = document.getElementById("fecha"+j).innerHTML;
		noticiaId = document.getElementById("idNoticia"+j).value;

		
		document.getElementById("bannerAudio").innerHTML = '<div class="texto_banner_audio">'+
															'<h2>'+titulo.value+'</h2>'+
															'<p>'+resumen.value+'</p>'+
															'<p class="fecha">Entrevista con '+ reportero.value +' '+fecha+'</p>'+
															'<br /><p id="visitasEntrevista"/>'+
															'</div>'+
														    '<div class="imagen_banner_audio"><img src="'+imagen.value+'" width="316" height="237" alt="Título" border="0" /></div>'+
														    '<div class="clear"></div></div>';
		
		AjaxRequest.get(
				{
					'url':"includes/visitasEntrevista.php",
					'parameters':{'noticiaId':noticiaId},
					'onSuccess':function(req){document.getElementById('visitasEntrevista').innerHTML = req.responseText;}
				}
				);
		FMr.current = i;
		n.loadAndPlay(p[i]);
	},
	
	errorMsg : function (str)
	{
		alert("FlashMp3alizer Error: " + str);
	}
	
};

// "onparse" setup code - should go before any window.onloads!
if (document.getElementsByTagName && !window.ParseCtl)
{
	window.appendHandler = function(eventStr, f) {var f0 = eval("window."+eventStr); eval("window."+eventStr+" = function () {f0(); f();}");};
	window.onparse = function() {};

	window.ParseCtl =
	{
		complete : false, timer : null,
		
		callOnParse : function () 
		{
			if (this.complete || !document.body || !document.getElementsByTagName('body')) return;
			clearInterval(this.timer);
			this.complete = true; 
			window.onparse();
		}
	};

	if 	(navigator.appName.indexOf('Netscape') != -1 
		&& eval(navigator.appVersion.substring(0,navigator.appVersion.indexOf('('))) >= 5 
		&& navigator.userAgent.indexOf('KHTML') == -1) 
		document.addEventListener("DOMContentLoaded", window.ParseCtl.callOnParse, null);

	else ParseCtl.timer = setInterval('ParseCtl.callOnParse()', 1);
	window.onload = ParseCtl.callOnParse;
}