var tipoligono = ["triangulo","cuadrado","rectangulo","rombo","romboide","trapecio","circulo"];

var triangulom = ["0506","0508","0510","0605","0606","0607","0608","0609","0610","0706","0708","0710","0805","0806","0807","0808","0809","0810","0906","0908","0910","1005","1006","1007","1008","1009","1010"]
var cuadradom = ["0505","0606","0707","0808","0909","1010"]
var rectangulom = ["0506","0507","0508","0509","0510","0605","0607","0608","0609","0610","0705","0706","0708","0709","0710","0805","0806","0807","0809","0810","0905","0906","0907","0908","0910","1005","1006","1007","1008","1009"]
var rombom = ["0506","0508","0510","0605","0606","0607","0608","0609","0610","0706","0708","0710","0805","0806","0807","0808","0809","0810","0906","0908","0910","1005","1006","1007","1008","1009","1010"]
var romboidem = ["0505","0506","0507","0508","0509","0510","0605","0606","0607","0608","0609","0610","0705","0706","0707","0708","0709","0710","0805","0806","0807","0808","0809","0810","0905","0906","0907","0908","0909","0910","1005","1006","1007","1008","1009","1010"]
var trapeciom = ["050705","050706","050707","050708","050709","050710","050905","050906","050907","050908","050909","050910","060805","060806","060807","060808","060809","060810","061005","061006","061007","061008","061005","061005","070905","070906","070907","070908","070909","070910","081005","081006","081007","081008","081009","081010"]
var circulom = ["0101","0202","0303","0404","0505"];

var elementopog = 0;
var elemento = 0;

var poligono = "";
var poligonoanterior = "";
var poligonotexto = "";
var dato = "";
var base = 0;
var basemenor = 0;
var altura = 0;

var superficie = 0;

var imagenpoligono = "fondoblanco.gif"; //localizacion de la imagen
var imagenestrategia = "fondoblanco.gif"; //localizacion de la imagen de estrategia

var problematexto = ""; //texto del problema
var restotexto1 = ""; //resto de texto del problema para triángulo, rectangulo, rombo y romboide
var restotexto2 = ""; //resto de texto del problema para trapecio
var tipo1 = "";
var tipo2 = "";
var tipo3 = "";

var maximonivel = 5;

var archivo = "C:/poli01.txt"

