  errStr="";//variable de Error

  //Funci&oacute;n que comprueba el tamano del campo
  function longitud(parametro,largo)
   {
   cade=parametro
   if (cade.length>largo)
   errStr = "1";
   }


  //Funci&oacute;n que comprueba el tamano del campo
  function longitud_minima(parametro,largo)
   {
   cade=parametro
   if (cade.length<largo)
   errStr = "1";
   }


  //Funci&oacute;n que comprueba que el campo no este vacío
  function vacio(parametro)
   {
   nom=new String(parametro);
   if (nom=="")
   errStr = "1";
   }

   //Funci&oacute;n que comprueba que el contenido del campo sea numerico
  function numerico(parametro)
   {
   comprobar=parametro;
   if (isNaN(comprobar)==true)
    {
    errStr = "1";
    }
   }

  //Funci&oacute;n que comprueba que el del campo tenga algun numero
   function haynumeros(parametro)
   {
   nom=new String(parametro);
   nom=nom.toLowerCase()
   if (nom.indexOf("1")<0 && nom.indexOf("2")<0 && nom.indexOf("3")<0 && nom.indexOf("4")<0 && nom.indexOf("5")<0 && nom.indexOf("6")<0 && nom.indexOf("7")<0 && nom.indexOf("8")<0 && nom.indexOf("9")<0)
   errStr = "1";
   }

	

  //Funci&oacute;n que comprueba que el del campo sea un nº de telefono
   function es_telefono(texto)
	 {

		var vocales = "0123456789";
		var errStrX = "0";
		if (texto.length>0) {

			for(i = 0; i < texto.length; i++)
				{
				if (vocales.indexOf(texto.charAt(i)) == -1) { errStrX = "1"; }
				}
			if (texto.length < 9) { errStrX = "1"; }

		}
		return errStrX;
	}
	//Funci&oacute;n que comprueba que el del campo sea un nº de telefono
   function es_movil(texto)
	 {

		var vocales = "0123456789";
		var errStrX = "0";
		if (texto.length>0) {
		
			for(i = 0; i < texto.length; i++)
			{
			if (vocales.indexOf(texto.charAt(i)) == -1) { errStrX = "1"; }
			}			
			if (texto.length < 9) { errStr = "1"; }
			
			if (texto.charAt(0) != "6") { errStrX = "1"; }

		}
		return errStrX;
	}


   //Funci&oacute;n que comprueba que el del campo sea un mail
   function es_mail(texto)
	 {

     // Comprueba que el campo email es valido.
	 var cemail = texto;
	 resul1 = cemail.indexOf("@"); resul2 = cemail.lastIndexOf(".");
	 if (resul1 == -1 || resul2 == -1 || resul2 < resul1)
	   {
	   errStr = "1";
	   }
	 }

   function quitar_comitas(parametro)
	 {
	 campo=parametro
	 n=campo.indexOf("'");
	 while (n>=0)
		 {
		 campo=campo.replace("'",'');
		 n=campo.indexOf("'");
		 }
	 return(campo);
	 }

	 function quitar_guion(parametro)
	 {
	 campo=parametro
	 n=campo.indexOf("-");
	 while (n>=0)
		 {
		 campo=campo.replace("-",'');
		 n=campo.indexOf("-");
		 }
	 return(campo);
	 }



//Funci&oacute;n que comprueba que el campo no este relleno por puntos o asteriscos
  
function correcto(parametro)
	 {
	 campo=parametro
	 n=campo.indexOf(".");
	 while (n>=0)
		 {
		 campo=campo.replace(".","");
		 n=campo.indexOf(".");
		 }
	n=campo.indexOf("*");
	 while (n>=0)
		 {
		 campo=campo.replace("*","");
		 n=campo.indexOf("*");
		 }
	n=campo.indexOf("+");
	while (n>=0)
		 {
		 campo=campo.replace("+","");
		 n=campo.indexOf("+");
		 }
	n=campo.indexOf("$");
	while (n>=0)
		 {
		 campo=campo.replace("$","");
		 n=campo.indexOf("$");
		 }
	n=campo.indexOf("#");
	while (n>=0)
		 {
		 campo=campo.replace("#","");
		 n=campo.indexOf("#");
		 }
	 return(campo);
	 }

 
 	function checkeado(campo){
   
		valor = eval("document.form_contacta."+campo+".checked");			
		return valor;

   }


 // Funcion a la que llama el boton aceptar, comienza la comprobacion de campos.
function validar() {
//	window.onbeforeunload = null;
	datos();
//	window.onbeforeunload = fin_formulario;
	
}
 
