
  var viewport = null;
  var kapitel = null;	
  var kapitelHoehe = 0;           // kapitel.offsetHeight	
  var viewportHoehe = 0;          // viewport.offsetHeight;	
  var hoehenunterschiedText = 0;  // kapitelHoehe - viewportHoehe;	
  var viewportTop = 0; 		  // viewport.offsetTop;
  var kapitelTop = 0; 		  // kapitel.offsetTop;
  var scrollingTextTop = 0; 	  // kapitelTop - hoehenunterschiedText;


  function test_elements() {
    if(document.getElementById('viewport')) alert("viewport ist da");
    if(document.getElementById('seiteninhalt')) alert("seiteninhalt ist da");
  }

  function scroll_init() {
    // welche Elemente sollen angesprochenen werden  ?
    viewport = document.getElementById('viewport');
    kapitel = document.getElementById('seiteninhalt');	
    // falls diese Elemente nicht vorhanden sind, alle abhaengigen Werte auf '0' setzen 	
    // wie hoch ist der Text-Viewport ?
    if (viewport == null) { 
      viewportHoehe = 0;	
      viewportTop = 0;
    } else {
      viewportHoehe = viewport.offsetHeight;	
      viewportTop = viewport.offsetTop;
    }
    // wie hoch ist das Kapitel ?
    if (kapitel == null) { 
      kapitelHoehe = 0;	
      kapitelTop = 0;
    } else {
      kapitelHoehe = kapitel.offsetHeight;	
      kapitelTop = kapitel.offsetTop;
    }
    // muss Text gescrollt werden ?
    // wenn Kapitel höher als Text-Viewport, dann Text-Scrollbuttons zeigen
    hoehenunterschiedText = kapitelHoehe - viewportHoehe;
    if (hoehenunterschiedText > 0) {
//      alert("gescrollt werden muss ...");
//      document.getElementById('scroll_kalender').style.visibility="visible";
      document.getElementById('scroll_seiteninhalt').style.visibility="visible";

    }
    scrollingTextTop = kapitelTop - hoehenunterschiedText;
//      alert("und zwar bis ..." + scrollingTextTop);
  }
  
  // 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;
    }
  }
