// JavaScript Document

function validar_pass_insert (formulario,al){
	if(formulario.usuario_pass.value.length < 6)
	{
		al+="la contraseña debe tener al menos 6 caracteres\n";
		formulario.usuario_pass.focus();
	}
	else
	{
		if(formulario.usuario_pass.value != formulario.usuario_pass2.value)
		{
			al+="Las contraseñas deben coincidir\n";
			formulario.usuario_pass.focus();
		}
	}
	
	return(al);
}

function validar_pass_update (formulario, al){
	if(formulario.usuario_pass.value.length < 6 && formulario.usuario_pass.value.length != 0)
	{
		al+="la contraseña debe tener al menos 6 caracteres\n";
		formulario.usuario_pass.focus();
	}
	else
	{
		if(formulario.usuario_pass.value != formulario.usuario_pass2.value)
		{
			al+="las contraseñas deben coincidir\n";
			formulario.usuario_pass.focus();
		}
	}				
	return (al);
}
	
function validarEmail(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		//alert("La dirección de email " + valor    + " es correcta.") 
		return (true)
	}
	else {
		return (false);
	}
}
	
function caracteres_validos(checkOK, checkStr)
{
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
	  	ch = checkStr.charAt(i);
	  	for (j = 0;  j < checkOK.length;  j++)
	  		if (ch == checkOK.charAt(j))
	  			break;
		if (j == checkOK.length)
	  	{
	  		allValid = false;
			break;
		}
	}
	if (!allValid)
	{
		return (false);
	}
	else
	{
		return (true);
	}
}

function validarnombre(formulario, al){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚabcdefghijklmnñopqrstuvwxyzáéíóú ";
	if(formulario.nombre.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.nombre.value))
		{
			al+="el campo \"nombre\" sólo admite los caracteres alfabéticos\n";
			formulario.nombre.focus();
		}
	}
	else
	{
		al+="rellena el campo \"nombre\"\n";
		formulario.nombre.focus(); 
	}
	
	if(formulario.apellido1.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.apellido1.value))
		{
			al+="el campo \"apellido\" sólo admite los caracteres alfabéticos\n";
			formulario.apellido1.focus();
		}
	}
	else
	{
		al+="rellena el campo \"apellido\"\n";
		formulario.apellido1.focus(); 
	}

	if(formulario.apellido2.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.apellido2.value))
		{
			al+="el campo \"apellido\" sólo admite los caracteres alfabéticos\n";
			formulario.apellido2.focus();
		}
	}
	return(al);
}

function validarsexo(formulario){
		if(!formulario.sexo[0].checked && !formulario.sexo[1].checked)
	{
		alert("Seleccione el sexo");
		formulario.sexo[0].focus();
		return (false);
	}
	return(true);
}

function validardirecciones(formulario,al){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚabcdefghijklmnñopqrstuvwxyzáéíóú 0123456789ºª.'";

	if(formulario.direccion1.value == 0)
	{
			al+="selecciona el \"tipo de vía\" que corresponda\n";
			formulario.direccion1.focus();
	}

	if(formulario.direccion2.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.direccion2.value))
		{
			al+="escribe una dirección correcta\n";
			formulario.direccion2.focus();
		}
	}
	else
	{
		al+="rellena el campo \"nombre de vía\"\n";
		formulario.direccion2.focus();
	}

	if(formulario.direccion3.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.direccion3.value))
		{
			al+="escribe un número de calle correcto\n";
			formulario.direccion3.focus();
			//return (false);
		}
	}
	else
	{
		al+="rellena el campo \"número\"\n";
		formulario.direccion3.focus();
	}
	return (al);
}

function validarcp(formulario){
	var checkOK = "0123456789";

	if(formulario.cp.value.length == 5)
	{						
		if(!caracteres_validos(checkOK, formulario.cp.value))
		{
			alert("Por favor introduce los 5 dígitos de tu código postal en el campo \"C.P\" ");
			formulario.cp.focus();
			return (false);
		}
	}
	else
	{
		alert("Por favor introduce los 5 dígitos de tu código postal en el campo \"C.P\" ");
		formulario.cp.focus(); 
		return(false);
	}
	
	return(true);
}
function validarpobpro(formulario, al){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚabcdefghijklmnñopqrstuvwxyzáéíóú 0123456789";

	if(formulario.poblacion.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.poblacion.value))
		{
			al+="el campo \"población\" sólo admite los caracteres alfabéticos\n";
			formulario.poblacion.focus();
		}
	}
	else
	{
		al+="rellena el campo \"población\"\n";
		formulario.poblacion.focus(); 
	}

	if(formulario.provincia.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.provincia.value))
		{
			al+="el campo \"provincia\" sólo admite los caracteres alfabéticos\n";
			formulario.provincia.focus();
		}
	}
	else
	{
		al+="rellena el campo \"provincia\"\n";
		formulario.provincia.focus(); 
	}
	return(al);
}

