// JavaScript Document
var xmlDocNuevosDiscos;
var mozilla;
var ie;
var arGrupo;
var arFrontal;
var arTrasera;
var arEnlace;
var arWeb;
var arEnlace;
var arTipoGrupo;
var arSeccion;
var arTituloDisco;
var arCanciones;
var arOpinion;
mozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
ie = (typeof window.ActiveXObject != 'undefined');
function importaXMLNuevosDiscos(fichero,funcion) {
  if (mozilla) {
    xmlDocNuevosDiscos = document.implementation.createDocument("", "", null)
    xmlDocNuevosDiscos.load(fichero);
    xmlDocNuevosDiscos.onload = function()
    {
      funcion();
    }
  } else if (ie) {
    xmlDocNuevosDiscos = new ActiveXObject("Microsoft.XMLDOM");
    xmlDocNuevosDiscos.async = false;
    xmlDocNuevosDiscos.load(fichero);
    if (xmlDocNuevosDiscos.readyState == 4) funcion();
  }
  else {
    alert('Tu navegador no puede manejar este script');
    return;
  }
}

function importaNuevosDiscosXML(fichero) {
  importaXMLNuevosDiscos(fichero,PaintData);
}


function importaXMLNuevosDiscosParam(fichero,funcion,titulo) {
  if (mozilla) {
    xmlDocNuevosDiscos = document.implementation.createDocument("", "", null)
    xmlDocNuevosDiscos.load(fichero);
    xmlDocNuevosDiscos.onload = function()
    {
      funcion(titulo);
    }
  } else if (ie) {
    xmlDocNuevosDiscos = new ActiveXObject("Microsoft.XMLDOM");
    xmlDocNuevosDiscos.async = false;
    xmlDocNuevosDiscos.load(fichero);
    if (xmlDocNuevosDiscos.readyState == 4) funcion(titulo);
  }
  else {
    alert('Tu navegador no puede manejar este script');
    return;
  }
}

function importaNuevosDiscosXMLParam(fichero,titulo) {
  importaXMLNuevosDiscosParam(fichero,PaintDataParam,titulo);
}

//Info del menu
function importaXMLNuevosDiscoMenu(fichero,funcion) {
  if (mozilla) {
    xmlDocNuevosDiscos = document.implementation.createDocument("", "", null)
    xmlDocNuevosDiscos.load(fichero);
    xmlDocNuevosDiscos.onload = function()
    {
      funcion();
    }
  } else if (ie) {
    xmlDocNuevosDiscos = new ActiveXObject("Microsoft.XMLDOM");
    xmlDocNuevosDiscos.async = false;
    xmlDocNuevosDiscos.load(fichero);
    if (xmlDocNuevosDiscos.readyState == 4) funcion();
  }
  else {
    alert('Tu navegador no puede manejar este script');
    return;
  }
}

function importaNuevosDiscoMenuXML(fichero) {
  importaXMLNuevosDiscoMenu(fichero,PaintDataMenu);
}



//See obtiene el disco seleccionado
function getValueDisco(){
		try{
			var sDisco = document.getElementById("idDiscos").value;
			PaintDataSelected(sDisco);
		}catch(err){
			alert(err.message);
		}	
}

//Pinta los datos del primer disco
function PaintData(){
	try{
		GetInfo();
		PaintAllDisc();
		PaintDataDiscFirst();
	}catch(err){
		alert(err.message);
	}	
}
//Pinta los datos del primer disco
function PaintDataParam(titulo){
	try{
		GetInfo();
		PaintAllDisc();
		var oSelect = document.getElementById("idDiscos");
		oSelect.value=titulo;
		PaintDataSelected(titulo)
	}catch(err){
		alert(err.message);
	}	
}

//Pinta los datos del disco Seleccionado
function PaintDataSelected(sDisco){
	try{
		var iIndex = GetIndex(sDisco);
		PaintDataDisc(iIndex);
	}catch(err){
		alert(err.message);
	}	
}
//Pinta el menu de la pantalla principal
function PaintDataMenu(){
	try{
		GetInfo();
		PaintListaNuevosDiscos();
	}catch(err){
		alert(err.message);
	}	
}

