// przechowuje obiekt XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
//var xmlHttp = new XMLHttpRequest();
var kod;
// 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();
	xmlHttp.overrideMimeType('text/xml');

  }
  catch(e)
  {
    // zakładając, że IE6 lub starsza
    var XmlHttpVersions = new Array("MSXML3.XMLHTTP","MSXML2.XMLHTTP.7.0",
	  "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) {}
    }
  }
  
  // xmlHttp = new XMLHttpRequest();
  
  // zwraca stworzony obiekt albo wyświetla komunikat o błędzie
  if (!xmlHttp){
    alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  }else {
	//alert(xmlHttp)
    return xmlHttp;
  }
}

function urlencode( str ) {    
     
	 var ret = str;
	 ret = ret.toString();
	 ret = encodeURIComponent(ret);
	 ret = ret.replace(/%20/g, '+');
	 return ret;
	 
}

// czyta plik z serwera
function process()
{
  // kontynuuje, jeśli obiekt xmlHttp nie jest pusty
  if (xmlHttp)
  {
    // próbuje połączyć się z serwerem
    try
    {
      // początkuje odczyt pliku z serwera
	  //alert(xmlHttp);
     
		//nxml.222.pl
	  xmlHttp.open("GET", "proxy.php?web=http://www.nxml.222.pl/wielopolska/ws-szukaj_xml.php&par=xtyp!"+document.getElementById("xtyp_form").value+"*tryb!"+document.getElementById("tryb").value+"*id_lang!"+document.getElementById("id_lang").value+document.getElementById("link").value+"*a!"+(0.02 + Math.random()/103333), true);
	  //document.write("proxy.php?web=http://www.nxml.222.pl/abes/ws-szukaj_xml.php&par=xtyp!"+document.getElementById("xtyp_form").value+"*tryb!"+document.getElementById("tryb").value+"*id_lang!"+document.getElementById("id_lang").value+document.getElementById("link").value+"*a!"+(0.02 + Math.random()/103333));
	    //xmlHttp.open("GET", "nxml/ws-szukaj_xml.php?xtyp="+document.getElementById("xtyp_form").value+"&tryb="+document.getElementById("tryb").value+"&id_lang="+document.getElementById("id_lang").value+document.getElementById("link2").value+"&a="+(0.02 + Math.random()/103333), true);
	   
      //
	 xmlHttp.onreadystatechange = handleRequestStateChange;
	 xmlHttp.send(null);
     
    }
    // w razie niepowodzenia wyświetla komunikat o błędzie
    catch (e)
    {
     alert("Nie mogę połączyć się z serwerem:\n" + e.toString());
    }
  }
}


// funkcja wywoływana przy zmianie statusu żądania HTTP
function handleRequestStateChange() 
{
	
  // 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"
	//alert(xmlHttp.status + " " + xmlHttp.readyState);
    if (xmlHttp.status == 200) 
    {
      //try
     /// {
        //przetwarza wiadomość z serwera
		//alert(xmlHttp.responseText)
        handleServerResponse();
     // }
     // catch(e)
     // {
       // komunikat o błędzie
     //  alert("Error reading the response: " + e.toString());
     // }
    } 
    else
    {
      // wyświetla wiadomość o statusie
     alert("Problem przy pobieraniu danych!");
    }
  }
}


// obsługuje odpowiedź otrzymaną z serwera
function handleServerResponse()
{
  // pobiera odpowiedź serwera
  var xmlResponse = xmlHttp.responseXML;
  //alert(xmlHttp.responseXML)
  // wyłapywanie potencjalnych błędów przez IE i Operę
  ////if (!xmlResponse || !xmlResponse.documentElement)
  ////  throw("Niepoprawna struktura XML:\n" + xmlHttp.responseText);
  // wyłapywanie potencjalnych błędów przez Firefox
  ////var rootNodeName = xmlResponse.documentElement.nodeName;
  ////if (rootNodeName == "parsererror") throw("Niepoprawna struktura XML");
  // pobiera element document pliku XML
  xmlRoot = xmlResponse.documentElement;  

  //kod_Array = xmlRoot.getElementsByTagName("kod"); 
  kod_Array = xmlRoot.getElementsByTagName("kod");

	kod='';
	for (var i=0; i<kod_Array.length; i++){
		kod+=kod_Array.item(i).firstChild.data;
	}
	//document.write(kod);
	//kod.replace(/&gt;/i,">");
	//kod.replace(/&lt;/i,"<");
	//document.write(kod);
	
	htm='<Table cellpadding=0 cellspacing=0 border=0 width=100% style=" height:170px;"><tr><td align=center class="podzial">Wczytywanie danych <img src="img/abes_loader.gif" border="0" hspace="4" align="absmiddle" style="margin-top:1px;cursor:pointer"></td></tr></table>';
	document.getElementById("form_span").innerHTML=htm;
	setTimeout("pd()",1000);
}
function pd(){
	document.getElementById("form_span").innerHTML=((kod));
	//alert(kod);
}

