// przechowuje obiekt XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
// przechowuje adres i parametry zdalnego serwera
var serverAddress_artykul = "ajax.php?m=artykul&o=zamien";
// zmienne określające częstotliwość łączenia z serwerem
var updateInterval = 50; // ile sekund oczekiwać na pobranie nowej wiadomości
var errorRetryInterval = 30; // ile sekund czekać po wystąpieniu błędu serwera
// parametr true pozwala wyświetlić szczegóły błędu
var debugMode = true;
var widoczny=1;
var ukryty=2;
// 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;
}

// funkcja wyświetla nową wiadomość na stronie
function display($message)
{
	 // pobiera odwołanie do elementu <div> na stronie
  //myDiv = document.getElementById("myDivElement_tlo");
  //myDiv_image = document.getElementById("myDivElement_image");
  // wyświetla komunikat
 //  myDiv.style.zIndex=10000;
 // myDiv.style.height= window.screen.height;
 // myDiv.style.opacity=0.5;
 // myDiv.style.filter='alpha(opacity=50)';

  //myDiv_image.style.zIndex=1000000;
 //myDiv = document.getElementById("artykul_pudelko1");
//myDiv.innerHTML  = $message + "<br/> ";

}

function display_response($message)
{
	

	 // pobiera odwołanie do elementu <div> na stronie
  myDiv = document.getElementById("artykul_pudelko");
  //myDiv2 = document.getElementById("artykul_pudelko"+ukryty);
 // myDiv_load = document.getElementById("myDivElement_load");
 // myDiv_image = document.getElementById("myDivElement_image");

  // wyświetla komunikat
   // myDiv.marginBottom='10 px';

    myDiv.innerHTML = $message;
  //  mint.fx.Fade(myDiv, 0, 20, 500);
   //setInterval("mint.fx.Fade(myDiv, 100, 20, 500);", 502);
   // mint.fx.Fade(myDiv2, 100, 20, 500);
 
   // temp=widoczny;
	//widoczny=ukryty;
	//ukryty=temp;
   

}

// funkcja wyświetlająca komunikat o błędzie
function displayError($message)
{
  // wyświetla szczegóły techniczne błędu jeśli debugMode ma wartość true
  display("Błąd podczas otrzymywania wiadomości! Spróbuję za " +
    errorRetryInterval + " sekund." + (debugMode ? "<br/>" + $message : ""));
  // ponawia sekwencję
  setTimeout("show_artykul();", errorRetryInterval * 100000);
}

// asynchroniczne wywołanie serwera
function show_artykul()
{
	
  // kontynuuje, jeśli xmlHttp nie jest pusty
  if (xmlHttp)
  {
	  
    // próbuje połączyć się z serwerem
    try
    {

      // usuń tę linię jeśli nie podoba Ci się komunikat 'Pobieranie...'
      display("Pobieranie nowej wiadomości z serwera...")
      // asynchroniczne żądanie HTTP otrzymania nowej wiadomości
	 // alert(serverAddress_artykul);
      xmlHttp.open("GET", serverAddress_artykul, true);
	  //xmlHttp.setRequestHeader('Content-type: text/html; charset=iso-8859-2');
      xmlHttp.onreadystatechange = handleGettingArtykul;
      xmlHttp.send(null);
	  display("Widomosc pobrana")
    }
    catch(e)
    {
		
      displayError(e.toString());
    }
  }
  
}

// funkcja wywoływana przy zmianie statusu żądania HTTP
function handleGettingArtykul() 
{
  // kiedy readyState ma wartość 4, jesteśmy gotowi do odebrania odpowiedzi z Sewera
  if (xmlHttp.readyState == 4) 
  {
    // kontynuuje tylko, gdy status HTTP ma wartość "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
        // przetwarza wiadomość z serwera
        getShow_artykul();
      }
      catch(e)
      {
        // komunikat o błędzie
        displayError(e.toString());
      }
    } 
    else
    {
      // komunikat o błędzie
      displayError(xmlHttp.statusText);   
    }
  }
}
function getShow_artykul()
{
	

  // pobiera odpowiedĽ serwera
  var response = xmlHttp.responseText;
  // bł±d serwera?
  if (response.indexOf("ERRNO") >= 0 || response.indexOf("error") >= 0
    || response.length == 0)
    throw(response.length == 0 ? "Bł±d serwera." : response);
  // wy¶wietla wiadomo¶ć
  display_response(response);
  // ponawia sekwencję
  //setTimeout("process();", updateInterval * 1000);
}

// obsługuje odpowiedź otrzymaną z serwera



