/*
 * Fichero para sobreescibir métodos de libreriaGlobal.js
 * 
 * autor: Fco. Javier Antúnez Ruiz, fjantunez@isotrol.com
 * autor: Miguel J. Jiménez, mjjimenez@isotrol.com
 * 
 * */

/**************************************************************************************************************/
var baseEstaticoEspecifico = '/';
var baseImpeEspecifico = '';
var titlePortal = 'Diari de Tarragona';



/* Proviene de : "libreriaGlobal.js" 
 * Motivo: el comportamiento de diaridetarragona. No se permite mandar comentarios a los usuarios anónimos. Tampoco les está permitido
 * valorar comentarios, asi que ocultamos la capa de votación.

 *  * */
InfoUsuario.prototype.tratarFormularioComentarios = function() {
	if ($('autenticacion_nombre') == null) // El usuario no está autentificado
	{
		
 		

	}
	else // Usuario autenticado
	{
 		// Ocultamos la capa que muestra el aviso de registro
 		// $('clausulaComentarios').style.display = 'none';
 		// Mostramos el bloque de usuario registrados
 		$('bloqUsuarioRegComentarios').style.display = 'inline';
		// A continuación rellenamos el nombre de usuario
		$('nombre').value = $('autenticacion_nombre').innerHTML + " " + $('autenticacion_apellidos').innerHTML;
		$('nombre').disabled = true;
		$('email').value = $('autenticacion_email').value;
		$('email').disabled = true;
	}
}


/*Proviene de: "comentarios.js"
 * Motivo: algunos campos ya no son válidos
 * */

function enviaComentario (url, rutaCaptcha) 
{
	
	var comentarioCorrecto = "Su comentario ha sido enviado.";
	var comentarioIncorrecto = "Se ha producido un error al enviar su comentario.";
	
	document.body.style.cursor = "wait"; 
	var capaComentarios = $('listaComentarios');
	
	var capaNombre = $('nombre');
	var capaEmail =  $('email');
	var capaComentario =  $('comentario');
	var capaCodigo =  $('codigo');
	var capaIdNoticia = $('id_noticia');
	var capaTitulo = $('titulo_comentarios');
	var capaFormulario = $('formComentario');

	var nombre = capaNombre.value;	
	var comentario = capaComentario.value;
	var codigo = capaCodigo.value;
	var idNoticia =  capaIdNoticia.value;
	var email =  capaEmail.value;
	var checkComentario = "";
	var titulo = capaTitulo.innerHTML;
	var tipo =  $('tipo').value;
	var mensaje = "Los comentarios deben tener:<br />"
	var b = false;
	var er_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var altura = capaFormulario.offsetHeight;
	var anchura = capaFormulario.offsetWidth;
	var opaca = creaCapaOpaca(altura, anchura);

	
	/* Verificación del formulario*/
	if (trim(nombre) == '')	{
		mensaje += "- Nombre del comentador<br />";
		b = true;
	}
	
	var checkPrivacidad = "";

	if (trim(comentario) == '')	{
		mensaje += "- Texto en el comentario<br />";
		b = true;
	}
	
	if (trim(codigo) == '')	{
		mensaje += "- Código de verificación<br />";
		b = true;
	}
	
	/* Fallo en la verificación*/
	if(b) {
		reemplazarCaptcha(rutaCaptcha, "captchaComentario");
		setTextoOpaca(opaca, mensaje)
		capaFormulario.appendChild(opaca);
		document.body.style.cursor = "default"; 
	} else {
		
		var parametros = {
				"nombre" : nombre,
				"email" : email,
				"comentario" : comentario,
				"codigo" : codigo,
				"id_noticia" : idNoticia,
				"tipo" : tipo
		}
		
		new Ajax.Request(url, {   
			parameters: parametros,
			method: 'get',   
			encoding: 'UTF-8',
			onSuccess: function(respuesta) {     
					var cadena = respuesta.responseText.toString();
					cadena = cadena.strip();
					var inicio = cadena.indexOf("<error>");
					var fin = cadena.indexOf("</error>");					
					if (inicio != -1 && fin != -1) {												
						var mensajeError = cadena.substring (inicio + 7 , fin);
						setTextoOpaca(opaca, mensajeError)
						capaFormulario.appendChild(opaca);
						document.body.style.cursor = "default"; 
					} else {	
						/*si existe la capa infoGaleriaFotoShow, es que estamos en una galeria de imágenes y no en
						 * una noticia. Guardo el titulo completo*/
						var tempo = null;
						if(document.getElementById('infoGaleriaFotoShow')) {
							tempo = document.getElementById('titulo_comentarios').innerHTML;
						}
						/*limpio la capa de comentarios y los campos con información del  envio realizado*/
						capaNombre.value = '';
						if (capaEmail) {
							capaEmail.value = '';
						}
						capaComentario.value = '';								
						capaCodigo.value = '';						
						/*como se ha realizado bien la petición, actualizamos la capa que contiene los comentarios.
						Dentro de la respuesta esta el valor.
						*/						
						capaComentarios.innerHTML = cadena;		
						/*actualizamos el número de comentarios*/	
						if(!document.getElementById('infoGaleriaFotoShow')) {					
							var titulo_tmp = document.getElementById('titulo_comentarios').innerHTML;
						} else {
							var titulo_tmp = tempo;
						}
						//document.getElementById('titulo_comentarios').innerHTML = titulo.replace(/\d+$/, titulo_tmp);
						$('titulo_comentarios').innerHTML = titulo_tmp;
						/*actualizamos el id de la noticia*/
						$('id_noticia').value = idNoticia;
						document.body.style.cursor = "default";			
						/*recargo la capa de formulario*/				
						capaFormulario = $("formComentario");
						setTextoOpaca(opaca, comentarioCorrecto);
						capaFormulario.appendChild(opaca);
					}
					$("codigo").value = "";
					reemplazarCaptcha(rutaCaptcha, "captchaComentario");
				}, 
			onFailure: function(respuesta) {     				
					capaIdNoticia.value = idNoticia;
					/*limpio sólo el campo del código de verificación*/
					capaCodigo.innerHTML = '';						
					/* informo mediante un alert que se ha producido un fallo en el envio del comentario. 
						Dentro de la respuesta vendrá la información del error.
					*/
					var mensajeError = respuesta.responseText.toString();
					document.body.style.cursor = "default"; 
					setTextoOpaca(opaca, mensajeError)
					capaFormulario.appendChild(opaca);
					document.getElementById("codigo").value = "";
					reemplazarCaptcha(rutaCaptcha, "captchaComentario");
				} 		
			}); 
			
		document.body.style.cursor = "default";
	}
}


/*	Función que desactiva las minigalerias
*Proviene de : "libreriaGlobal.js"
* Motivo: No existe pestanya 'gRecomendadas'
* */
miniGalerias.prototype.desactivarMG = function ()
{
	document.getElementById('gUltimas').className = '';
	//document.getElementById('gRecomendadas').className = '';
	document.getElementById('gComentadas').className = '';
	document.getElementById('gVistas').className = '';
}



/* Proviene de libreriaGlobal.js
 * Motivo: ha cambiado el id de la imagen captcha de envioAmigo. Ahora es 'captchaEA'
 * */

