//funcion que comprueba si un n&uacute;mero de cuenta introducido es correcto
function esCorrecto(numeroCuenta){ 
	var valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6); 
	var controlCS = 0;
	var controlCC = 0; 
	for (i=0; i<=7; i++) 
		controlCS += parseInt(numeroCuenta.charAt(i)) * valores[i+2]; 
	controlCS = 11 - (controlCS % 11); 
	if (controlCS == 11) controlCS = 0; 
	else if (controlCS == 10) controlCS = 1; 
	
	for (i=10; i<=19; i++) 
		controlCC += parseInt(numeroCuenta.charAt(i)) * valores[i-10]; 
	controlCC = 11 - (controlCC % 11); 
	if (controlCC == 11) controlCC = 0; 
	else if (controlCC == 10) controlCC = 1; 
	
	if (numeroCuenta.charAt(8)==controlCS && numeroCuenta.charAt(9)==controlCC ) { 
		return true; 
	}else{ 
		return false; 
	} 
} 

function RevisaDNI(cadena) { 
	var dni = cadena; 
	letraNIE = dni.substr(0,1); 
	// compruebo si es un NIE  
	if ((letraNIE=="X") || (letraNIE=="x")) 
		numero = dni.substr(1,dni.length-2); 
	else 
		numero = dni.substr(0,dni.length-1);  
	let = dni.substr(dni.length-1,1); 
	let = let.toUpperCase(); 
	numero = numero % 23; 
	letra='TRWAGMYFPDXBNJZSQVHLCKET'; 
	letra=letra.substring(numero,numero+1); 
	if (letra!=let){ 
		return false;
	} 
	return true;  
	
}
function validarCIF(texto){ 
    var pares = 0; 
    var impares = 0; 
    var suma; 
    var ultima; 
    var unumero; 
    var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
    var xxx; 
     
    texto = texto.toUpperCase(); 
     
    var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
     if (!regular.exec(texto)) return false; 
          
     ultima = texto.substr(8,1); 

     for (var cont = 1 ; cont < 7 ; cont ++){ 
         xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
         pares += parseInt(texto.substr(cont,1)); 
     } 
     xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
     impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
      
     suma = (pares + impares).toString(); 
     unumero = parseInt(suma.substr(suma.length - 1, 1)); 
     unumero = (10 - unumero).toString(); 
     if(unumero == 10) unumero = 0; 
      
     if ((ultima == unumero) || (ultima == uletra[unumero])) 
         return true; 
     else 
         return false; 

}
    
    
function ValidarCliente(){
	var error = '';
	//codigo
	if(document.formcliente.accion_cliente.value == 'nuevo'){
		if(document.formcliente.codigo_cliente_as400.value=='')
			error = error + "Introduzca el Código del cliente.\n";
	}
	//nombre
	if(document.formcliente.nombre.value=='')
		error = error + "Introduzca el nombre del cliente.\n";
	//apellidos
//	if(document.formcliente.apellidos.value=='')
//		error = error + "Introduzca el Nombre Comercial del cliente.\n";
	if(document.formcliente.nif.value!='')
	{	
//		if((!RevisaDNI(document.formcliente.nif.value)) && (!validarCIF(document.formcliente.nif.value))){
//			error = error + "Introduzca un NIF válido.\n";
//		}
	}	
	
	//login
	if(document.formcliente.login.value=='')
		error = error + "Introduzca el campo Login del cliente.\n";
	if(document.formcliente.accion_cliente.value == 'nuevo'){
		//compruebo que se haya introducido la pass
		if(document.formcliente.password.value==''){
			error = error + "Introduzca la Password del cliente.\n";
		}else{
			//comprobamos que sea igual al segundo campo 
			if(document.formcliente.password.value != document.formcliente.password2.value){
				error = error + "Los campos Password introducidas no coinciden.\n";
				document.formcliente.password.value = '';
				document.formcliente.password2.value = '';
			}
		}
	}else if(document.formcliente.modificar_password.checked){
			//compruebo que se haya introducido la pass
			if(document.formcliente.password_m.value==''){
				error = error + "Introduzca la nueva Password del cliente.\n";
			}else{
				//comprobamos que sea igual al segundo campo 
				if(document.formcliente.password_m.value != document.formcliente.password_m2.value){
					error = error + "Los campos Password introducidas no coinciden.\n";
					document.formcliente.password_m.value = '';
					document.formcliente.password_m2.value = '';
				}
			}
	}
	
//	if(document.formcliente.iso3166.value=='ES'){
//		if(document.formcliente.provincia_id.value==''){
//			error = error + "Introduzca la provincia.\n";
//		}	
//	}
//	if(document.formcliente.n_cuenta.value){
//		if (!esCorrecto(document.formcliente.n_cuenta.value)){ 
//			error = error + "N&uacute;mero de cuenta no v&aacute;lido.\n";
//		} 	
//	}
//	if(document.formcliente.telefono.value){
//		if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(document.formcliente.telefono.value)){ 
//		}else{ 
//		error = error + "Telefono debe ser un tel&eacute;fono v&aacute;lido.\n";
//		} 	
//	}
//	if(document.formcliente.telefono2.value){
//		if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(document.formcliente.telefono2.value)){ 
//		}else{ 
//		error = error + "Telefono 2 debe ser un tel&eacute;fono v&aacute;lido.\n";
//		} 	
//	}
//	if(document.formcliente.fax.value){
//		if (/^([0-9\+\s\+\-\+\/\+\(\+\)\+\.])+$/.test(document.formcliente.fax.value)){ 
//		}else{ 
//		error = error + "Fax debe ser un tel&eacute;fono v&aacute;lido.\n";
//		} 	
//	}
	//valido los datos de acceso a ggcustomers
	if(document.formcliente.acceso_blanca.checked){
		if(document.formcliente.nombre_clave.value==''){
			error = error + "Debe introducir la palabra clave con la que se accederá a la versión blanca del cliente.\n";
		}
		if(document.formcliente.logo.value==''){
			//compruebo si ya tenia logo
			if(document.formcliente.tiene_logo.value == 'false')
				error = error + "Debe introducir el logo del cliente.\n";
		}
	}
	
	
	//si se ha producido algun error que salte la alerta
	if(error != "")
	{
		alert(error);
		return false;
	}
	//si no se ha producido ningun error, envia al formulario
	else
	{	
		
		document.formcliente.submit();
	}	

}

