
//funcion que devuelve el nombre de arcano segun el numero resultante de calcular
function valores(valor){
	var n = new Number(valor);
	var v = new Array("","","","","","El Sumo Sacerdote","El Enamorado","El Carro","La Fuerza","El Hermitaņo","La Rueda","La Justicia","El Colgado","La Muerte","La Templanza","El Diablo","La Torre","La Estrella","La Luna","El Sol","El Juicio","El Mundo","El Loco");
	var x = v[n];
	return x;
}
// funcion que reduce los 
function reducir(dig) {
	var valor = new String(dig);
	var primerD =  valor.substring(1,2);
	var segundoD = valor.substring(0,1);
	var primerDN= new Number(primerD);
	var segundoDN= new Number(segundoD);
	var total =primerDN + segundoDN;
	return total;
}
function calcular(control){
	
	var uno,dos,tres; // declaracion de variables
	var expresion = control.value; // asignacion de datos a variable
	var re = /-/g; // caracter a reemplazar "-"
	var fecha= expresion.replace(re,""); // reemplazo de caracteres "-"
	
	uno = fecha.substring(0,2); // asignacion de dia a variable
	dos = fecha.substring(2,4); // asignacion de mes a variable
	tres= fecha.substring(4,8); // asignacion de aņo a variable

	// reemplazando tipo de dato string  a numerico
	var unoss= new Number(uno); 
	var doss = new Number(dos); 
	var tress= new Number(tres)

	var resultado = unoss + doss + tress; // suma de las variable

	if (resultado > 22){ // preguntar si la suma es mayor a 22, si es asi descompone el valor de aņo para hacer el siguiente paso.
		var a,b,c,d,es,suma ; // declaracion de variables
		
		a = tres.substring(3,4); // cuarto numero del aņo
		b = tres.substring(2,3); // tercero 
		c = tres.substring(1,2); // segundo
		d = tres.substring(0,1); // primero
		
		var ass= new Number(a);
		var bss= new Number(b);
		var css= new Number(c);
		var dss= new Number(d);
		
		agno = ass + bss + css + dss; // suma de los numeros del aņo

		suma = agno + unoss + doss; // suma del dia, mes y el resultado de la suma de los digitos del aņo 
		//alert(suma);

		if (suma > 22){
			// pregunto cual es el numero mayor es - unoss o doss (es es el resultado de las sumas de los digitos del aņo)
			
			// pregunto si "aGNO" es mayor que "doss"(mes) y "unoss"(dia) para poder rebajar "agno"
					

			if (agno >= doss && agno >= unoss){
				//alert("aņo mayor");
				// ir a funcion que reduce los digitos de agno
				var valorAG = reducir(agno);
				var summa = valorAG + doss + unoss;
				
				// pregunto si summa es mayor a 22
					if (summa > 22){
						if (valorAG < 10 && doss < 10 && unoss < 10){
							var excepcion = reducir(summa);
							alert("Numero Arcano= "+ excepcion +" -> "+ valores(excepcion));
						}else{
							
							//reduccion dia solo si es mayor a mes y aņo
							if (unoss > doss && unoss > valorAG){
								
								var valorD = reducir(unoss);
								var mayor = valorD + doss + valorAG;
								//alert("mayor");
								if (mayor > 22){
									// si aņo es mayor que mes reduzco aņo
									if (valorAG >=doss){
										
										var valorAGn = reducir(valorAG);
										var mayorM = valorD + doss + valorAGn;
										
										if (mayorM > 22){
											var valorM = reducir(doss);
											var mayorMn = valorD + valorM + valorAGn;
											alert("Numero Arcano= "+ mayorMn +" -> "+ valores(mayorMn));
										}else{
											alert("Numero Arcano= "+ mayorM +" -> "+ valores(mayorM));
										}
									}else if(doss >= valorD){ // si mes es mayor que aņo
										var valorM = reducir(doss);
										var mayorD = valorD + valorM + valorAG;
										if (mayorD > 22){
											var valorAGn= reducir(valorAG);
											var mayorAGn= valorD + valorM + valorAGn ;
											alert("Numero Arcano= "+ mayorAGn +" -> "+ valores(mayorAGn));
										}else{
											alert("Numero Arcano= "+ mayorD +" -> "+ valores(mayorD));
										}
										
									}
								}else{
									alert("Numero Arcano= "+ mayor +" -> "+ valores(mayor));
								}
							} // fin reduccion dia solo si es mayor a mes y aņo


							// reduccion mes solo si es mayor aņo y dia o igual a dia
								 if (doss >= unoss && doss > valorAG){
									var valorM = reducir(doss);
									var mayor = valorM + unoss + valorAG;
									if (mayor > 22){
										
										// si aņo es mayor que dia reduzco aņo
										if (valorAG >=unoss){
											var valorAGn = reducir(valorAG);
											var mayorM = unoss + valorM + valorAGn;
											alert("Numero Arcano= "+ mayorM +" -> "+ valores(mayorM));
										}else{ // si dia es mayor que aņo
											var valorD = reducir(unoss);
											var mayorD = valorD + valorM + valorAG;
											
											alert("Numero Arcano= "+ mayorD +" -> "+ valores(mayorD));
										}
								}else{
									alert("Numero Arcano= "+ mayor +" -> "+ valores(mayor));
								}
							} // fin reduccion mes solo si es mayor

							// reduccion aņo mayor o igual a mes o dia
 
								 if (valorAG >= unoss && valorAG >= doss){
									
									var valorAGn = reducir(valorAG);
									var mayor = unoss + doss + valorAGn;
									if (mayor > 22){
										// si mes es mayor que aņo reduzco 
										if (unoss > valorAGn){
											var valorD = reducir(unoss);
											var mayorM = unoss + valorM + valorAGn;
											//alert(mayorM);
											if (mayorM > 22){
												var valorD = reducir(unoss);
												var mayorDD = valorD + valorM + valorAG;
												alert("Numero Arcano= "+ mayorDD +" -> "+ valores(mayorDD));
											}else{
												alert("Numero Arcano= "+ mayorM +" -> "+ valores(mayorM));
											}
											
										}else{ // si dia es mayor que aņo
											var valorD = reducir(unoss);
											var mayorD = valorD + valorM + valorAG;
											alert("Numero Arcano= "+ mayorD +" -> "+ valores(mayorD));
										}
								}else{
									alert("Numero Arcano= "+ mayor +" -> "+ valores(mayor));
								}
							} // fin reduccion mes solo si es mayor
							
							
													
						} // fin else

					} // fin if pregunta summa mayor a 22
					else {
						alert("Numero Arcano= "+ summa +" -> "+ valores(summa));
					} // fin else
			
			}//fin aņo mayor o igual  que mes y dia
			// preguntamos si mes es mayor que aņo y mayor o igual que dia
			
			else if(doss > agno && doss >= unoss) {
				var valorM = reducir(doss);
				var mayorM = unoss + valorM + agno;
				if (mayorM > 22){
					if (unoss < 10 && valorM < 10 && agno < 10){
						var excepcion = reducir(mayorM);
						alert("Numero Arcano= "+ excepcion +" -> "+ valores(excepcion));
					}else if(agno >=unoss && agno >= valorM){
						var valorAG = reducir(agno);
						var mayorAG = unoss + valorM + valorAG;
						alert("Numero Arcano= "+ mayorAG +" -> "+ valores(mayorAG));
					}else if(unoss > valorM && unoss > agno){
						var valorD = reducir(unoss);
						var mayorD = valorD + valorM + agno;
						alert("Numero Arcano= "+ mayorD +" -> "+ valores(mayorD));
					}
					
				}else{ // fin mes mayor
					alert("Numero Arcano= "+ mayorM +" -> "+ valores(mayorM));
				}	
			// pregunta si dia es mayor
			}else if (unoss > doss && unoss > agno ){
				var valorD = reducir(unoss);
				var mayorD = valorD + doss + agno;
				//alert(mayorD);
				if (mayorD > 22){
					//reducir agno solo si es mayor a 9
					if (agno > doss){
						var valorAG = reducir(agno);
						var mayorAG = valorD + doss + valorAG;
						if (mayorAG > 22){
							//reducimos mes
							var valorM = reducir(doss);
							var mayorM = valorD + valorM + valorAG;
							//alert(valorD +" "+ valorM +" "+ valorAG);
							
							if (mayorM > 22){
								
								if (valorD > valorAG){
									var valorDn = reducir(valorD);
									var mayorDn = valorDn + valorM + valorAG;
									if (mayorDn > 22){
										var finall= reducir(mayorDn);
										alert("Numero Arcano= "+ finall +" -> "+ valores(finall));
									}else{
									alert("Numero Arcano= "+ mayorDn +" -> "+ valores(mayorDn));
									}
								} 

							}else{

								alert("Numero Arcano= "+ mayorM +" -> "+ valores(mayorM));
							}
						}else{
							alert("Numero Arcano= "+ mayorAG +" -> "+ valores(mayorAG));
						}
						
					}else if(doss > agno){
						// reduccion mes si es mayor
						//alert("entro aqui");
						var valorM = reducir(doss);
						var mayorM = valorD + valorM + agno;
						alert("Numero Arcano= "+ mayorM +" -> "+ valores(mayorM));
					}
				}else{
					alert("Numero Arcano= "+ mayorD +" -> "+ valores(mayorD));
				}
			}
				
	
		}else{ // fin primera pregunta suma
			alert("Numero Arcano= "+ suma +" -> "+ valores(suma));
		}
	} // fin suma completa


}// fin