// JavaScript Document
//------------------
//-------------------------------------------------------------------------------------------------------------------------------
//------------------
// AJAXovy naseptavac
// http://www.milosnemec.cz/clanek.php?id=157

// při prvním zobrazení stránky našeptávač skryjeme
//document.getElementById("naseptavacDiv").style.visibility = "hidden";

function GetKeyCode(e) {
  if (e) {
    return e.charCode ? e.charCode : e.keyCode;
  }
  else {
    return window.event.charCode ? window.event.charCode : window.event.keyCode;
  }
}

function generujNaseptavac(e) {
  var unicode = GetKeyCode(e);
  if (unicode == 40) {
    // šipka dolů
    var naseptavacDiv = document.getElementById("naseptavacDiv");
    if (naseptavacDiv.style.visibility == "visible") {
      var naseptavac = document.getElementById("naseptavac");
      naseptavac.options.selectedIndex = 0;
      naseptavac.focus();
      return;
    }
  }
  var str = document.getElementById("slovo").value;
  if (str != "") {
    // IE/zbytek světa
    if (window.ActiveXObject) {
      httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
      httpRequest = new XMLHttpRequest();
    }
    var url = "ajaxovy-naseptavac.php?str=" + encodeURI(str);
    httpRequest.open("POST", url, true);
    httpRequest.onreadystatechange= function () {processRequest(); } ;
    httpRequest.send(null);
  }
  else {
    document.getElementById("naseptavacDiv").style.visibility = "hidden";
  }
}

function processRequest() {
  if (httpRequest.readyState == 4) {
    if(httpRequest.status == 200) {
      var response = httpRequest.responseText;
      if (response == 'EMPTY') {
        document.getElementById("naseptavacDiv").style.visibility = "hidden";
      }
      else {
        document.getElementById("naseptavacDiv").innerHTML = response;
        document.getElementById("naseptavac").size =
          document.getElementById("naseptavac").options.length;
        document.getElementById("naseptavacDiv").style.visibility = "visible";
      }
    }
    else {
      alert("Chyba při načítání stránky"
        + httpRequest.status +":"+ httpRequest.statusText);
    }
  }
}

function getResultClickHandler() {
  var select = document.getElementById("naseptavac");
  var nazev = select.options[select.selectedIndex].innerHTML;
  document.getElementById("slovo").value = nazev;
  document.getElementById("naseptavacDiv").style.visibility = "hidden";
}

function getResultKeyPressHandler(e) {
  if (GetKeyCode(e) == 13) {
    getResultClickHandler();
  }
}

