function generovani_kodu_init() {
  self.xml = generovani_kodu_getObj("Msxml2.XMLHTTP");
  if (!xml) xml = generovani_kodu_getObj("Microsoft.XMLHTTP");
  if (!xml) {
    if (typeof XMLHttpRequest != "undefined") xml = new XMLHttpRequest();
  }
  if (!xml) {
    alert("XMLHttpRequest nefunguje");
  }
  self.encFunc = encodeURIComponent ? encodeURIComponent : escape;
}

function generovani_kodu_getObj(obj) {
  try {
    return new ActiveXObject(obj);
  }
  catch (e) {
    return null;
  }
}

function generovani_kodu_go(e) {
  var prefix = document.getElementById(e);
  if (xml) {
    if (xml.readyState != 0) xml.abort();
    xml.open ("GET", "/XMLHttpRequest/generovani_kodu_" + e + ".php?prefix=" + self.encFunc(prefix.value), true);
    xml.onreadystatechange = function(){
      if (xml.readyState == 4 && xml.responseText) {
        eval(xml.responseText);
      }
    }
    xml.send(null);
  }
}

function generovani_kodu_groupsman(e) {
  if (xml) {
    if (xml.readyState != 0) xml.abort();
    xml.open ("GET", "/XMLHttpRequest/generovani_kodu_groupsman.php?prefix=" + self.encFunc(e), true);
    xml.onreadystatechange = function(){
      if (xml.readyState == 4 && xml.responseText) {
        eval(xml.responseText);
      }
    }
    xml.send(null);
  }
}

function datetime_now(e) {
  if (xml) {
    if (xml.readyState != 0) xml.abort();
    xml.open ("GET", "/XMLHttpRequest/generovani_kodu_now.php?id=" + e, false);
    xml.send(null);
    if (xml.readyState == 4 && xml.responseText)
      eval(xml.responseText);
  }
}

function xmlrpc_tabulka(e) {
  if (xml) {
    if (xml.readyState != 0) xml.abort();
    xml.open ("GET", "/XMLHttpRequest/tabulka.php" + e, true);
    xml.onreadystatechange = function(){
      if (xml.readyState == 4 && xml.responseText) {
        eval(xml.responseText);
      }
    }
    xml.send(null);
  }
}

function sendRPCDone(element,typ,hodnota) {
  var el = document.getElementById(element);
  switch (typ) {
    case 'select':
      while (el.length>0)
        el.remove(0);
      for(i=0;i<hodnota.length;i++) {
        var opt = document.createElement("option");
        opt.text = hodnota[i]["text"];
        opt.value = hodnota[i]["value"];
        if (hodnota[i]["color"]!=undefined)
          opt.style.color = hodnota[i]["color"];
        try {
          el.add(opt,null);
        }
        catch (ex) {
          el.add(opt);
        }
      }
      break;
    case 'value':
      el.value = hodnota;
      break;
  }
}

//-- synchronni xmlrpc pozadavek
function xmlrpc_go(param){
  if (xml) {
    if (xml.readyState != 0) xml.abort();
    xml.open ("GET","/XMLHttpRequest/"+param,false);
    xml.send(null);
    if (xml.readyState == 4 && xml.responseText){
      eval(xml.responseText);
    }
  }
}
