// Die Funktionen ba und bia sind bereits in js/control.js definiert (c.m.)
//
 function ba(bu, num) {
  document[bu].src = eval(bu + num + ".src");
}
//
 function bia(bu,num) {
  document[bu].src = eval(bu + num + ".src");
}

//
// Benennung der Buttons /////////
//
// Die Menuknoepfe sind etwas groesser als die in der Liste
// Fuer die Sprachen wurden folgende Kuerzel verwendet
//
//----------------------------------------
// Funktion     DE      EN      FR      IT
//----------------------------------------
// Anwendung    an      ap              al
// Auswahl      au      sl              sz
// Experimente  ed      ex              es
// Hilfe        hi      he              ai
// Info         id      in              it
// Liste        ld      li              lt
// Vorlesung    vm      le              lz
// Lexikon      lk      lx              gl
// Film         fm      mo              vi
// Slides               ss              ds
// Bilder       bi      pi              im
// Literatur    rf      bb
// Sicherheit   si      se              sc
// Text         td      te              to
// Vertiefung   vd      ve
//----------------------------------------
//          Liste
//----------------------------------------
// Film         fi      ml
// Slideshow    bs      sw
// Bilder       bl      pl              il
// Vorlesung    vo      ll
//----------------------------------------
// Titeli       ti
// Titel1       t1
// Titel2       t2
// Label1       la1
// Label2       la2
// Label3       la3
//
//--------- Menu Button Definitionen ---------------
//
// Fuer jeden moeglichen Menubutton wird auch ein Array
// angelegt, der zusaetzlich Daten enthalt, unter anderem 
// Die StatusMeldung falls der Benutzer ueber den Knopf 
// faehrt, der ALT Text, das start image und das mouse
// out image, nur die Nummern:
// 1=(v)schwarz, 2=(y)rot, 3=(g)elb, 4=(o)violett
// und der URL, auf den das Bild zeigt.
//
//
///////////////////////////////////////////////
// APPLICATION BUTTON: en 170x25
ap1=new Image();ap1.src=ROOTP + "gfx/menu/application-v.gif";
ap2=new Image();ap2.src=ROOTP + "gfx/menu/application-y.gif";
ap_a=new Array(1, 2, "Information concerning Applications",
              "Application", "error.html", "_top")
//
// ANWENDUNG BUTTON: an 170x25
an1=new Image();an1.src=ROOTP + "gfx/menu/anwendung-v.gif";
an2=new Image();an2.src=ROOTP + "gfx/menu/anwendung-y.gif";
an_a=new Array(1, 2, "Wo findet man diese Substanzen in der Anwendung und Praxis",
              "Anwendung", "error.html", "_top")
//
//////////////////////////////////////
// selectION Button sl (auswahl der experimente)
sl1=new Image();sl1.src=ROOTP + "gfx/menu/selection-v.gif";
sl2=new Image();sl2.src=ROOTP + "gfx/menu/selection-y.gif";
sl_a=new Array(1, 2, "Go back to the selected experiments",
              "Experiment selection", "error.html", "_top")
//
// AUSWAHL BUTTON: (auswahl der experimente)
au1=new Image();au1.src=ROOTP + "gfx/menu/auswahl-v.gif";
au2=new Image();au2.src=ROOTP + "gfx/menu/auswahl-y.gif";
au_a=new Array(1, 2, "Zur&uuml;ck zu den selektierten Experimenten",
              "gew&auml;hlte Experimente", "error.html", "_top")
//
///////////////////////////////////////////////
// EXPERIMENTS BUTTON: ex 170x25
ex1=new Image();ex1.src=ROOTP + "gfx/menu/experiments-v.gif";
ex2=new Image();ex2.src=ROOTP + "gfx/menu/experiments-y.gif";
ex_a=new Array(1, 2, "Show all experiments",
              "Experiments", "error.html", "_top")
//
// EXPERIMENTE BUTTON: ed 180x25
ed1=new Image();ed1.src=ROOTP + "gfx/menu/experimente-v.gif";
ed2=new Image();ed2.src=ROOTP + "gfx/menu/experimente-y.gif";
ed_a=new Array(1, 2, "Zeige alle Experimente",
              "Experimente", "error.html", "_top")
//
///////////////////////////////////////////////
// HELP BUTTON: he 75x25
he1=new Image();he1.src=ROOTP + "gfx/menu/help-v.gif";
he2=new Image();he2.src=ROOTP + "gfx/menu/help-y.gif";
he_a=new Array(1, 2, "Show Help on this page",
              "Help", "error.html", "_top")
//
// HILFE BUTTON: hi 80x25
hi1=new Image();hi1.src=ROOTP + "gfx/menu/hilfe-v.gif";
hi2=new Image();hi2.src=ROOTP + "gfx/menu/hilfe-y.gif";
hi_a=new Array(1, 2, "Hilfe zu dieser Seite anzeigen",
              "Hilfe", "error.html", "_top")
//
///////////////////////////////////////////////
// INFO BUTTON: in 72x25 
in1=new Image();in1.src=ROOTP + "gfx/menu/info-v.gif";
in2=new Image();in2.src=ROOTP + "gfx/menu/info-y.gif";
in_a=new Array(1, 2, "Display Informations on this page",
              "Info", "error.html", "_top")
//
// INFO BUTTON: id 72x25 
id1=new Image();id1.src=ROOTP + "gfx/menu/info-v.gif";
id2=new Image();id2.src=ROOTP + "gfx/menu/info-y.gif";
id_a=new Array(1, 2, "Informationen zu dieser Seite anzeigen",
              "Info", "error.html", "_top")
//
///////////////////////////////////////////////
// LIST BUTTON: li 
li1=new Image();li1.src=ROOTP + "gfx/menu/list-v.gif";
li2=new Image();li2.src=ROOTP + "gfx/menu/list-y.gif";
li_a=new Array(1, 2, "Show list of topics",
              "List", "error.html", "_top")
//
// LISTE BUTTON: ld 
ld1=new Image();ld1.src=ROOTP + "gfx/menu/liste-v.gif";
ld2=new Image();ld2.src=ROOTP + "gfx/menu/liste-y.gif";
ld_a=new Array(1, 2, "Zeige Liste der Experimente",
              "Liste", "error.html", "_top")
//
///////////////////////////////////////////////
// LECTURE BUTTON: le
le1=new Image();le1.src=ROOTP + "gfx/menu/lecture-v.gif";
le2=new Image();le2.src=ROOTP + "gfx/menu/lecture-y.gif";
le4=new Image();le4.src=ROOTP + "gfx/menu/lecture-o.gif";
le_a=new Array(1, 2, "Lecture to this chapter",
              "Lecture", "error.html", "_top")
//
// VORLESUNG BUTTON: vm
vm1=new Image();vm1.src=ROOTP + "gfx/menu/vorlesung-v.gif";
vm2=new Image();vm2.src=ROOTP + "gfx/menu/vorlesung-y.gif";
vm4=new Image();vm4.src=ROOTP + "gfx/menu/vorlesung-o.gif";
vm_a=new Array(1, 2, "Vorlesung zu diesem Experiment",
              "Vorlesung", "error.html", "_top")