function validaNIF(){
	if(document.formcliente.nif.value!=''){	
		if((!RevisaDNI(document.formcliente.nif.value)) && (!validarCIF(document.formcliente.nif.value))){
			alert("Introduzca un NIF válido.\n");
			document.formcliente.nif.value = '';
			document.formcliente.login.value = '';
		}else{
			//rellenamos el campo login
			document.formcliente.login.value = document.formcliente.nif.value;
		}
	}else return false;
}
function validaNIFCliente(){
	if(document.formcliente.nif.value!=''){	
		if((!RevisaDNI(document.formcliente.nif.value)) && (!validarCIF(document.formcliente.nif.value))){
			if(!confirm('El NIF introducido no es correcto, ¿desea añadirlo de todas formas?')){
//				alert("Introduzca un NIF válido.\n");
				document.formcliente.nif.value = '';
				document.formcliente.login.value = '';
			}else{
				//rellenamos el campo login
				document.formcliente.login.value = document.formcliente.nif.value;
			}
		}else{
			//rellenamos el campo login
			document.formcliente.login.value = document.formcliente.nif.value;
		}
	}else return false;
}
function compruebaActivo(objeto){
	if(!objeto.checked) alert('Si el cliente no está activo, no podrá acceder a la extranet.');
	return false;
}

function noaceptaespacios(evt){
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57,'.' =46, ','=44
var key = nav4 ? evt.which : evt.keyCode;
return (key != 32 );
}