// przechowuje obiekt XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();

// tworzy obiekt XMLHttpRequest
function createXmlHttpRequestObject() 
{
  //przechowa odwołanie do obiektu XMLHttpRequest
  var xmlHttp;
  // powinno działać dla wszystkich przeglądarek z wyjątkiem IE6 i starszych
  try
  {
    // próbuje stworzyć obiekt XMLHttpRequest
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // zakładając, że IE6 lub starsza
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
      "MSXML2.XMLHTTP.5.0",
      "MSXML2.XMLHTTP.4.0",
      "MSXML2.XMLHTTP.3.0",
      "MSXML2.XMLHTTP",
      "Microsoft.XMLHTTP");
    // sprawdza każdy prog id aż któryś zadziała
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // próbuje stworzyć obiekt XMLHttpRequest
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // zwraca stworzony obiekt albo wyświetla komunikat o błędzie
  if (!xmlHttp)
    alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  else 
    return xmlHttp;
}

function changePromo(type,id)
{
  // kontynuuje, jeśli xmlHttp nie jest pusty
  if (xmlHttp)
  {
    // próbuje połączyć się z serwerem
    try
    {

	  // tworzy łańcuch parametrów
	  var params = "action=changepromo&type="+type+"&id=" + id;
	  
	  // rozpoczyna asynchroniczne żądanie wysłane do serwera
	  xmlHttp.open("GET", "/public/scripts/ajax.php?" + params, true);
	  xmlHttp.onreadystatechange = changePromoRequestChange;
	  xmlHttp.send(null);   


    }
    // w razie niepowodzenia wyświetla komunikat o błędzie
    catch (e)
    {
      alert("Nie mogę nawiązać połączenia z serwerem:\n" + e.toString());
    }
  }
}

function changePromoRequestChange() 
{
  // kiedy readyState ma wartość 4, jesteśmy gotowi do odebrania odpowiedzi z serwera
  if (xmlHttp.readyState == 4) 
  {
    // kontynuuje tylko, gdy status HTTP ma wartość "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
        // przetwarza wiadomość z serwera 
    	  changePromoServerResponse();
      }
      catch(e)
      {
        // komunikat o błędzie
        alert("Błąd odczytu odpowiedzi: " + e.toString());
      }
    } 
    else
    {
      // wyświetla wiadomość o statusie
      alert("Pojawił się problem przy pobieraniu danych:\n" + xmlHttp.statusText);
    }
  }
}

function changePromoServerResponse() {
	var txtResponse = xmlHttp.responseText;
	if (txtResponse!='') {
		document.getElementById('divpromo').innerHTML=txtResponse;
	}
	
}

/* TERYT formularz */

//powiaty
function getPowiaty(id_woj)
{
// kontynuuje, jeśli xmlHttp nie jest pusty
if (xmlHttp) 
{
 // próbuje połączyć się z serwerem
 try
 {
   // informacja dla klienta
   document.getElementById('wyborpowiatu').innerHTML="<p>Proszę czekaj, trwa pobieranie danych...</p>";
   document.getElementById('wyborgminy').innerHTML="<input type=\"hidden\" name=\"id_gmi\" id=\"id_gmi\" value=\"0\" />";
   document.getElementById('wybormiejscowosc').innerHTML="<input type=\"hidden\" name=\"id_sympod\" id=\"id_sympod\" value=\"0\" />";
   document.getElementById('wybormiejsca').innerHTML="<input type=\"hidden\" name=\"id_sym\" id=\"id_sym\" value=\"0\" /><input type=\"hidden\" name=\"id_syu\" id=\"id_syu\" value=\"\" />";
   document.getElementById('wyborbudynku').innerHTML="<input type=\"hidden\" name=\"nr_bud\" id=\"nr_bud\" value=\"0\" />";
	  // tworzy łańcuch parametrów
	  var params = "action=getPowiaty&id_woj=" + id_woj;
	  
	  // rozpoczyna asynchroniczne żądanie wysłane do serwera
	  xmlHttp.open("GET", "/public/scripts/ajax.php?" + params, true);
	  xmlHttp.onreadystatechange = getPowiatyRequestChange;
	  xmlHttp.send(null);   


 }
 // w razie niepowodzenia wyświetla komunikat o błędzie
 catch (e)
 {
   alert("Nie mogę nawiązać połączenia z serwerem:\n" + e.toString());
 }
}
}

function getPowiatyRequestChange() 
{
// kiedy readyState ma wartość 4, jesteśmy gotowi do odebrania odpowiedzi z serwera
if (xmlHttp.readyState == 4) 
{
 // kontynuuje tylko, gdy status HTTP ma wartość "OK"
 if (xmlHttp.status == 200) 
 {
   try
   {
     // przetwarza wiadomość z serwera 
 	  getPowiatyServerResponse();
   }
   catch(e)
   {
     // komunikat o błędzie
     alert("Błąd odczytu odpowiedzi: " + e.toString());
   }
 } 
 else
 {
   // wyświetla wiadomość o statusie
   alert("Pojawił się problem przy pobieraniu danych:\n" + xmlHttp.statusText);
 }
}
}