//
///////////////////////////////////////////////
// MOVIE BUTTON: mo 95x25
mo1=new Image();mo1.src=ROOTP + "gfx/menu/movie-v.gif";
mo2=new Image();mo2.src=ROOTP + "gfx/menu/movie-y.gif";
mo4=new Image();mo4.src=ROOTP + "gfx/menu/movie-o.gif";
mo_a=new Array(1, 2, "Download Movies",
              "experiment as movie", "error.html", "_top")
//
// FILM BUTTON: fm 86x25
fm1=new Image();fm1.src=ROOTP + "gfx/menu/film-v.gif";
fm2=new Image();fm2.src=ROOTP + "gfx/menu/film-y.gif";
fm4=new Image();fm4.src=ROOTP + "gfx/menu/film-o.gif";
fm_a=new Array(1, 2, "Film kopieren",
              "Darstellung des Films", "error.html", "_top")
//
///////////////////////////////////////////////
// SLIDESHOW BUTTON: ss 137x25
ss1=new Image();ss1.src=ROOTP + "gfx/menu/slideshow-v.gif";
ss2=new Image();ss2.src=ROOTP + "gfx/menu/slideshow-y.gif";
ss_a=new Array(1, 2, "Download Slides",
              "Slides", "error.html", "_top")
//
///////////////////////////////////////////////
// PICTURE BUTTON: pi
pi1=new Image();pi1.src=ROOTP + "gfx/menu/pictures-v.gif";
pi2=new Image();pi2.src=ROOTP + "gfx/menu/pictures-y.gif";
pi4=new Image();pi4.src=ROOTP + "gfx/menu/pictures-o.gif";
pi_a=new Array(1, 2, "Switch to single picture display",
              "Display pictures", "error.html", "")
//
// BILDER BUTTON: bi 
bi1=new Image();bi1.src=ROOTP + "gfx/menu/bilder-v.gif";
bi2=new Image();bi2.src=ROOTP + "gfx/menu/bilder-y.gif";
bi4=new Image();bi4.src=ROOTP + "gfx/menu/bilder-o.gif";
bi_a=new Array(1, 2, "Umschalten auf Anzeige der einzelnen Bilder",
              "Einzelbilder", "error.html", "")
//
///////////////////////////////////////////////
// BIBLIOGRAPHY BUTTON: bb 146x26
// Bibliography Button bb (external references)
bb1=new Image();bb1.src=ROOTP + "gfx/menu/bibliography-v.gif";
bb2=new Image();bb2.src=ROOTP + "gfx/menu/bibliography-y.gif";
bb_a=new Array(1, 2, "external references",
              "Bibliography and Links", "error.html", "_top")
//
// LITERATUR BUTTON: rf 112x26
rf1=new Image();rf1.src=ROOTP + "gfx/menu/literatur-v.gif";
rf2=new Image();rf2.src=ROOTP + "gfx/menu/literatur-y.gif";
rf_a=new Array(1, 2, "Literatur und Links",
              "weiterf&uuml;hrende Literatur und WEB-Links", "error.html", "_top")
//
///////////////////////////////////////////////
// Details BUTTON: ve 146x26
// Details Button ve (external references)
ve1=new Image();ve1.src=ROOTP + "gfx/menu/details-v.gif";
ve2=new Image();ve2.src=ROOTP + "gfx/menu/details-y.gif";
ve_a=new Array(1, 2, "deeper explanation",
              "more details", "error.html", "_top")
//
// VERTIEFUNG BUTTON: vd 112x26
vd1=new Image();vd1.src=ROOTP + "gfx/menu/vertiefung-v.gif";
vd2=new Image();vd2.src=ROOTP + "gfx/menu/vertiefung-y.gif";
vd_a=new Array(1, 2, "Vertiefender Text",
              "weiterf&uuml;hrende Informationen", "error.html", "_top")
//
//////////////////////////////////////
// SAFETY BUTTON: se 121x25
se1=new Image();se1.src=ROOTP + "gfx/menu/safety-v.gif";
se2=new Image();se2.src=ROOTP + "gfx/menu/safety-y.gif";
se_a=new Array(1, 2, "Informations on safety and environment",
              "Safety", "error.html", "_top")
//
// SICHERHEIT BUTTON: si 150x25
si1=new Image();si1.src=ROOTP + "gfx/menu/sicherheit-v.gif";
si2=new Image();si2.src=ROOTP + "gfx/menu/sicherheit-y.gif";
si_a=new Array(1, 2, "Sicherheits- und Umweltrelevante Informationen",
              "Sicherheit und Umwelt", "error.html", "_top")
//
///////////////////////////////////////////////
// TEXT en Button te 
te1=new Image();te1.src=ROOTP + "gfx/menu/text-v.gif";
te2=new Image();te2.src=ROOTP + "gfx/menu/text-y.gif";
te_a=new Array(1, 2, "introduction",
              "experiment explanation", "error.html", "_top")
//
// TEXT de Button td
td1=new Image();td1.src=ROOTP + "gfx/menu/text-v.gif";
td2=new Image();td2.src=ROOTP + "gfx/menu/text-y.gif";
td_a=new Array(1, 2, "Einf&uuml;hrung",
              "Beschreibung des Experimentes", "error.html", "_top")
//
///////////////////////////////////////////////
//
//--------- Liste Button Definitionen ---------------
//
// Nachfolgende Buttons werden in der Experimenteliste
// ausgegeben. Zur Zeit wird auf einen Farbwechsel verzichtet,
// wodurch die Ladezeit verkuerzt wird. Definition analog
// der Menubuttons.
// 1=(v)schwarz, 2=(y)rot, 3=(g)elb, 4=(o)violett
//
//
// MOVIE LIST BUTTON: ml 68x25
ml1=new Image();ml1.src=ROOTP + "gfx/list/movie-v.gif";
ml4=new Image();ml4.src=ROOTP + "gfx/list/movie-o.gif";
ml_a=new Array(1, 2, "movie",
              "show the movie", "error.html", "_top")
//
// FILM BUTTON: fi 86x25
fi1=new Image();fi1.src=ROOTP + "gfx/list/film-v.gif";
fi4=new Image();fi4.src=ROOTP + "gfx/list/film-o.gif";
fi_a=new Array(1, 2, "Film kopieren",
              "Darstellung des Films", "error.html", "_top")
//
// Slideshow list BUTTON: sw 157x25
sw1=new Image();sw1.src=ROOTP + "gfx/list/slideshow-v.gif";
sw4=new Image();sw4.src=ROOTP + "gfx/list/slideshow-o.gif";
sw_a=new Array(1, 2, "Dias zeigen",
              "automatische Bildersequenz", "error.html", "_top")
//
// DIAS BUTTON: bs 157x25
bs1=new Image();bs1.src=ROOTP + "gfx/list/bilderschau-v.gif";
bs4=new Image();bs4.src=ROOTP + "gfx/list/bilderschau-o.gif";
bs_a=new Array(1, 2, "Dias zeigen",
              "automatische Bildersequenz", "error.html", "_top")
//
// PICTURE list BUTTON: pl
pl1=new Image();pl1.src=ROOTP + "gfx/list/pictures-v.gif";
pl4=new Image();pl4.src=ROOTP + "gfx/list/pictures-o.gif";
pl_a=new Array(1, 2, "Switch to single picture display",
              "Display pictures", "error.html", "")