envioAmigo.prototype.creaEnviaAmigo = function ( idNoticia, ruta, titulo, pagina, bases_estatico, url, urlCaptcha,
	texto1, texto2, texto3, texto4, texto5, texto6, texto7, texto8, imgEnviar)
{	
	/*textos y parametros temporales*/
	texto1 = 'Enviar la página por correo a:';
	texto2 = 'Direcciones de destino (*)';
	texto3 = 'Asunto';
	texto4 = 'Su dirección de correo (*)';
	texto5 = 'Su nombre';	
	texto6 = 'Comentario';
	texto7 = "Escriba las direcciones de correo a las que quieres enviar la información separadas por punto y coma (;).<br><br>Los campos marcados con (*) son obligatorios";
	texto8 = 'Enviar también a su correo';
	url = '/enviaAmigo';
	bases_estatico = baseEstaticoEspecifico;
	imgEnviar = 'css/cssimg/botonEnvioAmigo.gif';

	var capaBloqueo = document.createElement('div');
	var body = document.getElementsByTagName('body')[0];
	capaBloqueo.id = "capaBloqueo";
	capaBloqueo.className = "estiloBloqueo";
	capaBloqueo.style.height = body.offsetHeight + "px";
	
	/*variable con el nombre del servidor. Puede ser necesario su cambio*/
/*	var servidor = servidorEspecifico;*/
	

	var pieBloq1 = creaPieBloq();
	var pieBloq2 = creaPieBloq();
	var pieBloq3 = creaPieBloq();
	var pieBloq4 = creaPieBloq();
	
	var inputCaptcha = document.createElement('input');
	var imagenCaptcha = document.createElement('img');
	var recargaCaptcha = document.createElement('input');
	
	imagenCaptcha.src= urlCaptcha;
	imagenCaptcha.id="captchaEA";
	inputCaptcha.className = "inputEnvioAmigoT2";
	inputCaptcha.id = "inpCaptchaEA";
	inputCaptcha.style.width = "90px";
	inputCaptcha.style.verticalAlign = "top";
	inputCaptcha.style.marginLeft = "5px";
	inputCaptcha.setAttribute("name", "codigo");
	recargaCaptcha.className = "botonRecargarT2";
	recargaCaptcha.value = "Recargar";
	recargaCaptcha.onclick = function () 
	{
		reemplazarCaptcha(urlCaptcha, imagenCaptcha.id)
	}
	
	var rutaVar = document.createElement('input');
	rutaVar.setAttribute('type', 'hidden');
	rutaVar.setAttribute('name', 'seccion');
	rutaVar.setAttribute('id', 'seccion');
	rutaVar.setAttribute('value', ruta);
	
	var idNot = document.createElement('input');
	idNot.setAttribute('type', 'hidden');
	idNot.setAttribute('name', 'idNoticia');
	idNot.setAttribute('id', 'idNoticia');
	idNot.setAttribute('value', idNoticia);
	
	var pag = document.createElement('input');
	pag.setAttribute('type', 'hidden');
	pag.setAttribute('name', 'ruta');
	pag.setAttribute('id', 'ruta');
	pag.setAttribute('value', pagina);
	
	var tituloNoticia = document.createElement('input');
	tituloNoticia.setAttribute('type', 'hidden');
	tituloNoticia.setAttribute('name', 'titulo');
	tituloNoticia.setAttribute('id', 'titulo');
	tituloNoticia.setAttribute('value', titulo);
	
	var contenedorEnvioAmigo = document.createElement('div');
	contenedorEnvioAmigo.className = 'contenedorEnvioAmigo';
	contenedorEnvioAmigo.id = 'contenedorEnvioAmigo';
	
	var subcontenedorEnvioAmigo = document.createElement('div');
	subcontenedorEnvioAmigo.className = 'subcontenedorEnvioAmigo';

	var cerrarEnvioAmigo = document.createElement('div');
	cerrarEnvioAmigo.className = 'cerrarEnvioAmigo';
	
	var imgCerrar = document.createElement('img');
	imgCerrar.alt = "cerrar";
	imgCerrar.className = "puntero";
	imgCerrar.src = bases_estatico + 'css/cssimg/xBlancaSobreFondoGris.gif';
	imgCerrar.onclick = function () {objEnvioAmigo.closeEnvioAmigo(urlCaptcha,'captchaEA');}; // Cerramos y recargamos el captcha de los comentarios
	cerrarEnvioAmigo.appendChild(imgCerrar);
	
	var formEnvioAmigo = document.createElement('form');
	formEnvioAmigo.className = "formEnvioAmigo";
	formEnvioAmigo.id = 'formEnvioAmigo';
	formEnvioAmigo.setAttribute('method', 'get');
	formEnvioAmigo.setAttribute('action', bases_estatico+url);
	
	var contenidoFormulario = document.createElement('div');
	contenidoFormulario.className = 'contenidoFormulario';
	
	var tituloEnvioAmigo = document.createElement('div');
	tituloEnvioAmigo.className = 'tituloEnvioAmigo';
	tituloEnvioAmigo.innerHTML = texto1;
	
	
/* Elementos de la primera linea */
	var l1b1 = document.createElement('div');
	l1b1.className = 'envioAmigoIzq';
	
	var label1 = document.createElement('label');
	label1.className = 'labelEnvioAmigo';
	label1.setAttribute('for', 'destino');
	label1.innerHTML = texto2;
	var input1 = document.createElement('input');
	input1.className = 'inputEnvioAmigo';
	input1.setAttribute('type', 'text');
	input1.setAttribute('name', 'destino');
	input1.setAttribute('id', 'destino');
	
	l1b1.appendChild(label1);
	l1b1.appendChild(input1);	
	
	var l1b2 = document.createElement('div');
	l1b2.className = 'envioAmigoDrc';
	
	var label2 = document.createElement('label');
	label2.className = 'labelEnvioAmigo';
	label2.setAttribute('for', 'asunto');
	label2.innerHTML = texto3;
	var input2 = document.createElement('input');
	input2.className = 'inputEnvioAmigo';
	input2.setAttribute('type', 'text');
	input2.setAttribute('name', 'asunto');
	input2.setAttribute('id', 'asunto');

	l1b2.appendChild(label2);
	l1b2.appendChild(input2);	

/*Elementos de la segunda linea*/
	var l2b1 = document.createElement('div');
	l2b1.className = 'envioAmigoIzq';
	
	var label3 = document.createElement('label');
	label3.className = 'labelEnvioAmigo';
	label3.setAttribute('for', 'tuCorreo');
	label3.innerHTML = texto4;
	var input3 = document.createElement('input');
	input3.className = 'inputEnvioAmigo';
	input3.setAttribute('type', 'text');
	input3.setAttribute('name', 'tuCorreo');
	input3.setAttribute('id', 'tuCorreo');
	
	l2b1.appendChild(label3);
	l2b1.appendChild(input3);	
	
	var l2b2 = document.createElement('div');
	l2b2.className = 'envioAmigoDrc';
	
	var label4 = document.createElement('label');
	label4.className = 'labelEnvioAmigo';
	label4.setAttribute('for', 'tuNombre');
	label4.innerHTML = texto5;
	var input4 = document.createElement('input');
	input4.className = 'inputEnvioAmigo';
	input4.setAttribute('type', 'text');
	input4.setAttribute('name', 'tuNombre');
	input4.setAttribute('id', 'tuNombre');
	
	l2b2.appendChild(label4);
	l2b2.appendChild(input4);
	
/*Elementos de la tercera linea*/	
	var l3b1 = document.createElement('div');
	l3b1.className = 'envioAmigoIzq';
	
	var label5 = document.createElement('label');
	label5.className = 'labelEnvioAmigo';
	label5.setAttribute('for', 'comentario');
	label5.innerHTML = texto6;
	
	var area = document.createElement('textarea');
	area.className = 'areaEnvioAmigo';
	area.setAttribute('name', 'comentario');
	area.setAttribute('id', 'comentarioEA');
	
	l3b1.appendChild(label5);
	l3b1.appendChild(area)

	
	var l3b2 = document.createElement('div');
	l3b2.className = 'envioAmigoDrc';
	
	var usoEnvioAmigo = document.createElement('div');
	usoEnvioAmigo.className = 'usoEnvioAmigo';
	usoEnvioAmigo.innerHTML = texto7;
	
	var bloqCheck = document.createElement('div');
	bloqCheck.className = 'bloqCheck';
	
	var input5 = document.createElement('input');
	input5.setAttribute('type', 'checkbox');
	input5.setAttribute('name', 'enviarAMi');
	input5.setAttribute('id', 'enviarAMi');
	
	var label6 = document.createElement('label');
	label6.className = 'labelEnvioAmigo';
	label6.setAttribute('for', 'enviarAMi');
	label6.innerHTML = texto8;
	
	bloqCheck.appendChild(input5);
	bloqCheck.appendChild(label6);
	
	var botonEnvioAmigo = document.createElement('img');
	botonEnvioAmigo.className = 'botonEnvioAmigo';
	botonEnvioAmigo.src = bases_estatico + imgEnviar;
	botonEnvioAmigo.onclick = function (e) {
		if (objEnvioAmigo.comprobarFormulario() == true)	
			objEnvioAmigo.envioCorreo(urlCaptcha, baseImpeEspecifico + url + "?" + formEnvioAmigo.serialize());
	};
	
	l3b2.appendChild(usoEnvioAmigo);
	l3b2.appendChild(botonEnvioAmigo);	
	
	
	var l4b1 = document.createElement('div');
	l4b1.className ="envioAmigoIzq margen_sup5px";
	
	l4b1.appendChild(imagenCaptcha);
	l4b1.appendChild(inputCaptcha);
	
	var l4b2 = document.createElement('div');
	l4b2.className ="envioAmigoDrc margen_sup5px";
	
	l4b2.appendChild(recargaCaptcha);
	l4b2.appendChild(botonEnvioAmigo);
	l4b2.appendChild(bloqCheck);

	var br = document.createElement('br');

	
	
/*Reuno todos los elementos*/
	contenidoFormulario.appendChild(tituloEnvioAmigo);
	contenidoFormulario.appendChild(l1b1);
	contenidoFormulario.appendChild(l1b2);	
	contenidoFormulario.appendChild(pieBloq1);
	contenidoFormulario.appendChild(l2b1);
	contenidoFormulario.appendChild(l2b2);	
	contenidoFormulario.appendChild(pieBloq2);
	contenidoFormulario.appendChild(l3b1);
	contenidoFormulario.appendChild(l3b2);	
	contenidoFormulario.appendChild(pieBloq3);
	contenidoFormulario.appendChild(l4b1);
	contenidoFormulario.appendChild(l4b2);	
	contenidoFormulario.appendChild(pieBloq4);
	contenidoFormulario.appendChild(idNot);
	contenidoFormulario.appendChild(rutaVar);
	contenidoFormulario.appendChild(pag);	
	contenidoFormulario.appendChild(tituloNoticia);	
	
	formEnvioAmigo.appendChild(contenidoFormulario);
	
	subcontenedorEnvioAmigo.appendChild(cerrarEnvioAmigo);
	subcontenedorEnvioAmigo.appendChild(formEnvioAmigo);
	
	body.appendChild(contenedorEnvioAmigo);	
	contenedorEnvioAmigo.appendChild(subcontenedorEnvioAmigo);	
	body.appendChild(capaBloqueo);
	
	
	/* cálculo de la altura versión IE*/
	if(document.all)
	{
		var posY = (document.body.scrollTop || document.documentElement.scrollTop || 0) 
			+ Math.floor(document.documentElement.clientHeight / 2) - Math.floor(contenedorEnvioAmigo.offsetHeight / 2);
		var posX = Math.floor(document.body.clientWidth  / 2) - Math.floor(contenedorEnvioAmigo.offsetWidth / 2) 
			- (document.body.scrollLeft || document.documentElement.scrollLeft || 0);
		
	}
	/* cálculo de la altura versión Firefox*/
	else
	{
		var posY = window.scrollY + Math.floor(window.innerHeight / 2) - Math.floor(contenedorEnvioAmigo.offsetHeight / 2);
		var posX = Math.floor(window.innerWidth / 2) - Math.floor(contenedorEnvioAmigo.offsetWidth / 2) - window.scrollX;
	}	
	
	posY = (posY < 0) ? 0 : posY;
	contenedorEnvioAmigo.style.top = posY + "px";	
	posX = (posX < 0) ? 0 : posX;		
	contenedorEnvioAmigo.style.left = posX + "px";
}


/*Función que cierra la capa de envio amigo. Recibe dos parámetros
 * urlCaptcha, la url de la que obtener el nuevo captcha
 * id, el id de la imagen a recargar*/
envioAmigo.prototype.closeEnvioAmigo = function (urlCaptcha, id)
{
	reemplazarCaptcha(urlCaptcha, id);
	var envioAmigo = document.getElementById('contenedorEnvioAmigo');
	var padre = envioAmigo.parentNode;
	padre.removeChild(envioAmigo);		
	var bloqueo = document.getElementById('capaBloqueo');
	var t = bloqueo.parentNode;
	t.removeChild(bloqueo);
}

function reemplazarCaptcha(rutaCaptcha, id)
{	
	var imagen = document.getElementById(id);
	if (imagen != null)
	{
		var nuevaImagen = new Image();
		var rnd = new Date().getTime();
		nuevaImagen.src = rutaCaptcha + "?" + rnd;
		imagen.src = nuevaImagen.src;
	}
	return true;
}

/* Nuevo elemento para controlar el envio de mensajes a un autor
 * */
function envioAutor () {

}
var objEnvioAutor = new envioAutor();

/* Nueva función que comprueba los datos del formulario de envio autor
 * */
envioAutor.prototype.comprobarFormularioEnvioAutor = function()
{
	// Comprobamos que los campos obligatorios estén rellenos
	
	var vTuCorreo = document.getElementById("tuCorreo").value;
	var vInpCaptchaEA = document.getElementById("inpCaptchaEA").value;
	
	if (vTuCorreo == "")
	{
		objMensajeAviso.creaAviso('utilidades', 'Debe rellenar los campos obligatorios.', true);
		return false
	}
	if (vInpCaptchaEA == "")
	{
		objMensajeAviso.creaAviso('utilidades', 'Debe introducir el código que aparece para poder mandar la noticia.', true);
		return false
	}
	if (comprobarEmail(vTuCorreo) == false)
	{
		objMensajeAviso.creaAviso('utilidades', 'Su dirección de correo es incorrecta.', true);
		return false
	}
	
	return true; // Si llegamos hasta aquí es que todo es correcto
}

