var operando1 = 0;
var resultado = 0;
function registro(botao){
	var visor = document.calculadora.visor.value;
	switch(botao) {
		case '1':
			document.calculadora.visor.value = document.calculadora.visor.value + "1";
			break;
		case "2":
			document.calculadora.visor.value = document.calculadora.visor.value + "2";
			break;
		case "3":
			document.calculadora.visor.value = document.calculadora.visor.value + "3";
			break;
		case "4":
			document.calculadora.visor.value = document.calculadora.visor.value + "4";
			break;
		case "5":
			document.calculadora.visor.value = document.calculadora.visor.value + "5";
			break;
		case "6":
			document.calculadora.visor.value = document.calculadora.visor.value + "6";
			break;
		case "7":
			document.calculadora.visor.value = document.calculadora.visor.value + "7";
			break;
		case "8":
			document.calculadora.visor.value = document.calculadora.visor.value + "8";
			break;
		case "9":
			document.calculadora.visor.value = document.calculadora.visor.value + "9";
			break;
		case "0":
			document.calculadora.visor.value = document.calculadora.visor.value + "0";
			break;
		case "ponto":
			var pontinho = visor.indexOf(".");
			if(pontinho < 0)
				document.calculadora.visor.value = document.calculadora.visor.value + ".";
			break;
		case "sinal":
			var visor2 = parseFloat(visor);
			visor2 = visor2 - (2 * visor2);
			document.calculadora.visor.value = visor2;
			break;
		case "C":
			document.calculadora.visor.value = "0";
			operando1 = 0;
			operando2 = 0;
			resultado = 0;
			break;
		case "inverte":
			var temp = parseFloat(visor);
			if(parseFloat(visor)==0)
				window.alert("Tu não podes inverter o zero, guri!");
			else {
				temp = 1/temp;
				document.calculadora.visor.value = temp;
			}
			break;
		case "exp":
			var temp = parseFloat(visor);
			temp = Math.exp(temp);
			document.calculadora.visor.value = temp;
			break;
		case "quad":
			var temp = parseFloat(visor);
			temp = temp*temp;
			document.calculadora.visor.value = temp;
			break;
		case "mais":
			operando1 = parseFloat(visor);
			operando2 = "+";
			document.calculadora.visor.value = "0";
			break;
		case "menos":
			operando1 = parseFloat(visor);
			operando2 = "-";
			document.calculadora.visor.value = "0";
			break;
		case "vezes":
			operando1 = parseFloat(visor);
			operando2 = "*";
			document.calculadora.visor.value = "0";
			break;
		case "divide":
			operando1 = parseFloat(visor);
			operando2 = "/";
			document.calculadora.visor.value = "0";
			break;
		case "raizes":
			operando1 = parseFloat(visor);
			operando2 = "rootche";
			document.calculadora.visor.value = "0";
			break;
		case "potencia":
			operando1 = parseFloat(visor);
			operando2 = "pote";
			document.calculadora.visor.value = "0";
			break;
		case "igual":
			if(operando2=="+")
				resultado = operando1 + parseFloat(visor);
			else if(operando2=="-")
				resultado = operando1 - parseFloat(visor);
			else if(operando2=="*")
				resultado = operando1 * parseFloat(visor);
			else if(operando2=="/") {
				if(parseFloat(visor)==0 && operando1==0)
					window.alert("Este cálculo trata-se de uma indeterminação, peão");
				else if(parseFloat(visor)==0 && operando1!=0)
					window.alert("Este cálculo é impossível de fazer, até mesmo para um gaúcho esperto, tchê!");
				else
					resultado = operando1 / parseFloat(visor);
			}
			else if(operando2=="rootche")
				resultado = Math.pow(operando1,(1/parseFloat(visor)));
			else if(operando2=="pote")
				resultado = Math.pow(operando1,parseFloat(visor));
			else
				resultado = operando1 / parseFloat(visor);
			document.calculadora.visor.value = resultado;
			break;	
	}
}