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)
		knubbel_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)
		knubbel_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 knubbel_move(step) {
	if (step<0) step=0
	if (step>1) step=1
	oKnubbel.css.top=oKnubbel.topposition+(step*oKnubbel.laufweite)
	}
function get_knubbel(e) {
	if((document.layers && e.which!=1) || (document.all && event.button!=1)) return true; // Rechte Mausbutton
	getMouse(e);
	if (firstMove) {
		if((mouseY>=parseInt(oKnubbel.css.top) && mouseY<=parseInt(oKnubbel.css.top)+9) && (mouseX>=oKnubbel.leftposition && mouseX<=oKnubbel.leftposition+9)){
			Merker = true;
			return false;
			}
		}
	else {
		if((mouseY>=oKnubbel.topposition && mouseY<=oKnubbel.topposition+9) && (mouseX>=oKnubbel.leftposition && mouseX<=oKnubbel.leftposition+9)){
			Merker = true;
			firstMove=true;
			return false;
			}
		}
	}
function drag(e) {
	if(Merker) {
		getMouse(e);
		if (mouseY>=oKnubbel.topposition && mouseY<=oKnubbel.bottomposition) {
			oKnubbel.css.top=mouseY;
			knubbel_position=(mouseY-oKnubbel.topposition)/(oKnubbel.laufweite);
			if (knubbel_position<0) knubbel_position=0;
			if (knubbel_position>1) knubbel_position=1;
			drag_content=knubbel_position*(oScroll.scrollHeight-oCont.clipHeight);
			oScroll.moveIt(0,-drag_content);
			}
		else if (mouseY<oKnubbel.topposition) {
			oKnubbel.css.top=oKnubbel.topposition;
			oScroll.moveIt(0,0);
			}
		else if (mouseY>oKnubbel.bottomposition) {
			oKnubbel.css.top=oKnubbel.bottomposition;
			oScroll.moveIt(0,-oScroll.scrollHeight+oCont.clipHeight);
			}
		if (bw.ie4 || bw.ie5) return false;
		}
	}
function lost_knubbel(e) {
	Merker=false;
	}
function getMouse(e){
	if(bw.ns4){
		mouseY = e.pageY;
		mouseX = e.pageX;
		}
	else if(bw.ie4 || bw.ie5 || bw.ie6){
		mouseY = event.clientY + document.body.scrollTop;
		mouseX = event.clientX + document.body.scrollLeft;
		}
	else if(bw.dom){
		mouseY = e.pageY;
		mouseX = e.pageX;
		}
	}
function scrollInit(left_knubbel,start_knubbel,hoehe_knubbel){	//Makes the object
	oCont=new makeObj('divCont')
	oKnubbel=new makeObj('knubbel')
	oScroll=new makeObj('textbox','divCont')
	oScroll.moveIt(0,0)
	oCont.css.visibility='visible'
	if (start_knubbel) oKnubbel.topposition=start_knubbel
	else oKnubbel.topposition=27
	if (left_knubbel) oKnubbel.leftposition=left_knubbel
	else oKnubbel.leftposition=388
	if (hoehe_knubbel) oKnubbel.bottomposition=oKnubbel.topposition+hoehe_knubbel
	else oKnubbel.bottomposition=oKnubbel.topposition+273
	oKnubbel.laufweite=oKnubbel.bottomposition-oKnubbel.topposition
	loaded=true;
	if(bw.ns4){
		document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
		}
	document.onmousedown = get_knubbel;
	document.onmousemove = drag;
	document.onmouseup = lost_knubbel;
	scroll(1);
	scroll(-1);
	noScroll();
	}

