﻿
	// JavaScript Document
	// Funciones Front-End
	//////////////////////
	var dominio=dameDominio();
	
	/////////////////
	// Comentarios //
	/////////////////

	function cargaComentarios()
	{
		// Realizamos consulta de comentarios
		// Realizamos petición al servidor de los comentarios publicados
		var idNot=$fw("idNot","");
		
		/*
		var x=new peticionAjax("post", dominio+"front-end.php", "false", parametros, "false", "auto", muestraComment);
		x.peticion();
		// Si se trata de un navegador Mozilla o Netscape es necesaria esta línea
		if (x.respuesta())
		{
			muestraComment(x.respuesta());
		}*/
		var parametros="comentario=consulta&idNot="+idNot;
		var arxiu=dominio+"front-end.php";
		$.ajax({url: arxiu,
				data:parametros,
				type: 'post',
				error: function(a,b,c) { alert('error '+a+' '+b+' '+c); },
				success: function(dat) {muestraComment(dat); }							
				});
	}
	function muestraComment(json)
	{
		// Mostramos comentarios
		var objJson=eval(json);
		if (json!=false)
		{
			// Obtenemos el número de filas de la consulta
			var filas=objJson.json_comentarios._y;
			// Generamos el código que mostrará las categorias
			var codigo="";
			if (filas>0)
			{
				// Existen comentarios
				for (i=0; i<filas; i++)
				{
					var alias=objJson.json_comentarios.alias[i];
					var fecha=objJson.json_comentarios.fecha[i];
					// Cambiamos formato de fecha
					var dia=fecha.substr(8,2);
					var mes=fecha.substr(5,2);
					var ano=fecha.substr(0,4);
					var fecha2=dia+'-'+mes+'-'+ano;
					//
					var hora=objJson.json_comentarios.hora[i];
					var texto=objJson.json_comentarios.texto[i];	
					var localidad=objJson.json_comentarios.localidad[i];
					var pais=objJson.json_comentarios.pais[i];
					var codigo=codigo+'<div class="comment"><div class="usrCom">'+alias+'</div><div class="fechaCom"><b>Fecha: </b>'+fecha2+'</div><div class="horaCom"><b>Hora: </b>'+hora+'</div><div class="localidadCom"><b>Localidad: </b>'+localidad+'</div><div class="paisCom"><b>País: </b>'+pais+'</div><div class="textoCom">'+texto+'</div></div>';
				}
				// mostramos resultado
				var resultado=$fw("lisComentarios",codigo);
			}
		}
	}
	function checkComment()
	{
		$('#inProgress').html('<input type="submit" name="Submit2" value="Espere" disabled="disabled" onclick="checkComment();" />');
		var resultado=1;
		// Recuperamos datos del formulario
		var alias=$fw("alias","");
		var email=$fw("email","");
		var localidad=$fw("localidad","");
		var pais=$fw("pais","");
		var comment=$fw("comment","");
		// Comprobamos datos
		var res1=emailTest(email);
		if (res1==true)	resultado=resultado*1; else resultado=resultado*0;
		var res2=alphaTest(alias);
		if (res2==true)	resultado=resultado*1; else resultado=resultado*0;
		var res3=alphaTest(localidad);
		if (res3==true)	resultado=resultado*1; else resultado=resultado*0;
		var res4=alphaTest(pais);
		if (res4==true)	resultado=resultado*1; else resultado=resultado*0;
		var res5=alphaTest(comment);
		if (res5==true)	resultado=resultado*1; else resultado=resultado*0;
		// Comprobamos que no existan palabras ofensivas
		
		if (resultado==1)
		{
			// Todo ok. Revisamos diccionario
			var stringCom=comment.toLowerCase();
			var parametros="comentario=dic&texto="+stringCom;
			/*
			var x=new peticionAjax("post", dominio+"front-end.php", "false", parametros, "false", "auto", resCheckComment);
			x.peticion();
			// Si se trata de un navegador Mozilla o Netscape es necesaria esta línea
			if (x.respuesta())
			{
				resCheckComment(x.respuesta());
			}*/		
			var arxiu=dominio+"front-end.php";
			$.ajax({url: arxiu,
					data:parametros,
					type: 'post',
					error: function(a,b,c) { alert('error '+a+' '+b+' '+c); },
					success: function(dat) {resCheckComment(dat); }							
					});
		}
		else
		{
			// Existe error
			alert("Existe error en los datos introducidos. Revisalos y prueba nuevamente.");
			$('#inProgress').html('<input type="submit" name="Submit2" value="Enviar"  onclick="checkComment();" />');
		}
	
	}
	function resCheckComment(res)
	{
		if (res>0)
		{
			// Existe palabra mala
			alert("No se puede publicar el comentario. Existe alguna palabra considerada ofensiva.");
			$('#inProgress').html('<input type="submit" name="Submit2" value="Enviar"  onclick="checkComment();" />');
		}
		else
		{
			// Parece que está ok. Mandamos grabar
			// Recuperamos nuevamente los datos del formulario
			var idNot=$fw("idNot","");
			var alias=$fw("alias","");
			var email=$fw("email","");
			var localidad=$fw("localidad","");
			var pais=$fw("pais","");
			var comment=$fw("comment","");
			var parametros="comentario=alta&texto="+comment+"&alias="+alias+"&email="+email+"&localidad="+localidad+"&pais="+pais+"&idNot="+idNot;
			var arxiu=dominio+"front-end.php";
			$.ajax({url: arxiu,
					data:parametros,
					type: 'post',
					error: function(a,b,c) { alert('error '+a+' '+b+' '+c); },
					success: function(dat) {resAltaComment(dat); }							
					});
			/*var x=new peticionAjax("post", dominio+"front-end.php", "false", parametros, "false", "auto", resAltaComment);
			x.peticion();
			// Si se trata de un navegador Mozilla o Netscape es necesaria esta línea
			if (x.respuesta())
			{
				resAltaComment(x.respuesta());
			}*/
		}
	}
	function resAltaComment(res)
	{
		// Procesamos resultado
		if (res==1)
		{
			// Comentario registrado
			alert("Gracias por participar. En breve recibirás un email para que confirmes tu comentario.");
			document.location.href=dominio+"index.php";
		}
	}
	
	////////////////////////////////
	// Envío de noticia por email //
	////////////////////////////////
	function sendNotByEmail()
	{
		// Indicamos a la capa que mostrará el formulario de envío por email
		var capa = document.getElementById("notByEmail");
		// Modificamos su estilo
		capa.style.width = '95%';
		capa.style.height = '280px';
		// Modificamos visibilidad
		capa.style.visibility = 'visible';
		// Inner del Formulario
		var codi='<div class="titComentario">Envío de noticia por email</div><div class="opcNot"><table width="57%" border="0" cellpadding="0" cellspacing="0" class="comment">    <tr>    <td width="30%"><strong>Nombre del destinatario </strong></td>  <td width="70%"><input name="NomDesti" type="text" id="NomDesti" /></td>  </tr>  <tr>    <td><strong>Email del destinatario </strong></td>    <td><input name="EmailDesti" type="text" id="EmailDesti" /></td>  </tr>  <tr>    <td><strong>Tu nombre </strong></td>    <td><input name="NomOrigen" type="text" id="NomOrigen" /></td>  </tr>  <tr>    <td><strong>Tu email </strong></td>    <td><input name="EmailOrigen" type="text" id="EmailOrigen" /></td>  </tr>  <tr>    <td><strong>Comentarios</strong></td>    <td><textarea name="Comentari" cols="50" rows="5" id="Comentari"></textarea></td>  </tr>  <tr>    <td>&nbsp;</td>    <td><input type="submit" name="Submit" value="Enviar" onclick="envEmailRev()"/></td>  </tr></table></div>';
		var res=$fw("notByEmail",codi);
		$fw_fade("notByEmail","in",3);
	}
	function envEmailRev()
	{
		var resultado=1;
		// Recuperamos info del formulario
		var idNot=$fw("idNot","");
		var NomDesti=$fw("NomDesti","");
		var EmailDesti=$fw("EmailDesti","");
		var NomOrigen=$fw("NomOrigen","");
		var EmailOrigen=$fw("EmailOrigen","");
		var Comentari=$fw("Comentari","");
		var titul=$fw("titulo","");
		// Comprobamos formulario
		var res=emailTest(EmailDesti);
		if (res==true)	resultado=resultado*1; else resultado=resultado*0;
		var res=emailTest(EmailOrigen);
		if (res==true)	resultado=resultado*1; else resultado=resultado*0;	
		var res=alphaTest(NomDesti);
		if (res==true)	resultado=resultado*1; else resultado=resultado*0;
		var res=alphaTest(NomOrigen);
		if (res==true)	resultado=resultado*1; else resultado=resultado*0;	
		var res=alphaTest(Comentari);
		if (res==true)	resultado=resultado*1; else resultado=resultado*0;
		// Realizamos peticion al servidor si todo ok
		if (resultado==1)
		{
			// Todo ok. Enviamos petición de envío de noticia
			var parametros="envNotByEmail=send&id="+idNot+"&NomDesti="+NomDesti+"&EmailDesti="+EmailDesti+"&NomOrigen="+NomOrigen+"&EmailOrigen="+EmailOrigen+"&Comentari="+Comentari+"&titul="+titul;
			var x=new peticionAjax("post", dominio+"front-end.php", "false", parametros, "false", "auto", resSendNotByEmail);
			x.peticion();
			// Si se trata de un navegador Mozilla o Netscape es necesaria esta línea
			if (x.respuesta())
			{
				resSendNotByEmail(x.respuesta());
			}
		}
		else
		{
			// Existe error
			alert("Existe error en los datos introducidos. Revisalos y prueba nuevamente.");
		}
	
	}
	function resSendNotByEmail(res)
	{
		// Resultado del envío de la noticia
		if (res==1)
		{
			// Envío ok
			// Mostramos mensaje de resultado
			// Indicamos a la capa que mostrará el formulario de envío por email
			var capa = document.getElementById("notByEmail");
			// Modificamos su estilo
			capa.style.width = '95%';
			capa.style.height = '40px';
			// Modificamos visibilidad
			capa.style.visibility = 'visible';
			// Inner del Formulario
			var codi='<div class="titComentario">Email enviado correctamente</div>';
			var res=$fw("notByEmail",codi);
		}
		else
		{
			// Envío ko
			// Hacemos un alert para indicar error
			window.alert("Se ha producido un error en el envío.");
		}
	}
	// Opción de impresión de noticias
	function imprimir()
	{
		// Modificamos estilos
		var capa = document.getElementById("contenedor");
		// Modificamos su estilo
		capa.style.width = '710px';
		capa.style.marginLeft = '-355px';
		// Mandamos imprimir
		window.print();
	
	}
	
	///////////////////
	//  Canales RSS  //
	///////////////////
	
	function muestraCanalesRss()
	{
		var dominio=dameDominio();
		var codigo='<b>Canales RSS</b><br/><br/><p>Reciba gratis y en tiempo real los últimos artículos. Mediante el servicio RSS puedes recibir lás últimas novedades sin necesidad de visitar '+dominio+'</p><a href="'+dominio+'canalesRSS.html">Canales RSS</a><br/>';
		var res=$fw("rssChannels",codigo);
		$fw_fade("rssChannels","in",3);
	}
	
	function muestraCanalesRss2()
	{
		///////////////////////////////////////////
		// Código específico para canalesRSS.php //
		///////////////////////////////////////////
		
		// Nos diponemos a mostrar los canales RSS
		// Generamos un canal por Categoría y uno con todos los articulos de la base de datos
		// Solicitamos
		// Todo ok. Enviamos petición de envío de noticia
		var parametros="RSScategorias=cons";
		var x=new peticionAjax("post", dominio+"front-end.php", "false", parametros, "false", "auto", resMuestraCanalesRss2);
		x.peticion();
		// Si se trata de un navegador Mozilla o Netscape es necesaria esta línea
		if (x.respuesta())
		{
			resMuestraCanalesRss2(x.respuesta());
		}
	}
	function resMuestraCanalesRss2(json)
	{
		///////////////////////////////////////////
		// Código específico para canalesRSS.php //
		///////////////////////////////////////////
		
		// Mostramos categorias
		// La respuesta se recupera en JSON y se trata con eval
		var objJson=eval(json);
		var dat="-1&Todos los artículos";
		var codigo='<b>Canales RSS</b><br/><p><a href="javascript:rssOpen(\''+dat+'\');">RSS Últimas Novedades</a>';
		if (json!=false)
		{
			// Obtenemos el número de filas de la consulta
			var filas=objJson.json_categoria._y;
			// Generamos el código que mostrará las categorias
			if (filas>0)
			{
				// Existen categorias
	
				for (i=0; i<filas; i++)
				{
					var categoria=objJson.json_categoria.titulo[i];
					var idcategoria=objJson.json_categoria.id_cat[i];
					var val1=idcategoria;
					var val2=categoria;
					var dat=val1+"&RSS "+val2;
					var codigo=codigo+'<br/><a href="javascript:rssOpen(\''+dat+'\');">RSS '+categoria+'</a>';
				}
			}
		}
		codigo=codigo+'<br/></p>';
		// Referenciamos las capas necesarias
		var res=$fw("conNoticia",codigo);
	
	}
	function rssOpen(dat)
	{
		var val=dat.split("&");
		var id=val[0];
		var cat=val[1];
		var val2=cat.split(" ");
		var titCat=val2[1];
		if (id=="-1")
		{
			var dominio=dameDominio();
			var tx="RSS Últimas Novedades";
			var tit=traslateUrl(tx);
			var urlrss='rss.php?globTitle='+tit+'&gUrl='+dominio+'index.php&globDesc='+tit+' en '+dominio+'&urlItem='+dominio+'noticia/&catItem=Todos&orderby=alta&limit=0,10';
			var nomFinestra="RSS "+cat;
			window.open(urlrss,'VentanaRSS');
		}
		else
		{
			var dominio=dameDominio();
			var tx="Todos los artítulos";
			var tit=traslateUrl(tx)
			var urlrss='rss.php?globTitle='+traslateUrl(cat)+'&gUrl='+dominio+'index.php&globDesc='+tit+" del canal "+traslateUrl(cat)+'&urlItem='+dominio+'noticia/&catItem=Todos&where=id_cat='+id;
			var nomFinestra="RSS "+cat;
			
			window.open(urlrss,'VentanaRSS');
		}
	}
	
	///////////////////////////////////
	// Búsqueda de noticias. Suggest //
	///////////////////////////////////
	
	
	function resNotSuggest(json)
	{
		// Tratamos resultado json
		// Mostramos comentarios
		var objJson=eval(json);
		if (json!=false)
		{
			// Obtenemos el número de filas de la consulta
			//
	
			var filas=objJson.json_noticiaJcategoria._y;
			// Generamos el código que mostrará las categorias
			var codigo="<h2>Resultados Sugeridos</h2><br/><br/><table>";
			if (filas>0)
			{
				// Existen comentarios
				for (i=0; i<filas; i++)
				{
					var id_not=objJson.json_noticiaJcategoria.noticiaJid_not[i];
					var titulo=objJson.json_noticiaJcategoria.noticiaJtitulo[i];
					var fecha=objJson.json_noticiaJcategoria.noticiaJalta[i];
					// Cambiamos formato de fecha
					var dia=fecha.substr(8,2);
					var mes=fecha.substr(5,2);
					var ano=fecha.substr(0,4);
					var alta=dia+'-'+mes+'-'+ano;
					var baja=objJson.json_noticiaJcategoria.noticiaJbaja[i];
					var tituloCategoria=objJson.json_noticiaJcategoria.categoriaJtitulo[i];
					var catTitul=tituloCategoria.replace('_#47_','/');
					var nuevoTitulo=traducirURL(titulo); 
					var dominio=dameDominio();
					var codigo=codigo+'<tr><td>'+alta+'</td><td><b>'+catTitul+'</b></td><td><a href="'+dominio+'noticia/'+id_not+'/'+nuevoTitulo+'.html">'+titulo+'</a></td></tr>';
					// var codigo=codigo+'<tr><td>'+alta+'</td><td><b>'+tituloCategoria+'</b></td><td><a href="noticia.php?id='+id_not+'">'+titulo+'</a></td></tr>';
				}
				// mostramos resultado
				var entrada=$("#campoBusqueda").attr("value");
				var codigo=codigo+'<tr><td></td><td></td><td>'+'</table></td></tr><p><a href="'+dominio+'buscar.php?s='+entrada+'" title="Ampliar búsqueda con Búsqueda Avanzada"> Ver Más Resultados </a></p>';  
				$("#suggSearch").css("height","auto");
				$("#suggSearch").css("visibility","visible");
				$("#suggSearch").show();
				$("#suggSearch").html(codigo);
				
			}
		}
	}
	function notSuggest()
	{
		// Recuperamos entrada de datos
		var entrada=$("#campoBusqueda").attr("value");
		// Evaluamos entrada y realizamos petición
		if (entrada.length>3)
		{

			var arxiu=dominio+"front-end.php";
			var parametros="buscarNoticia="+entrada;
			$.ajax({url: arxiu,
					data:parametros,
					type: 'post',
					error: function(a,b,c) { alert('error '+a+' '+b+' '+c); },
					success: function(dat) {resNotSuggest(dat); }							
					});
			//var x=new peticionAjax("post", dominio+"front-end.php", "false", parametros, "false", "auto", resNotSuggest);
			//x.peticion();
			//if (x.respuesta())
			//{
			//	resNotSuggest(x.respuesta());
			//}
			
		}
		else
		{
			var ident=document.getElementById("suggSearch");
			// Mostramos capa suggSearch para que se vea el resultado	
			$("#suggSearch").hide();
		}
	}

	function busqueda()
	{
		// Recuperamos entrada de datos
		var entrada=$("#campoBusqueda").attr("value");
		if (entrada.length>1)
		{

			// Mostramos capa suggSearch para que se vea el resultado	
			var arxiu=dominio+"front-end.php";
			var parametros="buscarNoticia="+entrada;
			$.ajax({url: arxiu,
					data:parametros,
					type: 'post',
					error: function(a,b,c) { alert('error '+a+' '+b+' '+c); },
					success: function(dat) {resNotSuggest(dat); }							
					});

			//var x=new peticionAjax("post", dominio+"front-end.php", "false", parametros, "false", "auto", resNotSuggest);
			//x.peticion();
			// Si se trata de un navegador Mozilla o Netscape es necesaria esta línea
			//if (x.respuesta())
			//{
				///resNotSuggest(x.respuesta());
			//}
		}
	}

///////////////
// Categoria //
///////////////

// Ampliación de resultados en sección de categoria

// Los script relativos a esta sección se encuentra en la carpeta //////////////////////
// Busqueda avanzada //
///////////////////////


