/*
 *  Dokument:       Zakladni trida pro ajax
 *  Posledni zmena: 13.03.2009
 */

/* odeslani XMLHttp pozadavku
 * @param function obsluha funkce zajistujici obsluhu pri zmene stavu pozadavku, dostane parametr s XMLHttp objektem
 * @param string method GET|POST|...
 * @param string url URL pozadavku
 * @param string [content] telo zpravy
 * @param array [headers] pole predanych hlavicek ve tvaru { 'hlavicka': 'obsah' }
 * @return bool true v pripade uspechu, jinak false
 */
function send_xmlhttprequest(obsluha, method, url, content, headers)
{
  var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));

  if(!xmlhttp)
  {
    return false;
  }

  xmlhttp.open(method, url);
  xmlhttp.onreadystatechange = function()
  {
    obsluha(xmlhttp);
  };

  if(headers)
  {
    for(var key in headers)
    {
      xmlhttp.setRequestHeader(key, headers[key]);
    }
  }

  xmlhttp.send(content);
  return true;
}
