var cimek = [
  "A walesi bárdok",
  "Ágnes asszony",
  "Az örök zsidó",
  "Híd-avatás",
  "Szondi két apródja",
  "Tengerihántás",
  "Tetemre hívás",
  "V. László",
  "Vörös Rébék"
];

var balladak = [];

function init() {
  for (var i = 0; i < 4; i++) {
    let btn = document.createElement("input");
    btn.type = "button";
    btn.id = "btn" + i;
    btn.setAttribute("onclick", "answer(" + i + ")");
    document.getElementById("answers").appendChild(btn);
  }
  loadBallada(0);

}

function loadBallada(index) {
  if (index < cimek.length) {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        let vers = this.responseText.split("\r\n");
        buildBallada(vers, index);
        index++;
        loadBallada(index);
      }
    };
    xhttp.open("GET", "balladák/" + cimek[index] + ".txt", true);
    xhttp.send();
  }
}

function buildBallada(vers, i) {
  let versszak = 0;
  for (var j = 0; j < vers.length; j++) {
    if (vers[j] == "") {
      versszak++;
    }
  }
  let sorok = 0;
  balladak[i] = new Array(versszak);
  for (var vsz = 0; vsz < versszak; vsz++) {
    balladak[i][vsz] = new Array(vers.indexOf(""));
    for (var sor = 0; sor < balladak[i][vsz].length; sor++) {
      // console.log(sor + " " + sorok);
      balladak[i][vsz][sor] = vers[sorok];
      sorok++;
    }
    sorok++;
  }
}

function start() {
  console.log("started");
  document.getElementById("mainmenu").hidden = true;
  document.getElementById("game").hidden = false;
  document.getElementById("newgame").hidden = true;
  document.getElementById("pont").innerHTML = "Pontok: 0";
  round = 0;
  score = 0;
  nextRound();
}

var ballada, versszak;
var correctBallada;
var nums = [];
var round = 0;
var helped = false;
var score = 0;

function nextRound() {
  round++;
  document.getElementById("help").disabled = false;
  document.getElementById("help").value = "Segítség";
  document.getElementById("help").setAttribute("onclick", "help()");
  helped = false;
  for (var i = 0; i < 4; i++) {
    document.getElementById("btn" + i).style = "";
    document.getElementById("btn" + i).disabled = false;
  }
  document.getElementById("feladat").innerHTML = round + ". kör"
  ballada = Math.floor(Math.random() * balladak.length);
  versszak = Math.floor(Math.random() * balladak[ballada].length);
  document.getElementById("resz").innerHTML = balladak[ballada][versszak][0] + "<br>" + balladak[ballada][versszak][1];
  correctBallada = Math.floor(Math.random() * 4);
  for (var i = 0; i < cimek.length; i++) {
    nums[i] = i;
  }
  writeAnswer(0, correctBallada, ballada);
}

function writeAnswer(a, b, i) {
  if (a < 4) {
    document.getElementById("btn" + (b % 4)).value = cimek[i];
    nums.splice(nums.indexOf(i), 1);
    // console.log((b % 4) + " " + i);
    // console.log(nums);
    a++;
    b++;
    writeAnswer(a, b, nums[Math.floor(Math.random() * nums.length)]);
  }
}

function answer(answ) {
  if (answ == correctBallada) {
    score = helped ? score + 0.5 : score + 1;
  }
  else {
    document.getElementById("btn" + answ).style.backgroundColor = "red";
  }
  document.getElementById("btn" + correctBallada).style.backgroundColor = "lime";
  document.getElementById("pont").innerHTML = "Pontok: " + score;
  document.getElementById("help").value = round < 10 ? "Következő" : "Végtelen";
  document.getElementById("help").setAttribute("onclick", "nextRound()");
  document.getElementById("help").disabled = false;
  for (var i = 0; i < 4; i++) {
    document.getElementById("btn" + i).disabled = true;
  }
  if (round == 10) {
    alert("Elért pontszám: " + score + "/10");
    document.getElementById("newgame").hidden = false;
  }
}

function help() {
  helped = true;
  document.getElementById("resz").innerHTML = balladak[ballada][versszak].join("<br>");
  document.getElementById("help").disabled = true;
}
