//variabili globali
var stato = { car : 0, modo_spec : false, risposta : "" }
var frase = "O grande oracolo rispondi:"

function valida(e) {
  var keynum;
  var keychar;
  var invocazione = document.getElementById('invo');

  if(window.event) { keynum = e.keyCode; } // IE
  else if(e.which) { keynum = e.which; } // Netscape, ecc.

  keychar = String.fromCharCode(keynum);

  if (keychar == '.') {
    if (!stato.modo_spec) {
      stato.modo_spec = true;
      invocazione.value = invocazione.value.concat(frase.charAt(stato.car));
      //alert(frase.charAt(stato.car));
      stato.car++;
      return false;
    }
    if (stato.modo_spec) {
      stato.modo_spec = false;
      invocazione.value = invocazione.value.concat(frase.charAt(stato.car));
      //alert(frase.charAt(stato.car));
      stato.car++;
      return false;
    }
  }

  if (stato.modo_spec) {
    stato.risposta = stato.risposta.concat(keychar);
    invocazione.value = invocazione.value.concat(frase.charAt(stato.car));
    stato.car++;
    //alert(stato.risposta);
    return false;
  }

  if (keychar == ':') {
    invocazione.value = invocazione.value.concat(":");
    var domanda = document.getElementById('dom');
    domanda.focus();
    return false;
  }
  stato.car++;
  return true;
}

function rispondi(e) {
  var invocazione = document.getElementById('invo');
  if (invocazione.value != frase) {
    alert("L'oracolo risponde : formula meglio la tua invocazione");
  }
  else alert("L'oracolo risponde : " + stato.risposta);
}

function resetta(e) {
  //alert("Reset!");
  stato.car = 0;
  stato.modo_spec = false;
  stato.risposta = "";
  return true;
}

function interroga(e) {
  var keynum2;
  var keychar2;

  if(window.event) { keynum2 = e.keyCode; } // IE
  else if(e.which) { keynum2 = e.which; } // Netscape, ecc.
  
  keychar2 = String.fromCharCode(keynum2);
  
  return true;
}