//
// BILDER list BUTTON: bl
bl1=new Image();bl1.src=ROOTP + "gfx/list/bilder-v.gif";
bl4=new Image();bl4.src=ROOTP + "gfx/list/bilder-o.gif";
bl_a=new Array(1, 2, "Umschalten auf Anzeige der einzelnen Bilder",
              "Einzelbilder", "error.html", "")
//
// LECTURE list BUTTON: ll
ll1=new Image();ll1.src=ROOTP + "gfx/list/lecture-v.gif";
ll4=new Image();ll4.src=ROOTP + "gfx/list/lecture-o.gif";
ll_a=new Array(1, 2, "Vorlesung zu diesem Experiment",
              "Vorlesung", "error.html", "_top")
//
// VORLESUNG BUTTON: vo
vo1=new Image();vo1.src=ROOTP + "gfx/list/vorlesung-v.gif";
vo4=new Image();vo4.src=ROOTP + "gfx/list/vorlesung-o.gif";
vo_a=new Array(1, 2, "Vorlesung zu diesem Experiment",
              "Vorlesung", "error.html", "_top")
//
//////////////    Title    ///////////////
//
// TITLE BUTTON: ti 440x20
ti1=new Image();ti1.src=ROOTP + "gfx/menu/title-v.gif";
ti2=new Image();ti2.src=ROOTP + "gfx/menu/title-y.gif";
ti3=new Image();ti3.src=ROOTP + "gfx/menu/title-g.gif";
ti4=new Image();ti4.src=ROOTP + "gfx/menu/title-o.gif";
ti_a=new Array(4, 3)
//
// SHORT TITLE STRINGS  t1 234x20, t2 206x20
t11=new Image();t11.src=ROOTP + "gfx/menu/title1-v.gif";
t12=new Image();t12.src=ROOTP + "gfx/menu/title1-y.gif";
t13=new Image();t13.src=ROOTP + "gfx/menu/title1-g.gif";
t14=new Image();t14.src=ROOTP + "gfx/menu/title1-o.gif";
t21=new Image();t21.src=ROOTP + "gfx/menu/title2-v.gif";
t22=new Image();t22.src=ROOTP + "gfx/menu/title2-y.gif";
t23=new Image();t23.src=ROOTP + "gfx/menu/title2-g.gif";
t24=new Image();t24.src=ROOTP + "gfx/menu/title2-o.gif";
t1_a=new Array(2, 1)
t2_a=new Array(2, 1)
//
// LABEL IMAGES
la1=new Image();la1.src=ROOTP + "gfx/menu/lab1.gif";
la2=new Image();la2.src=ROOTP + "gfx/menu/lab2.gif";
//la3=new Image();la3.src=ROOTP + "gfx/pics/ethlogo-b.gif;
//
////////////////////////////////////////////
// function setImageValues()
//
// Diese Funktion wird benutzt, um die Parameter vor dem
// Aufbau der Titelleiste fuer jedes Bild zu setzen.
// Man kann dann also die Farben, den Link und die 
// Texte so setzen, wie man will.
// Sollte vor dem Aufruf der 'display' Methode gemacht
// werden.
// Die Parameter sind wie die Bilder, das heisst, dass
// das erste Argument eine Bildidentifikation sein muss.
// 
function setImageValues() {
  narg = setImageValues.arguments.length;
  if (narg == 0) {
    // Do nothing
    return;
  }
  ar = setImageValues.arguments[0];
  c1 = 1;
  c2 = 2;
  msg = "somethings is wrong here";
  alt = "Ooops";
  url = "error.html";
  tgt = "_top";     // Target
  
  if (narg > 1) {
    c1 = setImageValues.arguments[1];
    if (narg > 2) {
      c2 = setImageValues.arguments[2];
      if (narg > 3) {
        msg = setImageValues.arguments[3];
        if (narg > 4) {
          alt = setImageValues.arguments[4];
          if (narg > 5) {
            url = setImageValues.arguments[5];
            if (narg > 6) {
              tgt = setImageValues.arguments[6];
            }
          }
        }
      }
    }
  }
  //
  if(ar == "ap") {ap_a[0] = (c1 != 0) ? c1 : ap_a[0];//application
                  ap_a[1] = (c2 != 0) ? c2 : ap_a[1];
                  ap_a[2] = (msg!= 0) ? msg: ap_a[2];
                  ap_a[3] = (alt!= 0) ? alt: ap_a[3];
                  ap_a[4] = (url!= 0) ? url: ap_a[4];
                  ap_a[5] = (tgt!= 0) ? tgt: ap_a[5];}
  if(ar == "an") {an_a[0] = (c1 != 0) ? c1 : an_a[0];//anwendung
                  an_a[1] = (c2 != 0) ? c2 : an_a[1];
                  an_a[2] = (msg!= 0) ? msg: an_a[2];
                  an_a[3] = (alt!= 0) ? alt: an_a[3];
                  an_a[4] = (url!= 0) ? url: an_a[4];
                  an_a[5] = (tgt!= 0) ? tgt: an_a[5];}
  //
  if(ar == "sl") {sl_a[0] = (c1 != 0) ? c1 : sl_a[0];//selection
                  sl_a[1] = (c2 != 0) ? c2 : sl_a[1];
                  sl_a[2] = (msg!= 0) ? msg: sl_a[2];
                  sl_a[3] = (alt!= 0) ? alt: sl_a[3];
                  sl_a[4] = (url!= 0) ? url: sl_a[4];
                  sl_a[5] = (tgt!= 0) ? tgt: sl_a[5];}
  if(ar == "au") {au_a[0] = (c1 != 0) ? c1 : au_a[0];//auswahl
                  au_a[1] = (c2 != 0) ? c2 : au_a[1];
                  au_a[2] = (msg!= 0) ? msg: au_a[2];
                  au_a[3] = (alt!= 0) ? alt: au_a[3];
                  au_a[4] = (url!= 0) ? url: au_a[4];
                  au_a[5] = (tgt!= 0) ? tgt: au_a[5];}
  //
  if(ar == "ex") {ex_a[0] = (c1 != 0) ? c1 : ex_a[0];//experiments
                  ex_a[1] = (c2 != 0) ? c2 : ex_a[1];
                  ex_a[2] = (msg!= 0) ? msg: ex_a[2];
                  ex_a[3] = (alt!= 0) ? alt: ex_a[3];
                  ex_a[4] = (url!= 0) ? url: ex_a[4];
                  ex_a[5] = (tgt!= 0) ? tgt: ex_a[5];}
  if(ar == "ed") {ed_a[0] = (c1 != 0) ? c1 : ed_a[0];//experimente
                  ed_a[1] = (c2 != 0) ? c2 : ed_a[1];
                  ed_a[2] = (msg!= 0) ? msg: ed_a[2];
                  ed_a[3] = (alt!= 0) ? alt: ed_a[3];
                  ed_a[4] = (url!= 0) ? url: ed_a[4];
                  ed_a[5] = (tgt!= 0) ? tgt: ed_a[5];}
  //
  if(ar == "he") {he_a[0] = (c1 != 0) ? c1 : he_a[0];//help
                  he_a[1] = (c2 != 0) ? c2 : he_a[1];
                  he_a[2] = (msg!= 0) ? msg: he_a[2];
                  he_a[3] = (alt!= 0) ? alt: he_a[3];
                  he_a[4] = (url!= 0) ? url: he_a[4];
                  he_a[5] = (tgt!= 0) ? tgt: he_a[5];}
  if(ar == "hi") {hi_a[0] = (c1 != 0) ? c1 : hi_a[0];//hilfe
                  hi_a[1] = (c2 != 0) ? c2 : hi_a[1];
                  hi_a[2] = (msg!= 0) ? msg: hi_a[2];
                  hi_a[3] = (alt!= 0) ? alt: hi_a[3];
                  hi_a[4] = (url!= 0) ? url: hi_a[4];
                  hi_a[5] = (tgt!= 0) ? tgt: hi_a[5];}
//
  if(ar == "in") {in_a[0] = (c1 != 0) ? c1 : in_a[0];//info en
                  in_a[1] = (c2 != 0) ? c2 : in_a[1];
                  in_a[2] = (msg!= 0) ? msg: in_a[2];
                  in_a[3] = (alt!= 0) ? alt: in_a[3];
                  in_a[4] = (url!= 0) ? url: in_a[4];
                  in_a[5] = (tgt!= 0) ? tgt: in_a[5];}
  if(ar == "id") {id_a[0] = (c1 != 0) ? c1 : id_a[0];//info de
                  id_a[1] = (c2 != 0) ? c2 : id_a[1];
                  id_a[2] = (msg!= 0) ? msg: id_a[2];
                  id_a[3] = (alt!= 0) ? alt: id_a[3];
                  id_a[4] = (url!= 0) ? url: id_a[4];
                  id_a[5] = (tgt!= 0) ? tgt: id_a[5];}
  //
  if(ar == "li") {li_a[0] = (c1 != 0) ? c1 : li_a[0];//list
                  li_a[1] = (c2 != 0) ? c2 : li_a[1];
                  li_a[2] = (msg!= 0) ? msg: li_a[2];
                  li_a[3] = (alt!= 0) ? alt: li_a[3];
                  li_a[4] = (url!= 0) ? url: li_a[4];
                  li_a[5] = (tgt!= 0) ? tgt: li_a[5];}
  if(ar == "ld") {ld_a[0] = (c1 != 0) ? c1 : ld_a[0];//liste
                  ld_a[1] = (c2 != 0) ? c2 : ld_a[1];
                  ld_a[2] = (msg!= 0) ? msg: ld_a[2];
                  ld_a[3] = (alt!= 0) ? alt: ld_a[3];
                  ld_a[4] = (url!= 0) ? url: ld_a[4];
                  ld_a[5] = (tgt!= 0) ? tgt: ld_a[5];}
  //
  if(ar == "le") {le_a[0] = (c1 != 0) ? c1 : le_a[0];//lecture
                  le_a[1] = (c2 != 0) ? c2 : le_a[1];
                  le_a[2] = (msg!= 0) ? msg: le_a[2];
                  le_a[3] = (alt!= 0) ? alt: le_a[3];
                  le_a[4] = (url!= 0) ? url: le_a[4];
                  le_a[5] = (tgt!= 0) ? tgt: le_a[5];}
  if(ar == "vm") {vm_a[0] = (c1 != 0) ? c1 : vm_a[0];//Vorlesung
                  vm_a[1] = (c2 != 0) ? c2 : vm_a[1];
                  vm_a[2] = (msg!= 0) ? msg: vm_a[2];
                  vm_a[3] = (alt!= 0) ? alt: vm_a[3];
                  vm_a[4] = (url!= 0) ? url: vm_a[4];
                  vm_a[5] = (tgt!= 0) ? tgt: vm_a[5];}
  //
  if(ar == "mo") {mo_a[0] = (c1 != 0) ? c1 : mo_a[0];//movie menu
                  mo_a[1] = (c2 != 0) ? c2 : mo_a[1];
                  mo_a[2] = (msg!= 0) ? msg: mo_a[2];
                  mo_a[3] = (alt!= 0) ? alt: mo_a[3];
                  mo_a[4] = (url!= 0) ? url: mo_a[4];
                  mo_a[5] = (tgt!= 0) ? tgt: mo_a[5];}
  if(ar == "fm") {fm_a[0] = (c1 != 0) ? c1 : fm_a[0];//film menu
                  fm_a[1] = (c2 != 0) ? c2 : fm_a[1];
                  fm_a[2] = (msg!= 0) ? msg: fm_a[2];
                  fm_a[3] = (alt!= 0) ? alt: fm_a[3];
                  fm_a[4] = (url!= 0) ? url: fm_a[4];
                  fm_a[5] = (tgt!= 0) ? tgt: fm_a[5];}
//
  if(ar == "ss") {ss_a[0] = (c1 != 0) ? c1 : ss_a[0];//slideshow
                  ss_a[1] = (c2 != 0) ? c2 : ss_a[1];
                  ss_a[2] = (msg!= 0) ? msg: ss_a[2];
                  ss_a[3] = (alt!= 0) ? alt: ss_a[3];
                  ss_a[4] = (url!= 0) ? url: ss_a[4];
                  ss_a[5] = (tgt!= 0) ? tgt: ss_a[5];}
  //
  if(ar == "pi") {pi_a[0] = (c1 != 0) ? c1 : pi_a[0];//pictures
                  pi_a[1] = (c2 != 0) ? c2 : pi_a[1];
                  pi_a[2] = (msg!= 0) ? msg: pi_a[2];
                  pi_a[3] = (alt!= 0) ? alt: pi_a[3];
                  pi_a[4] = (url!= 0) ? url: pi_a[4];
                  pi_a[5] = (tgt!= 0) ? tgt: pi_a[5];}
  if(ar == "bi") {bi_a[0] = (c1 != 0) ? c1 : bi_a[0];//bilder
                  bi_a[1] = (c2 != 0) ? c2 : bi_a[1];
                  bi_a[2] = (msg!= 0) ? msg: bi_a[2];
                  bi_a[3] = (alt!= 0) ? alt: bi_a[3];
                  bi_a[4] = (url!= 0) ? url: bi_a[4];
                  bi_a[5] = (tgt!= 0) ? tgt: bi_a[5];}
  //
  if(ar == "se") {se_a[0] = (c1 != 0) ? c1 : se_a[0];//safety
                  se_a[1] = (c2 != 0) ? c2 : se_a[1];
                  se_a[2] = (msg!= 0) ? msg: se_a[2];
                  se_a[3] = (alt!= 0) ? alt: se_a[3];
                  se_a[4] = (url!= 0) ? url: se_a[4];
                  se_a[5] = (tgt!= 0) ? tgt: se_a[5];}
  if(ar == "si") {si_a[0] = (c1 != 0) ? c1 : si_a[0];//sicherheit
                  si_a[1] = (c2 != 0) ? c2 : si_a[1];
                  si_a[2] = (msg!= 0) ? msg: si_a[2];
                  si_a[3] = (alt!= 0) ? alt: si_a[3];
                  si_a[4] = (url!= 0) ? url: si_a[4];
                  si_a[5] = (tgt!= 0) ? tgt: si_a[5];}
//
  if(ar == "te") {te_a[0] = (c1 != 0) ? c1 : te_a[0];//text en menu
                  te_a[1] = (c2 != 0) ? c2 : te_a[1];
                  te_a[2] = (msg!= 0) ? msg: te_a[2];
                  te_a[3] = (alt!= 0) ? alt: te_a[3];
                  te_a[4] = (url!= 0) ? url: te_a[4];
                  te_a[5] = (tgt!= 0) ? tgt: te_a[5];}
  if(ar == "td") {td_a[0] = (c1 != 0) ? c1 : td_a[0];//text de menu
                  td_a[1] = (c2 != 0) ? c2 : td_a[1];
                  td_a[2] = (msg!= 0) ? msg: td_a[2];
                  td_a[3] = (alt!= 0) ? alt: td_a[3];
                  td_a[4] = (url!= 0) ? url: td_a[4];
                  td_a[5] = (tgt!= 0) ? tgt: td_a[5];}
  //

  if(ar == "ml") {ml_a[0] = (c1 != 0) ? c1 : ml_a[0];//movie list
                  ml_a[1] = (c2 != 0) ? c2 : ml_a[1];
                  ml_a[2] = (msg!= 0) ? msg: ml_a[2];
                  ml_a[3] = (alt!= 0) ? alt: ml_a[3];
                  ml_a[4] = (url!= 0) ? url: ml_a[4];
                  ml_a[5] = (tgt!= 0) ? tgt: ml_a[5];}
  if(ar == "fi") {fi_a[0] = (c1 != 0) ? c1 : fi_a[0];//film list
                  fi_a[1] = (c2 != 0) ? c2 : fi_a[1];
                  fi_a[2] = (msg!= 0) ? msg: fi_a[2];
                  fi_a[3] = (alt!= 0) ? alt: fi_a[3];
                  fi_a[4] = (url!= 0) ? url: fi_a[4];
                  fi_a[5] = (tgt!= 0) ? tgt: fi_a[5];}
  //
  if(ar == "sw") {sw_a[0] = (c1 != 0) ? c1 : sw_a[0];//slideshow list
                  sw_a[1] = (c2 != 0) ? c2 : sw_a[1];
                  sw_a[2] = (msg!= 0) ? msg: sw_a[2];
                  sw_a[3] = (alt!= 0) ? alt: sw_a[3];
                  sw_a[4] = (url!= 0) ? url: sw_a[4];
                  sw_a[5] = (tgt!= 0) ? tgt: sw_a[5];}
  if(ar == "bs") {bs_a[0] = (c1 != 0) ? c1 : bs_a[0];//bilderschau
                  bs_a[1] = (c2 != 0) ? c2 : bs_a[1];
                  bs_a[2] = (msg!= 0) ? msg: bs_a[2];
                  bs_a[3] = (alt!= 0) ? alt: bs_a[3];
                  bs_a[4] = (url!= 0) ? url: bs_a[4];
                  bs_a[5] = (tgt!= 0) ? tgt: bs_a[5];}
//
  if(ar == "pl") {pl_a[0] = (c1 != 0) ? c1 : pl_a[0];//pictures
                  pl_a[1] = (c2 != 0) ? c2 : pl_a[1];
                  pl_a[2] = (msg!= 0) ? msg: pl_a[2];
                  pl_a[3] = (alt!= 0) ? alt: pl_a[3];
                  pl_a[4] = (url!= 0) ? url: pl_a[4];
                  pl_a[5] = (tgt!= 0) ? tgt: pl_a[5];}
  if(ar == "bl") {bl_a[0] = (c1 != 0) ? c1 : bl_a[0];//bilder
                  bl_a[1] = (c2 != 0) ? c2 : bl_a[1];
                  bl_a[2] = (msg!= 0) ? msg: bl_a[2];
                  bl_a[3] = (alt!= 0) ? alt: bl_a[3];
                  bl_a[4] = (url!= 0) ? url: bl_a[4];
                  bl_a[5] = (tgt!= 0) ? tgt: bl_a[5];}
  //
if(ar == "ll") {ll_a[0] = (c1 != 0) ? c1 : ll_a[0];//lecture list
                  ll_a[1] = (c2 != 0) ? c2 : ll_a[1];
                  ll_a[2] = (msg!= 0) ? msg: ll_a[2];
                  ll_a[3] = (alt!= 0) ? alt: ll_a[3];
                  ll_a[4] = (url!= 0) ? url: ll_a[4];
                  ll_a[5] = (tgt!= 0) ? tgt: ll_a[5];}
  if(ar == "vo") {vo_a[0] = (c1 != 0) ? c1 : vo_a[0];//vorlesung
                  vo_a[1] = (c2 != 0) ? c2 : vo_a[1];
                  vo_a[2] = (msg!= 0) ? msg: vo_a[2];
                  vo_a[3] = (alt!= 0) ? alt: vo_a[3];
                  vo_a[4] = (url!= 0) ? url: vo_a[4];
                  vo_a[5] = (tgt!= 0) ? tgt: vo_a[5];}
//
  if(ar == "ti") {ti_a[0] = (c1 != 0) ? c1 : ti_a[0];
                  ti_a[1] = (c2 != 0) ? c2 : ti_a[1];
                  ti_a[2] = (msg!= 0) ? msg: ti_a[2];
                  ti_a[3] = (alt!= 0) ? alt: ti_a[3];
                  ti_a[4] = (url!= 0) ? url: ti_a[4];
                  ti_a[5] = (tgt!= 0) ? tgt: ti_a[5];}
  if(ar == "t1") {t1_a[0] = (c1 != 0) ? c1 : t1_a[0];
                  t1_a[1] = (c2 != 0) ? c2 : t1_a[1];
                  t1_a[2] = (msg!= 0) ? msg: t1_a[2];
                  t1_a[3] = (alt!= 0) ? alt: t1_a[3];
                  t1_a[4] = (url!= 0) ? url: t1_a[4];
                  t1_a[5] = (tgt!= 0) ? tgt: t1_a[5];}
  if(ar == "t2") {t2_a[0] = (c1 != 0) ? c1 : t2_a[0];
                  t2_a[1] = (c2 != 0) ? c2 : t2_a[1];
                  t2_a[2] = (msg!= 0) ? msg: t2_a[2];
                  t2_a[3] = (alt!= 0) ? alt: t2_a[3];
                  t2_a[4] = (url!= 0) ? url: t2_a[4];
                  t2_a[5] = (tgt!= 0) ? tgt: t2_a[5];}
  //
  if(ar == "bb") {bb_a[0] = (c1 != 0) ? c1 : bb_a[0];//bibliography
                  bb_a[1] = (c2 != 0) ? c2 : bb_a[1];
                  bb_a[2] = (msg!= 0) ? msg: bb_a[2];
                  bb_a[3] = (alt!= 0) ? alt: bb_a[3];
                  bb_a[4] = (url!= 0) ? url: bb_a[4];
                  bb_a[5] = (tgt!= 0) ? tgt: bb_a[5];}
  if(ar == "vd") {vd_a[0] = (c1 != 0) ? c1 : vd_a[0];//Vertiefung
                  vd_a[1] = (c2 != 0) ? c2 : vd_a[1];
                  vd_a[2] = (msg!= 0) ? msg: vd_a[2];
                  vd_a[3] = (alt!= 0) ? alt: vd_a[3];
                  vd_a[4] = (url!= 0) ? url: vd_a[4];
                  vd_a[5] = (tgt!= 0) ? tgt: vd_a[5];}
  if(ar == "ve") {ve_a[0] = (c1 != 0) ? c1 : ve_a[0];//details
                  ve_a[1] = (c2 != 0) ? c2 : ve_a[1];
                  ve_a[2] = (msg!= 0) ? msg: ve_a[2];
                  ve_a[3] = (alt!= 0) ? alt: ve_a[3];
                  ve_a[4] = (url!= 0) ? url: ve_a[4];
                  ve_a[5] = (tgt!= 0) ? tgt: ve_a[5];}
  if(ar == "rf")  {rf_a[0] = (c1 != 0) ? c1 : rf_a[0];//literatur
                  rf_a[1] = (c2 != 0) ? c2 : rf_a[1];
                  rf_a[2] = (msg!= 0) ? msg: rf_a[2];
                  rf_a[3] = (alt!= 0) ? alt: rf_a[3];
                  rf_a[4] = (url!= 0) ? url: rf_a[4];
                  rf_a[5] = (tgt!= 0) ? tgt: rf_a[5];}
}
//
// Erstellt den oberen Rand der Tabelle. Die Breite der
// Tabelle wird als Wert uebergeben. Gemacht wird der 
// obere Rand und die zweite Reihe mit dem Titel.
// Zur Zeit kann die Farbe des Titels nicht gewaehlt werden,
// Koennte aber spaeter gemacht werden. Hier wird
// einfach der Wert aus dem Array ti_a genommen.
//
function makeHeadertitle(w, h, doc) {
  doc.write("<p>&nbsp;<br><center><table width=" +
            eval(w) +
            " border=0 cellpadding=0 cellspacing=0 nowrap>" + 
            "<tr><td align=left Valign=top>" );
  str = eval("ti" + ti_a[0] + ".src")
  doc.write("<img src=\"" + str + "\"" +
            " width=" +
            ti1.width +  
            " height=" +
            h +
            " border=0>")
  // Testen, ob die Buttons unten breiter sind als der Titel,
  // falls ja, noch zusaetzlich ein Dummy einfuegen 
  if (w > ti1.width) {
    dw = w - ti1.width
    doc.write("<img src=\"" + ROOTP + "gfx/menu/dummy.gif\"width=" +
              dw +
              " height=" +
              h +
              " border=0>")
  }
  doc.write("<\/td><\/tr><tr><td align=left Valign=top>")
}

