//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
//Anfang des Scripts 
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  
//© 2011 by Bastian Gleiche // Produced for Budokai Worms
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  



//Diese Funktion aktiviert die Jquery-Funktionen für die entsprechenden Seiten	
function activateJquery() {

	
	$(document).bind("ready", function() {	


		//Initialisiere die Shadowbox-Einstellungen
		Shadowbox.init({


			continuous: true,
			overlayOpacity: 0.8,
			slideshowDelay: 5,
			
			onOpen:function() {	
			
												
				//Blende den Seiteninhalt aus. Hierzu wird der <td> der äßersten Tabelle ausgeblendet, da dieser den eigentlichen Seiteninhalt in sich trägt. Jedoch wird zuerst der 
				//shadowdivs ausgeblendet, damit dieser nicht bei den restlichen blendeffekten stört.			
				$("#shadowDiv").fadeTo(0, 0, function() {				
					
					$("table:eq(1)").fadeTo("medium", 0);
					
				}); 			
				
				
			},

			onClose:function() {
			
			
				//Lösche die Cache-Daten der Diashow, wenn die Shadow-Box geschlossen wird, damit neue Diashows richtig funktionieren.
				Shadowbox.clearCache();

				//Entferne jetzt unnötige Hilfsbuttons
				$("#shadowDiv").html("");	
				
				//Blende die Seite wieder ein.
				$("#shadowDiv, table:eq(1)").fadeTo("medium", 1);				
															
				
			}			
						
								
		});
			
			
			
		//Führe einmalig beim Seitenladen aus, um alle Elemente auszurichten.
		$(window).bind({		
			
			//Passe die Positionen des Seitenanfangknopfes und des shadowdivs an die aktuelle Seitenposition an.
			"scroll resize": function() {

				var abstand=($(this).scrollTop() + ($(this).height()-50))-805;
				
				//Mindestabstand nach Oben für den Seitenanfangknopf
				if(abstand<25) {
				
					abstand=25;
								
				}
				
				$("#scrollTopDiv").stop(true,false).animate({
				

					"margin-top": abstand

						
				}, 750, "easeInOutExpo", function() {				
									
					//Wenn eine weiße Fläche unter dem Iframe entsteht, wenn das Fenster seine Größe ändert und der Seitenanfangsbutton sich bewegt, dann korrigiere die IFrame-Höhe
					if($("#scrollTopDiv").offset().top>$("#inhalt").offset().top+$("#inhalt").height())
					{
						
						//Animiere den Iframe
						$("#inhalt").stop(true,false).animate({
					
					
							height: $("#scrollTopDiv").offset().top-$("#inhalt").offset().top+50
							
							
						}, 750, "easeInOutExpo");
						
					}											
								
				});
							
				//Lasse den Shadow-Div sich immer passend positionieren, damit es keinen "Sprung" gibt, wenn die Shadow-Box geöffnet wird.
				$("#shadowDiv").offset({top:$(this).scrollTop() + ($(this).height()/2),left:$(this).width()/2});				
							
				
			}
			
			
		});

									
				
		//Übernehme bei Klick auf einen der Links in der index.html das Laden der entsprechenden Seite.
		$("a").not(("a[id|='sb-nav'], a[id='scroll_top']")).bind("click", function(event){

		
			//Sorge dafür, dass der Link für das Gästebuch funktioniert.
			if($(this).is("a[onclick*='WriteShadowContent']")){
			
				event.preventDefault();
			
			//Ansonsten fertige normale Links ab.
			} else {
				
				//Speichere Ziellink
				var src=$(this).attr("href");
				
				//Stoppe gewöhnliches "Laden" des Iframes.
				event.preventDefault();
				
				
				//Stoppe die Animationen des Iframes und blende Iframe aus.				
				$("#inhalt").stop(true,false).fadeTo("medium", 0, function() {


					//Erstelle Ladebalken und Lade den Ziellink.
					$("#shadowDiv").html("<img src='data/pics/shadowbox/loadingAnimation.gif'>");
					$(this).attr("src", src);


				});					
			
			}

			
		});



		/*
		Erklärung:
		----------
		Bei einem Klick auf einen Link in der Hauptseite oder im Iframe wird die URL des Links gespeichert und das Standardladen des Iframes abgebrochen.
		Dann werden alle Animationen des Iframes gestoppt, um Animationsfehler zu unterbinden. 
		Der Iframe wird ausgeblendet und ein Ladebalken erscheint.		
		Dann wird die URL des Iframes auf das Ziel gesetzt.
		
		Wenn der Iframe geladen wurde, wird nach oben gescrollt. Es wird eine neue Höhe für den Iframe berechnet, damit dieser keine Scrollbalken hat und der Iframe wird wieder eingeblendet.
		Wenn der Iframe wieder eingblendet wurde, dann seine Höhe angepasst, damit der Scrollbalken des Iframes verschwindet.
		
		Auf die neu geladenen Links im Iframe wird nun der Handler für das Auslösen dieser Funktionen gelegt, damit diese auch animiert sind.
		*/
		
		//Führe aus, wenn der Iframe geladen wird.		
		$("#inhalt").bind("load", function() {

		
			//Veranlasse ein animiertes "Nach oben Scrollen"
			$("#scroll_top").click();

			//Entferne den Ladebalken
			$("#shadowDiv").html("");
				
			//Blende Iframe ein (wenn er ausgeblendet wurde).
			$(this).fadeTo("medium", 1, function() {
			
			
				//Errechne eine neue Höhe für den Iframe, damit er keine Scrollbalken mehr hat.
				var hoehe=$("#inhalt").contents().find("body").height()+50;
				
				//Mindesthöhe, damit der Iframe nicht kleiner als Hintergrundbild bzw. die Höhe der Navileiste mit letzter Änderung werden kann.
				if(hoehe<670) {
				
					hoehe=670;
					
				}		
			
				//Animiere den IFrame erst, wenn der Seitenanfangbutton hochgefahren ist, damit keine Fehler entstehen (Iframehöhe bleibt am Button hängen).
				var wait = setInterval(function() {
			
			
					if(!$("#scrollTopDiv").is(":animated")) {				
						
						clearInterval(wait);
						
						//Wenn der Iframe kleiner als die Seitenhöhe wird, dann setze Höhe des Iframes so, dass er mit dem Seitenanfangsknopf abschließt und so keine weiße Fläche unter dem Frame entsteht
						if(hoehe+$("#inhalt").offset().top<$("#scrollTopDiv").offset().top)
						{
						
							hoehe=$("#scrollTopDiv").offset().top-$("#inhalt").offset().top+50;
						
						}
						
						//Animiere den Iframe
						$("#inhalt").animate({

					
							height: hoehe

							
						}, 750, "easeInOutExpo");
						
					}
						
						
				}, 250);				
												

				//Aktviere die Linkfunktionen für die neu geladenen Links (Animationen).
				$(this).contents().find("body a").not(("a[onclick*='top.WriteShadowContent'], a[href^='mailto:'], a[href$='.pdf'], a[target='_blank']")).bind("click", function(event){
		
					
					//Überprüfe Browser für die korrekte Erkennung der aktuellen URL.
					if( document.getElementById('inhalt').contentWindow ){ //Firefox etc.														
															
						var datei=document.getElementById("inhalt").contentWindow.document.URL;
															
					} else { //IE <= Version 6
																	
						var datei=document.frames[0].document.URL;																	
																	
					}  
					
					//Dieses Teilscript notwendig, da nach einem Druck auf F5 das URL-Attribut des Iframes wieder auf home.html verwaist und die Seite somit z.B. im FF nicht mehr richtig
					//funktioniert. Des Weiteren funtkionieren die Iframelinks ohne dieses Script nicht - wegen diesem SRC-Attribut. Setze bei einem Klick auf einen Link im Iframe,
					//den Ziellink zusammen.
					datei=datei.replace(/\\/g, "/");
					var src=datei.slice(0,datei.lastIndexOf("/")+1).concat($(this).attr("href"));

					//Kürze die Zielurl -> z.B. data/html/../ wird zu data/ ,um die URL nicht unnötig zu verlängern.
					while(src.indexOf("../")!=-1) {

						src=src.slice(0,src.indexOf("../")-1).slice(0,src.slice(0,src.indexOf("../")-1).lastIndexOf("/")+1).concat(src.slice(src.indexOf("../")+3,src.length));

					}
					
					//Animiere das Laden der neuen Seite.
					//Stoppe gewöhnliches "Laden" des Iframes.
					event.preventDefault();
				
					//Stoppe die Animationen des Iframes und blende den Iframe aus.					
					$("#inhalt").stop(true,false).fadeTo("medium", 0, function() {


						$("#shadowDiv").html("<img src='data/pics/shadowbox/loadingAnimation.gif'>");
						$(this).attr("src", src);


					});					

					
				});
					
				//Verhindere, dass ein Klick auf einen Shadow-Box-Link ein falsches Laden der Seite erzeugt.
				$(this).contents().find("body a[onclick*='top.WriteShadowContent']").bind("click", function(event) {
			
			
					event.preventDefault();
							
			
				});
				
				//Erstelle einen Cursor-Pointer für alle Shadow-Link-Bilder.
				$(this).contents().find("body img[onclick*='top.WriteShadowContent']").css("cursor", "pointer");				


			});		


		});



		/*
		Erklärung:
		----------
		Für den IE6 & IE7 wurde ein Hack eingebaut. Es wird immer nur auf die div's mit den Überschriften oder auf Unterlistenpunkte (li) zugegriffen, um die Ein- und Ausblendungen zu vollziehen.
		Der IE6 & IE7 würden ansonsten die Navigationsleiste verschlucken!!
		
		Bei einem Klick auf einen Überschriften-Div wird die darin enthaltene Liste eingblendet und die anderen Überschriften-Divs ausgeblendet bzw. umgekehrt, wenn dieser Container wieder 
		geschlossen werden muss. 
		Alle Ein- und Ausblendungen sind mit jquery und easing animiert.
		
			Um zu vermeiden, dass bei Doppelklicks, vielen Klicks auf verschiedene Elemente usw. Animationsfehler auftreten, werden die Animationen der Listenelemente bei jedem Funktionsaufruf gestoppt und direkt zum Ende 
			geführt, bevor weitere Animationen gestartet werden.
		
		Das Ausblenden der nicht mehr gewünschten Listen, das Einblenden/Ausblenden der aktuellen Liste, sowie das Korrigieren der Containerüberschriften laufen simultan ab, um einen angenehmen Effekt zu erzielen.
		Zum Positionieren der Containerüberschriften wird zuerst ermittelt auf welche Listenüberschrift geklickt wurde und davon ausgehend wird weitergearbeitet.
				
			Es werden folglich die restlich betroffenen Listenelemente Stück um Stück abgearbeitet. Es wird der Wert "margin-left" der jeweiligen Listenpunkte bearbeitet.
			Die Entscheidung für den korrekten Wert erfolgt über die Höhe der vom Benutzer gewünschten Liste ($(Dies).next().height()).
		
			Zu beachten ist, dass nur die Containerüberschriften horizontal verschoben werden!! Nicht die Listen slebst. Bei Linkelementen in der einer Liste, werden die Listenpunkte, die einen Link enthalten horizontal 
			verschoben,	damit ältere IE-Versionen damit arbeiten können und die Links nicht am linken Ende horizontal abschneiden, da sie quasi links der eigentlichen Liste positioniert wären, wenn die Liste verschoben worden 
			wäre und die Links trotzdem am Farbverlauf positioniert werden sollten.
			
		Nach diesen Animationen wird das Hintergrundbild der Navileiste ausgetauscht.
			
			Hierzu wird die Containerüberschrift, der vom Benutzer gewünschten Liste überprüft und zusätzlich überprüft, ob die Navileiste im Moment das passende Hintergrundbild hat.
			Nur wenn das Bild nicht passt, wird die Navileiste ausgeblendet und das Bild getauscht, woraufhin die Navileiste wieder erscheint.
			
				Um den korrekten Animationszeitpunkt zu finden, wird gewartet, bis die vorherigen Navileistenanimationen beendet sind.
				Um auch hier Probleme mit Mehrfachklicks zu verhindern, wird mit Hilfe der Variable wait bei jedem Funktionsaufruf ein erneutes Warten auf Beendigung der anderen Animationen ausgelöst, sodass vorherige 
				Warteschlangen gelöscht werden.
				Da dafür die Variable wait jedes Mal neu festgelegt werden muss, muss sie global sein, damit jeder Funktionsaufruf Zugriff auf sie hat und nicht eine lokale Überlagerung erzeugt.
		*/
		var wait;
		
		$("div.menu_head").bind("click", function() {
			
			//Speichere das this-Objekt für die weitere Verwendung.
			var Dies=this;			
				
			//Schließe alle anderen Unterlisten, damit nur die angeklickte offen sein kann.
			$("div.menu_head").not($(this)).next().stop(true,true).slideUp(750, "easeInOutExpo");
					
			//Animiere die geklickte Liste
			$(this).next().stop(true,true).slideToggle(750, "easeInOutExpo");
					
			//Gehe alle Listen durch, um die "margin-left"-Werte zu ermitteln, mit denen die Überschriften der Unterlisten versehen werden müssen, 
			//	damit sie dem blauen Farbverlauf folgen.
			$("div.menu_head").stop(true,true).each(function(i) {						
						
						
				//Wenn die Karate-Unterliste gewünscht ist, dann...
				if($(Dies).text()=="Karate") {
						
					//Bearbeite den Punkt Selbstverteidigung (Abstand zum linken Bildrand).
					if(i==1) {
							
						//Karate-Liste eingeklappt
						if($(Dies).next().height()>20) {			
								
							$(this).animate({				

									"margin-left": 86

							}, 750, "easeInOutExpo");
									
						//Karate-Liste ausgeklappt
						} else {
								
							$(this).animate({

								"margin-left": 93

							}, 750, "easeInOutExpo");
									
						}
								
					//Bearbeite den Punkt Viet-Kung-Fu (Abstand zum linken Bildrand).
					} else if(i==2) {

						//Karate-Liste eingeklappt
						if($(Dies).next().height()>20) {
									
							$(this).animate({

								"margin-left": 82

							}, 750, "easeInOutExpo");
									
						//Karate-Liste ausgeklappt
						} else {
									
							$(this).animate({

								"margin-left": 100

							}, 750, "easeInOutExpo");
									
						}

					}								
								
				//Wenn die Selsbtverteidigungs-Unterliste gewünscht ist, dann...
				} else if ($(Dies).text()=="Selbstverteidigung") {
						
					//Bearbeite die Selbstverteidigungslsite selbst, da diese ja senkrecht verschoben sein kann (je nach geöffneter Liste) ->  bearbeite Abstand zum linken Bildrand.
					if(i==1 && $(this).css("margin-left")!=86) {
										
						$(this).animate({

							"margin-left": 86

						}, 750, "easeInOutExpo");
								
					//Bearbeite die Viet-Kung-Fu-Liste (Abstand zum linken Bildrand).
					}  else if(i==2) {

						//Selsbtverteidigungsliste eingeklappt
						if($(Dies).next().height()>20) {
									
							$(this).animate({

								"margin-left": 82

							}, 750, "easeInOutExpo");
									
						//Selsbtverteidigungsliste ausgeklappt
						} else {
								
							$(this).animate({

								"margin-left": 63

							}, 750, "easeInOutExpo");
								
						}

					}
						
				//Wenn die Viet-KungFu-Unterliste gewünscht ist, dann...
				} else {
							
					//Bearbeite die Selbstverteidigungsliste, da diese ja senkrecht verschoben sein kann -> Bearbeite Abstand zum linken Bildrand.
					if(i==1 && $(this).css("margin-left")!=86) {
								
						$(this).animate({

							"margin-left": 86
										
						}, 750, "easeInOutExpo");
										
					//Bearbeite die Viet-KungFu-Liste liste selbst da diese senkrecht verschoben sein kann.
					} else if(i==2 && $(this).css("margin-left")!=78) {
										
						$(this).animate({

							"margin-left": 82

						}, 750, "easeInOutExpo");
									
					}
						
				}

					
			});	
						
			clearInterval(wait);		
			
			//Warte bis die Linkanimationen beendet sind und die korrekte Navileiste angezeigt wird, um das Hintergrundbild der Navigation zu ändern.
			//Das Bild wird nur geändert, wenn es notwendig ist.
			wait = setInterval(function() {
		
		
				if(!$("div.menu_head").is(":animated") && !$("div.menu_head").next().is(":animated")) {
				
					clearInterval(wait);		
						
					//Wenn Karate gewünscht ist, dann zeige das Hintergrundbild mit dem blauen Streifen
					if($(Dies).text()=="Karate" && $("table").eq(3).find("td").eq(0).css("background-image").indexOf("hintergrund-navi-karate.jpg")==-1) {
									
						$("table").eq(3).find("td").eq(0).fadeTo(500, 0, function() {
								
								
							$(this).css("background-image", 'url("data/pics/hintergrund/hintergrund-navi-karate.jpg")').fadeTo(500, 1);
						
						
						});
					
					}
					
					//Wenn Slebstverteidigung gewünscht ist, dann zeige das Hintergrundbild mit dem orangenen Streifen					
					if($(Dies).text()=="Selbstverteidigung" && $("table").eq(3).find("td").eq(0).css("background-image").indexOf("hintergrund-navi-selbstverteidigung.jpg")==-1) {
					
						$("table").eq(3).find("td").eq(0).fadeTo(500, 0, function() {
						
						
							$(this).css("background-image", 'url("data/pics/hintergrund/hintergrund-navi-selbstverteidigung.jpg")').fadeTo(500, 1);
						
						
						});
					
					}		
						
					//Wenn Viet Kung Fu geöffnet ist, dann zeige das Hintergrundbild mit dem grünen Streifen
					if($(Dies).text()=="Viet Kung Fu" && $("table").eq(3).find("td").eq(0).css("background-image").indexOf("hintergrund-navi-vietkungfu.jpg")==-1) {
					
						$("table").eq(3).find("td").eq(0).fadeTo(500, 0, function() {
						
						
							$(this).css("background-image", 'url("data/pics/hintergrund/hintergrund-navi-vietkungfu.jpg")').fadeTo(500, 1);
						
						
						});
					
					}		
			
				}
					
					
			}, 250);
		
		
		});
			
			
			
		//Aktiviere das "Glänzen" der Containerüberschriften, wenn die Maus drüberfährt.
		$("ul.menu_body li div").hover(function() {


			$(this).css("cursor","pointer").fadeTo('fast', 0.5);


		}, function() { 


			$(this).css("cursor","default").fadeTo('fast', 1);

			
		});
		  
		  

		//Aktiviere den "Seitenanfang"-Button
		$("#scrollTopDiv").localScroll();
		
	
	});		
									   

}