//CONJUNTO DE FUNCIONES
function pregunta()
{
  //poner a cero el texto del problema
  problematexto = "";
  restotexto1 = "";
  restotexto2 = "";

  //sorteo de tipo de poligono
  elementopog = aleatorio(0,tipoligono.length-1);
  poligono = tipoligono[elementopog];
  while (poligonoanterior == poligono)
  {
    elementopog = aleatorio(0,tipoligono.length-1);
    poligono = tipoligono[elementopog];
  }
  
  //eliminar poligono sorteado del conjunto de poligonos
  if (tipoligono.length > 1)
  {
    tipoligono.splice(elementopog,1)
  }
  else
  {
    tipoligono = ["triangulo","cuadrado","rectangulo","rombo","romboide","trapecio","circulo"]
  }  
  poligonoanterior = poligono;

  //sorteo de datos
  base = 0;
  basemenor = 0;
  altura = 0;  
  switch (poligono)
  {
    case "triangulo":
      //sorteo de dato del triangulo
      elemento = aleatorio(0,triangulom.length-1);
      dato = triangulom[elemento];

      base = parseInt(dato.slice(0,2),10); //saca la base del dato y lo transforma en numerico
      altura = parseInt(dato.slice(2,5),10); //saca la base del dato y lo transforma en numerico
      superficie = base * altura / 2; //calcula la respuesta
      
      //pone los datos para el texto
      tipo1 = "altura";
      tipo2 = "base";
      restotexto1 = " y " + tipo1 + " " + altura + " m";
      break;
    case "cuadrado":
      //sorteo de dato del cuadrado
      elemento = aleatorio(0,cuadradom.length-1);
      dato = cuadradom[elemento];

      base = parseInt(dato.slice(0,2),10); //saca la base del dato y lo transforma en numerico
      altura = parseInt(dato.slice(2,5),10); //saca la base del dato y lo transforma en numerico
      superficie = base * altura; //calcula la respuesta

      //pone los datos para el texto
      tipo2 = "lado";
      break;
    case "rectangulo":
      //sorteo de dato del rectangulo
      elemento = aleatorio(0,rectangulom.length-1);
      dato = rectangulom[elemento];

      base = parseInt(dato.slice(0,2),10); //saca la base del dato y lo transforma en numerico
      altura = parseInt(dato.slice(2,5),10); //saca la base del dato y lo transforma en numerico
      superficie = base * altura; //calcula la respuesta

      //pone los datos para el texto
      tipo1 = "altura";
      tipo2 = "base";
      restotexto1 = " y " + tipo1 + " " + altura + " m";
      break;
    case "rombo":
      //sorteo de dato del rombo
      elemento = aleatorio(0,rombom.length-1);
      dato = rombom[elemento];
        
      altura = parseInt(dato.slice(0,2),10); //saca la altura del dato y lo transforma en numerico
      base = parseInt(dato.slice(2,5),10); //saca la base del dato y lo transforma en numerico
      superficie = base * altura / 2; //calcula la respuesta
      
      //pone los datos para el texto
      tipo2 = "diagonales";
      restotexto1 = " y " + altura + " m";
      break;
    case "romboide":
      //sorteo de dato del romboide
      elemento = aleatorio(0,romboidem.length-1);
      dato = romboidem[elemento];

      base = parseInt(dato.slice(0,2),10); //saca la base del dato y lo transforma en numerico
      altura = parseInt(dato.slice(2,5),10); //saca la altura del dato y lo transforma en numerico
      superficie = base * altura; //calcula la respuesta

      //pone los datos para el texto
      tipo1 = "altura";
      tipo2 = "base";
      restotexto1 = " y " + tipo1 + " " + altura + " m";
      break;
    case "trapecio":
      //sorteo de dato del trapecio
      elemento = aleatorio(0,trapeciom.length-1);
      dato = trapeciom[elemento];

      basemenor = parseInt(dato.slice(0,2),10); //saca la base menor del dato y lo transforma en numerico
      base = parseInt(dato.slice(2,4),10); //saca la base mayor del dato y lo transforma en numerico
      altura = parseInt(dato.slice(4,6),10); //saca la altura del dato y lo transforma en numerico
      superficie = (base + basemenor) / 2 * altura; //calcula la respuesta

      //pone los datos para el texto
      tipo1 = "altura";
      tipo2 = "base mayor";
      tipo3 = "base menor";
      restotexto2 = ", " + tipo3 + " " + basemenor + " m" + " y " + tipo1 + " " + altura + " m";
      break;
    case "circulo":
      //sorteo de dato del cuadrado
      elemento = aleatorio(0,circulom.length-1);
      dato = circulom[elemento];

      base = parseInt(dato.slice(0,2),10); //saca la base del dato y lo transforma en numerico
      altura = 3; //saca la base del dato y lo transforma en numerico
      superficie = base * base * altura; //calcula la respuesta

      //pone los datos para el texto
      tipo2 = "radio";
      break;
  }

  //eliminar dato sorteado del conjunto de datos
  switch (nivel)
  {
    case 1:
	  switch (poligono)
      {
        case "triangulo":
          if (triangulom.length > 1)
          {
            triangulom.splice(elemento,1)
          }
          else
          {
            triangulom = ["0606","0808","1005","1010"]
          }
          break;
        case "cuadrado":
          if (cuadradom.length > 1)
          {
            cuadradom.splice(elemento,1);
          }
          else
          {
            cuadradom = ["0505","0606","0707","0808","0909","1010"];
          }
          break;
        case "rectangulo":
          if (rectangulom.length > 1)
	      {
	        rectangulom.splice(elemento,1);
	      }
	      else
	      {
            rectangulom = ["0506","0507","0508","0509","0510","0605","0607","0608","0609","0610","0705","0706","0708","0709","0710","0805","0806","0807","0809","0810","0905","0906","0907","0908","0910","1005","1006","1007","1008","1009"];
	      }
          break;
        case "rombo":
 	      if (rombom.length > 1)
	      {
	        rombom.splice(elemento,1);
	      }
	      else
	      {
            rombom = ["0606","0808","1010"];
	      }
          break;
        case "romboide":
          if (romboidem.length > 1)
	      {
	        romboidem.splice(elemento,1);
	      }
	      else
	      {
            romboidem = ["0505","0506","0507","0508","0509","0510","0605","0606","0607","0608","0609","0610","0705","0706","0707","0708","0709","0710","0805","0806","0807","0808","0809","0810","0905","0906","0907","0908","0909","0910","1005","1006","1007","1008","1009","1010"];
	      }
          break;
        case "trapecio":
          if (trapeciom.length > 1)
	      {
	        trapeciom.splice(elemento,1);
	      }
	      else
	      {
            trapeciom = ["040804","041006","061004"];
	      }
          break;
        case "circulo":
          if (circulom.length > 1)
          {
            circulom.splice(elemento,1);
          }
          else
          {
            circulom = ["0101","0202","0303","0404","0505"];
          }
          break;
   	  }
	  break;
    case 2:
    case 3:
    case 4:
    case 5:
	  switch (poligono)
      {
        case "triangulo":
 	      if (triangulom.length > 1)
	      {
	        triangulom.splice(elemento,1);
	      }
	      else
	      {
	        triangulom = ["0506","0508","0510","0605","0606","0607","0608","0609","0610","0706","0708","0710","0805","0806","0807","0808","0809","0810","0906","0908","0910","1005","1006","1007","1008","1009","1010"];
	      }
          break;
        case "cuadrado":
 	      if (cuadradom.length > 1)
	      {
	        cuadradom.splice(elemento,1);
	      }
	      else
	      {
	        cuadradom = ["0505","0606","0707","0808","0909","1010"];
	      }
          break;
        case "rectangulo":
 	      if (rectangulom.length > 1)
	      {
	        rectangulom.splice(elemento,1);
	      }
	      else
	      {
            rectangulom = ["0506","0507","0508","0509","0510","0605","0607","0608","0609","0610","0705","0706","0708","0709","0710","0805","0806","0807","0809","0810","0905","0906","0907","0908","0910","1005","1006","1007","1008","1009"];
	      }
          break;
        case "rombo":
 	      if (rombom.length > 1)
	      {
	        rombom.splice(elemento,1);
	      }
	      else
	      {
            rombom = ["0506","0508","0510","0605","0606","0607","0608","0609","0610","0706","0708","0710","0805","0806","0807","0808","0809","0810","0906","0908","0910","1005","1006","1007","1008","1009","1010"];
	      }
          break;
        case "romboide":
 	      if (romboidem.length > 1)
	      {
	        romboidem.splice(elemento,1);
	      }
	      else
	      {
            romboidem = ["0505","0506","0507","0508","0509","0510","0605","0606","0607","0608","0609","0610","0705","0706","0707","0708","0709","0710","0805","0806","0807","0808","0809","0810","0905","0906","0907","0908","0909","0910","1005","1006","1007","1008","1009","1010"];
	      }
          break;
        case "trapecio":
          if (trapeciom.length > 1)
	      {
	        trapeciom.splice(elemento,1);
	      }
	      else
	      {
            trapeciom = ["050705","050706","050707","050708","050709","050710","050905","050906","050907","050908","050909","050910","060805","060806","060807","060808","060809","060810","061005","061006","061007","061008","061005","061005","070905","070906","070907","070908","070909","070910","081005","081006","081007","081008","081009","081010"];
	      }
          break;
        case "circulo":
 	      if (circulom.length > 1)
	      {
	        circulom.splice(elemento,1);
	      }
	      else
	      {
	        circulom = ["0101","0202","0303","0404","0505"];
	      }
          break;
   	  }
	  break;
  }
  
  //poner nombre del archivo de la imagen, en el caso del nivel 5 se corregirá posteriormente
 

  switch (poligono)
  {
    case "triangulo":
      poligonotexto = "triángulo";
	  break;
    case "rectangulo":
      poligonotexto = "rectángulo";
      break;
    case "circulo":
      poligonotexto = "círculo";
	  break;
    case "cuadrado":
    case "rombo":
    case "romboide":
    case "trapecio":
      poligonotexto = poligono;
      break;
  }


  problematexto = "Calcula el área de un " + poligonotexto + " de " + tipo2 + " " + base + " m" + restotexto1 + restotexto2;

  //lo siguiente es para probar, eliminarlo del programa
  //document.getElementById("tnivel").innerHTML = "Nivel: " + nivel + " / Respuesta: " + superficie.toString();

  document.getElementById("estrategia").innerHTML = " "; //borra de la pantalla la imagen de estrategia
  
  if (nivel == 5)
  {
    //pone en la pizarra el texto del problema
    document.getElementById("texto").innerHTML = "&nbsp;"; //Quita de pantalla el texto del problema
    if (poligono == "circulo")
    {
      document.getElementById("imagen").innerHTML = "<table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' width='85%'><tr><td width='100%'><p align='center'><font color='#FFFFFF'><b>" + problematexto + "</font><br><font color='red'>Redondea&nbsp;&pi;&nbsp;a&nbsp;3</b></font></td></tr></table>";
    }
    else
    {
      document.getElementById("imagen").innerHTML = "<table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' width='85%'><tr><td width='100%'><p align='center'><font color='#FFFFFF'><b>" + problematexto + "</b></font></td></tr></table>";
    }
  }
  else
  {
    document.getElementById("texto").innerHTML = problematexto; //pone en pantalla el texto del problema
    imagenpoligono = "imagenes/" + nivel + "/" + poligono + "/" + dato + ".gif";
    imagenestrategia = "imagenes/estrategia/" + dato + ".gif";
    document.getElementById("imagen").innerHTML = "<img src='" + imagenpoligono + "'>"; //pone en pantalla la imagen del poligono
    if (nivel == 1)
    {
      if (poligono == "triangulo")
      {
        if ((dato == "0606") || (dato == "0808") || (dato == "1005") || (dato == "1010"))
        {
          document.getElementById("estrategia").innerHTML = "Estrategia<br><img src='" + imagenestrategia + "'>"; //pone en pantalla la estrategia
        }
      }
      if (poligono == "rombo")
      {
        if ((dato == "0606") || (dato == "0808") || (dato == "1010"))
        {
          document.getElementById("estrategia").innerHTML = "Estrategia<br><img src='" + imagenestrategia + "'>"; //pone en pantalla la estrategia
        }
      }     
    }
  } 
  
  document.getElementById("respuesta").value = ""; //borra el cajon de texto de la respuesta
  document.getElementById("respuesta").focus(); //pone el foco en el cajon de texto de la respuesta
}