function getPowiatyServerResponse() {
	var txtResponse = xmlHttp.responseText;
	if (txtResponse!='') {
		document.getElementById('wyborpowiatu').innerHTML=txtResponse;
	}
	
}

//gminy
function getGminy(id_woj,id_pow)
{
// kontynuuje, jeśli xmlHttp nie jest pusty
if (xmlHttp) 
{
 // próbuje połączyć się z serwerem
 try
 {
   // informacja dla klienta
   document.getElementById('wyborgminy').innerHTML="<p>Proszę czekaj, trwa pobieranie danych...</p>";
   document.getElementById('wybormiejscowosc').innerHTML="<input type=\"hidden\" name=\"id_sympod\" id=\"id_sympod\" value=\"0\" />";
   document.getElementById('wybormiejsca').innerHTML="<input type=\"hidden\" name=\"id_sym\" id=\"id_sym\" value=\"0\" /><input type=\"hidden\" name=\"id_syu\" id=\"id_syu\" value=\"\" />";
   document.getElementById('wyborbudynku').innerHTML="<input type=\"hidden\" name=\"nr_bud\" id=\"nr_bud\" value=\"0\" />";
	  // tworzy łańcuch parametrów
	  var params = "action=getGminy&id_woj=" + id_woj + "&id_pow=" + id_pow;
	  
	  // rozpoczyna asynchroniczne żądanie wysłane do serwera
	  xmlHttp.open("GET", "/public/scripts/ajax.php?" + params, true);
	  xmlHttp.onreadystatechange = getGminyRequestChange;
	  xmlHttp.send(null);   


 }
 // w razie niepowodzenia wyświetla komunikat o błędzie
 catch (e)
 {
   alert("Nie mogę nawiązać połączenia z serwerem:\n" + e.toString());
 }
}
}

function getGminyRequestChange() 
{
// kiedy readyState ma wartość 4, jesteśmy gotowi do odebrania odpowiedzi z serwera
if (xmlHttp.readyState == 4) 
{
 // kontynuuje tylko, gdy status HTTP ma wartość "OK"
 if (xmlHttp.status == 200) 
 {
   try
   {
     // przetwarza wiadomość z serwera 
 	  getGminyServerResponse();
   }
   catch(e)
   {
     // komunikat o błędzie
     alert("Błąd odczytu odpowiedzi: " + e.toString());
   }
 } 
 else
 {
   // wyświetla wiadomość o statusie
   alert("Pojawił się problem przy pobieraniu danych:\n" + xmlHttp.statusText);
 }
}
}

function getGminyServerResponse() {
	var txtResponse = xmlHttp.responseText;
	if (txtResponse!='') {
		document.getElementById('wyborgminy').innerHTML=txtResponse;
	}
	
}

//i nastepne

function getMiejscowosci(id_woj,id_pow,id_gmi)
{
// kontynuuje, jeśli xmlHttp nie jest pusty
if (xmlHttp) 
{
 // próbuje połączyć się z serwerem
 try
 {
   // informacja dla klienta
   document.getElementById('wybormiejscowosc').innerHTML="<p>Proszę czekaj, trwa pobieranie danych...</p>";
   document.getElementById('wybormiejsca').innerHTML="<input type=\"hidden\" name=\"id_sym\" id=\"id_sym\" value=\"0\" /><input type=\"hidden\" name=\"id_syu\" id=\"id_syu\" value=\"\" />";
   document.getElementById('wyborbudynku').innerHTML="<input type=\"hidden\" name=\"nr_bud\" id=\"nr_bud\" value=\"0\" />";
	  // tworzy łańcuch parametrów
   var tempvar = id_gmi.split("|");
   var id_gmi = tempvar[0];
   var id_rgmi = tempvar[1];
	  var params = "action=getMiejscowosci&id_woj=" + id_woj + "&id_pow=" + id_pow + "&id_gmi=" + id_gmi + "&id_rgmi="+id_rgmi;
	  
	  // rozpoczyna asynchroniczne żądanie wysłane do serwera
	  xmlHttp.open("GET", "/public/scripts/ajax.php?" + params, true);
	  xmlHttp.onreadystatechange = getMiejscowosciRequestChange;
	  xmlHttp.send(null);   


 }
 // w razie niepowodzenia wyświetla komunikat o błędzie
 catch (e)
 {
   alert("Nie mogę nawiązać połączenia z serwerem:\n" + e.toString());
 }
}
}

