// JavaScript Document

function validar_pass_insert (formulario,al){
	if(formulario.usuario_pass.value.length < 6)
	{
		al+="The password must have 6 characters at least\n";
		formulario.usuario_pass.focus();
		//return (false);					
	}
	else
	{
		if(formulario.usuario_pass.value != formulario.usuario_pass2.value)
		{
			al+="Both passwords must coincide\n";
			formulario.usuario_pass.focus();
			//return (false);
		}
	}
	
	return(al);
}

function validar_pass_update (formulario, al){
	if(formulario.usuario_pass.value.length < 6 && formulario.usuario_pass.value.length != 0)
	{
		al+="The password must have 6 characters at least\n";
		formulario.usuario_pass.focus();
		//return (false);					
	}
	else
	{
		if(formulario.usuario_pass.value != formulario.usuario_pass2.value)
		{
			al+="Both passwords must coincide\n";
			formulario.usuario_pass.focus();
			//return (false);
		}
	}				
	return (al);
}
	
function validarEmail(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		//alert("E-mail address " + valor    + " is correct.") 
		return (true)
	}
	else {
		//alert("E-mail address is not correct.");
		return (false);
	}
}
	
function caracteres_validos(checkOK, checkStr)
{
	//alert("dentro");
	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)
	{
		//alert("Mal");
		return (false);
	}
	else
	{
		//alert("Bien");
		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+="The field  \"name\" just accepts alphabetic characters\n";
			formulario.nombre.focus();
			//return (al);
		}
	}
	else
	{
		al+="Fill in please the field \"name\"\n";
		formulario.nombre.focus(); 
		//return(al);
	}
	
	if(formulario.apellido1.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.apellido1.value))
		{
			al+="The field \"surname\" just accepts alphabetic characters\n";
			formulario.apellido1.focus();
			//return (al);
		}
	}
	else
	{
		al+="Fill in please the field \"surname\"\n";
		formulario.apellido1.focus(); 
		//return(al);
	}

	if(formulario.apellido2.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.apellido2.value))
		{
			al+="The field \"surname\" just accepts alphabetic characters\n";
			formulario.apellido2.focus();
			//return (al);
		}
	}
	/*else
	{
		alert("Se debe introducir algún apellido 2");
		formulario.apellido2.focus(); 
		return(false);
	}*/
	
	return(al);
}