function datos()
{
	var formulario = document.form_contacta;
    errStr="";	
	if (errStr=="")
	{
		nombreValue = correcto(formulario.Nombre.value);		
		formulario.Nombre.value = nombreValue;
		vacio(nombreValue);
	}
	
	if (errStr!="")
	{
		alert("El nombre no es correcto o está vacío. Por favor, revísalo");
		formulario.Nombre.focus();
		return;
	}

	if (errStr=="")
	{
		apellidosValue = correcto(formulario.Apellidos.value);		
		formulario.Apellidos.value = apellidosValue;
		vacio(apellidosValue);
	}
	
	if (errStr!="")
	{
		alert("Los apellidos no son correctos o están vacíos. Por favor, revísalos");
		formulario.Apellidos.focus();
		return;
	}

	if (errStr=="")
	{
		emailValue = formulario.Email.value;
		vacio(emailValue);
	}
	
	if (errStr!="")
	{
		alert("El email está vacío. Por favor, revísalo");
		formulario.Email.focus();
		return;
	}

	if (errStr=="")
	{
		emailValue = formulario.Email.value;
		es_mail(emailValue);
	}
	
	if (errStr!="")
	{
		alert("El email no es correcto. Por favor, revísalo");
		formulario.Email.focus();
		return;
	}

	if (errStr=="")
	{
		motivoValue = formulario.Motivo.value;
		vacio(motivoValue);
	}

	if (errStr!="")
	{
		alert("El motivo de la consulta está vacío. Por favor, revísalo");
		formulario.Motivo.focus();
		return;
	}


	if (errStr=="")
	{
		if (!checkeado('condiciones')) 
		{
			errStr = 1;
		}
	}

	if  (errStr!="")
	{
		alert("Por favor, lee y acepta la política de privacidad del site");
		formulario.condiciones.focus();
		return;
	}

	if  (errStr=="") 
	{
		aceptado();
	}
	else
	{
		alert(errStr);
	}

}//fin funcion datos()

function aceptado() {
		formateo();
		d = document.form_contacta;
		d.submit();
	}
	function formateo() {
		d = document.form_contacta;
		alert(d.nombre.value)
		d.nombre.value = URLEncode(d.nombre.value);
		alert(d.nombre.value)
	}
	function URLEncode(plaintext) {
		// The Javascript escape and unescape functions do not correspond
		// with what browsers actually do...
		var SAFECHARS = "0123456789" +					// Numeric
						"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
						"abcdefghijklmnopqrstuvwxyz" +
						"-_.!~*'()";					// RFC2396 Mark characters
		var HEX = "0123456789ABCDEF";
	
		//var plaintext = document.URLForm.F1.value;
		var encoded = "";
		for (var i = 0; i < plaintext.length; i++ ) {
			var ch = plaintext.charAt(i);
				if (ch == " " && false) {
					encoded += "+";				// x-www-urlencoded, rather than %20
			} else if (SAFECHARS.indexOf(ch) != -1) {
					encoded += ch;
			} else {
					var charCode = ch.charCodeAt(0);
				if (charCode > 255) {
						alert( "Unicode Character '" 
													+ ch 
													+ "' cannot be encoded using standard URL encoding.\n" +
										"(URL encoding only supports 8-bit characters.)\n" +
								"A space (+) will be substituted." );
					encoded += "+";
				} else {
					encoded += "%";
					encoded += HEX.charAt((charCode >> 4) & 0xF);
					encoded += HEX.charAt(charCode & 0xF);
				}
			}
		} // for
	
		return(encoded);
	}
	function URLDecode(encoded)
	{
		 // Replace + with ' '
		 // Replace %xx with equivalent character
		 // Put [ERROR] in output if %xx is invalid.
		 var HEXCHARS = "0123456789ABCDEFabcdef"; 
		 //var encoded = document.URLForm.F2.value;
		 var plaintext = "";
		 var i = 0;
		 while (i < encoded.length) {
				 var ch = encoded.charAt(i);
			 if (ch == "+") {
					 plaintext += " ";
				 i++;
			 } else if (ch == "%") {
				if (i < (encoded.length-2) 
						&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
						&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
					plaintext += unescape( encoded.substr(i,3) );
					i += 3;
				} else {
					alert( 'Bad escape combination near ...' + encoded.substr(i) );
					plaintext += "%[ERROR]";
					i++;
				}
			} else {
				 plaintext += ch;
				 i++;
			}
		} // while
		 return(plaintext);
	}