function respuestavalida()
{
  if (document.getElementById("respuesta").value == superficie)  //si la respuesta es válida
  {
    return true;
  }
  else
  {
    return false;
  }
}

function inicializardatosnivel()
{
  switch (nivel)
  {
    case 1:
      triangulom = ["0606","0808","1005","1010"];
      cuadradom = ["0505","0606","0707","0808","0909","1010"];
      rectangulom = ["0506","0507","0508","0509","0510","0605","0607","0608","0609","0610","0705","0706","0708","0709","0710","0805","0806","0807","0809","0810","0905","0906","0907","0908","0910","1005","1006","1007","1008","1009"];
      rombom = ["0606","0808","1010"];
      romboidem = ["0505","0506","0507","0508","0509","0510","0605","0606","0607","0608","0609","0610","0705","0706","0707","0708","0709","0710","0805","0806","0807","0808","0809","0810","0905","0906","0907","0908","0909","0910","1005","1006","1007","1008","1009","1010"];
	  trapeciom = ["040804","041006","061004"];
	  circulom = ["0101","0202","0303","0404","0505"];
	  break;
    case 2:
    case 3:
    case 4:
    case 5:
      triangulom = ["0506","0508","0510","0605","0606","0607","0608","0609","0610","0706","0708","0710","0805","0806","0807","0808","0809","0810","0906","0908","0910","1005","1006","1007","1008","1009","1010"];
      cuadradom = ["0505","0606","0707","0808","0909","1010"];
      rectangulom = ["0506","0507","0508","0509","0510","0605","0607","0608","0609","0610","0705","0706","0708","0709","0710","0805","0806","0807","0809","0810","0905","0906","0907","0908","0910","1005","1006","1007","1008","1009"];
      rombom = ["0506","0508","0510","0605","0606","0607","0608","0609","0610","0706","0708","0710","0805","0806","0807","0808","0809","0810","0906","0908","0910","1005","1006","1007","1008","1009","1010"];
      romboidem = ["0505","0506","0507","0508","0509","0510","0605","0606","0607","0608","0609","0610","0705","0706","0707","0708","0709","0710","0805","0806","0807","0808","0809","0810","0905","0906","0907","0908","0909","0910","1005","1006","1007","1008","1009","1010"];
	  trapeciom = ["050705","050706","050707","050708","050709","050710","050905","050906","050907","050908","050909","050910","060805","060806","060807","060808","060809","060810","061005","061006","061007","061008","061005","061005","070905","070906","070907","070908","070909","070910","081005","081006","081007","081008","081009","081010"];
	  circulom = ["0101","0202","0303","0404","0505"];
	  break;
  }
}