<!--
// Parameter
var sense1 = 10 // Sensibilitaetszone 1 (in %)
var sense2 = 5  // Sensibilitaetszone 2 (in %)
var speed1 = 1  // Scrollgeschwindigkeit in Zone 1
var speed2 = 5  // Scrollgeschwindigkeit in Zone 2
var stime  = 50 // Timer zum Scrollen

// Interne Variablen
var scrolling = false
var scrollfast
var richtung
var y_mem = -1
var myWin

// Scrolling anhalten
function stopp_scrolling()
{
  scrolling = false
  y_mem     = -1
}

// Scroll aktivieren und durchfuehren
function start_scrolling(initial)
{
  if(!scrolling)
    return

  // Dokumentposition ermitteln
  var dy = (myWin.pageYOffset != null) ? myWin.pageYOffset : myWin.document.body.scrollTop
  if((y_mem != dy) && !initial)
    return
  var dx = (myWin.pageXOffset != null) ? myWin.pageXOffset : myWin.document.body.scrollLeft
  dy += richtung * (scrollfast ? speed2 : speed1)

  // Scrollen
  myWin.scrollTo(dx, dy)
  y_mem = dy

  // Funktion erneut aufrufen
  setTimeout("start_scrolling(false)", stime)
}

// Auswertung der Mausposition
function zeige(e)
{
  // Mausposition und Dokumentdaten
  var y = myWin.Event ? e.pageY : myWin.event.clientY
  if(myWin.Event)
    y -= - (myWin.pageYOffset != null) ? myWin.pageYOffset : myWin.document.body.scrollTop
  var wh = myWin.innerHeight ? myWin.innerHeight : myWin.document.body.clientHeight
  var dh = myWin.document.height ? myWin.document.height : myWin.document.body.scrollHeight

  // Zwischenvariablen
  var s1 = Math.round(wh * sense1 / 100)
  var s2 = Math.round(wh * sense2 / 100)
  var now_scroll

  // Scrollnotwendigkeit ermitteln
  if((y < s1) || (y > (wh - s1)))
  {
    now_scroll = true
    richtung   = (y < s1) ? -1 : 1
    scrollfast = ((y < s2) || (y > (wh - s2))) ? true : false
  }
  else
  {
    now_scroll = false
    scrolling  = false
  }

  // Scrollstatus geaendert?
  if(now_scroll != scrolling)
  {
    y_mem     = -1
    scrolling = now_scroll
    if(scrolling)
      start_scrolling(true)
  }
}

// Mauskontrolle initiieren
function init()
{
  myWin = window

  if(myWin.Event)
    myWin.document.captureEvents(Event.MOUSEMOVE)

  myWin.document.onmousemove = zeige
}

//-->

