﻿// ms-service-yui.js

var XX = (XX == null) ? "" : XX;

var stopFading = false;
var bShadowbox = false;
var cObj; // ajax-Verbindung muss getrennt werden können (Filme, Ton!)

var WMP7;
var player;
var plugin;
var hasActiveX = false;
try { 
	if(window.ActiveXObject) {
		hasActiveX = true;
		player = new ActiveXObject("WMPlayer.OCX.7");
	}
	else if (window.GeckoActiveXObject) {
		hasActiveX = true;
		player = new GeckoActiveXObject("WMPlayer.OCX.7");
	}
}
catch(oError) { }

try {
	if(navigator.mimeTypes) {
		plugin = navigator.mimeTypes['application/x-mplayer2'].enabledPlugin;
	}
} 
catch (oError) {}
// var message = "Your browser "+ (hasActiveX ? "does" : " does not") +" support ActiveX. \n";
// message += "The WMP ActiveX control is"+ ( player ? "" : " not") +" installed. \n";
// message += "The WMP Plugin "+ (plugin ? "is" : "is not") +" installed. \n";
// alert(message); 
var WMP7 = player;

var $ = YAHOO.util.Dom.get;
var $C = YAHOO.util.Connect;
var $D = YAHOO.util.Dom;
var $E = YAHOO.util.Event;
var $S = YAHOO.util.Selector;
var $UA = YAHOO.env.ua; // User Agent
YAHOO.namespace("ms");

//Navigator:
FF = ($UA.gecko > 0) ? true : false; 	// e.g. Firefox 
// if (FF) WMP7 = false;

IE = ($UA.ie > 0) ? true : false; 	// Microsoft Internet Explorer 
// Or leverage boolean coercion -- 0 evaulates as false 
opera = ($UA.opera) ? true : false; 	// Opera 
Safari = ($UA.webkit) ? true : false;	// Safari, Webkit 
IE_alt = ($UA.ie > 5 && $UA.ie < 7) ? true : false;

Panel1 = new Object();  // Legende/Style
YAHOO.ms.Panel2 = new Object();  // Bild/FilmFenster
YAHOO.ms.Panel3 = new Object();  // LehrerPanel

// var ViewportHeight;
var panelHeight; // s. ms_init()
var panelBildHeight; // s. ms_init()
var hidePanel;

// IT-Stunde:
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
var animStart = false;
var animNr = -1;

animPos = new Array();
// arrObjs = new Array();

// keydown !!!

// Konstruktor:
function Positionen(nr, obj) {
	offset = jQuery("#container1").offset();
	position = obj.offset();
	x0 = position.left - offset.left;
	y0 = position.top - offset.top;

	// x: 850 | 425 - 90 | 335
	// y: 800 | 400 - 65 | 335
	x = (x0<335) ? "-=600" : "+=600"
	xanim = (x0<335) ? "+=600" : "-=600"
	y = (y0<335) ? "-=300" : "+=300"
	yanim = (y0<335) ? "+=300" : "-=300"
	
	this.obj = obj;
	this.x = x;
	this.y = y;
	this.xanim = xanim;
	this.yanim = yanim;
}

function holeAbfolge(El, StundenID) {
	// nur Reihenfolge holen !!!
	// alert("holeAbfolge: " + StundenID);
	El.blur();

	var par = "?par=10&StundenID="+StundenID;
	var url = "http://it-material.de/IT-online5/wp-content/plugins/ms-tabellen/manageStunde.php";

	jQuery.getJSON(
		url+par,
		function(data) {
			// alert("holeAbfolge()");
			txt = "";
			jQuery(data).each(function (i) {
				id = data[i].id;
				animNr = parseInt(data[i].animNr);
				jQuery("#"+id).data("animation", animNr);

				txt += animNr + ": " + id + "\n";
			});
			// alert(txt); // OK
			/*
			1: b_10339
			4: b_10836
			7: b_10965
			8: b_10967
			9: b_10973
			10: b_10974
			6: b_10782
			2: t_10145
			13: t_10966
			5: t_10778
			14: schreibBox1
			0: schreibBox0
			11: BildBox2
			12: BildBox1
			3: BildBox0
			15: BildBox3
			16: BildBox4
			*/
			// schreibBox0 | schreibBox1
			startAnimation();
		}
	);
}

function startAnimation() {
	// alert("startAnimation");
	animStart = true;
	animNr = 0;

	jQuery('body').click(function(event) {
		event.preventDefault();
		animiere();
	});
	// Leertaste geht nicht !!!
	jQuery('body').keydown(function(event) {
		if (event.keyCode == '32') {
			event.preventDefault();
			event.stopPropagation();
			animiere();
		}
		// xTriggered++;
	});
	
	// var objs = jQuery("#container1 .imageBox, .imageBox2, #container1 .filmBox, #container1 .textBox, .textBox2");
	objs = jQuery(".anim"); // die DIVs mit den IDs
	// alert(objs.length); // 8
	
	txt = "";
	txt2 = "";
	objs.each(function (i) {
		// x = jQuery(this).attr("id"); // OK

		nr = parseInt( jQuery(this).data("animation") );
		txt2 += nr + " | "; // 0 | 1...
		animPos[nr] = new Positionen(nr, jQuery(this));		

		o = animPos[nr];
		txt += o.x + " | " + o.y + " | " + o.xanim + " | " + o.yanim + " X ";
		// jQuery(this).hide(0);

		jQuery(this).animate({
			opacity: 0.5,
			left: [o.x, 'linear'],
			top: o.y
		}, 0, function() {
			// Animation complete.
		});
	});
	// alert(txt); // OK
	// alert(txt2); // 0 | 1 ...
	// window.status = txt;
	jQuery('#Zusatz').css("display", "block");
}

