/*****************************************************************
**		Aplicacion javascript de formateo de informacion		**
**																**
**		Autor: Carlos Sánchez Montero	Fecha: 21/09/2006		**
**																**
**					- www.apoyo3d.com -							**
******************************************************************/

////////////////////////////////////////////////////
//  Funciones de formato						  //
////////////////////////////////////////////////////

/* Formato inicial del contenido */
function formatea_contenido(formato,arrayinfo){
	var salida = '';
	var numero_noticias = 3; // Noticias visibles en el resumen de noticias

	switch (formato){
		case 'listacompleta':
			for(var i=0; i< arrayinfo.length ; i++){
				salida += '<div id="contenido_'+ arrayinfo[i]["id"] +'">';
				salida += '<b>' + arrayinfo[i]["titulo"] +'</b>&nbsp;';
				if(arrayinfo[i]["fecha"]!=null)
					salida += '(' + formato_fecha(arrayinfo[i]["fecha"])+ ')';
//					salida += '[' + arrayinfo[i]["fecha"][0] + '/' + arrayinfo[i]["fecha"][1] + '/' + arrayinfo[i]["fecha"][2] +'] ';
		
				var align = "left";
				for(var j=0; j < arrayinfo[i]["texto"].childNodes.length; j++){
					var info = arrayinfo[i]["texto"].childNodes[j];
									
					switch (info.nodeName){
						case "parrafo":
							salida += '<p>' + info.firstChild.nodeValue + '</p>';
							break;
						case "imagen":
							salida += '<img align="'+align+'" border="0" src="' + RUTA_IMAG +info.firstChild.nodeValue+ '"/>';
						
							if (align == "right")
									align = "left"; 
							else
								align = "right";
							break;
			
						case "enlace":
							salida += '<a href="' + info.getAttribute('ref') + '">' + info.firstChild.nodeValue +'</a><br/>';
							break;
						case "imagenlace":
							salida += '<a href="' + info.getAttribute('ref') + '" target="_blank"><img align="'+align +
										'" border="0" src="' + RUTA_IMAG + info.firstChild.nodeValue +'"/></a><br/>';
							if (align == "right")
								align = "left"; 
							else
								align = "right";
								
							break;
						default:
							break;
					}
				}
			}

			salida += '</div><br/>';

			break;

		case 'resumen':
			for(var i=0; i< arrayinfo.length ; i++){
				salida += '<div id="ElementoContenido_'+ arrayinfo[i]["id"] +'">';
				salida += '<a href="javascript:seleccionaContenido(\''+ arrayinfo[i]["id"] + '\');">';
				if(arrayinfo[i]["fecha"]!=null)
					salida +=  formato_fecha_corto(arrayinfo[i]["fecha"]);
//					salida += '[' + arrayinfo[i]["fecha"][0] + '/' + arrayinfo[i]["fecha"][1] + '/' + arrayinfo[i]["fecha"][2] +'] ';
				salida += '&nbsp;<b>' + arrayinfo[i]["titulo"] +'</b> ';
				salida += '</a>';
				
				var text = null;
				var imag = null;
				for(var j=0; j < arrayinfo[i]["texto"].childNodes.length && (text==null || imag==null); j++){
					var info = arrayinfo[i]["texto"].childNodes[j];
							
					switch (info.nodeName){
						case "parrafo":
							if (text == null){
								text = info.firstChild.nodeValue;
							}
							break;
						case "imagen":
						case "imagenlace":
							if (imag == null){
								imag = info.firstChild.nodeValue;
							}
							break;
					}	
				}

				salida += '<p><table width="100%"><tr><td width="120">';
				if (imag!=null)
					salida += '<img width="100" src="' + RUTA_IMAG +imag+ '"/>';
	//			else
	//				salida += '&nbsp;';				

				salida += '</td><td>'

				if (text!=null)
					salida += truncate(text,120);
	//			else
	//				salida += '&nbsp;';
				
				salida += '</td></table></p>';
				

				salida += '</div><br/>';
			}
			break;

		case 'listanoticias':
			for(var i=0; i< arrayinfo.length && i< numero_noticias; i++){
				salida += '<div id="ListaNoticias_'+ arrayinfo[i]["id"] +'">';
				salida += '<a class="ListaNoticias" href="javascript:seleccionaNoticia(\''+ arrayinfo[i]["id"] + '\');">';



				


//				if(arrayinfo[i]["fecha"]!=null)
//					salida +=  formato_fecha_corto(arrayinfo[i]["fecha"]);

				salida += arrayinfo[i]["titulo"];
				salida += '</a></div>';
			}
			break

	}

	return salida;
}


/* formato tras una seleccion */
function formatea_contenido_seleccionado(formato,arrayinfo){
	var salida = '';

	switch (formato){
		case 'resumen':
			salida += '<br/><div id="contenido_'+ ID_seleccionado +'">';
			salida += '<B>' + arrayinfo["titulo"] +'</B>&nbsp;  ';
			if(arrayinfo["fecha"]!=null)
				salida += '(' + formato_fecha(arrayinfo["fecha"])+ ')';
/*			salida += '(' + arrayinfo["fecha"][0] + '/' + arrayinfo["fecha"][1] + '/' + arrayinfo["fecha"][2] +')';*/

			var align = "left";
			for(var j=0; j < arrayinfo["texto"].childNodes.length; j++){
				var info = arrayinfo["texto"].childNodes[j];
							
				switch (info.nodeName){
					case "parrafo":
						salida += '<p>' + info.firstChild.nodeValue + '</p>';
						break;
					case "imagen":
						salida += '<img align="'+align+'" src="' + RUTA_IMAG +info.firstChild.nodeValue+ '"/>';
						
						if (align == "right")
							align = "left"; 
						else
							align = "right";
						break;
		
					case "enlace":
						salida += '<a href="' + info.getAttribute('ref') + '">' + info.firstChild.nodeValue +'</a><br/>';
						break;
					case "imagenlace":
						salida += '<a href="' + info.getAttribute('ref') + '"><img align="'+align +
									'" src="' + RUTA_IMAG + info.firstChild.nodeValue +'"/></a><br/>';
						if (align == "right")
							align = "left"; 
								else
							align = "right";
							
						break;
					default:
						break;
					
				}
			}

			salida += '</div><br/>';

			break;
	}

	return salida;
}


/* Funcion que da formato a la fecha=[dia,mes,anio] */
function formato_fecha(fecha){
	var salida = '';
	
	if (fecha.length == 3){
		var arraymeses = new Array( "", "Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio",
								"Agosto","Septiembre","Octubre","Noviembre","Diciembre");
		salida += fecha[0] + ' de ' + arraymeses[eval(fecha[1])] + ' de ' + fecha[2];
	}

	return salida;
}

function formato_fecha_corto(fecha){
	var salida = '';
	
	if (fecha.length == 3)
	{
		var dia = (eval(fecha[0]) > 9 ? fecha[0] : '0'+fecha[0]);
		var mes = (eval(fecha[1]) > 9 ? fecha[1] : '0'+fecha[1]);
	
		salida += '[' + dia + '/' + mes + '/' + fecha[2] +'] ';
	}


	return salida;
}

function truncate(cad, length){
	etc = '…';

	if (length == 0)
		return '';
	
	if (cad.length > length) {
		length -= etc.length;
		return cad.substr(0, length) + etc;
	} else {
		return cad;
	}
}
