function klonen(quelle, ziel) {
 for(var i = 0; i < quelle.childNodes.length; i++) {
  var knoten = quelle.childNodes[i];
  switch (knoten.nodeType) {
   case 1:	
    var neu = ziel.appendChild(document.createElement(knoten.nodeName));
    for (var j = 0; j < knoten.attributes.length; j++) {
     neu.setAttribute(knoten.attributes[j].nodeName, knoten.attributes[j].nodeValue);
    }
    klonen(knoten, neu);
    break;
   case 3:	
    subknoten = document.createTextNode(knoten.nodeValue);
    ziel.appendChild(subknoten);
  }
 }
}



var Vorschlag = {

  container: null,		
  ajax: false,			

  erzeugen: function() 
  {
    try 
    {			
      Vorschlag.ajax = new XMLHttpRequest();
    } 
    catch(w3c) 
    {
      try 
      {			
        Vorschlag.ajax = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(msie) 
      {
        try 
        {		
          Vorschlag.ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(msie_alt) 
        {
          Vorschlag.ajax = false;
          return false;	
        }
      }
    }  
    Vorschlag.container = document.getElementById('kopfdaten');
    return true;
  },
 
 
  holen: function () 
  { 
 
    stichwort = document.getElementById('stichwortsuche').value; 
 
    if (stichwort.length>2) 
    {
      Vorschlag.ajax.open('GET', '/ajax/suchvorschlag.php?stichwort='+stichwort, true);
      Vorschlag.ajax.setRequestHeader('Content-Type', 'text/xml');
      Vorschlag.ajax.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
      Vorschlag.ajax.send(null);

      Vorschlag.ajax.onreadystatechange = function() 
      {
        if (Vorschlag.ajax.readyState == 4) 
        {
          if (Vorschlag.ajax.status != 200 && Vorschlag.ajax.status != 0) 
          {
            return false;
          };
          Vorschlag.schliessen(); 	
          var str = Vorschlag.ajax.responseXML.getElementsByTagName('ergebnis');
          if(str[0]) 
          {
            var kop = document.createElement('div');
            klonen(str[0],kop);
            Vorschlag.schliessen();	
            Vorschlag.container.appendChild(kop);
            Vorschlag.container.lastChild.id='vorschlagsliste';
            liste=document.getElementById('vorschlagsliste');
            liste.style.marginLeft = document.getElementById('stichwortsuche').offsetLeft +'px';
            liste.style.marginTop = -2 +'ex';
            return true;
          }
        }
      };
    
    }
    else 
    {
      Vorschlag.schliessen();	
    }; 
    return false;
  },
 
  
  schliessen: function ()
  {
    if(Vorschlag.container.lastChild.id=='vorschlagsliste') 
    { 
      Vorschlag.container.removeChild(Vorschlag.container.lastChild);
    }; 	
  },
   
  ausblenden: function ()
  {
    window.setTimeout('Vorschlag.schliessen()',1500);
  }
  
};

function init() 
{
 Vorschlag.erzeugen();
 if (Vorschlag.ajax) {
  document.getElementById('stichwortsuche').setAttribute('autocomplete','off');
  var eingabe = document.getElementById('stichwortsuche');
  if(eingabe.addEventListener) {
   eingabe.addEventListener('keyup',Vorschlag.holen,false);
   eingabe.addEventListener('blur',Vorschlag.ausblenden,false);
  }
  else if ( eingabe.attachEvent )  {
    eingabe.attachEvent('onkeyup',Vorschlag.holen); 
    eingabe.attachEvent('onblur',Vorschlag.ausblenden); 
  } 
  else {
  eingabe.onkeyup='Vorschlag.holen()';
  eingabe.onblur='Vorschlag.ausblenden()';
  }
 }
}

var temporaereronload = window.onload;
window.onload = function() {

     if(typeof(temporaereronload) == "function") 
     {
     	temporaereronload();
     }   
     init();
}


