﻿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 gra_nowa(gdzie,sciezka,pytan)
{
  // kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {

    
    hasz = Math.random() * Date.parse(new Date());
    // wykonuje skrypt newslettera
    xmlHttp.open("GET", sciezka + "modul_gra_mil.php?gdzie=" + gdzie + "&pytan=" + pytan + "&sciezka=" + sciezka + "&hasz=" + hasz, true);  
    // definiuje metodę obsługi odpowiedzi serwera
    xmlHttp.onreadystatechange = function(){ handleServerResponse(sciezka); };
    // wysyła żądanie do serwera
    xmlHttp.send(null);
    // komunikat loading
    wysokosc = document.getElementById("gra").offsetHeight;
    document.getElementById("gra").style.height = wysokosc + 'px';
    document.getElementById("gra").innerHTML = '<div style="text-align:center; padding:30px 0px"><img alt="" src="' + sciezka + 'template/loading2.gif" /></div>';
    
  }
}

// wykonywana automatycznie po otrzymaniu odpowiedzi z serwera
function handleServerResponse(sciezka) 
{
  // 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("gra").style.height = 'auto';
      document.getElementById("gra").innerHTML = xmlResponse;
      window.gra_aktualny_etap = 1;
      gra_pytaj(1,sciezka);
      
    } 
    // 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);
    }
  }
}

function gra_pytaj(nr,sciezka) {

  document.getElementById("gra_prawe").innerHTML = '<span class="gra_pytanie">' + gra_lang5 + '</span>';

  document.getElementById("gra_lewe").innerHTML = 
  document.getElementById("gra_opis" + nr).value + '<br /><br /><br /><div id="gra_odpowiedzi_a_' + nr + '"><a class="gra_odpowiedz1" href="javascript: void(0)" onfocus="blur()" onclick="gra_odpowiedz(1,' + nr + ",'" + sciezka + "'" + ')">' + document.getElementById("gra_wyraz1" + nr).value + '</a><a class="gra_odpowiedz1" href="javascript: void(0)" onfocus="blur()" onclick="gra_odpowiedz(2,' + nr + ",'" + sciezka + "'" + ')">' + document.getElementById("gra_wyraz2" + nr).value + '</a><a class="gra_odpowiedz1" href="javascript: void(0)" onfocus="blur()" onclick="gra_odpowiedz(3,' + nr + ",'" + sciezka + "'" + ')">' + document.getElementById("gra_wyraz3" + nr).value + '</a></div><div id="gra_odpowiedzi_d_' + nr + '" style="display:none"><div class="gra_odpowiedz1" id="gra_odpowiedz_' + nr + '_1">' + document.getElementById("gra_wyraz1" + nr).value + '</div><div class="gra_odpowiedz1" id="gra_odpowiedz_' + nr + '_2">' + document.getElementById("gra_wyraz2" + nr).value + '</div><div class="gra_odpowiedz1" id="gra_odpowiedz_' + nr + '_3">' + document.getElementById("gra_wyraz3" + nr).value + '</div></div><div id="gra_podsumowanie_' + nr + '"></div>';
  
  document.getElementById("gra_etap_" + nr).className = 'koleczko1';
  
  window.gra_aktualny_etap = nr;

}

function flash(id, klasa, klasa2, czas,razy)
{
	document.getElementById(id).className = klasa;
	
	if(razy>0) {
	
    razy2 = razy - 1;
    setTimeout('flash("' + id + '","' + klasa2 + '","' + klasa + '",' + czas + ',' + razy2 + ')', czas);
	
	}
}


