// JavaScript Document
<!--Fuciones de manejo del fichero XML en donde se encuentran las letras-->
var xmlDocCronicas;
var arData;
var arTitulo;
var arResaltado;
var arFuente;
var arFecha;
var arLugar;
var arTexto;
var sCaracterNoFuente = ".";
var sPathPag="VerCronica.htm";
var index;
//Numero de Crónicas por pagina
var iNumCronicaPag = 12;
var iIndexPagina = 0;
var iLinksByLine = 20;


function importaXMLCronicas(fichero,funcion) {
  var mozilla = (typeof document.implementation != 'undefined')
      && (typeof document.implementation.createDocument != 'undefined');
  var ie = (typeof window.ActiveXObject != 'undefined');

  if (mozilla) {
    xmlDocCronicas = document.implementation.createDocument("", "", null)
    xmlDocCronicas.load(fichero);
    xmlDocCronicas.onload = function()
    {
      funcion(xmlDocCronicas);
    }
  } else if (ie) {
    xmlDocCronicas = new ActiveXObject("Microsoft.XMLDOM");
    xmlDocCronicas.async = false;
    xmlDocCronicas.load(fichero);
    if (xmlDocCronicas.readyState == 4) funcion(xmlDocCronicas);
  }
  else {
    alert('Tu navegador no puede manejar este script');
    return;
  }
}

function importaCronicasXML(fichero) {
  importaXMLCronicas(fichero,PaintDataCronicas);
}

function PaintDataCronicas(xmlDocCronicas){
		try{
			FillScreen();
		}catch(err){
			alert(err.message);
		}
	}
		
//Función que pinta la pantalla
	function FillScreen(){
		try{
			arData = getData();
			PaintTablePaginado(arData,iIndexPagina);
		}catch(err){
			alert(err.message);
		}
	}
	
	function PaintTablePaginado(arData,iIndex){
		try{			
			var oDiv;
			var oTable;
			var oTbody;
			var oTr;
			var oTd;
			var oText;
			var oLink;
			var sTitulo;
			var arDataAux;
			var	arTitulo = new Array();
			var	arResaltado = new Array();
			var	arFuente = new Array();
			arTitulo = arData[0];
			arResaltado = arData[1];
			arFuente = arData[2];
			var iNumCronica;
			var iIni = parseInt(iIndex) * parseInt(iNumCronicaPag);
			var iFin = (parseInt(iIndex) + parseInt(1)) * parseInt(iNumCronicaPag);
			iNumCronica = arTitulo.length;
			if(parseInt(iFin)>parseInt(iNumCronica)){
				iFin=iNumCronica;
			}
			oDiv = document.getElementById("idTabla");
			oTable = oDiv.appendChild(document.createElement("table"));
			oTbody = oTable.appendChild(document.createElement("tbody"));
			for(i=iIni;i<iFin;i++){
				oTr = oTbody.appendChild(document.createElement("tr"));
				oTd = oTr.appendChild(document.createElement("td"));
				oLink = oTd.appendChild(document.createElement('a'));
				oLink.setAttribute("href",sPathPag+"?index="+i);
				oLink.setAttribute("target", "_blank");
				oText = oLink.appendChild(document.createTextNode(arTitulo[i]));
				oTr = oTbody.appendChild(document.createElement("tr"));
				oTd = oTr.appendChild(document.createElement("td"));
				if (mozilla) {
					oTd.setAttribute("class","tdResaltadoCronicas");			
				} else if (ie) {
					oTd.setAttribute("className","tdResaltadoCronicas");
				}else {
					alert('Tu navegador no puede manejar este script');
					return;
				}					
				oText = oTd.appendChild(document.createTextNode(arResaltado[i]));
				if(arFuente[i]!=sCaracterNoFuente){
					oTr = oTbody.appendChild(document.createElement("tr"));
					oTd = oTr.appendChild(document.createElement("td"));
					if (mozilla) {
						oTd.setAttribute("class","tdTextoCronicasFuente");			
					} else if (ie) {
						oTd.setAttribute("className","tdTextoCronicasFuente");
					}else {
						alert('Tu navegador no puede manejar este script');
						return;
					}		
					oText = oTd.appendChild(document.createTextNode(arFuente[i]));
				}
				oTr = oTbody.appendChild(document.createElement("tr"));
				oTd = oTr.appendChild(document.createElement("td"));
				oText = oTd.appendChild(document.createTextNode(""));
			}
			//Para pintar el paginado
			var iNumPag = parseInt(arTitulo.length)/parseInt(iNumCronicaPag)
			var iLinksPag = Math.floor(iNumPag);
			var bMultiplo;
			if((parseInt(arTitulo.length)) % (parseInt(iNumCronicaPag))==0){
				bMultiplo = true;
			}else{
				bMultiplo = false;
			}
			if(parseInt(iLinksPag)>parseInt(0)){
				PaintPaginado(iLinksPag,bMultiplo);						
			}	
		}catch(err){
			alert(err.message);
		}
	}
	
	//Funcion que pinta los enlaces de paginado para las reportajes
