function clean(txt)
{
 if(txt!='')
    {
      var found = txt.search(/&rsquo;/);
      while(found != -1)
       {
        txt=txt.replace(/&rsquo;/,"'");
        found = txt.search(/&rsquo;/);
       }
      var found = txt.search(/&quot;/);
      while(found != -1)
       {
        txt=txt.replace(/&quot;/,'"');
        found = txt.search(/&quot;/);
       }
    }
 return(txt); 
}

function Suche()
{
 document.getElementById("Eingabe").value = document.getElementById("Eingabe").value.replace(/[\+\?\.\*\^\$\(\)\[\]\{\}\|\\].+|[\+\?\.\*\^\$\(\)\[\]\{\}\|\\]|\s.+/,"")
 c = new Array();
 StText = document.getElementById("Status").firstChild
 StText.nodeValue = "Suche läuft..."

 Tab = document.getElementById("Tabelle")
 TabKoerper = document.getElementById("TKoerper")
 Koerper = document.createElement("TBODY")
 Koerper.setAttribute("name","TKoerper")
 Koerper.setAttribute("id","TKoerper")
 LeerKoerper = document.createElement("TBODY")
 LeerKoerper.setAttribute("name","TKoerper")
 LeerKoerper.setAttribute("id","TKoerper")

 Such = document.getElementById("Eingabe").value

 if (Such != "")
 {
  TrefferAnz = 0
  SeitenAnz = 0
  Auswahl = document.Suchformular.Suchmodus.selectedIndex
  if(Auswahl==0)Suchstr="/^" + Such + "|\\s" + Such + "/i"
  if(Auswahl==1)Suchstr="/\\b" + Such + "\\b/i"
  if(Auswahl==2)Suchstr="/" + Such + "/i"
  Bild1 = document.createElement("IMG")
  Bild1.setAttribute("align","middle")
  Bild1Src = "../Pics/Info/Such.gif"
  Bild1.setAttribute("src",Bild1Src)
  Bild1.setAttribute("height","23")
  Bild2 = document.createElement("IMG")
  Bild2.setAttribute("align","middle")
  Bild2Src = "../Pics/Info/Find.gif"
  Bild2.setAttribute("src",Bild2Src)
  THeadText1 = document.createTextNode("Treffer")
  THeadText2 = document.createTextNode("Seite")
  THead1 = document.createElement("TH")
  THead2 = document.createElement("TH")
  THead1.appendChild (Bild1)
  THead2.appendChild (Bild2)
  THead1.appendChild (THeadText1)
  THead2.appendChild (THeadText2)
  Reihe = document.createElement("TR")
  Reihe.appendChild (THead1)
  Reihe.appendChild (THead2)
  Koerper.appendChild (Reihe)

  for(var IText in b)
   {
    if(IText.match(eval(Suchstr))!=null)
    {
     TrefferAnz = TrefferAnz + 1
     for (var Seite in b[IText])
     {
      if (c[b[IText][Seite]] == undefined)
       {c[b[IText][Seite]] = clean(IText)}
      else
       {c[b[IText][Seite]] = c[b[IText][Seite]] + "|" + clean(IText)}
     }
    }
   }

  for(var Seite in c)
    {
     SeitenAnz = SeitenAnz + 1
     Reihe = document.createElement("TR")
     Zelle1 = document.createElement("TD")
     Zelle2 = document.createElement("TD")
     Zelle2.setAttribute("align","center")
     Liste = document.createElement("UL")

     TrefferListe=c[Seite].split("|")
     for(var Treffer in TrefferListe)
     {
      Listenelement = document.createElement("LI")
      Zeilen=TrefferListe[Treffer].split("<br>")
      for(var Zeile in Zeilen)
      {
       Startpos = Zeilen[Zeile].search(eval(Suchstr))
       if (Startpos <0)
       {
        Listenelement.appendChild (document.createTextNode(Zeilen[Zeile]))
       }
       else
       {
        FoundString=String(Zeilen[Zeile].match(eval(Suchstr)))
        Tr_1_Txt = document.createTextNode(Zeilen[Zeile].substring(0, Startpos))
        Tr_2_Txt = document.createTextNode(FoundString)
        Tr_3_Txt = document.createTextNode(Zeilen[Zeile].substring(Startpos + FoundString.length,Zeilen[Zeile].length))
        Color_Txt = document.createElement("Font")
        Color_Txt.setAttribute("color","#EE0000")
        Color_Txt.appendChild (Tr_2_Txt)
        Listenelement.appendChild (Tr_1_Txt)
        Listenelement.appendChild (Color_Txt)
        Listenelement.appendChild (Tr_3_Txt)
       }
       if(Zeile<Zeilen.length-1)
       {
         Umbr = document.createElement('BR')
         Listenelement.appendChild (Umbr);
       }      
      }
      Liste.appendChild (Listenelement)
     }
     Zelle1.appendChild (Liste)
     SeitenTeil = Seite.split("|")
     Anker = document.createElement("A")
     AnkRef="javascript:loadPage('" + SeitenTeil[1] +"')"
     Anker.setAttribute("href",AnkRef)
     T2 = document.createTextNode(SeitenTeil[0])
     Anker.appendChild (T2)
     Zelle2.appendChild (Anker)
     Reihe.appendChild (Zelle1)
     Reihe.appendChild (Zelle2)
     Koerper.appendChild (Reihe)
    }

  if(TrefferAnz==0)
   {
    Tab.replaceChild(LeerKoerper, TabKoerper)
    StText.nodeValue = "Der Suchtext wurde nicht gefunden"
   }
  else
   {
    Tab.replaceChild(Koerper, TabKoerper);
    n = ""
    if (SeitenAnz > 1) n ="n";
    StText.nodeValue = TrefferAnz + " Treffer auf " + SeitenAnz + " Seite" + n
   }
 }
 else
 {
  StText.nodeValue = "Bitte gib in das Textfeld ein Wort oder einige Buchstaben ein"
  Tab.replaceChild(LeerKoerper, TabKoerper)
 }
}