// Erstellt den oberen Rand der Tabelle. Die Breite der
// Tabelle wird als Wert uebergeben. Gemacht wird der 
// obere Rand und die zweite Reihe mit dem Titel und
// dem Label. 
// Zur Zeit kann die Farbe des Titels nicht gewaehlt werden,
// Koennte aber spaeter gemacht werden. Hier wird
// einfach der Wert aus dem Array ti_a genommen.
//
function makeHeadertitlelabel(w, h, doc) {
  doc.write("<p>&nbsp;<br><center><table" +
            " border=0 cellpadding=0 cellspacing=0 nowrap>" + 
            "<tr><td align=left Valign=bottom width=170>" +
            "<a href=\"http://www.ethz.ch/\" target=\"_top\">" +
            "<img src=\"" + ROOTP + "gfx/pics/ethlogo-160-b.gif\"" +
            " alt=\"ETH Home Page\" border=0><\/a>  <\/td>" +
            "<td align=left Valign=bottom nowrap>" +
            "<img src=\"" + ROOTP + "gfx/menu/lab1.gif\"" +
            " height=" +
            h + 
            " border=0>")
  str = eval("ti" + ti_a[0] + ".src")
  doc.write("<a href=\"/index.html\" target=\"_top\">" +
            "<img src=\"" + str + "\"" +
            " alt=\"CCI Home Page\"" +
            " width=" +
            ti1.width +  
            " height=" +
            h +
            " border=0><\/a>")
  // Testen, ob die Buttons unten breiter sind als der Titel,
  // falls ja, noch zusaetzlich ein Dummy einfuegen 
  if (w > ti1.width) {
    dw = w - ti1.width
    doc.write("<img src=\"" + ROOTP + "gfx/menu/dummy.gif\"width=" +
              dw +
              " height=" +
              h +
              " border=0>")
  }
  doc.write("<\/td><\/tr><tr><td><\/td><td align=left Valign=top>")
}

