//Biblioteka funkcji obsługujących AJAX do książki
//"AJAX. 101 praktycznyc skryptów"
//autor Marcin Lis, Wydawnictwo Helion, Gliwice 2008
// tworzy obiekt XMLHttpRequest
function getXMLHttpRequestObject() 
{
  // 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ład podczas tworzenia obiektu XMLHttpRequest.");
  else 
    return xmlHttp;
}
//------------------------------
function startGETRequest(url, onComplete, onEnd)
{
  var XMLHttpRequestObject = getXMLHttpRequestObject();

  if(XMLHttpRequestObject){
	  XMLHttpRequestObject.open("GET", url);
		XMLHttpRequestObject.onreadystatechange = function()
	    {
		  if (XMLHttpRequestObject.readyState == 4){
					//document.getElementById('pulpit').innerHTML= "Proszę czekać....";
					if(XMLHttpRequestObject.status == 200){
					  var responseXML = XMLHttpRequestObject.responseXML;
					  var responseText = XMLHttpRequestObject.responseText;
					  onComplete(responseText, responseXML);
					  }
	    delete XMLHttpRequestObject;
        onEnd();
		  }
    }
    XMLHttpRequestObject.send(null);
  }
}