function animiere() {
	if (!animStart) return;
	// alert("animiere");
	// alert(animNr);
	window.status = "animNr = " + animNr;
	
	o = animPos[animNr];
	// animPos[nr] ist definiert!
	o.obj.show(1000);
	// o.obj.css("z-index", 10 + animNr);
	o.obj.animate({
		opacity: [1, 'linear'],
		left: [o.xanim, 'linear'],
		top: o.yanim
	}, 1000, function() {
		// Animation complete.
	});
	animNr++;

	if (animNr >= animPos.length) {
		animNr = -1;
		animStart = false;
		jQuery('body').unbind('click');
		jQuery('body').unbind('keydown');
		jQuery('#Zusatz').css("display", "none");
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

function ms_resize() {
	/** abhängig von Viewport !!! **/
	var ViewportHeight = $D.getViewportHeight();
	// (1920x1200) -> 998 IE
	// (1920x1080) -> 904 IE  856 FF
	// alert("ViewportHeight = " + ViewportHeight);

	panelHeight = Math.round(ViewportHeight*0.8) + "px";	// global !
}
function ajaxReset(cObj) {
	// if (cObj == null) return;
   var bStatus = $C.isCallInProgress(cObj);
   if (bStatus) {
		$C.abort(cObj);
		// cObj = null;
	}
	stopFading = true;
}

// $E.on(window, 'resize', ms_resize);

function setIntro(El) {
	var div = El.parentNode.parentNode;
	// div.style.backgroundColor = '#CFD7EB'; // (OK)
	if (div.style.height == '20px') {
		div.style.height = 'auto';
		El.setAttribute("title", "Klick schließt ...");
	}
	else {
		div.style.height = '20px';
		El.setAttribute("title", "Klick öffnet ...");
	}
}

ms_init = function(){
	/* Shadowbox */
	// if (bShadowbox) initShadowbox();
	// alert("OK-0"); // OK
	/*
	jQuery('body').keydown(function(event) {
	  if (event.keyCode == '13') {
		  // event.preventDefault();
		  animiere();
		}
		// xTriggered++;
	});
	*/
	/* tree0 */
	var arrTree0 = $D.getElementsByClassName("cat-item", "li", "");
	// alert(arrTree0.length); // 113 (OK)
	$E.onAvailable(arrTree0, attach_Event1.init);
	
	/* arrIntroBox */
	var arrIntroBox = $D.getElementsByClassName("IntroBox", "div", "");
	// alert(arrIntroBox.length); // 2 (OK)
	// for (i in arrIntroBox) {
	// for (i=0; i<arrIntroBox.length; i++) {
	for (i in arrIntroBox) {
		// arrIntroBox[i].style.height = "20px";
		$D.setStyle(arrIntroBox[i], "height", "20px");
		child = arrIntroBox[i].firstChild.firstChild;
		// arrIntroBox[i].firstChild.firstChild.style.cursor = "pointer"; // img Pfeil
		$D.setStyle(child, "cursor", "pointer");
		// arrIntroBox[i].firstChild.firstChild.setAttribute("title", "Klick öffnet ..."); // img Pfeil
		child.setAttribute("title", "Klick öffnet ..."); // img Pfeil
	}
	
	/* IT-Info */
	var arrIT_Info = new Array( "IT-Info-0", "IT-Info-1" );
	$E.onAvailable(arrIT_Info, attach_Event6.init);

	/* Zitate */
	var arrZitate = $D.getElementsByClassName("ZitatFrame", "div");
	$E.on(arrZitate, 'click', attach_Event7);
	
	/* Themen-Seiten */
	// _keine_ ID: archiv-Seite kann mehrere "LehrerHinweise" enthalten!
	var arrLehrerHinweis = $D.getElementsByClassName("LehrerHinweis", "div");
	
	$E.onAvailable(arrLehrerHinweis, initLehrerPanel);
	// $E.on(LehrerHinweis, "mouseover", zeigeThemenPanel);
	$E.on(arrLehrerHinweis, "click", zeigeThemenPanel);

	
	var arrSkizzen = $D.getElementsByClassName("Skizze", "div");
	$E.onAvailable(arrSkizzen, initLehrerPanel);
	$E.on(arrSkizzen, "click", zeigeSkizzenPanel);

	$E.on("LehrerPanel", "click", function(e) {
		var element = $E.getTarget(e);
		if (element.nodeName != "A") {
			$E.stopEvent(e);
			YAHOO.ms.Panel3.hide();
		}
	});
	/*
	// var arrLehrerHinweis = $D.getElementsByClassName("LehrerHinweis", "div");
	if (bShadowbox) {
		$E.onAvailable(arrLehrerHinweis, attach_Event.init);
	} 
	else {
		// ************************* ???????????????? **********************
	}
	*/

	// Translucent_Tests();
	// var body = document.getElementsByTagName("body")[0];
	// var Seite = $D.getElementsByClassName("page", "div")[0];
	// var arrCW = $D.getElementsByClassName("center-widget", "div");

	/* Bilder + Filme */
	// nur a class: thumb, thumbCR (nicht img class: editLink, commentLink)
	var arrThumbs1 = $D.getElementsByClassName("thumb", "a");
	var arrThumbs2 = $D.getElementsByClassName("thumbCR", "a");
	arrThumbs = arrThumbs1.concat(arrThumbs2);

	// $E.on(arrThumbs, 'click', attach_Event9);
	$E.on(arrThumbs, "click", function(e, o) {
		// $E.stopEvent(e);
		// Ziel des Events:
		var element = $E.getTarget(e);
		if (element.nodeName != "IMG") return;
		// alert("element.nodeName = " + element.nodeName);  // IMG, DIV

		// Mediaplayer 9 Problem nur bei divX in Popup-Fenster in FF !!!
		// wenn FF && divX-Film -> commentLink
		/*
		var href = element.parentNode.getAttribute("href");
		// Bild: href="http://it-material.de/IT-online5/2004/04/tutorial-animation-rendering/?Anker=296"
		// Film: href="http://it-material.de/IT-online5/2004/03/headavi/?Anker=296"
		// http://it-material.de/IT-online5/2004/09/complete-motion-capture-video-951/?Anker=18
		// wenn (divX) avi-Film:
		if (FF && href.indexOf("avi/") > 0) return;
		*/

		var src = element.getAttribute("src");
		// src="http://it-material.de/Material/VirtuelleRealitaet/tn_mocap_hi_wmv.jpg"
		// if (FF && ( src.indexOf("avi.") > 0 || src.indexOf("wmv.") > 0 )) return;

		$E.stopEvent(e);
		var ID = element.parentNode.getAttribute("id");  // Bild_4711 | Film_1576
		var parts = ID.split("_");
		var Name = parts[0];
		var PostID = parts[1];
		var txt = "Name = " + Name + "\n" + "id = " + PostID;
		
		// if (Name != "Bild") alert(txt); // Film 10577 (OK)
		ajaxUpdate6(Name, PostID);
	});

	/* Bilder/Filme */
	// initPanel();
	// alert("OK-1"); // OK
	initBildPanel();
	// alert("OK-2");

};
$E.onDOMReady(ms_init);
// $E.onContentReady(ms_init);

/* *********************************** Events ************************************ */


// nicht aktiv !!!
// Shadowbox (LehrerInfo):
var attach_Event = function() {
   return {
      init : function() {
         var handle_Event = function(e) {
            // Ziel des Events:
            var element = $E.getTarget(e);
            $E.stopEvent(e);
				// alert(element.nodeName);
				if (element.nodeName != "IMG") {
               return;
            }
				var id = element.getAttribute("id");
				id = id.substr(2);
				var LehrerInfo = $("T_" + id);
				var html = LehrerInfo.innerHTML;
				
				Shadowbox.open({
					player:     'html',
					title:      'LehrerInfo',
					content:    html,
					height:     600,
					width:      650
				});
        };
         $E.on(this, 'click', handle_Event);
      }
   };
}();
// tree0/tree2:
var attach_Event1 = function() {
   // <li style="display: none; font-weight: normal; color: rgb(0, 0, 192);" class="Ebene_2" id="N0_7">
   // <a title="Rechner-Klassen" href="Rechner-Klassen.html">Rechner-Klassen</a>
   return {
      init : function() {
         var handle_Event = function(e) {
            // Ziel des Events:
            var element = $E.getTarget(e);
            // $E.stopEvent(e);
				// alert("element.nodeName = " + element.nodeName); // A,SPAN,IMG (OK)
				// return;
				if (element.nodeName == "IMG" || element.nodeName == "SPAN") 
					ID = element.parentNode.parentNode.getAttribute("id");  // N0_1
				else if (element.nodeName == "A") 
					ID = element.parentNode.getAttribute("id");  // N0_1
				else return;
				// alert("ID = " + ID); // N0_81 (OK)
            
				var TopicID_ = ID.substr(1);  // 0_1
				var Nummer = TopicID_.split("_");
				var treeNr_ = parseInt(Nummer[0]);
				var nodeNr_ = parseInt(Nummer[1]);

				// Kontrolle:
				// zeigeKnoten(0, nodeNr_);

				// <a href="toggle"><img src="logos/e2.gif"/>Rechner</a>
				if (Node[treeNr_][nodeNr_].isParent) {
               toggle(treeNr_, nodeNr_);
               $E.stopEvent(e);
               return;
            }
            else {
               // handleTopicChange(TopicID_);
					// warte?
					// init Panel?
            }
         };  // Ende handle_Event
			// alert("attach_Event.init");
         $E.on(this, 'click', handle_Event);
      }  // Ende init
   };  // Ende return;
}();  // Ende attach_Event

// nicht aktiv !!!
// Bild/Filmfenster: schwarzer Pfeil zurück
var attach_Event2 = function(e) {
   $E.stopEvent(e);
	// Ziel des Events:
	// var element = $E.getTarget(e);
	// alert("element.nodeName = " + element.nodeName);  // IMG
 	// if (element.nodeName != "A") return;
	// element.blur();
	history.back();
}
// IT-Info:
var attach_Event6 = function() {
   return {
      init : function() {
         var handle_Event = function(e) {
            // Ziel des Events:
            var element = $E.getTarget(e);
            $E.stopEvent(e);
				// alert("element.nodeName = " + element.nodeName);  // A, IMG, DIV
				// alert("IT-Info");
				if (element.nodeName != "IMG") {
               return;
            }
				// alert("element.src = " + element.src);
				if (element.src.indexOf("c2b") > 0) {
					// var par = 1;
					$hide("IT-Info-0");
					$show("IT-Info-1");
				}
				else {
					// var par = 0;
					$show("IT-Info-0");
					$hide("IT-Info-1");
				}
            // erzeugeIT_Info(par);
         };
         $E.on(this, 'click', handle_Event);
      }
   };
}();
// Zitat:
var attach_Event7 = function(e) {
   $E.stopEvent(e);
	// Ziel des Events:
	var element = $E.getTarget(e);

	// alert("element.nodeName = " + element.nodeName);  // A, IMG, DIV
	if (element.nodeName == "A" && element.href.indexOf("http://") +1 > 0) {  // Klick auf Quelle !!!
	// if (element.nodeName == "A") {  // Klick auf Quelle !!!
		// alert(element.href);
		return;
	}
	else if (element.nodeName != "IMG") {
		return;
	}

	var id = element.parentNode.id;  // "Z1_" + MaterialID
	// alert("id = " + id);
	var MaterialID = id.split("_")[1];
	var newId = (id.charAt(1) == "0") ? "Z1_" + MaterialID : "Z0_" + MaterialID;
	// alert("id = " + id + "\nnewId = " + newId);
	$hide($(id).parentNode.parentNode);    // <div class='Zitat-0'>
	$show($(newId).parentNode.parentNode); // <div class='Zitat-1'>
}

// z.Zt nicht aktiv:
function initShadowbox() {
	var options = {
		overlayColor: 		'#142236',  // rgb(20,34,54)
		overlayOpacity: 	0.5
	};

	Shadowbox.init(options);
	$D.setStyle(["shadowbox_body","shadowbox_loading"], "background-color", "#ECEEF2");
	// $D.setStyle("shadowbox_body", "border", "5px inset grey");
	// $D.setStyle("shadowbox_body", "border", "8px solid rgb(63,104,167)");
	$D.setStyle("shadowbox_body", "border", "5px solid rgb(41,69,109)");
	$D.setStyle("shadowbox_body", "border-top", "2px solid rgb(41,69,109)");

	/* ??????????????????
	$D.setStyle(["shadowbox_body","shadowbox_title_inner","shadowbox_info_inner"], "font-family", "Verdana, Arial, Helvetica, sans-serif");
	$messages = $D.getElementsByClassName("shadowbox_message","div","shadowbox_container");
	$D.setStyle($messages, "font-family", "Verdana, Arial, Helvetica, sans-serif");
	// #shadowbox_loading span {
	$spans = $("shadowbox_container").getElementsByTagName("span");
	$D.setStyle($spans, "font-family", "Verdana, Arial, Helvetica, sans-serif");
	*/
	
	$D.setStyle(["shadowbox_body","shadowbox_title_inner","shadowbox_info_inner"], "font-weight", "bold");

	// $D.setStyle("shadowbox_title", "border", "1px solid red");
	$D.setStyle("shadowbox_title", "background-color", "rgb(41,69,109)");
	$D.setStyle("shadowbox_title_inner", "float", "left");
	$D.setStyle("shadowbox_title_inner", "width", "45%");
	$D.setStyle("shadowbox_title_inner", "margin-left", "7px");
	$D.setStyle("shadowbox_info_inner", "margin-right", "5px");
	$D.setStyle("shadowbox_nav_close", "border", "2px solid red");
	$D.setStyle("shadowbox_title", "height", "28px");
}

/* *********************************** Panel ************************************ */
// z.Zt. nicht aktiv:
function panelParam(mode) {
	switch (cssNr) {
	case 0:
		Breite = 403;  // 370 / 410
		linksBreite = 200;
		bgColor = "#D5D9E5"; /* rgb(213,217,229) */
		// color:#000052;
		break;
	case 1:
		Breite = 493;  // 460 / 500
		linksBreite = 223;
		bgColor = "#D5D9E5"; /* rgb(213,217,229) */
		// color:#000052;
		break;
	case 2:
		Breite = 553;  // 520 / 560
		linksBreite = 263;
		bgColor = "#D5D9E5"; /* rgb(213,217,229) */
		// color:#000052;
		break;
	case 3:
		Breite = 653;  // 620 / 660
		linksBreite = 320;
		bgColor = "#D5D9E5"; /* rgb(213,217,229) */
		// color:#000052;
		break;
	default:
		Breite = 403;  // 370 / 410
		linksBreite = 200;
		bgColor = "#D5D9E5"; /* rgb(213,217,229) */
		// color:#000052;
	}
	
	switch (mode) {
	case 0:
		return Breite;
		break;
	case 1:
		return bgColor;
		break;
	case 2:
		return Farbe;
		break;
	}
}
// Legende/Styles:
initPanel = function() {
	// Properties inherited from YAHOO.widget.Module:
	// body, browser, cfg, contructor, DEFAULT_CONFIG, element, EVENT_TYPES, footer, header, 
	// id, imageRoot, isSecure, platform

	// panelID = (System == "win" && !Safari) ? "panel1" : "panel2";
	panelID = "panel1";
	// alert("panelHeight = " + panelHeight); // 504px
	
	Panel1 = new YAHOO.widget.Panel(panelID, { 
		width:"420px", 
		// height: panelHeight,  // nur noch body.style.height !
		fixedcenter: true, 
		constraintoviewport: true, 
		underlay:"shadow",  // "matte"
		close:true, 
		visible:false,
		zIndex:5,
		draggable:true
	} ); 

	//	Panel1.body.style.height = panelHeight; 
	Panel1.body.style.overflow = "auto";
	if (panelID == "panel2") Panel1.body.style.backgroundColor = "#dfdfdf"; // !!! ???

	// configKeyListeners: function (type, args, obj)
	// KeyListener für ESC-Taste zum Schließen des Panels:
	var kl = new YAHOO.util.KeyListener(document, { keys:27 },                               
																 { fn:Panel1.hide, 
																	scope:Panel1, 
																	correctScope:true } ); 
	// Panel1.cfg.setProperty("overflow", "auto");
	Panel1.cfg.queueProperty("keylisteners", kl); 
	// Panel erst _nach_ KeyListener erzeugen:!!!
	// render: function (appendToNode)
	Panel1.render();
}
initBildPanel = function() {
	/*
	var body = document.getElementsByTagName("body")[0];
	var divTag = document.createElement("div");
	divTag.setAttribute("id", "Maske");
	body.appendChild(divTag);
	*/
	$D.addClass(document.body, "yui-skin-sam");
	
	// panelID = (System == "win" && !Safari) ? "panel1" : "panel2";
	panelID = "BildPanel";
	
	YAHOO.ms.Panel2 = new YAHOO.widget.Panel(panelID, { 
		// width:"420px", 
		// height: panelHeight,  // _nicht_ setzen (sonst kein x-scroll)
		// height:"400px",
		fixedcenter: true, 
		constraintoviewport: true, 
		underlay:"shadow",
		monitorresize: true,
		modal: false,
		// iframe: true,
		close:true, 
		visible:false,
		// keylisteners: (s.u.)
		zIndex:4,
		draggable:true
	} ); 

	var msPanel = YAHOO.ms.Panel2;

	msPanel.setHeader("Header"); 
	msPanel.setBody("Body"); 
	msPanel.setFooter("Footer"); 

	// configKeyListeners: function (type, args, obj)
	// KeyListener für ESC-Taste zum Schließen des Panels:
	var kl = new YAHOO.util.KeyListener(document, { keys:27 },                               
																 { fn:msPanel.hide, 
																	scope:msPanel, 
																	correctScope:true } ); 
	// msPanel.cfg.setProperty("overflow", "auto");
	msPanel.cfg.queueProperty("keylisteners", kl); 
	
	/*
	1) Panel erst _nach_ KeyListener erzeugen:!!!
	2) render(document.body) damit Panel über _ganze_ Seite verschiebbar !!!
	*/
	// render: function (appendToNode)
	msPanel.render(document.body);
	
	var onPanelShow = function(e, args){
		alert("onPanelShow");
		// window.status = "************************************* onPanelShow";
		$D.setStyle("page", "opacity", 0);
		// $D.setStyle("Maske", "z-index", 0);
		// $D.setStyle("Maske", "display", "block");
		var anim = new YAHOO.util.Anim("page", { 
			opacity: {to: 0.3}
		// }, 1, YAHOO.util.Easing.easeIn);
		}, 3);
		anim.animate();

		/*
			alert(args[0] + "\n" + args[1]);
			
			// var url = ProgrammVerzeichnis + "SonderSeiten.php?Name=" + Name + "&MatID=" + MatID + "&ajax=1" + XX;
			var url = "http://it-material.de/IT-online5/wp-content/plugins/ms-filters/include/panel_content.php?id=" + PostID + XX;
	
			msPanel.setBody("<iframe src=\"" + url + "\"></iframe>"); 
	
			// Maske funktioniert bei IE-Layout noch nicht ("Links" ausserhalb!)
			if (IE) {
				var anim = new YAHOO.util.Anim("Mitte", { opacity: {to: .6} }, 0);
				anim.animate(); // (OK)
			}
			else {
				$D.setStyle("Maske", "opacity", 0);
				$D.setStyle("Maske", "z-index", 0);
				$D.setStyle("Maske", "display", "block");
				var anim = new YAHOO.util.Anim("Maske", { 
					opacity: {to: 0.3}
				// }, 1, YAHOO.util.Easing.easeIn);
				}, 3);
				anim.animate();
			}
		*/
	};
	// msPanel.showEvent.subscribe(onPanelShow, msPanel, true);
	
	var onPanelHide = function(e, args, o) {
		msPanel.setBody(""); // Flash stoppen!!!
		// alert("onPanelHide");
		// msPanel.cfg.setProperty("fixedcenter", true); // neu zentrieren (OK)

		/*
			if (IE) {
				var anim = new YAHOO.util.Anim("Mitte", { opacity: {to: 1} }, 0);
				anim.animate(); // (OK)
			}
			else {
				var anim = new YAHOO.util.Anim("Maske", { 
					opacity: {from: 0.4, to: 0}
				}, .5, YAHOO.util.Easing.easeOut);
				anim.animate();
				$D.setStyle("Maske", "display", "none");
			}
		*/
	};
	msPanel.hideEvent.subscribe(onPanelHide, msPanel);

}
// $E.onAvailable(arrLehrerHinweis, initLehrerPanel);
initLehrerPanel = function() {
	// alert("LehrerPanel");
	// panelID = "LehrerPanel";
	// alert("panelHeight = " + panelHeight); // 504px
	// var x = $D.getX("LehrerHinweis") + 10;
	// var y = $D.getY("LehrerHinweis") + 16;

	var body = document.getElementsByTagName("body")[0];
	var divTag = document.createElement("div");
	divTag.setAttribute("id", "Maske");
	body.appendChild(divTag);
	$D.setStyle("Maske", "position", "absolute");
	$D.setStyle("Maske", "top", "0");
	$D.setStyle("Maske", "right", "0");
	// $D.setStyle("Maske", "bottom", "0");
	$D.setStyle("Maske", "left", "0");
	$D.setStyle("Maske", "display", "none");
	$D.setStyle("Maske", "background-color", "#333");
	$D.setStyle("Maske", "height", document.body.offsetHeight+"px");
	// alert("document.body.offsetHeight = " + document.body.offsetHeight);
	
	// wenn noch nicht initialisiert:
	if (!YAHOO.ms.Panel3.body) {
		YAHOO.ms.Panel3 = new YAHOO.widget.Panel("LehrerPanel", { 
			width:"640px", 
			// height:"400px",
			// xy:xy,
			// x:x,
			// y:y,
			// "Anchor my Overlay's top left corner to my context element's bottom left corner."
			// klappt hier noch nicht!!!
			// context:["LehrerHinweis","tl","bl"],
			fixedcenter: true, 
			constraintoviewport: true, 
			underlay:"shadow",
			modal: false,
			// close:true, 
			iframe: true,
			monitorresize:true,
			visible:false,
			zIndex:4,
			draggable:true
		} );

		msPanel = YAHOO.ms.Panel3;
		
		// configKeyListeners: function (type, args, obj)
		// KeyListener für ESC-Taste zum Schließen des Panels:
		var kl = new YAHOO.util.KeyListener(document, { keys:27 },                               
																	 { fn:msPanel.hide, 
																		scope:msPanel, 
																		correctScope:true } ); 
		// msPanel.cfg.setProperty("overflow", "auto");
		msPanel.cfg.queueProperty("keylisteners", kl); 
		// Panel erst _nach_ KeyListener erzeugen:!!!
	}

	var titel = "&nbsp;&nbsp;&nbsp; Lehrer-Info &nbsp;&nbsp;&nbsp;";
	// if (IE) titel = "&nbsp;&nbsp;&nbsp;" + titel + "&nbsp;&nbsp;&nbsp; [Esc] schließt";
	// else titel = "&nbsp;&nbsp;&nbsp;" + titel + "&nbsp;&nbsp;&nbsp; [Esc] und Verlassen des Fensters schließt";
	titel =  titel + "Fenster schließt auch: &nbsp;&nbsp; [Esc]-Taste oder Klick";

	msPanel.setHeader("<div class='tl'></div><span>" + titel + "</span><div class='tr'></div>"); 
	msPanel.setBody("Body"); 
	// msPanel.setFooter("Footer"); 

	// msPanel.cfg.setProperty("width", Breite + "px");
	msPanel.cfg.setProperty("context", ["LehrerHinweis","tl","bl"]);
	
	msPanel.render(document.body);
	
	var onPanelShow = function(e, args, o){
		// $hide("translucent");
		// $D.setStyle("translucent", "z-index", 0);
		// Maske funktioniert bei IE-Layout noch nicht ("Links" ausserhalb!)
		if (IE) {
			// var anim = new YAHOO.util.Anim("Mitte", { opacity: {to: .6} }, 0);
			// anim.animate(); // (OK)
		}
		else {
			$D.setStyle("Maske", "opacity", 0);
			$D.setStyle("Maske", "z-index", 1);
			$D.setStyle("Maske", "display", "block");
			var anim = new YAHOO.util.Anim("Maske", { 
				opacity: {to: 0.3}
			// }, 1, YAHOO.util.Easing.easeIn);
			}, 3);
			anim.animate();
		}
	};
	msPanel.showEvent.subscribe(onPanelShow, msPanel);

	var onPanelHide = function(e, args, o) {
		if (IE) {
			var anim = new YAHOO.util.Anim("Mitte", { opacity: {to: 1} }, 1);
			anim.animate(); // (OK)
		}
		else $D.setStyle("Maske", "display", "none");
		// $D.setStyle("translucent", "z-index", "auto");
	};
	msPanel.hideEvent.subscribe(onPanelHide, msPanel);
	/*
	*/

	// interne Verweise aus "LehrerInfo":
	// $E.onAvailable("Verweise", attach_Event5.init);
}
// Bildfenster/Filmfenster: vgl. ajaxSeiteIT()
var ajaxUpdate6 = function(Name, PostID) {
	var panelOK = false;
	
	// callback bei Erfolg:
	var success = function(o) {
		// ajaxReset(cObj);
		zeigeBildPanel(Name, o.responseText, PostID);  // BildPanel
		ajaxReset(cObj);
	};
	
	// callback beim Scheitern der Übertragung:
	var failure = function(o) {
		ajaxReset(cObj);
		alert('sorry, try back later');
	};
	
	var callback = {
		success : success,
		failure : failure
	};

	if (WMP7 && Name == "Film") Name = "Film7";
	// var url = ProgrammVerzeichnis + "SonderSeiten.php?Name=" + Name + "&MatID=" + MatID + "&ajax=1" + XX;
	var url = "http://it-material.de/IT-online5/wp-content/plugins/ms-filters/include/panel_content.php?id=" + PostID + XX;
	
	cObj = $C.asyncRequest('GET', url, callback);
}
// Bid/FilmPanel aufbauen (BildPanel):
// Aufruf durch ajaxUpdate6()
var zeigeBildPanel = function(Name, responseText, MatID) {
	var msPanel = YAHOO.ms.Panel2;
	// alert("zeigeBildPanel"); // OK
	
	// var titel = "&nbsp;&nbsp;&nbsp;" + Name;
	var erg = (Name == "Bild") ? " &nbsp;| &nbsp; Klick auf Bild" : "";
	var Zusatz = "&nbsp;&nbsp;&nbsp; Fenster schließt auch: &nbsp;&nbsp; [Esc]-Taste" + erg;
	// msPanel.setHeader("<div class='tl'></div><span>" + titel + Zusatz + "</span><div class='tr'></div>"); 
	// msPanel.setHeader("<div class='tl'></div><h2 style='display:inline;'>" + titel + "</h2><span>" + Zusatz + "</span><div class='tr'></div>"); 
	msPanel.setHeader("<div class='tl'></div><span style='text-align:center;'>" + Zusatz + "</span><div class='tr'></div>"); 

	// Scrollleiste: 16px
	// BildContainer = BildWidth + 16
	// Panel = BildContainer + 12

	msPanel.setBody(responseText); 
	// var url = ProgrammVerzeichnis + "SonderSeiten.php?Name=" + Name + "&MatID=" + MatID + "&ajax=1" + XX;
	// msPanel.setBody("<iframe src=\"" + url + "\"></iframe>"); 

	$D.setStyle("BildContainer", "text-align", "center");
	// $D.setStyle(msPanel.body, "text-align", "left");
	$D.setStyle("BildContainer", "width", "auto");

	/* _muss_ hier, wenn Popup nicht modal ist! */
	// zurück:
	var arrZurueck = $D.getElementsByClassName("zurueck", "a", "BildPanel");
	// var txt = "";
	for (z in arrZurueck) {
		img = $D.getFirstChild(arrZurueck[z]);
		if (img) {
			// txt += img.tagName + "\n";
			img.setAttribute("title", "schließen"); // OK
			img.setAttribute("alt", "schließen"); // OK
		}
	}
	// alert(txt);
	$E.on(arrZurueck, "click", function(e, o) {
		$E.stopEvent(e);
		msPanel.setBody(""); // Flash stoppen!!!
		ajaxReset(cObj);
		msPanel.hide();
	});

	/*
	// Create an iframe shim 
	var shim = document.createElement('iframe'); 
	shim.src = 'about:blank'; 
	shim.className = 'shim'; 
	// Add the shim to the element
	var d = this.getEl(); 
	if (d.firstChild !== shim) { 
		 YAHOO.util.Dom.setStyle(shim, 'height',d.offsetHeight); 
		 d.insertBefore(shim, d.firstChild); 
	}
	*/

	// -> Zentrierung einfügen:
	// $D.addClass("divBild", "divBild");

	var Breite = parseInt($D.getStyle("BildContainer", "width")) + 14;
	xOffset = 40;
	var ViewportWidth = $D.getViewportWidth() - xOffset; // "padding" + Scroll-Reserve
	// var ViewportHeight = $D.getViewportHeight() - 35;	// "padding" + Scroll-Reserve
	PanelBreite = Math.min(Breite, ViewportWidth);
	// alert("Breite = " + Breite + "\nViewportWidth = " + ViewportWidth + "\nPanelBreite = " + PanelBreite);

	if (Breite > ViewportWidth) {
		$D.setStyle("BildContainer", "width", (PanelBreite-12) + "px");
		$D.setStyle("scrollRahmen", "width", (PanelBreite-14) + "px");
		$D.setStyle("scrollRahmen", "overflow", "scroll");
		// $D.setStyle("BildContainer", "border", "1px solid red");
	}

	msPanel.cfg.setProperty("width", PanelBreite + "px");
	msPanel.cfg.setProperty("fixedcenter", true); // neu zentrieren (OK)
	msPanel.element.style.position = "absolute";
	msPanel.render();
	msPanel.cfg.setProperty("fixedcenter", false); // mitscrollen
	msPanel.show();

}

// $E.on(arrLehrerHinweis, "mouseover/click", zeigeThemenPanel);
var zeigeThemenPanel = function(e) {
	$E.stopEvent(e);
	var element = $E.getTarget(e);
	// alert("element.nodeName = " + element.nodeName);  // A, IMG, DIV
	if (element.nodeName != "IMG") { return; }
	var href = element.parentNode.getAttribute("href");
	var id = href.split("=")[1];
	// alert("id = " + id); // OK
	var LehrerInfo = $("T_" + id);
	var html = LehrerInfo.innerHTML;

	var msPanel = YAHOO.ms.Panel3;
	msPanel.setBody(html);

	msPanel.body.style.overflow = "auto";
	msPanel.body.style.marginLeft = "6px";
	// msPanel.body.style.backgroundColor = bgColor; 
	// msPanel.body.style.height = null;
	// var yOffset = $D.getY("LehrerHinweis");

	// Opera justiert Panelhöhe nicht nach !!!???
	// msPanel.cfg.setProperty("height", null); // für Opera! (bringt nix)
	// msPanel.body.style.height = null; // für Opera! (bringt nix)
	// msPanel.render();

	// var PanelBreite = 620;
	// var PanelBreite = msPanel.body.offsetWidth;
	// alert($D.getStyle("translucent", "z-index")); // "auto"

	// var xOffset = panelParam(3); // linksBreite
	// PanelGroesse (oPanel, PanelBreite, xOffset, yOffset)
	// PanelGroesse (msPanel, PanelBreite, xOffset, yOffset);

	// msPanel.cfg.setProperty("width", PanelBreite + "px");
	msPanel.cfg.setProperty("fixedcenter", true); // neu zentrieren (OK)
	msPanel.element.style.position = "absolute";
	msPanel.render();
	msPanel.cfg.setProperty("fixedcenter", false); // mitscrollen
	msPanel.show();
}

// $E.on(arrLehrerHinweis, "mouseover/click", zeigeThemenPanel);
var zeigeSkizzenPanel = function(e) {
	$E.stopEvent(e);
	var element = $E.getTarget(e);
	// alert("element.nodeName = " + element.nodeName);  // A, IMG, DIV
	if (element.nodeName != "IMG") { return; }

	// var href = element.parentNode.getAttribute("href");
	var ID = element.getAttribute("id");
	var id = ID.split("_")[1];
	// alert("id = " + id); // OK
	var LehrerInfo = $("T_" + id);
	var html = LehrerInfo.innerHTML;

	var msPanel = YAHOO.ms.Panel3;
	msPanel.setBody(html);

	msPanel.body.style.overflow = "auto";
	msPanel.body.style.marginLeft = "6px";
	// msPanel.body.style.backgroundColor = bgColor; 
	// msPanel.body.style.height = null;
	// var yOffset = $D.getY("LehrerHinweis");

	// Opera justiert Panelhöhe nicht nach !!!???
	// msPanel.cfg.setProperty("height", null); // für Opera! (bringt nix)
	// msPanel.body.style.height = null; // für Opera! (bringt nix)
	// msPanel.render();

	// var PanelBreite = 620;
	var PanelBreite = msPanel.body.offsetWidth;
	// alert($D.getStyle("translucent", "z-index")); // "auto"

	// var xOffset = panelParam(3); // linksBreite
	// PanelGroesse (oPanel, PanelBreite, xOffset, yOffset)
	// PanelGroesse (msPanel, PanelBreite, xOffset, yOffset);
	if (id < 100) msPanel.cfg.setProperty("width", 1040 + "px");
	else msPanel.cfg.setProperty("width", "auto");

	msPanel.cfg.setProperty("fixedcenter", true); // neu zentrieren (OK)
	msPanel.element.style.position = "absolute";
	msPanel.render();
	msPanel.cfg.setProperty("fixedcenter", false); // mitscrollen
	msPanel.show();
}

/* *********************************** Ajax ************************************ */
// ajaxUpdate5($("panel1"), "SonderSeiten2.php", "ajax=1&Name=Legende")
// ajaxUpdate5($("panel1"), "SonderSeiten2.php", "ajax=1&Name=Style")
var ajaxUpdate5 = function(art, adresse, par) {
	url = (par == "") ? adresse : adresse + "?" + par;
	// alert("ajaxUpdate5: " + url);
	
   // callback bei Erfolg:
   var success = function(o) {
		// var cssNr = 2;
		ajaxReset(cObj);
		var Breite = panelParam(0);

		Panel1.cfg.setProperty("width", Breite + "px");
		Panel1.render();
		Panel1.setBody(o.responseText); 
		Panel1.body.style.backgroundColor = "#D5D9E5"; 

		// Panel1.cfg.setProperty("width", Breite + "px");

		Panel1.show();
		
		if (art == "Style") {
			// aktuellen Wert holen und setzen:
			for (i = 0; i < 4; i++) {
				 if (cssNr == i) document.stilWahl.stil[i].checked = true;
			}
		}
   };

   // callback beim Scheitern der Übertragung:
   var failure = function(o) {
		ajaxReset(cObj);
		alert('sorry, try back later');
   };

   var callback = {
      success : success,
      failure : failure
   };
	cObj = $C.asyncRequest('GET', url, callback);
}
function ajaxReset(cObj) {
	// if (cObj == null) return;
   var bStatus = $C.isCallInProgress(cObj);
   if (bStatus) {
		$C.abort(cObj);
		// cObj = null;
	}
	try {
		if (document.movie1) document.movie1.Stop();
	} 
	catch (oError) {}
	stopFading = true;
}

function $show(id) {
	if ( $(id) ) $D.setStyle( $(id), "display", "block" );
}
function $hide(id) {
	if ( $(id) ) $D.setStyle( $(id), "display", "none" );
}

/* *********************************** tree ************************************ */
function getNode(treeNr_, nodeNr_) {
   var id = "N" + treeNr_ + "_" + nodeNr_;
   return $(id);
}
// Node bei Klick öffnen/schließen:
function toggle(treeNr_, nodeNr_) {
	// alert("toggle"); // OK
   var node = getNode(treeNr_, nodeNr_);
   var imgTag = node.getElementsByTagName("img")[0]; // 1. img-Tag

	var logos = "http://it-material.de/Material/_logos/";

   if (imgTag.src.split(logos)[1] == "c2.gif") {
      imgTag.src = logos + "e2.gif";  // OK
      var zeige = true;
   }
   else {
      imgTag.src = logos + "c2.gif";  // OK
      var zeige = false;
   }

   var ulTag = node.getElementsByTagName("ul")[0]; // 1. ul-Tag
   var children = ulTag.getElementsByTagName("li");
   for (var i=0; i<children.length; i++) {
      if (children[i].parentNode == ulTag) {
         if (zeige) $show(children[i]);
         else $hide(children[i]);
      }
   }

}

// Aufruf bei JS-Initialisierung durch tree0/2kl.php5
function Knoten(treeNr,nodeNr,ebeneNr,nodeName,Headline,isParent,InhaltID,categoryID,aktiv,Umbruch) {
   this.ebeneNr = parseInt(ebeneNr);
   this.nodeName = nodeName;
   this.Headline = Headline;
   // this.Adresse = Adresse;
   this.isParent = (isParent == 0) ? false : true;
   if (treeNr == 0) this.InhaltID = parseInt(InhaltID);
   else  this.ThemenID = parseInt(InhaltID);
   this.categoryID = parseInt(categoryID);
   this.aktiv = (aktiv == 0) ? false : true;
   this.Umbruch = (Umbruch == 0) ? false : true;
   this.isSelected = false;

	/*
   if (treeNr == 0) {
		this.keywords_de = keywords_de;
		// this.keywords_de = htmlspecialchars_decode(keywords_de);
      // #new-location: (hash in Adresszeile)
      // erst Leerzeichen entfernen, dann "-" durch "_" ersetze
      // keyName.replace(/\W/g, "_"); // findet alle Zeichen, die nicht alphanumerisch und kein Unterstrich sind
      var keyName = ersetze2(Headline); // deutsche Sonderzeichen ersetzen
      keyName = keyName.replace(/ - /g, "_");
      keyName = keyName.replace(/-/g, "_");
      keyName = keyName.replace(/\s/g, "_");  // findet jede Art von white space, also \f\n\t\v und Leerzeichen global
      this.keyName = keyName;
   }
   else {
      var keyName = ersetze2(nodeName); // deutsche Sonderzeichen ersetzen
      keyName = keyName.replace(/\s/g, "_");  // findet jede Art von white space, also \f\n\t\v und Leerzeichen global
      keyName = keyName.replace(/-/g, "_");
      keyName = keyName.replace(/\./g, "_");
      keyName = keyName.replace(/\:/g, "_");
      keyName = keyName.replace(/\!/g, "");
      keyName = keyName.replace(/\?/g, "");
      this.keyName = "Thema_" + keyName;
   }
	*/
}
// Service für Knoten()
function ersetze2(text) {
   // Reservierte Zeichen sind: +?.*^$()[]{}|\  -> mit \ maskieren!
   // text = "äöüßÄÖÜ";
   var Umlaute = "äöüßÄÖÜ";
   var Umlaute2 = "aeoeuessAeOeUe";
   var x, x2;

   // alert(Umlaute.length);  //  8
   for (var i=0; i<Umlaute.length; i++) {
      x = Umlaute.substr(i, 1);
      x2 = Umlaute2.substr(2*i, 2);
      // alert("x = " + x + "\nx2 = " + x2);
      var regEx = eval("/" + x + "/g");
      text = text.replace(regEx, x2);
   }
   // alert(text);
   // var Sonder = "-+.,;:!?()";
   return text;
}
/* *********************************** Varia ************************************ */
// bei Aufruf von Stichworten kann auch der nicht aktive tree gesetzt werden !!!
function handleTree(treeNr_, nodeNr_) {
   if (singleBranch) closeAllNodes(treeNr_);
   // neuer Node:
   zeigeNode(treeNr_, nodeNr_);
}
function zeigeNode(treeNr_, nodeNr_) {
   // alert("treeNr_ = " + treeNr_ + "\nnodeNr_ = " + nodeNr_);
   // alter Node:
   var altNr = selIndex[treeNr_];
   var altNode = getNode(treeNr_, altNr);
   if (altNode) {
      altNode.style.fontWeight = "normal";
      Node[treeNr_][altNr].isSelected = false;
   }
   // neuer Node:
   var node_ = getNode(treeNr_, nodeNr_);
	if (!node_) return;
   // Node markieren:
   node_.style.fontWeight = "bold";
   node_.style.color = "#0000C0";
   Node[treeNr_][nodeNr_].isSelected = true;

   // neuen Node merken:
   selIndex[treeNr_] = nodeNr_;

   // alle parents öffnen:
   while (node_ && node_.nodeName != "DIV") {
      node_ = node_.parentNode;
      if (node_ && node_.nodeName == "LI") {
			var logos = "http://it-material.de/Material/_logos/";
         node_.getElementsByTagName("img")[0].src = logos + "e2.gif";
      }
      else {  // node_.nodeName = "UL"
         for (var ind in node_.childNodes) {
            var child = node_.childNodes[ind];
            if (child.nodeName && child.nodeName == "LI") $show(child);
         }
      }
   }
}
function closeAllNodes(treeNr_) {
	// alert("closeAllNodes");
   var node_ = null;
   for (var i=0; i<Node[treeNr_].length; i++) {
      node_ = getNode(treeNr_, i);
		if (!node_) continue;
      if (Node[treeNr_][i].isParent) {
			var logos = "http://it-material.de/Material/_logos/";
         node_.getElementsByTagName("img")[0].src = logos + "c2.gif";
      }
      if (Node[treeNr_][i].ebeneNr > 1) {
         $hide(node_);
      }
   }
}
// nur Test-Funktion
function zeigeKnoten(treeNr_, nodeNr_) {
   var txt = "Node[" + treeNr_ + "][" + nodeNr_ + "].ebeneNr = " + Node[treeNr_][nodeNr_].ebeneNr + "\n";
   txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].nodeName = " + Node[treeNr_][nodeNr_].nodeName + "\n";
   txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].Headline = " + Node[treeNr_][nodeNr_].Headline + "\n";
   // txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].keyName = " + Node[treeNr_][nodeNr_].keyName + "\n";
   // txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].keywords_de = " + Node[treeNr_][nodeNr_].keywords_de + "\n";
   // txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].Adresse = " + Node[treeNr_][nodeNr_].Adresse + "\n";
   txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].isParent = " + Node[treeNr_][nodeNr_].isParent + "\n";
   if (treeNr_ == 0) txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].InhaltID = " + Node[treeNr_][nodeNr_].InhaltID + "\n";
   else txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].ThemenID = " + Node[treeNr_][nodeNr_].ThemenID + "\n";
   txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].categoryID = " + Node[treeNr_][nodeNr_].categoryID + "\n";
   txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].aktiv = " + Node[treeNr_][nodeNr_].aktiv + "\n";
   txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].Umbruch = " + Node[treeNr_][nodeNr_].Umbruch + "\n";
   txt += "Node[" + treeNr_ + "][" + nodeNr_ + "].isSelected = " + Node[treeNr_][nodeNr_].isSelected + "\n";

   alert(txt);
}

