//-------------------------------------------------------------

// Ergänzung der Funktionen in target.js

//-------------------------------------------------------------

function Link(link,alt,grafik,ziel) //normalerweise in target.js
{
//alert(link+"|"+alt+"|"+grafik+"|"+ziel);

artikel = link //Artikelname(link) [Funktion nicht übernommen]

wert = link.split("=") //28.09.2007 wegen alt == "T", geht aber noch für alle ohne Fehlermeldung
if (alt == "T") gebiet = wert[1].substr(0,1).toUpperCase()+wert[1].substr(1,30); //30.01.2008

if(alt+"" == "undefined") alt = ""

if((grafik+"" == "" || grafik+"" == "undefined") && alt.length+"" < 3)
{
if(alt.length+"" > 0) grafik = alt; else grafik = "L"

switch(alt)
{
case "A":  alt = "zur Anmerkung "+artikel; break
case "E":  alt = "E-Mail schreiben"; break
case "K":  alt = "zum Kommentar "+artikel; break
case "M":  alt = "Karte(n) anzeigen"; break
case "P":  alt = "zur Personendatenbank"; break
case "S":  alt = "zur Sondertafel "+artikel+" im Stadt-Lexikon"; break
case "Sk": alt = "zur Sondertafel "+artikel+" im Stadt-Lexikon";  break
case "L":  alt = "zum Artikel "+artikel+" im Stadt-Lexikon"; break
case "Lk": alt = "zum Artikel "+artikel+" im Stadt-Lexikon"; break
case "O":  alt = "nach oben zum Seitenanfang"; break
case "Q":  alt = "zur Detailansicht"; break
case "Qm": alt = "zur Detailansicht"; break //mit email-Adresse
case "R":  alt = "zur Doppelseite "+artikel+" in der Stadtteil-Tour"; break
case "T":  alt = "zum Datenblatt Gewerbegebiet "+gebiet; break
case "U":  alt = "nach unten zum Abschnitt"; break
case "Pn": alt = info; break
case "Px": alt = info; break
case "F0": alt = "Hilfe in anderer Spalte"; break
case "Ch": alt = "Termine anzeigen"; break
case "Vi": alt = "Videoplayer anzeigen"; break
default:   alt = "zum Beitrag "+artikel+" im Stadt-Lexikon"; break
}
}

if (grafik == "" || grafik+""  == "undefined") grafik = "L.gif"
if (grafik.indexOf(".") == -1) grafik = grafik +".gif"
if (ziel == "" || ziel+""  == "undefined") ziel = "";

document.write('<a href="http://www.dresden-lexikon.de/'+link+'" target="'+ziel+'"><img src="http://www.dresden-lexikon.de/B/'+grafik+'" border=0 title="'+alt+'"></a>')
}

//-------------------------------------------------------------

function str_replace(quelle,ersatz,text) //normalerweise in target.js
{
//alert(ersatz+"+"+quelle+"+"+text)

if (ersatz == null || ersatz.length == 0) ersatz = ""

var p = text.indexOf(quelle); //alert(p)
while (p > -1)
   {
   text = text.substr(0,p)+ersatz+text.substr(p+quelle.length,text.length-p-quelle.length)
   p = text.indexOf(quelle)
   }
   return text
}

//-------------------------------------------------------------

function Linkbau(wert)
{

p1 = wert.indexOf("[")
p2 = wert.indexOf("]")

//document.write(wert+":<br>")

while (p1 > -1 && p2 > -1)
   {
   marke    = wert.substr(p1+1,p2-p1-1) //alert(marke)
   v_objekt = marke                     //für Plan() bei Termine()
   buchs    = marke.substr(0,1)
   link     = "../Lexikon/"+buchs+".htm#"+marke
   vor      = wert.substr(0,p1)
   nach     = wert.substr(p2+1,120)
   wert     = vor+" <script>Link('"+link+"','Lk')</sc"+"ript>"+marke+" "+nach //Linkpfeil einbinden

   p1 = wert.indexOf("[")                                               //nach weiteren Linkbegriffen suchen
   p2 = wert.indexOf("]")
   }

p1 = wert.indexOf("‹") //ein Ort in diesen Klammern hat immer Priorität für Plan() bei Termine()
p2 = wert.indexOf("›") //bei Adressen() kommen diese Klammern nicht vor!
if (p1 > -1 && p2 > -1)
   {
   v_objekt = wert.substr(p1+1,p2-p1-1)
   vor      = wert.substr(0,p1)
   nach     = wert.substr(p2+1,120)
   wert     = vor+" "+v_objekt+" "+nach
   }
return wert
}


//-------------------------------------------------------------

function Difftage(von,bis)
{
if (bis+"" == "undefined") bis = ""

dauer1 = dauer2 = dauer3 = 0

if (bis.length > 0)
   {
   var vondat = new Date()
   vondat.setYear (von.substr(6,4))
   vondat.setMonth(von.substr(3,2)-1)
   vondat.setDate (von.substr(0,2))

   var bisdat = new Date()
   bisdat.setYear (bis.substr(6,4))
   bisdat.setMonth(bis.substr(3,2)-1)
   bisdat.setDate (bis.substr(0,2))

   von_ms = vondat.getTime()
   bis_ms = bisdat.getTime()

   if (bis_ms - von_ms >= 1209600000)
      dauer3 = 1
   else
      dauer2 = 1
   }
else
   dauer1 = 1

}

//-------------------------------------------------------------

function Kategorie(kz)
{
j = 0
while(j < kategorien.length)
   {
   wert = kategorien[j].split(";")

   if (wert[1].indexOf("[") > -1) wert[1] = wert[1].substr(0,wert[1].indexOf("["))

   if (wert[0] == kz) return wert[1]
   j++
   }
return "Bezeichnung nicht vorhanden!"

}

//-------------------------------------------------------------