function validarfecha(formulario, al){
	var checkOK = "0123456789";

	if(formulario.dd.value.length > 0 || formulario.mm.value.length > 0 || formulario.aaaa.value.length > 0)
	{
		if(formulario.dd.value.length > 0 && formulario.mm.value.length > 0 && formulario.aaaa.value.length > 0)
		{
			if(!caracteres_validos(checkOK, formulario.dd.value) || !caracteres_validos(checkOK, formulario.mm.value) || !caracteres_validos(checkOK, formulario.aaaa.value))
			{
				al+="debe introducir una fecha válida\n";
				formulario.dd.focus();
			}
			var smm=formulario.mm.value;			
			var sdd=formulario.dd.value;
			
			if(sdd.charAt(0) == '0')
			{
				sdd=sdd.charAt(1);
			}

			if(smm.charAt(0) == '0')
			{
				smm=smm.charAt(1);
			}

			var naaaa = parseInt(formulario.aaaa.value);
			var nmm = parseInt(smm);
			var ndd = parseInt(sdd);
					
			if(naaaa > 1900 && naaaa < 2050)
			{
				if(nmm > 0 && nmm < 13)
				{
					if(ndd > 0 && ndd < 32 && (nmm ==1 || nmm ==3 || nmm ==5 || nmm ==7 || nmm ==8 || nmm ==10 || nmm ==12))
					{
					}
								
					else if(ndd > 0 && ndd < 31 && (nmm ==4 || nmm ==6 || nmm ==9 || nmm ==11))
					{
					}
								
					else if(ndd > 0 && ndd < 30 && nmm ==2)
					{
					}
								
					else
					{
						al+="debe introducir una fecha válida\n";
						formulario.dd.focus();
					}
				}
							
				else
				{
					al+="debe introducir una fecha válida\n";
					formulario.mm.focus();
				}
			}	
			else
			{
				al+="debe introducir una fecha válida\n";
				formulario.aaaa.focus();
			}					
												
		}
		else
		{
			al+="debe introducir una fecha válida\n";
			formulario.dd.focus(); 
		}
		
		return(al);
	}
	else
	{
		return(al);
	}
}

function validartelefono(formulario,al){
	var checkOK = "+0123456789";

	if(formulario.tfno1.value.length > 0 && formulario.tfno1.value.length < 16)
	{
		if(!caracteres_validos(checkOK, formulario.tfno1.value))
		{
			al+="el campo \"teléfono de contacto\" sólo admite los caracteres numéricos\n";
			formulario.tfno1.focus();
		}
	}
	else
	{
		al+="rellena el campo \"teléfono de contacto\"\n";
		formulario.tfno1.focus(); 
	}

	if(formulario.tfno2.value.length > 0 && formulario.tfno2.value.length < 16)
	{
		if(!caracteres_validos(checkOK, formulario.tfno2.value))
		{
			al+="el campo \"Teléfono móvil\" sólo admite los caracteres de número\n";
			formulario.tfno2.focus();
		}
	}

	if(formulario.tfno3.value.length > 0 && formulario.tfno3.value.length < 16)
	{
		if(!caracteres_validos(checkOK, formulario.tfno3.value))
		{
			al+="el campo \"Otro teléfono\" sólo admite los caracteres de número\n";
			formulario.tfno3.focus();
		}
	}

	return(al);
}

function validarnifcif(formulario, al){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789";				
	if(formulario.dni_cif.value.length > 0 && formulario.dni_cif.value.length < 16)
	{
		if(!caracteres_validos(checkOK, formulario.dni_cif.value))
		{
			al+="el campo \"DNI/CIF\" sólo admite los caracteres alfa-numéricos\n";
			formulario.dni_cif.focus();
		}
	}
	return(al);
}

function validarmail(formulario,al){

	if(formulario.mail_registro.value.length > 0)
	{
		if(!validarEmail(formulario.mail_registro.value))
		{
			al+="escribe una dirección de mail correcta\n";
			formulario.mail_registro.focus();
		}
	}
	else
	{
		al+="rellena el campo \"Email\"\n";
		formulario.mail_registro.focus(); 
	}

	return(al);
}

function validarpais(formulario, al){
	if(formulario.pais.value == 0)
	{
			al+="rellena el campo \"país\"\n";
			formulario.pais.focus();
	}
	
	return(al);
}

function validarempresa(formulario, al){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚabcdefghijklmnñopqrstuvwxyzáéíóú ";
	if(!formulario.nempresa.value.length > 0)
	{
		al+="Por favor rellena el campo \"Empresa\"\n";
		formulario.nempresa.focus(); 
		//return(false);
	}
	
	return(al);
}

function validaremail(formulario){

	if(formulario.email.value.length > 0)
	{
		if(!validarEmail(formulario.email.value))
		{
			alert("Escribe una dirección de mail correcta");
			formulario.email.focus();
			return (false);
		}
	}
	else
	{
		alert("Por favor rellena el campo \"Email\"");
		formulario.email.focus(); 
		return(false);
	}
	return(true);
}


function validarcp2(formulario, al){
	var checkOK = "0123456789";

	if(!formulario.cp.value.length > 0)
	{						
		al+="el campo \"C.P\" es un campo obligatorio\n";
	}
	return(al);
}
			
function rellenardd(pevent, miform){
	if(pevent.keyCode != 8 && pevent.keyCode != 46 && pevent.keyCode != 9)
	{
		if(miform.dd.value.length >= 2)
		{
			miform.mm.focus();
		}
	}
}

function rellenarmm(pevent, miform){
	if(miform.dd.value.length < 2)
	{
			return;
	}
	
	if(pevent.keyCode != 8 && pevent.keyCode != 46 && pevent.keyCode != 9)
	{
		if(miform.mm.value.length >= 2)
		{
			miform.aaaa.focus();
		}
	}
}

function saltodd(miform){
	if(miform.dd.value.length >=2)
	{
		miform.mm.focus();
	}
}

function saltomm(miform){
	if(miform.mm.value.length >=2)
	{
		miform.aaaa.focus();
	}
}