//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  



//Lade die XML - Datei mit den gewünschten Daten und rufe gewünschte Funktion auf.
function loadXML(xmlData, nextFunction) {

	
	if(window.ActiveXObject) {//Internet Explorer
		
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load(xmlData);
		
		switch(nextFunction) {		
														
			case "search": getNextDate();
						   break;								
									
			case "write": writeDates();
						  break;
								  
			case "initialize": initialize();
							   break;								
						   
			case "videos": loadVideos();
						   break;							
									
			default: break;					
						
		}
    
	} else if (document.implementation && document.implementation.createDocument) {
    
		try{//Firefox, Opera und andere
			   
				   
			xmlDoc=document.implementation.createDocument("","",null);
			xmlDoc.load(xmlData);
			xmlDoc.onload = function() {
				   
				switch(nextFunction) {
				
															
					case "search": getNextDate();
								   break;
										
					case "write": writeDates();
								  break;
								  
					case "initialize": initialize();
									   break;
																   
					case "videos": loadVideos();
								   break;								
										
					default: break;					
						
				}	
				   
			}
		
											
		} catch(e){//Safari und Google Chrome
			
			
			xmlDoc = new XMLHttpRequest();                       
			xmlDoc.open("GET", xmlData, false);                        
			xmlDoc.send("");                        
			xmlDoc=xmlDoc.responseXML; 
			  
			switch(nextFunction) {		
														
				case "search": getNextDate();
							   break;								
									
				case "write": writeDates();
							  break;	
								  
				case "initialize": initialize();
								   break;						  
								   
				case "videos": loadVideos();
							   break;				   
																	
				default: break;					
						
			}
			
			  
		}
	
	//ansonsten Fehlerausgabe
	} else {
	
		alert('Your browser cannot handle this script');
	
	}
		
		
}