// Erstellt den unteren Rand der Tabelle. Die Breite der
// Tabelle wird als Wert uebergeben. Gemacht wird der 
// untere Rand
//
function makeHeaderbigtitle(){
 doc.write("<br><center><table border=0 cellpadding=0 cellspacing=0><tr>");
 doc.write("<td align=left Valign=top width=170><a href=\"http://www.ethz.ch\" target=\"_top\">");
 doc.write("<img src=\"" + ROOTP + "gfx/pics/ethlogo-160-b.gif\"  alt=\"ETH Home Page\" border=0><\/a>  <\/td>");
 doc.write("<td align=left Valign=top><a href=\"/\" target=\"_top\"><img src=\"" + ROOTP + "gfx/pics/title1.jpg\" alt=\"Creative Chemistry on the Internet\" border=0 >");
 doc.write("<\/IMG><\/a> <\/td><td><td align=left Valign=top width=170><img src=\"" + ROOTP + "gfx/menu/dummy.gif\"><\/td>");
 doc.write("<\/tr><tr><\/Table><\/center><\/p>");
}
function makeHeaderbottom(w, h, doc) {
  doc.write("<tr><td><\/td><td align=left Valign=top>" +
            "<img src=\"" + ROOTP + "gfx/menu/black.gif\"border=0 height=2 width=" +
            w +
            "><\/td><\/tr><\/table>");
}


