/****************************************************************\
***
**     dieSeite.js     
***
\****************************************************************/



wasNoch="";


function paSzauf(evt)  {
 //   if (typeof(Bilderladen)=="undefined") return;
 var SchreibplatzV = document.getElementById("Schreibplatz");
 if (evt.keyCode)
    SchreibplatzV.innerHTML  = "<br>Es wurde eine Taste gedr&uuml;ckt: <b>" +   evt.keyCode +  "</b>";
  if (evt.shiftKey)
    SchreibplatzV.innerHTML  += "<br>Es wurde auch die <b>Gro&szlig;-Taste</b> gedr&uuml;ckt.";
  if (evt.ctrlKey)
    SchreibplatzV.innerHTML  += "<br> Es wurde auch die <b>Steuerung-Taste</b> gedr&uuml;ckt.";
  if (evt.altKey)
    SchreibplatzV.innerHTML  += "<br> Es wurde auch die <b>Weiche-Taste</b> gedr&uuml;ckt.";
  if (evt.metaKey)
    SchreibplatzV.innerHTML  += "<br> Es wurde auch die <b>Apfel-Taste</b> gedr&uuml;ckt.";

  if (evt.metaKey && evt.keyCode==13)    {
    alert("Es wurde Apfel Zeilenschalter geklickt.")
    }
  }


/*  P L A N U N G
-- Dateizeile_... durchnumerieren? Vermutlich nicht nÃ¶tig

B  a  u  s  t  e  l  l  e  :
Ein Skript, das gestartet wird 
-- von _hochladen.php ,
muÃŸ 
-- FadenNr
-- FoKu   oder besser   Spalte 
wissen,
 damit dorthin geschrieben werden kann.
d  e  s  h  a  l  b  :
j e t z t  HeftNr, FadenNr und Spalte  kennen und nennen,
damit dort hineingeschrieben werden kann mit  _FeldAendern.php



*/

function zeigeDateizeile(dsnr, spalte)  {
  //  wird aufgerufen durch Klick auf das weiße B; 
  //  wird vereinbart in Auszeichnungen_59;
  //      FormelGezeigt:  ..<span ... onmouseover=\"zeigeDateizeile(FadenNr, 'Fo')\">B</span>
  //      KurveBild:      ..<span ... onmouseover=\"zeigeDateizeile(FadenNr, 'Ku')\">B</span>
//  wird ausgerüstet im Verfahren fuelleDsBild() -- suche nach  "davor"
  //d ebugg er;
  welcheDateizeile = "Dateizeile_" + dsnr + "_" + spalte;
  // ... wird als  div  eingerichtet in   Auszeichnung_59 ,  rechteAbteilung
  var inhalt = '<iframe id="Rohrpost" src="_BildRohrpost.php?HeftNr=' + HeftNr + '&DsNr=' + dsnr + '&FadenNr=' +  DieDatensaetze[dsnr].FadenNr + '&Spalte=' + spalte + '" style="height:80; width:460;border-color:#bbb">'; // 
  inhalt += ' </div></iframe><a href="javascript:verbirgDateizeile('+ dsnr + ', \'' + spalte + '\')" style="color:#b00; font-size:9px;">(x)</a> ';
//  a lert("inhalt: " + inhalt);
  document.getElementById(welcheDateizeile).innerHTML = inhalt;
   }



function verbirgDateizeile(dsnr, spalte)  {
  var was = "Dateizeile_" + dsnr + "_" + spalte;
  document.getElementById(was).innerHTML ='';
  }


function hochladen()  {                  //  wird der überhaupt genommen???
  skriptName="_hochladen.php";
  holeSkript_Rohrpost(skriptName);
  }


function aendereGroesze100(heftnr, dsnr)  {
  //  alert("aendereGroesze100");
	// d ebugger;
  dannNichtAendern = true;   // damit dieser Klick als verbraucht markiert werden kann 
  var dies = document.getElementById("Bild__" + heftnr + "_" + dsnr);
  var nW = dies.naturalWidth;   // img > naturalWidth
  var  w = dies.width;          // img > width
  if (typeof(dies.i)=='undefined')
    dies.i = ( w ==  100 ? 0 : (w == 200 ? 1 : 2 ) ) ;
  if (typeof(dies.abwaerts)=='undefined')
    dies.abwaerts=0;
  var Gr = new Array(100,200,400);
  var ii = 0;
  while (ii<=3)  {
    if (nW < Gr[ii] || ii == 3)  {
      Gr.splice(ii,0,nW);
      break; }
    ii++; }

  if (dies.i==3)   dies.abwaerts=1;
  if (dies.i==0)   dies.abwaerts=0;
  dies.i = ( dies.abwaerts ? dies.i-=1 : dies.i+=1 );
  dies.width = Gr[dies.i];
 }



function aendereGroesze(heftnr, dsnr)  {
  //!!   return; // / / / / / /

  // d ebugger;
  var dies = document.getElementById("Bild__" + heftnr + "_" + dsnr);
  var nW = dies.naturalWidth;   // img > naturalWidth 
  var  w = dies.width;          // img > width
  if (typeof(dies.i)=='undefined')
    dies.i = (w == 200 ? 0 : 1 ) ;
  if (typeof(dies.abwaerts)=='undefined')     
    dies.abwaerts=0; 
  var Gr = new Array(200,400);
  var ii = 0;
  while (ii<=2)  {
    if (nW < Gr[ii] || ii == 2)  {  
      Gr.splice(ii,0,nW);
      break; }
    ii++; }

  if (dies.i==2)   dies.abwaerts=1;
  if (dies.i==0)   dies.abwaerts=0;
  dies.i = ( dies.abwaerts ? dies.i-=1 : dies.i+=1 );
  dies.width = Gr[dies.i];
 }

function aendereGroeszeB(heftnr, dsnr)  {
  var dies = document.getElementById("Bild__" + heftnr + "_" + dsnr);

/*  if (nurBild == 1)  {        // also keine Gr??en?nderung
    nurBild2 = 1;   //  damit in ...... weitere Spalten geholt werden
    //einDatensatzV = document.getElementById("einDatensatz");
    holeDatensatzAuswahl("", "einDatensatz", dsnr);     //  wohin: div id=einDatensatz
    return; }  */

  var nB = dies.naturalWidth;   // img > naturalWidth
  if (typeof(dies.b_ur) == "undefined")  {
    dies.b_ur = dies.width;   }
  var  b = dies.b_ur;          // img > width
  if (typeof(dies.i)=='undefined')
    dies.i =  0  ;
  if (typeof(dies.abwaerts)=='undefined')
    dies.abwaerts=0;
  if (0 && nurBild)      //   nurBild: bei BÃ¼chern
    var Gr = new Array(b, nB);
  else
    var Gr = new Array(b, (3*b+nB)/4, (b+nB)/2, nB);
  var Gr = new Array(b, (3*b+nB)/4, (b+nB)/2);

  if (dies.i==Gr.length-1) dies.abwaerts=1;
  if (dies.i==0)           dies.abwaerts=0;
  dies.i = ( dies.abwaerts ? dies.i-=1 : dies.i+=1 );
  dies.width = Gr[dies.i];
  // a lert("dies.i: " + dies.i + ";  dies.width:  " + dies.width ) ;
  }



 
function aendereGroesze_(heftnr, dsnr)  {
  // d ebugger;
  var dies = document.getElementById("Bild__" + heftnr + "_" + dsnr);
  if (typeof(dies.i)=='undefined')
    dies.i = ( nW ==  100 ? 0 : (nW == 200 ? 1 : 2 ) ) ;
  if (typeof(dies.abwaerts)=='undefined')
    dies.abwaerts=0;
  var nW = dies.naturalWidth;   // img > naturalWidth
  var Gr = new Array(100,200,400);
  var ii = 0;
  while (ii<=2)  {
    if (nW < Gr[ii] || ii == 2)  {
      Gr.splice(ii,0,nW);
      break; }
    ii++; }

  if (dies.i==3)   dies.abwaerts=1;
  if (dies.i==0)   dies.abwaerts=0;
  dies.i = ( dies.abwaerts ? dies.i-=1 : dies.i+=1 );
  dies.width = Gr[dies.i];
 }

 
function aendereGroesze__0(heftnr, dsnr)  {
  dies = document.getElementById("Bild__" + heftnr + "_" + dsnr);
  switch (dies.Groesze) {
    case 100: dies.width = 200; dies.Groesze = 200;   break; 
    case 200: 
      if (dies.naturalWidth > 400)  {
        dies.width = 400; dies.Groesze = 400;  }
      else  {
        dies.width = dies.naturalWidth; dies.Groesze = 312;  }  break; 
    case 312: dies.width = 400; dies.Groesze = 398;   break; 
    case 511: dies.width = 400; dies.Groesze = 399;   break; 
    case 399: dies.width = 200; dies.Groesze = 199;   break; 
    case 400: dies.width = dies.naturalWidth; dies.Groesze = 511;   break; 
    case 398: dies.width = dies.naturalWidth; dies.Groesze = 399;   break; 
    case 199: dies.width = 100; dies.Groesze = 100;   break; 
    default : dies.Groesze = dies.width *=  2;        break;  }
  }


function setzeBildgroesze(groesze, heftnr, dsnr)  {
  dies = document.getElementById("Bild__" + heftnr + "_" + dsnr);

  if (groesze == 0)  {
    if (dies.naturalWidth == 249)
      dies.width = 400
    else
      dies.width = dies.naturalWidth; }
  else
    document.getElementById("Bild__" + heftnr + "_" + dsnr).width = groesze;
  }
 
function setzeBildgroesze__(groesze, heftnr, dsnr)  {
  with ( document.getElementById("Bild__" + heftnr + "_" + dsnr))  {
    if (groesze == 0)
      this.width = this.naturalWidth;
    else
      this.width = groesze;
  } }


//  fw     = self;      // fw  = WzFenster;   //  siehe unten


//Stile = bildeStileListe(Stile);

function baueStileListe()  {
  Stile = new Array();
  var i=0, j=0, nr=0, ii=0;
  for (i=0; i<document.styleSheets.length; i++)  {
    for (j=0; j<document.styleSheets[i].cssRules.length; j++)  {
      Name = document.styleSheets[i].cssRules[j].selectorText;
      if (document.styleSheets[i].cssRules[j].style.color ||
          document.styleSheets[i].cssRules[j].style.backgroundColor ||
          document.styleSheets[i].cssRules[j].style.borderColor ) {
        Stile[Name] = new Array();
        Stile[Name]["i"]  = i;
        Stile[Name]["j"]  = j;
        Stile[Name]["nr"] = nr++; 
  } } } }


function baueStileNrListe()  {
  var i=0, j=0, ii=0;
  for (i=0; i<document.styleSheets.length; i++)  {
    for (j=0; j<document.styleSheets[i].cssRules.length; j++)  {
      Name = document.styleSheets[i].cssRules[j].selectorText;
      if (document.styleSheets[i].cssRules[j].style.color ||
          document.styleSheets[i].cssRules[j].style.backgroundColor ) {
        Stile[ii++] = new Array();
        Stile[ii]["Name"] = Name;
        Stile[ii]["i"]    = i;
        Stile[ii]["j"]    = j;
  } } } }



//  ________________________   S t i l e ,   F a r b e n   _________________________
function zeigeStileListe()  {
  var dieFarben = "";
  var stListe = "<a href='javascript:zeigeStileListe();'>Hole die frische Stileliste</a>";
  stListe += "<form><table>";
  for (stilname in Stile)  {
    stListe += "<tr><td>" + Stile[stilname]["i"] + ":" + Stile[stilname]["j"] + " &nbsp;"+stilname+"</td>";
    stListe += "<td><input type=text size=84 id='Stilaenderer_" + stilname + "' value=\"";
    dieserStil = document.styleSheets[Stile[stilname]["i"]].cssRules[Stile[stilname]["j"]].style.cssText;
    Funde      = dieserStil.match(/rgb(\(.*?\))/);
    dieseFarbe = "#" + deuteRGB(Funde[1]) + " ";
    dieFarben += dieseFarbe;
    stListe += dieserStil;
    stListe += "\"><a href='javascript:uebernimmStil(\"" + stilname  + "\")'> &nbsp;&auml;</a>          ";
    stListe += "";
    stListe += "</td></tr>";
    }
  stListe   += "</table></form>"; 
  Farbenfeld = "<textarea style='font-size:9px;font-family:Verdana;color:#888;background-color:fed; width:500px;height:40px;' id=dieStilfarben>" + dieFarben + "</textarea><br>";
  stListe  = Farbenfeld  + stListe
  document.getElementById("StilelisteBereich").innerHTML = stListe;
  }


function uebernimmStil(stilName)  {
  var wert = document.getElementById("Stilaenderer_" + stilName).value;  
  aendereStil(stilName, wert);
  }

function aendereStil(stilName, wert)  {
  document.styleSheets[Stile[stilName]["i"]].cssRules[Stile[stilName]["j"]].style.cssText = wert;
  }

function aendereStilMerkmal(stilName, merkMal, wert)  {
  document.styleSheets[Stile[stilName]["i"]].cssRules[Stile[stilName]["j"]].style[merkMal] = wert;
  }

function nenneStil(stilName)  {
  return document.styleSheets[Stile[stilName]["i"]].cssRules[Stile[stilName]["j"]].style.cssText;
  }


//  ___________ wird glaube ich nicht gebraucht ____________
function uebertrageStil(vonStil, nachStil)  {
  Funde = Array();
  CssText = document.styleSheets[Stile[vonStil]["i"]].cssRules[Stile[vonStil]["j"]].style.cssText
  Funde = CssText.match(/(.*?);/)
  for (i=0; i<Funde.length; i++)   {
      Funde2 = CssText.match(/(.*?):(.*)/); 
      sTilname = Funde2[1]; 
      sTilwert = Funde2[2]; 
      document.styleSheets[Stile[nachStil]["i"]].cssRules[Stile[nachStil]["j"]].style[sTilname] = sTilwert;
  } }


function baueStilklickziele()   {
     hw = Array("Ru", "Ta");      //  in Ruhe, tätig
  StFhw = Array("Ru", "Ta");      //  Farbe
  for (var i=1; i<=6; i++)  {     //  Farbgruppen 1 .. 5
    farbeHg = BodyFbHg[i];   
    kt  = "<table  width=100% style='background:"+farbeHg+"'>";
    kt += "<tr><td><table border=3 cellpadding=0 cellspacing=0 width=60% height=18 valign=middle>";
    for (hw_ in hw)  {           //  Ru und Ta
      kt += "<tr>";
      for (var j=1; j<5; j++)  {   //   Farbspalten 1 .. 4
        eval ("farbe = WwFbHg" + hw[hw_] + "[i][j];");
        kt += "<td style='{background:"+farbe+";";  //    border-color:"+StFhw[1]+"; ";
        kt += "font-size:9px;font-family:verdana;}' ";
        kt += "minwidth=22px width=22px border=0>"+hw[hw_]+i+"</td>";
        }
      kt += "</tr>"; 
      }
    kt += "</tr></table></td></tr></table>";
    document.getElementById("menu1_16item" + i).innerHTML = kt;
  } }    //   E N D E  baueStilklickziele()

function baueRegAfenster()  {
  self.moveTo=(500, 0);
  fRegA = open("_SuchenUndErsetzen.htm", "RegAfenster", "width=900, height=800, location=no, status=yes, resizable=yes");
  fRegA.moveTo(5, 30);   //    screen.height-570);
  fRegA.focus();
  setTimeout('baueRegAfenster2()', 1400);
  }

function baueRegAfenster2()  {
  fRegA.f = fRegA.opener;
  }


function baueKistenfenster()  {
  self.moveTo=(500, 0);
  fk = open("_Kistenfenster.htm", "Kistenfenster", "width=700,height=700, location=no, status=yes, resizable=yes, scrollbars=yes");
  fk.moveTo(5, 30);   //    screen.height-570);
  fk.focus();
  setTimeout('baueKistenfenster2()', 1400);
  }

function baueKistenfenster2()  {
  fk.f = fk.opener;
  }

function ladeRegA()  {       //    Regelrechte Ausdrücke, oder wie???
// d ebugger;
 	if (typeof(fRegA)=="undefined")
    baueRegAfenster();
  fRagA.focus();
//  kenner = "Wortlaut" + "_" + HeftNr + "_" + DieDatensaetze[gemeinteDsNr].FadenNr;
//  kenner = "Wortlaut" + "_" + HeftNr + "_" + DieDatensaetze[gemeinteDsNr].FadenNr;
  kenner = "Wortlaut" + "_" + HeftNr + "_" + DieDatensaetze[gemeinteDsNr].FadenNr;
  //  a lert("EintraegeV.kenner.td2.innerHTML: "  + EintraegeV[kenner].td2.innerHTML);
  //\\ fRagA.SammlungKg   = EintraegeV["SammlungKg"        + "_" + HeftNr + "_" + DieDatensaetze[gemeinteDsNr].FadenNr].Textinhalt;
  //\\ fRagA.SammlungName = EintraegeV["SammlungName"      + "_" + HeftNr + "_" + gemeinteDsNr].Textinhalt;
  //\\ fRagA.Verfasser    = EintraegeV["SammlungVerfasser" + "_" + HeftNr + "_" + gemeinteDsNr].Textinhalt;
  //\\ fRagA.FadenNr      = EintraegeV["FadenNr"           + "_" + HeftNr + "_" + gemeinteDsNr].Textinhalt;
  //\\ setTimeout('ladeDiesSpiel()', 1000);

  fRegA.document.getElementById("Such_Ausdruck1").value = EintraegeV["RegA_83_" + DieDatensaetze[gemeinteDsNr].FadenNr].Textinhalt; 


  }


function ladeZumSpielen()  {
 	if (typeof(fk)          =="undefined" ||
 	    typeof(fk.Spielfeld)=="undefined")  // fk selbst bleibt nach Fensterlöschen  object
    baueKistenfenster();
  fk.focus();
//  kenner = "Wortlaut" + "_" + HeftNr + "_" + gemeinteDsNr;
//  kenner = "Wortlaut" + "_" + HeftNr + "_" + gemeinteDsNr;
  kenner = "Wortlaut" + "_" + HeftNr + "_" + DieDatensaetze[gemeinteDsNr].FadenNr;
  //  a lert("EintraegeV.kenner.td2.innerHTML: "  + EintraegeV[kenner].td2.innerHTML);
  //_,,,_ fk.SammlungKg   = EintraegeV["SammlungKg"        + "_" + HeftNr + "_" + gemeinteDsNr].Textinhalt;
  //_,,,_ fk.SammlungName = EintraegeV["SammlungName"      + "_" + HeftNr + "_" + gemeinteDsNr].Textinhalt;
  //_,,,_ fk.Verfasser    = EintraegeV["SammlungVerfasser" + "_" + HeftNr + "_" + gemeinteDsNr].Textinhalt;
  //_,,,_ fk.FadenNr      = EintraegeV["FadenNr"           + "_" + HeftNr + "_" + gemeinteDsNr].Textinhalt;
  setTimeout('ladeDiesSpiel()', 1000);
  }

function ladeDiesSpiel(M)  {        // M: Maßstab
  //  a lert("ladeDiesSpiel: " + kenner);  
  // if (HeftNr==44 && window.wirdGeaendertV.kenner.match("Wortlaut"))
	Wortlaut = EintraegeV[kenner].Textinhalt;
  fk.kenner=kenner;
	M = fk.document.getElementById("M").value;
  fk.ladeLagerhausYY(Wortlaut, M);
  fk.focus;
  }

function Farbenfenster()  {
  Farbenfenster = open("Farbenfelder/Farbenfelder.html", "Farbenfenster", "width=1000,height=800,location=no,resizable=yes,status=yes,scrollbars=yes");
  // Farbenfenster = open("http://farbmeister.de/Farbenfelder/Farbenfelder.html", "Farbenfenster", "width=1000,height=800,location=no,resizable=yes,status=yes,scrollbars=yes");
  faf  = Farbenfenster; 
  faf.moveTo(screen.width-1010, 160);  //  screen.height-800);
  faf.focus();
  setTimeout('Farbenfenster2()', 1000);
  }

function Farbenfenster2()  {
  //  fw.document.getElementById("WzFensterPlatz").appendChild(document.getElementById("Werkzeugeteil"));
   try { faf.f = fw.opener; }  catch(e) { }
  }

function schalteObFaerben()  {
  if (obFaerben)  {
    $("#Faerbeschalter").css({'border':''});
    $("div").click(function() {  } );
	  obFaerben = false;    }
	else {
	  $("#Faerbeschalter").css({'border':'#c65 solid 2px'});
    $("div").click(function() {  faerbe(this)  } );
	  obFaerben = true; }
	}

function faerbe(was)  {
  if(obFaerben)  {
    alert("faerbe(); this.id: " + was.id + "\nJetzt soll ich ein neues Schiebeziehfenster schalten.") 
	} }

function holeWerkzeugfenster()  {
  WzFenster = open("_holeWerkzeugfenster.htm", "Werkzeugfenster", "width=700,height=500, location=no, status=yes");
  fw  = WzFenster; 
  fw.moveTo(screen.width-710, screen.height-570);
  fw.focus();
  fw.f = fw.opener;
  setTimeout('holeWerkzeugfenster2()', 500);
  }