//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



//Funktion zum Berechnen des nächstens Events.
function getNextDate() {


	//Variablen (Datum etc.)
	var Jetzt = new Date();
	var Jahr = Jetzt.getFullYear();
	var Monat = Jetzt.getMonth();
	var Monate = new Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
	var Tag = Jetzt.getDate();
	
	//Variable (Ergebnis)
	var Ergebnis=[];
		
	// Variablen (Rechnungen)
	var Anhaengen = 0;
	var Resttage = new Array();
	var Resttag=0;
	var TagX=1;
	
	//Variablen (Korrektur der ersten Spalte der Ausgabetabelle bei mehreren Events, sodass diese Spalte so hoch ist wie alle Events und nicht unterbrochen wird).
	var NeueSpaltenHoehe=0;
	var ZuErsetzen;
	var Wert;
	
	//Hilfsvariablen
	var Dieses;
	var Ausgabe="";
		
	//Überprüfung, ob das Jahr stimmt. Nur Wenn Systemdatum das richtige Jahr hat, dann führe das Folgende aus
	if(Jahr <= $(xmlDoc).find("yearstamp").text()) {
	
		//Unterstützung für Jahr, das in der Zukunft liegt; z.B. das nächste Jahr etc. (Macht Sinn, wenn in diesem Jahr keine Terimne mehr sind.)
		if(Jahr < $(xmlDoc).find("yearstamp").text()) {
		
			Tag=1;
			Monat=0;
		
		}

		//Gehe jeden Monat durch...
		$(xmlDoc).find("month").each(function(i) {
			
			
			//...und untersuche den aktuellen Monat auf Events.
			if($(this).find("monthstamp").text()==Monate[Monat]) {
			
				//Gehe jedes Event im aktuell zu untersuchenden Monat durch.
				$(this).find("event").each(function() {
					
			
					//Merhtägige Events
					if($(this).find("datestamp").text().indexOf("-") != -1) {
							
						//Welche Tage hat das Event noch in diesem Monat?
						Resttage = analyzeDate($(this).find("datestamp").text(),i,$(xmlDoc).find("yearstamp").text());						
						Dieses=this;
						
						//Gehe alle Tage des Events durch.
						$.each(Resttage, function(index, value) { 
	
							
							//Wenn dieses Element das erste Elemente in der Ausgabetabelle ist, dann erstelle die Ergebnistabelle -> Ausgabe ist immer noch leer.
							if(Anhaengen == 0) { 
							
								//Überprüfe, ob der aktuelle Tag noch im Event liegt.
								if (Tag <= Resttage[index]) {
									
									//Füge dieses Event als das gesuchte erste Element in die Ergebnistabelle ein.			
									Anhaengen = 1;
									//Setze den Tag fest, den ein weiteres Element umfassen muss, damit es eingefügt wird. (Es muss den Tag beinhalten, über den das aktuelle Element ausgewählt wurde).
									TagX = Resttage[index];									
									//Hänge Event in die Tabelle ein; mit Mehrfachlinkunterstützung.
									$.merge(Ergebnis, ["<table border='1' align='center' width='100%'><tr><td align='center' bgcolor='#CFCFCF'>Monat</td><td align='center' bgcolor='#CFCFCF'>Datum</td><td align='center' bgcolor='#CFCFCF'>Titel</td><td align='center' bgcolor='#CFCFCF'>Ausschreibung</td></tr><tr><td align='center' bgcolor='#003300'><font color='#FFFFFF'>" + $(Dieses).parent().find("monthstamp").text() + " " + $(xmlDoc).find("yearstamp").text() + "</font></td><td colspan='3' bgcolor='#003300'></td></tr>"]);
									$.merge(Ergebnis, analyzeLink(Dieses));
									
								}										
										
							//Wenn das erste Element der Tablle schon vorhanden ist, dann hänge weitere Events an.
							} else {					
							
								//Wenn das Element de Tag beinhaltet, über den das erste Element zugeordnet wurde, dann fürge dieses Element hinzu, da es folglich zur Auswahl dazugehört.
								if (value == TagX) {	
								
									//Hänge dieses Event an die Tabelle an.							
									$.merge(Ergebnis, analyzeLink(Dieses));
																						
								}	
								
							}
							
							  
						});	
						
					//Eintägiges Event					
					} else {						
								
						//Bringe den Tag Elements in eine Form, die zum Rechnen benutzt werden kann.		
						Resttag = $(this).find("datestamp").text();
											
						if(Resttag.slice(0,2).indexOf(".") != -1) {				
											
							Resttag = Resttag.slice(0,1);																
											
						} else { 										
							
							Resttag = Resttag.slice(0,2); 												
													
						}
						
						//Wenn das erste Element in der Ausgabetabelle ein eintägiges Event ist, dann...
						if(Anhaengen == 0) {									
										
							//Füge dieses Event als das gesuchte erste Element in die Ergebnistabelle ein, wenn es Heute stattfindet, oder in der Zukunft liegt.
							if(Tag <= Resttag){
							
								Anhaengen = 1;
								TagX=Resttag
								$.merge(Ergebnis, ["<table border='1' align='center' width='100%'><tr><td align='center' bgcolor='#CFCFCF'>Monat</td><td align='center' bgcolor='#CFCFCF'>Datum</td><td align='center' bgcolor='#CFCFCF'>Titel</td><td align='center' bgcolor='#CFCFCF'>Ausschreibung</td></tr><tr><td align='center' bgcolor='#003300'><font color='#FFFFFF'>" + $(this).parent().find("monthstamp").text() + " " + $(xmlDoc).find("yearstamp").text() + "</font></td><td colspan='3' bgcolor='#003300'></td></tr>"]);
								$.merge(Ergebnis, analyzeLink(this));
													
							}
										
						//Füge alle weiteren Events an das Ende der Tabelle an, wenn das Element bereits besteht.
						} else {										
																			
							//Überprüfe ob dieses Event am zuvor gefundenen Eventtag stattfindet. -> Bedingung, damit dieses Event angehängt wird, da es am selben Tag stattfinden muss, wie das erste Tabellenelement.
							if(Resttag == TagX) { 	
							
								$.merge(Ergebnis, analyzeLink(this));
																
							}
										
						}							
											
					}	
			
			
				});			
			
				//Wenn in diesem Monat kein Event mehr stattfindet, dann veranlasse ein Durchsuchen des nächsten Monats.
				if(Ergebnis.length==0) {
				
					Monat++;
					Tag=1;
				
				//Oder schließe die Tabelle, wenn Events gefunden wurden.
				} else {
				
					$.merge(Ergebnis, ["</table>"]);
				
				}
			
			}
							
			
		});
		

		//Korrektur der ersten Spalte, wenn mehrere Events im Spiel sind, sodass diese Spalte durchgehend ist.
		$.each(Ergebnis, function(index, value) { 
						
				
			//Gehe alle gefundenen Elemente ab dem Zweiten durch und speichere die Anzahl der neu hinzugekommenen Zeilen
			//Da alle Elemente der Ausgabetabelle noch im Array sind, wird auch darauf geachtet, dass das aktuelle Element auch den besagten <td> enthält.
			if(index>1 && value.indexOf("rowspan=")!=-1 && value.indexOf("align=")!=-1) {
				
				//Extrahiere den Rowspan-Wert dieses Events und addiere ihn zu den anderen Höhenwerten der gefundenen Elemente hinzu
				Wert=value.slice(value.indexOf("rowspan=")+9,value.indexOf("align=")-2);
				NeueSpaltenHoehe=NeueSpaltenHoehe+parseInt(Wert);
					
				//Lösche zusätzlich noch das erste <td>-Element, da zukünftig das <td>-Element des ersten Events über den Rowspan alle darunterfolgenden <td>s dieser Spalte ersetzt
				ZuErsetzen="<td rowspan='" + Wert + "' align='center'>&nbsp;</td>";
				Ergebnis[index]=value.replace(ZuErsetzen, "");
											
			}			
				
			//Wenn eine Abstandzeile behandelt wird, so wird ihre Höhe (1) miteingerechnet
			if (value=="<tr><td colspan='3' height='1px' bgcolor='black'></td></tr>") {
				
				NeueSpaltenHoehe++;
				
			} 
			
			
		});			
			
		//Extrahiere den Höhenwert des ersten <td>s des ersten Events und addiere ihn zur neuen Höhe hinzu. Korrigiere dann die Höhe des <td>
		Wert=Ergebnis[1].slice(Ergebnis[1].indexOf("rowspan=")+9,Ergebnis[1].indexOf("align=")-2);
		NeueSpaltenHoehe=NeueSpaltenHoehe+parseInt(Wert);
		Ergebnis[1]= Ergebnis[1].replace(Wert, NeueSpaltenHoehe);
						
	}	
			
	//Erstelle Ausgabenvariable und schreibe Inhalt in die Seite.
	$.each(Ergebnis, function(index, value) { 
	
	
		Ausgabe=Ausgabe+value;

  
	});

	if(Ausgabe!="") {
	
		$("#lehrgang").html(Ausgabe);			

	}
	
	
}	



