/********
 * GAAS
 ********/

/**
 * Reemplaza el captcha dado el id del mismo y la ruta
 * @param rutaCaptcha
 * @param id
 */
function reemplazarCaptcha(rutaCaptcha, id) {
	var imagen = $(id);
	var rnd = new Date().getTime();
	imagen.src = rutaCaptcha + "?" + rnd;
	return true;
}

/**
 * Limpia las posibles barras dobles de una url
 * @param url
 * @returns
 */
function limpiarBarrasUrl(url) {
	url = url.replace(/\:\/\//g, "··").replace(/\/\//g, "/").replace(/··/g, "://");
	return url;
}

/**
 * Fuerza a que la longitud de un campo sea de una longitud determinada
 * @param o Objeto
 * @param ml Longitud máxima
 */
function forzarMaxLength(o, ml) {
  return (o.value.length <= ml);
}

/**
 * Conmprueba que una dirección de correo electrónico esté bien formada y no vacia
 * @param email
 * @returns {Boolean}
 */
function comprobarEmail(email) {
	var tEmail = email.strip();
	var er_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	return (tEmail != "" && er_email.test(tEmail) == true);
}

/**
 * Abre en una ventana la ampliación de la imagen de una noticia
 */
function abrirAmpliacion(url, titulo, tituloPagina, 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 (alto.strip() != "") {
			alto = parseInt(alto) + 20;
		} else {
			alto = altoImagen + 20;
		}
			
		if (parseInt(alto) > 0 && pie.strip() != "") {
			alto = parseInt(alto) + 80;
		}
			
		if (ancho.strip() != "") {
			pieAncho = ancho;
			ancho = parseInt(ancho) + 30;
		} else {
			pieAncho = anchoImagen;
			ancho = anchoImagen + 30;
		}		
				
		ventanaAmpliacion = window.open('about:blank','', 'height=' + alto + ', width=' + ancho + ',resizable=1,scrollbars=1');
		docAmpliacion = ventanaAmpliacion.document;
		docAmpliacion.write("<html><head><title>" + tituloPagina + "</title></head><body>");
		docAmpliacion.write("<div style=\"width: " + pieAncho + "px;\">");
		docAmpliacion.write("<img src=\"" + url + "\" alt=\"" + titulo + "\">");
		
		if (autor.strip() != "")
			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;
}

/**
 * oMensaje
 */
var oMensaje = {
	info : function(texto) {
		alert(texto);
	},
	
	error : function(texto) {
		alert(texto);
	}
}

/**
 * objEnviarNoticia
 */
var objEnviarNoticia = {
	comprobarFormulario : function() {
		var mensaje = "";
		
		if ($("tuNombre").value.strip() == "") {
			mensaje += "- Su nombre no puede ser vacio\n";
		}
		
		if (!comprobarEmail($("tuCorreo").value)) {
			mensaje += "- Su correo no puede ser vacio y, además, debe ser correcto\n";
		}
		
		if ($("destino").value.strip() == "") {
			mensaje += "- Debe escribir al menos un destinatario\n";
		} else {
			var aDestinos = $("destino").value.strip().replace(/;$/, "").split(";");
			var direccionesCorrectas = true;
			
			for (var i=0; i<aDestinos.length && direccionesCorrectas; i++) {
				direccionesCorrectas = comprobarEmail(aDestinos[i]);
			}
			
			if (!direccionesCorrectas) {
				mensaje += "- Las direcciones de destino deben ser correctas\n";
			}
		}
		
		if ($("asunto").value.strip() == "") {
			mensaje += "- El asunto no puede ser vacio\n";
		}
		
		if ($("codigo").value == "") {
			mensaje += "- De escribir el código que aparece en la imagen\n";
		}
		
		if (mensaje != "") {
			oMensaje.info("Se han encontrado los siguientes errores:\n" + mensaje);
			return false;
		}
		
		// Si llegamos hasta aquí es que todo es correcto
		return true;
	},
	
	enviar : function(url, parametros) {
		
		var _this = this;
		
		new Ajax.Request(url, {
			parameters : parametros,
			method: "get",   
			onSuccess: function(respuesta) {     
				var cadena = respuesta.responseText.toString().strip();
				var m = cadena.match(/\<error\>(.*?)\<\/error\>/g);
				
				if (m != null && typeof m[1] != "undefined") {
					var mensajeError = "";
					
					for (var j=1; j<m.length; j++) {
						mensajeError += m[j].replace(/\<\/?error\>/g, "") + "\n";
					}
					
					oMensaje.error("Han ocurrido errores:\n\n" + mensajeError);
					return false;
				}
				
				
				if (typeof parametros.retorno == "undefined" || parametros.retorno == "") {
					oMensaje.info("La noticia ha sido enviada\nMuchas gracias por el uso del servicio");
					_this.limpiarFormulario();
					document.location.href = parametros.ruta; // Volvemos a la noticia
				} else {
					document.location.href = parametros.retorno; // Vamos a la página marcada como de retorno
				}
				
				return true;
			},
			
			onFailure: function(respuesta) {     			
				oMensaje.error(respuesta.responseText.toString().strip());
				var urlCaptcha = limpiarBarrasUrl(window.bases.impe + "/captcha");
				reemplazarCaptcha(urlCaptcha, "captcha");
				return false;
			}
		});
	},
	
	/**
	 * Limpia el formulario de envio de noticia
	 */
	limpiarFormulario : function() {
		$("tuNombre").value = "";
		$("tuCorreo").value = "";
		$("destino").value = "";
		$("asunto").value = "";
		$("comentario").value = "";
		$("enviarAMi").value = "";
		$("codigo").value = "";
		
		// Reemplazamos el captcha
		var urlCaptcha = limpiarBarrasUrl(window.bases.impe + "/captcha");
		reemplazarCaptcha(urlCaptcha, "captcha");
	}
}

/**
 * objListaGalerias
 */
var objListaGalerias = {
	/**
	 * Función que realiza el efecto asociado al over de capa galeria en la lista de galerias
	 * @param idCapa El id de la capa de transparencia asociada a la galeria
	 */
	efectoOver : function(idCapa) {
		var capa = $(idCapa);
		capa.addClassName("contenedorElemLG").addClassName("sinOpacidadLG");
	},
	
	/**
	 * Función que realiza el efecto asociado al out de capa galeria en la lista de galerias.
	 * @param idCapa El id de la capa de transparencia asociada a la galeria
	 */
	efectoOut : function(idCapa) {
		var capa = $(idCapa);
		capa.addClassName("contenedorElemLG").addClassName("opacidadLG");
	},
	
	/**
	 * Función que realiza el efecto asociado al over del tooltip en la lista de galerias.
 	 * @param idImg El id de la capa que contiene a la imagen asociada
	 * @param texto El texto que saldrá en el tooltip
	 */
	tooltipOver : function(idImg, texto) {
		var capa = new Element("div");		
		capa.addClassName("capaTooltip").addClassName("tooltip_LFS");
		capa.id = "capaTooltip";		
		var zonaTexto = new Element("div");
		zonaTexto.update(texto);		
		capa.insert(zonaTexto);
		$(idImg).getOffsetParent().insert(capa);
	},
	
	/**
	 * Función que realiza el efecto asociado al out del tooltip en la lista de galerias.
	 * @param idImg El id de la capa que contiene a la imagen asociada
	 */
	tooltipOut : function(idImg) {
		var capa = $("capaTooltip");
		if(capa) {
			capa.remove(); // Eliminamos la capa
		}
	},
	
	/**
	 * Función que actualiza los thumbnails que hay en cada página del listado
	 * de galerias cuando se cambia de página.
	 * @param url La url a la que se realiza la petición ajax de la nueva página
	 * @param Los parámetros de la petición
	 * @param obj
	 * @param resetSelect Booleano que nos dice si debemos resetear el campo select o no
	 */
	actualizarPag : function(url, param, obj, resetSelect) {
		
		var contenedor = null;
		
		if ($("contenedorLG")) {
			contenedor = $("contenedorLG");
		} else if ($("loMas_video")) {
			contenedor = $("loMas_video");
		} else if ($("loMas_galeria")) {
			contenedor = $("loMas_galeria");
		}

		new Ajax.Request(url, { // Realizamos la petición   
			parameters: param,
			asynchronous: false,
			method: "get",   
			onSuccess: function(respuesta) {
				var respuesta = respuesta.responseText.strip();
				
				if (respuesta != "") {
					contenedor.update(respuesta);
					
					if (typeof resetSelect != "undefined" && resetSelect == true) {
						$("selectSeccionLG").value = ""; // Reseteamos el select
					}
				
					if (typeof obj != "undefined" && obj != null) {
						obj.up("div", 1).select("a").each(function(e) {
							e.removeClassName("actual");
						});
						obj.addClassName("actual");
					}
				}
			}
		});
	}
}

/**
 * Comentarios
 */
Comentarios = {
		
	opaca : function (altura, anchura) {
		var opaca = new Element("div", { id : "capaOpaca" });
		opaca.addClassName("opacidad");
		
		opaca.onclick = function() {
			this.remove(); // Eliminamos la capa opaca
		}
		opaca.setStyle({ // Tenemos en cuenta el padding
			height : (altura - 10 - 10) + "px",
			width : (anchura - 10 - 10) + "px"
		});

		return opaca;
	},
	
	setTextoOpaca : function(capa, mensaje) {	
		var texto = new Element("div");
		var cerrar  = new Element("div").addClassName("cerrar");
		cerrar.update("[Pulse para Cerrar]");
		texto.update(mensaje);

		capa.insert(texto);
		capa.insert(cerrar);
	},
		
	votar : function(url, tipo, idComentario, voto) {
		
		var _idComentario = idComentario.replace(/^c/, "");
		var _tipo = tipo;
		var _url = url;
		
		var p = {
			tipo : tipo,
			idComentario : _idComentario,
			valorVoto : voto
		};
		
		new Ajax.Request(url, {
			parameters : p,
			method : "get",
			onSuccess : function(respuesta) {
				var html = respuesta.responseText;
				var m = html.match(/\<error\>(.*?)\<\/error\>/);
				
				if (m != null && typeof m[1] != "undefined") {
					oMensaje.error("Ha ocurrido un error:\n\n" + m[1]);
					return false;
				}
				
				
				var idLi = "comentario_c" + _idComentario;
				$(idLi).update(html);
				
				// Activamos los eventos para el códifo recién insertado
				$$("#" + idLi + " .infoComentario .votosComentario a").each(function(a) {
					var voto = a.hasClassName("cok") ? "positivo" : "negativo";
					var idComentario = _idComentario;
					var tipo = _tipo;
					
					a.onclick = function() {
						Comentarios.votar(_url, tipo, idComentario, voto);
						return false;
					}
				});
				
				return true;
				
			},
			onError : function() {
				oMensaje.error("No se pudo enviar el voto.");
			}
		});
	},
	
	/**
	 * Comprueba el formulario de envio de comentarios
	 */
	comprobarFormulario : function(nombre, email, comentario, codigo) {
		
		var mensaje = "";
		var resultado = true;
		
		if ($("nombre_") != null && nombre.strip() == "")	{
			mensaje += "- Nombre del comentador<br />";
			resultado = false;
		}
		
		if ($("email") != null && email.strip() == "") {
			mensaje += "- E-mail del comentador<br />";
			resultado = false;
		}	
		
		if($("email") != null && !comprobarEmail(email)) {
			mensaje += "- Dirección de correo mal formada. Debe ser de la forma usuario@servidor.com <br />";
			resultado = false;
		}
		
		if ($("comentario").value.strip() == "") {
			mensaje += "- Texto en el comentario<br />";
			resultado = false;
		}
		
		if ($("codigo") != null && codigo.strip() == "") {
			mensaje += "- Código de verificación<br />";
			resultado = false;
		}
		
		return { resultado : resultado, mensaje : mensaje };
	},
	
	/**
	 * Envía un comentario mediante ajax
	 */
	enviar : function(url, rutaCaptcha, tipoNoticia) {
		
		var _this = this;
		
		var comentarioCorrecto = "Gracias por su comentario.";
		var comentarioIncorrecto = "Se ha producido un error al enviar su comentario.";
		
		document.body.style.cursor = "wait"; 
		var capaComentarios = $("listaComentarios");
		
		var capaNombre = $("nombre_"); // Nombre de la persona que envía el comentario
		var capaEmail =  $("email"); // Email de la persona que envía el comentario
		var capaComentario =  $("comentario"); // Texto del comentario
		var capaCodigo =  $("codigo"); // CAPTCHA
		var capaIdNoticia = $("id_noticia"); // Capa con el ID de la noticia para insertar el comentario
		var capaTitulo = $("titulo_comentarios");
		var capaFormulario = $("caja_comentario_usuarios");

		var nombre = "";
		if(capaNombre != null) { // A los usuarios autenticados no se le muestra esta capa
			nombre = capaNombre.value.strip();
		}
		
		var email = "";
		if(capaEmail != null) {	// A los usuarios autenticados no se le muestra esta capa
			email = capaEmail.value.strip();
		}
		
		var comentario = capaComentario.value;
		
		var codigo = "";
		if(capaCodigo != null) { // A los usuarios autenticados no se le muestra esta capa
			codigo = capaCodigo.value;
		}			
		
		var idNoticia =  capaIdNoticia.value; // Nos quedamos con el id de la noticia
		var titulo = "";
		if(capaTitulo != null) {
			titulo = capaTitulo.innerHTML;
		}
		var tipo = tipoNoticia;
		var mensaje = "Los comentarios deben tener:<br />"
		var altura = capaFormulario.getHeight();
		var anchura = capaFormulario.getWidth();
		var opaca = _this.opaca(altura, anchura);

		var rComprobacion = _this.comprobarFormulario(nombre, email, comentario, codigo);
		
		if(!rComprobacion.resultado) { // El formulario no ha podido ser validado
			reemplazarCaptcha(rutaCaptcha, "captchaComentario");
			_this.setTextoOpaca(opaca, rComprobacion.mensaje) // Inserta un texto en la capa opaca
			capaFormulario.insert(opaca); // Inserta la capa opaca en el formulario
			document.body.style.cursor = "default"; 
		} else { // El formulario ha sido validado
			var params = {
					comentario : comentario,
					id_noticia : idNoticia,
					tipo : tipo
			};
			
			if(nombre.strip() != "") { // Existe nombre (usuario no registrado)
				params["nombre"] = encodeURIComponent(nombre);
			}
			
			if(email.strip() != "") { // Existe email (usuario no registrado)
				params["email"] = email;
			}
			
			if(codigo.strip() != "") { // Existe CAPTCHA (usuario no registrado)
				params["codigo"] = codigo;
			}
			
			new Ajax.Request(url, {
				parameters: params,
				method: "post",   
				encoding: "UTF-8",
				asynchronous : false,
				onSuccess: function(respuesta) {     
					var cadena = respuesta.responseText.toString();
					cadena = cadena.strip();
					var m = cadena.match(/\<error\>(.*?)\<\/error\>/)					
					if (m != null) {												
						_this.setTextoOpaca(opaca, m[1]);
						capaFormulario.insert(opaca);
						document.body.style.cursor = "default"; 
					} else {													
						$("listaComentarios").update(cadena);
						$("id_noticia").value = idNoticia;
						document.body.style.cursor = "default";			
						_this.setTextoOpaca(opaca, comentarioCorrecto, true);
						capaFormulario.insert(opaca);
					}
					
					// El captcha hay que reemplazarlo siempre
					var eCodigo = $("codigo");
					if(eCodigo != null) {
						eCodigo.value = "";
					}
					
					$("formComentario").reset();
					
					var eCaptchaComentario = $("captchaComentario");
					if(eCaptchaComentario != null) {
						reemplazarCaptcha(rutaCaptcha, "captchaComentario");
					}
				}, 
				onFailure: function(respuesta) {     				
					capaIdNoticia.value = idNoticia;
					/*limpio sólo el campo del código de verificación*/
					capaCodigo.innerHTML = "";
					var mensajeError = respuesta.responseText.toString();
					document.body.style.cursor = "default"; 
					setTextoOpaca(opaca, mensajeError)
					capaFormulario.insert(opaca);
					var eCodigo = $("codigo");
					if(!!eCodigo) {
						eCodigo.value = "";
					}
					var eCaptchaComentario = $("captchaComentario");
					if(!!eCaptchaComentario) {
						reemplazarCaptcha(rutaCaptcha, "captchaComentario");
					}
				} 		
			}); 
				
			document.body.style.cursor = "default";
		}
	}
}

/**
 * oVideoGaleria
 */
var oVideoGaleria = {
	
	cambiarActiva : function (idSolapaActivar, url, param, resetSelect) {
		var _this = this;
		
		var idOpaca = opaca.set("contenedorVideos");
		
		new Ajax.Request(url, {   
			parameters: param,
			method: "get",   
			onSuccess: function(respuesta) {     
				var contenedor = $("loMas_video");
				contenedor.update(respuesta.responseText);
				if(idSolapaActivar != "") {
					_this.desactivarClasesMenu();		
					$(idSolapaActivar).addClassName("actual");									
				}
				if (resetSelect) { // Reseteamos el select
					$("seccionV").value = "";
				}
				
				var videoActual = $("vc_" + window.videoActualId);
				if (videoActual != null) {
					videoActual.addClassName("videoActualVD");
				}
				
				opaca.unset(idOpaca);
			}		
		});
		
		return false;
	},
	
	/**
	 * Función que desactiva las clases del menú
	 */
	desactivarClasesMenu : function () {
		$("enlaceUltimosV") ? $("enlaceUltimosV").className = "" : null;
		$("enlaceMasVistosV") ? $("enlaceMasVistosV").className = "" : null;
		$("enlaceTodosV") ? $("enlaceTodosV").className = "" : null;
	}
}

/**
 * objVotacionArticulo
 */
var objVotacionArticulo = {
	votaArticulo : function (idNoticia, valorVoto, url) {
		
		var parametros = {
			idNoticia : idNoticia,
			valorVoto : valorVoto
		}
		
		new Ajax.Request(url, {   
			parameters: parametros,
			asynchronous: true,
			method: "get",   
			onSuccess: function(respuesta) {     
				var cadena = respuesta.responseText;
				cadena = cadena.strip();
				var m = cadena.match(/\<error\>(.*?)\<\/error\>/)		
							
				if (m != null) {												
					oMensaje.error(m[1]);
					return;
				} else {				
					var info = cadena.evalJSON(false);			
					oMensaje.info("Su voto se ha contabilizado con éxito");
					var valoraciones = info.valoraciones + " Votos";
					var valoracion = Math.round(info.valoracion);
					
					$("numero-votos").update(valoraciones);
					$("cuadrados").setStyle({
						"backgroundPosition" : "0px -" + (valoracion * 9) + "px"
					})
				}
			},
			
			onFailure: function(respuesta) {     				
				oMensaje.error("Su votación no pudo realizarse");
			}	
		});
	}
}

/**
 * Objeto que contiene los métodos para colocar capas semitransparentes
 */
var opaca = {
	set : function(id) {
		var capa = $(id);
		capa.style.position = "relative";
		var r = (Math.random() + "").replace(/^0\./, "");
		var h = capa.getHeight();
		var w = capa.getWidth();
		var i = new Image();
		
		i.onload = function() {
			var capaOpaca = new Element("div", {
				id : "opaca_" + r
			});
			
			capaOpaca.style.backgroundColor = "#fff";
			capaOpaca.style.position = "absolute";
			capaOpaca.style.top = "0";
			capaOpaca.style.left = "0";
			capaOpaca.style.width = w + "px";
			capaOpaca.style.height = h + "px";
			capaOpaca.style.opacity = "0.6";
			capaOpaca.style.filter = "alpha(opacity=60)";
			
			i.id = "imagenCarga_" + r;
			i.style.position = "absolute";
			i.style.width = "32px";
			i.style.height = "32px";
			i.style.top = h >= 200 ? 100 + "px" : (h / 2 - i.height / 2) + "px";
			i.style.left = (w / 2 - i.width / 2) + "px";
			i.style.zIndex = "1000";
			
			capa.insert(capaOpaca);
			capa.insert(i);
		}
		
		i.src = window.bases.estatico + "css/plantilla-" + window.PLANTILLA + "/cssimg/ajaxLoader.gif";
		
		return { capa : id, imagen : "imagenCarga_" + r, opaca : "opaca_" + r};
	},
	
	unset : function(o) {
		$(o.opaca).remove(); // Eliminamos la capa opaca
		$(o.imagen).remove(); // Eliminamos la imagen de progreso
		$(o.capa).style.position = "";
	}
}

/**
 * objBuscadorPag
 */
var objBuscadorPag = {
	/**
	 * Función que devuelve una página de resultados del buscador
	 * @param url
	 * @param parametros 
	 */
	getPagina : function (url, parametros) {
		var contenedor = $("contenedorResultadosBuscador");
		
		var o = opaca.set("contenedorResultadosBuscador");
		
		if (contenedor != null) {
			new Ajax.Request(url, {   
				parameters: parametros,
				method: "get",   
				onSuccess: function(respuesta) {     
					contenedor.innerHTML = respuesta.responseText;
					opaca.unset(o);
				}	
			});
		}
	},
	
	/**
	 * Comprueba que f1 sea meno o igual a f2
	 */
	compruebaFechas : function(f1,f2) {
		// Si los campos están a "disabled" no hacemos nada
		if (f1.disabled && f2.disabled) {
			return true;
		}

		var af1 = f1.value.split("/");
		var af2 = f2.value.split("/");
		
		var df1 = new Date(af1[2], af1[1], af1[0]);
		var df2 = new Date(af2[2], af2[1], af2[0]);
		
		if (df1.getTime() > df2.getTime()) {
			oMensaje.error("La fecha del campo 'Hasta' debe ser igual o superior a la fecha del campo 'Desde'.");
			return false;
		}
		
		return true;
	}
}

/********************************** OBJINFOUSUARIO **********************************/
objInfoUsuario = {
	getHTML : function(url, urlLogin, canalLogout) {
		var _this = this;
		var resultado;
		new Ajax.Request(url, {   
			method: "get",
			asynchronous: false,
			onSuccess: function(respuesta) {
				var oUsuario = respuesta.responseText.strip().evalJSON();
				var autenticado = (oUsuario.autenticado == "si");
				var urlLogout = oUsuario.logout + "?canal=" + canalLogout;
				
				if (autenticado) {
					oUsuario["autenticado"] = autenticado;
					oUsuario["logout"] = oUsuario.logout + "?canal=" + canalLogout;
					
					resultado = oUsuario;
					
					// Si existe la capa de datos comentarios la ponemos invisible y damos un valor a los campos email y nombre
					// para que no falle la comprobación de datos
					if ($("datosComentarios") != null) {
						$("datosComentarios").className = "autenticadoComentario";
						$("nombre_").value="X"; // Nombre no válido para evitar fallo en la comprobación
						$("email").value="X@X.XX"; // Email no válido para evitar fallo en la comprobación
					} else {
						$("datosComentarios").className = "noAutenticadoComentario";
						$("nombre_").value="";
						$("email").value="";
					}
					
				} else {
					resultado = null;
				}
			}
		});
		
		return resultado;
	},
	
	estaAutenticado : function() {
		var _this = this;
		var url = limpiarBarrasUrl(window.bases.impe + "/usuarioTop")
		var oUsuario = _this.getHTML(url);
		
		if (oUsuario != null) {
			return (oUsuario["autenticado"] == true);
		} else {
			return false;
		}
	}
}

/**
 * Sirve para poder cambiar las tipografías de tamaño cuando nos encontramos en el detalle de una noticia
 */
var objFuenteLetras = {	
	init : function() {
		this.unidades = "px";
		this.original = 12;
		this.originalLH = this.original + 2;
		this.actual = 12;
		this.actualLH = this.actual + 2;
		
		try {
			$("zonaAmpliarTexto1").style.fontSize = "";
			$("zonaAmpliarTexto2").style.fontSize = "";
		} catch (e) {}
	},
	
	/**
	 *  Función que aumenta la fuente de la letra en todo el contenedor
	 */
	aumentarFuente : function () {
		this.actual++;
		this.actualLH++;
		$("zonaAmpliarTexto1").style.fontSize = this.actual + this.unidades;
		$("zonaAmpliarTexto1").style.lineHeight = this.actualLH + this.unidades;
		
		if ($("zonaAmpliarTexto2")) {
			$("zonaAmpliarTexto2").style.fontSize = this.actual + this.unidades;
			$("zonaAmpliarTexto2").style.lineHeight = this.actualLH + this.unidades;
		}
	},
	
	/**
	 * Función que reduce la fuente de la letra en todo el contenedor
	 */
	reducirFuente : function () {
		this.actual--;
		this.actualLH--;
		$("zonaAmpliarTexto1").style.fontSize = this.actual + this.unidades;
		$("zonaAmpliarTexto1").style.lineHeight = this.actualLH + this.unidades;
		
		if ($("zonaAmpliarTexto2")) {
			$("zonaAmpliarTexto2").style.fontSize = this.actual + this.unidades;
			$("zonaAmpliarTexto2").style.lineHeight = this.actualLH + this.unidades;
		}
	},
	
	/**
	 * Pone el contenedor al tamaño original
	 */
	fuenteOriginal : function () {
		this.actual = this.original;
		this.actualLG = this.originalLH
		$("zonaAmpliarTexto1").style.fontSize = this.actual + this.unidades;
		$("zonaAmpliarTexto1").style.lineHeight = this.actualLH + this.unidades;
		
		if ($("zonaAmpliarTexto2")) {
			$("zonaAmpliarTexto2").style.fontSize = this.actual + this.unidades;
			$("zonaAmpliarTexto2").style.lineHeight = this.actualLH + this.unidades;
		}
	}
}

/**
 * Abre el reproductor para las plantillas de vídeo dado el ID del mismo
 * @param idVideo ID del reproductor
 */
function abrirReproductor(idVideo) {
	$(idVideo).up("div.pVideo-contenedor").childElements().each(function(e) {
		var id = e.readAttribute("id");
		id = id != null ? id : "";
		
		if (id != idVideo) {
			e.hide(); // Eliminamos el elemento
		} else {
			window.videosEnPortadaActivos++;
			e.show(); // Mostramos el objeto flash
		}
	});
}

/**
 * Función callback que se llama cuando se pulsa el stop en un reproductor de vídeo (de las plantillas de vídeo) si éste así lo tiene configurado
 * @param id
 */
function cierraReproductor(id) {
	var idContenedorVideo = "video_" + id;
	var contenedorVideo = $(idContenedorVideo);
	var contenedor = contenedorVideo.up(".pVideo-contenedor");
	
	contenedor.childElements().each(function(e) {
		var id = e.readAttribute("id");
		id = id != null ? id : "";
		if (id != idContenedorVideo) {
			e.show(); // Mostramos todo lo que no sea el reproductor de vídeo
		} else {
			window.videosEnPortadaActivos--;
			e.hide(); // Ocultamos el reproductor de vídeo
		}
	});
}