//function obtiene todos los discos
function PaintAllDisc(){
	try{
		var arDiscos = xmlDocNuevosDiscos.getElementsByTagName("disco");
		var oSelect = document.getElementById("idDiscos");
		var arTitle = new Array();
		var arGrupo = new Array();
		for(var i=0;i<arDiscos.length;i++){
			arTitle.push(arDiscos[i].getElementsByTagName("tituloDisco")[0].firstChild.data);
			arGrupo.push(arDiscos[i].getElementsByTagName("grupo")[0].firstChild.data);
		}
		for(var i=0;i<arTitle.length;i++){
			oOption = new Option(arTitle[i]+" ("+arGrupo[i]+")",arTitle[i]);
			oSelect.options[i]=oOption;
		}		
	}catch(err){
		alert(err.message);
	}
}

//Funciçon que obtiene el indice
function GetIndex(sDisco){
	try{
		var iIndex = 0;
		var arSep = sDisco.split('%20');
		var sTit='';
		if(arSep.length>1){//Para el caso de Firefox que mete %20 en los espacios en blanco
			for(var i=0;i<arSep.length;i++){
				sTit = sTit + arSep[i] + ' ';
			}
			sTit = sTit.replace(/^\s*|\s*$/g,"");		
		}else{
			sTit=sDisco;	
		}
		for(var i=0;i<arTituloDisco.length;i++){
			if(arTituloDisco[i]==sTit){
				iIndex=i;
				break;
			}
		}
		return iIndex;	
	}catch(err){
		alert(err.message);
	}
}

//Función que pinta el primero
function PaintDataDiscFirst(){
	try{
		PaintImage(arFrontal[0]);
		FillElementText("nombreGrupo",arGrupo[0]);
		FillElementText("urlEnlace",arEnlace[0]);
		WriteLinkWebEntreacordes("urlEnlace",arEnlace[0],arTipoGrupo[0],arSeccion[0]);
		FillElementText("tituloDisco",arTituloDisco[0]);
		FillElementOpinion("opinion",arOpinion[0]);
		//WriteListDisc(arCanciones[0]);
	}catch(err){
		alert(err.message);
	}	
}
//Función que pinta 
function PaintDataDisc(iIndex){
	try{
		PaintImage(arFrontal[iIndex]);
		FillElementText("nombreGrupo",arGrupo[iIndex]);
		FillElementText("urlEnlace",arEnlace[iIndex]);
		WriteLinkWebEntreacordes("urlEnlace",arEnlace[iIndex],arTipoGrupo[iIndex],arSeccion[iIndex]);
		FillElementText("tituloDisco",arTituloDisco[iIndex]);
		FillElementOpinion("opinion",arOpinion[iIndex]);
		//WriteListDisc(arCanciones[iIndex]);
	}catch(err){
		alert(err.message);
	}	
}
//Función que escribe en las máscaras de texto
function PaintImage(sFrontal){
	try{
		var oImgFrontal;
		oImgFrontal = document.getElementById("foto");
		oImgFrontal.src="CaratulasDiscosNuevos/"+sFrontal;
	}catch(err){
		alert(err.message);
	}
}

//Función que escribe en las máscaras de texto
function FillElementText(sElem,sValue){
	try{
		var sNombreGrupo;
		var oControlMask;
		oControlMask = document.getElementById(sElem);
		oControlMask.innerHTML=sValue;
	}catch(err){
		alert(err.message);
	}
}

//Función que escribe en las máscaras de texto
function FillElementOpinion(sElem,sValue){
	try{
		var sNombreGrupo;
		var oControlMask;
		var sTextFormat;
		oControlMask = document.getElementById(sElem);
		sTextFormat = sustituir(sValue,"\n","<br>");
		oControlMask.innerHTML=sTextFormat;
	}catch(err){
		alert(err.message);
	}
}

//Función que escribe el enlace a la dirección web dentro del atributo a de html
function WriteLinkWeb(sElem,sValue){
	try{
		var oControlAnchor;
		oControlAnchor = document.getElementById(sElem);
		oControlAnchor.href=sValue;		
	}catch(err){
		alert(err.message);
	}
}

//Función que escribe el enlace a la dirección web dentro del atributo a de html
function WriteLinkWebEntreacordes(sElem,sValue,sTipo,sSeccion){
	try{
		var oControlAnchor;
		var sPath=sSeccion+"\\"+sTipo+"\\"+sValue+"\\"+sValue+"Ficha.htm?enlace=1";
		oControlAnchor = document.getElementById(sElem);
		oControlAnchor.href=sPath;		
	}catch(err){
		alert(err.message);
	}
}