//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



//Funktion zum Schreiben aller Termindaten (Events)
function writeDates() {   
 

	//Variablen | Variable Ergebnis ist ein Array, der immer mehr verlängert wird.
	var Ergebnis = ["<table border='1' align='center' width='100%'><tr><td align='center' bgcolor='#CFCFCF'>Monat</td><td align='center' bgcolor='#CFCFCF'>Datum</td><td align='center' bgcolor='#CFCFCF'>Titel</td><td align='center' bgcolor='#CFCFCF'>Ausschreibung</td></tr>"];
	var Ausgabe = "";
		
	/*	
	Erklärung:
	----------
	Im Array Ergebnis werden alle Elemente der Ausgabetabelle gespeichert. Es wird nach jedem generierten Monat die erste Spalte dieses Monats korrigiert, wenn er mehr als ein Event enthält.
	
	Hierzu wird über MonatsIndex immer der index der Überschrift dieses Monats im Array allokiert. Von hier aus wird dann ab dem 2. Element, wenn mehrere Events da sind, gearbeitet.
	Über die Variable IndexZaehler wird der nächste MonatsIndex errechnet. Die Variable IndexZaehler wird mit jedem neuen Element im Array um 1 erhoeht und bei jedem neuen Monat auf 1 gesetzt. (1 deshalb, da jeder neue Monat
		mindestens ein Element (wenn kein Event, dann Leerzeile) enthält.)
	
	Beim korrigieren der ersten Spalte wird im betroffenen Monat in jedem Event, ab einschließlich dem 2. Event, der erste <td> (leerer <td>) gelöscht. Wenn ein Event mehrere Links enthält, dann wird dies berücksichtigt, da automatisch alle Zeilenhöhen über die Rowspan-Werte der ersten Spalte eines jeden Events erfasst werden.
	Danach wird im ersten Event des betroffenen Monats der rowspan des ersten TD's so angepasst, dass die erste Spalte für diesen Monat durchgängig ist.	
	*/
	
	//Variablen zur Korrektur der ersten Spalte der Ausgabetabelle bei mehreren Events, sodass diese Spalte so hoch ist wie alle Events und nicht unterbrochen wird.
	var NeueSpaltenHoehe=0;
	var ZuErsetzen;
	var Wert;

	//Variablen zur korrekten Erkennung des nächsten Monats
	var MonatsIndex=1;
	var IndexZaehler=1;
	var Laenge;
	
	

	//Gehe jeden Monat durch
	$(xmlDoc).find("month").each(function() {


		//neue Monatszeile
		$.merge(Ergebnis, ["<tr><td align='center' bgcolor='#3366CC'><font color='#FFFFFF'>" + $(this).find("monthstamp").first().text() + " " + $(xmlDoc).find("yearstamp").text() + "</font></td><td align='center' bgcolor='#3366CC' colspan='3'></td></tr>"]);
		Laenge=Ergebnis.length;


		//Gehe jedes Event in jedem Monat durch
		$(this).find("event").each(function(i) {


			//Wenn das Event mehere Events enthält, dann füge eine schwarze Trennzeile ein, damit die Übersicht gewahrt bleibt
			if(i>0)
			{
			
				$.merge(Ergebnis, ["<tr><td colspan='3' height='1px' bgcolor='black'></td></tr>"]);
				
			}
			
			//Generiere alle Links für dieses Event
			$.merge(Ergebnis, analyzeLink(this));
					
			//Finde heraus, um wie viele Elemente der Ergebnis-Array erweitert wurde, um den richtigen StartIndex des nächsten Monats im Array herauszufinden.
			IndexZaehler=Ergebnis.length-Laenge+1;
			
			
		});
		
		
		//Wenn dieser Monat keine Events enthält, dann setze eine Leerzeile ein, damit der folgende Monat nicht direkt auf diesem draufhängt.
		if(Ergebnis.length==Laenge) {
		
			$.merge(Ergebnis, ["<tr><td colspan='4'><br></td></tr>"]);
			IndexZaehler++;
			
		//Oder korrigiere die erste Spalte, wenn er Events enthält.
		} else {		
					
			//Korrektur der ersten Spalte, wenn mehrere Events im Spiel sind, sodass diese Spalte durchgehend ist. -> Für jeden einzelnen Monat.
			$.each(Ergebnis, function(index, value) { 
						
				
				//Gehe alle neu angehängten Events dieses Monats ab dem Zweiten durch und speichere die Anzahl der neu hinzugekommenen Zeilen
				//Da alle Elemente der Ausgabetabelle noch im Array sind, wird auch darauf geachtet, dass das aktuelle Element auch den besagten <td> enthält.
				if(index>MonatsIndex+1 && value.indexOf("rowspan=")!=-1 && value.indexOf("align=")!=-1) {
				
					//Extrahiere den Rowspan-Wert dieses Events und addiere ihn zu den anderen Höhenwerten dieses Monats hinzu
					Wert=value.slice(value.indexOf("rowspan=")+9,value.indexOf("align=")-2);
					NeueSpaltenHoehe=NeueSpaltenHoehe+parseInt(Wert);
					
					//Lösche zusätzlich noch das erste <td>-Element, da zukünftig das <td>-Element des ersten Events über den Rowspan alle darunterfolgenden <td>s dieser Spalte, in 
					//diesem Monat, ersetzt
					ZuErsetzen="<td rowspan='" + Wert + "' align='center'>&nbsp;</td>";
					Ergebnis[index]=value.replace(ZuErsetzen, "");
											
				}			
				
				//Wenn eine Abstandzeile behandelt wird, so wird ihre Höhe (1) miteingerechnet
				if (index>MonatsIndex+1 && value=="<tr><td colspan='3' height='1px' bgcolor='black'></td></tr>") {
				
					NeueSpaltenHoehe++;
				
				} 
			
			
			});			
			
			//Extrahiere den Höhenwert des ersten <td>s des ersten Events und addiere ihn zur neuen Höhe hinzu. Korrigiere dann die Höhe des <td>
			Wert=Ergebnis[MonatsIndex+1].slice(Ergebnis[MonatsIndex+1].indexOf("rowspan=")+9,Ergebnis[MonatsIndex+1].indexOf("align=")-2);
			NeueSpaltenHoehe=NeueSpaltenHoehe+parseInt(Wert);
			Ergebnis[MonatsIndex+1]= Ergebnis[MonatsIndex+1].replace(Wert, NeueSpaltenHoehe);
			
			//Setze die Korrekturspaltenhöhe wieder auf 0 -> neuer Monat
			NeueSpaltenHoehe=0;
								
		}

	
		//Setze den MonatsIndex fest, sodass die Position des nächsten Monats im Array feststeht.
		MonatsIndex=MonatsIndex+IndexZaehler;
		IndexZaehler=1;


	});	
	
	
	//Erstelle Ausgabenvariable und schreibe Inhalt in die Seite.
	$.each(Ergebnis, function(index, value) { 
		
		Ausgabe=Ausgabe+value;

	});

	Ausgabe=Ausgabe.concat("</table>");
	$("#lehrgang").html(Ausgabe);


}



