var frasesTimeout = null;

function compruebaForm()
{
	var form = arguments[0];
	if (form)
	{
		$('input',form).removeClass('error');
		
		for( var i = 1; i < arguments.length; i++ ) {
			valor = jQuery.trim($('#' + arguments[i], form).val());
			if (valor == '' || (arguments[i] == 'email' && !checkEmail(valor))	){
				alert("Por favor comprueba el campo marcado en rojo");
				$('#' + arguments[i], form).addClass('error').get(0).focus();
				return false;
			}
		}
		
		return true;
	}
	
	return false;
}


$(document).ready(function () {
	
	//$('#nav .submenu').css('display', 'none');
	
	
	
	// Gestionar las frases de la página de inicio
	if ($('#frase-original').get(0))
	{
		
		//Enlaces de los destacados
		var cajas = $('#quicklinks .box').get();
		for (var i = 0; i < cajas.length; i++)
		{
			ultimoenlace = $('.contenido a:last', cajas[i]).get(0);
			if (ultimoenlace) {
				$('.enlace a', cajas[i]).attr('href', $(ultimoenlace).attr('href'));
				$(ultimoenlace).remove();
			}
		}
		
		var frases = Array('El vino abre las puertas con asombro y en refugio de los meses vuelca su cuerpo de empapadas alas rojas|Pablo Neruda');
		var fraseActual  = 0;
		function iniciar_animacion_frase()
		{
			$('#frase-' + fraseActual).fadeOut(1000, function() {
				fraseActual = (fraseActual+1)%frases.length;
				$('#frase-' + fraseActual).fadeIn(1000, function() { frasesTimeout = setTimeout(iniciar_animacion_frase, 3000); });
			});
		}
		
		
		$.get( '/paginas/frases-de-la-portada', null, function(datos, textStatus) { 
			
			var parte = datos.split('<div class="pageContents">');
			if (parte[1]) {
				var tmp = parte[1].split('</div>');
				html = tmp[0].replace(/<p>/g,'');
				var pes = html.split('</p>');
				frases = new Array();
				for(i = 0,j=0; i < pes.length; i++) {	
					pes[i] = jQuery.trim(pes[i]);
					if (pes[i] != '')
						frases[j++] = pes[i];
				}
			}
			
			/* ESTO NO FUNCIONA EN SAFARI
			 pes = $('.pageContents p', html).get();
			for (i = 0; i < pes.length; i++) {
				frases[i] = $(pes[i]).html();
			}*/
			
			// Crear las otras frases
			if (frases.length > 0)
			{
				for (i = 0; i < frases.length; i++)
				{
					f = $('#frase-original').clone().attr('id', 'frase-' + i).css('display','none').prependTo('#content');
					partes = frases[i].split('|');
					$('p', f).html(partes[0]);
					$('.frase-autor', f).html(partes[1]);
				}
			
				$('#frase-original').css('display','none');
				$('#frase-0').css('display','block');
			}
		
			
			frasesTimeout = setTimeout(iniciar_animacion_frase, 4000);
		
		}, 'html');
		
	}
	else {
		$('#fmnews').submit (function() {
								  return compruebaForm(this, 'news_nombre','news_email');
								  });
		
		$('#fmsocio').submit (function() {
								  return compruebaForm(this, 'socio_nombre','socio_email');
								  });
	
		var cajas = $('#club-bloques .bloque').get();
		for (var i = 0; i < cajas.length; i++)
		{
			ultimoenlace = $('.contenido a:last', cajas[i]).get(0);
			if (ultimoenlace) {
				$('.enlace a', cajas[i]).attr('href', $(ultimoenlace).attr('href'));
				$(ultimoenlace).remove();
			}
		}
		
		
		// Circulos de los productos
		$('.product').each (function (pos){
									  
			var imagenes = $('.product-description img', this).get();
			var tabla = '<table cellspacing="0" cellpadding="10" align="center" style="padding:10px 0">';
			var filas = Math.ceil(imagenes.length/2);
			for (i = 0, j = 0; i < filas; i++)
			{
				tabla += '<tr><td valign="top"><img src="' + imagenes[j].src + '" alt="' + imagenes[j++].alt + '" /></td>';
				if (j < imagenes.length)
					tabla += '<td valign="top"><img src="' + imagenes[j].src + '" alt="' + imagenes[j++].alt + '" /></td>';
				else
					tabla += '<td>&nbsp;</td>';
				tabla += '</tr>';
			}
			tabla += '</table>';
			$('.product-image', this).append(tabla);
			$('.product-description img, .product-descrition br:last', this).remove();
			
		});
	}
	
	if ($('#messages').get(0))
		setTimeout( function(){ $('#messages').fadeOut('fast'); }, 2000);
		
	$('#fmcontact').submit (function() {
								  return compruebaForm(this, 'nombre','email', 'mensaje');
								  });
	
	
});





/*
 *
 * Valida el formato de una cadena que representa una dirección de email
 *
 */
function checkEmail (emailStr) 
{
		/* Verificar si el email tiene el formato usuario@dominio. */
		var emailPat=/^(.+)@(.+)$/ 

		/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 
		
		/* Verifica los caracteres que son válidos en una dirección de email */
		var validChars="\[^\\s" + specialChars + "\]" 

		var quotedUser="(\"[^\"]*\")" 

		/* Verifica si la dirección de email está representada con una dirección IP Válida */ 
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/

		/* Verificar caracteres inválidos */ 
		var atom=validChars + '+'
		var word="(" + atom + "|" + quotedUser + ")"
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		/* domain, as opposed to ipDomainPat, shown above. */
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) 
		{
			// alert("La dirección de correo electrónico introducida parece ser incorrecta")
			return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]

		// Si el usuario "uuarior" es valido 
		if (user.match(userPat)==null) 
		{
			// Si no
			// alert("El nombre de usuario de la dirección de correo electrónico no es válido.")
			return false
		}

		/* Si la dirección IP es válida */
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) 
		{
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) 
				{
					// alert("IP de destino del email inválida")
					return false
				}
			}
			return true
		}

		var domainArray=domain.match(domainPat)
		if (domainArray==null) 
		{
			// alert("El dominio parece no ser válido.")
			return false
		}

		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2 || 
			domArr[domArr.length-1].length>3) 
		{ 
			// alert("La dirección de email debe tener 3 letras si es .com o 2 si es de algún pais.")
			return false
		}

		if (len<2) 
		{
			// var errStr="La dirección de correo electrónico es errónea"
			// alert(errStr)
			return false
		}

		// La dirección de email ingresada es Válida
		return true;
}