

function eliminaEspacios(cadena)
{

	// Funcion para eliminar espacios delante y detras de cada cadena
	while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
	while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
	return cadena;
}

function campoError(campo,errores)
{
	campo.className="campos_form_error";
	errores.style.display = 'block';
	
	error=1;
}
function campoBueno(campo,errores)
{
	campo.className="campos_form";
	errores.style.display = 'none';
	
	//error=1;
}
function campoError2(campo,errores)
{
	campo.className="campos_form2_error";
	errores.style.display = 'block';
	
	error=1;
}
function campoBueno2(campo,errores)
{
	campo.className="campos_form2";
	errores.style.display = 'none';
	
	//error=1;
}

function validaLongitud(valor, permiteVacio, minimo, maximo)
{
	var cantCar=valor.length;
	if(valor=="")
	{
		if(permiteVacio) return true;
		else return false;
	}
	else
	{
		if(cantCar>=minimo && cantCar<=maximo) return true;
		else return false;
	}
}
function validacp(valor)
{
	var reg=/^\d{4,5}$/;   // expresion regular para solo numeros
	if(reg.test(valor)) return true;
	else return false;
}
function validatelefono(valor)
{
	var reg=/^\d{9,11}$/;   // expresion regular para solo numeros
	if(reg.test(valor)) return true;
	else return false;
}