//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



//Diese Funktion lädt die XML-Daten der Shadowbox in den Shadowarray
function initialize() {


	$(xmlDoc).find("link").each(function(i) {


			//Deklariere Arrayabteilungen
			ShadowArray[i] = new Array(4);

			//Weise Array die Werte zu
			ShadowArray[i][0] = $(this).find("rel").text();
			ShadowArray[i][1] = $(this).find("title").text();
			
			
				//Wenn offline und online - Varianten der Links zur Verfügung stehen, dann berücksichtige das.
				if($(this).find("href").find("online").length > 0 && $(this).find("href").find("offline").length > 0)
				{			
					
					//Wenn unterschiedliche Linkvarianten vorliegen, dann lade den passenden Link (abhängig, ob Seite offline oder online betrachtet wird)
					if(String(window.location).indexOf("http://")!=-1)
					{
					
						ShadowArray[i][2] = $(this).find("href").find("online").text();
					
					}
					else
					{
					
						ShadowArray[i][2] = $(this).find("href").find("offline").text();
					
					}
				
				//Ansonsten lade den Link ohne spezielle Unterscheidung
				} 
				else			
				{
				
					ShadowArray[i][2] = $(this).find("href").text();
				
				}	
				
			
			ShadowArray[i][3] = $(this).find("rank").text();


		});
	
	
}




//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



/* 
Erklärung:	
----------
Diese Funktion generiert den Video-Player, der auf dieser Website zum Einsatz kommt.

Der Player wird in einer Shadowbox aufegrufen und hat eine "Youtube-Style"-Playliste. Alle Daten, die für die Playlists benötigt werden, kommen aus eine xml-Datei und werden hier verarbeitet.
Diese Funktion unterscheidet zwischen einfachen Playlists und Playlists mit einem Startindex, also mit einem bei Start aufzurufenden Video.

Es werden also zuerst die für alle Videos gleiche Basis-URL (Ordner, in dem alle Videos liegen | funktioniert online und offline) und die gewünschte Playlist über window.location.search herausgefunden bzw. generiert.
Dann wird die gewünschte Playlist aus der xml-Datrei gelesen und in einen Array geschrieben, der dann später in die Seite übertragen wird.
Im nächsten Schritt wird der Player erzeugt und die Playlist wird in die Seite geschrieben.

Ist das Videomaterial erzeugt, dann wird, wenn gewünscht, der Startindex aus window.locatrion.search extrahiert und das entsprechende Video aufgerufen.
Zu guter letzt wird der Player mittig in der Seite ausgerichtet.
*/
				