function Adressen(suchen,steuerzelle,uberschrift) 
{

var time = new Date();                                                 //alert(time)
var year = time.getYear()+"";                                          //alert(year) 
var mon  = time.getMonth()+1+""; if (mon.length  == 1) mon  = "0"+mon; //alert(mon)
var date = time.getDate()+""; if (date.length == 1) date = "0"+date;   //alert(date);
datakt   = year+""+mon+""+date;                                        //alert(datakt)

if (steuerzelle+"" == "undefined") steuerzelle = ""
if (uberschrift+"" == "undefined") uberschrift = ""

a = steuerzelle.substr(0,1); if (a == "" || a == " ") a ="1"
c = steuerzelle.substr(1,1); if (c == "" || c == " ") c = 1
d = steuerzelle.substr(2,1); if (d == "" || d == " ") d = 0
e = steuerzelle.substr(3,1); if (e == "" || e == " ") e = 1
f = steuerzelle.substr(4,1); if (f == "" || f == " ") f = 1 //später 0
k = steuerzelle.substr(5,1); if (k == "" || k == " ") k = 0
p = steuerzelle.substr(6,1); if (p == "" || p == " ") p = 0 //Priorität bei Kneipen
s = steuerzelle.substr(7,1); if (s == "" || s == " ") s = 9 //Sterne bei Hotels (0 keiner, 1-5 Sterne, 9 und * = alle)
u = steuerzelle.substr(8,1); if (u == "" || u == " ") u = 2; if(uberschrift.length > 0) u = 2
z = steuerzelle.substr(9,1); if (z == "" || z == " ") if (a == "G") z = 2; else z = 9 //Öffnungszeiten

sch = ""; if (c == 2) sch = "k"  //08.12.2008

v = 0
if (d > 1) {v = 1; d = d-2}

ste = s; if (ste == 9 || ste == "*") ste = ""
pri = p; if (pri <"1" || pri >"3" || pri.length == 0) pri = ""                                 //; alert(p+"|"+pri+"|")

title_markt = new Array()
title_markt[1] = "1) kommunaler Markt, vorwiegend für Erzeuger"
title_markt[2] = "2) kommunaler Markt"
title_markt[3] = "3) privater Markt im Auftrag der LHD"
title_markt[4] = "4) privater Markt"
 
suc = obj = ort = geb = kat = rub = kue = suche[0] = suche[1] = suche[2] = ""

if (suchen.indexOf(",") > -1)
   {
   suche = suchen.split(",")
   suchen = suche[0] //wenn nur 1 Parameter notwendig, wird suchen gleich ersten Paramter gesetzt!
   }
 
if (suche[2]+"" == "undefined") suche[2] = ""

fall = 4
if (",Altstadt,Neustadt,Pieschen,Klotzsche,Loschwitz,Blasewitz,Leuben,Prohlis,Plauen,Cotta,"             .indexOf(suchen) > -1)
   fall = 1
if (",Weixdorf,Langebrück,Schönborn,Schönfeld-Weißig,Altfranken,Gompitz,Mobschat,Oberwartha, Cossebaude,".indexOf(suchen) > -1)
   fall = 2
if (",Meißen, Coswig,Radebeul,Radeberg,Radeburg,Pirna,Heidenau,Dohna,Freital,Tharandt,Wilsdruff,"        .indexOf(suchen) > -1)
   fall = 3

switch(fall)
   {
   case 1: oa_os_ort = "Ortsamt ";  break  
   case 2: oa_os_ort = "Ortschaft ";break 
   case 3: oa_os_ort = "Stadt ";    break  
   case 4: oa_os_ort = "Gemeinde "; break
   }

switch(a)
   {
   case "*": suc = suchen; ueberschr = "Suchen: "   +suchen; break
   case "0": suc = suchen; ueberschr = "Suchwort: " +suchen; break
   case "1": obj = suchen; ueberschr = "Objekt: "   +suchen; break
   case "2": ort = suchen; ueberschr = "OA/OS/NO: " +suchen; break
   case "3": geb = suchen; ueberschr = "Stadtteil: "+suchen; break
   case "4": kat = suchen; ueberschr = Kategorie(kat);       break
   case "5": rub = suchen; ueberschr = "Lokalart: " +suchen; break
   case "6": kue = suchen; ueberschr = "Küche: "    +suchen; break

   case "G": geb = suche[0]; kat = suche[1]; kue = suche[2]; ueberschr = Kategorie(kat)+" in "+suche[0]
             if(kue.length > 0) ueberschr = ueberschr+", Küche: "+suche[2]; break

   case "N": obj = suche[0]; kat = suche[1]; ueberschr = Kategorie(kat)+" "+suche[0]; break
   case "O": ort = suche[0]; kat = suche[1]; ueberschr = Kategorie(kat)+" "+oa_os_ort+" "+suche[0]; break
   case "S": suc = suche[0]; kat = suche[1]; ueberschr = Kategorie(kat)+" "+suche[0]; break

   default:  suc = suchen; ueberschr = "Suchbegriff: " +suchen; break
   }

   if (kat != "GU") ste = "" //Sterne nur bei Unterkünften auswerten!
   if (ste.length > 0) ueberschr = ueberschr+" "+ste+" Sterne"
   if (pri.length > 0) ueberschr = ueberschr+" (Auswahl ab Priorität "+pri+")"

//document.write("<p><span class=s6r>"+suc+"|"+obj+"|"+ort+"|"+geb+"|"+kat+"|"+rub+"|"+kue+"</span><br>") 
//document.write("<p><span class=s6r>"+suchen+"|"+a+c+d+e+f+k+p+s+u+z+"|"+uberschrift+"</span><br>")

if (uberschrift.length == 0) uberschrift = ueberschr

if (kat == "GE") kueste = "Küche";
if (kat == "GU") kueste = "Sterne";
if (kat == "G")  kueste = "Küche/Sterne";

// Daten aus Array satzweise lesen

kz1 = kz2 = kz3 = "xxx" //Anfangsstand Kennzeichen für Zwischenüberschriften der Ebenen 1 bis 3

var l = 0; link = new Array()
var g = 0
var n = 1

while(n < adressen.length)
   {

   feld     = adressen[n].split(";")
   felder   = feld[1]+";"+feld[2]+";"+feld[3]+";"+feld[4] //nur diese ausgewählten Felder durchsuchen
   if(a == "*") felder = adressen[n]                      //alle übernommenen Felder durchsuchen

   kzeich   = feld[0]; kzeich_such = ","+kzeich; kat_such = ","+kat
   internet = feld[1]
   objekt   = feld[2]
   details  = feld[3] //derzeit nicht im Heißbetrieb übernommen
   strasse  = feld[4]
   plz      = feld[5] 

   gemeinde = feld[6] //für title mit Adresse
   anmerk   = feld[8]
   oa       = feld[9] //Reserve
   oa_ort   = feld[9]+"|"+feld[6]
   gebiet   = feld[10] 
   kueche   = feld[11]; von_bis = kueche //von-bis bei Märkten, Ausstellungen u.ä.
   rubrik   = feld[12]
   wt1      = feld[14]
   offen1   = feld[15]
   wt2      = feld[16]
   offen2   = feld[17]
   wt3      = feld[18]
   offen3   = feld[19]
   sterne   = feld[21]+""
   prior    = feld[22]+""

//document.write(kzeich.substr(0,1)+"|"+von_bis.length+"|"+von_bis+"|"+objekt+"<br>")

   if (kzeich.substr(0,1) != "G" && von_bis.length > 0) //99.99.9999-99.99.9999
      {
      datvon = von_bis.substr(6,4) +von_bis.substr(3,2) +von_bis.substr(0,2)
      datbis = von_bis.substr(17,4)+von_bis.substr(14,2)+von_bis.substr(11,2)
//document.write("<span class=red>"+kzeich.substr(0,1)+"|"+von_bis.length+"|"+von_bis+"|"+objekt+"</span><br>")
//document.write("<span class=red>"+datvon+"|"+datbis+"</span><br>")
      }
   else
      {
      datvon = datbis = ""
//document.write("<span class=blue>"+kzeich.substr(0,1)+"|"+von_bis.length+"|"+von_bis+"|"+objekt+"</span><br>")
      }

   if (kzeich.indexOf("GU") > -1 && (sterne == "undefined" || sterne == " " || sterne.length == 0)) sterne = "0"; 
   if (prior  == "undefined" || prior  == " " || prior.length  == 0) prior  = "0"; 
   sterne = sterne.substr(0,1);

   bed = bed0 = bed1 = bed2 = bed3 = bed4 = bed5 = bed6 = bed7 = bed8 = 0

   if (suc.length == 0 || (suc.length > 0 && felder.toLowerCase().indexOf(suc.toLowerCase()) > -1)) bed0 = 1
   if (obj.length == 0 || (obj.length > 0 && objekt.toLowerCase().indexOf(obj.toLowerCase()) > -1)) bed1 = 1
   if (ort.length == 0 || (ort.length > 0 && oa_ort.toLowerCase().indexOf(ort.toLowerCase()) > -1)) bed2 = 1   
   if (geb.length == 0 || (geb.length > 0 && gebiet.toLowerCase().indexOf(geb.toLowerCase()) > -1)) bed3 = 1
   if (kat.length == 0 || (kat.length > 0 && kzeich_such.indexOf(kat_such)                   > -1)) bed4 = 1
   if (rub.length == 0 || (rub.length > 0 && rubrik.toLowerCase().indexOf(rub.toLowerCase()) > -1)) bed5 = 1
   if (kue.length == 0 || (kue.length > 0 && kueche.toLowerCase().indexOf(kue.toLowerCase()) > -1)) bed6 = 1  
   if (ste.length == 0 || (ste.length > 0 && sterne == ste))                                        bed7 = 1 
   if (pri.length == 0 || (pri.length > 0 && prior  >= pri))                                        bed8 = 1 

   class_vb = class_tu = "black"  
   if (datvon.length > 0 && datbis.length > 0)
      {
      bed6 = 1
      if (datakt < datvon) {class_vb = "green"; class_tu = "grey"}
      if (datakt > datbis) {class_vb = "red";   class_tu = "grey"; if(v == 0) bed6 = 0}
      }

//document.write(pri.length+"|"+pri+"|"+prior+"|"+"|"+objekt+"<br>")
//document.write("BED:"+bed0+bed1+bed2+bed3+bed4+bed5+bed6+bed7+bed8+"="+bed+"|"+objekt+"|"+kzeich+"|"+kat_such+"<br>")
//document.write("GEB:"+geb+"|"+gebiet+"<br>")

   if (bed0 == 1 && bed1 == 1 && bed2 == 1 && bed3 == 1 && bed4 == 1 && bed5 == 1 && bed6 == 1 && bed7 == 1 && bed8 == 1) bed = 1
   if (kzeich.indexOf("*") > -1) bed = 0

   if (bed == 1)
      {

      zn = 1                                      //Zeilenanzahl Feld Objekt ermitteln
      if (objekt.indexOf("<br>") > -1)              zn++
      if (objekt.length > 30)                       zn++
      if (details.length > 0 && (d == 1 || d == 3)) zn++
      if (von_bis.length > 0)                       zn++

      top3 = "" //notwendigen Vorschub 3px in Zeitfeldern ermitteln
      if (c == 1 && ((zn == 1 && offen2.length == 0) || (zn == 2 && offen3.length == 0) || zn >= 3))
         top3 = "style='padding-top:3; '"
     
      if(gemeinde.length == 0) gemeinde = "Dresden"
      adresse  = plz+" "+gemeinde+", "+strasse

      objekt = str_replace("|","<br>",objekt)
      objekt = str_replace("#","<span class=detail>",objekt)
      objekt = str_replace("*","<span class=red>",objekt)
      if(e == 1)
        objekt = str_replace("~","•",objekt)
      else
        objekt = str_replace("~","",objekt)

      objekt = Linkbau(objekt)

      details = str_replace("|","<br>",details)
      details = str_replace("*","<span class=red>",details)

      details = Linkbau(details)

      rows = 1;
      if (z == 1 || z == 9 || (kzeich.substr(0,1) != "G" && z == 2)) //Ermittlung der Zeilenanzahl pro Satz bei Öffnungszeiten
         {
         if (offen2.length > 0) rows = 2
         if (offen3.length > 0) rows = 3
         }

      if (u > 0 && g == 0)
         {
         document.write("<p class=l15>")
         if (uberschrift.length == 0) uberschrift = "Adressen"

         para="?"
         if (suc.length > 0) para = para+"&suchen="+suc
         if (obj.length > 0) para = para+"&suchen="+obj //objekt einzeln suchen n.v.
         if (ort.length > 0) para = para+"&oa="+oa_ort
         if (geb.length > 0) para = para+"&gebiet="+geb
         if (kat.length > 0) para = para+"&kz="+kat
         if (rub.length > 0) para = para+"&art="+rub    //Reserve
         if (kue.length > 0) para = para+"&kueche="+kue //Reserve
         para = str_replace("?&","?",para)
         if (para == "?") para = ""

         title = "Zum Adressensucher «"+suchen+"» mit mehr Infos"; //02.12.2008

         if (kzeich.substr(0,1) == "G")
            Link("../Lexikon/Einkehren.php?gebiet="+geb+"&kueche="+kue,title,"Lk")
         else 
            Link("../Lexikon/Adressen.php"+para,title,"Lk")

         if (u == 2) uberschrift = "<span class=detail>"+uberschrift+"</span>"
         document.write(uberschrift)
         }

      if (g == 0) document.write("<table class=z width=370>")

      if (g == 0)
         {
         document.write("<tr class=body>")
         document.write("<td class=x><img src='../B/leer.gif' height=0 width=18></td>")
         document.write("<td class=x><img src='../B/leer.gif' height=0 width=16></td>")
//       document.write("<td class=x><img src='../B/leer.gif' height=0 width=18></td>")
         document.write("<td class=x><img src='../B/leer.gif' height=0 width=211></td>") //193 bei Extraspalte für Linkpfeil
         document.write("<td class=x><img src='../B/leer.gif' height=0 width=60></td>")
         document.write("<td class=x><img src='../B/leer.gif' height=0 width=65></td>")
//       document.write("<td class=x><img src='../B/leer.gif' height=0 width=16></td>")
         document.write("</tr>")
         }

//--- einfacher Tabellenkopf

      if (k == 1 && g == 0)
         {
         document.write("<tr class=z2><td class=tk width=10></td><td class=tk width=8></td>")
         if (z == 0)
            document.write("<td class=tk colspan=3>Objekt</td>")
         else
            {
            document.write("<td class=tk>Objekt</td>")
            if (z == 2)
               document.write("<td class=tk>Art</td><td class=tk>"+kueste+"</td>")
            else
               document.write("<td class=tk colspan=2>Öffnungszeiten</td>")
            }
         document.write("</tr>")
         }

//--- ebenenbezogenem Wechsel der Kategorie ermitteln

      c1 = c2 = c3 = 0
      if (kzeich.substr(0,3) != kz3) 
         {
         kz3 = kzeich.substr(0,3)
         c3 = 1
         }

      if (kzeich.substr(0,2) != kz2) 
         {
         kz2 = kzeich.substr(0,2)
         c2 = 1
         }

      if (kzeich.substr(0,1) != kz1) 
         {
         kz1 = kzeich.substr(0,1)
         c1 = 1
         }

//--- Zwischenüberschrift bei gewählter Ebene und ebenenbezogenem Wechsel der Kategorie

      if ("2468".indexOf(k) > -1 && c1 == 1)
         {
         zwub = Kategorie(kz1)

         document.write("<tr class=z1><td class=tk colspan=5>")
         document.write(zwub)
         document.write("</td></tr>")
         }

      if ("3478".indexOf(k) > -1 && c2 == 1)
         {
         zwub = Kategorie(kz2)

         document.write("<tr class=z2><td class=tk colspan=5>")
         document.write(zwub)
         document.write("</td></tr>")
         }

      if ("5678".indexOf(k) > -1 && c3 == 1)
         {
         zwub = Kategorie(kz3)

         document.write("<tr class=z3><td class=tk colspan=5>")
         document.write(zwub)
         document.write("</td></tr>")
         }

      g++ //Position gefunden und gezählt

//--- Homepage

      document.write("<tr><td class=t"+sch+" rowspan="+rows+">")
      if (internet.length > 0)
         Home(internet,"Hf"+sch)
      document.write("</td>")

//--- Stadtplan

      document.write("<td class=t"+sch+" rowspan="+rows+">")
      if (plz.length > 0)
         Plan(plz+", "+strasse,"","x1",c)
      else
         Plan(strasse,"","x1",c)  
      document.write("</td>")

//--- Extraspalte für Linkpfeil

//      document.write("<td class=t rowspan="+rows+">")
//      if (link.length > 0)
//         Link(link)
//      document.write("</td>")

//--- Bezeichnung, Details, von-bis

      if ((offen1.length > 0 && z == 9) || z == 1 || z == 2) cols = 1; else cols = 3

      document.write("<td class=t"+sch+" colspan="+cols+" rowspan="+rows+">")
      document.write("<span title='"+adresse+"'>"+objekt+"</span></span>") //2. <span> z.B. wegen #

      if (anmerk.length > 0 && kzeich.indexOf("HM") > -1)
         if(c == 2)
            document.write("<span class=blue title='"+title_markt[anmerk]+"'><span class=s4>&nbsp;"+anmerk+")</span></span>&nbsp;")
         else
            document.write("<sup class=blue title='"+title_markt[anmerk]+"'>&nbsp;"+anmerk+")</sup>&nbsp;")

      if (anmerk.length > 0 && kzeich.indexOf("HM") == -1) //wie Details, kommen aber immer!
         {
         anmerk = str_replace("*","<span class=red>",anmerk) 
         anmerk = str_replace("|","<br>",anmerk) 
         document.write("<p class=detail>"+anmerk)
         }

      if (d == 1 && details.length > 0)
         document.write("<p class=detail>"+details+"</span>")

      if (kzeich.substr(0,1) != "G" && von_bis.length > 0)
         {
         von_bis = str_replace("|","<br>",von_bis) 
         document.write("<p class=detail><span class="+class_vb+">"+von_bis+"</span>")
         }
      document.write("</td>")

//--- Öffnungszeiten

      if ((offen1.length > 0 && z == 9) || z == 1 || (kzeich.substr(0,1) != "G" && z == 2))
         {
         wt1    = str_replace("|","<br>",wt1)
         wt1    = str_replace("+",",",wt1)
         offen1 = str_replace("|","<br>",offen1)
         document.write("<td class=tk "+top3+"><span class="+class_tu+">"+wt1+"</span></td>")
         document.write("<td class=tk "+top3+"><span class="+class_tu+">"+offen1+"</span></td>")
         }

      if (z != 2) document.write("</tr>")

      if (offen2.length > 0 && (z == 1 || z == 9 || (kzeich.substr(0,1) != "G" && z == 2)))
         {
         wt2    = str_replace("|","<br>",wt2)
         wt2    = str_replace("+",",",wt2)
         offen2 = str_replace("|","<br>",offen2)
         document.write("<tr><td class=tk "+top3+"><span class="+class_tu+">"+wt2+"</span></td>")
         document.write("    <td class=tk "+top3+"><span class="+class_tu+">"+offen2+"</span></td></tr>")
         }

      if (offen3.length > 0 && (z == 1 || z == 9 || (kzeich.substr(0,1) != "G" && z == 2)))
         {
         wt3    = str_replace("|","<br>",wt3)
         wt3    = str_replace("+",",",wt3)
         offen3 = str_replace("|","<br>",offen3)
         document.write("<tr><td class=tk "+top3+"><span class="+class_tu+">"+wt3+"</span></td>")
         document.write("    <td class=tk "+top3+"><span class="+class_tu+">"+offen3+"</span></td></tr>")
         }

//--- Rubrik Gastgewerbe und Küche

      if (kzeich.substr(0,1) == "G" && z == 2) 
         {
         title_rubrik = rubrik+" Sterne: "+sterne
         if(rubrik.length > 10)
         {
         rubrik = str_replace("Restaurant","Rest.",rubrik)
         rubrik = str_replace("Biergarten","Bierg.",rubrik)
         rubrik = str_replace("Terrasse","Terr.",rubrik)
         rubrik = str_replace("Ausflugslokal","Ausfl.",rubrik)
         rubrik = str_replace("Brauhaus","Brauh.",rubrik)
         rubrik = str_replace("Steakhouse","Steakh.",rubrik)
         rubrik = str_replace("Pizzeria","Pizz.",rubrik)
         rubrik = str_replace("Ladengeschäft","Laden",rubrik)
         rubrik = str_replace("Zimmervermietung","ZiV",rubrik)
         rubrik = str_replace("Ferienwohnung","FeWo",rubrik)
         rubrik = str_replace("Apartment","Apart.",rubrik)
         rubrik = str_replace("Pension","Pens.",rubrik)
         rubrik = str_replace(", ",",",rubrik)
         rubrik = rubrik.substr(0,10)
         }
         title_kueche = kueche+" | "+sterne+" Sterne"
         stars = "*****".substr(0,sterne)  
         if(kueche.length > 11)
         {
         kueche = str_replace("deutsch","deu.",kueche)
         kueche = str_replace("sächsisch","sä.",kueche)
         kueche = str_replace("bayrisch","bay.",kueche)
         kueche = str_replace("schwäbisch","schwä.",kueche)
         kueche = str_replace("österreichisch","österr.",kueche)
         kueche = str_replace("ungarisch","ungar.",kueche)
         kueche = str_replace("tschechisch","tsch.",kueche)
         kueche = str_replace("russisch","russ.",kueche)
         kueche = str_replace("usbekisch","usbek.",kueche)
         kueche = str_replace("irisch","ir.",kueche)
         kueche = str_replace("französisch","franz.",kueche)
         kueche = str_replace("spanisch","span.",kueche)
         kueche = str_replace("italienisch","ital.",kueche)
         kueche = str_replace("griechisch","griech.",kueche)
         kueche = str_replace("portugiesisch","port.",kueche)
         kueche = str_replace("brasilianisch","bras.",kueche)
         kueche = str_replace("lateinamerikanisch","latein.",kueche)
         kueche = str_replace("amerikanisch","amer.",kueche)
         kueche = str_replace("kanadisch","kanad.",kueche)
         kueche = str_replace("kubanisch","kuban.",kueche)
         kueche = str_replace("mexikanisch","mex.",kueche)
         kueche = str_replace("international","int.",kueche)
         kueche = str_replace("mediterran","medit.",kueche)
         kueche = str_replace("historisch","histor.",kueche)
         kueche = str_replace("chinesisch","chin.",kueche)
         kueche = str_replace("japanisch","jap.",kueche)
         kueche = str_replace("vietnamesisch","vietn.",kueche)
         kueche = str_replace("libanesisch","liban.",kueche)
         kueche = str_replace("mongolisch","mongol.",kueche)
         kueche = str_replace("asiatisch","asiat.",kueche)
         kueche = str_replace("südafrikanisch","südafr.",kueche)
         kueche = str_replace("arabisch","arab.",kueche)
         kueche = str_replace("vegetarisch","veget.",kueche)
         kueche = str_replace("Fettbemmchen & Bockwürste","Fettb/Bockw",kueche)
         kueche = kueche.substr(0,11)
         } 
         document.write("<td class=tk title='"+title_rubrik+"' "+top3+">"+rubrik+"</td>")
         document.write("<td class=tk title='"+title_kueche+"' "+top3+">"+kueche+" "+stars+"</td></tr>")
         }
 
      }

//--- Ende gefundener Satz

   n++

   }

//--- Ende Zyklus pro Satz

if(g > 0) document.write("</table>")
//document.write("<span class=detail>"+g+" Datensätze von insgesamt "+n+" gefunden</span>")

if (f == 1 && g == 0) document.write("<p class=s6r>keine Daten zur Suchauswahl "+suchen+" ("+steuerzelle+") gespeichert")
  
}

