// przechowuje odwo3anie do obiektu XMLHttpRequest
// przechowuje obiekt XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();

// tworzy obiekt XMLHttpRequest
function createXmlHttpRequestObject() 
{
  // przechowa odwo3anie do obiektu XMLHttpRequest
  var xmlHttp;
  // powinno dzia3aæ dla wszystkich przegl±darek z wyj±tkiem IE6 i starszych
  try
  {
    // próbuje utworzyæ obiekt XMLHttpRequest
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // w przypadku, gdy przegl±dark± jest IE6 lub starsz
    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 identyfikator programu, a¿ jeden zadzia3a
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // próbuje utworzyæ obiekt XMLHttpRequest
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // zwraca utworzony obiekt lub wy¶wietla komunikat o b3êdzie
  
  if (!xmlHttp)
    alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  else 
  
    return xmlHttp;
}


// wywo3ana do odczytania pliku z serwera
function getPartnerzy(id)
{
  // kontynuuje tylko je¶li obiekt xmlHttp istnieje
  if (xmlHttp)
  {

    // próbuje po3±czyæ siê z serwerem
    try
    {
      // inicjalizacja odczytu pliku async.txt z serwera
		 xmlHttp.open("GET", "ajax.php?id="+id, true);
		xmlHttp.onreadystatechange = handleRequestStateChange;
      xmlHttp.send(null);
	  document.getElementById("mapa_duza").zmianaWojew(id);
	  
    }
    // w przypadku niepowodzenia wy¶wietla komunikat o b3êdzie
    
	catch (e)
 
    {
     alert("Nie mogeę połączyć się z serwerem. Powodem może być kłopot z połączeniem, bądź kolejne zapytanie zostało wywołane zbyt szybko.");
    }
	
  }
}

// wywo3ana do odczytania pliku z serwera
function getPartnerzy2(id)
{
  // kontynuuje tylko je¶li obiekt xmlHttp istnieje
  if (xmlHttp)
  {

    // próbuje po3±czyæ siê z serwerem
    try
    {
      // inicjalizacja odczytu pliku async.txt z serwera
		 xmlHttp.open("GET", "ajax.php?id="+id, true);
		xmlHttp.onreadystatechange = handleRequestStateChange;
      xmlHttp.send(null);
	  //document.getElementById("mapa_duza").zmianaWojew(id);
	  
    }
    // w przypadku niepowodzenia wy¶wietla komunikat o b3êdzie
    
	catch (e)
 
    {
     alert("Nie mogę połączyć się z serwerem. Powodem może być kłopot z połączeniem, bądź kolejne zapytanie zostało wywołane zbyt szybko.");
    }
	
  }
}

// funkcja obs3uguj±ca odpowied1⁄4 http
function handleRequestStateChange() 
{
	
  // pobranie odwo3ania do elementu <div> na stronie
  myDiv = document.getElementById("divMessage");
  // wy¶wietla status ¿±dania
  if (xmlHttp.readyState == 1)
  {
    //myDiv.innerHTML += "Status ¿±dania: 1 (3aduje) <br/>";
  }
  else if (xmlHttp.readyState == 2)
  {
    //myDiv.innerHTML += "Status ¿±dania: 2 (za3adowany) <br/>";
  }
  else if (xmlHttp.readyState == 3)
  {
    //myDiv.innerHTML += "Status ¿±dania: 3 (interaktywny) <br/>";
  }
  // kiedy status readyState wynosi 4, odczytujemy odpowied1⁄4 serwera
  else if (xmlHttp.readyState == 4) 
  {
    // kontynuuje tylko, gdy status serwera ma warto¶æ "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
	  	        // czyta wiadomo¶æ wys3an± z serwera
        response = xmlHttp.responseText;
        // wy¶wietla wiadomo¶æ
        //myDiv.innerHTML += 
        //  "Status ¿±dania: 4 (zakoñczony). Serwer odpowiedzia3: <br/>";
		
        myDiv.innerHTML = response;
		      }
      catch(e)
      {
        // wy¶wietla komunikat o b3êdzie
        //alert("B3±d podczas odczytu odpowiedzi: " + e.toString());
      }
    } 
    else
    {
      // wy¶wietla status wiadomo¶ci
     alert("Pojawił się problem w uzyskaniu danych.");
    }
  }
}

function rollover (obiekt, zmiana) {
	obiekt.src = "http://divicom.pl/images/menu/"+zmiana;
}