/* Nueva función que cierra la capa de envio autor. Recibe dos parámetros
 * urlCaptcha, la url de la que obtener el nuevo captcha
 * id, el id de la imagen a recargar*/
envioAutor.prototype.closeEnvioAmigo = function (urlCaptcha, id)
{
	reemplazarCaptcha(urlCaptcha, id);
	var envioAmigo = document.getElementById('contenedorEnvioAmigo');
	var padre = envioAmigo.parentNode;
	padre.removeChild(envioAmigo);		
	var bloqueo = document.getElementById('capaBloqueo');
	var t = bloqueo.parentNode;
	t.removeChild(bloqueo);
}


/* Nueva función para el envio de emails al autor del artículo. Recibe como parámetros:
 * texto1, el texto de titulo de la capa
 * texto2, el texto para la etiqueta de 'asunto'
 * texto3, el texto para la etiqueta de 'tu dirección de correo'
 * texto4, el texto para la etiqueta de 'tu nombre'
 * texto5, el texto para la etiqueta de 'comentario'
 * texto6, el texto para las normas de uso
 * texto7, el texto para la etiqueta del checkbox 'Enviar también a tu correo '
 * imgEnviar, la ruta de la imagen que es el botón de enviar
 * idNoticia, la url de la noticia
 * ruta, la sección del articulo
 * titulo, el titulo de la noticia
 * url, la url a la que se envia el formulario
 * basesEstatico, la ruta del directorio estatico
 * urlCaptcha, la ruta de la que obtener el captcha
 * */

envioAutor.prototype.creaEnviaMensaje = function ( idNoticia, ruta, titulo, pagina, bases_estatico, url, urlCaptcha,
	texto1, texto2, texto3, texto4, texto5, texto6, texto7, imgEnviar)
{	
	/*textos y parametros temporales*/
	texto1 = 'Comentar la noticia con el autor';
	texto2 = 'Asunto';
	texto3 = 'Su dirección de correo (*)';
	texto4 = 'Su nombre (*)';	
	texto5 = 'Comentario';
	texto6 = "Los campos marcados con (*) son obligatorios";
	texto7 = 'Enviar también a su correo';
	bases_estatico = baseEstaticoEspecifico;
	imgEnviar = 'css/cssimg/botonEnvioAmigo.gif';

	var capaBloqueo = document.createElement('div');
	var body = document.getElementsByTagName('body')[0];
	capaBloqueo.id = "capaBloqueo";
	capaBloqueo.className = "estiloBloqueo";
	capaBloqueo.style.height = body.offsetHeight + "px";
	
	/*variable con el nombre del servidor. Puede ser necesario su cambio*/
	/*var servidor = servidorEspecifico;*/
	

	var pieBloq1 = creaPieBloq();
	var pieBloq2 = creaPieBloq();
	var pieBloq3 = creaPieBloq();
	var pieBloq4 = creaPieBloq();
	
	var inputCaptcha = document.createElement('input');
	var imagenCaptcha = document.createElement('img');
/*	var recargaCaptcha = document.createElement('input');*/
	var recargaCaptcha = document.createElement('img');
	imagenCaptcha.src= urlCaptcha;
	imagenCaptcha.id="captchaEA";
	inputCaptcha.className = "inputEnvioAmigoT2";
	inputCaptcha.id = "inpCaptchaEA";
	inputCaptcha.style.width = "90px";
	inputCaptcha.style.verticalAlign = "top";
	inputCaptcha.style.marginLeft = "5px";
	inputCaptcha.setAttribute("name", "codigo");
	recargaCaptcha.className = "botonRecargarT3";
	recargaCaptcha.src = bases_estatico + 'css/cssimg/botonRecargar.gif';
	recargaCaptcha.setAttribute ("alt", "Recargar");
	recargaCaptcha.onclick = function () 
	{
		reemplazarCaptcha(urlCaptcha, imagenCaptcha.id)
	}
	
	var rutaVar = document.createElement('input');
	rutaVar.setAttribute('type', 'hidden');
	rutaVar.setAttribute('name', 'seccion');
	rutaVar.setAttribute('id', 'seccion');
	rutaVar.setAttribute('value', ruta);
	
	var idNot = document.createElement('input');
	idNot.setAttribute('type', 'hidden');
	idNot.setAttribute('name', 'idNoticia');
	idNot.setAttribute('id', 'idNoticia');
	idNot.setAttribute('value', idNoticia);
	
	var pag = document.createElement('input');
	pag.setAttribute('type', 'hidden');
	pag.setAttribute('name', 'ruta');
	pag.setAttribute('id', 'ruta');
	pag.setAttribute('value', pagina);
	
	var tituloNoticia = document.createElement('input');
	tituloNoticia.setAttribute('type', 'hidden');
	tituloNoticia.setAttribute('name', 'titulo');
	tituloNoticia.setAttribute('id', 'titulo');
	tituloNoticia.setAttribute('value', titulo);
	
	var contenedorEnvioAmigo = document.createElement('div');
	contenedorEnvioAmigo.className = 'contenedorEnvioAmigo';
	contenedorEnvioAmigo.id = 'contenedorEnvioAmigo';
	
	var subcontenedorEnvioAmigo = document.createElement('div');
	subcontenedorEnvioAmigo.className = 'subcontenedorEnvioAmigo'
	;

	var cerrarEnvioAmigo = document.createElement('div');
	cerrarEnvioAmigo.className = 'cerrarEnvioAmigo';
	
	var imgCerrar = document.createElement('img');
	imgCerrar.alt = "cerrar";
	imgCerrar.className = "puntero";
	imgCerrar.src = bases_estatico + 'css/cssimg/xBlancaSobreFondoGris.gif';
	imgCerrar.onclick = function () {objEnvioAmigo.closeEnvioAmigo(urlCaptcha,'captchaComentario');}; // Cerramos y recargamos el captcha de los comentarios
	cerrarEnvioAmigo.appendChild(imgCerrar);
	
	var formEnvioAmigo = document.createElement('form');
	formEnvioAmigo.className = "formEnvioAmigo";
	formEnvioAmigo.id = 'formEnvioAmigo';
	formEnvioAmigo.setAttribute('method', 'post');
	formEnvioAmigo.setAttribute('action', bases_estatico+url);
	
	var contenidoFormulario = document.createElement('div');
	contenidoFormulario.className = 'contenidoFormulario';
	
	var tituloEnvioAmigo = document.createElement('div');
	tituloEnvioAmigo.className = 'tituloEnvioAmigo';
	tituloEnvioAmigo.innerHTML = texto1;
	
	
/* Elementos de la primera linea */
/*	
	var l1b2 = document.createElement('div');
	l1b2.className = '';
	
	var label2 = document.createElement('label');
	label2.className = 'labelEnvioAmigo2 oculto';
	label2.setAttribute('for', 'asunto');
	label2.innerHTML = texto2;
	var input2 = document.createElement('input');
	input2.className = 'inputEnvioAmigo';
	input2.setAttribute('type', 'text');
	input2.setAttribute('name', 'asunto');
	input2.setAttribute('id', 'asunto');

	l1b2.appendChild(label2);
	l1b2.appendChild(pieBloq1);
	l1b2.appendChild(input2);	*/

/*Elementos de la segunda linea*/
	var l2b1 = document.createElement('div');
	l2b1.className = 'envioAmigoIzq';
	
	var label3 = document.createElement('label');
	label3.className = 'labelEnvioAmigo';
	label3.setAttribute('for', 'tuCorreo');
	label3.innerHTML = texto3;
	var input3 = document.createElement('input');
	input3.className = 'inputEnvioAmigo';
	input3.setAttribute('type', 'text');
	input3.setAttribute('name', 'tuCorreo');
	input3.setAttribute('id', 'tuCorreo');
	
	l2b1.appendChild(label3);
	l2b1.appendChild(input3);	
	
	var l2b2 = document.createElement('div');
	l2b2.className = 'envioAmigoDrc';
	
	var label4 = document.createElement('label');
	label4.className = 'labelEnvioAmigo';
	label4.setAttribute('for', 'tuNombre');
	label4.innerHTML = texto4;
	var input4 = document.createElement('input');
	input4.className = 'inputEnvioAmigo';
	input4.setAttribute('type', 'text');
	input4.setAttribute('name', 'tuNombre');
	input4.setAttribute('id', 'tuNombre');
	
	l2b2.appendChild(label4);
	l2b2.appendChild(input4);
	
/*Elementos de la tercera linea*/	
	var l3b1 = document.createElement('div');
	/*l3b1.className = 'envioAmigoIzq';*/
	
	var label5 = document.createElement('label');
	label5.className = 'labelEnvioAmigo';
	label5.setAttribute('for', 'comentario');
	label5.innerHTML = texto5;
	
	var area = document.createElement('textarea');
	area.className = 'areaEnvioAutor';
	area.setAttribute('name', 'comentario');
	area.setAttribute('id', 'comentarioEA');
	
	l3b1.appendChild(label5);
	l3b1.appendChild(pieBloq1);
	l3b1.appendChild(area)

	
	var l3b2 = document.createElement('div');
	l3b2.className = 'envioAmigoIzq';
	
	var usoEnvioAmigo = document.createElement('div');
	usoEnvioAmigo.className = 'usoEnvioAmigo';
	usoEnvioAmigo.innerHTML = texto6;
	
	
	var botonEnvioAmigo = document.createElement('img');
	botonEnvioAmigo.className = 'botonEnvioAmigo';
	botonEnvioAmigo.src = bases_estatico + imgEnviar;
	botonEnvioAmigo.onclick = function (e) {
		if (objEnvioAutor.comprobarFormularioEnvioAutor() == true)	
			objEnvioAmigo.envioCorreo(urlCaptcha, baseImpeEspecifico + url + "?" + formEnvioAmigo.serialize());
	};
	
	l3b2.appendChild(usoEnvioAmigo);
	l3b2.appendChild(botonEnvioAmigo);	
	
	
	var l4b1 = document.createElement('div');
	l4b1.className ="envioAmigoIzq margen_sup5px";
	
	l4b1.appendChild(imagenCaptcha);
	l4b1.appendChild(inputCaptcha);
	
	var l4b2 = document.createElement('div');
	l4b2.className ="envioAmigoDrc margen_sup5px";
	
	l4b2.appendChild(recargaCaptcha);
	l4b2.appendChild(botonEnvioAmigo);

	var br = document.createElement('br');

	
	
/*Reuno todos los elementos*/
	contenidoFormulario.appendChild(tituloEnvioAmigo);
	/*contenidoFormulario.appendChild(l1b2);	
	contenidoFormulario.appendChild(pieBloq1);*/
	contenidoFormulario.appendChild(l2b1);
	contenidoFormulario.appendChild(l2b2);	
	contenidoFormulario.appendChild(pieBloq2);
	contenidoFormulario.appendChild(l3b1);
	contenidoFormulario.appendChild(pieBloq3);
	contenidoFormulario.appendChild(l3b2);	
	contenidoFormulario.appendChild(pieBloq3);
	contenidoFormulario.appendChild(l4b1);
	contenidoFormulario.appendChild(l4b2);	
	contenidoFormulario.appendChild(pieBloq4);
	contenidoFormulario.appendChild(idNot);
	contenidoFormulario.appendChild(rutaVar);
	contenidoFormulario.appendChild(pag);	
	contenidoFormulario.appendChild(tituloNoticia);	
	
	formEnvioAmigo.appendChild(contenidoFormulario);
	
	subcontenedorEnvioAmigo.appendChild(cerrarEnvioAmigo);
	subcontenedorEnvioAmigo.appendChild(formEnvioAmigo);
	
	body.appendChild(contenedorEnvioAmigo);	
	contenedorEnvioAmigo.appendChild(subcontenedorEnvioAmigo);	
	body.appendChild(capaBloqueo);
	
	
	/* cálculo de la altura versión IE*/
	if(document.all)
	{
		var posY = (document.body.scrollTop || document.documentElement.scrollTop || 0) 
			+ Math.floor(document.documentElement.clientHeight / 2) - Math.floor(contenedorEnvioAmigo.offsetHeight / 2);
		var posX = Math.floor(document.body.clientWidth  / 2) - Math.floor(contenedorEnvioAmigo.offsetWidth / 2) 
			- (document.body.scrollLeft || document.documentElement.scrollLeft || 0);
		
	}
	/* cálculo de la altura versión Firefox*/
	else
	{
		var posY = window.scrollY + Math.floor(window.innerHeight / 2) - Math.floor(contenedorEnvioAmigo.offsetHeight / 2);
		var posX = Math.floor(window.innerWidth / 2) - Math.floor(contenedorEnvioAmigo.offsetWidth / 2) - window.scrollX;
	}	
	
	posY = (posY < 0) ? 0 : posY;
	contenedorEnvioAmigo.style.top = posY + "px";	
	posX = (posX < 0) ? 0 : posX;		
	contenedorEnvioAmigo.style.left = posX + "px";
}