// Diese Funktion erstellt einen Custom Header mit den 
// Bildern, die im Argumentstring uebergeben werden. 
// Die Bilder sind Namen der images, welche immer violett
// als Basisfarbe haben.
// der erste Parameter gibt an, ob das Label dargestellt werden 
// soll oder nicht.
// Parameter:
// arguments[0] = 0 : Nur Label mit Umrandung darstellen,
//                    arguments[1] ist die Hoehe der beiden
//                    mittleren Tabellenfelder,
//                    arguments[2] ist die Breite. Falls
//                    diese 0 ist, wird der normale Wert genommen.
//                    Folgende Image Parameter werden nicht
//                    beachtet. Die Breite wird nur beruecksichtigt,
//                    bei der Darstellung des Labels.
//
// arguments[0] = 1 : Nur Titel, zweizeilig, ohne Label, andere 
//                    Parameter wie beim ersten Fall
//
// arguments[0] = 2 : Standardfall, Label, daneben oben der Titel
//                    und unten die Zeichenketten, respektive
//                    Images, deren Namen angegeben wurden in 
//                    der Argumentkette. von arguments[1|2] 
//                    wird nur 1 betrachtet, die Hoehe, die 
//                    Breite wird berechnet.
//
// arguments[0] = 3 : Titel mit Buttons, aber ohne Label. Die Buttons
//                    der angegebenen Zeichenketten werden genommen.
//                    Sonst wie bei arg[0]=2, Hoehe wird benutzt,
//                    Breite wird berechnet.
//
// Noch nicht implementiert:
// arguments[0] = 4 : Titel mit Buttons, aber ohne Label. Die Buttons
//                    werden aber mit dem richtigen Aspect Ration
//                    benutzt, dass heisst, das etwas mehr gerechnet 
//                    werden muss. Die Hoehe wird als Basis genommen,
//                    aufgrund derer mit dem verhaeltnis dann die
//                    Breite der Buttons berechnet wird.
//
// arguments[0] = 5 : Nur die Buttons, ohne Umrahmung oder irgendwas
//                    anderes. Wird in der experimentliste benutzt,
//                    zur Zeit.