function validaCorreo(valor)
{
	var reg=/(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
	if(reg.test(valor)) return true;
	else return false;
}

//************************************************************************************************************************/
//********************************************    VALIDAR NIF /CIF     ***********************************************************/
function nifcif(valor){	
	
		var li_ret = 0;
	
	// Averigua si es NIF o CIF (Si lleva la letra al principio, es CIF)
	var lb_esNIF=(!isNaN(valor.substr(0, 1)));
	var lb_esCIF=(!isNaN(valor.substr(valor.length -1, 1)));

	
	if (lb_esNIF) {
		// Separa los números y las letras
			if(f_LetraNIF(valor))
			   return true;
	}
	
	if (lb_esCIF) {
		// Verifica que sea CIF
		if(f_ValidarCIF(valor))
		   return true;
	};
		
	
		return false;
	
}

//	Retorno	string	La letra correspondiente
//
function f_LetraNIF (abc) {
	dni=abc.substring(0,abc.length-1);	
	let=abc.charAt(abc.length-1);	
	if (!isNaN(let)) 
	{		
	//alert('Falta la letra');		
		return false;	
	}
	else
	{		
		cadena = "TRWAGMYFPDXBNJZSQVHLCKET";		
		posicion = dni % 23;		
		letra = cadena.substring(posicion,posicion+1);	
		if(letra!=let.toUpperCase())
		{			
			return false;		
		}	
	}	

	return true;
}


function f_ValidarCIF(dni) {
	var cif = dni;
	//var error:String = new String();
	var par = 0;
	var non = 0;
	var letras = "ABCDEFGHKLMNPQS";
	var let = cif.charAt(0);
	
	//txtletradni.text = txtletradni.text.toUpperCase();
	if(cif.length != 9){
			return false;
	}
	
	if (letras.indexOf(let.toUpperCase())==-1)
 	 {
		 return false;
 	 }
		
		for (var zz=2;zz<8;zz+=2)
		  {
		  var par = par+parseInt(cif.charAt(zz));
		  }
		
		for (var zz=1;zz<9;zz+=2)
		  {
			  var nn = 2*parseInt(cif.charAt(zz));
			  if (nn > 9) nn = 1+(nn-10);
			  var non = non+nn;
		  }
		
			var parcial = par + non;
		
			var control = (10 - ( parcial % 10));
			if (control!=cif.charAt(8))
			  {
			  return false;
			  }
			
	return true;
}

//************************************************************************************************************************/
//************************************************************************************************************************/


function validaForm(){
	form=document.getElementById("form_cesta");
	error=0;	
	
	var rsocial=eliminaEspacios(form.rsocial.value);
	var apellidos=eliminaEspacios(form.apellidos.value);
	var email=eliminaEspacios(form.email.value);
	var dni=eliminaEspacios(form.dni.value);
	var direccion=eliminaEspacios(form.direccion.value);
	var poblacion=eliminaEspacios(form.poblacion.value);
	var cp=eliminaEspacios(form.cp.value);
	
	var nombre_e=eliminaEspacios(form.nombre_e.value);
	var apellidos_e=eliminaEspacios(form.apellidos_e.value);
	var direccion_e=eliminaEspacios(form.direccion_e.value);
	var poblacion_e=eliminaEspacios(form.poblacion_e.value);
	var cp_e=eliminaEspacios(form.cp_e.value);
	var tlf_e=eliminaEspacios(form.tlf_e.value);

	var apellidos_error=document.getElementById('apellidos_error');
	var rsocial_error=document.getElementById('rsocial_error');
	var email_error=document.getElementById('email_error');
	var direccion_error=document.getElementById('direccion_error');
	var dni_error=document.getElementById('dni_error');
	var poblacion_error=document.getElementById('poblacion_error');
	var cp_error=document.getElementById('cp_error');
	
	var nombre_e_error=document.getElementById('nombre_e_error');
	var apellidos_e_error=document.getElementById('apellidos_e_error');
	var direccion_e_error=document.getElementById('direccion_e_error');
	var poblacion_e_error=document.getElementById('poblacion_e_error');
	var cp_e_error=document.getElementById('cp_e_error');
	var tlf_e_error=document.getElementById('tlf_e_error');

	/*if(!validaLongitud(nombre, 0, 1, 50)) campoError(form.nombre,nombre_error);
	if(validaLongitud(nombre, 0, 1, 50)) campoBueno(form.nombre,nombre_error);	*/
	if(!validaLongitud(nombre_e, 0, 1, 50)) campoError(form.nombre_e,nombre_e_error);
	if(validaLongitud(nombre_e, 0, 1, 50)) campoBueno(form.nombre_e,nombre_e_error);	
	
	if(!validaLongitud(apellidos, 0, 1, 70)) campoError(form.apellidos,apellidos_error);
	if(validaLongitud(apellidos, 0, 1, 70)) campoBueno(form.apellidos,apellidos_error);
	if(!validaLongitud(apellidos_e, 0, 1, 70)) campoError(form.apellidos_e,apellidos_e_error);
	if(validaLongitud(apellidos_e, 0, 1, 70)) campoBueno(form.apellidos_e,apellidos_e_error);
	
	if(!validaLongitud(rsocial, 0, 1, 70)) campoError(form.rsocial,rsocial_error);
	if(validaLongitud(rsocial, 0, 1, 70)) campoBueno(form.rsocial,rsocial_error);
	
	if(!validaLongitud(direccion, 0, 1, 80)) campoError(form.direccion,direccion_error);
	if(validaLongitud(direccion, 0, 1, 80)) campoBueno(form.direccion,direccion_error);
	if(!validaLongitud(direccion_e, 0, 1, 80)) campoError(form.direccion_e,direccion_e_error);
	if(validaLongitud(direccion_e, 0, 1, 80)) campoBueno(form.direccion_e,direccion_e_error);
	
	if(!validaLongitud(poblacion, 0, 1, 50)) campoError(form.poblacion,poblacion_error);
	if(validaLongitud(poblacion, 0, 1, 50)) campoBueno(form.poblacion,poblacion_error);
	if(!validaLongitud(poblacion_e, 0, 1, 50)) campoError(form.poblacion_e,poblacion_e_error);
	if(validaLongitud(poblacion_e, 0, 1, 50)) campoBueno(form.poblacion_e,poblacion_e_error);
	
	if(!nifcif(dni)) campoError(form.dni,dni_error);
	if(nifcif(dni)) campoBueno(form.dni,dni_error);

	if(!validatelefono(tlf_e)) campoError(form.tlf_e,tlf_e_error);
	if(validatelefono(tlf_e)) campoBueno(form.tlf_e,tlf_e_error);

	if(!validacp(cp)) campoError2(form.cp,cp_error);
	if(validacp(cp)) campoBueno2(form.cp,cp_error);
	if(!validacp(cp_e)) campoError2(form.cp_e,cp_e_error);
	if(validacp(cp_e)) campoBueno2(form.cp_e,cp_e_error);
	
	if(!validaCorreo(email)) campoError(form.email,email_error);
	if(validaCorreo(email)) campoBueno(form.email,email_error);

	if(error==1)
	{
		document.getElementById("mensajito_error").style.display='block';
	}
	
	if(error!=1)
	{	
	  document.getElementById("mensajito_error").style.display='none';
	  form.submit();
	}
}

function autorellenar(){	   
   form=document.getElementById("form_cesta");
   
   if(document.getElementById("rellenar").checked == true){
		form.nombre_e.value = form.nombre.value;
		form.apellidos_e.value = form.apellidos.value;
		form.direccion_e.value = form.direccion.value;
		form.poblacion_e.value = form.poblacion.value;
		form.provincia_e.value = form.provincia.value;
		form.cp_e.value = form.cp.value;
   }else{
	    form.nombre_e.value = "";
		form.apellidos_e.value = "";
		form.direccion_e.value = "";
		form.poblacion_e.value = "";
		form.cp_e.value = "";
		form.tlf_e.value = "";
	 }
}