function validarsexo(formulario){
		if(!formulario.sexo[0].checked && !formulario.sexo[1].checked)
	{
		alert("Choose please gender");
		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+="Choose please \"Type of street\" \n";
			formulario.direccion1.focus();
			//return (false);
	}

	if(formulario.direccion2.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.direccion2.value))
		{
			al+="escribe una dirección correcta\n";
			formulario.direccion2.focus();
			//return (false);
		}
	}
	else
	{
		al+="Fill in please the field \"Name of street\"\n";
		formulario.direccion2.focus();
		//return (false);
	}
	

	if(formulario.direccion3.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.direccion3.value))
		{
			al+="Number in postal address is not correct\n";
			formulario.direccion3.focus();
			//return (false);
		}
	}
	else
	{
		al+="Fill in please the field \"number\"\n";
		formulario.direccion3.focus();
		//return (false);
	}

	/*if(formulario.direccion4.value.length > 0)
	{	
		if(!caracteres_validos(checkOK, formulario.direccion4.value))
		{
			alert("Escriba sólo letra caracteres en el campo \"Direccion 4\".");
			formulario.direccion4.focus();
			return (false);
		}
	}*/
	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+="The field \"City/Town\" just accepts alphabetic characters\n";
			formulario.poblacion.focus();
			//return (false);
		}
	}
	else
	{
		al+="Fill in please the field \"City/Town\"\n";
		formulario.poblacion.focus(); 
		//return(false);
	}

	if(formulario.provincia.value.length > 0)
	{
		if(!caracteres_validos(checkOK, formulario.provincia.value))
		{
			al+="The field \"province/state/county\" just accepts alphabetic characters\n";
			formulario.provincia.focus();
			//return (false);
		}
	}
	else
	{
		al+="Fill in please the field \"province/state/county\"\n";
		formulario.provincia.focus(); 
		//return(false);
	}
	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)
		{
			//alert("Todos con datos");
			if(!caracteres_validos(checkOK, formulario.dd.value) || !caracteres_validos(checkOK, formulario.mm.value) || !caracteres_validos(checkOK, formulario.aaaa.value))
			{
				al+="Birth date format field is not correct\n";
				formulario.dd.focus();
				//return (false);
			}
			//alert("Todos son numeros");
			var smm=formulario.mm.value;			
			var sdd=formulario.dd.value;
			
			if(sdd.charAt(0) == '0')
			{
				sdd=sdd.charAt(1);
			}
			/*else if(sdd.charAt(0) != '0' && sdd.charAt(0) != '1')
			{
				alert("Birth date format field is not correct ");
				return(false);
			}*/

			if(smm.charAt(0) == '0')
			{
				smm=smm.charAt(1);
			}
			/*else if(smm.charAt(0) != '0' && smm.charAt(0) != '1')
			{
				alert("Birth date format field is not correct ");
				return(false);
			}*/

			var naaaa = parseInt(formulario.aaaa.value);
			var nmm = parseInt(smm);
			var ndd = parseInt(sdd);
					
			if(naaaa > 1900 && naaaa < 2050)
			{
				//alert("años entre 1900 y 2050");
				if(nmm > 0 && nmm < 13)
				{
					//alert("meses entre 1 y 12");
					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+="Birth date format field is not correct\n";
						formulario.dd.focus();
						//return (false);
					}
				}
							
				else
				{
					al+="Birth date format field is not correct\n";
					formulario.mm.focus();
					//return (false);
				}
			}	
			else
			{
				al+="Birth date format field is not correct\n";
				formulario.aaaa.focus();
				//return (false);
			}					
												
		}
		else
		{
			al+="Birth date format field is not correct\n";
			formulario.dd.focus(); 
			//return(false);
		}
		
		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+="The field \"Daytime Telephone\" just accepts numeric characters\n";
			formulario.tfno1.focus();
			//return (false);
		}
	}
	else
	{
		al+="Fill in please the field \"Daytime Telephone\"\n";
		formulario.tfno1.focus(); 
		//return(false);
	}

	if(formulario.tfno2.value.length > 0 && formulario.tfno2.value.length < 16)
	{
		if(!caracteres_validos(checkOK, formulario.tfno2.value))
		{
			al+="The field \"Mobile Telephone\" just accepts numeric characters\n";
			formulario.tfno2.focus();
			//return (false);
		}
	}

	if(formulario.tfno3.value.length > 0 && formulario.tfno3.value.length < 16)
	{
		if(!caracteres_validos(checkOK, formulario.tfno3.value))
		{
			al+="The field \"Secondary telephone\" just accepts numeric characters\n";
			formulario.tfno3.focus();
			//return (false);
		}
	}

	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+="The field \"Passport / Intra-comunitarian VAT number\" just accepts alpha-numeric characters\n";
			formulario.dni_cif.focus();
			//return (false);
		}
	}
	/*else
	{
		alert("Se debe introducir su NIF/CIF");
		formulario.dni_cif.focus(); 
		return(false);
	}*/
	
	return(al);
}

function validarmail(formulario,al){

	if(formulario.mail_registro.value.length > 0)
	{
		if(!validarEmail(formulario.mail_registro.value))
		{
			al+="E-mail address is not correct\n";
			formulario.mail_registro.focus();
			//return (false);
		}
	}
	else
	{
		al+="Fill in please the field \"Email\"\n";
		formulario.mail_registro.focus(); 
		//return(false);
	}

	return(al);
}

function validarpais(formulario, al){
	if(formulario.pais.value == 0)
	{
			al+="Fill in please the field \"country\"\n";
			formulario.pais.focus();
			//return (false);
	}
	
	return(al);
}

function validarempresa(formulario, al){
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚabcdefghijklmnñopqrstuvwxyzáéíóú ";
	if(!formulario.nempresa.value.length > 0)
	/*{
		if(!caracteres_validos(checkOK, formulario.nempresa.value))
		{
			alert("The field \"Empresa\" just accepts alphabetic characters");
			formulario.nempresa.focus();
			return (false);
		}
	}
	else*/
	{
		al+="Fill in please the field \"Company\"\n";
		formulario.nempresa.focus(); 
		//return(false);
	}
	
	return(al);
}

function validaremail(formulario){

	if(formulario.email.value.length > 0)
	{
		if(!validarEmail(formulario.email.value))
		{
			alert("E-mail address is not correct");
			formulario.email.focus();
			return (false);
		}
	}
	else
	{
		alert("Fill in please the field \"Email\"");
		formulario.email.focus(); 
		return(false);
	}


	return(true);
}


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

	if(!formulario.cp.value.length > 0)
	{						
		al+="The field \"Post Code\" is a compulsory field\n";
		//return(false);
	}
	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();
	}
}