function galeriaFS () 
{
		
}
var objGaleriaFS = new galeriaFS();

/* Proviene de : "galeriaFS.js" 
 * Motivo: el valor de urlPagSiguiente ya no es el esperado cuando sólo hay una página, que era la cadena vacia. 
 * Se ha adaptado la función al nuevo valor
 *  * */

galeriaFS.prototype.pasaSiguienteFS = function () 
{
	var urlPagSiguiente = document.getElementById("capa_urlPagSiguiente").innerHTML.replace("&amp;", "&");
	var urlPagAnterior = document.getElementById("capa_urlPagAnterior").innerHTML.replace("&amp;", "&");
	var grande = document.getElementById('g0'); // Imagen Grande
	var actual = grande.getElementsByTagName('img').item(0).getAttribute('id'); // ID de la imagen actual
	var idActual = actual.substring(1, actual.length); // ID num�rico de la imagen actual
	
	var capaImagenes = document.getElementById('galeriaFS'); // DIV que contiene las imágenes miniatura
	var listaImagenes = capaImagenes.getElementsByTagName('img'); // Set con las im�genes en miniatura
	
	var numImagenes = listaImagenes.length; // Número de imágenes en miniatura
	var i = 0;
	var b = false;
	while( i < numImagenes && !b)
	{
		var idTratado = listaImagenes.item(i).getAttribute('id');
		idTratado = idTratado.substring(1, idTratado.length);
		
		if (idTratado == idActual)
		{
			b = true; // Hemos encontrado la imagen que hay ahora mismo cargada
		}
		else
		{
			i++;
		}
	}
	/* Si es la �ltima imagen de la página actual */
	if(b == true && i == (numImagenes - 1))
	{
		/*Si no hay pagina siguiente, es que la galeria sólo tiene una página, asi que tengo que cargar
		 * la primera imagen de esta galeria*/
/*		 if(urlPagSiguiente == "")
		 var temporal = urlPagSiguiente.substring( urlPagSiguiente.length-2,  urlPagSiguiente.length)
 		 if(temporal == "=1")*/
 		 var pagActual = document.getElementById('paginaGalActual').innerHTML;
		 var pagAnterior = document.getElementById('paginaGalAnterior').innerHTML;
		
		 if (urlPagSiguiente == urlPagAnterior && pagActual != 2)
		 {
		 	this.ampliaImagen(listaImagenes.item(0).getAttribute("id"));
		 	var interna = document.getElementById('internaImagenZoom');
		 	interna.style.margin = '0px;';		 	
		 	objGaleriaFS.centrado();
		 }
		 else
		 {
		 	this.actualizarPagGaleria(urlPagSiguiente);
		 }
	}
	/*como la búsqueda siempre tiene éxito, no hay más condiciones. Sólo hay que pasar al siguiente*/
	else
	{
		this.ampliaImagen(listaImagenes.item(i+1).getAttribute("id"));
		document.getElementById('internaImagenZoom').style.margin = '0 0 0 0;';
		objGaleriaFS.centrado();
	}
}





galeriaFS.prototype.ampliaImagen = function (ident) 
{
	var alturaFija = 436; 
	var numeroNuevo = ident.substring (1, ident.length);
	var id_capa = ident + '_1';
	var imagen = document.getElementById(ident);
	var capa = document.getElementById(id_capa);
	var grande = document.getElementById('g0');
	var idImagenActual = 0;

	/*capturo el id de la imagen grande cuando entro*/
	/*var idZoomImagenActual = grande.childNodes[1].getAttribute('id');*/
	var t= grande.getElementsByTagName('img');
	var idZoomImagenActual= t[0].id;
	
	/*obtengo el id de la imagen en pequeno    */
	var idImagenActual = idZoomImagenActual.substring(1, idZoomImagenActual.length);
	/*oculto el comentario asociado a la imagen en grande actual*/
	document.getElementById('p' + idImagenActual).style.display = 'none';
	/*cargamos la imagen nueva*/
	grande.getElementsByTagName('img').item(0).setAttribute ('width', eval("imgZoom_" + numeroNuevo).getAttribute('width'));
	grande.getElementsByTagName('img').item(0).setAttribute ('src', eval("imgZoom_" + numeroNuevo).getAttribute('src'));

	if(eval("imgZoom_" + numeroNuevo).getAttribute('height') != "undefined")
	{
		grande.getElementsByTagName('img').item(0).setAttribute ('height', eval("imgZoom_" + numeroNuevo).getAttribute('height'));
	}
	else
	{
		grande.getElementsByTagName('img').item(0).setAttribute ('height', alturaFija);
	}
	grande.getElementsByTagName('img').item(0).setAttribute ('alt', imagen.getAttribute('alt'));
	grande.getElementsByTagName('img').item(0).setAttribute ('title', imagen.getAttribute('title'));
	grande.getElementsByTagName('img').item(0).setAttribute ('id', 'z' + imagen.getAttribute('id').substring(1, imagen.getAttribute('id').length));
	
	 
	 /*grande.getElementsByTagName('img').item(0).onclick = function () {
		objGaleriaFS.pasaSiguienteFS(null);
	}*/	
	document.getElementById('internaImagenZoom').style.margin = '0 0 0 0;';
	objGaleriaFS.centrado();
		

	/*mostramos el comentario*/
	if(document.getElementById('p' + numeroNuevo) != null)
	{
		document.getElementById('p' + numeroNuevo).removeAttribute('style');
	}
	var barra = document.getElementById('imagenAcutalGaleria');
	if (barra) {
		barra.parentNode.removeChild(barra);
	}
	barra = document.createElement('div');
	barra.setAttribute ('id', 'imagenAcutalGaleria');
	
	barra.className = 'imagenGFSActual';
	capa.appendChild(barra);
}


galeriaFS.prototype.centrado = function () 
{
	var alturaFija = 436; 
	
	var interna = document.getElementById('internaImagenZoom');
	var imagen = interna.getElementsByTagName('img');


	var idG0 = imagen[0].id;
	var numeroNuevo = idG0.substring (1, idG0.length);
	var alturaImagen = eval("imgZoom_" + numeroNuevo).getAttribute('height');
	if(alturaImagen == 'undefined' || alturaImagen == null)
	{
		alturaImagen = alturaFija;
	}
	/*
	try{
		alturaImagen = imagen[0].height;
	}
	catch(e)
	{
		alturaImagen = alturaFija;
	}*/
	var espacioNecesario = Math.floor((alturaFija - alturaImagen) /2 );
	interna.style.margin = espacioNecesario +"px 0 0 0;";
}



/*	Nueva función que realiza la petición para obtener las dos útimas noticias de cada sección
 * Recibe dos parámetros
 * url, la url a la que hacer la petición
 * idCapa, el id de la capa que contendrá el resultado
 * */


function ultimasNoticiasSeccion(url, idCapa)
{
	var t= 0;
	t++;
	new Ajax.Request(url, {   
	method: 'get',   
	encoding: 'UTF-8',
	onSuccess: function(respuesta) 
		{     
			var cadena = respuesta.responseText.toString();
			var capa = document.getElementById(idCapa);
			capa.innerHTML = cadena;
		}, 
	onFailure: function(respuesta) 
		{     				
		
		} 		
	}); 			
}




/* Función que actualiza los thumbnails que hay en cada página de la galeria
 * cuando se cambia de página. Realiza la precarga de las nuevas imágenes.
 * Recibe dos parámetros
 * url, la url a la que se realiza la petición ajax de las nuevas imagenes
 * param, los parámetros de la petición
 * */
