/*
	Javascript-Funktionen fuer www.netarena.de
	Benoetigt tmdomlib.js v0.5
	
	Code: Tobias Mueller
*/

		/*
			+++
			
			TMSL (DHTML Scroll-Leiste) Version 0.2 
			
			Benoetigt tmdomlib.js v0.5
			
			Kompatible Browser (Liste u.U. unvollstaendig):
			-	Mozilla-basierte Browser (Mozilla, Firefox/Firebird/Phoenix, Netscape 6+ etc.)
			-	Internet Explorer 5+
			-	Opera 7+
			-	Safari/KHTML
			
			Code:	Tobias Mueller 2004
			
			+++
		*/

		var slInit = false;
		function TMSLInit() {
			if (isDOM && !isOPERA6) {
				inhaltMaske = TMGetEl(slInhaltMaske);
				inhalt = TMGetEl(slInhalt);
				leistenBox = TMGetEl(slLeistenBox);
				leiste = TMGetEl(slLeiste);
				greifer = TMGetEl(slGreifer);
				zeigerOben = TMGetEl(slZeigerOben);
				zeigerUnten = TMGetEl(slZeigerUnten);
				inhaltPosY = parseInt(inhalt.style.top) ? parseInt(inhalt.style.top) : 0;
				inhaltMaskenHoehe = inhaltMaske.offsetHeight;
				inhaltHoehe = inhalt.offsetHeight;
				inhaltMinPosY = -inhaltHoehe + inhaltMaskenHoehe;
				inhaltMaxPosY = 0;
				if (inhaltHoehe > inhaltMaskenHoehe) {
					leistenBox.style.visibility = 'visible';
				}
				leistenHoehe = leiste.offsetHeight;
				greiferPosY = parseInt(greifer.style.top) ? parseInt(greifer.style.top) : 0;
				greiferHoehe = greifer.offsetHeight;
				greiferMinPosY = 0;
				greiferMaxPosY = leistenHoehe - greiferHoehe;
				scrollHoehe = greiferMaxPosY / (inhalt.offsetHeight - inhaltMaske.offsetHeight);
				greifer.onmousedown = TMSLZieheGreifer;
				zeigerUnten.onmousedown = function() {
					TMSLScroll(-slSpeed);
				};
				zeigerOben.onmousedown = function() {
					TMSLScroll(slSpeed);
				};
				zeigerUnten.onmouseup = TMSLStopScroll;
				zeigerOben.onmouseup = TMSLStopScroll;
				zeigerUnten.onmouseout = TMSLStopScroll;
				zeigerOben.onmouseout = TMSLStopScroll;
				leiste.onmouseover = TMSLTauscheLeistenBild;
				TMSLNeuesBild(slLeisteB_o);
				slSchleife = false;
				slInit = true;
			}
		}
		
		function TMSLScroll(speed) {
			if (slInit) {
				if (slSchleife) {
					clearTimeout(slSchleife);
					slSchleife = false;
				}
				if (((speed < 0) && (inhaltPosY > inhaltMinPosY)) || ((speed > 0) && (inhaltPosY < inhaltMaxPosY))) {
					inhaltPosY = inhaltPosY + speed;
					greiferPosY = Math.round(-inhaltPosY * scrollHoehe);
					greiferPosY = (greiferPosY < greiferMinPosY) ? greiferMinPosY : (greiferPosY > greiferMaxPosY) ? greiferMaxPosY : greiferPosY;
					TMSetPosition(greifer,0,greiferPosY);
					TMSetPosition(inhalt,0,inhaltPosY);
					slSchleife = setTimeout('TMSLScroll(' + speed + ')',slTimer);
				}
			}
		}
		
		function TMSLStopScroll() {
			if (slSchleife) {
				clearTimeout(slSchleife);
				slSchleife = false;
			}
		}

		function TMSLZieheGreifer(e) {
			if (slInit) {
				TMGetMouse(e);
				ziehenPosY = mausPosY - greiferPosY;
				document.onmousemove = function(e) {
					TMGetMouse(e);
					greiferPosY = mausPosY - ziehenPosY;				
					greiferPosY = (greiferPosY < greiferMinPosY) ? greiferMinPosY : (greiferPosY > greiferMaxPosY) ? greiferMaxPosY : greiferPosY;
					inhaltPosY = Math.round(-greiferPosY * (1 / scrollHoehe));
					TMSetPosition(greifer,0,greiferPosY);
					TMSetPosition(inhalt,0,inhaltPosY);
					return false;
				};
				document.onmouseup = function() {
					document.onmousemove = null;
					document.onmouseup = null;
				};
				return false;
			}
		}
		
		function TMSLNeuesBild(quelle) {
			if (document.images) {
				bild = new Image;
				bild.src = quelle;
			}
		}
		
		function TMSLTauscheLeistenBild() {
			if (slInit) {
				leiste.style.backgroundImage = 'url(' + slLeisteB_o + ')';
				leiste.onmouseout = function() {
					leiste.style.backgroundImage = 'url(' + slLeisteB_n + ')';
					leiste.onmouseout = null;
				};
			}
		}
		
		var slInhaltMaske = 'scrollercontainer'; // Dieses Div (ID) umschliesst den zu scrollenden Inhalt
		var slInhalt = 'scroller'; // Div (ID) in dem der zu scrollende Inhalt liegt
		var slLeistenBox = 'scrollbarbox';
		var slLeiste = 'scrolltrack'; // leiste-Div (ID)
		var slGreifer = 'scrollgreifer'; // Div (ID), das den Greifer umschliesst
		var slZeigerOben = 'scrollpfeiloben'; // Div (ID) fuer den Pfeil nach unten
		var slZeigerUnten = 'scrollpfeilunten'; // Div (ID) fuer den Pfeil nach oben
		var slTimer = 15; // Der TimeOut-Wert fuer das manuelle Scrollen per Pfeil (je hoeher desto langsamer)
		var slSpeed = 5; // Der Geschwindigkeit (Pixelverschiebung) fuer das manuelle Scrollen per Pfeil (je hoeher desto schneller)
		var slLeisteB_n = 'grafiken/sb_leiste.png';
		var slLeisteB_o = 'grafiken/sb_leiste_o.png';
		
		/* Ende TMSL */
		
		// Hintergrundbild tauschen
		function TMTauscheHG(el,hg,hg_o) {
			if(isDOM && !isGECKOPR) {
				var CSSel = TMGetEl(el);
				CSSel.style.backgroundImage = 'url(' + hg_o + ')';
				CSSel.onmouseout = function() {
					CSSel.style.backgroundImage = 'url(' + hg + ')';
					CSSel.onmouseout = null;
				};
			}
		}
		
		// Target bei Links simulieren
		function TMTarget(url,ziel) {
			window.open(url,ziel);
			return false;
		}
		
		// Rollover-Bilder vorladen
		var firstload = false;
		function TMLadeBilder() {
			if (isDOM && !isOPERA6) {
				TMSLNeuesBild('grafiken/navi/nav01_01_o.png');
				TMSLNeuesBild('grafiken/navi/nav01_02_o.png');
				TMSLNeuesBild('grafiken/navi/nav01_03_o.png');
				TMSLNeuesBild('grafiken/navi/nav01_04_o.png');
				TMSLNeuesBild('grafiken/navi/nav02_01_o.png');
				TMSLNeuesBild('grafiken/navi/nav02_02_o.png');
				TMSLNeuesBild('grafiken/navi/nav02_03_o.png');
				TMSLNeuesBild('grafiken/navi/nav02_04_o.png');
				TMSLNeuesBild('grafiken/navi/nav03_01_o.png');
				TMSLNeuesBild('grafiken/navi/nav03_02_o.png');
				TMSLNeuesBild('grafiken/navi/nav03_03_o.png');
				TMSLNeuesBild('grafiken/navi/nav03_04_o.png');
				TMSLNeuesBild('grafiken/navi/nav01_bg_o.png');
				TMSLNeuesBild('grafiken/navi/nav02_bg_o.png');
				TMSLNeuesBild('grafiken/navi/nav03_bg_o.png');
				window.setTimeout('firstload = true',10000);
			}
		}
		
		// Mouseovers für die Navigation initialisieren
		function TMMenuInit() {
			if (isDOM && !isGECKOPR && !isOPERA6) {
				var navEl01 = TMGetEl('nav01');
				navEl01.onmouseover = function() {
					TMTauscheHG(navEl01,'grafiken/navi/nav01_bg.png','grafiken/navi/nav01_bg_o.png');
				};
				
				var navEl02 = TMGetEl('nav02');
				navEl02.onmouseover = function() {
					TMTauscheHG(navEl02,'grafiken/navi/nav02_bg.png','grafiken/navi/nav02_bg_o.png');
				};
				
				var navEl03 = TMGetEl('nav03');
				navEl03.onmouseover = function() {
					TMTauscheHG(navEl03,'grafiken/navi/nav03_bg.png','grafiken/navi/nav03_bg_o.png');
				};
			}
		}

		window.onfocus = function() {
			if (firstload) {
				TMLadeBilder();
			}
		};

