// Ajax base Javascript methods
//
// Author:    Vit Jonas
// Created:   2008-10-30
// Copyright: 2008 Merz s.r.o.

// Vytvori a vrati instanci XMLHttpRequest objektu 
function createXHR()
{  
  var xhr;  
  try
  {
    xhr = new XMLHttpRequest();  
  } 
  catch(e)
  {
    // pro případ starší verze prohlížeče MSIE (<7)
    var MSXmlVerze = new Array('MSXML2.XMLHttp.6.0','MSXML2.XMLHttp.5.0','MSXML2.XMLHttp.4.0','MSXML2.XMLHttp.3.0','MSXML2.XMLHttp.2.0','Microsoft.XMLHttp');
    for(var i = 0; i <= MSXmlVerze.length; i ++)
    {  
      try
      {  
        xhr = new ActiveXObject(MSXmlVerze[i]);  
        break;  
      }
      catch(e)
      {  
        //vzniklou chybu ignoruji a pokračuji nastavením další verze  
      }  
    }  
  }  
  if(!xhr)
  {  
    alert("Došlo k chybě při vytváření objektu XMLHttpRequest!");
  }  
  else
  {  
    return xhr;
  }  
}

// Vyvola nacteni obsahu z url pomoci GET a zavola predanou funkci
// funkce musi mit hlavicku: function nazevfce(content,status) { ... }
// content je nacteny obsah, status je true kdyz byla data prijata OK a false pokud nebyla
function getContent(lxhr, lurl, lcallback)
{
  lxhr.open("GET",lurl);  
  lxhr.onreadystatechange = lgetContentCallback;  
  lxhr.send(null);
  
  function lgetContentCallback() 
  {
    if(lxhr.readyState == 4)
    {  
      if(lxhr.status == 200)
      {  
        lcallback(lxhr.responseText, true);  
      }
      else
      {  
        lcallback(lxhr.responseText, false);
      }  
    } 
  }
  
}
