//VARIABLES DE TIEMPO
var temp_s  = null; //
var temporizador  = null; //

//VARIABLES BASICAS
var contadorbien = 0; //contador de respuestas acertadas
var contadormal = 0; //contador de respuestas falladas
var contadortotal = 0; //contador de respuestas contestadas

var contadortiempo = 0; //tiempo
var textotiempo = ""; //texto de teimpo que saldrá en pantalla
var contadortiempo10 = 0; //tiempo parcial

var contadorbien20 = 0; //contador de respuestas acertadas en los ultimos 20 segundos
var contadormal20 = 0; //contador de respuestas falladas en los ultimos 20 segundos

var contadortotal20 = 0; //
var bien20 = 0; //
var mal20 = 9; //

var activo10 = true; //si es TRUE indica que aún no se han respondido 10 bien en < de 20 segundos
var activo20 = false; //si es TRUE indica que se está en los últimos 20 segundos

var activo = false; //si es TRUE indica que el programa se está ejecutando
var erroractivo = false; //si es TRUE indica que el programa está advirtiendo al usuario que ha fallado
var registro1 = ""; //

var segundos = []; //
var aciertos = []; //
var contador10 = 0; // contador parcial -> si es 10 indica que se han respondido 10 bien en < de 20 segundos

var errortexto1 = "<font color='#FF0000'><b>No, son ";
var errortexto2 = "</b>&nbsp;&nbsp;&nbsp;</font><button type='button' onKeyDown='chequear(event)' onclick=erroraceptar() style='width: 60; height: 30'><img border='0' src='Aceptar.gif' width='24' height='25'></button>";


//CONJUNTO DE FUNCIONES
function erroraceptar()
{
  erroractivo = false;
  calculadoraon();
  document.getElementById("terror").innerHTML = "&nbsp;";
  document.getElementById("respuesta").focus();
  pregunta();
}

function actualS()
{
  contadortiempo = contadortiempo+1;  //aumenta el tiempo actual en 1 segundo
  if (activo10) //si aún no se han respondido 10 bien en < de 20 segundos
  {
    contadortiempo10 = contadortiempo10+1;  //aumenta el tiempo parcial en 1 segundo
  }
  if (contadortiempo == 39)
  {
    activo20 = true;  //se entra en los ultimos 20 segundos
  }
}

function validar()
{
  contadortotal = contadortotal+1
  document.getElementById("total").innerHTML = contadortotal.toString();
  if (activo20) //si estamos en los últimos 20 segundos
  {
    contadortotal20 = contadortotal20+1;
  }
  if (respuestavalida())  //si la respuesta es válida
  {
    contadorbien = contadorbien+1;  //contabiliza la respuesta como buena
    document.getElementById("bien").innerHTML = contadorbien.toString(); //contabiliza en pantalla la respuesta como buena
    
    if (activo10)  //si aún no se han respondido 5 bien en < de 10 segundos
    {
      if (contadortiempo != segundos[segundos.length-1]) //si el segundo actual NO ha sido computado como segundo con respuesta valida
      {
        segundos.push(contadortiempo); //computa el segundo actual como segundo con respuesta valida
        aciertos.push(1); //añade 1 respuesta valida al segundo actual
      }
      else //si el segundo actual ha sido computado como segundo con respuesta valida
      {
        aciertos[aciertos.length-1] = aciertos[aciertos.length-1]+1; //añade 1 respuesta valida al segundo actual
      }
      
      contador10 = contador10+1; //añade 1 al contador parcial
      
      if ((segundos[segundos.length-1]-segundos[0]) > 10) //si el tiempo parcial es mayor de 10 segundos
      {
        contador10 = contador10 - aciertos[0]; //elimina del contador parcial los aciertos del primer segundo contabilizado
        segundos.shift(); //elimina el primer segundo contabilizado
        aciertos.shift(); //elimina los aciertos del primer segundo contabilizado
        contadortiempo10 = segundos[segundos.length-1]-segundos[0]; //inicializa el tiempo parcial desde el primer segundo contestado
        
        if (contador10 < 5) //si no se han respondido 5 bien en < de 10 segundos
        {
          if (nivel > 1)
          {
            bajarnivel();
            ponernivel();
            inicializardatosnivel(); //se inicializan los datos de sorteo según el nivel
          }
        }
      }
      if (contador10 == 5) //si ya se han respondido 5 bien en < de 10 segundos
      {
        subirnivel(maximonivel);
        contador10 = 0;  //se inicializa el contador de respuestas parciales
        contadortiempo10 = 0; //se inicializa el tiempo parcial
        ponernivel();
        inicializardatosnivel(); //se inicializan los datos de sorteo según el nivel
        segundos = [];
        aciertos = [];
      }
      else
      {
      }
    }
    pregunta();
  }
  else  // si la respuesta NO es válida
  {
    contadormal = contadormal+1;  //contabiliza la respuesta como mala
    document.getElementById("mal").innerHTML = contadormal.toString(); //contabiliza en pantalla la respuesta como mala
  
    if (nivel > 1)
    {
      bajarnivel();
      ponernivel();
      inicializardatosnivel(); //se inicializan los datos de sorteo según el nivel
    }
    contador10 = 0;  //se inicializa el contador de respuestas parciales
    contadortiempo10 = 0; //se inicializa el tiempo parcial
    segundos = [];
    aciertos = [];
    erroractivo = true;
    calculadoraoff();
    document.getElementById("aceptarc").disabled=false; //habilita el boton ACEPTAR de la Calculadora
    document.getElementById("terror").innerHTML = errortexto1 + resultadoperacion + errortexto2;
  }
}