function fade(bval) {
   if (bval) {
      $show("systemWorking");
      var opac = 0.6;
   }
   else {
      $hide("systemWorking");
      var opac = 1;
   }
	// ******************************** Mitte **********************************
   var anim = new YAHOO.util.Anim(
      "Mitte",
      {
         opacity: {
            // from: 1,
            to: opac
         }
      },
      1,
      YAHOO.util.Easing.easeOut
   );
   anim.animate(); // (OK)

	// ******************************** Seitenkopf **********************************
   anim = new YAHOO.util.Anim(
      "Seitenkopf",
      {
         opacity: {
            // from: 1,
            to: opac
         }
      },
      1,
      YAHOO.util.Easing.easeOut
   );
   anim.animate(); // (OK)
}
// ausblenden:
function fadeOut() {
	stopFading = false;
	var opac = 0.7;
	var zeit = 2;
	// ******************************** Mitte **********************************
	// easeNone: Uniform speed between points. 
	// easeOut: Begins quickly and decelerates towards end. (quadratic)
	// easeIn:  Begins slowly and accelerates towards end. (quadratic)
	/*
	var anim = new YAHOO.util.Anim("Mitte", {
		opacity: { to: opac }
	}, zeit, YAHOO.util.Easing.easeOut);
	anim.onTween.subscribe(function() {
		if (stopFading) anim.stop();
		// $show("systemWorking");
		// $D.setStyle("translucent", "backgroundImage", "none");
	}); 
	anim.animate(); // (OK)
	*/

	$hide("translucent");
	/*
	if (Translucent) {
		var anim3 = new YAHOO.util.Anim("translucent", {
			opacity: { from: 0.2, to: 0 }
		}, 1);
	
		anim3.onComplete.subscribe(function() { 
			$hide("translucent");
			// $D.setStyle("translucent", "backgroundImage", "none");
		}); 
		anim3.animate(); // (OK)
	}
	*/

	// ganz gut!
	var anim = new YAHOO.util.ColorAnim($D.getElementsByClassName("Seite")[0], {
		// backgroundColor: { to: "#AAB4CA" } // rgb(170,180,202) Links
		backgroundColor: { to: "#A5ADC7" } // rgb(165,173,199)
	}, zeit, YAHOO.util.Easing.easeOut);
	anim.onTween.subscribe(function() {
		if (stopFading) anim.stop();
	}); 
	anim.animate(); // (OK)

	/*
	// Maske _ein_blenden:
	$show("Maske2");
	var anim = new YAHOO.util.Anim("Maske2", { 
		opacity: {from: 0, to: 0.2}
	// }, 1, YAHOO.util.Easing.easeIn);
	}, 1);
	anim.animate();

	var anim3 = new YAHOO.util.Anim("translucent", { 
		opacity: {to: 0}
	// }, 1, YAHOO.util.Easing.easeIn);
	}, 1);
	anim3.animate();
	*/

	// ******************************** Seitenkopf **********************************
	var anim2 = new YAHOO.util.Anim("Seitenkopf", {
		opacity: { to: opac }
	}, zeit, YAHOO.util.Easing.easeOut);
	anim2.onTween.subscribe(function() {
		if (stopFading) anim2.stop();
	}); 
   anim2.animate(); // (OK)
}
// wieder einblenden:
function fadeIn() {
	stopFading = true;
	
	// ******************************** Mitte **********************************
	/*
	var zeit = 0;
	var anim = new YAHOO.util.Anim("Mitte", {
		opacity: { to: 1 }
	}, zeit);

	// anim.onComplete.subscribe(function() { 
	anim.onStart.subscribe(function() {
		if (!Translucent) $hide("translucent");
		// $D.setStyle("translucent", "backgroundImage", "none");
	}); 
   anim.animate(); // (OK)
	*/
	
	// ganz gut!
	var bgColor = panelParam(1);
	var anim = new YAHOO.util.ColorAnim($D.getElementsByClassName("Seite")[0], {
		backgroundColor: { to: bgColor} // "#D5D9E5" rgb(213,217,229)
	}, 1);
	anim.animate();

	anim.onComplete.subscribe(function() { 
		$D.setStyle("translucent", "opacity", 0);
		$show("translucent");
		var anim3 = new YAHOO.util.Anim("translucent", {
			opacity: { to: 0.2 }
		}, 1);
		anim3.animate(); // (OK)
	}); 

	/*
	// Maske _aus_blenden:
	var anim = new YAHOO.util.Anim("Maske2", { 
		opacity: {to: 0}
	// }, 1, YAHOO.util.Easing.easeIn);
	}, 1);
	anim.animate();
	
	anim.onComplete.subscribe(function() { 
		// $D.setStyle("Maske2", "display", "none");
		$hide("Maske2");
		$D.setStyle("translucent", "opacity", 0.2);
		$show("translucent");
	}); 
	*/
	
	// ******************************** Seitenkopf **********************************
	var anim2 = new YAHOO.util.Anim("Seitenkopf", {
		opacity: { to: 1 }
	}, 1, YAHOO.util.Easing.easeNone);
   anim2.animate(); // (OK)
}
// früher: StyleFenster.js
function setzeCSS() {
   var s = document.stilWahl; // Form

	for (i = 0; i < 4; i++) {
		if (s.stil[i].checked == true) {
			cssNr = i;
			cssTitle = s.stil[i].value;
		}
	}
	// alert(cssNr);
   setActiveStyleSheet(cssTitle);

	// linksBreite: Breite von <div id='LinksContainer'> (200, 223, 263, 320)
	var Breite = panelParam(0); // setzt auch linksBreite!
	Panel1.cfg.setProperty("width", Breite + "px");
	Panel1.render();
	Panel1.show();
}