galeriaFS.prototype.actualizarPagGaleria = function (url, param) 
{
	/* guardo la información que se pierde en la recarga */
	var titular = document.getElementById('h1FotoShow').innerHTML;
	/*var numComentariosTop = document.getElementById('numComentariosTop').innerHTML;	*/
	/* veo si se ha votado ya */
	var idVotado ='';
	
	/*capturo el contenedor a recargar*/
	var contenedor = document.getElementById('infoGaleriaFotoShow');
	var listaMiniaturas = document.getElementById('galeriaFS');
	var salida;
	var enlaceAnterior =  document.getElementById('pagAnteriorGal');
	var enlaceSiguiente =  document.getElementById('pagSiguienteGal');
	
	/*realizo la peticion*/
	new Ajax.Request(url, {   
			parameters: param ,
			asynchronous: false,
			method: 'get',   
			onSuccess: function(respuesta) 
				{     										
					var capaFalsa = document.createElement("div");
					capaFalsa.className = 'oculto';				
					capaFalsa.innerHTML = respuesta.responseText;
					
					var nodo = capaFalsa.firstChild;
					
					/*colocamos la minigaleria*/
					var aux = objGaleriaFS.parseador("galeriaFS", nodo);
					document.getElementById("galeriaFS").innerHTML = aux;
					
					
					/*actualizamos pagina actual y anterior*/
					var aux = objGaleriaFS.parseador("paginaGalActual", nodo);
					document.getElementById("paginaGalActual").innerHTML = aux;
					
					var aux = objGaleriaFS.parseador("paginaGalAnterior", nodo);
					document.getElementById("paginaGalAnterior").innerHTML = aux;
					
					/* colocamos la paginacion*/
					aux = objGaleriaFS.parseador("paginacionFS", nodo);
					document.getElementById("paginacionFS").innerHTML = aux;					
					objGaleriaFS.actualizaEnlaces();
					
					
					
					
					
					/*precarga*/
					aux = objGaleriaFS.parseador("bloqJSprecarga", nodo);
					document.getElementById("bloqJSprecarga").innerHTML = aux;
									
					aux = objGaleriaFS.parseador("bloqTextoRelImagenZoom", nodo);				
					document.getElementById("bloqTextoRelImagenZoom").innerHTML = aux;

					aux = objGaleriaFS.parseador("capa_urlPagSiguiente", nodo);						
					document.getElementById("capa_urlPagSiguiente").innerHTML = aux;

					aux = objGaleriaFS.parseador("capa_urlPagAnterior", nodo);						
					document.getElementById("capa_urlPagAnterior").innerHTML = aux;
	
	
				
				}, 
			onFailure: function(respuesta) 
				{     				
					//alert('error al refrecar la galeria');
				},
			onComplete: function ()			
			    {			    		
			    		var cadena = salida;		    		
			    		/*var ini = cadena.indexOf('<script type="text/javascript">');
			    		var fin = cadena.indexOf('</script>');
			    		var cuerpoFunc = cadena.subString(ini, fin);
			    		var funcTempo =  document.createElement('script');
			    		funcTempo.innerHTML = cuerpoFunc;*/
			    		
			    		var titular2 = document.getElementById('h1FotoShow');
			    		titular2.innerHTML = titular;
					/*	var numComentariosTop2 = document.getElementById('numComentariosTop');
						numComentariosTop2.innerHTML = numComentariosTop;
						if(idVotado != '')
						{
							var votado2 = document.getElementById(idVotado);
							votado2.style.display = 'block';
						}	*/
						document.getElementById('internaImagenZoom').style.margin = '0 0 0 0;';			
						objGaleriaFS.ampliarPrimera();
						objGaleriaFS.actualizaEnlaces()
			    }
		});
}

/*	Función que parsea una respuesta del servidor y devuelve el nodo cuyo id se pasa. La respuesta del servidor va en el nodo
 * */

galeriaFS.prototype.parseador = function (idBuscado, nodo)
{
	var resultado = null;
	var nodoAux = nodo;

	while (nodoAux) 
	{
		if (nodoAux.tagName && nodoAux.getAttribute("id") == idBuscado) 
		{
			 break; 
		}
		nodoAux = nodoAux.nextSibling;
	}
	if (nodoAux.tagName && nodoAux.getAttribute("id") == idBuscado) 
	{
		resultado = nodoAux;
	} 
	else 
	{
		resultado = null;
	}	
	
	if(resultado != null)
	{
		resultado = resultado.innerHTML;
	}
	return resultado;
}



/* Función que actualiza los enlaces superiores del carrusel de imagenes. 
 * */
galeriaFS.prototype.actualizaEnlaces = function () 
{
	var bloqPaginacion = document.getElementById("paginacionFS");
	var listaEnlaces = bloqPaginacion.getElementsByTagName("a");
	var enlaceAnterior1 = document.getElementById("pagAnteriorGal");
	var enlaceSiguiente1 = document.getElementById("pagSiguienteGal");
	var longLista = listaEnlaces.length;
	
	
	var urlEnlaceAnterior2 = listaEnlaces.item(0).getAttribute("onclick");	
	
	
	var urlEnlaceSiguiente2 = listaEnlaces.item(longLista - 1).getAttribute("onclick");

	enlaceAnterior1.setAttribute('onclick', urlEnlaceAnterior2);
	enlaceSiguiente1.setAttribute('onclick',urlEnlaceSiguiente2);
}





/* Función que amplia la primera imagen de la galeria lateral cuando se ha hecho un cambio de página
 * */
galeriaFS.prototype.ampliarPrimera = function () 
{
	
	var galeria = document.getElementById('galeriaFS');
	var imagenes = galeria.getElementsByTagName('img');
	objGaleriaFS.funcPrecarga();
	var imagen = imagenes[0];
	var ident = imagen.getAttribute('id');
	var numeroNuevo = ident.substring (1, ident.length);
	var t= eval("imgZoom_" + numeroNuevo).getAttribute('src');
	var grande = document.getElementById('g0');
	
	grande.getElementsByTagName('img').item(0).setAttribute ('width', eval("imgZoom_" + numeroNuevo).getAttribute('width'));
	grande.getElementsByTagName('img').item(0).setAttribute ('src', eval("imgZoom_" + numeroNuevo).getAttribute('src'));
	if(eval("imgZoom_" + numeroNuevo).getAttribute('height') != "undefined")
	{
		grande.getElementsByTagName('img').item(0).setAttribute ('height', eval("imgZoom_" + numeroNuevo).getAttribute('height'));
	}
	else
	{
		grande.getElementsByTagName('img').item(0).setAttribute ('height', alturaFija);
	}
	grande.getElementsByTagName('img').item(0).setAttribute ('alt', imagen.getAttribute('alt'));
	grande.getElementsByTagName('img').item(0).setAttribute ('title', imagen.getAttribute('title'));
	grande.getElementsByTagName('img').item(0).setAttribute ('id', 'z' + imagen.getAttribute('id').substring(1, imagen.getAttribute('id').length));
	/*grande.getElementsByTagName('img').item(0).onclick = function () {
		objGaleriaFS.pasaSiguienteFS(null);
	}*/
	document.getElementById('internaImagenZoom').style.margin = '0 0 0 0;';
	objGaleriaFS.centrado();

	
}
 
 

/*Función que realiza el efecto asociado al over del tooltip en la lista de galerias. Recibe dos parametros
 *  id: id del enlace
* texto: el texto que saldrá en el tooltip
*/
galeriaFS.prototype.tooltipOver = function (id, texto) {
	var enlace = document.getElementById(id);
	
	var padre = enlace.parentNode;
	
	var capa = document.createElement('div');
	capa.className = 'capaTooltip tooltip_FS';
	capa.id = 'capaTooltip';
	
	var zonaTexto = document.createElement('div');
	zonaTexto.innerHTML = texto;
	
	capa.appendChild(zonaTexto);
	padre.appendChild(capa);
}

/*Función que realiza el efecto asociado al out del tooltip en la lista de galerias. Recibe un parámetro
 * id : id del enlace
*/
galeriaFS.prototype.tooltipOut = function (id) {
		var tooltip = document.getElementById('capaTooltip');
		if(tooltip)
		{
			var padre = tooltip.parentNode;	
			padre.removeChild(tooltip);
		}
}
 
 
 galeriaFS.prototype.funcPrecarga = function () 
{
	var t = document.getElementById('scriptPrecarga').innerHTML;
	var texto = t.replace(/\n/gi, "");
	eval(texto);
	var padre = document.getElementById('scriptPrecarga').parentNode;
	padre.removeChild(document.getElementById('scriptPrecarga'));
}


/**
 * Abre en una ventana la ampliación de la imagen de una noticia
 */
function abrirAmpliacion(url, titulo, autor, pie, alto, ancho)
{
	var imagen = new Image();
	var pieAncho = 0;
	var altoImagen = 0;
	var anchoImagen = 0;
	var ventanaAmpliacion = null;
	var docAmpliacion = null;
	
	imagen.onload = function()
	{
		altoImagen = imagen.height;
		anchoImagen = imagen.width;		
		
		if (trim(alto) != "")
			alto = parseInt(alto) + 15;
		else
			alto = altoImagen + 15;
			
		if (parseInt(alto) > 0 && trim(pie) != "")
			alto = parseInt(alto) + 80;
			
		if (trim(ancho) != "")
		{
			pieAncho = ancho;
			ancho = parseInt(ancho) + 30;
		}
		else
		{
			pieAncho = anchoImagen;
			ancho = anchoImagen + 30;
		}		
				
		ventanaAmpliacion = window.open('about:blank','', 'height=' + alto + ', width=' + ancho + ', resizable=1, scrollbars =yes' );
		docAmpliacion = ventanaAmpliacion.document;
		docAmpliacion.write("<html><head><title>" + (document.title || titlePortal) + "</title></head><body>");
		docAmpliacion.write("<div style=\"width: " + pieAncho + "px;\">");
		docAmpliacion.write("<img src=\"" + url + "\" alt=\"" + titulo + "\">");
		
		if (trim(autor) != "")
			autor = autor + " - ";
		
		docAmpliacion.write("<div style=\"background-color: #F3F3F3; padding: 2px; font-size: 11px; font-family: Arial, Helvetica, sans-serif; font-weight: bold;\">" + autor + pie + "</div>");
		docAmpliacion.write("</div>");
		docAmpliacion.write("</body>");
		docAmpliacion.close();
		
	};
	
	imagen.src = url;
}



/*	Nueva función que realiza la petición para obtener las dos útimas noticias de cada sección
 * Recibe dos parámetros
 * url, la url a la que hacer la petición
 * idCapa, el id de la capa que contendrá el resultado
 * */
function ultimasNoticiasSeccion(url, idCapa)
{
	var t= 0;
	t++;
	new Ajax.Request(url, {   
	method: 'get',   
	encoding: 'UTF-8',
	onSuccess: function(respuesta) 
		{     
			var cadena = respuesta.responseText.toString();
			var capa = document.getElementById(idCapa);
			capa.innerHTML = cadena;
		}, 
	onFailure: function(respuesta) 
		{     				
		
		} 		
	}); 			
}


/*	Nueva función que realiza la petición para obtener lo más comentado y lo más leido como especial
 * Recibe dos parámetros
 * url, la url a la que hacer la petición
 * idCapa, el id de la capa que contendrá el resultado
 * */
function loMasEspecial(url, idCapa)
{
	var urlFinal = baseImpeEspecifico + url;
	new Ajax.Request(urlFinal, {     
	method: 'get',   
	encoding: 'UTF-8',
	onSuccess: function(respuesta) 
		{     
			var cadena = respuesta.responseText.toString();
			var capa = document.getElementById(idCapa);
			capa.innerHTML = cadena;
		}, 
	onFailure: function(respuesta) 
		{     				
		
		} 		
	}); 			
}


/*	Nueva función que realiza la petición para obtener las últimas noticias de ACN
 * Recibe dos parámetros
 * url, la url a la que hacer la petición
 * idCapa, el id de la capa que contendrá el resultado
 * */
