// ----------------------------------------------//// scrollbar.js//// ----------------------------------------------// by geeeet@ghtml.com// init scrollvar upH = 13;      // Height of up-arrowvar upW = 13;      // Width of up-arrowvar downH = 13;    // Height of down-arrowvar downW = 13;    // Width of down-arrowvar dragH = 81;    // Height of scrollbarvar dragW = 13;    // Width of scrollbarvar scrollH = 197; // Height of scrollbarvar speed = 4;     // Scroll speed// Browser detectionvar dom = document.getElementById ? true:false;var nn4 = document.layers ? true:false;var ie4 = document.all ? true:false;var mouseY; // Mouse Y position onclickvar mouseX; // Mouse X position onclickvar clickUp = false; // If click on up-arrowvar clickDown = false; // If click on down-arrowvar clickDrag = false; // If click on scrollbarvar clickAbove = false; // If click above scrollbarvar clickBelow = false; // If click below scrollbarvar timer = setTimeout("",500); // Repeat variablevar upL; // Up-arrow Xvar upT; // Up-arrow Yvar downL; // Down-arrow Xvar downT; // Down-arrow Yvar dragL; // Scrollbar Xvar dragT; // Scrollbar Yvar rulerL; // Ruler Xvar rulerT; // Ruler Yvar contentT; // Content layer Y;var contentH; // Content heightvar contentClipH; // Content clip heightvar scrollLength; // Number of pixels scrollbar should movevar startY; // Keeps track of offset between mouse and spanfunction MM_reloadPage(init) {  //reloads the window if Nav4 resized  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();}MM_reloadPage(true);// -->function MM_findObj(n, d) { //v4.01  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);  if(!x && d.getElementById) x=d.getElementById(n); return x;}// funktionen fuer das INFOCENTERvar selectedtxt = "";function MM_changeProp(objName,x,theProp,theValue) { //v6.0	if (selectedtxt != ""){		var objalt = MM_findObj(selectedtxt);				if (objalt && (theProp.indexOf("style.")==-1 || objalt.style)){			if (theValue == true || theValue == false)		  	eval("objalt."+theProp+"="+"none");			else eval("objalt."+theProp+"='"+"none"+"'");  		}	}		selectedtxt = objName;	  var obj = MM_findObj(objName);  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){    if (theValue == true || theValue == false)      eval("obj."+theProp+"="+theValue);    else eval("obj."+theProp+"='"+theValue+"'");  }}// *******************************************************************function initNavigation(category, bildname, subcategory, name) {	//alert(top['navi'].document.title);	top['navi'].setCategoryFromContent(category, bildname, subcategory, name);}function frameCheck(URL) {	if (self.location == top.location) { 		location.href = "../../frameset_german.html?loadURL=" + escape(URL);	}}// Mousedownfunction down(e){	if((document.layers && e.which!=1) || (document.all && event.button!=1)) return true; // Enables the right mousebutton	getMouse(e);	startY = (mouseY - dragT);		// If click on up-arrow	if(mouseX >= upL && (mouseX <= (upL + upW)) && mouseY >= upT && (mouseY <= (upT + upH))){		clickUp = true;		return scrollUp();	}		// Else if click on down-arrow	else if(mouseX >= downL && (mouseX <= (downL + downW)) && mouseY >= downT && (mouseY <= (downT + downH))){		clickDown = true;		return scrollDown();	}	// Else if click on scrollbar	else if(mouseX >= dragL && (mouseX <= (dragL + dragW)) && mouseY >= dragT && (mouseY <= (dragT + dragH))){		clickDrag = true;		return false;	}	else if(mouseX >= dragL && (mouseX <= (dragL + dragW)) && mouseY >= rulerT && (mouseY <= (rulerT + scrollH))){		// If click above drag		if(mouseY < dragT){			clickAbove = true;			clickUp = true;			return scrollUp();		}		// Else click below drag		else{			clickBelow = true;			clickDown = true;			return scrollDown();		}	}	// If no scrolling is to take place	else{		return true;	}}// Drag functionfunction move(e){	if(clickDrag && contentH > contentClipH){		getMouse(e);		dragT = (mouseY - startY);				if(dragT < (rulerT))			dragT = rulerT;				if(dragT > (rulerT + scrollH - dragH))			dragT = (rulerT + scrollH - dragH);				contentT = ((dragT - rulerT)*(1/scrollLength));		contentT = eval('-' + contentT);		moveTo();				// So ie-pc doesn't select gifs		if(ie4)			return false;	}}function up(){	clearTimeout(timer);	// Resetting variables	clickUp = false;	clickDown = false;	clickDrag = false;	clickAbove = false;	clickBelow = false;	return true;}function out() {	// sl04: für die pfeiltasten mouseout behandeln wie mouseup, da sonst bei releaseOutside mouseup ignoriert wird	if (!clickDrag) up ( );}// Reads content layer topfunction getT(){	if(ie4)		contentT = document.all.content.style.pixelTop;	else if(nn4)		contentT = document.contentClip.document.content.top;	else if(dom)		contentT = parseInt(document.getElementById("content").style.top);}// Reads mouse X and Y coordinatesfunction getMouse(e){	if(ie4){		mouseY = event.clientY + document.body.scrollTop;		mouseX = event.clientX + document.body.scrollLeft;	}	else if(nn4 || dom){		mouseY = e.pageY;		mouseX = e.pageX;	}}// Moves the layerfunction moveTo(){	if(ie4){		document.all.content.style.top = contentT;		document.all.ruler.style.top = dragT;		document.all.drag.style.top = dragT;	}	else if(nn4){		document.contentClip.document.content.top = contentT;		document.ruler.top = dragT;		document.drag.top = dragT;	}	else if(dom){		document.getElementById("content").style.top = contentT + "px";		document.getElementById("drag").style.top = dragT + "px";		document.getElementById("ruler").style.top = dragT + "px";	}}// Scrolls upfunction scrollUp(){	getT();		if(clickAbove){		if(dragT <= (mouseY-(dragH/2)))			return up();	}		if(clickUp){		if(contentT < 0){					dragT = dragT - (speed*scrollLength);						if(dragT < (rulerT))				dragT = rulerT;							contentT = contentT + speed;			if(contentT > 0)				contentT = 0;						moveTo();			timer = setTimeout("scrollUp()",25);		}	}	return false;}// Scrolls downfunction scrollDown(){	getT();		if(clickBelow){		if(dragT >= (mouseY-(dragH/2)))			return up();	}	if(clickDown){		if(contentT > -(contentH - contentClipH)){						dragT = dragT + (speed*scrollLength);			if(dragT > (rulerT + scrollH - dragH))				dragT = (rulerT + scrollH - dragH);						contentT = contentT - speed;			if(contentT < -(contentH - contentClipH))				contentT = -(contentH - contentClipH);						moveTo();			timer = setTimeout("scrollDown()",25);		}	}	return false;}// reloads page to position the layers againfunction reloadPage(){	location.reload();}// Preloadfunction eventLoader(){	if(ie4){		// Up-arrow X and Y variables		upL = document.all.up.style.pixelLeft;		upT = document.all.up.style.pixelTop;				// Down-arrow X and Y variables		downL = document.all.down.style.pixelLeft;		downT = document.all.down.style.pixelTop;		// Scrollbar X and Y variables		dragL = document.all.drag.style.pixelLeft;		dragT = document.all.drag.style.pixelTop;				// Ruler Y variable		rulerT = document.all.ruler.style.pixelTop;				// Height of content layer and clip layer		contentH = parseInt(document.all.content.scrollHeight);		contentClipH = parseInt(document.all.contentClip.style.height);	}	else if(nn4){		// Up-arrow X and Y variables		upL = document.up.left;		upT = document.up.top;				// Down-arrow X and Y variables		downL = document.down.left;		downT = document.down.top;				// Scrollbar X and Y variables		dragL = document.drag.left;		dragT = document.drag.top;				// Ruler Y variable		rulerT = document.ruler.top;		// Height of content layer and clip layer		contentH = document.contentClip.document.content.clip.bottom;		contentClipH = document.contentClip.clip.bottom;	}	else if(dom){		// Up-arrow X and Y variables		upL = parseInt(document.getElementById("up").style.left);		upT = parseInt(document.getElementById("up").style.top);		// Down-arrow X and Y variables		downL = parseInt(document.getElementById("down").style.left);		downT = parseInt(document.getElementById("down").style.top);		// Scrollbar X and Y variables		dragL = parseInt(document.getElementById("drag").style.left);		dragT = parseInt(document.getElementById("drag").style.top);		// Ruler Y variable		rulerT = parseInt(document.getElementById("ruler").style.top);		// Height of content layer and clip layer		contentH = parseInt(document.getElementById("content").offsetHeight);		contentClipH = parseInt(document.getElementById("contentClip").offsetHeight);		document.getElementById("content").style.top = 0 + "px";			}	// Number of pixels scrollbar should move	scrollLength = ((scrollH-dragH)/(contentH-contentClipH));		// pk04: Wenn Text nicht gescrollt werden muss, scrollbar ausblenden	//alert(scrollLength);	if(scrollLength<0) {		if(document.layers){			getLayerRef('up').visibility  = 'hide';			getLayerRef('down').visibility  = 'hide';			getLayerRef('drag').visibility  = 'hide';			getLayerRef('ruler').visibility  = 'hide';			getLayerRef('back').visibility  = 'hide';		} else {			getLayerRef('up').style.visibility  = 'hidden';			getLayerRef('down').style.visibility  = 'hidden';			getLayerRef('drag').style.visibility  = 'hidden';			getLayerRef('ruler').style.visibility  = 'hidden';			getLayerRef('back').style.visibility  = 'hidden';	  	}	}		// Initializes event capturing	if(nn4){		document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);		window.onresize = reloadPage;	}	document.onmouseup = up;	document.onmouseout = out;  // sl04: verhindert no-up-event-bug bei release outside auf den pfeiltasten	document.onmousedown = down;	document.onmousemove = move;}// pk04: funktion um eine layerReferenz zu bekommen, wenn man den namen des layers hatfunction getLayerRef (id, document) {	 if (!document) document = window.document;	 if (document.layers) {	   for (var l = 0; l < document.layers.length; l++)	     if (document.layers[l].id == id) return document.layers[l];		 	   for (var l = 0; l < document.layers.length; l++) {	   	 var result = getLayerRef(id, document.layers[l].document);	     if (result)	       return result;	   }	   return null;	 }	 else if (document.all) {	   return document.all[id];	 }	 else if (document.getElementById) {	   return document.getElementById(id);	 }}