function showHeader() {
  narg = showHeader.arguments.length
  // Test auf narg:
  if (narg == 0) {
     // this.doc.writeln("No Arguments, do nothing<p>")
     return
  }
  // Show Args:
  // for(i=0;i<narg;i++){this.doc.writeln("arg Nr. "+i+" : "+showHeader.arguments[i]+"<p>")}this.doc.writeln("<h1>And this is the output:<\/h1>")
  
  /////////////////////////////////////////////////////////////////
  // Nur Label und Umrahmung darstellen
  if (showHeader.arguments[0] == 0) {
    if ((narg > 1) && (showHeader.arguments[1] != 0)) {
      h = showHeader.arguments[1]
    }
    else { 
      h = la1.height
    }
    if ((narg > 2)  && (showHeader.arguments[2] != 0)) {
      w = showHeader.arguments[2]
    }
    else { 
      w = la1.width
    }
    this.doc.write("<p>&nbsp;<br><center><table width=" +
                   w +
                   " border=0 cellpadding=0 cellspacing=0>" + 
                   "<tr><td><img src=\"" + ROOTP + "gfx/pics/ethlogo-b.gif" +
                   " width=150><\/td>" +
                   "<td align=left Valign=top>" +
                   "<img src=\"" + ROOTP + "gfx/menu/lab1.gif\"width=" +
                   w +
                   " height=" +
                   h +
                   " border=0><\/td><\/tr>" +
                   "<tr><td><img src=\"\" width=150><\/td>" +
                   "<td align=left Valign=top>" +
                   "<img src=\"" + ROOTP + "gfx/menu/lab2.gif\"width=" +
                   w +
                   " height=" +
                   h +
                   " border=0><\/td><\/tr>" +
                   "<\/table><\/center>")
  }
  ////////////////////////////////////////////////////////////
  // Nur Titelstring und Umrahmung wird
  // dargestellt, und zwar die Beiden subTitles zentriert..
  //
  if (showHeader.arguments[0] == 1) {
    if ((narg > 1) && (showHeader.arguments[1] != 0)) {
      h = showHeader.arguments[1]
    }
    else { 
      h = t11.height
    }
    if ((narg > 2)  && (showHeader.arguments[2] != 0)) {
      w = showHeader.arguments[2]
    }
    else { 
      w = t11.width  // Dies ist die breitere Zeile...
    }
    this.doc.write("<p>&nbsp;<br><center><table width=" +
                   eval(w) +
                   " border=0 cellpadding=0 cellspacing=0>" + 
                   "<tr><td align=left Valign=top>" ); 
    // Hier nun die Farbe des Titel, bzw den Pfad zum
    // Titelstring zusammensetzen, sowie die Breite berechnen,
    // die die Dummies links und rechts von der zweiten Zeile
    // in der Tabelle haben muessen. Dazu wird auch ein
    // Skalierungsfaktor ausgerechnet, der fuer die Breite
    // des zweiten, kuerzeren Strings benutzt wird.
    ti1str = eval("t1" + t1_a[0] + ".src")
    ti2str = eval("t2" + t2_a[0] + ".src")
    skal = w / t11.width
    w2 = Math.round(t21.width * skal)
    dul = Math.round((w - w2) / 2)
    dur = w - w2 - dul
    this.doc.write("<img src=\"" + ti1str + "\"" +
                   " width=" +
                   w +
                   " height=" +
                   h +
                   " border=0><\/td><\/tr><tr><td align=left Valign=top>" +
                   "<img src=\"" + ROOTP + "gfx/menu/dummy.gif\"width=" +
                   dul +
                   " height=" +
                   h + 
                   " border=0>" +
                   "<img src=\"" + ti2str + "\"" +
                   " width=" +
                   w2 +
                   " height=" +
                   h +
                   " border=0>" +
                   "<img src=\"" + ROOTP + "gfx/menu/dummy.gif\"width=" +
                   dur +
                   " height=" +
                   h + 
                   " border=0><\/td><\/tr>" +
                   "<\/table><\/center>")
  }
  ///////////////////////////////////////////////////////////////
  // Titelbalken mit Buttons und Labels wird dargestellt. Titel
  // oben, unten dran die Knoepfe, Hoehe genommen, Breite 
  // wird berechnet. Fuer die Breite wird auf die Vernunft
  // des Benutzers dieser Funktionen gezaehlt.
  // Auf der Linken Seite ist auch das Label dargestellt.
  // 
  if (showHeader.arguments[0] == 2) {
    if ((narg > 1) && (showHeader.arguments[1] > 0)) {
      h = showHeader.arguments[1]
    }
    else {
      // set height to default
      h = ti1.height
    }
    if ((narg > 2)  && (showHeader.arguments[2] != 0)) {
      w = showHeader.arguments[2]
    }
    else {
      // set width to default
      w = ti1.width
    }
    if (narg < 4) {
      //this.doc.writeln("Not enough arguments: Buttons missing<p>")
      return
    }
    // Anzahl Buttons = Anzahl Argumente - 3
    nb = narg - 3
    butw = 0
    for( i = 3; i < narg; i++) {
      bustr = showHeader.arguments[i] 
      butw = butw + eval(bustr + "1.width")
    }
    if ( butw < ti1.width) {
      tablew = ti1.width
    }
    else {
      tablew = butw
    }
    // Oberer Rand und Titlestring, ev Platzhalter, und Label
    makeHeadertitlelabel(tablew, h, this.doc)
    // And now the buttons, start with the left border,
    // add the second label part 
    // and add all the buttons in a loop
    this.doc.write("<img src=\"" + ROOTP + "gfx/menu/lab2.gif\"" +
                   " height=" +
                   h + 
                   " border=0>")
    for( i = 3; i < narg; i++) {
      bustr = showHeader.arguments[i]
      bucol = eval(bustr + "_a[0]")
      buover = eval(bustr + "_a[1]")
      bustat = eval(bustr + "_a[2]")
      bualt = eval(bustr + "_a[3]")
      buurl = eval(bustr + "_a[4]")
      butgt = eval(bustr + "_a[5]")
      srcover = bustr + buover + ".src"
      srcstr = bustr + bucol + ".src"
      target = " target=\"" + butgt + "\""
      // target not used now....
        //if (butgt == "_top") {
        //target = " target=\"" + butgt + "\""
        //}
      this.doc.write("<a href=\"" + buurl + "\" onmouseover=\"" +
                     "ba\(\'" + bustr + "\'," + 
                     buover + "\);window.status=\'" +
                     bustat + "\';return true\"onmouseout=\"" +
                     "bia\(\'" + bustr + "\'," + 
                     bucol + "\)\" " + target + "><img src=\"" +
                     eval(srcstr) + "\"alt=\"" +
                     bualt + "\"width=" + eval(bustr + "1.width") +
                     " height=" + h + " border=0 name=\"" +
                     bustr + "\"><\/a>")
    }
    // Testen, ob die Titelzeile oben breiter ist als die Buttons,
    // falls ja, noch zusaetzlich ein Dummy einfuegen 
    if (butw < tablew) {
      dw = tablew - butw
      this.doc.write("<img src=\"" + ROOTP + "gfx/menu/dummy.gif\"width=" +
                dw +
                " height=" +
                h +
                " border=0>")
    }
    // Unterer Rand
    // Achtung, hier wird der untere Rand noch verbreitert
    // um die Breite des Labels, welche berechnet wird.
    w2 = h * la1.width / la1.height;
    makeHeaderbottom(tablew + w2, h, this.doc)
  }
  /////////////////////////////////////////////////////////////
  // Titelbalken mit Buttons wird dargestellt. Der Titelbalken
  // oben, unten dran die Knoepfe, Hoehe genommen, Breite 
  // wird berechnet. Fuer die Breite wird auf die Vernunft
  // des Benutzers dieser Funktionen gezaehlt.
  // 
  if (showHeader.arguments[0] == 3) {
    if ((narg > 1) && (showHeader.arguments[1] > 0)) {
      h = showHeader.arguments[1]
    }
    else {
      // set height to default
      h = ti1.height
    }
    if ((narg > 2)  && (showHeader.arguments[2] != 0)) {
      w = showHeader.arguments[2]
    }
    else {
      // set width to default
      w = ti1.width
    }
    if (narg < 4) {
      //this.doc.writeln("Not enough arguments: Buttons missing<p>")
      return
    }
    // Anzahl Buttons = Anzahl Argumente - 3
    nb = narg - 3
    butw = 0
    for( i = 3; i < narg; i++) {
      bustr = showHeader.arguments[i] 
      butw = butw + eval(bustr + "1.width")
    }
    if ( butw < ti1.width) {
      tablew = ti1.width
    }
    else {
      tablew = butw
    }
    // Oberer Rand und Titlestring, ev Platzhalter
    makeHeadertitle(tablew, h, this.doc)
    // And now the buttons, start with the left border,
    // and add all the buttons in a loop
    for( i = 3; i < narg; i++) {
      bustr = showHeader.arguments[i]
      bucol = eval(bustr + "_a[0]")
      buover = eval(bustr + "_a[1]")
      bustat = eval(bustr + "_a[2]")
      bualt = eval(bustr + "_a[3]")
      buurl = eval(bustr + "_a[4]")
      butgt = eval(bustr + "_a[5]")
      srcover = bustr + buover + ".src"
      srcstr = bustr + bucol + ".src"
      target = " target=\"" + butgt + "\""
      this.doc.write("<a href=\"" + buurl + "\"onmouseover=\"" +
                     "ba\(\'" + bustr + "\'," + 
                     buover + "\);window.status=\'" +
                     bustat + "\';return true\"onmouseout=\"" +
                     "bia\(\'" + bustr + "\'," + 
                     bucol + "\)\" " + target + "><img src=\"" +
                     eval(srcstr) + "\"alt=\"" +
                     bualt + "\"width=" + eval(bustr + "1.width") +
                     " height=" + h + " border=0 name=\"" +
                     bustr + "\"><\/a>")
    }
    // Testen, ob die Titelzeile oben breiter ist als die Buttons,
    // falls ja, noch zusaetzlich ein Dummy einfuegen 
    if (butw < tablew) {
      dw = tablew - butw
      this.doc.write("<img src=\"" + ROOTP + "gfx/menu/dummy.gif\" width=" +
                dw +
                " height=" +
                h +
                " border=0>")
    }
    // Unterer Rand
    makeHeaderbottom(tablew, h, this.doc)
  }
  //////////////////////////////////////////////////////////////
  // Nur die Buttons werden dargestellt, ohne irgendwelche Raender
  // oder sowas aehnliches. Dieser Modus wird zur Zeit bei der 
  // Experimentliste benutzt, um dem Leser die Wahl zu geben,
  // ob er Einzelbilder oder Filme zuerst sehen will.
  //
  // Es handelt sich dabei in mancher Beziehung um einen Spezialfall,
  // da auch noch onclick Events beachtet werden und dazu weitere Daten
  // uebergeben werden muessen. Dies wird auf eine murksige Art und Weise
  // gemacht, indem in den URL codierte Informationen der angezeigten
  // Buttons interpretiert wird.
  //
  if (showHeader.arguments[0] == 5) {
    if ((narg > 1) && (showHeader.arguments[1] > 0)) {
      h = showHeader.arguments[1]
    }
    else {
      // set height to default
      h = ti1.height
    }
    if ((narg > 2)  && (showHeader.arguments[2] != 0)) {
      w = showHeader.arguments[2]
    }
    else {
      // set width to default
      w = ti1.width
    }
    if (narg < 4) {
      //this.doc.writeln("Not enough arguments: Buttons missing<p>")
      return
    }
    // Anzahl Buttons = Anzahl Argumente - 3
    nb = narg - 3
    butw = 0
    for( i = 3; i < narg; i++) {
      bustr = showHeader.arguments[i] 
      butw = butw + eval(bustr + "1.width")
    }

    for( i = 3; i < narg; i++) {
      bustr = showHeader.arguments[i]
      bucol = eval(bustr + "_a[0]");
      buover = eval(bustr + "_a[1]");
      bustat = eval(bustr + "_a[2]");
      bualt = eval(bustr + "_a[3]");
      buurl = eval(bustr + "_a[4]");
      butgt = eval(bustr + "_a[5]")
      // URL Decodieren, die Information fuer onclick rauszuholen,
      // die fuer die Cookies benutzt werden muss.
      // urlpair[0] ist der wirklich url, urlpair [1] muss weiter
      // zerlegt werden.
      //      urlpair=buurl.split("?");
      // Nun die einzelnen Infos rausholen:
      // codon[0] ist die experimentnummer.
      // codon[1] ist 0 oder 1, '1' ist ein Film, '0' ist einzelbilder.
      //      codons=urlpair[1].split("&");
      srcover = bustr + buover + ".src";
      srcstr = bustr + bucol + ".src";
      target = " target=\"" + butgt + "\""
      this.doc.write("<a href=\"" + buurl + "\"onmouseover=\"" +
                     "ba\(\'" + bustr + "\'," + 
                     buover + "\);window.status=\'" +
                     bustat + "\';return true\"" +
                     "onmouseout=\"" +
                     "bia\(\'" + bustr + "\'," +
                     bucol + "\)\" " + target + "><img src=\"" +
                     eval(srcstr) + "\"alt=\"" +
                     bualt + 
                     "\" height=" + h + " border=0 name=\"" +
                     bustr + "\"><\/a>");
    }
  }
}


function makeHeader(doc) {
  this.doc = doc;
  this.display = showHeader;
  this.setImageValues = setImageValues;
}















