//*********************************************************//
// JScript Powered by Rafael Faria [colaboration:Mariorez] //
//*********************************************************//

// Array com as letras
var aLetras = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

String.prototype.getNumber = function()
{
	var nSoma = 0;
	for (i=0;i<this.length;i++)
	{
		// Pega a letra do nome
		var cLetra = this.toUpperCase().substr(i,1);

		// Pega o número do array da letra
		nIndex = aLetras.getIndex(cLetra);
	
		// Verifica se os caracteres são válidos
		if (nIndex != 'invalid')
		{
			nSoma += parseInt((nIndex % 9)+1);
		}
	}
	
	nTotal = nSoma;

	while (nTotal.toString().length > 1)
	{
		var nSomaTmp = 0;
		for (i=0;i<nSoma.toString().length;i++)
		{
			nSomaTmp += parseInt(nSoma.toString().substr(i,1));
		}
		nTotal = nSoma = nSomaTmp;
	}
	
	return nTotal;
}

// Função para pegar o index da letra no array
Array.prototype.getIndex = function(_aLetra)
{
	for (var x=0; x<this.length;x++)
	{
		if (this[x] == _aLetra.toUpperCase())
			return x;
	}
	
	return 'invalid';
}


//Limpa Bordas Vermelhas
function limpa() {
	for(i=1;i<=9;i++) {
		document.getElementById("mae_"+[i]).style.display = "none";
		document.getElementById("nav_"+[i]).style.backgroundColor = "#49718B";
	}
}



Acent = /[ÂÁÀÃÊÉÈÎÍÌÔÓÒÕÛÚÙÜÇÑ]/g;
reA = /[ÂÁÀÃ]/g;
reE = /[ÊÉÈ]/g;
reI = /[ÎÍÌ]/g;
reO = /[ÔÓÒÕ]/g;
reU = /[ÛÚÙÜ]/g;
reC = /[Ç]/g;
reN = /[Ñ]/g;

function geraNum()
{
	obj = document.nomes;
	if ((obj.szNome.value != "") && (obj.szNome.value.length > 3))
	{
			//Substitui caracteres acentuados em "Seu Nome"
			upNome = obj.szNome.value.toUpperCase();
			if(upNome.search(Acent)!=-1) {
				Anome = upNome.replace(reA,"A");
				Enome = Anome.replace(reE,"E");
				Inome = Enome.replace(reI,"I");
				Onome = Inome.replace(reO,"O");
				Unome = Onome.replace(reU,"U");
				Cnome = Unome.replace(reC,"C");
				Nnome = Cnome.replace(reN,"N");
			}
			else {
				Nnome = upNome;
			}
			
			// Pega a numerologia do nome de quem está conferindo
			var numVoce = Nnome.getNumber();
			
			// Apaga os erros
			obj.szErro.style.display = "none";
			obj.szErro.value = "";
			
			//MOstra resultados
			limpa();
			document.getElementById("resultado").style.display = "block";
			document.getElementById("mae_"+numVoce).style.display = "block";
			document.getElementById("nav_"+numVoce).style.backgroundColor = "#FFAE4A";

	}
	else
	{
		document.getElementById("resultado").style.display = "none";
		obj.szErro.style.display = "block";
		obj.szErro.value = "Nome inválido";
	}
}