function ultimasACN (url, idCapa)
{
	var urlFinal = baseImpeEspecifico + url;
	new Ajax.Request(urlFinal, {     
	method: 'get',   
	encoding: 'UTF-8',
	onSuccess: function(respuesta) 
		{     
			var cadena = respuesta.responseText.toString();
			var capa = document.getElementById(idCapa);
			capa.innerHTML = cadena;
		}, 
	onFailure: function(respuesta) 
		{     				
		
		} 		
	}); 			
}


InfoUsuario.prototype.getHTML = function(url, id) {
	new Ajax.Request(url, {   
			method: 'get',
			onSuccess: function(respuesta) {
				var capa = $(id);
				if (capa) { 
					capa.innerHTML = respuesta.responseText.toString();
				}
				
				var formLogin = $('frm_openid');
				if (formLogin) { 
					formLogin.onsubmit = function() {
					 	if (trim($('login_openid').value) == "")
					 	{
					 		return false;
					 	}
					 	else
					 	{
					 		return true;
					 	}
					}
					
					$('login_openid').onfocus = function() {
						this.style.width = "315px";
					}
					
					/*$('login_openid').onblur = function() {
						this.style.width = "";
					}*/
				}
				
				try {
					this.tratarFormularioComentarios();
				} catch(e) {
					// No hacemos NADA
				}
			}.bind(this),
			onFailure: function(respuesta) {
				objMensaje.creaMensaje(respuesta.responseText);
			}
	});
}

/* Proviene de: libreriaGlobal.js
 * Motivo: la ruta de la imagen de cerrar era incorrecta
 * */

mensajeAviso.prototype.creaAviso = function (idContenedor, texto, tipoAviso)
{
	var	bases_estatico = baseEstaticoEspecifico;

	var capaBloqueo = document.createElement('div');
	var body = document.getElementsByTagName('body')[0];
	capaBloqueo.id = "capaBloqueo";
	capaBloqueo.className = "estiloBloqueo";
	capaBloqueo.style.height = body.offsetHeight + "px";


	var contenedorMensajeAviso = document.createElement('div');
	contenedorMensajeAviso.className = 'contenedorMensajeAviso';
	contenedorMensajeAviso.id = 'contenedorMensajeAviso';

	var subcontenedorMensajeAviso = document.createElement('div');
	if(tipoAviso == true)
	{
		subcontenedorMensajeAviso.className = 'subcontenedorMensajeAviso';
	}
	else
	{
		subcontenedorMensajeAviso.className = 'subcontenedorMensajeAviso2';
	}
	contenedorMensajeAviso.appendChild(subcontenedorMensajeAviso);

	var xBlancaSobreFondoGris = document.createElement('div');
	xBlancaSobreFondoGris.className = 'xBlancaSobreFondoGris';
	subcontenedorMensajeAviso.appendChild(xBlancaSobreFondoGris);

	var imgCerrar = document.createElement('img');
	imgCerrar.alt = "cerrar";
	imgCerrar.className = "puntero";
	imgCerrar.src = bases_estatico + 'css/cssimg/xBlancaSobreFondoGris.gif';
	imgCerrar.onclick = function () {objMensajeAviso.closeMensajeAviso(); };	
	xBlancaSobreFondoGris.appendChild(imgCerrar);

	var contenidoMensajeAviso = document.createElement('div');
	contenidoMensajeAviso.className = 'contenidoMensajeAviso';
	subcontenedorMensajeAviso.appendChild(contenidoMensajeAviso);

	var tituloContenidoMensajeAviso = document.createElement('div');
	tituloContenidoMensajeAviso.className = 'tituloContenidoMensajeAviso';
	if(tipoAviso == true)
	{
		tituloContenidoMensajeAviso.innerHTML = 'Error';
	}
	contenidoMensajeAviso.appendChild(tituloContenidoMensajeAviso);

	var subtituloContenidoMensajeAviso = document.createElement('div');
	subtituloContenidoMensajeAviso.className = 'subtituloContenidoMensajeAviso';
	contenidoMensajeAviso.appendChild(subtituloContenidoMensajeAviso);

	var mensajeAviso = document.createElement('div');
	mensajeAviso.className = 'mensajeAviso';
	mensajeAviso.innerHTML = texto;
	contenidoMensajeAviso.appendChild(mensajeAviso);
	
	//document.getElementById(idContenedor).appendChild(contenedorMensajeAviso);
	
	
	body.appendChild(capaBloqueo);
		body.appendChild(contenedorMensajeAviso);
	
	/* cálculo de la altura versión IE*/
	if(document.all)
	{
		var posY = (document.body.scrollTop || document.documentElement.scrollTop || 0) 
			+ Math.floor(document.documentElement.clientHeight / 2) - Math.floor(contenedorMensajeAviso.offsetHeight / 2);
		var posX = Math.floor(document.body.clientWidth  / 2) - Math.floor(contenedorMensajeAviso.offsetWidth / 2) 
			- (document.body.scrollLeft || document.documentElement.scrollLeft || 0);
		
	}
	/* cálculo de la altura versión Firefox*/
	else
	{
		var posY = window.scrollY + Math.floor(window.innerHeight / 2) - Math.floor(contenedorMensajeAviso.offsetHeight / 2);
		var posX = Math.floor(window.innerWidth / 2) - Math.floor(contenedorMensajeAviso.offsetWidth / 2) - window.scrollX;
	}	
		
	posY = (posY < 0) ? 0 : posY;
	contenedorMensajeAviso.style.top = posY + "px";	
	posX = (posX < 0) ? 0 : posX;		
	contenedorMensajeAviso.style.left = posX + "px";
}

/**************************************************************************************************************************/
/****************************************************** COMENTARIOS *******************************************************/
/**************************************************************************************************************************/

function cargarHTMLComentarios(url, id_noticia, tipo) {
	
	tipo = tipo != null ? tipo : "";
	var params = { "id_noticia" : id_noticia };
	
	new Ajax.Request(url + "/listaComentarios", {   
		parameters: params,
		method: "get",
		asynchronous: false,   
		onSuccess: function(respuesta) 
		{     
			$("listaComentarios").innerHTML = respuesta.responseText;
		},
		onFailure: function(respuesta) 
		{     								
		} 		
	}); 
}



/**************************************************************************************************************************/
/****************************************************** CLASIFICADOS ******************************************************/
/**************************************************************************************************************************/

/* Nueva clase para controlar los clasificados del diari */


function clasificados () 
{}


var objClasificados = new clasificados();



/** Función para pasar en el listado de calendarios al siguiente bloque.
 * @param lineaActual: el identificador de la linea de calendarios que actualmente se está mostrando
 * @param totalCalendarios: el número total de calendarios que han pasado en el xml
 * */

clasificados.prototype.pasaCalendariosSiguientes = function (lineaActual, totalCalendarios)
{	
	// Como hay 3 calendarios por linea, dividimos el total de calendarios para saber las lineas que hay
	var totalLineas = Math.ceil(totalCalendarios / 3);
	
	// El bloque actual tiene siguiente
	if(lineaActual < totalLineas)
	{
		var idActual = "lineaCalendarios_" + lineaActual;	
		var idSiguiente = lineaActual + 1;
		idSiguiente = "lineaCalendarios_" + idSiguiente;
		
		document.getElementById(idActual).style.display = "none";
		document.getElementById(idSiguiente).style.display = "block";
	}
}

/** Función para pasar en el listado de calendarios al bloque anterior.
 * @param lineaActual: el identificador de la linea de calendarios que actualmente se está mostrando
 * @param totalCalendarios: el número total de calendarios que han pasado en el xml
 * */
clasificados.prototype.pasaCalendariosAnteriores = function (lineaActual, totalCalendarios)
{
	// Como hay 3 calendarios por linea, dividimos el total de calendarios para saber las lineas que hay
	var totalLineas = Math.ceil(totalCalendarios / 3.0);
	
	// La linea actual tiene siguiente
	if(lineaActual > 1 && lineaActual <= totalLineas )
	{
		var idActual = "lineaCalendarios_" + lineaActual;	
		var idAnterior = lineaActual - 1;
		idAnterior = "lineaCalendarios_" + idAnterior;
		
		document.getElementById(idActual).style.display = "none";
		document.getElementById(idAnterior).style.display = "block";
	}
}

/** Función que trata la información de un dia en el calendario. Si el día no está marcado para publicar un anuncio, 
 * cambia la apariencia del mismo y lo añade al input de salida. Si el día ya estaba marcado, lo elimina de la lista 
 * y le devuelve la apariencia normal
 * @param idDia, el id del dia que ha pulsado el usuario
 * @param idInputAlmacen, el id del input donde se almacenan los dias que marca el usuario
 */
clasificados.prototype.tratarDia = function (idDia, idInputAlmacen)
{
	var idDiaTratado = idDia.split("_").join("/");
	var almacen = document.getElementById(idInputAlmacen);
	
	// Si el día no estaba en el conjunto de días ya seleccionados, hay que incluirlo y cambiar su apariencia
	if (!objClasificados.buscaDia (idDiaTratado, idInputAlmacen ))
	{
		objClasificados.incluyeDia(idDiaTratado, idInputAlmacen);
		objClasificados.cambiaApariencia(idDia, 1)
	}
	// Si el día estaba en el conjunto de días ya seleccionados, hay que eliminarlo y cambiar su apariencia
	else 
	{
		objClasificados.eliminaDia(idDiaTratado, idInputAlmacen);
		objClasificados.cambiaApariencia(idDia, 2)
	}
}

/** Función que busca un dia en el input que almacena los dias seleccionados
 * @param idDiaTratado, el dia que ha pulsado el usuario
 * @param idInputAlmacen, el id del input donde se almacenan los dias que marca el usuario
 */
clasificados.prototype.buscaDia = function (idDiaTratado, idInputAlmacen) 
{
	var patron = new RegExp("(^" + idDiaTratado + ")|(," + idDiaTratado + ")", "i");
	var almacen = document.getElementById(idInputAlmacen);
	var texto = almacen.value; 
	return patron.test(texto);
}

/** Función que incluye el día indicado en el input que se utiliza como almacén.
 * @param idDiaTratado, el dia que ha pulsado el usuario
 * @param idInputAlmacen, el id del input donde se almacenan los dias que marca el usuario
 */
clasificados.prototype.incluyeDia = function (idDiaTratado, idInputAlmacen) 
{
	var almacen = document.getElementById(idInputAlmacen);
	var texto = almacen.value; 
	// Los dias siempre van a empezar por coma
	//texto = texto + ","+idDiaTratado;
	
	if (texto != "")
	{
		var listaDias = texto.split(",");
		var numDias = listaDias.size();
	}
	else
	{
		var numDias = 0;
	}
	var insertado = false;
	var i=0;
	var arrayFechaAInsertar = idDiaTratado.split("/");
	var salida = "";
	
	if (numDias == 0)
	{
		salida = idDiaTratado;
	}
	else
	{	
		while (i< numDias && !insertado)
		{
			var fechaActual = listaDias[i].split("/");		
			if (objClasificados.fechaMayor(fechaActual, arrayFechaAInsertar))
			{
				insertado = true;
				if (salida == "")
				{
					salida = idDiaTratado;
				}
				else
				{
					salida = salida + "," + idDiaTratado;
				}
			}
			else
			{
				if (salida == "")
				{
					salida = listaDias[i];
				}
				else 
				{
					salida = salida + "," + listaDias[i];
				}
				i++;	
			}
		}
		if(insertado)
		{
			for(j= i; j< numDias; j++)	
			{
				salida = salida + "," + listaDias[j];
			}
		}
		else
		{
			salida = salida + "," + idDiaTratado;
		}
	}
	almacen.value = salida;
}


