function checkBrowser () {
    this.ver = navigator.appVersion;
    this.dom = document.getElementById?1:0;
    this.ie6 = (this.ver.indexOf ("MSIE 6") >-1 && this.dom) ?1:0;
    this.ie5 = (this.ver.indexOf ("MSIE 5") >-1 && this.dom) ?1:0;
    this.ie4 = (document.all && !this.dom) ?1:0;
    this.ns5 = (this.dom && parseInt (this.ver)  >=  5)  ?1:0;
    this.ns4 = (document.layers && !this.dom) ?1:0;
    this.bw  = (this.ie5 || this.ie4 || this.ns4 || this.ns5)
    return this
}

bw = new checkBrowser ()

var speed = 50
var loop, timer
var loaded;
var Merker = false;
var firstMove = false;
var mouse_pos;

function makeObj (obj,nest) {     //Object constructor
    if  (!nest)  {nest = ''}
        else {nest = 'document.' + nest + '.'}
    this.el = 0;
    this.css = 0;
    if  (bw.dom)  {
        this.el = document.getElementById (obj) ;
        this.css = document.getElementById (obj) .style;
        this.scrollHeight = this.el.offsetHeight;
        this.clipHeight = this.el.offsetHeight;
        }
    if  (bw.ie4)  {
        this.el = document.all[obj];
        this.css = document.all[obj].style;
        this.scrollHeight = this.el.offsetHeight;
        this.clipHeight = this.el.offsetHeight;
        }
    if  (bw.ns4)  {
        this.el = eval (nest + 'document.' + obj) ;
        this.css = eval (nest + 'document.' + obj) ;
        this.scrollHeight = this.css.document.height;
        this.clipHeight = this.css.clip.height;
        }
    this.up = goUp; this.down = goDown;
    this.moveIt = moveIt;  this.x;  this.y;
    this.obj = obj +  "Object";
    eval (this.obj  +  " = this")
    return this
    }
    
function moveIt (x,y) {
    this.x = x; this.y = y
    this.css.left = this.x
    this.css.top = this.y //Höhe von Scrolling -> Gesamthöhe-Cliphöhe
    }
    
function goDown (move) {  //Makes the object go up
    if (this.y > (-this.scrollHeight + oCont.clipHeight) )  {
        this.moveIt (0,this.y - move)
        step =  (this.y - move) / (-this.scrollHeight + oCont.clipHeight)
        block_move (step)
        if (loop)  setTimeout (this.obj + ".down (" + move + ") ",speed)
        }
    }
    
function goUp (move) {    //Makes the object go down
    if (this.y < 0)  {
        this.moveIt (0,this.y-move)
        step =  (this.y - move) / (-this.scrollHeight + oCont.clipHeight)
        block_move (step)
        if (loop)  setTimeout (this.obj + ".up (" + move + ") ",speed)
        }
    }
    
function scroll (speed) { //Calls the scrolling functions. Also checks whether the page is loaded or not.
    if (loaded) {
        loop = true;
        firstMove = true;
        if (speed > 0)  oScroll.down (speed)
        else oScroll.up (speed)
        }
    }
    
function noScroll () {    //Stops the scrolling  (called on mouseout)
    loop = false
    if (timer)  clearTimeout (timer)
    }
    
function block_move (step)  {
    if  (step < 0)  step = 0
    if  (step > 1)  step = 1
    oblock.css.top = oblock.topposition +  (step*oblock.laufweite)
    }

function scrollInit () {  //Makes the object
    oCont = new makeObj ('clipcontent')
    oblock = new makeObj ('scrollblock')
    oscroller = new makeObj ('scroller')
    oScroll = new makeObj ('textcontent','clipcontent')
    oScroll.moveIt (0,0)

    if  (oCont.clipHeight < oScroll.clipHeight)  {
        oscroller.css.visibility = 'visible'
        oblock.css.visibility = 'visible'
        }

    oCont.css.visibility = 'visible'
	oScroll.css.visibility = 'visible'
    oblock.topposition = 65
    oblock.leftposition = 500
    oblock.bottomposition = oblock.topposition + 210
    oblock.laufweite = oblock.bottomposition-oblock.topposition
    loaded = true;
    scroll (1) ;
    scroll (-1) ;
    noScroll () ;
    }