function getMiejscowosciRequestChange() 
{
// kiedy readyState ma wartość 4, jesteśmy gotowi do odebrania odpowiedzi z serwera
if (xmlHttp.readyState == 4) 
{
 // kontynuuje tylko, gdy status HTTP ma wartość "OK"
 if (xmlHttp.status == 200) 
 {
   try
   {
     // przetwarza wiadomość z serwera 
 	  getMiejscowosciServerResponse();
   }
   catch(e)
   {
     // komunikat o błędzie
     alert("Błąd odczytu odpowiedzi: " + e.toString());
   }
 } 
 else
 {
   // wyświetla wiadomość o statusie
   alert("Pojawił się problem przy pobieraniu danych:\n" + xmlHttp.statusText);
 }
}
}

function getMiejscowosciServerResponse() {
	var txtResponse = xmlHttp.responseText;
	if (txtResponse!='') {
		document.getElementById('wybormiejscowosc').innerHTML=txtResponse;
	}
	
}

//i nastepne

function getMiejsca(id_woj,id_pow,id_gmi,id_sym)
{
// kontynuuje, jeśli xmlHttp nie jest pusty
if (xmlHttp) 
{
 // próbuje połączyć się z serwerem
 try
 {
   // informacja dla klienta
   document.getElementById('wybormiejsca').innerHTML="<p>Proszę czekaj, trwa pobieranie danych...</p>";
   document.getElementById('wyborbudynku').innerHTML="<input type=\"hidden\" name=\"nr_bud\" id=\"nr_bud\" value=\"0\" />";
	  // tworzy łańcuch parametrów
   var tempvar = id_gmi.split("|");
   var id_gmi = tempvar[0];
   var id_rgmi = tempvar[1];
	  var params = "action=getMiejsca&id_woj=" + id_woj + "&id_pow=" + id_pow + "&id_gmi=" + id_gmi + "&id_rgmi="+id_rgmi+"&id_sym="+id_sym;

	  // rozpoczyna asynchroniczne żądanie wysłane do serwera
	  xmlHttp.open("GET", "/public/scripts/ajax.php?" + params, true);
	  xmlHttp.onreadystatechange = getMiejscaRequestChange;
	  xmlHttp.send(null);   


 }
 // w razie niepowodzenia wyświetla komunikat o błędzie
 catch (e)
 {
   alert("Nie mogę nawiązać połączenia z serwerem:\n" + e.toString());
 }
}
}

function getMiejscaRequestChange() 
{
// kiedy readyState ma wartość 4, jesteśmy gotowi do odebrania odpowiedzi z serwera
if (xmlHttp.readyState == 4) 
{
 // kontynuuje tylko, gdy status HTTP ma wartość "OK"
 if (xmlHttp.status == 200) 
 {
   try
   {
     // przetwarza wiadomość z serwera 
 	  getMiejscaServerResponse();
   }
   catch(e)
   {
     // komunikat o błędzie
     alert("Błąd odczytu odpowiedzi: " + e.toString());
   }
 } 
 else
 {
   // wyświetla wiadomość o statusie
   alert("Pojawił się problem przy pobieraniu danych:\n" + xmlHttp.statusText);
 }
}
}

function getMiejscaServerResponse() {
	var txtResponse = xmlHttp.responseText;
	if (txtResponse!='') {
		document.getElementById('wybormiejsca').innerHTML=txtResponse;
		document.getElementById('wyborbudynku').innerHTML="";
	}
	
}


/* koniec formularza TERYT */

function changeZarzad(type,id)
{
  // kontynuuje, jeśli xmlHttp nie jest pusty
  if (xmlHttp)
  {
    // próbuje połączyć się z serwerem
    try
    {

	  // tworzy łańcuch parametrów
	  var params = "action=changeZarzad&type="+type+"&id=" + id;
	  
	  // rozpoczyna asynchroniczne żądanie wysłane do serwera
	  xmlHttp.open("GET", "/public/scripts/ajax.php?" + params, true);
	  xmlHttp.onreadystatechange = changeZarzadRequestChange;
	  xmlHttp.send(null);   


    }
    // w razie niepowodzenia wyświetla komunikat o błędzie
    catch (e)
    {
      alert("Nie mogę nawiązać połączenia z serwerem:\n" + e.toString());
    }
  }
}

function changeZarzadRequestChange() 
{
  // kiedy readyState ma wartość 4, jesteśmy gotowi do odebrania odpowiedzi z serwera
  if (xmlHttp.readyState == 4) 
  {
    // kontynuuje tylko, gdy status HTTP ma wartość "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
        // przetwarza wiadomość z serwera 
    	  changeZarzadServerResponse();
      }
      catch(e)
      {
        // komunikat o błędzie
        alert("Błąd odczytu odpowiedzi: " + e.toString());
      }
    } 
    else
    {
      // wyświetla wiadomość o statusie
      alert("Pojawił się problem przy pobieraniu danych:\n" + xmlHttp.statusText);
    }
  }
}

function changeZarzadServerResponse() {
	var txtResponse = xmlHttp.responseText;
	if (txtResponse!='') {
		document.getElementById('divpromo').innerHTML=txtResponse;
	}	
}
