
function CaracteresValidos (Cadena)
{
	var l      = Cadena.length;
	var i      = 0;
	var Result = true;
	var Car    = 0;
	
	while (Result && i < l)
	{	Car = Cadena.charCodeAt (i++);
		Result = (Car >= 48 && Car <=  57) ||			// del 0 al 9
		         (Car >= 65 && Car <=  90) ||			// de la A a la Z
		         (Car >= 97 && Car <= 122) ||			// de la a a la z
		         Car == 45 || Car == 46 || Car == 95; 	// - . _
	}
	return (Result);
}


function ComprobarID ()
{
	var Identificador = document.Email.Identificador.value.Trim ();

	if (ValidarIdentificador (Identificador))
		document.location.replace ('/fuentes/comprobaridentificador.php?Identificador=' + Identificador);
}


function ValidarIdentificador (Identificador)
{
	if (Identificador == '') alert ('Tiene que indicar un identificador');
	else if (Identificador.length < 6) alert ('El identificador tiene que tener al menos 6 caracteres.');
	else if (Identificador.length > 25) alert ('El identificador no puede tener más de 25 caracteres.');
	else if (! CaracteresValidos (Identificador)) alert ('El identificador contiene caracteres inválidos.');
	else return (true);
	
	return (false);
}


//===================================================================================================
//===================================================================================================
//===================================================================================================
//===================================================================================================
//===================================================================================================
//===================================================================================================


function ValidarDatos ()
{
	var Clave     = Trim (document.Email.Clave.value);
	var CodPostal = Trim (document.Email.CodPostal.value);
	var Poblacion = Trim (document.Email.Poblacion.value.toUpperCase ());
	var Provincia = Trim (document.Email.Provincia.value.toUpperCase ());
	var Pais      = Trim (document.Email.Pais.value.toUpperCase ());
	
	if (! ValidarIdentificador (Trim (document.Email.Identificador.value)))
		document.Email.Identificador.focus ();
	else if (Clave == '')
	{	alert ('Tiene que indicar una contraseña');
		document.Email.Clave.focus ();
	} else if (Clave.length < 6)
	{	alert ('La contraseña tiene que tener al menos 6 caracteres.');
		document.Email.Clave.focus ();
	} else if (Clave.length > 15) 
	{	alert ('La contraseña no puede contener más de de 15 caracteres.');
		document.Email.Clave.focus ();
	} else if (! CaracteresValidos (Clave)) 
	{	alert ('La contraseña contiene caracteres inválidos.');
		document.Email.Clave.focus ();
	} else if (Trim (document.Email.Clave2.value) != Clave) 
	{	alert ('La contraseña y su confirmación son distintas.');
		document.Email.Clave.focus ();
	} else if (Trim (document.Email.Pregunta.value) == '') 
	{	alert ('Tiene que indicar una pregunta para recordar la contraseña.');
		document.Email.Pregunta.focus ();
	} else if (Trim (document.Email.Respuesta.value) == '') 
	{	alert ('Tiene que indicar una respuesta para recordar la contraseña.');
		document.Email.Respuesta.focus ();
	} else if (Trim (document.Email.Nombre.value) == '') 
	{	alert ('Tiene que indicar un nombre.');
		document.Email.Nombre.focus ();
	} else if (Trim (document.Email.Apellidos.value) == '') 
	{	alert ('Tiene que indicar los apellidos.');
		document.Email.Apellidos.focus ();
	} else if (Trim (document.Email.DNI.value) == '') 
	{	alert ('Tiene que indicar un DNI.');
		document.Email.DNI.focus ();
	} else if (! ValidarNIF (document.Email.DNI))
	{	alert ('El DNI no es correcto.');
		document.Email.DNI.focus ();
	} else if (Trim (document.Email.Fecha.value) == '') 
	{	alert ('Tiene que indicar una fecha.');
		document.Email.Fecha.focus ();
	} else if (! FechaCorrecta (document.Email.Fecha.value, false))
	{	alert ('La fecha de nacimiento no es correcta.');
		document.Email.Fecha.focus ();
	} else if (Trim (document.Email.Calle.value) == '') 
	{	alert ('Tiene que indicar una calle.');
		document.Email.Calle.focus ();
	} else if (Trim (document.Email.Numero.value) == '') 
	{	alert ('Tiene que indicar un número.');
		document.Email.Numero.focus ();
	} else if (CodPostal == '') 
	{	alert ('Tiene que indicar un código postal.');
		document.Email.CodPostal.focus ();
	} else if (Poblacion == '') 
	{	alert ('Tiene que indicar una población.');
		document.Email.Poblacion.focus ();
	} else if (Provincia == '') 
	{	alert ('Tiene que indicar una provincia.');
		document.Email.Provincia.focus ();
	} else if (Pais == '') 
	{	alert ('Tiene que indicar un país.');
		document.Email.Pais.focus ();
	} else if (! document.Email.chkAcepto.checked)
	{	alert ('Tiene que aceptar las condiciones de uso del servicio.');
		document.Email.chkAcepto.focus ();
	} else if (Provincia != 'SEVILLA' || Pais != 'ESPAÑA')
		alert ('Usted no cumple las condiciones de registro.\n' + 
		       'Por favor lea atentamente las condiciones de\n' +
		       'uso del servicio, o repase sus datos.');
	else if (CodPostal  == '41300' && (Poblacion == 'SAN JOSE DE LA RINCONADA' || 
	                                   Poblacion == 'SAN JOSÉ DE LA RINCONADA' ||
	                                   Poblacion == 'SAN JOSE' ||
	                                   Poblacion == 'SAN JOSÉ'))
	{	document.Email.Fecha.value = FormatearFecha (document.Email.Fecha.value);
		return (true);
	} else if (CodPostal == '41309' && Poblacion == 'LA RINCONADA')
	{	document.Email.Fecha.value = FormatearFecha (document.Email.Fecha.value);
		return (true);
	} else
		alert ('Usted no cumple las condiciones de registro.\n' + 
		       'Por favor lea atentamente las condiciones de\n' +
		       'uso del servicio, o repase sus datos.');
	return (false);	
}








