<!--
	//////////////////////////////////////////////////////////////////////
	// ToolTip-Implementierung																					//
	// Copyright by Talkabout																						//
	// Coded for www.Audio-Esel.de.vu																		//
	// Netscape ab Version 6.x, IE ab Version 5.x, Opera ab Version 7.x	//
	//////////////////////////////////////////////////////////////////////
	
	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// Syntax:																																								 																																//
	// 																																												 																																//
	// ToolTip mit Text:																																			 																																//
	// 			onMouseOver="setToolTip('Text zum Anzeigen'[, Verz&ouml;gerung, '', 'Paramterliste']);" 																															//
	// 																																												 																																//
	// ToolTip mit Grafik:																																		 																																//
	//			onMouseOver="setToolTip('Relativer Grafikpfad zur HTML-Datei'[, Verz&ouml;gerung], 'Grafikdimension im Format (H&ouml;he)x(Breite)'[, 'Paramterliste']);" //
	//																																																																												//
	// Erl&auml;uterung der einzelnen Parameter:																																																										//
	//		Text zum Anzeigen:																																																																	//
	//				ToolTip-Text der Angezeigt werden soll																																																					//
	//		Verz&ouml;gerung:																																																																				//
	//				Verz&ouml;gerung des Einblendens des ToolTips in Millisekunden																																												//
	//		Grafikdimension:																																																																		//
	//				Wert in der Form (Breite)x(H&ouml;he) ohne Klammern. Die H&ouml;he ist nicht unbedingt erforderlich wenn die Breite angegeben wurde												//
	//		Parameterliste:																																																																			//
	//				ToolTip-Aussehen kann tempor&auml;r ge&auml;ndert werden, ansonsten nehme Einstellungen, die oben gemacht wurden.																					//
	//				Trennung der Parameter durch ";".Folgende Parameter sind m&ouml;glich:																																								//
	//					border-width:0								Breite des Randes, 0 = kein Rand																																								//
	//					border-style:normal						Layout des Randes, siehe CSS-Definition																																					//
	//					border-color:#000000					Farbe des Randes																																																//
	//					margin:1											Abstand des ToolTip-Inhalts zum Rand des ToolTip-Fensters																												//
	//					background-color:#000000	    Farbe des ToolTip-Hintergrundes																																									//
	//					font-color:#000000 				  	Wenn CSS nicht verwendet wird ist das die Farbe des Textes																											//
	//					font-family:Arial							Wenn CSS nicht verwendet wird ist das die Schriftart des Textes																									//
	//					font-size:12									Wenn CSS nicht verwendet wird ist das die Schriftgr&ouml;sse des Textes																							//
	//					font-style:italic							Wenn CSS nicht verwendet wird ist das der Schriftstil des Textes																								//
	//					font-weight:bold							Wenn CSS nicht verwendet wird ist das die Schriftdicke des Textes																								//
	//					css:1													Gibt an ob CSS verwendet werden soll, 1=ja, 0=nein																															//
	//					cssClass:Classname						Gibt die zu verwendende CSS-Klasse an																																						//
	//					max-width:200									Gibt die Maximale Breite des ToolTips an, ist der Text l&auml;nger, wird er umgebrochen															//
	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	// CSS Ja/Nein, CSS-Klasse
		var css = true;										  // "true" wenn f&uuml;r die Textdarstellung CSS Benutzt werden soll, "false" wenn nicht
		var cssClass = "defaultbold";			  // CSS-Klasse f&uuml;r die Schrift im ToolTip, muss in der HTML-Datei definiert sein, die auf den 
																		  	// ToolTip verweist
	
	// Wenn kein CSS benutzt wird
		//F&uuml;r alle Formatangaben bitte CSS-kompatible Angaben verwenden!
			var tooltipTextColor = "#FCEBBD";		// Der Text im ToolTip wird mit dieser Farbe dargestellt
			var tooltipTextFont = "Arial";			// Der Text im ToolTip wird mit dieser Schriftart angezeigt
			var tooltipTextSize = 10;					  // Der Text im ToolTip wird mit dieser Schriftgr&ouml;sse angezeigt
			var tooltipTextStyle = "italic";		// Der Text im ToolTip wird mit diesem Schriftstil angezeigt
			var tooltipFontWeight = "";			// Der Text im ToolTip wird mit dieser Schriftdicke angezeigt
	
	// Allgemeines ToolTip-Aussehen
		//F&uuml;r alle Formatangaben bitte CSS-kompatible Angaben verwenden!
			var tooltipBGColor = "#ffffff";		  // Hintergrundfarbe des ToolTips
			var tooltipBorderWidth = 2;			    // Gibt die Breite des ToolTip-Randes in Pixeln an, 0 = kein Rand
			var tooltipBorderColor = "#632c18"; // Gibt die Farbe des ToolTip-Randes an
			var tooltipBorderStyle = "ridge";   // Gibt die Art des ToolTip-Randes an wie er in CSS notiert wird, siehe CSS Border Style...
			var tooltipMaxWidth = 200;				  // Die maximale Breite des ToolTips, sollte der Text l&auml;nger sein, dann findet ein Umbruch statt
																					// Bei Grafiken wird f&uuml;r die Breite des ToolTips die Breite der Grafik verwendet
			var tooltipMargin = 2;					    // Der Abstand des Textes/der Grafik zum Rand des ToolTips
			var tooltipMouseSpace = 30;				// Abstand des ToolTip-Fensters zum Mauszeiger in Pixeln
	
	////////////////////////////////////
	// AB HIER BITTE NICHTS &Auml;NDERN!!! //
	////////////////////////////////////
	
	// Ben&ouml;tigte Variablen
		var obj = 0;														// Beinhaltet das Objekt
		var delayTime = 0;									// Verz&ouml;gerung der Anzeige des ToolTips
		var tooltipTimeOut = 0;						  // Timer der gesetzt wird, wenn der ToolTip angezeigt werden soll
		
	// CSS Ja/Nein, CSS-Klasse (gespeicherte Orginaldaten)
		var org_css = false;										// "true" wenn f&uuml;r die Textdarstellung CSS Benutzt werden soll, "false" wenn nicht
		var org_cssClass = false;			 						// CSS-Klasse f&uuml;r die Schrift im ToolTip, muss in der HTML-Datei definiert sein, die auf den 
																		  	// ToolTip verweist
	
	// Wenn kein CSS benutzt wird (gespeicherte Orginaldaten)
		var org_tooltipTextColor = false;			// Der Text im ToolTip wird mit dieser Farbe dargestellt
		var org_tooltipTextFont = false;				// Der Text im ToolTip wird mit dieser Schriftart angezeigt
		var org_tooltipTextSize = false;				// Der Text im ToolTip wird mit dieser Schriftgr&ouml;sse angezeigt
		var org_tooltipTextStyle = false;			// Der Text im ToolTip wird mit diesem Schriftstil angezeigt
		var org_tooltipFontWeight = false;			// Der Text im ToolTip wird mit dieser Schriftdicke angezeigt
	
	// Allgemeines ToolTip-Aussehen (gespeicherte Orginaldaten)
		var org_tooltipBGColor = false;		  		// Hintergrundfarbe des ToolTips
		var org_tooltipBorderWidth = false;			// Gibt die Breite des ToolTip-Randes in Pixeln an, 0 = kein Rand
		var org_tooltipBorderColor = false; 		// Gibt die Farbe des ToolTip-Randes an
		var org_tooltipBorderStyle = false;   	// Gibt die Art des ToolTip-Randes an wie er in CSS notiert wird, siehe CSS Border Style...
		var org_tooltipMaxWidth = false;				// Die maximale Breite des ToolTips, sollte der Text l&auml;nger sein, dann findet ein Umbruch statt
																						// Bei Grafiken wird f&uuml;r die Breite des ToolTips die Breite der Grafik verwendet
		var org_tooltipMargin = false;					// Der Abstand des Textes/der Grafik zum Rand des ToolTips
		var org_tooltipMouseSpace = false;			// Abstand des ToolTip-Fensters zum Mauszeiger in Pixeln
		
	
	// Der Layer, in dem der ToolTip stehen wird...
	document.write("<div id=\"ToolTip\" style=\"position:absolute; left:-500; width:" + tooltipMaxWidth + "; top:-500; visibility:hidden;overflow:visible;z-index:0;\"></div>");
		
	// F&uuml;gt dem Objekt Events hinzu...
	function addEvent(evt, object, func, bubbling){
		if(document.all){
			evt = "on" + evt;
			object.attachEvent(evt, func);
		}
		else{
			object.addEventListener(evt, func, bubbling);
		}
	}
	
	// Entfernt die Zuordnung von Events vom Objekt...
	function removeEvent(evt, object, func, bubbling){
		if(document.all){
			evt = "on" + evt;
			object.detachEvent(evt, func);
		}
		else{
			object.removeEventListener(evt, func, bubbling);
		}
	}
	
	// Setzt das ToolTip-Objekt
	function setObject(){
		if(typeof(document.getElementById)=="function"){
			obj = document.getElementById('ToolTip');
		}
		else if(document.all){
			obj = document.all.ToolTip;
		}
		else{
			obj = document.ToolTip;
		}
	}
	
	// Setzt den Code f&uuml;r das ToolTip-Fenster zusammen
	function getCode(tip, imgDim){
		// Beginnt den Quellcode f&uuml;r das ToolTip-Fenster zusammenzusetzen
		// Hierbei wird unterschieden zwischen
		// CSS wird/wird nicht benutzt
		// Darstellung von Text/Bild
		
		code = "<table id=\"tooltipTable\"";
		// Hier wird der ToolTip-Rand erstellt...
		if(tooltipBorderWidth > "0"){
			code += " style=\"border-width:" + tooltipBorderWidth + "px;";
			code += "border-color:" + tooltipBorderColor + ";";
			code += "border-style:" + tooltipBorderStyle + ";";
		}
		// oder wenn kein Rand angegeben wird...
		else{
			code += " style=\"border-style:none;";
		}
		code += "background-color:" + tooltipBGColor + ";\" cellspacing=\"0\"";
		// Abstand zum Rand...
		code += " cellpadding=\"" + tooltipMargin + "\"";
		code += ">\n<tr>\n<td";
		// Wenn CSS benutzt werden soll
		if(css)
			code += " class=\"" + cssClass + "\"";
		// Ansonsten Angaben die oben gemacht oder &uuml;bergeben wurden
		else
			code += " style=\"font-family:" + tooltipTextFont + ";color:" + tooltipTextColor + ";font-size:" + tooltipTextSize + ";font-style:" + tooltipTextStyle + ";font-weight:" + tooltipFontWeight + ";\"";
		code += ">";
		// Wenn Text dargestellt werden soll sind die Dimensionen des Bildes 0 (logisch)
		if(!imgDim){
			// Das hier nur damit der ToolTip nicht zu hoch wird f&uuml;r den Text, er wird durch den Text dann automatisch nach
			// unten ausgedehnt
			obj.style.height = "1";
			// Breite des ToolTips wird auf die Maximalausdehnung aus der obigen Konfiguration gesetzt
			obj.style.width = tooltipMaxWidth;
			code += tip;
		}
		// Im ToolTip soll ein Bild dargestellt werden...
		else{
			imgSize = imgDim.split("x");
		  // Breite des ToolTips wird auch die Breite der Grafik gesetzt
		  obj.style.width = parseInt(imgSize[0]) + 2*parseInt(tooltipMargin) + 2*parseInt(tooltipBorderWidth);
			if(imgSize[0] > 0)
				code += "<img src=\"" + tip + "\" width=\"" + imgSize[0] + "\"";
			if(imgDim[1] > 0)
				// Wenn die H&ouml;he der Grafik auch angegeben wurde wird diese ebenfalls in den Quellcode &uuml;bernommen
				code += " height=\"" + imgSize[1] + "\"";
			code += ">";
		}
		code += "</td>\n</tr>\n</table>";
		return code;
	}
	
	// Zeigt den ToolTip an...
	function showTooltip(){
		obj.style.visibility = "visible";
	}
	
	// Bestimmt die Position des ToolTips...
	function setPos(evt) {
  		e = evt || window.event;
  		if(!e) return null;
  		link = e.srcElement || e.target;
  		addEvent("mouseout", link, hideTip, false);
  		// Scrollweite ermitteln
    	if(navigator.appName != "Netscape"){
				if (document.body.scrollTop != undefined) {	// IE model
					var ieBox = document.compatMode != "CSS1Compat";
		     		var cont = ieBox ? document.body : document.documentElement;
      				scrollWideTip = cont.scrollTop;
      				scrollLeftTip = cont.scrollLeft
   			}
   		}
   		else {
	      		scrollWideTip = window.pageYOffset;
      			scrollLeftTip = window.pageXOffset;
			}
  		if(document.layers) {
    			obj.style.left = e.pageX + scrollLeftTip - getOffset(e.pageX);
    			obj.style.top = e.pageY + tooltipMouseSpace + scrollWideTip;
  		}else if(window.opera){
    			obj.style.left = e.clientX + scrollLeftTip - getOffset(e.clientX);
    			obj.style.top = e.clientY + tooltipMouseSpace + scrollWideTip;
  		}else if(document.all ) {
    			obj.style.left = e.x + scrollLeftTip - getOffset(e.x);
    			obj.style.top = e.y + tooltipMouseSpace + scrollWideTip;
  		}else if(document.getElementById) {
    			obj.style.left = e.pageX - getOffset(e.pageX);
    			obj.style.top = e.pageY + tooltipMouseSpace + scrollWideTip;
  		}
	}
	
	// Initialisiert den ToolTip...
	function setToolTip(tip, delay, imgDim, params){
		// Sollte die Verz&ouml;gerung nicht angegeben worden sein, dann wird sie auf 0 gesetzt
		if(!delay)
			delay = 0;
		// Wertet Parameterliste aus falls Parameter &uuml;bergeben wurden
		if(params)
			getParams(params);			
		// Das Objekt wird zugeordnet, falls es noch nicht passiert ist
		if(!obj)
			setObject();
		// Das Event MouseMove wird dem Objekt zugeordnet damit sich der ToolTip auch hinter der Maus bewegt...
		addEvent("mousemove", document, setPos, false);
		// Der ToolTip wird mit Code gef&uuml;llt
		fillLayer(getCode(tip, imgDim), obj);
		// F&uuml;r den Fall, dass das ToolTip-Fenster breiter ist als der angezeigte Text
		// dann wird das ToolTip-Fenster von der Breite her angepasst...
		if(parseInt(obj.style.width) > parseInt(document.getElementById("tooltipTable").offsetWidth))
			obj.style.width = document.getElementById("tooltipTable").offsetWidth;
		// ToolTip soll angezeigt werden...
		tooltipTimeOut = setTimeout("showTooltip()", delay);
	}
	
	// Funktion zum Verstecken des ToolTips
	function hideTip(evt){
  	// Timer zum anzeigen wird resetet
  	clearTimeout(tooltipTimeOut);
		// Objekt wird unsichtbar gemacht und so positioniert, dass er nicht mehr st&ouml;rt
		obj.style.visibility = "hidden";
		obj.style.top = -500;
		obj.style.left = -500;
		// Stellt die Standardparameter wieder her...
		setStandardParams();
		// Events werden entfernt	
  	removeEvent("mousemove", document, setPos, false);
  	removeEvent("mouseout", link, hideTip, false);
	}
	
	// Objekt wird mit Code gef&uuml;llt...
	function fillLayer(code, obj){
  	if(document.layers){
    	obj.document.clear(); 
  		obj.document.write(code); 
  		obj.document.close(); 
  	}
  	else{
  		obj.innerHTML=code;
  	}
  }		
  
  // Bestimmt ob der ToolTip beim Anzeigen nicht zuf&auml;llig rechts aus dem Bild l&auml;uft,
  // sollte dies der Fall sein, wird der ToolTip um genau diesen Wert nach links verschoben
  function getOffset(xPos){
  	if((xPos + parseInt(obj.style.width)) > parseInt(document.body.clientWidth))
  		return (xPos + parseInt(obj.style.width) - parseInt(document.body.clientWidth))
  	else
  		return 0;
  }
  
  
 	// Wertet die Parameterliste aus
 	function getParams(list){
 		params = list.split(";");
 		for(i = 0; i < params.length; i++){
 			parts = params[i].split(":");
 			switch(parts[0]){
 				case "border-width":
 					org_tooltipBorderWidth = tooltipBorderWidth;
 					tooltipBorderWidth = parts[1];
 					break;
 				case "border-color":
 					org_tooltipBorderColor = tooltipBorderColor;
 					tooltipBorderColor = parts[1];
 					break;
 				case "border-style":
 					org_tooltipBorderStyle = tooltipBorderStyle;
 					tooltipBorderStyle = parts[1];
 					break;
 				case "margin":
 					org_tooltipMargin = tooltipMargin;
 					tooltipMargin = parts[1];
 					break;
 				case "background-color":
 					org_tooltipBGColor = tooltipBGColor;
 					tooltipBGColor = parts[1];
 					break;
 				case "font-color":
 					org_tooltipTextColor = tooltipTextColor;
 					tooltipTextColor = parts[1];
 					break;
 				case "font-family":
 					org_tooltipTextFont = tooltipTextFont;
 					tooltipTextFont = parts[1];
 					break;
 				case "font-size":
 					org_tooltipTextSize = tooltipTextSize;
 					tooltipTextSize = parts[1];
 					break;
 				case "font-style":
 					org_tooltipTextStyle = tooltipTextStyle;
 					tooltipTextStyle = parts[1];
 					break;
 				case "font-weight":
 					org_tooltipFontWeight = tooltipFontWeight;
 					tooltipFontWeight = parts[1];
 					break;
 				case "css":
 					org_css = css;
 					css = parseInt(parts[1]);
 					break;
 				case "css-class":
 					org_cssClass = cssClass;
 					cssClass = parts[1];
 					break;
 				case "max-width":
 					org_tooltipMaxWidth = tooltipMaxWidth;
 					tooltipMaxWidth = parts[1];
 					break;
 				case "mouse-space":
 					org_tooltipMouseSpace = tooltipMouseSpace;
 					tooltipMouseSpace = parseInt(parts[1]);
 					break;
 			}
 		}
	}
	
	// Übernimmt wieder die Standardparameter für den ToolTip die oben stehen
	function setStandardParams(){
 		if(org_tooltipBorderWidth){
 			tooltipBorderWidth = org_tooltipBorderWidth;
 			org_tooltipBorderWidth = false;
 		}
 		if(org_tooltipBorderColor){
 			tooltipBorderColor = org_tooltipBorderColor;
 			org_tooltipBorderColor = false;
 		}
 		if(org_tooltipBorderStyle){
 			tooltipBorderStyle = org_tooltipBorderStyle;
 			org_tooltipBorderStyle = false;
 		}
 		if(org_tooltipMargin){
 			tooltipMargin = org_tooltipMargin;
 			org_tooltipMargin = false;
 		}
 		if(org_tooltipBGColor){
 			tooltipBGColor = org_tooltipBGColor;
 			org_tooltipBGColor = false;
 		}
 		if(org_tooltipTextColor){
 			tooltipTextColor = org_tooltipTextColor;
 			org_tooltipTextColor = false;
 		}
 		if(org_tooltipTextFont){
 			tooltipTextFont = org_tooltipTextFont;
 			org_tooltipTextFont = false;
 		}
 		if(org_tooltipTextFont){
 			tooltipTextFont = org_tooltipTextFont;
 			org_tooltipTextFont = false;
 		}
 		if(org_tooltipTextSize){
 			tooltipTextSize = org_tooltipTextSize;
 			org_tooltipTextSize = false;
 		}
 		if(org_tooltipTextStyle){
 			tooltipTextStyle = org_tooltipTextStyle;
 			org_tooltipTextStyle = false;
 		}
 		if(org_tooltipFontWeight){
 			tooltipFontWeight = org_tooltipFontWeight;
 			org_tooltipFontWeight = false;
 		}
 		if(org_css){
 			css = org_css;
 			org_css = false;
 		}
 		if(org_cssClass){
 			cssClass = org_cssClass;
 			org_cssClass = false;
 		}
 		if(org_tooltipMaxWidth){
 			tooltipMaxWidth = org_tooltipMaxWidth;
 			org_tooltipMaxWidth = false;
 		}
 		if(org_tooltipMouseSpace){
 			tooltipMouseSpace = org_tooltipMouseSpace;
 			org_tooltipMouseSpace = false;
 		}
	}
//-->

