﻿function rand(minimum,maximum)  
 {  
  var losowe = minimum+(Math.random()*(maximum-minimum));  
  return Math.round(losowe);  
}  

// przechowuje odwołanie do obiektu XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject(); 

// zwraca obiekt XMLHttpRequest
function createXmlHttpRequestObject() 
{
  // przechowa odwołanie do obiektu XMLHttpRequest
  var xmlHttp;
  // jeśli uruchomiony jest Internet Explorer
  if(window.ActiveXObject)
  {
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // jeśli uruchomiona jest Mozilla lub inne przeglądarki
  else
  {
    try 
    {
      xmlHttp = new XMLHttpRequest();
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // zwraca utworzony obiekt lub wyświetla komunikat o błędzie
  if (!xmlHttp)
    alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  else 
    return xmlHttp;
}

// wysyła asynchroniczne żądanie protokołem HTTP korzystając z obiektu XMLHttpRequest
function modul_gra_intruz_nowa(gdzie,sciezka)
{
  // kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    // pobiera maila wpisanego przez użytkownika w formularzu
    //name = encodeURIComponent(document.getElementById("modul_newsletter_" + gdzie + "_input").value);
    //name = document.getElementById("modul_newsletter_" + gdzie + "_input").value;'
    //hasz
    
    document.getElementById('modul_gra_tw_dymek').innerHTML = window.gra_tw_lang4 + ": <b>3</b>";
    
    hasz = Math.random() * Date.parse(new Date());
    // wykonuje skrypt newslettera
    xmlHttp.open("GET", sciezka + "modul_gra_intruz.php?gdzie=" + gdzie + "&sciezka=" + sciezka + "&hasz=" + hasz, true);  
    // definiuje metodę obsługi odpowiedzi serwera
    xmlHttp.onreadystatechange = function(){ handleServerResponse(gdzie); };
    // wysyła żądanie do serwera
    xmlHttp.send(null);
    // komunikat loading
    wysokosc = document.getElementById("modul_gra_tw_" + gdzie).offsetHeight;
    document.getElementById("modul_gra_tw_" + gdzie).style.height = wysokosc + 'px';
    document.getElementById("modul_gra_tw_" + gdzie).innerHTML = '<div style="text-align:center; padding:30px 0px"><img alt="" src="' + sciezka + 'template/loading2.gif" /></div>';
    
  }
}

function modul_gra_intruz_odpowiedz(nr,id,sciezka) {

aktualny_etap = parseFloat(document.getElementById("gra_tw_aktualny_etap").value);
etapow = parseFloat(document.getElementById("gra_tw_etapow").value);
pozostalo_szans = parseFloat(document.getElementById("gra_tw_pozostalo_szans").value);
poprawnych = parseFloat(document.getElementById("gra_tw_poprawnych").value);

poprawna_odpowiedz = parseFloat(document.getElementById("gra_tw_poprawna" + aktualny_etap).value);

if(nr == poprawna_odpowiedz && poprawnych == etapow-1) {

  document.getElementById("modul_gra_tw_obr_" + pozostalo_szans).style.display = "none";
  document.getElementById("modul_gra_tw_obr_wygrana").style.display = "block";
  
  document.getElementById("modul_gra_tw_dymek").innerHTML = '<span style="color:green; font-weight:bold; font-size:19pt">' + window.gra_tw_lang8 + '</span>';
  document.getElementById("modul_gra_tw_dymek_odp").style.display = "none";
  document.getElementById("modul_gra_tw_dymek").style.display = "block";
  
  document.getElementById("modul_gra_tw_stan").style.width = "400px";
  document.getElementById("modul_gra_tw_stan").style.backgroundColor = "#68ff68";
  
  document.getElementById("modul_gra_tw_odpowiedzi").style.display = "none";
  
  document.getElementById("modul_gra_tw_pytanie").innerHTML= '<span style="font-size:22pt; font-weight:bold"><br />' + window.gra_tw_lang8 + '<br /><br /><a href="#" onclick="modul_gra_intruz_nowa(' + "'" + id + "','" + sciezka + "'" + '); return false;">' + window.gra_tw_lang1 + '</a></span>';
  
  

} else if(nr == poprawna_odpowiedz) {

  document.getElementById("modul_gra_tw_dymek_odp").innerHTML = '<span style="color:green; font-weight:bold">' + window.gra_tw_lang5 + '</span>';
  document.getElementById("modul_gra_tw_dymek_odp").style.display = "block";
  document.getElementById("modul_gra_tw_dymek").style.display = "none";
  
  document.getElementById("gra_tw_poprawnych").value = poprawnych + 1;
  
  document.getElementById("gra_tw_aktualny_etap").value = aktualny_etap + 1;
  
  nowa_odpowiedz0 = document.getElementById("gra_tw_wyraz0" + (aktualny_etap + 1)).value;
  nowa_odpowiedz1 = document.getElementById("gra_tw_wyraz1" + (aktualny_etap + 1)).value;
  nowa_odpowiedz2 = document.getElementById("gra_tw_wyraz2" + (aktualny_etap + 1)).value;
  nowa_odpowiedz3 = document.getElementById("gra_tw_wyraz3" + (aktualny_etap + 1)).value;
  
  document.getElementById("modul_gra_tw_odpowiedzi").innerHTML = '<a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(0,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz0 + '</a><a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(1,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz1 + '</a><a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(2,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz2 + '</a><a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(3,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz3 + '</a>';
  
  // ustalamy progress
  dlugosc_paska = 400/etapow;
  dlugosc_paska = dlugosc_paska * (poprawnych+1);
  dlugosc_paska = Math.floor(dlugosc_paska);
  
  document.getElementById("modul_gra_tw_stan").style.width = dlugosc_paska + "px";
  
  setTimeout(function() { document.getElementById("modul_gra_tw_dymek_odp").style.display = "none"; document.getElementById("modul_gra_tw_dymek").style.display = "block"; }, 2000);


} else if( pozostalo_szans == 1 ) {

  document.getElementById("modul_gra_tw_obr_" + pozostalo_szans).style.display = "none";
  document.getElementById("modul_gra_tw_obr_przegrana").style.display = "block";
  
  document.getElementById("modul_gra_tw_dymek").innerHTML = '<span style="color:red; font-weight:bold; font-size:19pt">' + window.gra_tw_lang7 + '</span>';
  document.getElementById("modul_gra_tw_dymek_odp").style.display = "none";
  document.getElementById("modul_gra_tw_dymek").style.display = "block";
  
  document.getElementById("modul_gra_tw_stan").style.backgroundColor = "red";
  
  document.getElementById("modul_gra_tw_odpowiedzi").style.display = "none";
  
  document.getElementById("modul_gra_tw_pytanie").innerHTML= '<span style="font-size:22pt; font-weight:bold"><br />' + window.gra_tw_lang7 + '<br /><br /><a href="#" onclick="modul_gra_intruz_nowa(' + "'" + id + "','" + sciezka + "'" + '); return false;">' + window.gra_tw_lang1 + '</a></span>';

} else {

  document.getElementById("modul_gra_tw_obr_" + pozostalo_szans).style.display = "none";
  document.getElementById("modul_gra_tw_obr_" + (pozostalo_szans - 1)).style.display = "block";

  document.getElementById("gra_tw_pozostalo_szans").value = pozostalo_szans - 1;

  document.getElementById("modul_gra_tw_dymek_odp").innerHTML = '<span style="color:red; font-weight:bold">' + window.gra_tw_lang6 + '</span>';
  document.getElementById("modul_gra_tw_dymek_odp").style.display = "block";
  document.getElementById("modul_gra_tw_dymek").style.display = "none";
  document.getElementById("modul_gra_tw_dymek").innerHTML = window.gra_tw_lang4 + ': ' + (pozostalo_szans - 1);
  
  document.getElementById("gra_tw_aktualny_etap").value = aktualny_etap + 1;
  
  nowa_odpowiedz0 = document.getElementById("gra_tw_wyraz0" + (aktualny_etap + 1)).value;
  nowa_odpowiedz1 = document.getElementById("gra_tw_wyraz1" + (aktualny_etap + 1)).value;
  nowa_odpowiedz2 = document.getElementById("gra_tw_wyraz2" + (aktualny_etap + 1)).value;
  nowa_odpowiedz3 = document.getElementById("gra_tw_wyraz3" + (aktualny_etap + 1)).value;
  
  document.getElementById("modul_gra_tw_odpowiedzi").innerHTML = '<a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(0,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz0 + '</a><a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(1,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz1 + '</a><a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(2,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz2 + '</a><a href="#" class="gra_tw_button" onclick="modul_gra_intruz_odpowiedz(3,' + "'" + id + "','" + sciezka + "'" + '); return false;">' + nowa_odpowiedz3 + '</a>';
  
  setTimeout(function() { document.getElementById("modul_gra_tw_dymek_odp").style.display = "none"; document.getElementById("modul_gra_tw_dymek").style.display = "block"; }, 2000);

}



}



// wykonywana automatycznie po otrzymaniu odpowiedzi z serwera
function handleServerResponse(gdzie) 
{
  // kontynuuje jedynie jeśli transakcja została zakończona
  if (xmlHttp.readyState == 4) 
  {
    // status 200 oznacza pomyślne ukończenie transakcji
    if (xmlHttp.status == 200) 
    {
      // wyodrębnia wiadomość XML wysłaną z serwera
      xmlResponse = xmlHttp.responseText;
      //alert(xmlResponse);
      // pobiera element nadrzędny ze struktury pliku XML
      //xmlDocumentElement = xmlResponse.documentElement;
      // pobiera wiadomość tekstową pierwszego potomka elementu document
      //helloMessage = xmlDocumentElement.firstChild.data;
      //var gdzie = xmlDocumentElement.getElementsByTagName ("gdzie")[0].firstChild.data; 
      //var komunikat = xmlDocumentElement.getElementsByTagName ("komunikat")[0].firstChild.data;
      //var przyciski = xmlDocumentElement.getElementsByTagName ("przyciski")[0].firstChild.data;
      //var blad = xmlDocumentElement.getElementsByTagName ("blad")[0].firstChild.data;
      document.getElementById("modul_gra_tw_" + gdzie).style.height = 'auto';
      document.getElementById("modul_gra_tw_" + gdzie).innerHTML = xmlResponse;
      
      
    } 
    // dla statusu protokołu HTTP innego niż 200 zgłasza błąd
    else 
    {
      alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText);
    }
  }
}