/** Función que ordena los dias que hay en el almacen de dias
 * @param idInputAlmacen, el id del input donde se almacenan los dias que marca el usuario
 */
clasificados.prototype.ordenaDias = function (idInputAlmacen) 
{
	var almacen = document.getElementById(idInputAlmacen);
	var texto = almacen.value; 

	var listaDias = texto.split(",");
	var numDias = listaDias.length;
	
	for (var i = 0; i < (numDias - 2); i++ )
	{
		for(var j = i+1; j < (numDias - 1); j++ )
		{	
			var fechaActual = listaDias[i].split("/");
			var fechaSiguiente = listaDias[i+1].split("/");
			if (objClasificados.fechaMayor(fechaActual, fechaSiguiente))
			{
				var temp = listaDias[i];
				listaDias[i] = listaDias [i+1];
				listaDias[i+1] = temp;
			}
		}		
	}
	almacen.value = "";
	for (var i=0; i < numDias; i++ )
	{
		almacen.value = ", " + listaDias[i];
	}
}

/** Función que determina si la fecha parámetro 1 es mayor que la fecha parámetro 2
 * @param fechaActual, primera fecha a tratar
 * @param fechaSiguiente, segunda fecha a tratar
 */
clasificados.prototype.fechaMayor = function (fechaActual, fechaSiguiente) 
{
	
	
	
	var diaActual = parseInt(fechaActual[0],10);
	var mesActual = parseInt(fechaActual[1],10);
	var anyoActual = parseInt(fechaActual[2],10);
	var diaSiguiente = parseInt(fechaSiguiente[0],10);
	var mesSiguiente = parseInt(fechaSiguiente[1],10);
	var anyoSiguiente = parseInt(fechaSiguiente[2],10);
	
	if (anyoActual > anyoSiguiente)
	{
		return true;
	}
	else if (anyoActual < anyoSiguiente)
	{
		return false;
	}
	else
	{
		if (mesActual > mesSiguiente )
		{
			return true;
		}
		else if (mesActual < mesSiguiente )
		{
			return false;
		}
		else
		{
			if (diaActual > diaSiguiente)
			{
				return true;
			}	
			else
			{
				return false;
			}
			
		}
	}
		// si llegamos aquí es que no se ha cumplido ninguna de las condiciones, por tanto fechaActual no es mayor que fechaSiguiente	
	return false;
}


/** Función que elimina el dia indicado del input que se utiliza como almacén
 * @param idDiaTratado, el dia que ha pulsado el usuario
 * @param idInputAlmacen, el id del input donde se almacenan los dias que marca el usuario
 */
clasificados.prototype.eliminaDia = function (idDiaTratado, idInputAlmacen) 
{
	var almacen = document.getElementById(idInputAlmacen);
	var texto = almacen.value; 
	// Los dias siempre van a empezar por coma
	// POS NOOOOOO grrrrr
	var patron = new RegExp("(^" + idDiaTratado + ",?)|(," + idDiaTratado + ")", "i");
	texto = texto.replace(patron, "");
	almacen.value = texto;
}


/** Función que cambia la apariencia de un dia
 * @param idDia, el id del dia que ha pulsado el usuario
 * @param cambiarA, puede recibir dos valores [1, 2], en función del cual marcará [1] o desmarcará [2] el día
 */
clasificados.prototype.cambiaApariencia = function (idDia, cambiarA) 
{
	var dia = document.getElementById(idDia);
	var claseActual = dia.className;
	var combinacion1 = "celdaDiaActual celdaDiaEnlace";
	var combinacion2 = "celdaDiaActual";
	var combinacion3 = "celdaDiaNormal";
	var combinacion4 = "celdaDiaNormal celdaDiaEnlace";
	var combinacion5 = "celdaDiaEnlace";
	
	// Marcar el dia
	if(cambiarA == 1)
	{
		// Hay que saber si es el dia actual o un dia normal.      
		if (dia.className == combinacion2)
		{
			dia.className = combinacion1;
		}
		else
		{
			dia.className = combinacion4;
		}
	}
	// Desmarcar el dia
	else if(cambiarA == 2)
	{
		// Hay que saber si es el dia actual o un dia normal
		if (dia.className == combinacion1)
		{
			dia.className = combinacion2;
		}
		else
		{
			dia.className = combinacion3;
		}
	}
	else if(cambiarA == 3)
	{
		dia.className = combinacion5;
	}
}

/** Función que valida los formularios cuando se pulsa la flecha de siguiente
 * @param idForm, el id del formulario a validar
 */
clasificados.prototype.validadorFormulariosPorFlecha = function (idForm) 
{
	var formulario = document.getElementById(idForm);
	if(formulario) {
		if(formulario.onsubmit) {
			if (formulario.onsubmit()) {
				formulario.submit();
			}
		} else {
			formulario.submit();
		}
	}	
}



/** Función que valida los formularios
 * @param form, el formulario a validar
 */
clasificados.prototype.validadorFormularios = function (form) 
{
	var mensaje = "";
	var idForm = form.id;
	
	if(idForm == "creacionAnuncio")
	{
		var tipo = document.getElementById("tipoAnuncio").value;
		mensaje = objClasificados.vFormSeleccionAnuncio(tipo, idForm);
		if (mensaje != "")
		{
			alert(mensaje);
			return false;
		}
		else
		{
			return true;
		}
	}
	else if (idForm == "seleccionCalendario")
	{
		var tipo = document.getElementById("tipoAnuncio").value;
		mensaje = objClasificados.vFormSeleccionCalendario(idForm);
		if (mensaje != "")
		{
			alert(mensaje);
			return false;
		}
		else
		{
			return true;
		}
	}
	
	else if(idForm == "seleccionAnuncio")
	{		
		return true;
	}
	else if (idForm == "formConexionPasarela")
	{
		return true;
	}
	else if (idForm == "exportacionAnuncio")
	{
		mensaje = objClasificados.vFormExportacion(idForm);
		if (mensaje != "")
		{
			alert(mensaje);
			return false;
		}
		else
		{
			return true;
		}
	}
	else if (idForm == "formNuevosProfesionales")
	{	
		mensaje = objClasificados.vFormNuevosProfesionales(idForm);
		if (mensaje != "")
		{
			alert(mensaje);
			return false;
		}
		else
		{
			return true;
		}
	}
	else if (idForm == "exportacionAnuncio")
	{
		mensaje = objClasificados.vFormExportacion(idForm);
		if (mensaje != "")
		{
			alert(mensaje);
			return false;
		}
		else
		{
			return true;
		}
	}
	else if (idForm == "formAdminPackUsuario")
	{
		mensaje = objClasificados.vFormAdminPackUsuario(idForm);
		if (mensaje != "")
		{
			alert(mensaje);
			return false;
		}
		else
		{
			return true;
		}
	}
		else if (idForm == "resumenAnuncioPack")
	{
		return true;
	}
}

/** Función para validar el formulario de administración de packs de usuario
 * @param idForm, el id del formulario a validar.
 * @return mensaje, el mensaje con los errores si los hay, o vacio si todo ha ido bien
 */
clasificados.prototype.vFormAdminPackUsuario = function (idForm) 
{
	var mensajePrevio = "Error al validar el formulario. \n\n";
	var mensaje = "";
	if(document.getElementById("numero").value == "")
	{
		mensaje = mensaje + "- El número de packs no puede estar vacío\n";	
	}
	if(document.getElementById("numPalabras").value == "")
	{
		mensaje = mensaje + "- El número de palabras no puede estar vacío\n";	
	}
	if(document.getElementById("selectOpciones").selectedIndex != -1)
	{
		mensaje = mensaje + "- Debe seleccionar al menos una sección\n";	
	}
	if(mensaje == "")
	{
		return mensaje;
	}
	else
	{
		return (mensajePrevio + mensaje);
	}
}



/** Función para validar el formulario de nuevos profesionales
 * @param idForm, el id del formulario a validar.
 * @return mensaje, el mensaje con los errores si los hay, o vacio si todo ha ido bien
 */
clasificados.prototype.vFormNuevosProfesionales = function (idForm) 
{
	var mensajePrevio = "Error al validar el formulario. \n\n";
	var mensaje = "";
	if(document.getElementById("nombreempresa").value == "")
	{
		mensaje = mensaje + "- El nombre de la empresa no puede estar vacío\n";	
	}
	if(document.getElementById("trabajadores").value == "")
	{
		mensaje = mensaje + "- El número de trabajadores no puede estar vacío\n";	
	}
	if(document.getElementById("cp").value == "")
	{
		mensaje = mensaje + "- El código postal de estar vacío\n";	
	}	
	if(document.getElementById("nif").value == "")
	{
		mensaje = mensaje + "- El NIF/CIF no puede estar vacío\n";	
	}
	if(document.getElementById("direccion").value == "")
	{
		mensaje = mensaje + "- La dirección puede estar vacío\n";	
	}
	if(document.getElementById("poblacion").value == "")
	{
		mensaje = mensaje + "- La población no puede estar vacía\n";	
	}
	if(document.getElementById("provincia").value == "")
	{
		mensaje = mensaje + "- La provincia no puede estar vacía\n";	
	}
	if(document.getElementById("personacontacto").value == "")
	{
		mensaje = mensaje + "- La persona de contacto no puede estar vacío\n";	
	}
	if(document.getElementById("cargo").value == "")
	{
		mensaje = mensaje + "- El cargo no puede estar vacío\n";	
	}	
	
	if(mensaje == "")
	{
		return mensaje;
	}
	else
	{
		return (mensajePrevio + mensaje);
	}
}



/** Función para validar el formulario de elección de fechas para la exportación de los anuncios
 * @param idForm, el id del formulario a validar.
 * @return mensaje, el mensaje con los errores si los hay, o vacio si todo ha ido bien
 */
