      var xmlHttp;
      var dokonceniDiv;
      var vstupniPole;
      var pozice;
      var tabulkaJmen;
      var tabulkaJmenTelo;

function vytvorXMLHttpRequest() {
        if (window.ActiveXObject) {
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if (window.XMLHttpRequest) {
          xmlHttp = new XMLHttpRequest();
        }
      }

      function inicializujPromenne(kod) {
		  if(kod == '2') {
	        pozice = document.getElementById("id_knihy");
	        vstupniPole = document.getElementById("id_knihy");
	        tabulkaJmen = document.getElementById("tabulkaKnih");
	        dokonceniDiv = document.getElementById("nabidkaKnih");
	        tabulkaJmenTelo = document.getElementById("tabulkaKnihTelo");
		  }
		  else if(kod == 'q') {
	        pozice = document.getElementById("id_knihy2");
	        vstupniPole = document.getElementById("id_knihy2");
	        tabulkaJmen = document.getElementById("quickSearchTable");
	        dokonceniDiv = document.getElementById("quickSearchResult");
	        tabulkaJmenTelo = document.getElementById("quickSearchTableContent");
		  }
		  else {
	        pozice = document.getElementById("id_predmetu");
	        vstupniPole = document.getElementById("id_predmetu");
	        tabulkaJmen = document.getElementById("tabulkaPredmetu");
	        dokonceniDiv = document.getElementById("nabidka");
	        tabulkaJmenTelo = document.getElementById("tabulkaPredmetuTelo");
		  }

      }

      function vyhledejJmena(kod) {
        inicializujPromenne(kod);
        if (vstupniPole.value.length > 2 && vstupniPole.value != "název knihy, autor nebo ISBN") {
          vytvorXMLHttpRequest();
          var url = "naseptavac.php?predmet=" 
            + vstupniPole.value;
		  if(kod == '2' || kod == 'q') url = "naseptavac.php?kniha=" 
            + vstupniPole.value;
          xmlHttp.open("GET", url, true);
          xmlHttp.onreadystatechange = zpracujZmenuStavu;
          xmlHttp.send(null);
        } else {
          vymazJmena();
        }
      }

      function zpracujZmenuStavu() {
        if (xmlHttp.readyState == 4) {
          if (xmlHttp.status == 200) {
            nastavJmena(xmlHttp.responseXML.getElementsByTagName("predmet"));
          } else if (xmlHttp.status == 204){
            vymazJmena();
          }
        }
      }

      function nastavJmena(jmena) {
        vymazJmena();
        var velikost = jmena.length;
        nastavUmisteni();
        var rada, bunka, txtUzel;
        for (var i = 0; i < velikost; i++) {
          var UzelURL = jmena[i].getElementsByTagName("url")[0].firstChild.data;
          var UzelText = jmena[i].getElementsByTagName("nazev")[0].firstChild.data;
          var UzelID = jmena[i].getElementsByTagName("id")[0].firstChild.data;
          rada = document.createElement("tr");
          bunka = document.createElement("td");
          bunka.onmouseout = function() {this.className='naseptavacMouseOver';};
          bunka.onmouseover = function() {this.className='naseptavacMouseOut';};
          bunka.setAttribute("bgcolor", "#FFFAFA");
          bunka.setAttribute("border", "0");
          bunka.setAttribute("class", "naseptavac");
          bunka.onclick = new Function("document.location='"+UzelURL+"';");
          txtUzel = document.createTextNode(UzelID);
          spa = document.createElement("span");
		  spa.setAttribute("class", "odsad");
		  txtUzel2 = document.createTextNode(UzelText);
          if (UzelID=='XXX'){
	          	txtUzel = document.createTextNode('Nic nenalezeno...');
	          	txtUzel2 = document.createTextNode('Pokud nějakou knihu (nebo její vydání) nenajdete, dejte nám určitě vědět:)');
	          	tabulkaJmen.style.width = 300 + "px";
	          	tabulkaJmen.style.cursor= 'pointer';
          }
          bunka.appendChild(txtUzel);
		  bunka.appendChild(document.createElement("br"));
          spa.appendChild(txtUzel2);
          bunka.appendChild(spa);
		  bunka.appendChild(document.createElement("hr"));
          rada.appendChild(bunka);
          tabulkaJmenTelo.appendChild(rada);
        }
        rada = document.createElement("tr");
        bunka = document.createElement("td");
        bunka.onclick = function() {vymazJmena();};
		txtUzel = document.createTextNode(' << zavřít >>');
        bunka.appendChild(txtUzel);
        rada.appendChild(bunka);
        tabulkaJmenTelo.appendChild(rada);
      }

      function nastavUmisteni() {
        var konec = pozice.offsetWidth;
        var levy = vypoctiUmisteniLevy(pozice);
        var horni = vypoctiUmisteniHorni(pozice) + pozice.offsetHeight;
		if(navigator.appName == "Microsoft Internet Explorer")
		  {
			levy = levy - 120;
			horni = horni - 160;
		  }
        dokonceniDiv.style.border = "black 1px solid";
        dokonceniDiv.style.left = levy + "px";
        dokonceniDiv.style.top = horni + "px";
        tabulkaJmen.style.width = 405 + "px";
       // tabulkaJmen.style.width ="auto";
      }

      function vypoctiUmisteniLevy(pole) {
        return vypoctiUmisteni(pole, "offsetLeft");
      }

      function vypoctiUmisteniHorni(pole) {
        return vypoctiUmisteni(pole, "offsetTop");
      }
        
      function vypoctiUmisteni(pole, atribut) {
        var umisteni = 0;
        while(pole) {
          umisteni += pole[atribut];
          pole = pole.offsetParent;
        }
        return umisteni;
      }

      function vyplnJmeno(bunka) {
        vstupniPole.value = bunka.firstChild.nodeValue;
        vymazJmena();
      }

      function vymazJmena() {
        var velikost = tabulkaJmenTelo.childNodes.length;
        for (var i = velikost - 1; i >= 0 ; i--) {
          tabulkaJmenTelo.removeChild(tabulkaJmenTelo.childNodes[i]);
        }
        dokonceniDiv.style.border = "none";
      }

    