function iniciar()
{
  encenderluz();
  contadorbien = 0; //inicializa el contador de respuestas acertadas
  contadormal = 0; //inicializa el contador de respuestas falladas
  contadortotal = 0; //inicializa el contador de respuestas contestadas
  
  contadortiempo = 0; //incializa el tiempo
  contadortiempo10 = 0; //incializa el tiempo parcial
  
  contadorbien20 = 0; //incializa el contador de respuestas acertadas en los ultimos 20 segundos
  contadormal20 = 0; //incializa el contador de respuestas falladas en los ultimos 20 segundos
  
  contadortotal20 = 0; //
  bien20 = 0; //
  mal20 = 9; //
  segundos = []; //
  aciertos = []; //
  contador10 = 0; //
  
  activo10 = true; //aún no se han respondido 10 bien en < de 20 segundos
  activo20 = false; //no estamos en los ultimos 20 segundos
  
  document.getElementById("total").innerHTML = "0"; //
  document.getElementById("bien").innerHTML = "0"; //
  document.getElementById("mal").innerHTML = "0"; //
  document.getElementById("segundo").innerHTML = "0"; //
  nivel = 1; //
  ponernivel(); //

  inicializardatosnivel(); //se inicializan los datos de sorteo según el nivel

  pregunta(); //
  IniciarCrono();
}

function restablecer()
{
  apagarluz();
  DetenerCrono()

  document.getElementById("segundo").innerHTML = "2 m";
  registro1 = string3(contadorbien-(2*contadormal)) + " " + string3(contadorbien) + " " + string3(contadormal) + " " + alumno;
  if (contadortotal20 < 10)
  {
    bajarnivel();
  }
  else
  {
    if (contadorbien20 < 9)
    {
      bajarnivel();
    }
  }
  if (activo10 == false) //si se han respondido 10 bien en < de 20 segundos
  {
    subirnivel(maximonivel);
  }
  ponernivel();
  activo = false; //indica que el programa no se está ejecutando
  document.getElementById("tconta").innerHTML ="<img src='http://www.infoymate.net/scripts/livecntr.pl?h+7+suma' width=2 height=2 alt=''><applet codebase = 'http://www.infoymate.net/' code = 'LiveCounter.class' width = '90' height = '20'><param name = 'urlimage' value = 'http://www.infoymate.net/fuentes/tipo3_verde.gif'><param name = 'urlscript1' value = 'http://www.infoymate.net/scripts/livecnt1.pl'><param name = 'urlscript2' value = 'http://www.infoymate.net/scripts/livecnt2.pl'><param name = 'calloninit' value = '0'><param name = 'data' value = 'suma'>";
  insertarlineaordenada(archivo, registro1);
}