clasificados.prototype.vFormExportacion = function (idForm) 
{
	var mensajePrevio = "Error al validar el formulario. \n\n";
	var mensaje = "";
	if(document.getElementById("fini").value == "")
	{
		mensaje = mensaje + "- La fecha de inicio no puede estar vacío\n";	
	}
	if(document.getElementById("ffin").value == "")
	{
		mensaje = mensaje + "- la fecha de fin no puede estar vacío\n";	
	}
	/* Si el mensaje aún es vacío es que todos los datos estaban correctos y podermos pasar a valor si la fecha de inicio
	   es menor que la fecha de fin */
	if(mensaje == "" )
	{
		var fechaInicio = document.getElementById("fini").value ;
		var fechaFin = document.getElementById("ffin").value ;
		
		fechaInicio = fechaInicio.split("/");
		fechaFin = fechaFin.split("/");
		
		if (objClasificados.fechaMayor(fechaInicio, fechaFin))
		{
			mensaje = mensaje + "-La fecha de inicio no puede ser mayor que la de fin\n";
		}
	}
	if(mensaje == "")
	{
		return mensaje;
	}
	else
	{
		return (mensajePrevio + mensaje);
	}
}


/** Función para validar el formulario de elección de fechas para la publicación de los anuncios
 * @param idForm, el id del formulario a validar.
 * @return mensaje, el mensaje con los errores si los hay, o vacio si todo ha ido bien
 */
clasificados.prototype.vFormSeleccionCalendario = function (idForm) 
{
	var mensajePrevio = "Error al validar el formulario. \n\n";
	var mensaje = "";
	var contenido = document.getElementById("fechasCalendario").value;
	// 8 es el tamaño mínimo de una fecha válida. Ej: 1/1/2008
	if (contenido.length < 8) 
	{
		mensaje = "- Debe seleccionar al menos una fecha \n"
		return (mensajePrevio + mensaje);
	}
	else
		return mensaje;
}


/** Función que valida los formularios de contratación
 * @param tipo, el tipo de los datos mostrados en el formulario. Puede ser un valor de la lista [Inmobiliaria, Miscelanea, Motor, Relaciones, Servicios, Trabajo]
 * @param idForm, el id del formulario a validar
 * @return mensaje, el mensaje con los errores si los hay, o vacío si todo ha ido bien
 */
clasificados.prototype.vFormSeleccionAnuncio = function (tipo, idForm) 
{
	var mensajePrevio = "Error al validar el formulario. \n\n";
	var mensaje = "";
	
	// opciones comunes para las secciones
	
	if (document.getElementById("titulo"))
	{
		if (document.getElementById("titulo").value == "")
		{
			mensaje = mensaje + "- El título no puede estar vacío\n";
		}
	}
	if (document.getElementById("texto"))
	{
		/*if (document.getElementById("texto").value == "")
		{
			mensaje = mensaje + "- El texto del anuncio no puede estar vacío\n";
		}*/
		if(document.getElementById('numpalabras'))
		{
			var numMaxPalabras = document.getElementById('numpalabras').value;
			var palabrasConsumidas = (document.getElementById("texto").value).split(" ").length - 1; 
			if(numMaxPalabras < palabrasConsumidas)
			{
				mensaje = mensaje + "- Ha superado el número máximo de palabras. El máximo permitido es "+ numMaxPalabras+ " y usted ha usado "+ palabrasConsumidas + "\n";
			}
		}
	}	
	if (document.getElementById("pieAnuncio"))
	{
		if (document.getElementById("pieAnuncio").value == "")
		{
			mensaje = mensaje + "- El pie del anuncio no puede estar vacío\n";
		}
	}
		
	//opciones particulares de cada sección	

	if (tipo == "2") // Inmobiliaria
	{		
		if (document.getElementById("subseccion").selectedIndex == 0)
		{
			mensaje = mensaje + "- La subsección no puede estar vacía\n";
		}
		if (document.getElementById("tipovivienda").value == null)
		{
			mensaje = mensaje + "- El tipo de vivienda no puede estar vac쮜n";
		}
	}
	else if (tipo == "5") // Miscelanea
	{
		if (document.getElementById("miscelanea").value == null)
		{
			mensaje = mensaje + "- La subsección no puede estar vacía\n";
		}
	}
	else if (tipo == "1") //Motor
	{		
		if (document.getElementById("operacion").value == null)
		{
			mensaje = mensaje + "- El tipo de operaci򬟮o puede estar vac쮜n";
		}
		if (document.getElementById("tipoVehiculo").value == null)
		{
			mensaje = mensaje + "- El tipo de veh좵lo no puede estar vac쮜n";
		}
	}
	else if (tipo == "6") // Relaciones
	{
		if (document.getElementById("relaciones").value == null)
		{
			mensaje = mensaje + "- La subsección no puede estar vacía\n";
		}
	}
	else if (tipo == "4") // Servicios
	{
		if (document.getElementById("subseccion").selectedIndex == 0)
		{
			mensaje = mensaje + "- La subsección no puede estar vacía\n";
		}
		if (document.getElementById("categoria").value == null)
		{
			mensaje = mensaje + "- La categor쟠no puede estar vac제n";
		}
	}
	else if (tipo == "3") // Trabajo
	{
		if (document.getElementById("subseccion").selectedIndex == 0)
		{
			mensaje = mensaje + "- La subsección no puede estar vacía\n";
		}
		if (document.getElementById("ambito").value == null)
		{
			mensaje = mensaje + "- El ଢito no puede estar vac쮜n";
		}
	}
	
	if(mensaje == "")
	{
		return mensaje;
	}
	else
	{
		return (mensajePrevio + mensaje);
	}
}



/** Función para cargar el select relacionado de Trabajo
 * @param idSelect, el id del select de vivienda
 * @param idRelacionado, el id del select relacionado
 */
clasificados.prototype.cargarRelacionadoTrabajo = function (idSelect, idRelacionado) 
{	
	objClasificados.borrarOptionsSelect(idRelacionado);
	var subseccion = document.getElementById(idSelect);			
	objClasificados.rellenaOptionsSelect(idRelacionado, subseccion.value, comboTrabajo)
	var vivienda = document.getElementById(idRelacionado); 
	if (subseccion.value == "") {
		vivienda.disabled = true;
	} else {
		vivienda.disabled = false;
	}		
}



/** Función para cargar el select relacionado de servicios
 * @param idSelect, el id del select de vivienda
 * @param idRelacionado, el id del select relacionado
 */
clasificados.prototype.cargarRelacionadoServicios = function (idSelect, idRelacionado) 
{	
	objClasificados.borrarOptionsSelect(idRelacionado);
	var subseccion = document.getElementById(idSelect);			
	objClasificados.rellenaOptionsSelect(idRelacionado, subseccion.value, comboServicios)
	var vivienda = document.getElementById(idRelacionado); 
	if (subseccion.value == "") {
		vivienda.disabled = true;
	} else {
		vivienda.disabled = false;
	}		
}



/** Función para cargar el select relacionado de vivienda
 * @param idSelect, el id del select de vivienda
 * @param idRelacionado, el id del select relacionado
 */
clasificados.prototype.cargarRelacionadoVivienda = function (idSelect, idRelacionado) 
{	
	objClasificados.borrarOptionsSelect(idRelacionado);
	var subseccion = document.getElementById(idSelect);			
	objClasificados.rellenaOptionsSelect(idRelacionado, subseccion.value, comboTipoVivienda)
	var vivienda = document.getElementById(idRelacionado); 
	if (subseccion.value == "") {
		vivienda.disabled = true;
	} else {
		vivienda.disabled = false;
	}		
}


/** Función para borrar las opciones de un select
 * @param idSelect, el id del select
 */		
clasificados.prototype.borrarOptionsSelect = function (idSelect)
{
	var seleccion = document.getElementById(idSelect);
	var i = 0;
	var numOptions = seleccion.options.length;
	while (i < numOptions)
	{					
		seleccion.options[0] = null;
		i++;
	}
	var fin = "";
}
		
/** Función para cargar las opciones de un select relacionado en función del principal
 * @param idSelect, el id del select principal
 * @param idRelacionado, el id del select relacionado
 * @param mapa, un mapa con las opciones que deben cargarse
 */		
clasificados.prototype.rellenaOptionsSelect = function(idSelect, idRelacionado, mapa)
{
	var seleccion = document.getElementById(idSelect);
	var longitud = seleccion.options.length;
	var indice = 0;
	
	if (idRelacionado != -1)
	{
		var elementoRelacionados = mapa[idRelacionado].secundarias;
		var i= 0;
		var lon = elementoRelacionados.length;
		
		while (i < lon)
		{
			var aux1 = elementoRelacionados[i].value;
			var aux2 = elementoRelacionados[i].nombre;				
			if(elementoRelacionados[i].seleccionado == "si")
			{
				indice = aux1;
			}			
			var opt = new Option(aux2, aux1);
			seleccion.options[seleccion.options.length] = opt;
			i++;
		}
		seleccion.value = indice;
	}
}





/**************************************************************************************************************************/
/****************************************************** FORMULARIO GENERICO ***********************************************/
/**************************************************************************************************************************/



/* Nueva clase para controlar el formulario generico */


function formGenerico () 
{}


var objFormGenerico = new formGenerico();



/** Función para cargar el select relacionado de vivienda
 * @param idSelect, el id del select de vivienda
 * @param idRelacionado, el id del select relacionado
 * @param comboElementos, el combo con todos los elementos relacionados
 */
formGenerico.prototype.cargarRelacionado = function (idSelect, idRelacionado, comboElementos) 
{	
	objFormGenerico.borrarOptionsSelect(idRelacionado);
	var subseccion = document.getElementById(idSelect);			
	objFormGenerico.rellenaOptionsSelect(idRelacionado, subseccion.value, comboElementos)
	var vivienda = document.getElementById(idRelacionado); 
	if (subseccion.value == "") {
		vivienda.disabled = true;
	} else {
		vivienda.disabled = false;
	}		
}


/** Función para borrar las opciones de un select
 * @param idSelect, el id del select
 */		
formGenerico.prototype.borrarOptionsSelect = function (idSelect)
{
	var seleccion = document.getElementById(idSelect);
	var i = 0;
	var numOptions = seleccion.options.length;
	while (i < numOptions)
	{					
		seleccion.options[0] = null;
		i++;
	}
	var fin = "";
}
		
/** Función para cargar las opciones de un select relacionado en función del principal
 * @param idSelect, el id del select principal
 * @param idRelacionado, el id del select relacionado
 * @param mapa, un mapa con las opciones que deben cargarse
 */		
formGenerico.prototype.rellenaOptionsSelect = function(idSelect, idRelacionado, mapa)
{
	var seleccion = document.getElementById(idSelect);
	var longitud = seleccion.options.length;
	
	if (idRelacionado != "")
	{
		var elementoRelacionados = mapa[idRelacionado].secundarias;
		var i= 0;
		var indice= 0;
		var lon = elementoRelacionados.length;
		
		while (i < lon)
		{
			var aux1 = elementoRelacionados[i].value;
			var aux2 = elementoRelacionados[i].nombre;		
			if(elementoRelacionados[i].seleccionado == "si")
			{
				indice = aux1;
			}			
			var opt = new Option(aux2, aux1);
			seleccion.options[seleccion.options.length] = opt;
			i++;
		}
		seleccion.value = indice;
	}
}