function holeWerkzeugfenster2()  {
  //alert("holeWerkzeugfenster2()");
   try { fw.f = fw.opener; }  catch(e) { }
  holeSuchenteilGroSz();
  }

function holeSuchenteilGroSz()  {           // \   wurde bisher von Suchenteil_umschalten() gemacht
 // if (typeof(window.parent.SuchenteilGroSzV) == "undefined")   {   // falls noch nicht geholt
    parent.SuchenteilGroSzV  = document.createElement("div");
    Skriptname = "_holeSuchenteilGroSz.php?HeftNr="+HeftNr;
    holeSkript(Skriptname);
    window.SqlFeldV = document.getElementById("SqlFeld");
  //  }
  }

 
// ____________________________   Tasten lesen  ______________________________

//  in der Datei  dieSeite.htm:     onkeydown="javascript:handleCursores"




// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

function neuesHttpDing() {
	var httpD = false;
	if ( typeof ActiveXObject != 'undefined' ) {    // Use IE's ActiveX items to load the file.
		try {httpD = new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e) {                                //  sonst ...
			try {httpD = new ActiveXObject("Microsoft.XMLHTTP");}
			catch (E) {  httpD = false;  }  }  }
  else if (XMLHttpRequest) {      //  Mozilla, Firefox, ?iCab, Safari, Opera
		try { httpD = new XMLHttpRequest(); }
		catch (e) { httpD = false;  }  }
	return httpD;
  }

function holeSkript(skriptnameGanz) {      //  mit   ?lalala=goedegoe&usw=oink
  var skriptnameGanz = "" + skriptnameGanz;
  var skriptTeile    =      skriptnameGanz.split("\?");
	skriptName   = skriptTeile[0];
	sendgroeszen = skriptTeile[1] + "";
  var httpDing = neuesHttpDing();
  httpDing.open("POST", skriptName, true);
	httpDing.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpDing.setRequestHeader("Content-length", sendgroeszen.length);
	httpDing.setRequestHeader("Connection", "close");
	httpDing.onreadystatechange = beobachteDenFortschritt;
	//  alert("holeSkript(), sendgroeszen: " + sendgroeszen);
	httpDing.send(sendgroeszen);
  }
 
function beobachteDenFortschritt() {          // Call a function when the state changes.
	if ( this.readyState == 4 && this.status == 200 ) 
		bindeEinDasSkript(this.responseText);     //  Das Ergebnis einbinden
  } 

function bindeEinDasSkript(wortlaut) {    // 
	if (heads == 0) {                            // wenn nicht schon getan: Array aller Head-Bereiche geben lassen
    heads = document.getElementsByTagName("head");  
		headV = heads[0];  }
  try { headV.removeChild(   einSkript  ); }  catch (e)  {  }
  einSkript=document.createElement("script");  //  neues Skript-Element erzeugen
  einSkript.type="text/javascript";            //  Skript-MimeType auf text/javascript setzen 
	einSkript.text = wortlaut;
  headV.appendChild(einSkript);                //  Das Skript einbinden und ausführen
 	}

 
function bindeEinDasSkript_umstaendlich(wortlaut) {    // 
	Kanal = Kanal % 5 +1;   //  Kanale-Verwaltung:  1 .. 5
  Kanal = 1;
	if (heads == 0) {   // wenn nicht schon getan: Array aller Head-Bereiche geben l
    heads = document.getElementsByTagName("head");  
		headV = heads[0];  }
  try { headV.removeChild(   einSkript[Kanal]  ); }  catch (e)  {  }
  einSkript[Kanal]=document.createElement("script");  //  /* neues Skript-Element erzeugen
  einSkript[Kanal].type="text/javascript";  // Skript-MimeType auf text/javascript setzen 
	einSkript[Kanal].text = wortlaut;
  headV.appendChild(einSkript[Kanal]);    // Das Skript einbinden und ausführen
 	}

  


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 






function holeStile(Stildateiname)      {  //  Lädt ein JavaScript aus einem .php-Skript
  if (heads==0) {   // wenn nicht schon getan: Array aller Head-Bereiche geben l
    heads=document.getElementsByTagName("head");  
    headV = heads[0];  }
  try { headV.removeChild(meineStileV); } catch (e)  {  }
  meineStileV=document.createElement("style");  //  /* neues Skript-Element erzeugen
  meineStileV.type="text/css";// Skript-MimeType auf text/javascript setzen
  meineStileV.src=Stildateiname;        // Quelldatei angeben -- vermutlich wird hier die dort erzeugte Datei geholt
  headV.appendChild(meineStileV);    // Das Skript einbinden und ausführen
  aaa=1;
  bbb=1;
  } //  Verfahren  holeStile()  E N D E



function holeSkript_Rohrpost(Skriptname)      {
  window.RohrpostV.contentDocument.location.replace(Skriptname);
  }

// _____________  An- und abmelden mit AJAX __________
function melden(an_ab)  {     // an: anmelden, ab: abmelden, neu: auf neuer Seite begrüßen
  linkeSpalte_BegrueszungV = document.getElementById("linkeSpalte_Begrueszung");
  holeSkript_Wortlaut = "_melden.php?an_ab=" + an_ab;
  ///*
  try {   // Mit try { } catch { } wird der Fehler abgefangen, wenn es das Element NutzerName noch nicht gibt.
    NutzerNameV     = document.getElementById("meldeNutzerName"    );  NuKg = NutzerNameV.value;
    NutzerPaszwortV = document.getElementById("meldeNutzerPaszwort");  NuPw = NutzerPaszwortV.value;
    holeSkript_Wortlaut += "&Nutzername=" + NuKg + "&Paszwort=" + NuPw;
    }
  catch(err) {   }
  //*/
  holeSkript(holeSkript_Wortlaut);  // linkeSpalte_BegrueszungV.innerHTML = "***** dieSeite.js *****";
  }

function zeigeMeldung()  { 
  linkeSpalte_BegrueszungV = document.getElementById("linkeSpalte_Begrueszung");
  linkeSpalte_BegrueszungV.innerHTML = Meldemeldung;
  }
//____________________________________________________

berichten1 = 0;
function berichten1Umschalten()  {
  document.getElementById("Bericht1").innerHTML="<span style='color:#999;font-size:10pt;'>Bericht1</span>";
  if (!berichten1) { berichten1 = 1; document.getElementById("Berichten1Schalter").style.color="#272"; }
  else             { berichten1 = 0; document.getElementById("Berichten1Schalter").style.color="#aaa"; }
  }

berichten2 = 0;
function berichten2Umschalten()  {
  document.getElementById("Bericht2").innerHTML="<span style='color:#999;font-size:10pt;'>Bericht2</span>";
  if (!berichten2) { berichten2 = 1; document.getElementById("Berichten2Schalter").style.color="#272"; }
  else             { berichten2 = 0; document.getElementById("Berichten2Schalter").style.color="#aaa"; }
  }


function loescheBericht(nr)  {
  try  { document.getElementById("Bericht"+nr).innerHTML = "" }  catch(e)  { }; 
  }

obBerichten     = new Array();  
obBerichten[2]  = 0; 
obBerichten[23] = 0;  
function schalteBerichten(nr)  {
  if (document.getElementById("obBerichten"+nr).checked)
    obBerichten[nr]=1;
  else  {
    obBerichten[nr]=0;
    }
  }

function berichte4(was)  {
  document.getElementById('BerichtOrt').innerHTML += was;
  }
 
function berichte(wohinNr, vonwo, dingName, dingWert, farbe)  {
  if (typeof(obBerichten)==undefined)
	  return;
  try { var berichtOrt = document.getElementById("Bericht" + wohinNr);
  var kette = "<span style='font-size:12px;color:"+farbe+"'>function <b>"+vonwo+"</b>, " + dingName + ": <b>" + dingWert + "</b></span><br>\n";
  //  if (kette.length>100) 
  //    kette = kette.replace(/(.{88})/g, "$1"+"<br>");
  berichtOrt.innerHTML += "\n" + kette;
    }  catch(e)  {  }  //    { a lert("berichtOrt nicht gefunden; kette: " + kette);  }
  }

function nenneBedienquelle(vonwo, farbe)  {
  Bedienquelle = vonwo;
  //ß  try { var kette = "<span style='font-size:12px;color:" + farbe + "'>";
  //ß  kette += " &nbsp; bq: <b>" + Bedienquelle + "</b></span>"; }
  //ß  catch(e)  {  }
  //  document.getElementById("BerichtBedienquelle").innerHTML = kette;
  try { document.getElementById('BedienquelleOrt').innerHTML=kette; }   catch(e)  {  }
  }

//________________  Sql-Kette im Suchenteil frischmachen  _____________________
function setzeSqlKetteNeu(bedienquelle)  {
  try {  SqlFeldV.value="... ... ... wird angefordert ... ... ..."; }  catch(e)  {}
  var Netzziel  = "_holeSqlKetteNeu.php?Bedienquelle=" + bedienquelle;
    //Netzziel += opener.wisseAlleFormGroeszen() + "&HeftNr=" + opener.HeftNr;
      Netzziel +=        wisseAlleFormGroeszen() + "&HeftNr=" +        HeftNr;
  //  lästig, aber aufschlußreich:  
  //  a lert("setzeSqlKetteNeu(); Netzziel: " + Netzziel.replace(/([&?].*?&)/g,'\n$1____'));
  opener.holeSkript(Netzziel);   }

function zeigeSqlKette()  { 
  SqlFeldV.value = uebergebeneSqlKette;   }
//________________  Sql-Kette im Suchenteil frischmachen   E N D E   __________


// __________ Ändern-Formular für Nutzer-Angaben _______
 
//________________  Nutzerangaben  ___________________

function holeNutzerangaben(stufe)  {
  holeSkript("_holeNutzerangaben.php?Stufe=" + stufe);
  }


function Einschreibung(wastun) {
  merkeNetzziel();
	var Netzziel = "_Einschreibung.php?" + wastun ;
  holeSkript(Netzziel);
  }


function showDialogNoTitle(theDialogDiv, theText)  {
	$("#"+theDialogDiv).html("<br><br>" + theText);
  $("#"+theDialogDiv).dialog();       
  $("#"+theDialogDiv).dialog("open"); 
	$(".ui-dialog-titlebar").hide();
  $(".ui-dialog").css("text-align","center");
	}


function Zeigfenster(Ding, Ueberschrift, Wortlaut)  {
  if (Ding == "" || eval ("typeof("+Ding+");") == "undefined")
	  Ding = "meinZeigfenster";
	$(".ui-dialog-titlebar").show();
	$("#"+Ding).html(Wortlaut);
  $("#"+Ding).dialog();            //  beide wichtig!
  $("#"+Ding).dialog("open");      //  beide wichtig!
  $("#"+Ding).dialog('option', 'title', Ueberschrift);
	}
         

function Hochladung(sendkette) {
  merkeNetzziel();
	var Netzziel = "_Hochladung.php?" + sendkette;
  holeSkript(Netzziel);
  }




function entrande()   {    //   ?????????????????????
  this.style.border="solid 0px #777";
  }


function pruefeNutzername()  {
  //  alert("pruefeNutzername(); Nuetzername: " + $("#Nutzername")[0].value);
	var Netzziel = "_Einschreibung.php?wasTun=pruefeNutzername&Nutzername=" + $("#Nutzername")[0].value ;
  holeSkript(Netzziel);
	}

function pruefePaszwort()  {
  /*
  alert($.('#Paszwort').value);
  if ($.('#Paszwort').value != $.('#Paszwort2').value)  {
    alert("Die beiden Paßwörter stimmen nicht überein.");
  $.('#Paszwort').value  = '';
  $.('#Paszwort2').value = '';
  */
  }


function ___nee__holeEinschreibung() {
  merkeNetzziel();
	var Netzziel = "_holeEinschreibung.php";
  holeSkript(Netzziel);

  }
  
function verarbeiteRegistrierung() {
absenden = document.getElementById("absenden").value;
 var Netzziel = "_verarbeiteRegistrierung.php?&absenden=" + absenden;
  holeSkript(Netzziel);
}

function verarbeiteRegistrierung2() {
name = document.getElementById("name").value;
email = document.getElementById("email").value;
emailconfirm = document.getElementById("emailconfirm").value;
password = document.getElementById("password").value;
passwordconfirm = document.getElementById("passwordconfirm").value;
 var Netzziel = "_verarbeiteRegistrierung2.php?&absenden=" + absenden + "&name=" + name + "&email=" + email + "&emailconfirm=" + emailconfirm  + "&passwordconfirm=" + passwordconfirm + "&password=" + password;
  holeSkript(Netzziel);
}




function verarbeiteNutzerangaben_1() {
email = document.getElementById("email").value;
emailconfirm = document.getElementById("emailconfirm").value;
homepage = document.getElementById("homepage").value;
icq = document.getElementById("icq").value;
aim = document.getElementById("aim").value;
yim = document.getElementById("yim").value;
usertext = document.getElementById("usertext").value;
gender = document.getElementById("gender").value;
work = document.getElementById("work").value;
hlocation = document.getElementById("hlocation").value;
interests = document.getElementById("interests").value;
  var Netzziel = "_verarbeiteNutzerangaben1.php?email=" + email + "&emailconfirm=" + emailconfirm + "&homepage=" + homepage + "&icq=" + icq + "&aim=" + aim + "&yim=" + yim + "&usertext=" + usertext + "&gender=" + gender + "&work=" + work + "&interests=" + interests + "&hlocation=" + hlocation;
  holeSkript(Netzziel);
  }

 
//____________________________________________________
function wisseAlleVertrFormGroeszen()   {
  var kedde="";
  for (i=0; i<document.VertraulichesFormular.elements.length; i++)
    kedde += "&" + document.VertraulichesFormular.elements[i].name + "=" + escape(document.VertraulichesFormular.elements[i].value);
  return kedde;
  }
  
function wisseVertrFormGroeszen()   {
  var kedde="";
  window.die__MitteFormV  = document.getElementById("VertraulicheForm");
  for (i=0; i<window.die__MitteFormV.elements.length; i++)
    kedde += "&" + window.die__MitteFormV.elements[i].name + "=" + escape(window.dieMitte__FormV.elements[i].value);
  return kedde;
    }
	
function holeVertraulichesFormular()  {
Anrede = document.getElementById("Anrede").value;
Titel = document.getElementById("Titel").value;
Vorname = document.getElementById("Vorname").value;
Nachname = document.getElementById("Nachname").value;
StraszeNr = document.getElementById("StraszeNr").value;
PLZ = document.getElementById("PLZ").value;
Ort = document.getElementById("Ort").value;
Land = document.getElementById("Land").value;
Ruf = document.getElementById("Ruf").value;
mobil = document.getElementById("mobil").value;
  var Netzziel = "_verarbeiteVertraulichesFormular.php?Vorname=" + Vorname + "&Nachname=" + Nachname + "&StraszeNr=" + StraszeNr + "&PLZ=" + PLZ + "&Ort=" + Ort + "&Titel=" + Titel + "&Anrede=" + Anrede + "&Land=" + Land + "&Ruf=" + Ruf + "&mobil=" + mobil;
  holeSkript(Netzziel);
  }
  
function holeVertraulichesFormular2()  {
  var Netzziel = "_verarbeiteVertraulichesFormular2.php?" + wisseAlleVertrFormGroeszen();
  holeSkript(Netzziel);
  }

function zeigeVertraulichesFormular()  {
//	dieMitteV.innerHTML='';
  dieMitteV = document.getElementById("dieMitte");
  dieMitteV.innerHTML = uebergebenesVertraulichesFormular;
//  VertraulicheInfosV=document.getElementById("VertraulicheInfos");
 // VertraulicheInfosV.innerHTML='';
  }

function zeigeVertraulichesFormular2()  {
//	dieMitteV.innerHTML='';
  dieMItteV = document.getElementById("dieMitte");
  dieMitteV.innerHTML = uebergebenesVertraulichesFormular2;
  }

// Bankdaten
function holeBankFormular()  {
	Kontonummer = document.getElementById("Kontonummer").value;
	Bankname = document.getElementById("Bankname").value;
	BLZ = document.getElementById("BLZ").value;
	Inhabername = document.getElementById("Inhabername").value;
	IBAN = document.getElementById("IBAN").value;
	BIC = document.getElementById("BIC").value;
	land = document.getElementById("land").value;
  var Netzziel = "_verarbeiteBankdaten.php?Kontonummer=" + Kontonummer + "&Bankname=" + Bankname + "&BLZ=" + BLZ + "&Inhabername=" + Inhabername + "&BIC=" + BIC + "&IBAN=" + IBAN+ "&land=" + land; 
  holeSkript(Netzziel);
  }
  
function holeBankFormular2()  {
  var Netzziel = "_verarbeiteBankdaten2.php?" + wisseAlleVertrFormGroeszen();
  holeSkript(Netzziel);
  }

function zeigeBankFormular()  {
//	dieMitteV.innerHTML='';
  dieMitteV = document.getElementById("dieMitte");
  dieMitteV.innerHTML = uebergebenesBankFormular;
  }
  
  function zeigeBankFormular2()  {
//	dieMitteV.innerHTML='';
  dieMitteV = document.getElementById("dieMitte");
  dieMitteV.innerHTML = uebergebenesBankFormular2;
  }  
  

function holeProfile()  {
  var Netzziel = "_Profile.php" 
  holeSkript(Netzziel);
  }
  
  
  function zeigeProfile()  {
//	dieMitteV.innerHTML='';
  dieMitteV = document.getElementById("dieMitte");
  dieMitteV.innerHTML = uebergebenesProfile;
  }

  function holeVertrauliches()  {
  var Netzziel = "_Vertrauliches.php" 
  holeSkript(Netzziel);
  }
    
  function zeigeVertrauliches()  {
//	dieMitteV.innerHTML='';
  dieMitteV = document.getElementById("dieMitte");
  dieMitteV.innerHTML = uebergebenesVertrauliches;
  }
  
  function holeBankdaten()  {
  var Netzziel = "_Bankdaten.php" 
  holeSkript(Netzziel);
  }
    
  function zeigeBankdaten()  {
//	dieMitteV.innerHTML='';
  dieMitteV = document.getElementById("dieMitte");
  dieMitteV.innerHTML = uebergebeneBankdaten;
  }
  

// __________ Ändern-Formular für Nutzer-Angaben  E N D E  _______



function starte0()  {
  Bedienquelle = "Netzzielzeile";
  Anfangswerte1();
  wisseNetzzielwerte();          //  window.HeftNr
  erzeugeAendernfeld();
  erzeugeWerkzeugebrett();
  erzeugeAendernfeldBgf();
  erzeugeFadenbediener();
  SqlFeldV = document.getElementById("SqlFeld");
  erzeugeSuchenteilKlein1();
  erzeugeSuchenteilKlein2();
  baueStileListe();
  // var Netzziel = "_holeFarben.php?HeftNr=32";
  //  holeSkript(Netzziel);
  // // ohne 3000 spinnt er!!
  setTimeout('melden("neu")', 3000);  // wenn neue Seite neu aufgerufen wird  // nochmal anschauen -- überflüssig?
  holeHeft(HeftNr);              //  h o l e H e f t (  )
  try  {  document.getElementById("jeSeite").value = jeSeite; }  catch(e)  { }
  SuchketteVae = "";  // kam aus der Netzzielzeile, hat ausgedient
  jeSeite   = "";  // kam aus der Netzzielzeile, hat ausgedient
  starte(); //  baut auch den Wegweiser;  siehe WegweiserLage.js
  }


Erlaubte  = " SchuberNr HeftNr  SuchspalteA SuchwortA Suchkette HeftNr  jeSeite Buchpfad  ordneNach M "; //  Leerzeichen um jedes Kennwort
Erlaubte += " DsSpalten Spalten SuchspalteB SuchwortB undOder auf_ab ueberschreibeSpalten Buchpfad Flachheit ";   //  auch am Ende!!

function wisseNetzzielwerte() {
  NetzzielwerteGewuSzt = "ja";    // // //  geht vermutlich auch nur durch das Abfragen von  Netzzielwerte
               // window.location.search  ist alles ab einschließlich "?", z.B.  ?HeftNr=10
  Netzzielwerte = window.location.search.replace(/^\?/, "");
  //    debugger;
  kenneSendgroeSzen(Netzzielwerte);
  //  a lert("wisseNetzzielwerte()  jeSeite: " + jeSeite);
  }