function gra_odpowiedz(odpowiedz, etap, sciezka) {

  document.getElementById("gra_odpowiedzi_a_" + etap).style.display = 'none';
  document.getElementById("gra_odpowiedzi_d_" + etap).style.display = 'block';
  
  flash("gra_odpowiedz_" + etap + "_" + odpowiedz, "gra_odpowiedz4", "gra_odpowiedz1",200,5);
  
  etap2 = etap + 1;
  
  opoznienie = setTimeout(function(){ 
  
    if(document.getElementById("gra_poprawna" + etap).value == odpowiedz) {
    
      document.getElementById("gra_odpowiedz_" + etap + "_" + odpowiedz).className = 'gra_odpowiedz2';
      
      if(etap == document.getElementById("gra_etapow").value) {

        
          document.getElementById("gra_prawe").innerHTML = '<br /><span class="gra_pytanie_pods2">' + gra_lang11 + '</span><br /><br />' + document.getElementById("gra_opis_roz" + etap).value + '<br /><br /><a class="gra_link" onfocus="blur()" href="javascript: void(0)" onclick="gra_nowa(' + document.getElementById("gra_gdzie").value + ',' +"'" + sciezka + "'" +',' + document.getElementById("gra_etapow").value +'); return false;">' + gra_lang12 + '</a>';

      
      
      
      } else {

        
          document.getElementById("gra_prawe").innerHTML = '<br /><span class="gra_pytanie_pods" style="color:#42ff00">' + gra_lang8 + '</span><br /><br />' + document.getElementById("gra_opis_roz" + etap).value + '<br /><br /><br /><a class="gra_link" onfocus="blur()" href="javascript: void(0)" onclick="gra_pytaj(' + etap2 + ',' + "'" + sciezka + "'" + '); return false;">' + gra_lang10 + '</a>';

      
      }
    
    } else {
    
      document.getElementById("gra_odpowiedz_" + etap + "_" + odpowiedz).className = 'gra_odpowiedz3';
      document.getElementById("gra_odpowiedz_" + etap + "_" + document.getElementById("gra_poprawna" + etap).value).className = 'gra_odpowiedz2';

        
        document.getElementById("gra_prawe").innerHTML = '<br /><span class="gra_pytanie_pods" style="color:red">' + gra_lang7 + '</span><br /><br />' + document.getElementById("gra_opis_roz" + etap).value + '<br /><br /><br /><a class="gra_link" onfocus="blur()" href="javascript: void(0)" onclick="gra_nowa(' + document.getElementById("gra_gdzie").value + ',' +"'" + sciezka + "'" +',' + document.getElementById("gra_etapow").value +'); return false;">' + gra_lang9 + '</a>';

    
    }
  
  },1200);
  
}


/*
function gra_odpowiedz(odpowiedz, etap, sciezka) {

  document.getElementById("gra_odpowiedzi_a_" + etap).style.display = 'none';
  document.getElementById("gra_odpowiedzi_d_" + etap).style.display = 'block';

  document.getElementById("gra_odpowiedz_" + etap + "_" + odpowiedz).className = 'gra_odpowiedz4';
  
  etap2 = etap + 1;
  
  opoznienie = setTimeout(function(){ 
  
    if(document.getElementById("gra_poprawna" + etap).value == odpowiedz) {
    
      flash("gra_odpowiedz_" + etap + "_" + odpowiedz, "gra_odpowiedz2", "gra_odpowiedz1",200,8);
      
      if(etap == document.getElementById("gra_etapow").value) {
      
        setTimeout(function(){ 
        
          document.getElementById("gra_prawe").innerHTML = '<br /><span class="gra_pytanie_pods2">' + gra_lang11 + '</span><br /><br />' + document.getElementById("gra_opis_roz" + etap).value + '<br /><br /><a class="gra_link" onfocus="blur()" href="javascript: void(0)" onclick="gra_nowa(' + document.getElementById("gra_gdzie").value + ',' +"'" + sciezka + "'" +',' + document.getElementById("gra_etapow").value +'); return false;">' + gra_lang12 + '</a>';
  
  
        },1800);
      
      
      
      } else {
      
      setTimeout(function(){ 
        
          document.getElementById("gra_prawe").innerHTML = '<br /><span class="gra_pytanie_pods" style="color:#42ff00">' + gra_lang8 + '</span><br /><br />' + document.getElementById("gra_opis_roz" + etap).value + '<br /><br /><br /><a class="gra_link" onfocus="blur()" href="javascript: void(0)" onclick="gra_pytaj(' + etap2 + ',' + "'" + sciezka + "'" + '); return false;">' + gra_lang10 + '</a>';
  
        },1800);
      
      }
    
    } else {
    
      flash("gra_odpowiedz_" + etap + "_" + odpowiedz, "gra_odpowiedz3", "gra_odpowiedz1",200,8);
      
      setTimeout(function(){ 
      
        document.getElementById("gra_odpowiedz_" + etap + "_" + document.getElementById("gra_poprawna" + etap).value).className = 'gra_odpowiedz2';
        
        document.getElementById("gra_prawe").innerHTML = '<br /><span class="gra_pytanie_pods" style="color:red">' + gra_lang7 + '</span><br /><br />' + document.getElementById("gra_opis_roz" + etap).value + '<br /><br /><br /><a class="gra_link" onfocus="blur()" href="javascript: void(0)" onclick="gra_nowa(' + document.getElementById("gra_gdzie").value + ',' +"'" + sciezka + "'" +',' + document.getElementById("gra_etapow").value +'); return false;">' + gra_lang9 + '</a>';
  
      },1800);
    
    }
  
  },300);
  
}
*/
