function ocultarMensaje() 
{
	var objeto = document.getElementById('div-resultado');
	objeto.style.visibility = 'hidden';
	objeto = document.getElementById('fondo-negro');	
	objeto.style.visibility = 'hidden';
}

function ajustesCuadroFlotante() {
	
	var fondo = document.getElementById('fondo-negro');
	if(fondo != null)
	{
		//var fondo = $("#fondo-negro");
		var fondo = document.getElementById('fondo-negro');
		fondo.style.width = Math.max(document.body.clientWidth,772)+"px";
		fondo.style.height = (document.getElementById('fin-pagina').offsetTop)+"px";
		fondo.style.visibility = 'visible';
		
		var cuadro = document.getElementById('div-resultado');
		cuadro.style.left = (document.body.clientWidth/2 - 250)+"px";
		cuadro.style.visibility = 'visible';
	}
}

//Redimensión de la pantalla
$(window).resize(function() {
	var fondo = document.getElementById('fondo-negro');
	if(fondo != null  && fondo.style.visibility == 'visible')
		ajustesCuadroFlotante();
});

$(document).ready(function(){
	
	ajustesCuadroFlotante();
	
	var inicio = true;
	
	//variables globales
	var inputTextBoxes = $(".text");
	var inputNombre = $("#nombre");
	var reqNombre = $("#req-nombre");
	var vacioNombre = $("#vacio-nombre");
	var inputApellidos = $("#apellidos");
	var reqApellidos = $("#req-apellidos");
	var inputEmail = $("#email");
	var reqEmail = $("#req-email");
	var vacioEmail = $("#vacio-email");
	var inputTelefono = $("#telefono");
	var reqTelefono = $("#req-telefono");
	var vacioTelefono = $("#vacio-telefono");
	var inputEdad = $("#edad");
	var reqEdad = $("#req-edad");
	var inputNacionalidad = $("#nacionalidad");
	var reqNacionalidad = $("#req-nacionalidad");
	var inputCheckDatosPersonales = $("#check-datos-personales");
	var inputNombre_mini = $("#nombre-mini");
	var inputTelefono_mini = $("#telefono-mini");
	var inputCheckAceptaTelefono = $("#check-acepta-telefono");
	var inputNombre_clase = $("#nombre-clase");
	var labelNombre_clase = $("#l_nombre-clase");
	var inputTelefono_clase = $("#telefono-clase");
	var labelTelefono_clase = $("#l_telefono-clase");
	var inputEmail_clase = $("#email-clase");
	var labelEmail_clase = $("#l_email-clase");
	var inputCheckAceptaClase = $("#check-acepta-clase");

	//Funciones de validacion
	function validarNombre()
	{
		inputNombre.val(Trim(inputNombre.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputNombre.val().length < 1 || !inputNombre.val().match(/^(\S)+(.)*$/)) // /^[a-zA-ZÁÉÍÓÚáéíóúÑñÜü]+(.)*$/))
		{
			if(inputNombre.val().length)
			{
				vacioNombre.removeClass("vacio");
				vacioNombre.removeClass("error");
				reqNombre.addClass("error");
			}
			else
			{
				reqNombre.removeClass("error");
				vacioNombre.addClass("vacio");
			}
			inputNombre.addClass("error");
			return false;
		}
		
		vacioNombre.removeClass("vacio");
		vacioNombre.removeClass("error");
		reqNombre.removeClass("error");
		inputNombre.removeClass("error");
		return true;
	}
	
	function validarNombreMini()
	{
		inputNombre_mini.val(Trim(inputNombre_mini.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputNombre_mini.val().length < 1 || !inputNombre_mini.val().match(/^(\S)+(.)*$/))
			return false;
		
		return true;
	}
	
	function validarNombreClase()
	{
		inputNombre_clase.val(Trim(inputNombre_clase.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputNombre_clase.val().length < 1 || !inputNombre_clase.val().match(/^(\S)+(.)*$/))
		{
			if(inicio)
			{
				inputNombre_clase.removeClass("error");
				labelNombre_clase.removeClass("error");
			}
			else
			{
				inputNombre_clase.addClass("error");
				labelNombre_clase.addClass("error");
			}
			return false;
		}
		
		inputNombre_clase.removeClass("error");
		labelNombre_clase.removeClass("error");
		return true;
	}
	
	function validarApellidos()
	{
		inputApellidos.val(Trim(inputApellidos.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputApellidos.val().length && (inputApellidos.val().length < 1 || !inputApellidos.val().match(/^(\S)+(.)*$/))) // /^[a-zA-ZÁÉÍÓÚáéíóúÑñÜü]+(.)*$/))
		{
			reqApellidos.addClass("error");
			inputApellidos.addClass("error");
			return false;
		}
		reqApellidos.removeClass("error");
		inputApellidos.removeClass("error");
		return true;
	}
	
	function validarEmail()
	{
		inputEmail.val(Trim(inputEmail.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputEmail.val().length < 6 || !inputEmail.val().match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/))
		{
			if(inputEmail.val().length)
			{
				vacioEmail.removeClass("vacio");
				vacioEmail.removeClass("error");
				reqEmail.addClass("error");
			}
			else
			{
				reqEmail.removeClass("error");
				vacioEmail.addClass("vacio");
			}
			
			inputEmail.addClass("error");
			return false;
		}
		
		vacioEmail.removeClass("vacio");
		vacioEmail.removeClass("error");
		reqEmail.removeClass("error");
		inputEmail.removeClass("error");
		return true;
	}
	
	function validarEmailClase()
	{		
		inputEmail_clase.val(Trim(inputEmail_clase.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputEmail_clase.val().length < 6 || !inputEmail_clase.val().match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/))
		{
			if(inputEmail_clase.val().length)
			{
				labelEmail_clase.removeClass("error");
				inputEmail_clase.addClass("error");
			}
			else if(!inicio)
			{
				inputEmail_clase.removeClass("error");
				labelEmail_clase.addClass("error");
			}
			else
			{
				inputEmail_clase.removeClass("error");
				labelEmail_clase.removeClass("error");
			}
			return false;
		}

		inputEmail_clase.removeClass("error");
		labelEmail_clase.removeClass("error");
		return true;
	}
	
	function validarTelefono()
	{
		inputTelefono.val(Trim(inputTelefono.val()));
		var valor = QuitarEspacios(inputTelefono.val());
		
		//NO cumple longitud minima o NO cumple el formato
		if(valor.length > 13 || !valor.match(/^(([+]|(00))[\d]{1,2})?[\d]{9}$/))
		{
			if(inputTelefono.val().length)
			{
				vacioTelefono.removeClass("vacio");
				vacioTelefono.removeClass("error");
				reqTelefono.addClass("error");
			}
			else
			{
				reqTelefono.removeClass("error");
				vacioTelefono.addClass("vacio");
			}
			
			inputTelefono.addClass("error");
			return false;
		}
		
		vacioTelefono.removeClass("vacio");
		vacioTelefono.removeClass("error");
		reqTelefono.removeClass("error");
		inputTelefono.removeClass("error");
		return true;
	}
	
	function validarTelefonoMini()
	{
		inputTelefono_mini.val(Trim(inputTelefono_mini.val()));
		var valor = QuitarEspacios(inputTelefono_mini.val());
		
		//NO cumple longitud minima o NO cumple el formato
		if(valor.length > 13 || !valor.match(/^(([+]|(00))[\d]{1,2})?[\d]{9}$/))
			return false;

		return true;
	}
	
	function validarTelefonoClase()
	{
		inputTelefono_clase.val(Trim(inputTelefono_clase.val()));
		var valor = QuitarEspacios(inputTelefono_clase.val());
		
		//NO cumple longitud minima o NO cumple el formato
		if(valor.length > 13 || !valor.match(/^(([+]|(00))[\d]{1,2})?[\d]{9}$/))
		{
			if(inicio)
			{
				inputTelefono_clase.removeClass("error");
				labelTelefono_clase.removeClass("error");
			}
			else
			{
				inputTelefono_clase.addClass("error");
				labelTelefono_clase.addClass("error");
			}
			return false;
		}
		
		inputTelefono_clase.removeClass("error");
		labelTelefono_clase.removeClass("error");
		return true;
	}
	
	function validarEdad()
	{
		inputEdad.val(Trim(inputEdad.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputEdad.val().length && (inputEdad.val().length > 3 || !inputEdad.val().match(/^\d+$/)))
		{
			reqEdad.addClass("error");
			inputEdad.addClass("error");
			return false;
		}
		reqEdad.removeClass("error");
		inputEdad.removeClass("error");
		return true;
	}
	
	function validarNacionalidad()
	{
		inputNacionalidad.val(Trim(inputNacionalidad.val()));
		
		//NO cumple longitud minima o NO cumple el formato
		if(inputNacionalidad.val().length && (inputNacionalidad.val().length < 1 || !inputNacionalidad.val().match(/^(\S)+(.)*$/))) // /^[a-zA-ZÁÉÍÓÚáéíóúÑñÜü]+(.)*$/))
		{
			reqNacionalidad.addClass("error");
			inputNacionalidad.addClass("error");
			return false;
		}
		reqNacionalidad.removeClass("error");
		inputNacionalidad.removeClass("error");
		return true;
	}
	
	//controlamos la validacion en los distintos eventos
	// Perdida de foco
	inputNombre.blur(validarNombre);
	inputApellidos.blur(validarApellidos);
	inputEmail.blur(validarEmail);
	inputTelefono.blur(validarTelefono);  
	inputEdad.blur(validarEdad);
	inputNacionalidad.blur(validarNacionalidad);
	
	inputNombre_clase.blur(validarNombreClase);
	inputTelefono_clase.blur(validarTelefonoClase);
	inputEmail_clase.blur(validarEmailClase);
	
	inicio = false;
	
	// Envio de formulario
	$("#form1").submit(function()
	{		
		v1 = validarNombre(); 
		v2 = validarApellidos();
		v3 = validarEmail();
		v4 = validarTelefono();
		v5 = validarEdad();
		v6 = validarNacionalidad();
		if(v1 && v2 && v3 && v4 && v5 && v6)
		{
			/*if(!inputCheckDatosPersonales.attr('checked'))
			{
				alert('Debe marcar la casilla aceptando las bases legales.');
				return false;
			}*/
			return true;
		}
		alert('Debe rellenar correctamente el formulario.');
		return false;
	});
	
	$("#form-folletos").submit(function()
	{		
		v1 = validarNombre(); 
		v2 = validarApellidos();
		v3 = validarEmail();
		v4 = validarTelefono();
		if(v1 && v2 && v3 && v4)
		{
			/*if(!inputCheckDatosPersonales.attr('checked'))
			{
				alert('Debe marcar la casilla aceptando las bases legales.');
				return false;
			}*/
			return true;
		}
		alert('Debe rellenar correctamente el formulario.');
		return false;
	});
	
	$("#form-mini").submit(function()
	{		
		if(!validarNombreMini())
		{
			if(validarTelefonoMini())
				alert('Debe dar un valor al campo Nombre.');
			else
				alert('Debe rellenar correctamente los campos Nombre y Teléfono.');
			return false;
		}
		if(!validarTelefonoMini())
		{
			alert('Debe dar un valor correcto al campo Teléfono.');
			return false;
		}
		if(!inputCheckAceptaTelefono.attr('checked'))
		{
			alert('Debe marcar la casilla aceptando que su teléfono únicamente se utilizará para contactarle una sola vez.');
			return false;
		}
		return true;
	});
	
	$("#form-clase").submit(function()
	{		
		v1 = validarNombreClase(); 
		v2 = validarTelefonoClase();
		v3 = validarEmailClase();
		if(v1 && v2 && v3)
		{
			if(!inputCheckDatosPersonales.attr('checked'))
			{
				alert('Debe marcar la casilla aceptando las bases legales.');
				return false;
			}
			return true;
		}
		alert('Debe rellenar correctamente el formulario.');
		return false;
	});
	
	//controlamos el foco / perdida de foco para los input text
	inputTextBoxes.focus(function()
	{
		$(this).addClass("active");
	});
	inputTextBoxes.blur(function()
	{
		$(this).removeClass("active");  
	});

});