function Register(StichwortNr,treeNr,nodeNr,InhaltID,AnkerID,AnkerName) {
   this.StichwortNr = parseInt(StichwortNr);
   this.treeNr = parseInt(treeNr);
   this.nodeNr = parseInt(nodeNr);
   this.InhaltID = parseInt(InhaltID);
   this.AnkerID = parseInt(AnkerID);
   this.AnkerName = AnkerName;
}

/*
tree0 widget:

<li id="categories-232387281" class="left-wp-widget widget_categories">
<h2 class="widgettitle">UnterrichtsMaterial</h2>
<ul>
	<div id="tree0">
		<ul class="stufe0">
			<li class="cat-item cat-item-4 Ebene_1" id="S0_0">
				<a href="http://it-material.de/IT-online5/category/kurse-und-glossare/">Kurse und Glossare</a>
			</li>
			
			...
		</ul>
	</div>
</ul>
*/


/*
You can also use Shadowbox.setup to manually set up link elements for use with Shadowbox. This can be useful, for example, if you have a dynamic page with links being created and destroyed dynamically.

The following example uses Prototype 1.6 syntax.

<script type="text/javascript">

document.observe('dom:loaded', function(){

    Shadowbox.init({
        skipSetup: true // skip the automatic setup
    });

    // set up all anchor elements with a 'movie' class to work with Shadowbox
    Shadowbox.setup($$('a.movie'), {
        gallery:            'My Movies',
        autoplayMovies:     true
    });

});

</script>

*/