//Función que escribe en el listado de discos
function WriteListDisc(arCancionesWrite){
	try{
		var arListDisc = new Array();
		var oControlList;
		var arTitCancion;
		var arLetCancion;
		arTitCancion = arCancionesWrite[0];
		oControlList=document.getElementById("ListaCanciones");
		var sListDisc="";		
		for(i=0;i<arTitCancion.length;i++){
			sListDisc=sListDisc+arTitCancion[i]+"<br>"
			//sListDisc=sListDisc+arTitCancion[i]+"<img src='letra.ico'><br>"
		}
		//Se quita el último br
		sListDisc = sListDisc.substring(0,sListDisc.length-4);
		oControlList.innerHTML = sListDisc;	
	}catch(err){
		alert(err.message);
	}
}

//función que escribe la lista de nuevos Discos en la pagina de menu
function PaintListaNuevosDiscos(){
	try{
		var oDiv = document.getElementById("idTabla");
		var oUl = oDiv.appendChild(document.createElement("ul"));
		var sPath;
		var oLi;
		var oText;
		var oBr;
		var oLink;
		if (mozilla) {
			oDiv.setAttribute("class","tablaNuevosDiscosUl");			
		} else if (ie) {
				oDiv.setAttribute("className","tablaNuevosDiscosUl");
			}else {
					alert('Tu navegador no puede manejar este script');
				return;
		}	
		for(i=0;i<arTituloDisco.length;i++){
			oli = oUl.appendChild(document.createElement("li"));
			oLink = oli.appendChild(document.createElement("a"));
			sPath = "nuevosDiscos.htm?titulo="+arTituloDisco[i];
			if (mozilla) {
				//oLink.setAttribute("href",'javascript:PutPath("'+sPath+'")');
				oLink.setAttribute("href",sPath);
			}else{
				oLink.setAttribute("href",sPath);	
			}
			oLink.setAttribute("target","_self");
			oText = oLink.appendChild(document.createTextNode(arGrupo[i]+ " : "+arTituloDisco[i]));
			oBr = oUl.appendChild(document.createElement("br"));
		}//fin for
	}catch(err){
		alert(err.message);
	}	
}

//Obtiene Toda la Info de los discos
function GetInfo(){
	try{
		arGrupo = new Array();
		arFrontal = new Array();
 		arTrasera = new Array();
		arEnlace = new Array();
 		arWeb = new Array();
 		arTituloDisco = new Array();
 		arCanciones = new Array();
 		arOpinion = new Array();
		arEnlace = new Array();
		arTipoGrupo = new Array();
		arSeccion = new Array();
		var arTitleCanciones;
		var arLetraCanciones;
		var arDataCanciones;
		var arDiscos = xmlDocNuevosDiscos.getElementsByTagName("disco");
		var iIndexj=0;
		//Se obtienen los datos del primero para ser pintados
		for(var i=0;i<arDiscos.length;i++){
			iIndexj = 0;
			arGrupo.push(arDiscos[i].getElementsByTagName("grupo")[0].firstChild.data);
			arFrontal.push(arDiscos[i].getElementsByTagName("frontal")[0].firstChild.data);
			arTrasera.push(arDiscos[i].getElementsByTagName("trasera")[0].firstChild.data);
			//arEnlace.push(arDiscos[i].getElementsByTagName("enlace")[0].firstChild.data);
			arWeb.push(arDiscos[i].getElementsByTagName("web")[0].firstChild.data);
			arEnlace.push(arDiscos[i].getElementsByTagName("urlEnlace")[0].firstChild.data);
			arTipoGrupo.push(arDiscos[i].getElementsByTagName("tipoGrupo")[0].firstChild.data);
			arSeccion.push(arDiscos[i].getElementsByTagName("seccion")[0].firstChild.data)
			arTituloDisco.push(arDiscos[i].getElementsByTagName("tituloDisco")[0].firstChild.data);
			//Parte de la canciones 
		 	arTitleCanciones = new Array();
		 	arLetraCanciones = new Array();
			arColCanciones = new Array();
			arDataCanciones = new Array();
			arDataCanciones=arDiscos[i].getElementsByTagName("cancion");
			for(j=parseInt(iIndexj);j<arDataCanciones.length;j++){
				arLetraCanciones.push(arDataCanciones[j].firstChild.data);
				arTitleCanciones.push(arDataCanciones[j].attributes.getNamedItem("titulo").text);
				arColCanciones.push(arTitleCanciones);
				arColCanciones.push(arLetraCanciones);
			}
			arCanciones.push(arColCanciones);
			arOpinion.push(arDiscos[i].getElementsByTagName("opinion")[0].firstChild.data);
		}
	}catch(err){
		alert(err.message)
	}
}

	function sustituir(texto,s1,s2){
		return texto.split(s1).join(s2);
	}