function kenneSendgroeSzen(kette)  { 
  //  Zweck:   aus "HeftNr=123"   bzw.  ordneNach=Ueberschrift      wird dann unten bei eval   
  //                HeftNr=123;   bzw.  ordneNach='Ueberschrift';  
Erlaubte  = " SchuberNr HeftNr  SuchspalteA SuchwortA Suchkette HeftNr  jeSeite Buchpfad  ordneNach M "; //  Leerzeichen um jedes Kennwort
Erlaubte += " DsSpalten Spalten SuchspalteB SuchwortB undOder auf_ab ueberschreibeSpalten Buchpfad Flachheit ";   //  auch am Ende!!
  Wertepaare = kette.split("&");
  for (i=0; i<Wertepaare.length; i++)  {
    Wertepaar = Wertepaare[i].split("\="); 
    Kenner = Wertepaar[0];
    Wert   = Wertepaar[1];                  //  mit Doppelpunkt  :  aufgespalten wird in _hde_...
    if (Erlaubte.match(" "+Kenner+" "))  {  //  hier auch  Suchkette; 
      Fund = Wert.match(/(\d*)/);
      if (parseInt(Wert) == Wert) eval(Kenner + "=" +Wert+";" );  //  Zahlen bekommen in der Zuweisung keine Tütteln.
      else                        eval(Kenner + "='"+Wert+"';");  //  aber mit führender Null: doch Tütteln :-)
      }
    else 
      alert("Die Netzziel-Übergabegröße  \"" + Kenner + "\" ist unbekannt.");
    }
  }


function wisseHeftNr() {
  if (!window.HeftNr)
    HeftNr = document.URL.match(/[?&]HeftNr=(\d+)/);
  jeSeiteF  = document.URL.match(/[?&]jeSeite=(\d+)/);
  try  {  jeSeite  = jeSeiteF[1];  }  
  catch(err)   {     jeSeite = 6;  }
  dieHeftNr = HeftNr;
  } 

function wisseHeftNr2() {
  //
  //    
  //   schaue den Heftwähler nach   wg. "alle" 
  } 

function SpaltenBericht(vonWo)  {
  /*
  try { f.document.getElementById("Bericht3").innerHTML = "(von (1) " + vonWo + ") <br>"      ; }  catch(e) { }
  try { f.document.getElementById("Bericht3").innerHTML += "Spalten: " +     Spalten + " <br>"; }  catch(e) { } 
  try { f.document.getElementById("Bericht3").innerHTML += "DsSpalten: " + DsSpalten + " "    ; }  catch(e) { } 
  //*/ }


function SpaltenBericht2(vonWo)  {
  /*
  try { f.document.getElementById("Bericht3").innerHTML += "<br><br>(von (2) " + vonWo + ") <br>"; }  catch(e) { }
  try { f.document.getElementById("Bericht3").innerHTML += "Spalten: " +     Spalten + " <br>"   ; }  catch(e) { } 
  try { f.document.getElementById("Bericht3").innerHTML += "DsSpalten: "   + DsSpalten + " "     ; }  catch(e) { } 
  //*/ }



function Anfangswerte1()  {
  Netzziele = new Array();
  Netzzielzeiger = -1;
  merke_Netzziel = true;
  aendernErlaubt = 0;
  aendernErlaubt = 1;
  obFaerben = false;
  dannNichtAendern = false;
  berichten2 = false;
  //..................
	meinSkriptV="";
	heads=0;
  Zaehler = 0;
	SuTeilGr_istdran = 0;   
  opener = self;   //   ui ui ui !!!
  f      = self;
  //..................
	 window.GefundenV        = document.getElementById("Gefunden");
  window.inHeftV          = document.getElementById("inHeft");
  window.SeitenwaehlerV   = document.getElementById("Seitenwaehler");
  window.FehlerberichtV   = document.getElementById("Fehlerbericht");
  window.BegriffefeldV    = document.getElementById("Begriffefeld");
  window.Begriffefeld2V   = document.getElementById("Begriffefeld2");
  window.dieDatensaetzeV  = document.getElementById("dieDatensaetze"); 

  window.NeubereichV      = document.getElementById("Neubereich");
  window.MittenkopfV      = document.getElementById("Mittenkopf");
  window.dieMitteV        = document.getElementById("dieMitte");
  //  window.SuchenteilKleinPlatzV    = document.getElementById("SuchenteilKleinPlatz");
  //  window.SuchenteilKleinPlatzV.innerHTML = "";
  window.SuchenteilGroSzPlatzV    = document.getElementById("SuchenteilGroSzPlatz");
  //  window.SuchenteilschalterPlatzV = document.getElementById("SuchenteilschalterPlatz");
  window.DatenelementeV   = false;
  window.InhaltelementeV  = false;
  window.EintraegeV       = false;
  window.Klassen              = new Object();
  window.AuszeichnungenV      = new Object();
  window.AuszeichnungenV["_"] = new Object();
  window.AuszeichnungenV["_"].SpNameCss  = "";
  window.AuszeichnungenV["_"].SpInhCss   = "";
  window.AuszeichnungenV["_"].SpNameHtml = ",,";
  window.AuszeichnungenV["_"].SpInhHtml  = ",,";
  window.alleSpaltenV     = false;
  uhr = 1;  
  // if (typeof(Flachheit) == "undefined")
  //   Flachheit = 0;
  if (typeof(ganzflach) == "undefined")
    ganzflach = 0;
	}

function Anfangswerte2()  {
  window.SuchenteilV      = document.getElementById("Suchenteil");
  window.SuchenteilPlatzV = document.getElementById("SuchenteilPlatz");
  window.Heftweiser1V     = document.getElementById("Heftweiser1");
  window.SpaltenwahlV     = document.getElementById("Spaltenwahl");
  window.SuchspalteAV     = document.getElementById("SuchspaltenweiserbereichA");
  window.SuchspalteBV     = document.getElementById("SuchspaltenweiserbereichB");
  window.ordneNachSpalteV = document.getElementById("ordneNachSpalte");
  window.SuchenteilFormV  = document.getElementById("SuchenteilForm");
  }


/*******************
Liesmich kenner: kenner werden zusammengesetzt in    fuelleDsBild()
Liesmich TextfeldV     --->   erzeugeAendernfeld()
Liesmich  aendern()    --->   aendern()
Liesmich  absenden()   --->   absenden()

***************/




function pruefeTaste1(evt)  {     //  Tasten lesen
  //  alert('pruefeTaste (1), evt.keyCode: ' + evt.keyCode + "; evt.ctrlKey: " + evt.ctrlKey);
  Strg = 0;
	  //**/ alert("(1)");
  if (evt.keyCode == 17 || evt.ctrlKey)   
	  Strg = 1;
  if (evt.ctrlKey && evt.keyCode==77)  
	  absenden();
	// . . . . .  Kistenschieben:  . . . . . . 	
  if (evt.ctrlKey && evt.keyCode==78)  neuenDatensatz();            //  ^n
  if (evt.ctrlKey && evt.keyCode==68)  doppeleDatensatz()           //  ^d
  if (evt.ctrlKey && evt.keyCode==77)  holeDatensatzAlleSpalten();  //  ^m    alle Spalten zeigen
  if (evt.ctrlKey && evt.keyCode==75)  holeDatensatzAuswahl();      //  ^k    Spalten-Auswahl zeigen

  //     37 ^     38 <    39 >     40 v
  //     auf und ab,      o h n e  Ändernfeld:
  if (evt.ctrlKey && evt.keyCode==38) { nDs = naechsten(DatensatzNrn, DieDatensaetze[gemeinteDsNr]["i"], "auf");  if ( nDs)  waehleDieseTafel(nDs);   }  //  ^
  if (evt.ctrlKey && evt.keyCode==40) { nDs = naechsten(DatensatzNrn, DieDatensaetze[gemeinteDsNr]["i"], "vor");  if ( nDs)  waehleDieseTafel(nDs);   }  //  v

  //   links und rechts,  m i t  Ändernfeld:
	if (evt.ctrlKey && wirdGeaendertV && evt.keyCode>=37 && evt.keyCode<=40)   {
		SPalte  = wirdGeaendertV.kenner.replace(/_.*/, "");
	  HEftnr  = wirdGeaendertV.kenner.replace(/.*?_/, "").replace(/_.*/,"");
	  FAdennr = wirdGeaendertV.kenner.replace(/.*_/, "");
		DSnr    = DsNrWisser[FAdennr].DsNr;   
	  absenden();
    if (evt.ctrlKey && evt.keyCode==37) { if (SPlte = naechsteSpalte(SPalte, "auf"))  aendern(SPlte + '_' + HEftnr + '_' + FAdennr); }         //  ^
    if (evt.ctrlKey && evt.keyCode==39) { if (SPlte = naechsteSpalte(SPalte, "vor"))  aendern(SPlte + '_' + HEftnr + '_' + FAdennr); }         //  v
    if (evt.ctrlKey && evt.keyCode==38) { if (DS = DieDatensaetze[naechsterDs(DSnr, "auf")])  { FaDenNr = DS.FadenNr; kennr = SPalte+'_'+HEftnr+'_'+ DS.FadenNr;;  aendern(kennr);  } }  //  <
    if (evt.ctrlKey && evt.keyCode==40) { if (DS = DieDatensaetze[naechsterDs(DSnr, "vor")])  { FaDenNr = DS.FadenNr; kennr = SPalte+'_'+HEftnr+'_'+ DS.FadenNr;;  aendern(kennr);  } }  //  >
	  }
  if ( Strg == 1  && evt.keyCode == 13 )   {
	  //  alert("absenden");
		absenden();  }            //  
	if ( evt.keyCode != 17 )    //   hä?
	  Strg = 0;                
  }

function pruefeTaste2(evt)  {       }    //  nix, aber nötig


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*   Liesmich:
*   kenner   werden zusammengesetzt  hier unten ..... eBilder
*
*
*
\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */


function naechsten(feld, nr, vor)  {        //  gibt in einer Liste (Feld, array) den nächsten / vorigen Eintrag zurück
  nr  =  ( vor=="vor" ? nr+1 : nr-1 ) ;
  return ( feld[nr] ? feld[nr]  : false )    }

function naechsterDs(nr, vor)  {            //  -- gesondert für DsSpalten --     gibt in einer Liste (Feld, array) den nächsten / vorigen Eintrag zurück
  Vorzahl = ( vor=="vor" ? 1 : -1 ) ;
  return  ( DieDatensaetze[nr] ? nr+Vorzahl : false );  }

/* ###############################################################################################################
####
####         In die Liste    ....     einfügen
####
####
####
####
\* ###############################################################################################################
*/



	
   
function naechsteSpalte(feldname, vor)  {   //  -- gesondert für DsSpalten --     gibt in einer Liste (Feld, array) den nächsten / vorigen Eintrag zurück
  Vorzahl = ( vor=="vor" ? 1 : -1 ) ;
	Neuspalte=DsSpalten[DsSpaltenWisser[feldname]['i']+Vorzahl]           //   DsSpaltenWisser:   aus _hde_...._.php
	return  ( Neuspalte ? Neuspalte : false );   }
 

function erzeugeAendernfeld()  {
  window.AendernfeldV=document.createElement("div");

  var Steuerfeld=document.createElement("div");
  Steuerfeld.innerHTML='<a href="javascript:schlieszen()" style="color:#dd8888; font-size:10px; font-style:normal; font-weight:normal; font-family:Verdana;">(x)</a> &nbsp; '
                      +'<a href="javascript:absenden()"   style="color:#339966; font-size:10px; font-style:normal; font-weight:bold; font-family:Verdana;">absenden</a> &nbsp; ';
  Steuerfeld.style.cssText="padding:2px;";
  var Inhaltsfeld=document.createElement("div");
  window.TextfeldV=document.createElement("textarea");
  window.TextfeldV.id="dasTextfeld";
	//    width: es gibt noch eine zweite Stelle, suche  LAenge 
  window.TextfeldV.style.cssText="width:340px; min-width:340px; height:16em; min-height:16em;";        //    siehe aber auch   function aendern()
  //\\//** window.TextfeldV.onfocus="javascript: a lert(1112)";
  window.AendernfeldV.appendChild(Steuerfeld);
  window.AendernfeldV.appendChild(Inhaltsfeld);
  Inhaltsfeld.appendChild(window.TextfeldV);
  window.wirdGeaendertV=false;    //  Element, in das AendernfeldV eingebunden wird 
  }

/*      
function erzeugeAendernzeile()  {
  window.Aendernfeld_ZeileV=document.createElement("div");

  var Steuerfeld_Zeile=document.createElement("div");
  Steuerfeld_Zeile.innerHTML='<a href="javascript:schlieszen()" style="color:#dd8888; font-size:10px; font-style:normal; font-weight:normal; font-family:Verdana;">(x)</a> &nbsp; '
                      +'<a href="javascript:absenden()"   style="color:#339966; font-size:10px; font-style:normal; font-weight:bold; font-family:Verdana;">absenden</a> &nbsp; ';
  Steuerfeld_Zeile.style.cssText="padding:2px;";
  var Inhaltsfeld_Zeile=document.createElement("div");
  window.AendernzeileV=document.createElement("input");
  window.AendernzeileV.id="dieAendernzeile";
	//    width: es gibt noch eine zweite Stelle, suche  LAenge 
  window.AendernzeileV.style.cssText="width:100%; minWidth:140ex; height:7em; min-height:7em;";        //    siehe aber auch   function aendern()
  //\\//** window.TextfeldV.onfocus="javascript: a lert(1112)";
  window.Aendernfeld_ZeileV.appendChild(Steuerfeld);
  window.Aendernfeld_ZeileV.appendChild(Inhaltsfeld);
  Inhaltsfeld.appendChild(window.TextfeldV);
  window.wirdGeaendertV=false;    //  Element, in das AendernfeldV eingebunden wird 
  }
 */  


function erzeugeAendernfeldBgf()  {
  window.AendernfeldBgfV=document.createElement("div");
  var SteuerfeldBgf=document.createElement("div");
  SteuerfeldBgf.innerHTML='<a href="javascript:schlieszenBgf()" style="color:#dd8888; font-size:10px; font-style:normal; font-weight:normal; font-family:Verdana;">(x)</a> &nbsp; '
                      +'<a href="javascript:absendenBgf()"   style="color:#339966; font-size:10px; font-style:normal; font-weight:bold; font-family:Verdana;">absenden</a> &nbsp; ';
  SteuerfeldBgf.style.cssText="padding:2px;";
  var InhaltsfeldBgf=document.createElement("div");
  InhaltsfeldBgf.style.cssText="padding:2px;";
  window.TextfeldBgfV=document.createElement("textarea");
  window.TextfeldBgfV.style.cssText="width:60ex; min-width:40ex; height:4em; min-height:4em;";
  window.AendernfeldBgfV.appendChild(SteuerfeldBgf);
  window.AendernfeldBgfV.appendChild(InhaltsfeldBgf);
  InhaltsfeldBgf.appendChild(window.TextfeldBgfV);
  window.wirdGeaendertBgfV=false;    //  Element, in das AendernfeldV eingebunden wird 
  }

function mehr(kenner)   {
  var HoeheVorher = document.getElementById(kenner).offsetHeight;
  holeSkript("_mehr.php?Kenner=" + kenner + "&HoeheVorher=" + HoeheVorher);
  }
 
function weniger(kn, unten, HoeheVorher)   {  // kn = kenner   
	//alert("kn: " + kn + ";  unten:  " + unten + "; HoeheVorher: " + HoeheVorher);
	var DingHoehe = document.getElementById(kn).offsetHeight;
	//alert("DingHoehe: " + DingHoehe + ";  HoeheVorher: " + HoeheVorher);
	//  alert("aendern(); kenner: " + kenner);
  dannNichtAendern = true;
       //  Die nächste Zeile muß nach "weniger" suchen, nicht bloß nach "a href"!!!!!
	EintraegeV[kn].Inhalt.innerHTML=EintraegeV[kn].Inhalt.innerHTML.substr(0,EintraegeV[kn].Inhalt.innerHTML.search(/<!--mehr--><a href/));
  EintraegeV[kn].Inhalt.innerHTML+="<!--mehr--><a href=\"javascript:mehr('" + kn + "') style='color:#9999bb' > mehr ... </a>";
  //   alert("kn: " + kn + "; DingHoehe: " + DingHoehe + "; links: " + document.getElementById(kn).offsetLeft + "; oben: " + document.getElementById(kn).offsetHeight );
  //  scrollTo(wisseLageXY(document.getElementById(kn).x-180, wisseLageXY(document.getElementById(kn).y-50)));
  if (unten)
	  scrollBy(0, (DingHoehe - HoeheVorher) * -1);
  }

//   wird dann nicht mehr gebraucht ... ist aber gut zu gebrauchen, siehe Zettelmeister > zettel ...
function wisseLageXY(ding)   {
  var ergebnis = new Object;
  var elem=ding,  tagname="",  x=0,  y=0;
  if (typeof(abbrecher)=="undefined")
    abbrecher=false;
  while ((typeof(elem)=="object") && (typeof(elem.tagName)!="undefined") && (elem!=abbrecher.zettel))
    {
    y+=elem.offsetTop;
    x+=elem.offsetLeft;
    tagname=elem.tagName.toUpperCase();
    if (tagname=="BODY")
      elem=0;
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
    } 
  ergebnis.x=x;
  ergebnis.y=y;
  return ergebnis;
  }     

 
                                  //    wird aufgerufen von   fuelleDsBild() ... onClick ...   aendern(this.id)
