var nas_lastSelected;
var nas_lastNum;
var reqNaseptej_v2;

function nas_GetKeyCode(e) {
  if (e) {
    return e.charCode ? e.charCode : e.keyCode;
  }
  else {
    return window.event.charCode ? window.event.charCode : window.event.keyCode;
  }
} 

function nas_generujNaseptavac(e,nasNum) {
  if (reqNaseptej_v2) {
    reqNaseptej_v2.abort();
  }
  nas_lastNum = nasNum;
  var unicode = nas_GetKeyCode(e);
  var str = document.getElementById("naseptavac" + nasNum).value;
  if (unicode != 13 && unicode != 38 && unicode != 40 && str != nas_lastSelected) {
    if (str != "") {
      // IE/zbytek světa
      if (window.ActiveXObject) {
      reqNaseptej_v2 = new ActiveXObject("Microsoft.XMLHTTP");
      } else {
        reqNaseptej_v2 = new XMLHttpRequest();
      }
      var url = 'engine/naseptej2011.php?search=' + encodeURI(str) + '&nazev=' + nasNum;
      reqNaseptej_v2.open("GET", url, true);     
      reqNaseptej_v2.onreadystatechange= function () {nas_processRequest(); } ;
      reqNaseptej_v2.send(null);     
    }
    else {     
      document.getElementById("naseptavacDiv" + nasNum).style.visibility = "hidden";
    }
  }
}

function nas_posunNaseptavac(e,nasNum) {
  if (reqNaseptej_v2) {
    reqNaseptej_v2.abort();
  }
  nas_lastNum = nasNum;
  var unicode = nas_GetKeyCode(e);
  var naseptavac = document.getElementById("naseptavacSel" + nasNum);
  if (unicode == 40) {
    // šipka dolů
    naseptavac.options.selectedIndex = 
      naseptavac.options.selectedIndex >= 0 && 
      naseptavac.options.selectedIndex < naseptavac.options.length-1 ?
      naseptavac.options.selectedIndex+1 : 0;
    nas_processRequest();
    return;
  }
  else if (unicode == 38) {
    // šipka nahoru			

    naseptavac.options.selectedIndex = 
      naseptavac.options.selectedIndex > 0 ? 
      naseptavac.options.selectedIndex-1 : naseptavac.options.length-1;
    nas_processRequest();
    return;
  }
  else if (unicode == 13) {
    //nas_lastSelected = document.getElementById("naseptavacSel" + nasNum).value;
    if (window.event)
      e.returnValue = false;
    else
      e.preventDefault();
    if (document.getElementById("naseptavacSel" + nasNum)) {
      if (document.getElementById("naseptavacSel" + nasNum).selectedIndex >= 0) {
        var select = document.getElementById("naseptavacSel" + nas_lastNum);
        nas_parts = select.options[select.selectedIndex].value.split('!');
        if (nas_parts[0] == 'link') {  
          document.location = 'found_k' + nas_parts[1] + '.html';
        } else if (nas_parts[0] == 'detail') {
          showDetail(nas_parts[1]);
        }
      } else {
        nas_lastSelected = document.getElementById("naseptavacSel" + nas_lastNum).value;
        if (nas_lastSelected) {
          nas_parts = nas_lastSelected.split('!');
          document.location = 'index.html?action=e-katalog&sub=search&query=' + encodeURI(nas_parts[1]);
        } else {
          document.location = 'index.html?action=e-katalog&sub=search&query=' + encodeURI(document.getElementById("naseptavac" + nas_lastNum).value);
        }
      }
    } else {
      document.location = 'index.html?action=e-katalog&sub=search&query=' + encodeURI(document.getElementById("naseptavac" + nas_lastNum).value);
    }
    document.getElementById("naseptavacDiv" + nasNum).style.visibility = "hidden";
  }
} 

function nas_processRequest() {
  if (reqNaseptej_v2.readyState == 4) {
    if(reqNaseptej_v2.status == 200) {
      var response = reqNaseptej_v2.responseText;
      if (response == 'N/A') {
        document.getElementById("naseptavacDiv" + nas_lastNum).style.visibility = "hidden";
      }
      else {        
        document.getElementById("naseptavacDiv" + nas_lastNum).innerHTML = response;
        document.getElementById("naseptavacSel" + nas_lastNum).size = document.getElementById("naseptavacSel" + nas_lastNum).options.length;
        if (document.getElementById("naseptavacDiv" + ((nas_lastNum + 1) % 2))) {
          document.getElementById("naseptavacDiv" + ((nas_lastNum + 1) % 2)).style.visibility = "hidden";
        }
        document.getElementById("naseptavacDiv" + nas_lastNum).style.visibility = "visible";
      } 
    }
    else {
      //alert("Chyba při načítání stránky" + reqNaseptej_v2.status +":"+ reqNaseptej_v2.statusText);
    }
  }
}

function nas_getChangeHandler() {
  var select = document.getElementById("naseptavacSel" + nas_lastNum);
  document.getElementById("naseptavac" + nas_lastNum).value = select.options[select.selectedIndex].text;
}

function nas_getResultClickHandler() {
  //nas_processRequest();
  var select = document.getElementById("naseptavacSel" + nas_lastNum);
  nas_parts = select.options[select.selectedIndex].value.split('!');
  if (nas_parts[0] == 'link') {  
    document.location = 'found_k' + nas_parts[1] + '.html';
  } else if (nas_parts[0] == 'detail') {
    document.getElementById("naseptavacDiv" + nas_lastNum).style.visibility = "hidden";
    showDetail(nas_parts[1]);
  }
} 
