function pagestart( Kollektion ) {
//
// Initialisiert und startet via onload-event die dynamischen Elemente der Seite.
//
// Kollektion: Name einer in kopfanimation.js vordefinierten Bildfolge. Fehlt die
//             Angabe oder ist unter diesem Namen keine Folge abgelegt, wird eine
//             ebenfalls dort definierte Standardfolge angezeigt.

var k;           // Liste zu schaltender Elemente
var d;           // Schleifenvariablen
var e;
var f;
var root;        // Array-Index für die Wurzel des Menübaums

// 1. Aufgabe: Die Animation des Kopfbereichs
kopfanimation( Kollektion );

// 2. Aufgabe: Die passenden Menüeinträge zeigen. Vom Server wurden alle Menüeinträge in
//    eingeschalteter Form geliefert, damit auch ohne JS navigiert werden kann.
// Zuerst alle Menüeinträge mit Ausnahme von root ausschalten

k = new Array();
for ( e in site ) {
  if ( !ismenuroot( e ) ) {
    k.push( site[e].elemid );
  } else {   // root gefunden
    var root = e;
  }	   
}
toggle( k,'none' );
// Ebenso für das linke Menü
// k = new Array( 't1000','t1110','t1120','t2000','t3000','t3010','t3020','t3030','t3040','t3050','t3060','t4000','t4010' );
// toggle( k,'none' );

// Die Kinder von root, d.h. die oberste Ebene, werden immer angezeigt.
k = kinder( site[root].elemid );
toggle( k, 'block' );
// Analog für das linke Menü
// k = new Array( 't1000', 't3000','t4000');  // Mit Aktion
k = new Array( 't3000','t4000');  // Ohne Aktion
toggle( k, 'block' );

// Die weiteren anzuzeigenden Knoten hängen von der aktuellen Seite ab,
// deshalb den Knoten der aktuellen Seite bestimmen.
var thispage = window.location.pathname;
// thispage = '/geschaefte/braunschweig/schlossarkaden/'; // *** debug only
// alert('>'+thispage+'<');

// Alle Vorväter von der aktuellen Seite bis hinauf zu root einblenden.
// *** Diese Logik ist auch serverseitig für den Brotkrumenpfad einzusetzen.
// if (site[thispage]) { // abfangen von Seiten, die nicht in site[] definiert sind
k = new Array();
// alert( thispage );
e = site[thispage].father;
while ( e != site[root].elemid ) {
  for ( f in site )	{
	if ( site[f].elemid == e) break;
  }
  k.push( site[f].elemid );
  e = site[f].father;
}
//alert( k );
toggle( k, 'block' );

// Aktuellen Knoten und seine Geschwister anzeigen
k = kinder( site[thispage].father );
toggle( k, 'block' );
// } // if (site[thispage])

// Kindknoten des akt. Knotens werden ggf. zusammen mit dem dann am
// akt. Knoten vorhandenen Klapppfeil angezeigt.

// 3. Aufgabe: Die Klapppfeile im Menü aktivieren, die initial ausgeblendet
//    sind, weil sie nur mittels JS bedient werden können.
k = new Array();
for ( e in site ) {
  f = document.getElementById( site[e].elemid );
  if (f.firstChild.nodeType != DOM_NODETYPE_TEXT) {  // Der nur dummytext enthaltende root-node wird hier übersprungen
//    alert(  e+': '+f.firstChild.nodeType+f.firstChild.nodeName );
    if ( f.firstChild.nodeName == 'IMG' ) { // *** ist das casing von 'IMG' wirklich immer so?
      // Dieses Element enthält ein einzuschaltendes Pfeilbild
//      alert (e+': IMG gefunden');
      f = f.firstChild;
      f.setAttribute('style','visibility: visible;');
      // Der Klapppfeil der aktuellen Seite wird ggf. als ausgeklappt dargestellt, 
      // und deren Kinder alle angezeigt.
      if (site[e].elemid == site[thispage].elemid) {
	    klapp( f )
      }
    }
  }
}   // for e


// 3. Aufgabe, Teil II: Die Klapppfeile im linken Menü aktivieren,
//    die initial ausgeblendet sind, weil sie nur mittels JS bedient
//    werden können.
var d = document.getElementById( "t1000" );   // Mit Aktion
// var d = document.getElementById( "t1000" );   // Ohne Aktion

// alert(  'd=' + d.firstChild.nodeType+d.firstChild.nodeName );
e = document.getElementById( "t3000" );
// alert(  'e=' + e.firstChild.nodeType+e.firstChild.nodeName );
f = document.getElementById( "t4000" );
// alert(  'f=' + f.firstChild.nodeType+f.firstChild.nodeName );
// ***aktion var dk = d.firstChild;
var ek = e.firstChild;
var fk = f.firstChild;
// ***aktion dk.setAttribute('style','visibility: visible;');
ek.setAttribute('style','visibility: visible;');
fk.setAttribute('style','visibility: visible;');

}   // pagestart()


function popup( pic,zoom ) {
// Popup mit einem Bild von der url 'pic' skaliert mit dem Faktor 'zoom'
 var imgElem = pic.firstChild;
 var winWidth = zoom * imgElem.getAttribute( 'width' ) + 20;
 if (!winWidth) winWidth = zoom * 150;
 var winHeight = zoom * imgElem.getAttribute( 'height' ) + 50;
 if (!winHeight) winHeight = zoom * 100;
 var winTitle = imgElem.getAttribute( 'title' );
 var fenster = window.open( pic.getAttribute( 'href' ), winTitle, 'dependent=yes,width=' + winWidth + ',height=' + winHeight + ',status=yes,menubar=no,scrollbars=no,resizable=no' );
 fenster.focus();

 return false;
}