//-------------------------------------------------------------

function Termine(suchen,steuerzelle,uberschrift) 
{

suchen_original = suchen

var time = new Date();                                                 //alert(time)
var year = time.getYear()+"";                                          //alert(year) 
var mon  = time.getMonth()+1+""; if (mon.length  == 1) mon  = "0"+mon; //alert(mon)
var date = time.getDate()+""; if (date.length == 1) date = "0"+date;   //alert(date);
datakt   = year+""+mon+""+date;                                        //alert(datakt)
var morg = time.getDate()+1+""; if (morg.length == 1) morg = "0"+morg
datmor   = year+""+mon+""+morg

if (steuerzelle+"" == "undefined") steuerzelle = ""
if (uberschrift+"" == "undefined") uberschrift = ""

a = steuerzelle.substr(0,1); if (a == "" || a == " ") a ="1" //Auswahlsteuerung
c = steuerzelle.substr(1,1); if (c == "" || c == " ") c = 2  //Schriftgröße
d = steuerzelle.substr(2,1); if (d == "" || d == " ") d = 0  //Details (1) und Vergangenes (2), beides (3)
e = steuerzelle.substr(3,1); if (e == "" || e == " ") e = 7  //Home(), Plan() und Veranstaltungsort anzeigen
f = steuerzelle.substr(4,1); if (f == "" || f == " ") f = 1  //Fehlerreaktion bei nichts gefunden, später 0
k = steuerzelle.substr(5,1); if (k == "" || k == " ") k = 0  //Tabellenkopf
p = steuerzelle.substr(6,1); if (p == "" || p == " ") p = 1  //max. Anzahl ...
s = steuerzelle.substr(7,1); if (s == "" || s == " ") s = 0  //... auszugebender Sätze
u = steuerzelle.substr(8,1); if (u == "" || u == " ") u = 2; if(uberschrift.length > 0) u = 2 //Überschrift
z = steuerzelle.substr(9,1); if (z == "" || z == " ") z = 3  //hier: Dauer der Veranstaltung (Kategorien für Spannen in Tagen)

v = 0
if (d > 1) {v = 1; d = d-2}

maxanz = steuerzelle.substr(6,2)/1; if (maxanz == 0) maxanz = 10; //alert(maxanz)

sch = ""; if (c == 2) sch = "k"  //07.12.2008

suche = new Array()
suc = nam = ort = oas = geb = rub = dat = suche[0] = suche[1] = suche[2] = ""

if (suchen.indexOf(",") > -1)
   {
   suche = suchen.split(",")
   suchen = suche[0] //wenn nur 1 Parameter notwendig, wird suchen gleich ersten Paramter gesetzt!
   if (suche[1] == "*") suche[1] = ""
   if (suche[2] == "*") suche[2] = ""
   if (suche[2]+"" == "undefined") suche[2] = ""

   if (suche[1] == "heute" || suche[1] == "morgen" || suche[1].substr(5,3) == ".20") suche[2] = suche[1]
   if((suche[2] == "heute" || suche[2] == "morgen" || suche[2].substr(5,3) == ".20") && steuerzelle.substr(6,2)/1 == 0) maxanz = 100

   dat = suche[2]   //Kurzbezeichung für Datumauswahl (s.u.)

   switch(suche[2]) //Suchspannen
      {
      case "heute":  susvon = datakt; susbis = datakt; break
      case "morgen": susvon = datmor; susbis = datmor; break

      default:       susvon = suche[2].substr(6,4) +suche[2].substr(3,2) +suche[2].substr(0,2)
                     susbis = suche[2].substr(17,4)+suche[2].substr(14,2)+suche[2].substr(11,2); break
      }

   }
else
   suche[0] = suchen //falls bei einem Parameter a = Buchstabe angegeben wurde

fall = 5
if (",Altstadt,Neustadt,Pieschen,Klotzsche,Loschwitz,Blasewitz,Leuben,Prohlis,Plauen,Cotta,"             .indexOf(suchen) > -1)
   fall = 1
if (",Weixdorf,Langebrück,Schönborn,Schönfeld-Weißig,Altfranken,Gompitz,Mobschat,Oberwartha, Cossebaude,".indexOf(suchen) > -1)
   fall = 2
if (",Meißen, Coswig,Radebeul,Radeberg,Radeburg,Pirna,Heidenau,Dohna,Freital,Tharandt,Wilsdruff,"        .indexOf(suchen) > -1)
   fall = 3
if (",Innere Altstadt,Innere Neustadt,"                                                                  .indexOf(suchen) > -1)
   fall = 4

switch(fall)
   {
   case 1: oa_os_ort = "Ortsamt ";   break  
   case 2: oa_os_ort = "Ortschaft "; break 
   case 3: oa_os_ort = "Stadt ";     break  
   case 4: oa_os_ort = "Stadtteil "; break  
   case 5: oa_os_ort = "Gemeinde ";  break
   }

switch(a)
   {
   case "*": suc = suchen; ueberschr = suchen; break
   case "0": suc = suchen; ueberschr = suchen; break
   case "1": nam = suchen; ueberschr = suchen; break
   case "2": ort = suchen; ueberschr = suchen; break
   case "3": oas = suchen; ueberschr = suchen; break
// case "4": geb = suchen; ueberschr = suchen; break //Reserve
   case "5": rub = suchen; ueberschr = suchen; break

   case "S": suc = suche[0]; rub = suche[1]; von_bis= suche[2]; ueberschr = suche[0]+", "+rub; break
   case "N": nam = suche[0]; rub = suche[1]; von_bis= suche[2]; ueberschr = suche[0]+", "+rub; break
   case "V": ort = suche[0]; rub = suche[1]; von_bis= suche[2]; ueberschr = suche[0]+", "+rub; break
   case "O": oas = suche[0]; rub = suche[1]; von_bis= suche[2]; ueberschr = oa_os_ort+" "+suche[0]+", "+rub; break
  
   default:  suc = suchen; ueberschr = "Suchbegriff: "+suchen; break
   }

ueberschr = "Termine "+ueberschr+" (Auswahl)"

if (suche[2].length > 0) ueberschr = ueberschr+", "+suche[2]

ueberschr = str_replace(" , "," ",ueberschr)

if (v == 1) ueberschr = ueberschr+" (auch Vergangenes)"

//document.write("<p><span class=s6r>"+suc+"|"+obj+"|"+ort+"|"+geb+"|"+kat+"|"+rub+"|"+kue+"</span><br>") 
//document.write("<p><span class=s6r>"+suchen+"|"+a+c+d+e+f+k+p+s+u+z+"|"+uberschrift+"</span><br>")

if (uberschrift.length == 0) uberschrift = ueberschr

//============================================================= Daten aus Array satzweise lesen

l = 0; link = new Array()
g = 0
n = 0

while(n < termine.length && g < maxanz)

   {

   feld     = termine[n].split(";")
   felder   = feld[4]+";"+feld[5]+";"+feld[6]+";"+feld[7]+";"+feld[8]+";"+feld[11]+";"+feld[12] //nur diese ausgewählten Felder durchsuchen
   if(a == "*") felder = termine[n]                                                             //alle übernommenen Felder durchsuchen

   id       = feld[0]
   von      = feld[1]
   bis      = feld[2]
   uhr      = feld[3]
   v_name   = feld[4]  //Veranstaltungsname - Bezeichnung event führt zu JS-Abbruch   
   v_ort    = feld[5]  //Veranstaltungsort
   oa_ort   = feld[6]  //locals
   rubrik   = feld[7]  //select
   internet = feld[8] 
   kz       = feld[9]
   kennwort = feld[10] //nicht übergeben 
   zusatz   = feld[11] //Zeitzusatz
   details  = feld[12]
   erstjahr = feld[13] //nicht übergeben
   details2 = feld[14] //nicht übergeben

   datvon = von.substr(6,4)+von.substr(3,2)+von.substr(0,2)
   datbis = bis.substr(6,4)+bis.substr(3,2)+bis.substr(0,2)

   if(datbis.length == 0) datbis = datvon

   bed = bed0 = bed1 = bed2 = bed3 = bed4 = bed5 = bed6 = bed7 = bed8 = 0
   bed4 = bedx7 = bed8 = 1

   if (suc.length == 0 || (suc.length > 0 && felder.toLowerCase().indexOf(suc.toLowerCase()) > -1)) bed0 = 1
   if (nam.length == 0 || (nam.length > 0 && v_name.toLowerCase().indexOf(nam.toLowerCase()) > -1)) bed1 = 1
   if (ort.length == 0 || (ort.length > 0 &&  v_ort.toLowerCase().indexOf(ort.toLowerCase()) > -1)) bed2 = 1   
   if (oas.length == 0 || (oas.length > 0 && oa_ort.toLowerCase().indexOf(oas.toLowerCase()) > -1)) bed3 = 1
                                                                                           
   if (rub.length == 0 || (rub.length > 0 && rubrik.toLowerCase().indexOf(rub.toLowerCase()) > -1)) bed5 = 1

   if (dat.length == 0 || (dat.length > 0 && (susvon >= datvon && susvon <= datbis)) || (susbis >= datvon && susvon <= datbis)) bed6 = 1 

   if (v == 0 && datbis < datakt) bed6 = 0

   Difftage(von,bis) //document.write(dauer1+dauer2+dauer3+"<br>") //liefert dauer1 bis 3 

   if (("1357".indexOf(z) > -1 && dauer1 == 1) || ("2367".indexOf(z) > -1 && dauer2 == 1) || ("4567".indexOf(z) > -1 && dauer3 == 1)) bed7 = 1

//document.write(dat+"|"+susvon+"|"+susbis+"|"+datvon+"|"+datbis+"|"+datbis.length+" >>"+bed6+"<br>")

   if (bed0 == 1 && bed1 == 1 && bed2 == 1 && bed3 == 1 && bed5 == 1 && bed6 == 1 && bed7 == 1) bed = 1
   if (kz.indexOf("*") > -1) bed = 0 //gelöschte Sätze generell ausblenden

//document.write("BED:"+bed0+bed1+bed2+bed3+bed5+bed6+bed7+"="+bed+"|"+susvon+"|"+susbis+"|"+datvon+"|"+datbis+"|"+v_name+"<br>")
//document.write(e+" BED:"+bed0+bed1+bed2+bed3+bed5+bed6+bed7+"="+bed+"|"+v_name+"<br>")

   if (bed == 1)
      {
      v_name = str_replace("|","<br>",v_name)
      v_name = str_replace("#","<span class=detail>",v_name)
      v_name = str_replace("*","<span class=red>",v_name)
      v_name = str_replace("{","<b class=blase>",v_name)
      v_name = str_replace("}","</b>",v_name)

      v_name = Linkbau(v_name)

      out = ""; if (v_ort.indexOf("²") > -1) out = "x"
      aus = 0;  if (v_ort.indexOf("³") > -1) aus = 1

//nur testweise, Umlautproblematik soll in EDIT gelöst werden (bei script-Zeilen soll keine Konvertierung erfolgen!) erfolgt?!
      v_ort = str_replace("&auml;","ä",v_ort)

      v_ort = str_replace("|","<br>",v_ort)
      v_ort = str_replace("#","<span class=detail>",v_ort)
      v_ort = str_replace("*","<span class=red>",v_ort)
      v_ort = str_replace("²","",v_ort)
      v_ort = str_replace("³","",v_ort)

      v_ort = Linkbau(v_ort) //hierin werden auch [] und ‹› beseitigt

      p = v_ort.indexOf("R=")
      if (p > -1) v_ort = v_ort.substr(0,p)+" "+v_ort.substr(p+19,60)

      details = str_replace("|","<br>",details)
      details = str_replace("*","<span class=red>",details)

      details = Linkbau(details)

//--- Überschrift (vor erster gefundener Position, wenn gewünscht) 

      if (u > 0 && g == 0)
         {
         document.write("<p class=l15>")
         if (uberschrift.length == 0) uberschrift = "Termine"

         para="?detail=ja"
         if (suc.length > 0) para = para+"&suchen="+suc
         if (nam.length > 0) para = para+"&suchen="+nam //objekt einzeln suchen n.v.
         if (ort.length > 0) para = para+"&ort="+ort
         if (oas.length > 0) para = para+"&locals="+oas
         if (rub.length > 0) para = para+"&select="+rub

         para = str_replace("?&","?",para) //bei d=1 redundant
         if (para == "?") para = ""        //bei d=1 redundant

         if ("1357".indexOf(z) > -1) para = para+"&dauer1=1"
         if ("2367".indexOf(z) > -1) para = para+"&dauer2=1"
         if ("4567".indexOf(z) > -1) para = para+"&dauer3=1"

         title = "Zum Terminsucher «"+suchen+"» mit mehr Infos"

         Link("../News/Kalender.php"+para,title,"Lk")

         if (u == 2) uberschrift = "<span class=detail>"+uberschrift+"</span>"

         document.write(uberschrift)
         }

//--- Tabelleneröffnung und feste Spalteneinteilung

      if (g == 0) document.write("<table class=z width=370 style='margin-top:0; '>")

      if (g == 0)
         {

         if (c == 2)
            br = new Array(62,36,17,14,241)
         else
            br = new Array(72,42,18,16,222)

         document.write("<tr class=body>")
         document.write("<td class=x><img src='../B/leer.gif' height=0 width="+br[0]+"></td>") //von-bis
         document.write("<td class=x><img src='../B/leer.gif' height=0 width="+br[1]+"></td>") //uhr

         if ("1357".indexOf(e) > -1) //mit Spalte Home()
            document.write("<td class=x><img src='../B/leer.gif' height=0 width="+br[2]+"></td>")
         else
            br[4] = br[4] +br[2]
         if ("2367".indexOf(e) > -1) //mit Spalte Plan()
            document.write("<td class=x><img src='../B/leer.gif' height=0 width="+br[3]+"></td>")
         else
             br[4] = br[4] +br[3]
         document.write("<td class=x><img src='../B/leer.gif' height=0 width="+br[4]+"></td>")
//       document.write("<td class=x><img src='../B/leer.gif' height=0 width="+br[2]+"></td>")  //zur Detailansicht
         document.write("</tr>")
         }

//--- Tabellenkopf (vor erster gefundener Position, wenn gewünscht)

      if (k == 1 && g == 0)
         {
         document.write("<tr class=z2><td class=tk>am /von-bis</td><td class=tk>Zeit</td>")
         if ("1357".indexOf(e) > -1)
            document.write("<td class=tk></td>")
         if ("2367".indexOf(e) > -1)
            document.write("<td class=tk></td>")
         document.write("<td class=tk>Veranstaltung</td>")
         document.write("</tr>")
         }

      g++ //Position gefunden und gezählt

//--- Datum von-bis
      document.write("<tr><td class=t"+sch+">")
      document.write(von)
      if (bis.length > 0) document.write("-<br>"+bis)
      document.write("</td>")

//--- Uhrzeit
      document.write("<td class=t"+sch+">")

      uhr = str_replace("-","~",uhr)
      uhr = str_replace("~","-<br>",uhr)
      uhr = str_replace("+","~",uhr)
      uhr = str_replace("~","+<br>",uhr)
      uhr = str_replace("/","~",uhr)
      uhr = str_replace("~","/<br>",uhr)

      uhr = str_replace("_","-",uhr)
      uhr = str_replace("|","<br>",uhr)
      uhr = str_replace(" ","<br>",uhr)
      uhr = str_replace("#","<span class=s6>",uhr) //class=tk ist allerdings ohnehin nur s6
      uhr = str_replace("}","</span>",uhr)

      document.write(uhr)
      document.write("</td>")

//--- Homepage
      if ("1357".indexOf(e) > -1)
         {
         document.write("<td class=t"+sch+">")
         if (internet.length > 0)
            Home(internet,"H"+sch)
         document.write("</td>")
         }
  
//--- Stadtplan
      if ("2367".indexOf(e) > -1)
         {
         document.write("<td class=t"+sch+">")
         if (aus == 0)
            Plan(v_objekt,"",out,c) //nur über Adressdatei
         document.write("</td>")
         }
 
//--- Bezeichnung, Details, von-bis
      document.write("<td class=t"+sch+">")
      document.write(v_name)

      if (e > 3)
         document.write("<br>"+v_ort)

      if (zusatz.length > 0)
         document.write("<p class=detail>"+zusatz) //12.12.2008

      if ((d == 1 || d == 3) && details.length > 0)
         document.write("<p class=detail>"+details+"</span>")

      document.write("</td>")

      document.write("</tr>")

//--- Ende gefundener Satz
      }

   n++

   }

//--- Ende Zyklus pro Satz

if(g > 0) document.write("</table>")
//document.write("<span class=detail>"+g+" Datensätze von insgesamt "+n+" gefunden</span>")

if (f == 1 && g == 0) document.write("<p class=s6r>Es sind keine Termine zur Suchauswahl<br>"+suchen_original+" ("+steuerzelle+") gespeichert")
if (f == 2 && g == 0) document.write("<p class=s6r>Es sind zur Suchauswahl &quot;"+suchen_original+"&quot; keine aktuellen Termine mehr gespeichert")

}


