var req = null; //Variable "xmlHttp" leeren
var wert_global = "";
var id=null;
function suggest(wert,evt){ //Prüfung welcher Browser und dementsprechende Variablenzuweisung
  if(evt.keyCode){var curKey = evt.keyCode;}  //IE
  else{var curKey = evt.which;} //Mozilla,...
  if((curKey!=38) && (curKey!=40)){
    wert_global = wert;
    document.getElementsByName('kstichworte')[0].focus();
    if (window.ActiveXObject){  //ActiveXObject speziell für IE
      try{
        req= new ActiveXObject("Msxml2.XMLHTTP"); //für IE5
      }
      catch(e){
        try{
          req= new ActiveXObject("Microsoft.XMLHTTP");  //für IE6
        }
        catch(e){
        }
      }
    }
    else if(window.XMLHttpRequest){ //Unterstützt von Mozilla, Opera, ...
      try{
        req= new XMLHttpRequest();
      }
      catch(e){
      }
    }
    if(req){  //Wenn Variable "xmlHttp" einen Wert besitzt, dann...
      req.open('GET', 'suggest.php?1='+wert, true);  //stellt Verbindung zu Zieldaten her('Methode','Link',...)
      req.onreadystatechange = daten; //Funktion wird als Event-Handler definiert
      req.send(null); //Anfrage wird abgeschickt
    }
  }
}

var text = '';
var textteile = new Array();

function daten(){ //Request auswerten
  var ausgabe = ''; 
  if (req.readyState == 4){ //wenn readyState=4, dann... (0=keine Verbindung, 1=keine Anfrage, 2=Anfrage noch nicht abgeschlossen, 3=Antwortdaten werden übertragen, 4=Anfrage abgeschlossen und alle Daten übertragen)
    text = req.responseText;  //erhaltene Daten -> als Text // wenn aus einer XML-Datei, dann "responseXML" statt "responseText"
  
    if (text != "") { //wenn "text" einen Wert hat, dann...
      textteile = text.split(';');  //";" als Trennzeichen zwischen den Wörtern
      ausgabe += "<ul id='seachObjects' class='textausgabe'>";
      for(i=0; i<textteile.length; i++) {
				if(i==10){
					break;
				}
        if(textteile[i]) ausgabe += "<li id='"+i+"' style=\"cursor:pointer;\" class='textausgabeli' onclick='selecttext(\"" + i + "\");'>" + textteile[i] + "</li>";
      }
      ausgabe += "</ul>";
      document.getElementById('ausgabe').innerHTML = ausgabe;
    }
    if(ausgabe != ""){  //wenn Ausgabe einen Wert hat, dann...
      document.getElementById('ausgabe').style.visibility = "visible";  //Ausgabe sichtbar
    }
    else{
      document.getElementById('ausgabe').style.visibility = "hidden"; //Ausgabe verbergen
    }
  }
} 

function selecttext(teil,key){
  if (textteile[teil] != null && textteile[teil] != ""){
    document.getElementsByName('kstichworte')[0].value = textteile[teil];
		document.getElementsByName('kstichworte')[0].focus();
    ondiv = 0;
  }
}

var ondiv = 0;
function click(){
	document.getElementById('ausgabe').style.visibility = "hidden";
  ondiv = 0;
  id = null;
}

function divclick(){
  ondiv++;
	click();
}

var id = null;

function keyPress(evt){
  if(evt.keyCode){var curKey = evt.keyCode;}  //IE
  else{var curKey = evt.which;} //Mozilla,...
  switch (curKey){
    case 38:  //Pfeil hoch
      if(id!=null){
        if(id>0){
          document.getElementById(id).style.backgroundColor = "#fff";
          id--;
          document.getElementById(id).style.backgroundColor = "#eee";
          selecttext(id,curKey);
        }
      }
    break;
    case 40:  //Pfeil runter
      if(id==null){  //Vom "suchfeld" auf den ersten Suchbegriff
        id = 0;
        document.getElementById(id).style.backgroundColor = "#eee";
				document.getElementById('ausgabe').style.visibility = "visible";
        selecttext(id,curKey);
      }
      else if(id<(document.getElementById('seachObjects').childNodes.length-1)){
        document.getElementById(id).style.backgroundColor = "#fff";
        id++;
        document.getElementById(id).style.backgroundColor = "#eee";
        selecttext(id,curKey);
      }
      break;
    case 13:  //Enter
      selecttextarrows(id);
      alert(id.firstChild.nodeValue);
      break;
    case 8: //Backspace
      id = null;
      break;
    default:
      return;
  }
}