function aendern(kenner)  {       //  öffnet das Aendernfeld   ????   H Ä ? ?  
  //  alert("aendern(); kenner: " + kenner);
  if (dannNichtAendern)  {
	  dannNichtAendern = false; //  Klicks auf Bilder werden abgefangen.
	  return;  }
	//berichte(2, "aendern("+kenner+")", "wirdGeaendertV.kenner", wirdGeaendertV.kenner, "#113355");
  if (kenner==wirdGeaendertV.kenner) {   //  Ändernfläche ist bereits geöffnet; Klick auf dieselbe Zelle
    //berichte(2, "aendern("+kenner+")", "IST GLEICH", 0, "#cc0000") ;
		return;  }
  if (!aendernErlaubt)  {
    alert("Das Ändern können Sie rechts oben freischalten.");    
    return;
    }
  if (window.TextfeldV.value==window.wirdGeaendertV.Textinhalt)    //  Die vorige Stelle wurde gar nicht geändert?
    schlieszen();
  //if (window.wirdGeaendertV)  {
  //   return;  }
  //ßß if (!document.getElementById(kenner).onDblClick)  {   //  nur zur Sicherheit??
	//ßß   return;  }
  if (kenner == wirdGeaendertV.kenner)  {   //  denn dann ist das Ändernfenster schon geöffnet
    alert("lllllllll");
    return;  }
	window.wirdGeaendertV=window.EintraegeV[kenner];
	
  var inhalt = window.wirdGeaendertV.Textinhalt;
  inhalt = inhalt.replace(/<br>/g,  "\n");
  if (HeftNr==44 && kenner.match("Wortlaut"))
	  inhalt = inhalt.replace(/,/g,  ",\n");

  if (HeftNr==44 && kenner.match("Wortlaut") && HeftNr==44 && document.getElementById("KsDoppelkreuz").checked )  {
    inhalt = inhalt.replace(/,/g, "");
    inhalt = inhalt.replace(/_/g, ".");
    inhalt = inhalt.replace(/H/g, "#");
    inhalt = inhalt.replace(/M/g, "+");
    inhalt = inhalt.replace(/O/g , "$");
    inhalt = inhalt.replace(/Q/g, "*");
    inhalt = inhalt.replace(/Y/g, "@");
    inhalt = inhalt.replace(/\:/g, " ");
    }
 
  inhalt = inhalt.replace(/&plus;/g, "+");
  //siehe auch   function absenden(),   _Feld_aendern.php
	if (kenner.match(/Betrag/))  {
    holeSkript("_mehr.php?Kenner=" + kenner + "&Fassung=ur");     //   darin dann:   echo("window.TextfeldV.value=" . escape(..........) ");
    }
  if (inhalt.match(/<Lösung>|<verw>|<mehr>|<!--mehr-->|<!&#150;mehr&#150;>/i))  {
    //   if (inhalt.match(/<Lösung>/))    //   B a u s t e l l e  
    holeSkript("_mehr.php?Kenner=" + kenner + "&Fassung=ur");     //   darin dann:   echo("window.TextfeldV.value=" . escape(..........) ");
    }
	else  {
    window.TextfeldV.value=inhalt;  }

  if (kenner.match(/yyyyyyyyyy_datum/))  {  // ßßßßßßßßßßßßßßßß  Quelldatum und Eintragdatum bekommen eine Zeile mit Tagwaehler
    alert("Jo, dieser Baustellen-Hinweis kommt, weil in ein Datum-Feld geklickt wurde.");
    try { window.wirdGeaendertV.SpInh.appendChild(window.AendernzeileV); } catch(e) { }
    document.getElementById("dieAendernzeile").focus()
  	}
 else  {
    //ß LAenge = ( 1.6 * inhalt.length > 12 ? 1.6 * inhalt.length : 12 );
    //ß TextfeldV.style.minWidth = LAenge + "ex";
    //ß TextfeldV.style.width    = LAenge + "ex";
    //ß TextfeldV.style.height    = "3em";
    //ß TextfeldV.style.minHeight    = "3em";
    window.wirdGeaendertV.SpInh.appendChild(window.AendernfeldV);
    document.getElementById("dasTextfeld").focus()
 	} }
 

function aendernBgf(KENNER)  {    //  öffnet für das Ändern in der Begriffefeld-Tabelle das Ändernfeld
  if (window.TextfeldBgfV.value==window.wirdGeaendertBgfV.Textinhalt)
    schlieszen();
  if (window.wirdGeaendertBgfV)  {
    return;  }

  //*
  // ________________________________________
  //KENNERspalte = KENNER.replace(/_.*/, "");       // ab _... wird abgeschnitten
  KENNER.match(/(.*)_(.*)_(.*)/);       // ab _... wird abgeschnitten
  Spalte  = RegExp.$1;
  HeftNr  = RegExp.$2;
  FadenNr = RegExp.$3;
  // a lert(" KENNER: " + KENNER + "  Spalte: " + Spalte + "  HeftNr: " + HeftNr  +  "  FadenNr:  " + FadenNr);


  //__________________  Wortlaut ermitteln  _______
  window.BegriffefeldFeldV = parent.document.getElementById(Spalte);
  var  Wortlaut3=window.BegriffefeldFeldV.innerHTML;
  //  a lert("Wortlaut3: " + Wortlaut3);
  // ________________________________________ //*/
  window.wirdGeaendertBgfV=window.BegriffefeldFeldV;
  // ________________________________________ //*/
  window.wirdGeaendertBgfV.appendChild(window.AendernfeldBgfV);

  regA = /KlartexT:(.*?):KT_Ende/;
  Wortlaut3.match(regA);
  //  a lert("gefunden: " + RegExp.$1 + "  2: " + RegExp.$2);
  window.TextfeldBgfV.value=RegExp.$1;
  }


function absenden()  {
  if (!window.wirdGeaendertV)  {
    return;  }
  window.wirdGeaendertV.SpInh.removeChild(window.AendernfeldV);
  window.wirdGeaendertV.Inhalt.innerHTML += "<img src=Bilder/Uhr.gif>";
  var Wortlaut = window.TextfeldV.value;
  // a lert(Wortlaut);
  Wortlaut = Wortlaut.replace(/\"/g,"&quot;");
  Wortlaut = Wortlaut.replace(/[\r\n]/g,"<br>");
  Wortlaut = Wortlaut.replace(/%u2013|--/g,"&#150;");
  Wortlaut = Wortlaut.replace(/\+/g,"&plus;");
  Wortlaut = Wortlaut.replace(/%u201E/g,"&#132;");
  Wortlaut = Wortlaut.replace(/%u201C/g,"&#147;");
  Wortlaut = Wortlaut.replace(/%u2019/g,"&#145;");
  Wortlaut = Wortlaut.replace(/%u201D/g,"&#148;");     //  engl. Tütteln rechts
  Wortlaut = Wortlaut.replace(/%u2026/g," ... ");
  if (HeftNr==44 && window.wirdGeaendertV.kenner.match("Wortlaut"))   //  in dieser Zeile: Spaltenname "Wortlaut"
	  Wortlaut = Wortlaut.replace(/<br>/g, "");
  holeSkript("_Feld_aendern.php?Kenner="+window.wirdGeaendertV.kenner+"&Feld="+escape(Wortlaut));
  window.wirdGeaendertV=false;  
  }
//  umgekehrter Weg:    function  aendern()   und  function  erzeugeDsBild
 

function absendenBgf()  {
  if (!window.wirdGeaendertBgfV)  {
    return;  }
  window.wirdGeaendertBgfV.removeChild(window.AendernfeldBgfV);
  window.wirdGeaendertBgfV.innerHTML += "<img src=Bilder/Uhr.gif>";
  holeSkript("_Begriffe_Feld_aendern.php?Spalte="+Spalte+"&HeftNr="+HeftNr+"&FadenNr="+FadenNr+"&Feld="+escape(window.TextfeldBgfV.value));

  window.wirdGeaendertBgfV=false;  
  }

 
function schlieszen()  {
  if (!window.wirdGeaendertV)  {
    return;  }
  try { window.wirdGeaendertV.SpInh.removeChild(window.AendernfeldV);  } catch(e) { }
  window.wirdGeaendertV=false;  
  }

  
function schlieszenBgf()  {
  if (!window.wirdGeaendertBgfV)  {
    return;  }
  window.wirdGeaendertBgfV.removeChild(window.AendernfeldBgfV);
  window.wirdGeaendertBgfV=false;  
  }


//  wird so angesteuert     absenden()    >    _Feld_aendern.php     >     rueckmelden()
function rueckmelden(kenner, feldname, wert)  {  //  trägt den neuen Spalteninhalt nach dem Ändern ein
    var Eintrag=window.EintraegeV[kenner];
  wert = wert.replace(/&plus;/g, "+");
  Eintrag.Textinhalt=wert;
  Eintrag.Inhalt.innerHTML=wert;
  var SpInhHtml=window.AuszeichnungenV["_"].SpInhHtml;
  // -------------------   die nächsten drei Zeilen mit   t r y    ....  oder ganz tilgen?
  if (typeof(window.AuszeichnungenV[feldname])!="undefined")   {
    if (typeof(window.AuszeichnungenV[feldname].SpInhHtml)!="undefined")
      SpInhHtml=window.AuszeichnungenV[feldname].SpInhHtml + ",,";    //  ????      td2Html  muß wohl ,,  enthalten
    }
   Eintrag.Inhalt.innerHTML=SpInhHtml.replace(/,,/g, wert);  //  bei  ,,  von  td2Html  wird   wert  eingesetzt?
  }



// __________________________  FadenBediener für den Fadenkopf ______________________________

function erzeugeFadenbediener()  {
  window.FadenbedienerV=document.createElement("div");
  var Steuerfeld=document.createElement("div");
  Steuerfeld.innerHTML='<a href="javascript:FadenbedienerSchlieszen()" style="color:#ffcc44; font-size:10px; font-style:normal; font-weight:normal; font-family:Verdana;">&nbsp; (&#150;)</a> &nbsp; &nbsp; ';
  Steuerfeld.innerHTML +='<a href="javascript:holeDatensatzAlleSpalten()" style="color:#ffcc44; font-size:10px; font-style:normal; font-weight:normal; font-family:Verdana;">alle Spalten zeigen</a> &nbsp; &nbsp; ';
  Steuerfeld.innerHTML +='<a href="javascript:zeigeDatensatzAuswahl(window)" style="color:#ffcc55; font-size:10px; font-style:normal; font-weight:normal; font-family:Verdana;">&nbsp; nur Auswahl zeigen</a> &nbsp; &nbsp; ';
  Steuerfeld.style.cssText="padding:2px; background:#88aa99; color:#ffcc44";
  window.FadenbedienerV.appendChild(Steuerfeld);
  window.wirdFadenBedientV=false;      //  Element, in das FadenbedienerV eingebunden wird 
  }


function FadenBedienen(kenner)  {       //  öffnet das Fadenbedienfeld
  FadenbedienerSchlieszen();
  if (window.wirdFadenBedientV)  {
    return;  }
  window.wirdFadenBedientV=window.FaedenV[kenner];          //  kenner: z.B.  F_123
  window.wirdFadenBedientV.KopfTd.appendChild(window.FadenbedienerV);
  window.wirdFadenBedientV.Ds.style.border="solid 1px #ddaa88";       //  Farbrahmen Bedienteil
  }

function  FadenbedienerSchlieszen()   {
  if (!window.wirdFadenBedientV)  {
    return;  }
  window.wirdFadenBedientV.KopfTd.removeChild(window.FadenbedienerV);
  window.wirdFadenBedientV.Ds.style.border="0px";
  window.wirdFadenBedientV=false;  
  }

// __________________________  FadenBediener für den Fadenkopf   E N D E    ______________________________

function wisseAlleFormGroeszen()   {
  var kedde="";
    try {
      formV  = opener.WzFenster.document.getElementById("Werkzeugleiste1Form"); }  catch(e)  {  }   // We.Form  siehe  dieSeite.htm
    if (window.formV) {
      //  a lert ("jo. " + form );
      for (i=0; i<formV.elements.length; i++)  {
        Name = formV.elements[i].name;
        Wert = formV.elements[i].value;
        if (Name != "HeftNrYYYY")  {           //  würde Anfangs einen HeftNr-fehlt-Fehler erzeugen
          kedde += "&" + Name + "=" + escape(Wert);
    } } }
  return kedde;
  }
 

function wisseAlleFormGroeszen_vorher()   {
  var kedde="";
  var Formbereiche = ["Werkzeugleiste1Form", "WerkzeugeteilForm"];
  for (var i = 0; i< Formbereiche.length; i++)  {
    form = Formbereiche[i];
 //   formV  = fw.document.getElementById(form);  // We.Form  siehe  dieSeite.htm
    try {
      formV  = opener.WzFenster.document.getElementById(form); }  catch(e)  {  }   // We.Form  siehe  dieSeite.htm
    if (window.formV) {
      //  a lert ("jo. " + form );
      for (i=0; i<formV.elements.length; i++)  {
        Name = formV.elements[i].name;
        Wert = formV.elements[i].value;
        if (Name != "HeftNrYYYY")  {           //  würde Anfangs einen HeftNr-fehlt-Fehler erzeugen
          kedde += "&" + Name + "=" + escape(Wert);
    } } } }
  return kedde;
  }


function melde(Meldung)  {
  document.getElementById("Meldestelle").innerHTML += "<br>--- &nbsp; " + Meldung;
  }


function DatensaetzeMitTab()  {
  var Netzziel = "_hde_holeDatensaetze.php?wieTrennen=Tab&SqlAbfrage=" + escape(window.SqlFeldV.value) + wisseAlleFormGroeszen();
  Fenster=window.open(Netzziel,"DatensaetzeMitTab","location=yes,menubar=no,toolbar=no,status=yes,resizable=yes,scrollbars=yes,width=650,height=600");
  Fenster.focus();
  }

function DatensaetzeMitCSV()  {
  var Netzziel = "_hde_holeDatensaetze.php?wieTrennen=CSV&SqlAbfrage=" + escape(window.SqlFeldV.value) + wisseAlleFormGroeszen();
  Fenster=window.open(Netzziel,"DatenasaetzeMitCSV","location=yes,menubar=no,toolbar=no,status=yes,resizable=yes,scrollbars=yes,width=650,height=600");
  Fenster.focus();
  }



//  berichtigt:  FARBEN
function holeHeft(heftnr, sendgroeSzenkette, suchkette)  {
  //     suchkette = Suchkette    müßte einmalig zu Beginn hierher übergeben werden ...
  holeFarben(heftnr);
  holeAuszeichnungen(heftnr);
  try { document.getElementById("Suchkette").value = ""; }  catch(e)  {  }
  //  a lert(3);
  if (heftnr != 34)   aendernErlaubt = 1;     //  Heft 34: Liedarchiv
  else                aendernErlaubt = 0; 
  //* * * * *   try { kenneSendgroeSzen(sendgroeSzenkette); }   catch(e)  {  }  //   wird das genutzt???
  if      (typeof(SuchketteVae)!="undefined")
	                          SUChkette = SuchketteVae;        //   z.B. aus der Netzzielzeile   ???  888 888
  else if (suchkette)       SUChkette = suchkette;           //   z.B. für die Bereichewahl
  else                      SUChkette = "";
  var SUCHkette = ( SUChkette ? "&Suchkette="+SUChkette : "" ); 
  //  a lert ("SUChkette: " + SUChkette + "; SUCHkette: " + SUCHkette);
  //   ?? ?? ?? ?? 
  //   try { document.getElementById("Suchkette").value = "(111) " + decodeURIComponent(SUChkette); }  catch(e)  {  }
  SpaltenBericht("holeHeft"); 
  nenneBedienquelle("holeHeft", "#282");
  if  (typeof(heftnr)      == "undefined")  heftnr  = 1;
  if  (typeof(jeSeite)     == "undefined")  jeSeite = 4; //  j e S e i t e    Datensätzezahl jeSeite einstellen
  if  (typeof(welche)      == "undefined")  welche  = 1;      //  welche Seite
  dieHeftNr = heftnr;
  HeftNr = heftnr;   
  // // //     neu bauen??    if  (typeof(SuchenteilV) != "undefined")
  verbirgDatensaetze(window, 1);
  //sUchkette = ( Suchkette ? "&Suchkette="+Suchkette : "" );
  jEseite   = ( jeSeite   ? "&jeSeite="  +jeSeite   : "" ); 
  var Skriptname = "_holeAuszeichnungen.php?HeftNr="+heftnr+ SUCHkette + "&holeHeft2=ja" + jEseite;   // hole auch Schuber- und Heft(e?)namen
  //  a lert("skriptname: " + Skriptname);
  holeSkript(decodeURIComponent(Skriptname));
  } 
                  

function holeHeft2(heftnr, kette, jeSeite)  {   //  wird von holeheft()  >  _holeAuszeichnungen.php aufgerufen
  //  HeftNr2  soll HeftNr (z.B. aus der Netzzielzeile) überwiegen
  //  * * *  Hier sollen nun allerlei Sendgrößen aus der Netzzielzeile gesetzt werden:  * * * * * *
  //  * * *  Denn holeHeft2()  wird nur aufgerufen nach holeHeft()  >  _holeAuszeichnungen.php  zu Beginn der Seitenholung
  //  * * *  Das bedeutet:   H i e r   i s t   d i e   r i c h t i g e   S t e l l e ! 
  //   a lert("holeHeft2 ... kette: " + kette);
  //  a lert("(1) holeHeft2(); jeSeite: " + jeSeite);  
//*  if (typeof(NetzzielwerteGewuSzt) == "undefined")
//*    wisseNetzzielwerte();    //  also nur einmal am Anfang
  //  a lert("(2) holeHeft2(); jeSeite: " + jeSeite);  
  SuChkette = ( kette ? kette : "" );   
  if (typeof("SuChkette") != "undefined" )   {
    kette = SuChkette;         /////   hieran lag es, diese Zeile fehlte  2007-06-09
    try { kette     = deuteUmlaute(kette)         }  catch(e)  {  }
    try { SuChkette = deuteUmlaute(SuChkette)     }  catch(e)  {  }
    //   a lert("yyyyyyyyyyyyy SuChkette: " + decodeURIComponent(SuChkette));
    // ?????*/   try { document.getElementById("Suchkette").value = "(222) yYyyyyyyyy" + decodeURIComponent(SuChkette);
    // ?????*/}  catch(e)  { a lert(9999);  }
    }
  ordneNach1 = "";
  //  DAS MACHEN WIR NICHT MEHR  ????
	holeBeibemerkungen(HeftNr, SuChkette);
  //  if (heftnr == 34)  {                
  //    aendernErlaubt = 1;           // Aendernerlaubnis
  //    schalteAendernerlaubnis();    // Aendernerlaubnis
  //    }
  holeSeite(1, SuChkette, "holeHeft()", jeSeite);      // n e u :   kette
  holeBereichinhalt("fuerBereichNr:1 AND fuerHeftNr:" + heftnr, "weniger")
  holeBereichinhalt("fuerBereichNr:2 AND fuerHeftNr:" + heftnr, "weniger")
  holeBereichinhalt("fuerBereichNr:5 AND fuerHeftNr:" + heftnr, "weniger")
  holeBereichinhalt("fuerBereichNr:7 AND fuerHeftNr:" + heftnr, "weniger")
  holeBereichinhalt("fuerBereichNr:8 AND fuerHeftNr:" + heftnr, "weniger")
	//    ßßßßß   //ßßßßßßß      setTimeout("schiebeWegweiser(1, Lage(document.getElementById('linkeSpalte')))", 1000);
	//alert(2);
  }    //  //  E N D E  des Verfahrens  holeHeft2(heftnr, kette)  


function dieCGI_SendgroeSzen()   {
  var   netzziel  = "";
  try { netzziel += "&jeSeite="   + jeSeite     ;}  catch(e) { }
  try { netzziel += "&Suchkette"  + SuchketteVae;}  catch(e) { }
  if (typeof(fw) != "undefined")  {             // fw: Fenster Werkzeug
    try { netzziel += "&SuchwortA"  + SuchwortA ;}  catch(e) { }
    try { netzziel += "&SuchwortB"  + SuchwortB ;}  catch(e) { }
    try { netzziel += "&auf_ab="    + auf_ab    ;}  catch(e) { }
    try { netzziel += "&ordneNach=" + ordneNach ;}  catch(e) { }
    try { netzziel += "&undOder="   + undOder   ;}  catch(e) { }
    try { netzziel += "&Spalten="   + Spalten   ;}  catch(e) { }
    try { netzziel += "&DsSpalten=" + DsSpalten ;}  catch(e) { }
    try { netzziel += "&SqlAbfrage="+ escape(window.SqlFeldV.value); } catch(e)  { }   }
          netzziel += "&" + wisseAlleFormGroeszen();
  return netzziel;
  }


function gibFarbe_bisher(nr)  {   //   wird abgelöst durch   pflegeFarben()
  //  d ebugger;
  aendereStilMerkmal  ('.KoBu', 'color'          , KoBu[nr] );
  aendereStilMerkmal  ('.KoHg', 'backgroundColor', KoHg[nr] );   // diese Stile stehen in WegweiserFarben.css 
  for (var i=1; i<=7; i++)  {
    aendereStilMerkmal('.WwHgRu'+i, 'background', WwHgRu[nr][i] );
    aendereStilMerkmal('.WwHgTa'+i, 'background', WwHgTa[nr][i] );
    } 
  aendereStilMerkmal  ('.KoHg', 'backgroundColor', KoHg[nr] );   // diese Stile stehen in WegweiserFarben.css 
  }

//   ähnlich wie holeAuszeichnungen()  ??????????

//////// ##########
function holeFarben(heftnr)  {    //   war: gibFarben()         siehe auch:  function holeDieFarben()
  heftnr = heftnr || HeftNr;
  var Netzziel = "_holeFarben.php?HeftNr=" + heftnr;
  holeSkript(Netzziel);
  // pflegeFarben();
  }

//////// #############
function schreibeFarben(heftnr)  {
  sammeleFarben();
  heftnr = heftnr || HeftNr;
  farbenkette = dieFarben;
  var Netzziel = "_schreibeFarben.php?HeftNr=" + heftnr + "&Farben=" + farbenkette;
  holeSkript(Netzziel);
  }

function gibFarbe__nooooiiii(nr)  {
  //  var Netzziel = "_gibFarbe.php?HeftNr=" + heftnr;
  var Netzziel = "_gibFarbe.php?FarbNr=" + nr;
  holeSkript(Netzziel);
  }
  
function gibFarbe(nr)  {   //   wird abgelöst durch   pflegeFarben()
  //   d ebugger;
  aendereStilMerkmal  ('.KoBuF', 'color'          , KoBuF[nr] );
  aendereStilMerkmal  ('.KoBuM', 'color'          , KoBuM[nr] );
  aendereStilMerkmal  ('.KoHg', 'backgroundColor', KoHg[nr] );   // diese Stile stehen in WegweiserFarben.css
  for (var i=1; i<=3; i++)  {
    aendereStilMerkmal('.WwHgRu'+i, 'background', WwHgRu[nr][i] );
    aendereStilMerkmal('.WwHgTa'+i, 'background', WwHgTa[nr][i] );
    }   
  aendereStilMerkmal  ('.KoHg', 'backgroundColor', KoHg[nr] );   // diese Stile stehen in WegweiserFarben.css
  } 



 
//////// ############
function holeDieFarben()  {
// d ebugger;
  for (stilname in Stile)  {                      
    dieserStil = document.styleSheets[Stile[stilname]["i"]].cssRules[Stile[stilname]["j"]].style.cssText;
    Funde      = dieserStil.match(/rgb(\(.*?\))/);
    try {
      dieFarben  = "#" + deuteRGB(Funde[1]) + " ";
      dieFarben += "#" + deuteRGB(Funde[2]) + " ";
      dieFarben += "#" + deuteRGB(Funde[3]) + " ";
      }  catch(e)  { }
  } }
 

//////// ############
// function pflegeFarben__ausgelagert_nach_PHP()  // ??????????????????   hä??  {
function pflegeFarben()  {
//////// ############
  try{  debug("dieFarben: " + dieFarben);   }  catch(e)  { }
  Farben = dieFarben.split(/[, ]+/);
  var i,j,ii=0;
  for (name in Stile)  {              //  Stile wird gebildet in .........
    i    = Stile[name]["i"];
    j    = Stile[name]["j"];
    if (document.styleSheets[i].cssRules[j].style.color          ) { 
      var farbe1 = Farben.shift(); document.styleSheets[i].cssRules[j].style.color           = farbe1;}
    if (document.styleSheets[i].cssRules[j].style.backgroundColor) { 
      var farbe2 = Farben.shift(); document.styleSheets[i].cssRules[j].style.backgroundColor = farbe2; }
    if (document.styleSheets[i].cssRules[j].style.borderColor) { 
      var farbe3 = Farben.shift(); document.styleSheets[i].cssRules[j].style.borderColor     = farbe3; }
  } }
 

function nix()  {   }



function Schwebefarben()  {   
    //   Damit bei Maus über einer Div-Fläche 
    //   im Farbfenster der zugehörige Farbtupf angezeigt wird 
  holeSkript("jquery.js");
    //    alle DIVs werden mit Schwebe-Eigenschaft ausgerüstet:
    //   holeSkript("_Schwebefarben.js");
  setTimeout("nix()", 300);
  $("body,table,div,td").hover(
      function (event) {
        // berichte4('<br>(1) this.id: ' + this.id); 
        if (this.className)  {
        berichte4('<br>(2) this.className: ' + this.className); 
        //alert("this.className: " + this.className);
          try { 
            var Klassen      = this.className.split(" ");
			    	var Klassenkette = Klassen.join(",");
            for (nR in Klassen)  { 
              //\berichte4(' (3) '); 
						  if (typeof(Stile["."+Klassen[nR]]['nr'])!="undefined") {
						    var Nummer = Stile["."+Klassen[nR]]['nr'];
                //\berichte4(' ++(4)++Klk: ' + Klassenkette + "; Nr: " + Nummer); 
                //  ##########(======)
							  faf.umrandeRot(Nummer);   } }
                //  ##########(======)
            }
          catch(e) { } 
          // catch(e) { berichte4('------(5) RAUSGEFLOGEN ');} 
				} }, 
      function () {
				if (typeof(nR)!="undefined")
  				if (typeof(Stile["."+Klassen[nR]]['nr'])!="undefined")
            faf.entrande(Nummer);
            berichte4('..(6, entr.) Klk: ' + Klassenkette);
        }
    )

/* $(document).ready(function() {
    $('div').hover(function(event) {
      alert(123);
    //    $("#LogDiv").hide();
    //    faerbeRot(this.className, FarbstilNr(this.className));
    });  }); */
  }



Farbstile  = new Array();
FarbstilNr = new Array();


//////// #############
function sammeleFarben()  {
//////// #############
  var Farben = new Array();
  var i_,j_,ii=0;
  var iNr = 0;
  function machwas(funde)  {
    farbe = funde[1];
    farbe = deuteRGB(farbe);
    Farbstile[Stilname] = farbe;
    FarbstilNr[Stilname] = iNr++;  //   Zum Fm werden die Numerierung (und im Ausbauschritt der  Stilname )  mitgegeben;
    Farben.push(farbe); 
    }
  for (name in Stile)  {
    i_    = Stile[name]["i"];
    j_    = Stile[name]["j"];
    var Stilname = document.styleSheets[i_].cssRules[j_].style
    try {Funde=document.styleSheets[i_].cssRules[j_].style.color.match(/(rgb\(.*?\))/);          machwas(Funde)}catch(e){}
    try {Funde=document.styleSheets[i_].cssRules[j_].style.backgroundColor.match(/(rgb\(.*?\))/);machwas(Funde)}catch(e){}
    try {Funde=document.styleSheets[i_].cssRules[j_].style.borderColor.match(/(rgb\(.*?\))/);    machwas(Funde)}catch(e){}
    }
  dieFarben = Farben.join(",");
  return Farben;
  }

 
//////// #####################
function sammeleFarben__bisher()  {
  //  a lert("dieFarben: " + dieFarben);
  var Farben = new Array();
  var i_,j_,ii=0;
  for (name in Stile)  {      //  wo kommt   Stile   denn her?
    i_    = Stile[name]["i"];
    j_    = Stile[name]["j"];
    try { Funde = document.styleSheets[i_].cssRules[j_].style.color.match(/(rgb\(.*?\))/);
          farbe = Funde[1];
          farbe = deuteRGB(farbe);
          Farben.push(farbe); 
          a=1;
          }  catch(e)  { }
    try { Funde = document.styleSheets[i_].cssRules[j_].style.backgroundColor.match(/(rgb\(.*?\))/);
         Farben.push(deuteRGB(Funde[1])); }  catch(e)  { }
    try { Funde = document.styleSheets[i_].cssRules[j_].style.borderColor.match(/(rgb\(.*?\))/);
         Farben.push(deuteRGB(Funde[1])); }  catch(e)  { }
    }
  dieFarben = Farben.join(",");
  return Farben;
  }

 
var hexZeichen="0123456789ABCDEF";

function zahlInHex(x,l) {   // wandelt Zahl x hexadezimale Darstellung mit Mindestlaenge l um 
  var a=Math.round(Number(x)),b,zahl="",vz="";
  if (a==0) {
    while (zahl.length<l)
      zahl="0"+zahl;
    return zahl; }
  if (a<0) {
    vz="-";
    a=-a; }
  while (a>0.5) {
    b=a&15; // cooler als a%16 
    zahl=hexZeichen.charAt(b)+zahl;
    a>>=4; // cooler als a/16 
    }
  while (zahl.length<l)
    zahl="0"+zahl; 
  return vz+zahl; }


//////// ########
function deuteRGB()  {
  //   d ebugger;
  //   3 oder 4 Sendgrößen:     3 Farbgrößen, vielleicht Ausgabeform    "#" (hexadezimal) oder "d" (dezimal)  
  //   1 oder 2 Sendgrößen:     1 Farbgröße,  vielleicht Ausgabeform:   "#" (hexadezimal) oder "d" (dezimal)  
  SgZahl = deuteRGB.arguments.length;   // Sendgroeszenzahl

  if (SgZahl == 3 || SgZahl == 4 )  {         //  RGB  3 Zeichenketten oder Zahlen             
    rgb1 = deuteRGB.arguments[0];
    rgb2 = deuteRGB.arguments[1];
    rgb3 = deuteRGB.arguments[2];
    form = deuteRGB.arguments[3];    }
  else if (SgZahl == 1 || SgZahl == 2 )  {    //  RGB  nur 1 Zeichenkette                      
      rgb  = deuteRGB.arguments[0];
      try { rgb  = rgb.toUpperCase()  }  catch(e) { }
      form = deuteRGB.arguments[1];

      if (rgb.match(/#/))      //  z.B.  #113322
        var Raute_dabei= 1;
      if (RGBfunde = rgb.match(/([\d\.]+),\s*([\d\.]+),\s*([\d\.]+)/))  {   //  z.B.  rgb(111,222,333)       
        rgb0 = RGBfunde[0];   //  vielleicht hilft das gegen das Stolpern                      
        rgb1 = RGBfunde[1];
        rgb2 = RGBfunde[2];
        rgb3 = RGBfunde[3];  }
      else if ( (RGBfunde = rgb.match(/#([\dA-F]+)/)) ||                      //  z.B.  #113355
                (RGBfunde = rgb.match(/([\dA-F]+)/ ))    )  {                 //  z.B.   113355
        var istHex = 1;
        rGB = RGBfunde[1].split("");
        if (rGB.length == 6) {
          rgb1 = ""+rGB[0]+rGB[1]; rgb2 = ""+rGB[2]+rGB[3]; rgb3 = ""+rGB[4]+rGB[5]; }         
        else if (rGB.length == 3) {
          rgb1 = ""+rGB[0]+rGB[0]; rgb2 = ""+rGB[1]+rGB[1]; rgb3 = ""+rGB[2]+rGB[2]; }         
        else  {
          // a lert("Die Eingabe \"" + rGB + "\" war keine richtige RGB-Farbe.");               
          return;
        } }
      else  {
        // a lert("SgZahl: " + SgZahl + "; die Eingabe \"" + rgb + "\" war keine richtige RGB-Farbe.");
        return;  }
        }
  else  {
    alert("Falsche Anzahl von Sendgrößenanzahl; nicht 1 bis 4, sondern " + deuteRGB.arguments.length);
    return;  }

  //  rgb1 = textInZahl(rgb1, 16);
  //  rgb2 = textInZahl(rgb2, 16);
  //  rgb3 = textInZahl(rgb3, 16);
/*
  rgb1_ = Number(rgb1); if (!isNaN(rgb1_)) rgb1 = rgb1_;
  rgb2_ = Number(rgb2); if (!isNaN(rgb2_)) rgb2 = rgb2_;
  rgb3_ = Number(rgb3); if (!isNaN(rgb3_)) rgb3 = rgb3_;
*/

  var fertig = 0;
  try { delete(rgB1)  }  catch(e)  { }

  try  {
    if ( Raute_dabei || rgb1.match(/[a-fA-F]/) || rgb2.match(/[a-fA-F]/) || rgb3.match(/[a-fA-F]/)) {
      rgB1 = rgb1;
      rgB2 = rgb2;
      rgB3 = rgb3;
      fertig=1;    }
    }  catch(e) {  }
  if (!fertig && rgb1<=1   && rgb2 <=1   && rgb3 <=1) {
    rgB1 = zahlInHex(rgb1*255, 2);
    rgB2 = zahlInHex(rgb2*255, 2);
    rgB3 = zahlInHex(rgb3*255, 2); }
  else if (istHex)  {
    rgB1 = rgb1;
    rgB2 = rgb2;
    rgB3 = rgb3;    }
  else if (!fertig && rgb1<=255 && rgb2 <=255 && rgb3 <=255) {
    rgB1 = zahlInHex(rgb1, 2);
    rgB2 = zahlInHex(rgb2, 2);
    rgB3 = zahlInHex(rgb3, 2); }
  else if (!fertig)  {
    // a lert("Die Sendgrößen sind nicht im Bereich  1..255.");
    return  }

  return ""+rgB1+rgB2+rgB3;
  //   noch fehlerhaft: (richtig:)  f22 => #FF2222; aber (falsch:) 222 => #161616                
  //   weitere Baustelle:  Wie sind die EingÃ¤nge von RGB_HSV??
  }







function deuteUmlaute(kette)  {
  kette = kette.replace(/%C3%A4/g, "ä");
  kette = kette.replace(/%C3%B6/g, "ö");
  kette = kette.replace(/%C3%BC/g, "ü");
  kette = kette.replace(/%C3%9F/g, "ß");
  kette = kette.replace(/%C3%84/g, "Ä");
  kette = kette.replace(/%C3%96/g, "Ö");
  kette = kette.replace(/%C3%9C/g, "Ü");
  kette = kette.replace(/%20/g,    " ");
  return kette;
  }


function holeBeibemerkungen(heftnr, Suchkette_hier)  {     //  NICHT: Bereiche 1..4; nur die Vor- und Nachbemerkung
//ßßßßß:
  return;
	var suchkette = "";
  try {  suchkette = Suchkette_hier;  }  catch(e)  { }
  var Netzziel = "_hbb_holeBeibemerkungen.php?HeftNr=" + heftnr + "&Suchkette=" + suchkette;
  try {  Netzziel += "&ueberschreibeSpalten=" + ueberschreibeSpalten;  }  catch(e)  {  }
  window.document.body.scrollTop=0;
  holeSkript(Netzziel);
  }


function holeSeite(welche, su_kette, quelle, jeSeite, ordneNach, auf_ab)  {    
// function holeSeite(welche, su_kette, quelle, jeSeite)  {      //   n e u :  su_kette
  if (su_kette == "[object HTMLInputElement]")
    su_kette = "";
  if (typeof(su_kette)=="undefined")
    su_kette= document.getElementById("Suchkette").value;
  else
    try { document.getElementById("Suchkette").value = decodeURIComponent(su_kette);} catch(e)  {  }
  su_kette = escape(su_kette);                 //  Umlaute ausrüsten  //ß  //ß  //ß
  if  (typeof(jeSeite) == "undefined")   //      fragwürdig; weiß nix
    jeSeite = 16;                         //          und nützt nix     j e S e i t e
	if  (typeof(su_kette) != "undefined")
    var ketteKette = "&Kette_y=" + su_kette;
  try {  var jeSeite  = document.getElementById("jeSeite").value;   }  catch(e) { }
  try {  var M        = document.getElementById("M"      ).value;   }  catch(e) { }
  //    _ h d e _ h o l e D a t e n s a e t z e . p h p 
	var Netzziel = "_hde_holeDatensaetze.php?HeftNr2=" + dieHeftNr;
  Netzziel += "&jeSeite=" + jeSeite + "&M=" + M + "&welcheSeite=" + welche;
  try {  Netzziel += "&SqlAbfrage=" + escape(window.SqlFeldV.value) }  catch(e) { }
  Netzziel += "&" + wisseAlleFormGroeszen();
  Netzziel += "&Bedienquelle=" + Bedienquelle;
  try {  Netzziel += "&SeiteJetzt=" + document.getElementById("SeiteJetzt").value; }  catch(e) { }
  if (typeof(ketteKette) != 'undefined')
    Netzziel += ketteKette  //  alert("Netzziel: YYY " + Netzziel.replace(/(.{40})/g, "$1\n"));
  //   sollte alles von   function dieCGI_SendgroeSzen()  übernommen werden
  try {  Netzziel += "&HeftNr="               + HeftNr;              }  catch(e)  {  }
  try {  Netzziel += "&Spalten="              + Spalten;             }  catch(e)  {  }
  try {  if (typeof(ordneNach) != "undefined")
		     Netzziel += "&ordneNach="            + ordneNach;           }  catch(e)  {  }
  try {  if (typeof(auf_ab)    != "undefined")
		     Netzziel += "&auf_ab="               + auf_ab;              }  catch(e)  {  }
  try {  Netzziel += "&jeSeite="              + jeSeite;             }  catch(e)  {  }
  try {  Netzziel += "&ueberschreibeSpalten=" + ueberschreibeSpalten;}  catch(e)  {  }
  //  gute Verbindung:    a lert("holeSeite; HeftNr: " + HeftNr + "  Netzziel: " + Netzziel.replace(/(.{40})/g, "$1\n"));
  //#  verbirgDatensaetze(window);

  if (merke_Netzziel)  // 
	  merkeNetzziel(Netzziel); 
  
	holeSkript(Netzziel);
  window.document.body.scrollTop=0;   //  ? ? ? ?    besser nach php geben                           
  }   //    E N D E  function holeSeite()
  

// ______________ zV_ ____________________________


function  merkeNetzziel(netzziel)  {
  // // //    Netzziele = Netzziele.slice(Netzzielzeiger);                    //     kappeFeld(Netzziele, Netzzielzeiger);

  Netzziele = Netzziele.slice(0,Netzzielzeiger+1);  // die Liste wird gekappt
  Netzziele.push(netzziel);
  Netzzielzeiger++;
	if (Netzzielzeiger > 0)
	  document.getElementById("zV_zurueck").src = "Bilder/zV_zurueck1.png"  
	document.getElementById  ("zV_vor"    ).src = "Bilder/zV_vor0.png"  
  berichte(2, "merkeNetzziel()", "Netzzielzeiger: ", Netzzielzeiger, "#880000");
  }

function zV_vor() {          // zurück / vor 
  //berichte(2, "zV_vor()", "Netzziele: ", Netzziele.join("<br>\n|||"), "#115500");
  if (Netzzielzeiger < Netzziele.length-1 ) {
	  Netzzielzeiger++; 
	  document.getElementById("zV_zurueck").src = "Bilder/zV_zurueck1.png"  }
  if (Netzzielzeiger > Netzziele.length-2 ) 
	  document.getElementById("zV_vor").src = "Bilder/zV_vor0.png"  
  berichte(2, "zV_vor()", "HeftNr: ", HeftNr, "#226600");
	
  //berichte(2, "zV_vor()", "Netzzielzeiger: ", Netzzielzeiger, "#226600");
  Netzziel = Netzziele[Netzzielzeiger];
	merke_Netzziel = false;  // Keinen neuen Eintrag in Netzziele!
  //berichte(2, "zV_vor()", "Netzziel ", Netzziel, "#448811");
  holeSkript(Netzziel);
	merke_Netzziel = true;   /////////////////////////////////  HAUT HOFFENTLICH HIN ! ! !
  }

function zV_zz() {
  zV_zurueck();
  }

function zV_zurueck() {
  berichte(2, "zV_zurueck()", "Netzziele: ", Netzziele.join("<br>\n|||"), "#008833");
  if (Netzzielzeiger > 0) {
    Netzzielzeiger--;
	  document.getElementById("zV_vor").src = "Bilder/zV_vor1.png"  }
  if (Netzzielzeiger < 1 )
	  document.getElementById("zV_zurueck").src = "Bilder/zV_zurueck0.png"  
  berichte(2, "zV_zurueck()", "HeftNr: ", HeftNr, "#226600");
  berichte(2, "zV_zurueck()", "Netzzielzeiger: ", Netzzielzeiger, "#008833");
  Netzziel = Netzziele[Netzzielzeiger];
  berichte(2, "zV_zurueck()", "Netzziel ", Netzziel, "#00aa44");
	merke_Netzziel = false;  // Keinen neuen Eintrag in Netzziele!
  holeSkript(Netzziel);
	merke_Netzziel = true;  
  }



function Bilderfenster(neu)  {      //  welcheSeite, ....
  welche = document.getElementById("SeiteJetzt").value;
  try { kette = document.getElementById("Suchkette").value; } catch(e)  {  }
  SpaltenBericht("holeSeite");
  if  (typeof(jeSeite) == "undefined") 
    jeSeite = 17;           //    j e S e i t e
  if  (typeof(kette) != "undefined")
    var ketteKette = "&Kette_y=" + kette; 
  var Netzziel = "_hdb_holeDatensaetzeBildermeister.php?HeftNr2=" + dieHeftNr;
  Netzziel += "&jeSeite=" + jeSeite + "&welcheSeite=" + welche;
  Netzziel += "&SqlAbfrage=" + escape(window.SqlFeldV.value) + "&" + wisseAlleFormGroeszen();
  Netzziel += "&Bedienquelle=" + Bedienquelle;
  Netzziel += "&neu=" + neu;
  if (typeof(ketteKette) != 'undefined')
    Netzziel += ketteKette;
  //   sollte alles von   function dieCGI_SendgroeSzen()  übernommen werden
  try {  Netzziel += "&Spalten="              + Spalten;               }  catch(e)  {  }
  try {  Netzziel += "&ordneNach="            + ordneNach;             }  catch(e)  {  }
  try {  Netzziel += "&jeSeite="              + jeSeite;               }  catch(e)  {  }
  try {  Netzziel += "&ueberschreibeSpalten=" + ueberschreibeSpalten;  }  catch(e)  {  }
  //#  verbirgDatensaetze(window);
  //berichte(1, "Bilderfenster()", "vonwo:", "Bilderfenster()", "#252");
	  
  holeSkript(Netzziel);
  //window.document.body.scrollTop=0;   //  ? ? ? ?    besser nach php geben
  }


function Bilderfenster2()  {
  //berichte(1, "Bilderfenster2()", 'yYy', 'yYy', '#f70');
	fb = open("http://Werkwelt.de/zmo/meister.html", "Bilderfenster", "width=600,height=500, location=no, status=yes, resizable=yes");
  //  try { setTimeout("fb.focus()",  200); }  catch(e) {  }
  //  try { setTimeout("fb.focus()",  400); }  catch(e) {  }
  //  try { setTimeout("fb.focus()",  800); }  catch(e) {  }
  }

function Bilderfenster_vorher()  {
  SuchketteVae = document.getElementById("Suchkette").value;
	// a lert("Suchkette:" + Suchkette);
  jeSeite=document.getElementById("jeSeite").value;
  var Netzziel = "http://tauschring.com/v/_hdb_holeDatensaetzeBildermeister.php?HeftNr2=" + dieHeftNr;
  Netzziel += "&jeSeite=" + jeSeite + "&welcheSeite=" + welche;
  Netzziel += "&SqlAbfrage=" + escape(window.SqlFeldV.value) + "&" + wisseAlleFormGroeszen();
  Netzziel += "&Bedienquelle=" + Bedienquelle;

	BiFenster=open(Netzziel, "Bilderfenster", "width=400,height=400, location=no, status=yes, resizable=yes");
  // a lert(BiFenster);
  //.........................
  //  ^ aufrufen mit holeSkript() ^ 
  //.........................
	BiFenster=open("http://Werkwelt.de/zmo/meister.html", "Bilderfenster", "width=400,height=400, location=no, status=yes, resizable=yes");
  fb  = BiFenster; 
  //  fb.moveTo(screen.width-710, screen.height-570);
  fb.focus();
  setTimeout('Bilderfenster2()', 1000);
  }




function holeSeite_ecKlm(welche, holkette)  {      //   für  [[ ... ]]
  SpaltenBericht("holeSeite");
  if  (typeof(jeSeite)=="undefined") 
    jeSeite = 13;                      //  j e S e i t e 
  
  var Netzziel = "_hde_holeDatensaetze.php?HeftNr2=" + dieHeftNr;
  Netzziel += "&jeSeite=" + jeSeite + "&welcheSeite=" + welche;
  //tzziel += "&SqlAbfrage=" + escape(window.SqlFeldV.value) + 
  Netzziel += "&" + wisseAlleFormGroeszen();
  Netzziel += "&Bedienquelle=" + Bedienquelle + "&Holkette=" + holkette + "&nur1DS=nur1DS";    //   n e u :  kette
  //   sollte alles von   function dieCGI_SendgroeSzen()  übernommen werden
  try {  Netzziel += "&Spalten="              + Spalten;               }  catch(e)  {  }
  try {  Netzziel += "&ordneNach="            + ordneNach;             }  catch(e)  {  }
  try {  Netzziel += "&jeSeite="              + jeSeite;               }  catch(e)  {  }
  try {  Netzziel += "&ueberschreibeSpalten=" + ueberschreibeSpalten;  }  catch(e)  {  }
  // a lert("holeSeite; HeftNr: " + HeftNr + "  Netzziel: " + Netzziel);
  window.document.body.scrollTop=0;
//#  verbirgDatensaetze(window);
  holeSkript(Netzziel);
  }

function holeHeft3(heftnr)  {        //  wird von holeheft()  >  _holeAuszeichnungen.php aufgerufen
  setzeSuchenteil_fuerHeft(heftnr)
  }

function holeBereicheinhalte(bnr)   {      // Das DOM selbst ist das Verzeichnis, welches die Bereiche verwaltet
  Netzziel = "_hbie_holeBereicheinhalte.php";
  holeSkript(Netzziel);   }

function holeBereichinhalt(Bedingung, mehr)   {  //  Bereich-Nr.          welche Werte soll  "mehr"   annehmen?
  Netzziel = "_hbi_holeBereichinhalt.php?Bedingung=" + Bedingung + "&mehr=" + mehr;
  holeSkript(Netzziel);   }

function loescheBereichinhalt(bnr)   {  //  Bereich-Nr.
  //  alert("bnr: " + bnr);
	try{ document.getElementById("Bereich_"+bnr).innerHTML=""; } catch(e)  { }  }
function loescheBereichstueck(nr)   {  //  Bereich-Nr.
  //  alert("nr: " + nr);
	try{ document.getElementById("Bereichstueck_"+bnr).innerHTML=""; } catch(e)  { }  }


//=======================================================================================

// n i c h t :    function setzeSchuberImSuchenteil(heftnr)
// v o r h e r :  function SpaltenwaehlerErneuern()
function setzeSuchenteil_fuerHeft(heftnr)  {
  SchuWeiV = document.getElementById("Schuberweiser");
  holeSkript("_setzeSuchenteil.php?HeftNr2=" + heftnr);
  }
//=======================================================================================

function setzeSuchenteil_fuerSchuber(schubernr)  {
  Bedienquelle = "SuchenteilSchuberweiser";
  SchuWeiV = document.getElementById("Schuberweiser");
  holeSkript("_setzeSuchenteil.php?SchuberNr=" + schubernr + "&Bedienquelle=" + Bedienquelle);
  }
//=======================================================================================

//  g e h t  i n  R e n t e      // ++ ++ ++      ---> setzeSuchenteil_fuerSchuber(schubernr)
function SpaltenwaehlerErneuern()  {      //  erneuert auch den Heftweiser1 und die anderen Klappwegweiser
  SchuWeiV = document.getElementById("Schuberweiser");
  holeSkript("_SpaltenwaehlerErneuern.php?SchuberNr=" + SchuWeiV.options[SchuWeiV.selectedIndex].value);
  }


function waehleImSchuberweiser(schubernr)  {         //  Fernbedienung für den Schuberweiser
  for (var i=0; i<fw.document.getElementById('Schuberweiser').options.length; i++)
    if (fw.document.getElementById('Schuberweiser').options[i].value == schubernr )
        fw.document.getElementById('Schuberweiser').options[i].selected = 1;
  }



function DatensaetzeMitJSSucheklein()  {
  SuchketteV = document.getElementById("Suchkette").value;
  var Netzziel = "_hde_holeDatensaetzeSucheklein.php?Suchkette=" + SuchketteV ;
  var Netzziel = "_hde_holeDatensaetze.php?Bedienquelle=SuchenteilKlein&Suchkette=" + SuchketteV ;
  Netzziel    += "&HeftNr=" + HeftNr + "&jeSeite=" + jeSeite;
  window.document.body.scrollTop=0;
  verbirgDatensaetze(window, 1);
  holeSkript(Netzziel);
  }

 
function DatensaetzeMitJSflach()  { 
  var Netzziel = "_hde_holeDatensaetze.php?wieTrennen=JSflach&SqlAbfrage=" + escape(window.SqlFeldV.value) + wisseAlleFormGroeszen();
  holeSkript(Netzziel);
  }




function holeDatensatzAlleSpalten()    {            //  _holeDatensatz.php ruft dann wieder ..... auf.
  // try { schlieszen();   }   catch(e) {  }
  schlieszen();     // Das Ändernfeld wird geschützt
  var dsnr = ( wirdFadenBedientV.FadenNr ? wirdFadenBedientV.FadenNr : gemeinteDsNr );
  //  alert("holeDatensatzAlleSpalten(), DsNr: " + dsnr);
  if (!dsnr)  {   alert("Bitte wählen Sie erst einen Datensatz aus.");      return;  }
  var Netzziel  = "_holeDatensatz.php?HeftNr=" + f.dieHeftNr + "&DsNr=" + dsnr + "&FadenNr=" +  DieDatensaetze[dsnr].FadenNr+ "&welcheSpalten=alle";
      Netzziel += wisseAlleFormGroeszen() + "&FadenNr=" +  DieDatensaetze[dsnr].FadenNr + "&HeftNr=" + f.dieHeftNr;
  f.holeSkript(Netzziel);
  //   ruft dann   zeigeDatensatzAlles()  auf
  }


 function holeDatensatzAuswahl(undAuch)    {            // wird benutzt für Liedarchiv > einzelnes Lied
  //  alert("holeDatensatzAuswahl()");
	//  debugger;
	schlieszen();     // Das Ändernfeld wird geschützt
  var dsnr = ( wirdFadenBedientV.FadenNr ? wirdFadenBedientV.FadenNr : gemeinteDsNr );
  if (!dsnr)  {   alert("Bitte wählen Sie erst einen Datensatz aus.");      return;  }
  var Netzziel  = "_holeDatensatz.php?HeftNr=" + dieHeftNr + "&DsNr=" + dsnr + "&FadenNr=" +  DieDatensaetze[dsnr].FadenNr + "&welcheSpalten=Auswahl&undAuch=" + undAuch;
      Netzziel += wisseAlleFormGroeszen() + "&FadenNr=" +  DieDatensaetze[dsnr].FadenNr + "&HeftNr=" + dieHeftNr;
  //   ruft dann   zeigeDatensatz()  auf
  //  alert("DIES IST DAS VERFAHREN holeDatensatzAuswahl(); es geht hier nicht weiter wg. Rückaufruf, der in iCab und Safari nicht geht.");
  holeSkript(Netzziel);
	}


function holeAuszeichnungen(heftnr, art)  {
  delete davor;
	delete danach;
	var Netzziel = "_holeAuszeichnungen.php?HeftNr=" + heftnr + "&Art=" + art;     //  einschließlich  gibFarbe
  holeSkript(Netzziel);
  }


 function hakeAn(welche)  {
  var Netzziel = "_hakeAn.php?welche=" + welche + wisseAlleFormGroeszen();
  holeSkript(Netzziel);
  }

function welcheAbfrage()   {
  }


function setzeSuchenteil()   {
  SchuberNr = fw.document.getElementById("Schuberweiser").value;   //  ohne opener  
// a lert("setzeSuchenteil();  SchuberNr: " + SchuberNr);
  setzeSuchenteil_fuerSchuber(SchuberNr);
//SpaltenwaehlerErneuern();         //  einschließlich Heftweiser1 erneuern??
//setzeSqlKetteNeu();               //   
  }


function nachHeftwechsel1()  {
  HeftNr = fw.Heftweiser1KgV.value;
  dieHeftNr = HeftNr;
  //  a lert("nachHeftwechsel1; HeftNr: " + HeftNr);
  setzeSqlKetteNeu();                //  einschließlich Heftweiser1 erneuern?????
                        //    ruft _Suchenteil.php  auf, darin
                        //    ruft _SuchenteilVerfahren.php  auf    mit  baueHeftweiser1()
  }



function leereDsBild(w, Datenelement)   {
//  try {
    for (j=0; j< Datenelement.Eintraege.length; j++)  {
      var Eintrag=Datenelement.Eintraege[j];
      try { Datenelement.Ds.removeChild(Eintrag.SpName); } catch(e)  {  }
      try { Datenelement.Ds.removeChild(Eintrag.SpInh); } catch(e)  {  }
   //&try { Datenelement.Ds2.removeChild(Eintrag.SpNameUndInh); } catch(e)  {  }
      try { Eintrag.SpNameUndInh.removeChild(Eintrag.SpName); } catch(e)  {  }
      try { Eintrag.SpNameUndInh.removeChild(Eintrag.SpInh);  } catch(e)  {  }
      try {  Eintrag.SpName.removeChild(Eintrag.Ueberschrift); } catch(e)  {  }
      try {  Eintrag.SpName.removeChild(Eintrag.aendern); } catch(e)  {  }
      // try {   } catch(e)  {  }
      // try {   } catch(e)  {  }
      Eintrag.SpInh.removeChild(Eintrag.Inhalt);
      delete Eintrag.Textinhalt;
      delete Eintrag.Ueberschrift;
      delete Eintrag.aendern;
      delete Eintrag.Inhalt;
      delete Eintrag.SpName;
      delete Eintrag.SpInh;
      try { delete Eintrag.SpNameUndInh; } catch(e)  {  }
      delete Datenelement.Eintraege[j];
      }
    delete Datenelement.Eintraege;
//    }
//  catch (e)  { alert("Fehler in leereDsBild"); }
  }


function verbirgDatensaetze(w, uhr)  {      //   Wo 's 'n das für?
   if (w.DatenelementeV)
    for (var dsnr in w.DatenelementV)  {
      var Datenelement=w.DatenelementeV[dsnr];
      Datenelement.Behaelter.removeChild(Datenelement.DsKiste);
      Datenelement.div.removeChild(Datenelement.Ds);
      try  { Datenelement.Ds.removeChild(Datenelement.Ds2)  }  catch(e)  { } ;
      w.leereDsBild(w, Datenelement);

//&   Datenelement.Ds2.removeChild(Datenelement.KopfTr);
      Datenelement.KopfTr.removeChild(Datenelement.KopfTd);
      delete Datenelement.KopfTr;
      delete Datenelement.KopfTd;
      delete Datenelement.Ds2;
      delete Datenelement.Ds;
      delete Datenelement.DsKiste;
      delete w.DatenelementeV[dsnr];
      }

  delete w.InhaltelementeV;
  delete w.EintraegeV;
  delete w.DatenelementeV;
  delete w.FaedenV;
  w.DatenelementeV=false;

  w.dieDatensaetzeV.innerHTML="";
  if (uhr)
    w.dieDatensaetzeV.innerHTML="<img src=Bilder/Uhr.gif>";
//  uhr = 1;
  w.NeubereichV.innerHTML="";
  }


function setzeFdNr(dsnr)  {
  FdNrV=document.getElementById("FdNr");
  FdNrV.innerHTML=dsnr;
  }


//_______________________________________________________
// ______________________________________________________
function schalteAendernerlaubnis() {
  aendernErlaubt =  ( aendernErlaubt? 0 : 1 ) ;
  AendernschalterV = document.getElementById("Aendernschalter");
  if (aendernErlaubt) 
    AendernschalterV.innerHTML="<span style='color:#dd8877;font-weight:bold;font-size:9'>Ändern</span>";
  else
    AendernschalterV.innerHTML="<span style='color:#5577bb;font-weight:bold;font-size:9'>Nicht ändern</span>";
  }


function waehleDieseTafel(dsnr)  {

  try  {  if (nxnx)  return; }   catch(e)  {  }
  if ( HeftNr == 1111172)  {
    gemeinteDsNr=dsnr;
    return;  }         //   Werkzeugbrett wird nicht angedockt
  // if ( wirdGeaendertV )  return;
  if (gemeinteDsNr == dsnr)  {
    if (aendernErlaubt)   return;   //   denn dann muß nichts gemacht werden
    try { document.getElementById("Tafel_"+dsnr).removeChild(Werkzeugebrett) }  catch(e)  {  }
    try { entrandeTafel(gemeinteDsNr); }   catch(e)  {  }
    if(!aendernErlaubt)
      document.getElementById("Besenkammer").appendChild(Werkzeugebrett)
    if (HeftNr==34 && !aendernErlaubt)
      holeDatensatzAuswahl();       //  ui ui ui
    gemeinteDsNr = 0;
    return;
    }
  setzeFdNr(dsnr);
  try  { entrandeTafel(gemeinteDsNr); }   catch(e)  { 
    /* a lert("Es ist kein Datensatz ausgewählt. Klicken Sie erst auf einen Datensatz."); */  }
  gemeinteDsNr=dsnr;
  //* .................. */              document.getElementById("BerichtOrt").innerHTML = "<span style=font-size:12pt;color:#000000>gemeinteDsNr: " + gemeinteDsNr + "</span>";
  wirdFadenBedientV.FadenNr = dsnr;
  umrandeTafel(dsnr);
  if (HeftNr==34 && !aendernErlaubt)
    holeDatensatzAlleSpalten();  
  }     //   E N D E  des Verfahrens  waehleDieseTafel()


function erzeugeWerkzeugebrett()  {
  Werkzeugebrett=document.createElement("div");
  Werkzeugebrett.style.cssText = "background:#bbbbc0; color:#ffFF00; font-size:10px";
  Werkzeugebrett.style.color   = "#ff0000";
  //Werkzeugebrett.innerHTML  = "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;" ;
  Werkzeugebrett.innerHTML += "<a href='javascript:f.holeDatensatzAuswahl()'    " + 
                              " style='color:#ffc' title='Spalten-Auswahl zeigen ^k'>[&#150;]</a> "; //&nbsp;";
  Werkzeugebrett.innerHTML += "<a href='javascript:Flachheit=0; f.holeDatensatzAlleSpalten()' " +
                            "style='color:#ffc'  title='alle Spalten zeigen ^m'>[+]</a>  "; //&nbsp;";
  Werkzeugebrett.innerHTML += "<a href='javascript:Flachheit=0; f.holeDatensatzAlleSpalten()' " +
                            "style='color:#ffc'  title='alle Spalten zeigen in neuem Tab ^T'>[T]</a>  "; //&nbsp;";
  Werkzeugebrett.innerHTML += "<a href='javascript:neuenDatensatz()' style='color:#293' title='neuen Datensatz'>[n]</a> "; // &nbsp;";
  Werkzeugebrett.innerHTML += "<a href='javascript:loescheTafel()' style='color:#f84' title='Datensatz verstecken'>(x)</a>  "; //&nbsp;";
  Werkzeugebrett.innerHTML += "<a href='javascript:loescheDatensatz()' style='color:#f63' title='Datensatz löschen'>[x]</a>";
  }
	
function loescheTafel()  {
  document.getElementById("Tafel_" + gemeinteDsNr).innerHTML = "";
  }

function umrandeTafel(dsnr)  {
  dieseTafelV=document.getElementById("Tafel_"+dsnr);
  //dieseTafelV.style.cellpadding="8";
  dieseTafelV.style.border="solid 1px #777";
  dieseTafelV.style.borderRight="solid 6px #777";
  dieseTafelV.style.borderBottom="solid 3px #777";
  //  document.getElementById("Ausgewaehltwerkzeuge").innerHTML="XXXXX";
  if (aendernErlaubt)
    window.FaedenV["F_"+dsnr].KopfTd.appendChild(Werkzeugebrett)
  }

function entrandeTafel(dsnr)  {
  dieseTafelV=document.getElementById("Tafel_"+dsnr);
  try  { dieseTafelV.style.border="solid 0px #ffffff"; }   catch(e)  {  }
  try  { dieseTafelV.removeChild(Werkzeugebrett) }   catch(e)  {  }
  }

/*

function Zwischenzeile()  {
  //  -- weiß, wie viele x Spalten die Datentafel hat  -->  colspan=x
  }


function Vorzeile()  {
  //  --  weiß, wie viele x Spalten die Datentafel hat  -->  colspan=x
  //  --  weiß, wie die Spalten heißen und setzt sie ein
  //  --  holt die Stilanweisungen aus  Bereich 8 
  }


function Nachzeile()  {
  //  -- weiß, wie viele x Spalten die Datentafel hat  -->  colspan=x
  //  --  weiß, wie die Spalten heißen
  //  --  holt sich die Anweisungen aus ........ Bereich 9
  //  

  }


*/






function neuenDatensatz()  {
  holeSkript("_neuenDatensatz.php?"+ wisseAlleFormGroeszen()+"&HeftNr=" + HeftNr+"&hoechsteDsNr=" + hoechsteDsNr);
  }

function doppeleDatensatz()  {
  holeSkript("_neuenDatensatz.php?"+ wisseAlleFormGroeszen()+"&HeftNr=" + HeftNr + "&doppele=" +  DieDatensaetze[gemeinteDsNr].FadenNr);
  }

// ____________________________________________________________________________________________
// ________________  B a u s t e l l e :   zeigeNeuenDatensatz(w)  muß??? so ähnlich
// ________________    gebaut werden wie   zeigeDatensatzAlles(w, dsnr)  mit   fuelleDsBild()
// ______  Zustand jetzt: der neue Datensatz wird offenbar richtig eingefüllt.
// ____________________    w e i l   DerNeueDatensatz    richtig gebaut wird.
// ____________________
// ________________________________________________________________________________

//  ________    für  [[ ... ]] 
function zeigeNeuenDatensatz(w)    {   //\\//   207-06-12
  // Flachheit = "TafelHoch";    //  document.getElementById("Flachheit").value;
  // a lert("zeigeNeuenDatensatz; Flachheit: " + Flachheit);
  var j_bis=w.alleSpaltenV.length;
  var PlatzV = document.getElementById("Tafel_"+gemeinteDsNr);  //    Nach   Tafel_...  einfügen
  Datensatz = DerNeueDatensatz;        //  ++ ++  ++    wird wahrscheinlich nicht gebraucht
  //     ________________________________________________________
  //     dieDatensaetze   ist  in dieSeite.htm  mit
	//     <div  id="dieDatensaetze"  class="dieDatensaetze" onkeyup="pruefeTaste2(event)"> </div> 
	//     eingeführt.
	//     Weitere Bauanleitung:
  //     Für die Zeilen-Darstellung muß dazwischengehängt werden:
  //     Wand := <table>
  //     ________________________________________________________
	if (PlatzV)  fuegeEin(erzeugeDsBild(w, w.alleSpaltenV, DerNeueDatensatz, Flachheit, wasNoch), PlatzV);
  else         fuegeAn (erzeugeDsBild(w, w.alleSpaltenV, DerNeueDatensatz, "Tafel", wasNoch), dieDatensaetze); //  ++ ++ dieDatensaetze ist irgendwie doppelt; muß es nicht auch dieDatensaetzeV heißen?
  }
	//           function erzeugeDsBild( w, Spalten,            Datensatz,                 Flachheit,   wasNoch)   {        



//__________  f u e g e A n ( ) ,   f u e g e E i n  ( )   _______________
function fuegeAn(wasV, wohinV)  {
  wohinV.appendChild(wasV);
  }

function fuegeEin(wasV, wonachV)  {
  wonachV.parentNode.insertBefore(wasV, wonachV.nextSibling);
  }


function DatensatzDoppeln()  {
  // a lert("DatensatzDoppeln()");
  var Netzziel = "_DatensatzDoppeln.php?HeftNr=" + HeftNr + "&FadenNr=" +  DieDatensaetze[gemeinteDsNr].FadenNr;
  holeSkript(Netzziel);
  }

/*
Die Datensätze haben  d r e i  E b e n e n :

1. in der entfernten MySql-DB
   Verfahren --> 2. :  _hde_holeDatensaetze.php

2. im DOM-Hintergrund: FaedenV 
   Verfahren 
       --> 3.: zeigeDsBild

3. im DOM-Vordergrund: Table, div, ...
     Träger:
     Verfahren: 
       VerbirgDatensaetze()
       erzeugeDsBild(w,
       leereDsBild(window, window.FaedenV["F_112"]), 
*/


function loescheDatensatz__mit_w(w) {
  if (!gemeinteDsNr)  {
    var meldung = "Kein Datensatz ist ausgewählt -- bitte wählen Sie erst ";
    meldung    += "durch Klicken den zu löschenden Datensatz aus.";
    alert(meldung);
    return;    }

  Frage = "Wollen Sie diesen Datensatz Nr. " +  DieDatensaetze[gemeinteDsNr].FadenNr + "\n im Schuber Nr. " + DsSchuberNr + 
          " wirklich  u n w i e d e r b r i n g l i c h  löschen?";
  if (!confirm(Frage))
     return; 
  var Netzziel = "_loescheDatensatz.php?SchuberNr=" + DsSchuberNr + "&FadenNr=" +  DieDatensaetze[gemeinteDsNr].FadenNr;
  holeSkript(Netzziel);
  leereDsBild(window, window.FaedenV["F_"+ gemeinteDsNr]);
  //  delete window.DieDatensaetze["F_"+ gemeinteDsNr];
  //häääääää?  Es würde doch genügen, wenn ein einziges Datensatzbild gelöscht wird.
  delete w.DieDatensaetze[gemeinteDsNr];
  gemeinteDsNr='';
  }   //   E N D E   Verfahren  loescheDatensatz()

 function loescheDatensatz() {
  if (!gemeinteDsNr)  {
    var meldung = "Kein Datensatz ist ausgewählt -- bitte wählen Sie erst ";
    meldung    += "durch Klicken den zu löschenden Datensatz aus.";
    alert(meldung);
    return;    }

  Frage = "Wollen Sie diesen Datensatz Nr. " + DieDatensaetze[gemeinteDsNr].FadenNr + "\n im Schuber Nr. " + DsSchuberNr + 
          " wirklich  u n w i e d e r b r i n g l i c h  löschen?";
  if (!confirm(Frage))
     return; 
  var Netzziel = "_loescheDatensatz.php?SchuberNr=" + DsSchuberNr + "&FadenNr=" + DieDatensaetze[gemeinteDsNr].FadenNr;
  holeSkript(Netzziel);
  leereDsBild(window, window.FaedenV["F_"+ gemeinteDsNr]);
  //  delete window.DieDatensaetze["F_"+ gemeinteDsNr];
  //häääääää?  Es würde doch genügen, wenn ein einziges Datensatzbild gelöscht wird.
  delete DieDatensaetze[gemeinteDsNr];
  gemeinteDsNr = '';
  }   //   E N D E   Verfahren  loescheDatensatz()



      // wird aufgerufen von  loescheDatensatz()
      //                 und  _hde_holeDatensaetze.php
function erzeugeDsBilder(w)    {      //   wird aufgerufen von _hde_holeDatensaetze.php
// function zeigeDsBilder(w)    {
	setzeFdNr("");
  gemeinteDsNr = "";
  verbirgDatensaetze(w, 1);
  w.dieDatensaetzeV.innerHTML="";
	DatensatzNrn      = new Array();  //   die Nummern der Datensätze, für links, rechts, oben, unten
  w.DatenelementeV  = new Array();
  w.EintraegeV      = new Object();
  w.FaedenV         = new Object();
  w.InhaltelementeV = new Object();
// a lert("in erzeugeDsBilder");
  if (typeof(Flachheit)=='undefined')
	  Flachheit = "TafelHoch";
	  //  Flachheit = "Zeitung";         ////ßßß
	switch (Flachheit)          {
	  case "TafelHoch":         { artWand = "div"  ;  break;  }
		  //  wird eingehängt in den   Behälter für die Datensätze, also  div "dieDatensaetze"
		case "TafelHwenig":       { artWand = "div"  ;  break;  }
	  case "TafelBreit":        { artWand = "table";  break;  } 	  
	  case "Absatz":            { artWand = "div"  ;  break;  }
	  case "Zeitung":           { artWand = "div"  ;  break;  }
	  case "ZeitungMitSpalten": { artWand = "table";  break;  }
		case "DivsFlieszend":     { artWand = "div"  ;  break;  }
  	}  //  switch
  w.dieWandV = w.document.createElement(artWand); 	
  fuegeAn(w.dieWandV, document.getElementById('dieDatensaetze'));   //   was  wohin
  i_ = 0;   //  zählt die Datensätze
  //   ===  ===  ===   Hier werden die  Spalten-Überschriften  geschrieben     Spaltennamen, S p a l t e n n a m e n
  //   ===  ===  ===   Hier werden die  S p a l t e n - Ü b e r s c h r i f t e n  geschrieben
	if (Flachheit=="TafelBreit")  {   
		//   S p a l t e n ü b e r s c h r i f t e n   o b e n    Spaltenüberschriften oben:
	  SpaltenDatensatz = new Array();
	  for (spalteNr in DsSpalten) {
	    var spalte = DsSpalten[spalteNr];
      //  function holeSeite(welche, su_kette, quelle, jeSeite, ordneNach, auf_ab)  {    
			SpaltenDatensatz[spalte]  = spalte + "&nbsp;";
      SpaltenDatensatz[spalte] += "<a title = 'Ordne nach Spalte &#132;"+spalte+"&#147; aufsteigend' ";
			SpaltenDatensatz[spalte] += "href=javascript:holeSeite(1,'" + $('#Suchkette').val() + "','',";
		  SpaltenDatensatz[spalte] += $('#jeSeite').val() + ",'" + spalte + "','ASC')><img src=Bilder/OrdneAb.png></a>"; 
      SpaltenDatensatz[spalte] += "<a title = 'Ordne nach Spalte &#132;"+spalte+"&#147; absteigend' ";      
			SpaltenDatensatz[spalte] += "href=javascript:holeSeite(1,'" + $('#Suchkette').val() + "','',";
		  SpaltenDatensatz[spalte] += $('#jeSeite').val() + ",'" + spalte + "','DESC')><img src=Bilder/OrdneAuf.png></a>"; 
			//  Immer die 1. Seite --> wahrschau, Sendgrößen auch für S. 2!!
	    }
		SpaltenDatensatz["FadenNr"] = "FadenNr";      SpaltenDatensatz["HeftNr"] = "HeftNr";
		erzeugtesBild = erzeugeDsBild(w, DsSpalten, SpaltenDatensatz, Flachheit,   wasNoch); 
//  erzeugtesBild.style.cssText += "background:#ff0";       //   geht vermutlich nicht
//  erzeugtesBild.style.cssText += "cellspacing:30px";       //   geht vermutlich nicht
		
		fuegeAn(erzeugtesBild, w.dieWandV);
		
	  for (spaltee in DsSpalten)
	     SpaltenDatensatz[DsSpalten[spaltee]] = "<img src=Bilder/leer1px.gif>";
    fuegeAn(erzeugeDsBild(w, DsSpalten, SpaltenDatensatz, Flachheit,   wasNoch), w.dieWandV);   }
	for (dsnr in DieDatensaetze) {       // . . . DieDatensaetze numerieren sich bei ihrer Erzeugung selbst durch, oder??? _hde ...
    DieDatensaetze[dsnr]["i"] = i_++;
	  DatensatzNrn.push(dsnr); //  damit man den nächsten oder vorigen Datensatz finden kann
    //   fuegeAn(erzeugeDsBild(....     erzeugt die einzelnen Datensätze-Spalten (TafelBreit) bzw. Datensätze-Tafeln (wenn 'Tafelhoch)
    fuegeAn(erzeugeDsBild(w, parent.DsSpalten, DieDatensaetze[dsnr], Flachheit,   wasNoch), w.dieWandV);
		}
  //   Versuchsanfang:      w.dieDatensaetzeV = w.dieDatensaetzeV1;
  dieSpalten = parent.DsSpalten;
  //   ===  ===  ===  ===  ===  Hier werden die  Spalten-Überschriften  geschrieben --->  untendrunter
	if (Flachheit=="TafelBreit")  {   
	  for (spaltee in DsSpalten)
	     SpaltenDatensatz[DsSpalten[spaltee]] = "<img src=Bilder/leer1px.gif>";
//    fuegeAn(erzeugeDsBild(w, DsSpalten, SpaltenDatensatz, Flachheit,   wasNoch, "class=Spaltenueberschriften"), w.dieWandV);
		//   S p a l t e n ü b e r s c h r i f t e n   u n t e n    Spaltenüberschriften unten:
	  SpaltenDatensatz = new Array();
	  for (spaltee in DsSpalten)
	     SpaltenDatensatz[DsSpalten[spaltee]] =       + DsSpalten[spaltee]         ;
	   //SpaltenDatensatz[DsSpalten[spaltee]] = '<b>' + DsSpalten[spaltee] + '</b>';
	  SpaltenDatensatz["FadenNr"] = "FadenNr";      SpaltenDatensatz["HeftNr"] = HeftNr;
		erzeugtesBild = erzeugeDsBild(w, DsSpalten, SpaltenDatensatz, Flachheit,   wasNoch, "", "dunkler"); //  nötig für Spaltenüberschrift bei TafelBreit
    //     erzeugtesBild.style.cssText += "background:#f60;";   //   hat offenbar keinen Einfluß
		fuegeAn(erzeugtesBild, w.dieWandV); 
 	} }

 
/*
function zeigeDsBild(w, wasNoch)    {
  var j_bis=w.alleSpaltenV.length;
  leereDsBild(w, w.wirdFadenBedientV);
  wasNoch = "Wortlaut__NEEE";
  fuelleDsBild(w, w.alleSpaltenV, j_bis, w.Datensatz, w.wirdFadenBedientV, Flachheit, wasNoch);
  }        */
 
 
//////// =============   stellt  ein Datensatz-Bild (noch ohne Spalten) her
function erzeugeDsBild( w, Spalten,            Datensatz,                 Flachheit,   wasNoch, Klasse, dunkler)   {
  // a lert("erzeugeDsBild, Flachheit: " + Flachheit);
	/* 4 Stufen "Flachheit":
	-- 1. "Tafel":        Tabelle, linke Spalte, rechte Spalte
	-- 4. "Zeilentafel":  Tabelle, waagerechte Zeilen   
	-- 2. "Tafel_wenig":  Tabelle, nur Bild
	-- 3. "Buch ":        keine Tabelle, nur span (z.B. für Bücher)
	*/
  switch (Flachheit)  {
	  case "TafelHoch":  {
    //artWand      = "div";     //   siehe oben
		  artDs           = "table";   //   artTable     Datensatz
			artSpNameUndInh = "tr";      //   Spaltenbezeichner, Spalteninhalt
			artSpName       = "td";      //   artTd     Spaltenbezeichner bzw. Spalte
			artSpInh        = "td";      //   artTd     Spaltenbezeichner bzw. Spalte
			break;  }
	  case "TafelBreit":  {
      artDs           = "tr";      //   Datensatz
			artSpNameUndInh = "";        //   Spaltenbezeichner, Spalteninhalt
			artSpName       = "";        //   artTd     Spaltenbezeichner bzw. Spalte
			artSpInh        = "td";      //   artTd     Spaltenbezeichner bzw. Spalte
		  break;  } 	 
		case "TafelHwenig":  {
      artDs           = "table";   //   Datensatz
			artSpNameUndInh = "tr";      //   Spaltenbezeichner, Spalteninhalt
			artSpName       = "";        //   artTd     Spaltenbezeichner bzw. Spalte
			artSpInh        = "td";      //   artTd     Spaltenbezeichner bzw. Spalte
			break;  }
	  case "Absatz":       {
			artDs           = "div";
			artSpNameUndInh = "";         //  Spaltenbezeichner, Spalteninhalt
			artSpName       = "";         //  /*artTd   */  Spaltenbezeichner bzw. Spalte
			artSpInh        = "span";     //  /*artTd   */  Spaltenbezeichner bzw. Spalte
		  break;  }
	  case "Zeitung":       {         //     ...  holeAuszeichnungen(HeftNr."Zeitung")
			artDs           = "div";
			artSpNameUndInh = "";         //  Spaltenbezeichner, Spalteninhalt
			artSpName       = "";         //  /*artTd   */  Spaltenbezeichner bzw. Spalte
			artSpInh        = "div";      //  /*artTd   */  Spaltenbezeichner bzw. Spalte
		  break;  }
 	  case "ZeitungMitSpalten":    {        //     ...  holeAuszeichnungen(HeftNr."Zeitung")
      artDs           = "table";   //   artTable     Datensatz                                    
			artSpNameUndInh = "tr";      //   Spaltenbezeichner, Spalteninhalt                          
			artSpName       = "td";      //   artTd     Spaltenbezeichner bzw. Spalte                   
			artSpInh        = "td";      //   artTd     Spaltenbezeichner bzw. Spalte                   
		  break;  }
		case "DivsFlieszend":  {
      artDs           = "div";     //   Datensatz
			artSpNameUndInh = "";        //   Spaltenbezeichner, Spalteninhalt
			artSpName       = "";        //   artTd     Spaltenbezeichner bzw. Spalte
			artSpInh        = "div";     //   artTd     Spaltenbezeichner bzw. Spalte
			break;  }
 
	  }
  //   hier in =====  function erzeugeDsBild() ==================         		   
  //   hier in function erzeugeDsBild()          		   
  var Datenelement=new Object();  // Datensatzding??  ... dann muß die Wand noch weiter oben übergeordnet werden?
  Datenelement.Ds=w.document.createElement(artDs);
  Datenelement.Ds.setAttribute("width","100%");    //\\  Das sind die Datensatz-Behälter für TafelHoch; bei TafelBreit nicht.
//  if (dunkler=="dunkler")
	    //  Datenelement.Ds.style.cssText+="background:#f84";   //  Hintergrund für den Behälter, in dem dann auch die kleine Werkzeugleiste erscheint
	    Datenelement.Ds.style.cssText+="border:#787 solid 1px";
  Datenelement.Ds.setAttribute("cellpadding",8);      //  Dies hat  KEINEN Einfluß
  Datenelement.Ds.style.cssText+="margin-top:6px; ";  //  DIES HAT EINFLUß auf den Datensätzeabstand  
	                                                    //  aber nicht bei TafelBreit   A b s t a n d  Abstand
  if (Flachheit == "DivsFlieszend") {
	  Datenelement.Ds.style.cssText += "float:left; ";  //  für Buchabbildungen, Bilder, ...
	  Datenelement.Ds.style.cssText += "margin:4pt ";  
		}
  Datenelement.Ds.setAttribute("cellspacing",0);
  var FadenNr = Datensatz['FadenNr'];        //  was steht da drin? ?? ?? ??
  var DsNr    = Datensatz['DsNr'];           //  was steht da drin? ?? ?? ??   ///  kommt wohl aus _hde_ ...??
	                                           //  dort:   echo "DsNrWisser['$fadennr']['DsNr'] = $DsNr;\n";
  Datenelement.Ds.setAttribute("id", "Tafel_"+DsNr);
  Datenelement.Ds.setAttribute("onClick","waehleDieseTafel("+DsNr+");");
  //&  if (artDs2      != '')  
	//&  Datenelement.Ds2 = w.document.createElement("div");  //  z.B.  tbody
  
	
	  //       HÄ, KopfTr ? ? ? ? 
  //  if (artSpNameUndInh!= '')  
	//99 99     
	Datenelement.KopfTr=w.document.createElement("div");  // oder  tr -- Das ist in TafelBreit das kleine Ding vor der Zeile
  Datenelement.KopfTd=w.document.createElement(artSpInh); //  linke Spalte: td1
  //?????  2008-08-06     Datenelement.KopfTd.setAttribute("colspan",2);
  Datenelement.KopfTd.style.cssText="padding:0px";
  //  if (artDs2      != '') {
	Datenelement.Ds.appendChild(Datenelement.KopfTr);  
  Datenelement.KopfTr.appendChild(Datenelement.KopfTd);
	// }                                                  
  //_________   Wenn es FaedenV noch nicht gibt, muß da erst was geschehen
  //  w.FaedenV         = new Object();
	
	
	//_________   Wenn es FaedenV noch nicht gibt, muß da erst was geschehen
  //  w.FaedenV         = new Object();
  w.FaedenV["F_"+DsNr]=Datenelement;    // F_  für Faden
  // _ _ _ _ _ _ _ _ _ _ _ _ _ _
  Datenelement.FadenNr=FadenNr;
  Datenelement.DsNr=DsNr;               //  ????????????  *** *** *** ***           //   td    r e c h t e  Spalten  d a n n  in fuelleDsBild(), siehe unten
  Datenelement.DatensatzNr=w.DatenelementeV.length;
  //________fülle das Bild: _______________
  wasNoch = "Wortlaut_Nooe";
  fuelleDsBild(w, Spalten, Datensatz,  Datenelement, Flachheit, wasNoch, Klasse, dunkler);
  return Datenelement.Ds;
  }   //   ENDE des Verfahrens  erzeugeDsBild( )    
      //                        =============___


  
       //  Eintrag
       //  Eintraege
       //  Datenelement
       //  Datenelemente     gibt es nicht!
       //  DatenelementeV

       //    n e u    2008-08-06   
function fuelleDsBild (w, Spalten,  DatensatzFUELLE,   DatenelementFUELLE, Flachheit, wasNoch, Klasse, dunkler)    {   
       //============ __________________________________________________________________________________
/*   wird aufgerufen von
function erzeugeDsBild( w, Spalten,             Datensatz,                 Flachheit, wasNoch)  */
			 //             w  --  window              Spalten  --  wo kommen die her?
       // in    j_bis__  --  Spaltenzahl???     DatensatzFUELLE --  bringt die Daten mit
       //  DatenelementFUELLE  --  Eintrag  wird gebaut und schließlich bei  Datenelement.Eintraege  eingehängt
  var FadenNr = DatenelementFUELLE.FadenNr;
	switch (HeftNr) {  
    case 68: var aeFarbe = "444444"; break;   // - - Farben für das Ändern mit  ä :  
    case 71: var aeFarbe = "fffff2"; break;
    case 72: var aeFarbe = "ffffff"; break;
    default: var aeFarbe = "dd9966"; break;   }

//ß debugger;
  DatenelementFUELLE.Eintraege=new Array();
  //Spalten = Spalten0;
  //Spalten.push(wasNoch);
  //                   ****************** * * * * *   schön:   alert ("Spalten: " + Spalten.join(":"));
  
	for (FeldnameNr in Spalten)  {
    Feldname = Spalten[FeldnameNr];
		SpName   = Spalten[FeldnameNr];
    // alert("Feldname: " + Feldname + ";  FeldnameNr: " + FeldnameNr);
    if (ganzflach && Feldname != "Bild")    //  ganzflach: nur die Nutzspalte "Bild" soll gezeigt werden.
      continue;
    var SpNameCss  = w.AuszeichnungenV["_"].SpNameCss;         //   voreingestellter Stil, siehe _holeAuszeichnungen.php
    var SpInhCss   = w.AuszeichnungenV["_"].SpInhCss;
    var SpNameHtml = w.AuszeichnungenV["_"].SpNameHtml;
    var SpInhHtml  = w.AuszeichnungenV["_"].SpInhHtml;
    if (typeof(w.AuszeichnungenV[Feldname])             !="undefined")   {
      if (typeof(w.AuszeichnungenV[Feldname].SpNameCss) !="undefined")
          SpNameCss = w.AuszeichnungenV[Feldname].SpNameCss;
      if (typeof(w.AuszeichnungenV[Feldname].SpInhCss)  !="undefined")
          SpInhCss = w.AuszeichnungenV[Feldname].SpInhCss;
      if (typeof(w.AuszeichnungenV[Feldname].SpNameHtml)!="undefined")                 //   --  hier vermutlich nicht
         SpNameHtml = w.AuszeichnungenV[Feldname].SpNameHtml.replace(/FadenNr/g, 999); // für zeigeDateizeile
      if (typeof(w.AuszeichnungenV[Feldname].SpInhHtml)!="undefined")
         SpInhHtml=w.AuszeichnungenV[Feldname].SpInhHtml;
      }
    var Eintrag=new Object();
    var Kennung = Spalten[FeldnameNr]+"_"+DatensatzFUELLE['HeftNr']+"_"+DatensatzFUELLE['FadenNr']; 
		Eintrag.kenner=Kennung;
    if (artSpNameUndInh != '')         //&//    l a s s e n ! !
		  Eintrag.SpNameUndInh = w.document.createElement(artSpNameUndInh); // tr
    //else
		//\\//  Eintrag.Ds = w.document.createElement(artDs);         // tr
    if (artSpName != '')  {
  	//=====.======   hier entsteht  E i n t r a g . S p N a m e
		Eintrag.SpName  = w.document.createElement(artSpName);      // td  linke Spalte           l i n k e    s p a l t e    t d 
      Eintrag.SpName.className = "SpaltenHg1L";         //  Voreinstellung für alle Fälle ...
			} 
    //Eintrag.td1.style.cssText="width:800; min-width:800;";
    Eintrag.SpInh     = w.document.createElement(artSpInh);       // td  rechte Spalte: td2     r e c h t e   S p a l t e   t d 2 
    Eintrag.SpInh.setAttribute("id",  Kennung  );                 //  id =   id=  .id           k e n n e r 
    if (DatensatzFUELLE['darfAendern'])                                                                        //||   siehe   --v
       Eintrag.SpInh.setAttribute("onDblClick", "aendern(this.id)");              //                              k e n n e r 
    Eintrag.SpInh.className = "SpaltenHg1R";    //    ... für  "alleSpalten"
    //bj  if (HeftNr==34)  {
    //bj    Eintrag.td1.className   = "SpaltenHg1L MauszeigerHand";     //  ... für Lieder ...
    //bj    Eintrag.td2.className   = "SpaltenHg1R MauszeigerHand";
    //bj    }

    if (Feldname == "Ueberschrift") {                 //   fraglich
      if (artSpName != '')                            //   fraglich
        Eintrag.SpName.className = "SpaltenHg2L";     //   fraglich
      Eintrag.SpInh.className = "SpaltenHg2R"; }      //   fraglich
    try { Eintrag.SpName.className = Klassen['linkeAbteilung']['alleSpalten'];            } catch(e) { }
    try { if (stN = Klassen['linkeAbteilung'][Feldname])  Eintrag.SpName.className = stN; } catch(e) { }
    try { Eintrag.SpInh.className = Klassen['rechteAbteilung']['alleSpalten'];            } catch(e) { }
    try { if (stN = Klassen['rechteAbteilung'][Feldname]) Eintrag.SpInh.className  = stN; } catch(e) { }
    ////ßßßß kann vermutlich zusammengefaßt werden, stN ist vermutlich nicht nötig
		
    //  Eintrag.td2.className = "rechteAbteilung";
    Eintrag.Ueberschrift=w.document.createElement("span");
//  if (0 && 0 || /* ????? */  DatensatzFUELLE["darfAendern"])  {      ///   "darfAendern"  oder so ähnlich           //||  siehe   --^
//    Eintrag.aendern=w.document.createElement("span");
//    Eintrag.aendern.innerHTML=' &nbsp; <a href="javascript:aendern(' + "'" + Kennung + "'" + ' );" style="color:#' + aeFarbe + ';">&auml;</a>';
//    }
//  else {
      Eintrag.aendern=false;
//    }
//    if (dunkler=="dunkler")                   //    das klappt ja schon fast für die unterste Spaltennamen-Zeile!!!
//		   Eintrag.SpInh.style.cssText+="background:#aca";   //  der überschreibt offenbar den Hintergrund
    Eintrag.Inhalt=w.document.createElement("span");

                                   // td1Html
    Eintrag.Ueberschrift.innerHTML  = SpNameHtml.replace(/,,/g, Spalten[FeldnameNr]);
    var inhalt=SpInhHtml;
    inhalt=inhalt.replace(/,,/g, DatensatzFUELLE[Feldname]);
    inhalt=inhalt.replace(/&plus;/g, "+");
    if (Feldname=="Wortlaut" && HeftNr==44)   {
		  inhalt = inhalt.replace(/,/g, ", ");
			}
    if (Feldname=="Eintragdatum") {
      if (inhalt > 1000)
        inhalt = formeZeit(inhalt);
				if (Flachheit != "TafelBreit")
				  inhalt = inhalt.replace(/<br>/g, " ");  //  Datum kommt in 1 Zeile statt 4
      }
    if (Feldname=="Wortlaut" && HeftNr==44 && inhalt.match("##")  ) {   //  Sokoban == Kistenschieben
      inhalt = inhalt.replace(/<br>/g, "\n");
      inhalt = inhalt.replace(/\$/g, "H");
      inhalt = inhalt.replace(/\*/g, "M");
      inhalt = inhalt.replace(/@/g , "O");
      inhalt = inhalt.replace(/\+/g, "Q");
      inhalt = inhalt.replace(/\|\s*/g, "\n");
      inhalt = "<xmp>" + inhalt + "</xmp>";
      }


//siehe auch   function  aendern()   und   function absenden();
    //     u n d   die PHP-Skripte    _holeDatensatz.php ? ? ?
    Eintrag.Inhalt.innerHTML=inhalt;
    Eintrag.Textinhalt=DatensatzFUELLE[Feldname];  //  Speicherplatzverbraucher
    w.EintraegeV[Kennung]=Eintrag;    //  Hier wird offenbar EintraegeV zu einer Liste gemacht, 
                                      //  in die ein DatensatzFUELLE eingehängt wird. Kennung enhält FadenNr

    if (artSpName != '') 
      Eintrag.SpName.style.whiteSpace="nowrap";
    if (artSpNameUndInh != '')
		  DatenelementFUELLE.Ds.appendChild(Eintrag.SpNameUndInh);       //  war: Eintrag.tr
    else  {
		  try  { DatenelementFUELLE.Ds.appendChild(Eintrag.SpName); }  catch(e)  { }  
		  DatenelementFUELLE.Ds.appendChild(Eintrag.SpInh); 
			}
                                 //  Wenn der Datensatz in einer waagerechten Tabellenzeile 
		if (artSpNameUndInh != '')   //  ist, dann keine Überschrift innerhalb der Zeile
      if (artSpName != '') 
        Eintrag.SpName.appendChild(Eintrag.Ueberschrift);        //   vermutlich Spaltenname
      Eintrag.SpInh.appendChild(Eintrag.Inhalt);                //   vermutlich Spalteninhalt

    if (Eintrag.aendern) {
      if (artSpName != '') 
        Eintrag.SpName.appendChild(Eintrag.aendern); 
      }

    DsNr = DatensatzFUELLE.DsNr;         //   DsNr muß bekannt sein!!

    try {
     if (parent.davor.linkeAbteilung[Feldname])  {
       if (Flachheit = "Zeitung")  {
			   Eintrag.SpName.innerHTML  = parent.davor.linkeAbteilung[Feldname] +  Eintrag.SpName.innerHTML;
	 			 Eintrag.SpName.innerHTML += parent.danach.linkeAbteilung[Feldname];
				 }
		   else  {
			   Eintrag.davorLINKS = w.document.createElement("span");             //   für  zeigeDateizeile()
         Eintrag.davorLINKS.innerHTML = parent.davor.linkeAbteilung[Feldname].replace(/DsNr/g, DsNr);;
         Eintrag.SpName.insertBefore(Eintrag.davorLINKS, Eintrag.SpName.firstChild);  }
       } }   catch(e)  {  }
    try {
     if (parent.danach.linkeAbteilung[Feldname])  {
      Eintrag.danachLINKS = w.document.createElement("span");
      Eintrag.danachLINKS.innerHTML = parent.danach.linkeAbteilung[Feldname].replace(/DsNr/g, DsNr);
      Eintrag.SpName.appendChild(Eintrag.danachLINKS);  }
      }   catch(e)  {  }
    try {
     if (parent.davor.rechteAbteilung[Feldname])  {
       if (Flachheit.match(/Zeitung/))  {
			   Eintrag.SpInh.innerHTML  = parent.davor.rechteAbteilung[Feldname] +  Eintrag.SpInh.innerHTML;
	 			 Eintrag.SpInh.innerHTML += parent.danach.rechteAbteilung[Feldname];
				 }
		   else  {
        Eintrag.davorRECHTS = w.document.createElement("span");
        Eintrag.davorRECHTS.innerHTML = parent.davor.rechteAbteilung[Feldname].replace(/DsNr/g, DsNr);
        Eintrag.SpInh.insertBefore(Eintrag.davorRECHTS, Eintrag.SpInh.firstChild);  }
      } }   catch(e)  {  }
    try {
     if (parent.danach.rechteAbteilung[Feldname])  {
      Eintrag.danachRECHTS = w.document.createElement("span");
      Eintrag.danachRECHTS.innerHTML = parent.danach.rechteAbteilung[Feldname].replace(/DsNr/g, DsNr);
      Eintrag.SpInh.appendChild(Eintrag.danachRECHTS);   }
      }   catch(e)  {  }
    //_____ anhängen ... ___
    if (!ganzflach)
		  if (artSpNameUndInh != '')                 //   könnte weiter oben stehen???
        if (artSpName != '') 
          Eintrag.SpNameUndInh.appendChild(Eintrag.SpName);     //   könnte weiter oben stehen???
	    else
        if (artSpName != '') 
          DatenelementFUELLE.Ds.appendChild(Eintrag.SpName);

//ßß
//..      if (dunkler=="dunkler")   {                //    das klappt ja schon fast für die unterste Spaltennamen-Zeile!!!
//..        farbe = Eintrag.SpInh.style.backgroundColor; 
        //  alert("farbe: " + farbe);
       // alert(Eintrag.SpInh.style.cssText);
//..    		Farbe2 =dunklerF(farbe, 30);
//  		alert(farbe2);
//..        Eintrag.SpInh.style.cssText+="background:" + dunklerF(farbe, 12);   //  der überschreibt offenbar den Hintergrund
//      Eintrag.SpInh.style.cssText+="background:rgb(255,220,44)";  } //  der überschreibt offenbar den Hintergrund
//..        }

    if (artSpNameUndInh != '')                               //   könnte weiter oben stehen???
      Eintrag.SpNameUndInh.appendChild(Eintrag.SpInh);       //   könnte weiter oben stehen???
	  else
      DatenelementFUELLE.Ds.appendChild(Eintrag.SpInh);
    DatenelementFUELLE.Eintraege.push(Eintrag);  
 } //  for (FeldnameNr in Spalten)  {
  }  //   Verfahren  fuelleDsBild()   n  e  u     E N D E



function dunklerF(farbeRgb, wieviel)  {
  Ff = farbeRgb.split("(")[1].split(")")[0].split(",");        
  f3 = "rgb("+du1(Ff[0],wieviel)+", "+du1(Ff[1],wieviel)+", "+du1(Ff[2],wieviel)+")";    
  return f3;   }  

function du1(farbe1, wieviel)  {
   f = Math.min(255, parseInt(farbe1) - wieviel);
   f = Math.max(  0, f);
  return f;
  }





function flach_umschalten()   {
  ganzflach = ganzflach ? 0 : 1 ;
      Flachheit =     Flachheit ? 0 : 1 ;   }
 

function holeDatensatzBegriff(w, fadenNr)    {
  //Liste.dazu(Begriff);
  holeSkript("_holeDatensatzBegriff.php?FadenNr=" + fadenNr + "&SchuberNr=17&HeftNr=29");
  }

function holeDatensatzBegriff2(w, fadenNr)    {
  //Liste.dazu(Begriff);
  holeSkript("_holeDatensatzBegriff2.php?FadenNr=" + fadenNr + "&SchuberNr=44&HeftNr=77");
  }

function holeBegriff(Begriff, ob)    {       // ob: 0 oder 1
  if ((ob&0x01)==0x01)   //  0x01 ist hexadezimal für 1
    Liste.dazu(Begriff);
  holeSkript("_holeDatensatzBegriff.php?Begriff=" + Begriff + "&SchuberNr=44&HeftNr=77");
  }


//____________________________________________________________________________
function holeBegriff2()    {      //  wofür ist  d i e  denn?
  LiesBegriffV = document.getElementById("LiesBegriff");   // LiesBegriff ist das Textfenster für "hole"
  Begriff = LiesBegriffV.value;
  Liste.dazu(Begriff);
  holeSkript("_holeDatensatzBegriff.php?Begriff=" + Begriff + "&SchuberNr=44&HeftNr=77");
  }

//____________________________________________________________________________



//////// ====================
function zeigeDatensatzBegriff(w)   {
  //BegriffefeldV = w.document.getElementById("Begriffefeld");
  window.BegriffefeldV.innerHTML = "w a r t e n . . . ";
  window.BegriffefeldV.innerHTML = dasBegriffefeld + "<br>";
  }


//////// ====================
function zeigeDatensatzBegriff2(w)   {
  //  a lert("jetzt: zeigeDatensatzBegriff2 MMMMMMMMMMMMMMMMMM ");
  //BegriffefeldV = w.document.getElementById("Begriffefeld");
  window.Begriffefeld2V.innerHTML = "w a r t e n . . . ";
  window.Begriffefeld2V.innerHTML = dasBegriffefeld2 + "<br>";
  }


function zeigeDatensatzAuswahl(w, wasNoch)    {
  var j_bis=w.DsSpalten.length-4;
  leereDsBild(w, w.wirdFadenBedientV);
  wasNoch = "WortlautYYY";
  fuelleDsBild(w, w.DsSpalten, /*j_bis, */ w.DieDatensaetze[w.wirdFadenBedientV.DatensatzNr], w.wirdFadenBedientV, Flachheit, wasNoch);
  }

//////// = = = = = = = =   //////////////////
function zeigeDatensatz(w, dsnr, welcheSpalten, wasNoch)    {
//  debugger;
//  if (typeof(wasNoch) != 'undefined' && wasNoch != '')
//    welcheSpalten.push("Wortlautyyy");       //   Wortlautyyy
  // a lert("zeigeDatensatzAlles(); dsnr: " + dsnr );
  var j_bis=w.alleSpaltenV.length;
  w.gemeintesDingV = FaedenV["F_"+dsnr];
  
//\\// .......................  
  leereDsBild(w, w.gemeintesDingV);
//function                                          w a s      w o h i n
//fuelleDsBild(w,       Spalten,  Datensatz, Datenelement       )    {
  wasNoch="WortlautZZZ";
  fuelleDsBild(w, welcheSpalten,  dieserDatensatz, w.gemeintesDingV, Flachheit, wasNoch);
//                                         a h a ,   dieserDatensatz   wird aus dem PHP-Skript übergeben
  }



var i3 = 0;
var ww2geholt = 0;

// _____________________  Heftweiser2 (rechts von "Gefunden:")  ________________
function nenneHeft()  {
  return true;
  }

function nenneHeft_lahmgelegt_2007_10_21()  {
  inHeftV.innerHTML="in <span style='color:#888888;font-weight:bold;text-decoration:underline'>"; 
  //     "onMouseOver='javascript:zeigeHeftweiser2()' " 
  //     "onMouseOut='javascript:verbirgHeftweiser2()' " 
  inHeftV.innerHTML+="Heft</span> ";
  inHeftV.innerHTML+="<span style='color:#555555'>" + HeftNr + "</span> ";
  inHeftV.innerHTML+="<a href='javascript:opener.zeigeHeftweiser2();' style='font-size:9'>Hw</a>";
  }


function zeigeHeftweiser2(w)  {
  fw.document.getElementById("Heftweiser2").innerHTML = "<img src='Bilder/Uhr.gif'>";
  nenneHeft();
  // holeSkript("_holeHeftweiser2.php?nix="+i3); 
  // j a u l !! Solche Sendgrößenübergabe mag holeSkript nicht!!!
  var Skriptname = "_holeHeftweiser2.php?HeftNr="+HeftNr+"&ordneNach=Name&jeSeite="+jeSeite;
  holeSkript(Skriptname);
  }

function vonHeftweiser2()  {
  // a lert("Heftweiser2.value: " + document.getElementById("derHeftweiser2").value);
  var wert = document.getElementById("derHeftweiser2").value;
  if (Funde = wert.match(/nach (.*)/)) {      //  z.B.  (ordne den Heftweiser2) "nach Heftname"
    document.getElementById("Heftweiser2").innerHTML = "<img src=Bilder/Uhr.gif>";
    var Skriptname = "_holeHeftweiser2.php?HeftNr="+HeftNr+"&ordneNach="+Funde[1]+"&jeSeite="+jeSeite;
    holeSkript(Skriptname);
    return;   }
  holeHeft(wert);       //  wert == HeftNr
  }

function verbirgHeftweiser2(w)  {
  if (unfrisch)  {
    document.getElementById("inHeft").innerHTML ="Heftttt";
    delete unfrisch;
  } }


//=================  Umschalten des Suchenteiles  klein <--> groß  =================


function liesHeftNr___Fragezeichen()  {
  //    document.location.search enthält vom Netzziel das erste Fragezeichen und alles danach;
  //    siehe http:de.selfhtml.org   ---> js, location
  Ergebnis = document.location.search.match(/\?HeftNr=(\d*)/);
  HeftNr = Ergebnis[1];
  dieHeftNr = HeftNr;
  // a lert("HeftNr: " + HeftNr);
  }

function erzeugeSuchenteilKlein1()  {
  }
 
function erzeugeSuchenteilKlein1__WEEENIG()  {
  window.SuchenteilKlein1V=document.createElement("span");
  Suchenteil_klein  = "<form action='javascript:f.holeSeite(1, document.getElementById(\"Suchkette\").value)'>"
  Suchenteil_klein += "<a href='javascript:f.Suchenteil_umschalten(\"LupeMitte\")'>";
  Suchenteil_klein += "<img src='Bilder/SuchfeldGroSz.gif' title='Such- und Anzeigeschaltfeld ausf&uuml;hrlich' border=0></a> &nbsp;"; 
  Suchenteil_klein += "<input type=text size=24 name=Suchkette id=Suchkette>";
  Suchenteil_klein += "<input type=submit value=tu>";
  Suchenteil_ist_klein=0;
  SuchenteilKlein1V.innerHTML=Suchenteil_klein;
  }
 
function erzeugeSuchenteilKlein1__GUUUT()  {
  window.SuchenteilKlein1V=document.createElement("span");
  Suchenteil_klein  = "<form action='javascript:f.holeSeite(1, document.getElementById(\"Suchkette\").value)'>"
  Suchenteil_klein += "<a href='javascript:f.Suchenteil_umschalten(\"LupeMitte\")'>";
  Suchenteil_klein += "<img src='Bilder/SuchfeldGroSz.gif' title='Such- und Anzeigeschaltfeld ausf&uuml;hrlich' border=0></a> &nbsp;"; 
  Suchenteil_klein += "<INPUT type=hidden name=HeftNrSk id=HeftNrSk value='" + HeftNr + "'>"
  Suchenteil_klein += "<input type=hidden name=HeftNr id=HeftNr value='" + HeftNr + "'>"
  Suchenteil_klein += "<input type=hidden name=heftNr id=HeftNr value='" + HeftNr + "'>"
  Suchenteil_klein += "<input type=hidden value='thread_order' name=action>"
  Suchenteil_klein += "<input type=hidden name=suchen_Zeilen value=1>"
  Suchenteil_klein += "<input type=hidden name=suchen_klein value=1>"
  Suchenteil_klein += "<input type=text size=24 name=Suchkette id=Suchkette>";
  Suchenteil_klein += "<input type=hidden name=wieTrennen value='JS'>"; 
  Suchenteil_klein += "<a href='javascript:f.holeSeite(1, document.getElementById(\"Suchkette\").value)'><img src='Bilder/suchen.gif' title='Suche absenden' border=0></a></form>";
  Suchenteil_ist_klein=0;
  SuchenteilKlein1V.innerHTML=Suchenteil_klein;
  }

function erzeugeSuchenteilKlein2()  {
  window.SuchenteilKlein2V=document.createElement("span");
  Suchenteil_klein  = "<a href='javascript:f.Suchenteil_umschalten(\"erzeugeSuchenteilKlein2\")'>";
  Suchenteil_klein += "<img src='Bilder/SuchfeldKlein.gif' title='Suchzeile einfach' border=0></a>"; 
  SuchenteilKlein2V.innerHTML=Suchenteil_klein;
  }

 
function Suchenteil_umschalten(vonwo)  {
  //berichte(1, "Suchenteil_umschalten()", "vonwo:", vonwo, "#252");
  Bedienquelle = "SuchenteilKlein";
  nenneBedienquelle("Suchenteil_umschalten", "a50");
  Suchenteil_ist_klein = 1;
  if (Suchenteil_ist_klein)  {
    // mach es groß
    Bedienquelle = "SuchenteilGroSz";
    nenneBedienquelle("Suchenteil_umschalten", "e50");
    try { window.SuchenteilKleinPlatzV.removeChild(SuchenteilKlein1V); }  catch (ff)  { }
    try { window.SuchenteilKleinPlatzV.appendChild(SuchenteilKlein2V); }  catch (ff)  { }
    Suchenteil_ist_klein=0;
    if (typeof(window.parent.SuchenteilGroSzV) == "undefined")   {   // falls noch nicht geholt
      window.SchuberweiserV   = document.getElementById("Schuberweiser");
      window.Heftweiser1KgV   = document.getElementById("Heftweiser1Kg");
      window.SqlFeldV         = document.getElementById("SqlFeld");
      window.SuchenteilGroSzPlatzV.innerHTML="<div id='SuchenteilUhr'><img src='Bilder/Uhr.gif'></div>";
      parent.SuchenteilGroSzV  = document.createElement("div");
      HeftNrHierfuer = ( typeof(dieHeftNr) !="undefined" ? dieHeftNr : HeftNr );   
                 // dieHeftNr kommt vom Wegweiser; HeftNr aus der Netzzielzeile
      //berichte(1, 1,1,1,1);
      Skriptname = "_holeSuchenteilGroSz.php?HeftNr=" + HeftNrHierfuer + dieCGI_SendgroeSzen();
      holeSkript(Skriptname);
      //berichte(1, 2,2,2,2);
      window.SuchenteilGroSzV.onClick = "javascript: alert('yyy')";
      window.SqlFeldV = document.getElementById("SqlFeld");
      }
    window.SuchenteilGroSzPlatzV.appendChild(window.SuchenteilGroSzV);
    setzeSqlKetteNeu('Suchenteil_umschalten(' + vonwo + ')');
    fw.document.getElementById("SuchenteilUhr").innerHTML = "";
    }
  else  {
    // mach es klein
    // a lert("Suchenteil _ u m s c h a l t e n ,  ist groß oder noch nicht da; mach es klein");
    try { window.SuchenteilGroSzPlatzV.removeChild(SuchenteilGroSzV);  }  catch (ff)  { }
    try { window.SuchenteilKleinPlatzV.removeChild(SuchenteilKlein2V); }  catch (ff)  { }
    try { window.SuchenteilKleinPlatzV.appendChild(SuchenteilKlein1V); }  catch (ff)  { }
    Suchenteil_ist_klein=1;
    }
  }

function formeZeit(zeit)  {
  Wochentage = "Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Sonnabend Sonntag".split(" ");
  var z = new Date(zeit*1000);
  var Z = Wochentage[z.getDay()] + ",<br>";
	min = (z.getMinutes()<10 ?  "0"+z.getMinutes() : z.getMinutes()) ;
  Z += z.getDate()  + "." + (1+z.getMonth())   + "." + z.getFullYear() + "<br>";
  Z += z.getHours() + ":" + min            + "<br>";
  return Z;
  }






//Suchenteil  ist nicht wirksam vorhanden, 6.4.2007 DL und NG


