
    var viewportText = null;
    var kapitel = null;	
    var viewportMedien = null;
    var bilder = null;		
	
    var kapitelHoehe = 0;           // kapitel.offsetHeight	
    var viewportTextHoehe = 0;      // viewportText.offsetHeight;	
    var bilderHoehe = 0;            // bilder.offsetHeight	
    var viewportMedienHoehe = 0;    // viewportMedien.offsetHeight;	

    var hoehenunterschiedText = 0; 	// kapitelHoehe - viewportTextHoehe;	
    var viewportTextTop = 0; 		// viewportText.offsetTop;
    var kapitelTop = 0; 			// kapitel.offsetTop;
	var scrollingTextTop = 0; 		// kapitelTop - hoehenunterschiedText;

    var hoehenunterschiedMedien = 0;// kapitelHoehe - viewportMedienHoehe;	
    var viewportMedienTop = 0; 		// viewportMedien.offsetTop;
    var bilderTop = 0; 				// bilder.offsetTop;
	var scrollingMedienTop = 0; 	// kapitelTop - hoehenunterschiedText;

    function scroll_init() {
    // welche Elemente sollen angesprochenen werden  ?
    viewportText = document.all.viewport_text;
    kapitel = document.all.kapitel;	
    viewportMedien = document.all.viewport_medien;
    bilder = document.all.bilder;	
    // falls diese Elemente nicht vorhanden sind, alle abhaengigen Werte auf '0' setzen 	
	// wie hoch ist der Text-Viewport ?
    if (viewportText == null) { 
	    viewportTextHoehe = 0;	
        viewportTextTop = 0;
    } else {
	    viewportTextHoehe = viewportText.offsetHeight;	
        viewportTextTop = viewportText.offsetTop;
    }
	// wie hoch ist das Kapitel ?
	if (kapitel == null) { 
        kapitelHoehe = 0;	
        kapitelTop = 0;
	} else {
        kapitelHoehe = kapitel.offsetHeight;	
        kapitelTop = kapitel.offsetTop;
	}
	// wie hoch ist der Medien-Viewport ?
    if (viewportMedien == null) { 
	    viewportMedienHoehe = 0;	
        viewportMedienTop = 0;
    } else {
	    viewportMedienHoehe = viewportMedien.offsetHeight;	
        viewportMedienTop = viewportMedien.offsetTop;
    }
	// wie hoch sind die Bilder ?
	if (bilder == null) { 
        bilderHoehe = 0;	
        bilderTop = 0;
	} else {
        bilderHoehe = bilder.offsetHeight;	
        bilderTop = bilder.offsetTop;
	}


	
    // muss Text gescrollt werden ?
	// wenn Kapitel höher als Text-Viewport, dann Text-Scrollbuttons zeigen
    hoehenunterschiedText = kapitelHoehe - viewportTextHoehe;
    if (hoehenunterschiedText > 0) {
		document.all.scroll_kapitel.style.visibility="visible";
		}
	scrollingTextTop = kapitelTop - hoehenunterschiedText;

    // muessen Bilder gescrollt werden ?
	// wenn Bilder höher als Medien-Viewport, dann Bilder-Scrollbuttons zeigen
    hoehenunterschiedMedien = bilderHoehe - viewportMedienHoehe;	
    if (hoehenunterschiedMedien > 0) {
		document.all.scroll_bilder.style.visibility="visible";
		}
	scrollingMedienTop = bilderTop - hoehenunterschiedMedien;
  }

  // den FSCommand-Aufruf vom VBScript übernehmen
  function scrollKapitel_DoFSCommand(command, args) { 
    if (command == "scrollKapitel") { 
       scrollKapitel(args);
    }
  }

  function scrollKapitel(richtung) {
    schrittweite = 20;
	// 'scroll-down' :: Kapitel nach oben schieben, bis Kapitel-Unterkante sichtbar ist
	if (richtung == "down" & (kapitelTop > scrollingTextTop)) {
	  kapitel.style.top = kapitel.offsetTop - schrittweite;
	  kapitelTop = kapitel.offsetTop;
	}
	// 'scroll-up' :: Kapitel nach unten schieben, bis Kapitel-Oberkante sichtbar ist
	if (richtung == "up" & (kapitelTop < 0)) {
	  kapitel.style.top = kapitel.offsetTop + schrittweite;
	  kapitelTop = kapitel.offsetTop;
	}
  }

  // den FSCommand-Aufruf vom VBScript übernehmen
  function scrollBilder_DoFSCommand(command, args) { 
    if (command == "scrollBilder") { 
       scrollBilder(args);
    }
  }

  function scrollBilder(richtung) {
    schrittweite = 20;
	// 'scroll-down' :: Bilder nach oben schieben, bis Bildspalte-Unterkante sichtbar ist
	if (richtung == "down" & (bilderTop > scrollingMedienTop)) {
	  bilder.style.top = bilder.offsetTop - schrittweite;
	  bilderTop = bilder.offsetTop;
	}
	// 'scroll-up' :: Bilder nach unten schieben, bis Bildspalte-Oberkante sichtbar ist
	if (richtung == "up" & (bilderTop < 0)) {
	  bilder.style.top = bilder.offsetTop + schrittweite;
	  bilderTop = bilder.offsetTop;
	}
  }