function PaintPaginado(iLinksPag,bMultiplo){
		try{
			var oDivPag = document.getElementById("idPaginado");
			var oTable = oDivPag.appendChild(document.createElement("table"));
			var oTbody=oTable.appendChild(document.createElement("tbody"));
			var oTr = oTbody.appendChild(document.createElement("tr"));
			var oTd;
			var oLink;
			var oText;
			var oLink;
			var iTextLink;
			var iMax = iLinksPag;
			if(bMultiplo){
				iMax = iMax - 1;
			}
			for(var i=0;i<=iMax;i++){
				if(i!=0){
					if((parseInt(i)%parseInt(iLinksByLine))==0){
						oTr = oTbody.appendChild(document.createElement("tr"));
					}
				}
				oTd = oTr.appendChild(document.createElement("td"));
				if (mozilla) {
					oTd.setAttribute("class","tdLinksPaginasReport");
					//oTd.setAttribute("idLink",i);
				} else if (ie) {
					oTd.setAttribute("className","tdLinksPaginasReport");
					//oTd.setAttribute("idLink",i);
				}else {
					alert('Tu navegador no puede manejar este script');
					return;
				}
				oLink = oTd.appendChild(document.createElement("a"));
				oLink.setAttribute("idLink",i);
				oLink.setAttribute("href","#_ancla");
				//Se añaden los eventos
				if(ie){
					oLink.attachEvent("onclick",ChangePage);
				}else{ 
					 if (mozilla) {
						oLink.onclick=new function(){
							oLink.addEventListener("click",ChangePageFirefox, false);
						}
					  }else {
						alert('Tu navegador no puede manejar este script');
						return;
					  }
				}
				iTextLink = parseInt(i) + parseInt(1);
				oText = oLink.appendChild(document.createTextNode(iTextLink));
			}				

		}catch(err){
			alert(err.message);
		}
	}
	
function ChangePage(){
	try{
		var iLink = event.srcElement.getAttribute("idLink");
		var oDiv = document.getElementById("idTabla");
		oDiv.innerHTML="";
		var oDivPag = document.getElementById("idPaginado");
		oDivPag.innerHTML="";
		PaintTablePaginado(arData,iLink);
	}catch(err){
		alert(err.message);
	}	
}

function ChangePageFirefox(){
	try{
		var iText = this.innerHTML;
		var iLink;
		iLink = parseInt(iText) - parseInt(1);
		var oDiv = document.getElementById("idTabla");
		oDiv.innerHTML="";
		var oDivPag = document.getElementById("idPaginado");
		oDivPag.innerHTML="";
		PaintTablePaginado(arData,iLink);
	}catch(err){
		alert(err.message);
	}
}
	
	
	function getData(){
		try{
			var arInfo = new Array();
			var arDatos = new Array();
			var	arTitulo = new Array();
			var	arResaltado = new Array();
			var	arFuente = new Array();
			//obtenemos los festivales
			arDatos = xmlDocCronicas.getElementsByTagName("cronica");
			for(i=0;i<arDatos.length;i++){
				arTitulo.push(arDatos[i].getElementsByTagName("titulo")[0].firstChild.data);
				arResaltado.push(arDatos[i].getElementsByTagName("resaltado")[0].firstChild.data);
				arFuente.push(arDatos[i].getElementsByTagName("fuente")[0].firstChild.data);
			}
			arInfo.push(arTitulo);
			arInfo.push(arResaltado);
			arInfo.push(arFuente);
			return arInfo;
		}catch(err){
			alert(err.message);
		}
	}
	
