// JavaScript Document

//	Comprueba que la letra introducida es la correcta
function f_LetraNIF(dni) {
  numero = dni.substr(0,dni.length-1);
  let = dni.substr(dni.length-1,1);
  numero = parseInt(numero) % 23;
  letra = "TRWAGMYFPDXBNJZSQVHLCKET";
  letra = letra.substring(numero,numero+1);
  if (letra != let){
    return false;
	}else{
		return true;
	}
	
}

//	Valida el número de tarjeta de credito
function EsCCValido(sTarjeta){
	
	var iPeso = 0;
	var iDigito = 0; 
	var iSuma = 0;
	var iContador; 
	var sNuevaTarjeta = 0;
	var cCaracter = "";
	
	//Reemplazar cualquier no digito por una cadena vacía
	for (iContador = 0; iContador<sTarjeta.length; iContador++){
		cCaracter = sTarjeta.substr(iContador, 1);
		if (isFinite(cCaracter)==true) {
			sNuevaTarjeta = sNuevaTarjeta + cCaracter;
		}
	}
	
	// Si es 0 devolver Falso
	if (sNuevaTarjeta == 0){
		return false;
	}
	
	// Si el número de dígitos es par el primer peso es 2, de lo 
	// contrario es 1
	if ((sNuevaTarjeta.length%2) == 0 ){
		iPeso = 2;
	}else{
		iPeso = 1;
	}
	
	for (iContador = 0 ; iContador<sNuevaTarjeta.length ; iContador++){
		iDigito = sNuevaTarjeta.substr (iContador, 1) * iPeso;
		if (iDigito > 9) {
			iDigito = iDigito - 9;
		}
		
		iSuma = iSuma + iDigito;
		
    // Cambiar peso para el siguiente dígito
		if (iPeso == 2) {
			iPeso = 1;
		}else{
			iPeso = 2;
		}
	} 
	
	// Devolver verdadero si la suma es divisible por 10
	if ((iSuma % 10) == 0){
		return true;
	}else{
		return (false);
	}

}