//Diese Funktion lädt die gwünschte Playlist der Videos aus eine XML-Datei und erzeugt den Video-Player.
function loadVideos() {


	//Verarbeitung eines Startindexes, der mit +/+ an window.location.href angehängt werden kann.
	//Variablen zur Erstellung der Playlist.
	var videos="";
	var zwischenspeicher;

	//Variablen zur Erkennung der Basis-URL.
	var basis="";
	var href=$(location).attr('href').replace(/file:\/\/\//g, "")

	//Wenn ein Startindex vorhanden ist, dann...
	if(window.location.search.indexOf("+/+")!=-1) {

		//...Trenne den Namen der Playlist vom Startindex...
		zwischenspeicher=window.location.search.split("+/+");
		videos=zwischenspeicher[0];
		//...und erzeuge eine Variable, die die aktuelle URL, ohne den Startindex enthält, damit die Basis-URL korrekt erkannt wird (Startindex darf in der Basis-URL nicht enthalten sein).
		href=href.replace(href.slice(href.indexOf("+/+"),$(location).attr('href').length), "");

	//Wenn es keinen Startindex gibt, dann...
	} else {
	
		//...speichere nur den Namen der Playlist.
		videos=window.location.search;

	}

	//Erkenne endgültig die Basis-URL.
	basis=href.slice(0,href.lastIndexOf("/"))+'/video';
	
	
	//Playlist
	var PlaylistVar=[];

	$(xmlDoc).find("playlist").each(function() {


		//Wenn die gewünschte Playlist gefunden wurde, dann...
		if($(this).find("topic").text()==videos.slice(1, videos.length)) {

			//Erzeuge die Playlist mit den entsprechenden Videos.
			$(this).find("video").each(function() {


				//Es wird ein Array erstellt, der in jedem Index einen Videoeintrag enthält.
				$.merge(PlaylistVar, [{

					url: $(this).find("url").text(),
					title: $(this).find("title").text(),
					subTitle: $(this).find("subTitle").text(),
					time: $(this).find("time").text(),
					pic: "splashimage/" + $(this).find("pic").text()

				}]);


			});
			
			//Hack (Sidebar funktioniert nicht) -> Problem mit nur einem Video in dieser Playlist.
			if($(this).find("topic").text()=="schuelercup2009") {
			
				$("#playlist").html("<a href='Schueler Cup 2009/kata-team-maennlich.flv'><img src='splashimage/Schueler Cup 2009/kata team m.jpg'><strong>Kata Team männlich</strong><br><br>Kata: Heian Shodan<br><em>0min 40sek</em></a>");
			
			}

		}


	});
	
	
	//Setup player.
	$f("player", "../flash/flowplayer-3.2.7.swf", {


		screen:	{

		
			//make the video take all the height.
			bottom: 0	
			
			
		},		
		//Schreibe die Playlist in die Seite hinein.
		playlist: PlaylistVar,
		//Navbar -> durchsichtig
		plugins: {	
		
				
			controls: {
			

				url: '../flash/flowplayer.controls-3.2.5.swf',			
				backgroundColor: "transparent",
				backgroundGradient: "none",
				sliderColor: '#FFFFFF',
				sliderBorder: '1.5px solid rgba(160,160,160,0.7)',
				volumeSliderColor: '#FFFFFF',
				volumeBorder: '1.5px solid rgba(160,160,160,0.7)',
				timeColor: '#ffffff',
				durationColor: '#535353',
				tooltipColor: 'rgba(255, 255, 255, 0.7)',
				tooltipTextColor: '#000000'
			
			
			}
			
					
		},
		//Background-Gradient (Schwarzer Hintergrund für das Video).
		canvas: {
		
				
			backgroundColor: '#000000',
			backgroundGradient: [0, 0]
			
			
		},	
		//Common to all clips
		clip: {
		
				
			//Basis-URL für alle Clips -> Funktioniert auch offline!!
			baseUrl: basis,
			//Bildschirmfüllend
			scaling: "fit"
			
			
		}
		
		
	//Aktivierie die genrierte Playlist für diesen Player
	}).playlist("#playlist");
	
	
	//Rufe Video mit dem gwünschten Startindex auf, sofern einer vorhanden ist.
	if(window.location.search.indexOf("+/+")!=-1) {
	
		//Speichere Startindex
		var index=window.location.search.split("+/+");
		
		//Durchsuche alle Playlisteinträge und klicke auf das gewünschte Video.
		$("a").each(function(i) {
		
		
			if(i=index[1]) {
			
				$(this).click();
			
			}
			
		
		});
	
	}
	

	
	
	//Lasse den Player sich automatisch der Brwoserfenstergröße anpassen -> Beim Ändern der Browsergröße (unterdrücke auch ebventuelle Scrollbalken).
	$(window).bind("load resize", function() {

		var x=($(this).width()-759)/2
		var	y=($(this).height()-326)/2;
		
		if(x<0) { x=-28; }

		$("#wrapper").offset({top:y, left:x});

	});


}



//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



//Diese Funktion generiert die passenden Eventeinträge der Tabellen der Terminfunktionen bzw. die passenden Linkdaten dafür. -> Vielfach-Link-Ünterstützung
function analyzeLink(input){


	//Variablen
	var Ergebnis = [];
	var Einfuegen = "";
	var tabelle = "";
	var Anhang = "";
	var Titel = $(input).find("title").first().text();
	var DerLink = new Array();
	var Routentitel = new Array();
	var i=0;
	var k;

	
	//Unterstützung für html-Befehle im Event-Titel
	while(Titel.indexOf("|")!=-1) {
	
		if(i%2==0) {
		
			Titel=Titel.replace(/\|/, "<");
		
		} else {
		
			Titel=Titel.replace(/\|/, ">");
		
		}
		
		i++;
	
	}
	
	
	//Erfassung von Google-Maps-Routen-Links. Passe den Rowspan der ersten 3 Spalten an und füge den/die Routenlink/s hinzu
	if($(input).find("route").text()!="")
	{
	
		//Erkenne die Anzahl der Routenlinks und berechne Rowspan-Korrekturfaktor
		k=$(input).find("route").toArray().length;
		
		//Gehe alle Routen dieses Events durch
		$(input).find("route").each(function() {
		
		
			//Überprüfe, ob eine Routen-Link-Bezeichnung definiert wurde und benutze diese, wenn vorhanden. Ansonsten benutze "Route"
			if ($(this).text().indexOf("+/+") != -1) {
							
				//Angepasster Link-Text
				Routentitel = $(this).text().split("+/+"); 
				Routentitel[1] = "Route - " + Routentitel[1];
									
			//Mit Standart-Link	
			} else 	{	
							
				Routentitel[0] = $(this).text(); 
				Routentitel[1] = "Route";
									
			}	
		
			//Erstelle eigentlichen Routen-Linkanhang
			Anhang = Anhang + "<tr><td><a href='" + Routentitel[0] + "' target='_blank'>" + Routentitel[1] + "</a></td></tr>";
		
		
		});
		
	
	//Ansonsten nehme keine Änderungen vor
	} else {
	
		k=1;
		Anhang = "<tr><td>Route</td></tr>";
	
	}
	

	//Terminzeile in der Ausgabentabelle
	$.merge(Ergebnis, ["<tr><td rowspan='" + ($(input).find("link").toArray().length+k) + "' align='center'>&nbsp;</td><td rowspan='" + ($(input).find("link").toArray().length+k) + "' align='center'>" + $(input).find("datestamp").first().text() + "</td><td rowspan='" + ($(input).find("link").toArray().length+k) + "' align='center'>" + Titel + "</td>"]);

	//Erstelle alle Links dieses Events
	$(input).find("link").each(function(i) {


		//Wenn mehr als 1 Link vorhanden ist, dann passe die Tabelle an. Diese Variable ist nötig, damit die Tabellen-Tags stimmen. -> rowspan <-> mehrere Zeilen mit Links.
		if(i>0) { 
		
			tabelle = "<tr>"; 
		
		} else { 
		
			tabelle = ""; 
		
		}
								
		//Ausschreibung mit und ohne Link zuerst mit Link
		if($(this).text() != "") {
							
			//Überprüfe, ob eine Link-Bezeichnung definiert wurde und benutze diese, wenn vorhanden. Ansonsten benutze "Ausschreibung"
			if ($(this).text().indexOf("+/+") != -1) {
							
				//Angepasster Link-Text
				DerLink = $(this).text().split("+/+"); 
									
			//Mit Standart-Link	
			} else 	{	
							
				DerLink[0] = $(this).text(); 
				DerLink[1] = "Ausschreibung";
									
			}			
							
			//Erstelle Link
			Einfuegen = "<a target='_blank' href='" + DerLink[0] + "'>" + DerLink[1] + "</a>";	
					
		//Dann ohne Link
		} else {
						
			Einfuegen = "Ausschreibung"; 
								
		}
					
		//Füge Link an
		$.merge(Ergebnis, [tabelle + "<td align='center'>" + Einfuegen + "</td></tr>"]);
							

	});
	
	//Füge die Routenlinks an
	$.merge(Ergebnis, [Anhang]);
			
		
	return Ergebnis;	


}



//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



//Überprüfe das eingebene Datum und zerlege es, damit klar ist welche Tage dieses Event im gewünschten Monat noch hat -> Unterstützung mehrtägiger Events.
function analyzeDate(Date, Monat, Jahr) {


	Monat++;
	//Trenne Enddatum und Begindatum voneinander
	Date = Date.split("-");

	//Variablen (Rechnung)
	var Tage = new Array();
	var Schaltjahr = "nein";
	var Uebergreifend = "nein";
	var MonatsTage = 31;

	//Schaltjahrerkennung
	if(Jahr % 4 == 0) { 

		Schaltjahr = "ja"; 

		if(Jahr % 100 == 0) {
			
			Schaltjahr = "nein";
		
		} 
											
		if (Jahr % 400 == 0) {
			
			Schaltjahr = "ja";
		
		}
											 
	}						
						
	//Wie viele Tage hat dieser Monat hat hier?
	if (Monat == 4 || Monat == 6 || Monat == 9 || Monat == 11) {
		
		MonatsTage = 30;
	
	}
																
	//Februarveränderung bei einem Schaltjahr
	if (Monat == 2) {

		if (Schaltjahr == "ja") {
			
			MonatsTage = 29;
		
		} else {
		
			MonatsTage = 28;
		
		}

	}
					
	//Trenne Tag von Monat (03.05. -> 03 und 05)
	for(i=0;i<Date.length;i++) {

		if (Date[i].indexOf(" ") != -1) { 
			
			Date[i] = Date[i].replace(/ /, ""); 
		
		}
		
		Date[i] = Date[i].split(".",2);															
															
	}
						
							
	//Erkenne monoatsübergreifende Events
	for(i=0;i<Date.length;i++){

	
		//Bearbeite Eingaben, damit eine Rechnung erfolgen kann (03 und 05 -> 3 und 5)
		if(Date[i][0].slice(0,1).indexOf("0") != -1) {				
			
			Date[i][0] = Date[i][0].slice(1,2);							
		
		}		

		if(Date[i][1].slice(0,1).indexOf("0") != -1) {
			
			Date[i][1] = Date[i][1].slice(1,2);
		
		}
			
		//Monatsübergreifende Events -> Erkennung, wenn Monat des Teiltages gößer ist, als der aktuelle Monat, da dann Event bis in den nächsten Monat reicht.
		if(Date[i][1] > Monat) {
			
			Uebergreifend = "ja";
		
		} 
			
			
	}
		
	//über wie viele Tage geht das Event? Bzw. welche Tage sind in diesem Monat ins Event involviert,
	//Monatsübergreifend
	if(Uebergreifend == "ja") {

		for(i=0; i<=MonatsTage-parseInt(Date[0][0]);i++) {

			
			Tage[i] = parseInt(Date[0][0])+i;

		
		}

	//Nicht monatsübergreifend
	} else {
								
		for(i=0; i<=parseInt(Date[1][0])-parseInt(Date[0][0]);i++) {

			
			Tage[i] = parseInt(Date[0][0])+i;

		
		}
																									
	}

	//Nun ist klar welche Tage dieses Event in diesem Monat hat!!
	return(Tage);


}




//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  



//Diese Funktion generiert den inhalt für die Shadowbox, sobald diese aufgerufen wird.
//Die Daten werden aus einer XML-Datei ausgelesen. Da das auslesen vom Webserver jedoch Zeit benötigt, wird die XML-Datei einmalig beim Seitenaufruf geladen und in den ShadowArray geschrieben.
//Deshalb mmuss der ShadowArray eine globale Variable sein
function WriteShadowContent(welchen) {


	//Initialisierung von Variable theRel mit Rel des geklickten Inhalts, für korrekte Erkennung der gewünschten der Diashow der Shadow-Box.
	var theRel = ShadowArray[welchen][0];
	
	var counter = 0;		//Hilfsvariable zur Bestückung des Soriterungsarrays
	var click = 0;			//Hilfsbutton, der zum Aufruf der Box geklickt werden soll
	var absatz = 0;			//Zur Absatzerstellung bei vielen Hilfsbuttons, damit diese weiterhin hinter dem Iframe versteckt sind.
	var sort = new Array();	//Array zur sortierung der Diashow (Belegunstabelle des Array "sort" entspricht der des Array "ShadowArray").
			
	//Wenn das gewünschte Bild einen leeren rel-Tag hat, dann erstelle eine ShadowBox für dieses eine Bild -> keine Diashow.
	if (ShadowArray[welchen][0] == "") {				
							
		$("#shadowDiv").html("<a href='" + ShadowArray[welchen][2] + "' title='" + ShadowArray[welchen][1] + "' class='shadowbox'><input type='button' id='shadowButton0' value=''></a>");						
		click = 0;
				
	//Wenn eine Diashow vorliegt, dann behandele dies entsprechend.	
	} else {									
										
		//Finde alle bilder im Array, die den gleichen Rel haben, wie das geklickte Bild, um die Diashow zu ermitteln, zusammenzustellen und aufzurufen.
		//Achtung es wird der komplette Array durchgegangen.
		for (i=0; i<ShadowArray.length; i++) {


			if (ShadowArray[i][0] == theRel) {
																	
				//Übergebe die einzelnen Bilder der Diashow in einen neuen Array - für die Sortierung.
				sort[counter] = ShadowArray[i];
						
				//Finde geklicktes Bild heraus.
				if(i == welchen) {

					click = ShadowArray[i];

				}

				counter++;

			}
																	
		}
													
		//Sortiere die Bilder der Diashow nach dem rank-Kriterium der XML-Daten.			
		sort = sortViaImportance(sort);
			
		//Erstelle mit den sortierten Daten die Hilfsbuttons.
		for (i=0; i<sort.length; i++) {

			//Finde heraus, wo das geklickte Element in der sortierten Diashow ist.
			if(sort[i] == click) { click = i; }		
		
			//erzeuge alle 10 Buttons einen Absatz, damit man die Buttons nicht sieht (versteckt hinter IFrame).
			if(absatz == 10) { absatz = 0; $("#shadowDiv").html($("#shadowDiv").html() + "<br>"); }
					
			//Erzeuge Hilfsbuttons
			$("#shadowDiv").html($("#shadowDiv").html() + "<a href='" + sort[i][2] + "' title='" + sort[i][1] + "' class='shadowbox'><input type='button' id='shadowButton" + i + "' value=''></a>");
			absatz++;

					
		}

	}
			  
	//aktiviere die Shadow-Box für dieses Set von Hilfsbuttons.
	Shadowbox.setup("a.shadowbox", {
									   
		gallery: "Shadowbox"
	
	}); 	
							
	//Rufe ShadowBox auf.
	$("#shadowButton"+click).focus().click();
						

}



//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



//Sortiere die Daten der zu erzeugenden Diashow nach dem rank-Kriterium (von klein nach groß; klein zuerst).
//Element mit leerem rank werden einfach in der Reihenfolge, in der sie aus der XML-Datei eingelesen werden, angehängt.
function sortViaImportance(eingang) {


	var sortable = new Array();
	var unsortable = new Array();
	var a = 0;
	var b = 0;
	var ausgang = "";

	//Teile den Eingangsarray in 2 Teile; einmal sortierbar und einmal unsortierbar.
	for (i = 0; i < eingang.length; i++) {
	

		if (eingang[i][3] == "") {
		
			unsortable[b] = eingang[i];
			b++;
			
		} else {
		
			sortable[a] = eingang[i];
			a++;
			
		}

	  
	}

	//sortiere die sortierbaren Elemente mit Bubblesort von klein nach groß.
	if (sortable.length > 0) {

		var x, y, holder;
								  
		// The Bubble Sort method.							  
		for(x = 0; x < sortable.length; x++) {
		
		
			for(y = 0; y < (sortable.length-1); y++) {

			
				if(parseInt(sortable[y][3]) > parseInt(sortable[y+1][3])) {
				
					holder = sortable[y+1];
					sortable[y+1] = sortable[y];
					sortable[y] = holder;
				
				}
			
			
			}
		
		
		}

		//Setze danach die sortierten Elemente vor die unsortierbaren.
		ausgang = $.merge(sortable, unsortable);
									
	} else { //oder gib es einfach alles zurück -> nichts Sortierbares dabei!!
	
		ausgang = unsortable;
	
	}

	return ausgang;


}

					
					
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  



//Diese Funktion generiert die Tipp-Boxen der Infobox, für die Karate-Verbaende-Seite.
function activateTipp() {									

				
	maketip('tipp3','<font size="-1"><i>Karateunion Mecklenburg-Vorpommern e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_mecklenburgvorpommern.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');
	maketip('tipp4','<font size="-1"><i>Karate-Verband Schleswig-Holstein e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_schleswigholstein.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');
	maketip('tipp5','<font size="-1"><i>Karateverband Niedersachsen</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_niedersachsen.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');
	maketip('tipp6','<font size="-1"><i>Bremer Karate Verband e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_bremen.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');
	maketip('tipp7','<font size="-1"><i>Hamburger Karate-Verband e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_hamburg.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');
	maketip('tipp8','<font size="-1"><i>Karate Dachverband Nordrhein-Westfalen</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_nordrheinwestfalen.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');
	maketip('tipp9','<font size="-1"><i>Saarländischer Karate-Verband e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_saarland.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');
	maketip('tipp10','<font size="-1"><i>Rheinland-Pfälzischer Karateverband</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_rheinlandpfalz.gif"></td><td></td></tr></table></font>');
	maketip('tipp11','<font size="-1"><i>Karate Verband Baden-Württemberg e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_badenwuerttemberg.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');				
	maketip('tipp12','<font size="-1"><i>Hessischer Fachverband für Karate e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_hessen.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');	
	maketip('tipp13','<font size="-1"><i>KDV Brandenburg</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_brandenburg.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');	
	maketip('tipp14','<font size="-1"><i>Berliner Karate Verband e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_berlin.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');	
	maketip('tipp15','<font size="-1"><i>Karateverband Sachsen-Anhalt</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_sachsenanhalt.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');	
	maketip('tipp16','<font size="-1"><i>Sächsischer Karateverband</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_sachsen.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');	
	maketip('tipp17','<font size="-1"><i>Bayrischer Karate Bund</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_bayern.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');	
	maketip('tipp18','<font size="-1"><i>Thüringer Karateverband e.V.</i></font>','<font size="-1"><table><tr><td><img src="../pics/flaggen & karten/bl_thueringen.gif"></td><td>Ein <font color="red">Klick</font> auf das <font color="blue">Bundesland</font> öffnet die entsprechende <font color="green">Website</font>!</td></tr></table></font>');	

							
}	

	
 
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


 
//schreibt den Inhalt der gewählten Diashiow, bzw. schreibt die Diashow.
function schreibediashowslideshowinhalt() {


	var anzeigen = 1;
	var pfad = "";

	//Dieser switch überprüft die Variable diashow und ändert entsprechend den title, generiert die Variable pfad und setzt anzeigen auf 1, damit der Flashinhalt angezeigt wird. Ansonsten wird keine Diashow angezeigt.
	//Bei einer neuen Diashow müssen hier die entsprechenden Angaben ergänzt werden.
	switch (window.location.search) {


		case "?Birkenfeld09-08": pfad = "xml/Birkenfeld09-08";
								 break;
							  

		case "?LGWorms12-07": pfad = "xml/LGWorms12-07";
							  break;


		case "?LGWorms12-06": pfad = "xml/LGWorms12-06";
							  break;


		case "?LGWorms11-05": pfad = "xml/LGWorms11-05";
							  break;

					
		case "?LGLu10-06": pfad = "xml/LGLu10-06";
						   break;


		case "?Hertlingshausen05": pfad = "xml/Hertlingshausen05";
								   break;

					
		case "?Hertlingshausen07": pfad = "xml/Hertlingshausen07";
								   break;


		case "?DM2007": pfad = "xml/DM2007";
						break;


		case "?Hassloch2006": pfad = "xml/Hassloch2006";
							  break;

				
		case "?RKV2007": pfad = "xml/RKV2007";
						 break;


		case "?Sommerfest07": pfad = "xml/Sommerfest07";
							  break;


		case "?Birkenfeld08-03": pfad = "xml/Birkenfeld08-03";
								 break;

				 
		case "?Zweibruecken08-08":  pfad = "xml/Zweibruecken08-08";
									break;

					
		case "?Wiesbaden09-08":	pfad = "xml/Wiesbaden09-08";
								break;
				
				
		case "?Worms12-08": pfad = "xml/LGWorms12-08";
							break;


		case "?dm2006": pfad = "xml/DM2006";
						break;

						
		case "?kleinblittersdorf09": pfad = "xml/kleinblittersdorf09";
									 break;		

						
		case "?Weinheim09":	pfad = "xml/Weinheim09";
							break;	

						
		case "?SKV2010": pfad = "xml/SKV2010";
						 break;	


		case "?GermanKataCup2010": pfad = "xml/German-Kata-Cup2010";
								   break;		


		case "?JugendCup2010": pfad = "xml/pfaelzer-jugend-cup-2010";
							   break;	


		case "?neulich-im-dojo": pfad = "xml/neulich im dojo";
								 break;		


		case "?schuelercup2010": pfad = "xml/schueler-cup saarwellingen 2010";
								 break;	


		case "?dm09-krokokidscup09": pfad = "xml/dm2009-kroko-kids-cup09";
									 break;		


		case "?trainerseminar09-skv09": pfad = "xml/trainerseminar zw - SKV 2009";
										break;		


		case "?puderbach09-hertlingshausen09-zw09": pfad = "xml/hertlingshausen09-puderbach09-zweibruecken09";
													break;


		case "?prufung08-odenwaldcup08-weihnachtsfeier08": pfad = "xml/odenwaldcup08-prufung08-weichnachtsfeier08";
														   break;	
			   
			   
		case "?juniorcup2010": pfad = "xml/Juniorcup2010";
							   break;


		case "?dm-schueler-2010": pfad = "xml/DM Schueler Rastede 2010";
								  break;	


		case "?weinheim2010": pfad = "xml/Weinheimer Burgenturnier 2010";
							  break;		


		case "?bous2010": pfad = "xml/Bambiniturnier Bous 2010";
						  break;
						  

		case "?odenwaldcup2010": pfad = "xml/OdenwaldCup2010";
								 break;						  
						
		
		case "?skv-u16-u18-lk-2011": pfad = "xml/skv-u16-u18-lk-2011";
									 break;	
									 

		case "?dmlk2011": pfad = "xml/dmlk2011";
					      break;	
								 

		case "?German_kata_cup_saarland_meisterschaft_schueler_2011": pfad = "xml/German_kata_cup_saarland_meisterschaft_schueler_2011";
																	  break;
															
															
		case "?hertlingshausen2011": pfad = "xml/hertlingshausen2011";
									 break;

			
		case "?TopFightersJuniorCup2011": pfad = "xml/Top Fighters Junior Cup 2011";
										  break;
										 
										 
		case "?luebeck2011": pfad = "xml/Luebeck 2011";
							 break;
							 
							 
		case "?landesliga2011": pfad = "xml/Landesliga 2011";
						        break;
								
		
		case "?lgworms2011": pfad = "xml/LGWorms12-11";
						     break;
							 
		case "?odenwald2011": pfad = "xml/Odenwald Cup 2011";
						      break;

								
		default: anzeigen = 0;
				 break;		
	
	
		// Ab hier nach unten weitere Diashows ergänzen.										 

			 
	}						

	//Dies ist der Flashinhalt, der Abhängig von pfad und anzeigen eine Diashow anzeigt.
	//xml Bilder-Pfad relativ zur HTML-Datei, in der die Diashow eingebunden ist.													
	if (anzeigen == 1) {
	
		//Stelle sicher, dass die Slideshow sich der Fenstergröße anpasst.
		$(window).bind("load resize", function() {			
			
			
			$("#flashcontent").css("height", $(this).height()-50).css("width", $(this).width());


		});	
		
	//Erzeuge Diashow		  
	flashembed("flashcontent", {
			
			
			src: '../flash/ws-slideshow.swf',
			version: [9,0,28],
			height: '100%',
			width: '100%'
				
			
		}, {

		
			XMLPath: "" + pfad + ".xml",
					
			params: {

					quality: "best",
					allowFullScreen: "true",
					menu: "false",
					bgcolor: "#000000"
					
					},
					
			attributes: {
						
						id: "ws-slideshow",
						name: "ws-slideshow"
						
						}
		

		});						  

	}


}


					
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//Ende des Scriptes
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