//Funciones para leer la Crónica completa	
function importaXMLCronicaCompleta(fichero,funcion,index) {
  mozilla = (typeof document.implementation != 'undefined')
      && (typeof document.implementation.createDocument != 'undefined');
  ie = (typeof window.ActiveXObject != 'undefined');

  if (mozilla) {
    xmlDocCronicas = document.implementation.createDocument("", "", null)
    xmlDocCronicas.load(fichero);
    xmlDocCronicas.onload = function()
    {
      funcion(index);
    }
  } else if (ie) {
    xmlDocCronicas = new ActiveXObject("Microsoft.XMLDOM");
    xmlDocCronicas.async = false;
    xmlDocCronicas.load(fichero);
    if (xmlDocCronicas.readyState == 4) 
		funcion(index);
  }
  else {
    alert('Tu navegador no puede manejar este script');
    return;
  }
}

	function importaCronicaCompletaXML(fichero,index) {
    	importaXMLCronicaCompleta(fichero,PaintCronicasCompleta,index);
	}
	
	function PaintCronicasCompleta(index){
		try{
			var arDataCronica = new Array();
			arDataCronica=getDataCronicaCompleta(index);
			PaintCronica(arDataCronica);
		}catch(err){
			alert(err.message);
		}
	}
	
	function PaintCronica(arDataCronica){
		try{
			var oDiv;
			var sText;
			var sTextCronica;
			var arTexto = new Array();
			arTexto = arDataCronica[1];
			var arImagen = new Array();
			arImagen = arDataCronica[2];
			oDiv = document.getElementById("idTabla");
			sTextCronica = "<h2 class='TitCronicas'>" + arDataCronica[0] + "</h2>";
			for(var i=0;i<arTexto.length;i++){
				sTextCronica = sTextCronica + "<p class='tdFuenteCronicas'>" + arTexto[i] + "</p>";
				if(i!=arTexto.length-1){
					if((parseInt(i)+1)%2==0){
						sTextCronica = sTextCronica + "<img src='FotosCronicas/"+arImagen[i]+"' align='left' vspace='5' hspace='5' valign='bottom'> ";					
					}else{
						sTextCronica = sTextCronica + "<img src='FotosCronicas/"+arImagen[i]+"' align='right' vspace='5' hspace='5' valign='bottom'> ";					
					}
				}
			}			
			if(arDataCronica[3]!=sCaracterNoFuente){
				sTextCronica = sTextCronica + "<p class='tdTextoCronicasFuente'>" + arDataCronica[3] + "</p>";	
			}
			sTextCronica = sustituir(sTextCronica,"\n","<br>");
			oDiv.innerHTML=sTextCronica;
		}catch(err){
			alert(err.message);
		}
	}
	
	function getDataCronicaCompleta(iIndex){
		try{
			var arInfo = new Array();
			var arDatos = new Array();
			var	arTituloCronica = new Array();
			var arTexto = new Array();
			var	arImagen = new Array();
			var arTextoAux = new Array();
			var	arImagenAux = new Array();
			var	arFuente = new Array();
			//obtenemos los festivales
			arDatos = xmlDocCronicas.getElementsByTagName("cronica");
			for(i=0;i<arDatos.length;i++){
				if(i==iIndex){
					arTituloCronica.push(arDatos[i].getElementsByTagName("tituloCronica")[0].firstChild.data);	
					arFuente.push(arDatos[i].getElementsByTagName("fuente")[0].firstChild.data);
					arTextoAux=arDatos[i].getElementsByTagName("texto");
					arImagenAux=arDatos[i].getElementsByTagName("imagen");
					for(j=0;j<arTextoAux.length;j++){
						arTexto.push(arTextoAux[j].firstChild.data);	
					}
					for(j=0;j<arImagenAux.length;j++){
						arImagen.push(arImagenAux[j].firstChild.data);	
					}
					break;
				}
			}
			arInfo.push(arTituloCronica);
			arInfo.push(arTexto);
			arInfo.push(arImagen);
			arInfo.push(arFuente);
			return arInfo;
		}catch(err){
			alert(err.message);
		}
	}
	
	function sustituir(texto,s1,s2){
		return texto.split(s1).join(s2);
	}
		