	// Globale Variable fuer Sponsor Banner
	var StartSponsor = 0;
	// GLobale Variable fuer Header Bilder
	var headerCount = 1;
	// Anzahl header Bilder
	var headerAnzahl = 10;
	// status anzeige von header sw
	var headerDisplay = false;
	
	var TO1,TO2;
	
	$(document).ready(function() {
		// ScrollTop Funktion
		$('#siteTop').click(function() {
			$.scrollTo(0, {queue:true, duration:300});
			return false;
		});
	
        // Tooltip an jeden Link der Galerieuebersicht haengen
        $('div#galerie a').tooltip({
			track: true,
			delay: 0,
			showURL: false,
			showBody: " - "
         });
	
		// Vor dem Abschicken eines Formulars die Felder pr?fen
		$('form').submit(function() {
			var tmpName = this.name;
			var tmpSelect = ">*[name*='" + tmpName + "']";
			var tmpInput = $(tmpSelect, this); // alle felder holen
			var tmpReturn = true;
			var tmpErrors = 0;
			var inputLength = tmpInput.length;
			for(i=0;i<inputLength;i++) { // felder pruefen
				var tmpField = tmpInput[i];
				var tmpIsCheckbox = (tmpField.type == 'checkbox') ? true : false;
				var tmpClass = tmpField.className;
				var tmpJSON = tmpClass.substr(tmpClass.indexOf('{'),tmpClass.lastIndexOf('}') + 1); // json extrahieren
				
				/* wenn kein JSON String gefunden wurde, das Formular normal abschicken */
				if(tmpJSON == '') {
					return true;	
				}
				
				var tmpJSON = '(' + tmpJSON + ')';
				var tmpJSON = tmpJSON.replace(/\\/g,'\\\\'); // vor eval backslashes escapen
				var tmpObj = eval(tmpJSON);
				
				tmpReturn = true;
				
				var tmpValue = tmpField.value; // feld pruefen
				// length check
				if(tmpObj.len && !tmpIsCheckbox) {
					var tmpLen = parseInt(tmpObj.len);
					if(tmpValue.length > tmpLen) {
						tmpField.value = tmpValue.substr(0,tmpLen);
						tmpReturn = false;
					}
				}
				// required == nicht leer
				if(tmpObj.req == 'yes') { 
					if(tmpIsCheckbox) { // checkbox sonderfall
						if(tmpField.checked != true) {
							var tmpMsg = tmpObj.msg;
							tmpID = 'alertCheck' + i;
							if(!document.getElementById(tmpID)) {
								$(tmpField).after('<span id="' + tmpID +'">' + tmpMsg + '</span>');
								//document.getElementById(tmpID).setAttribute('style', 'background-color:#FFF2CF');
								document.getElementById(tmpID).className = 'checkboxAlert';
							} 
							tmpReturn = false;
						}
						else {
							if($('#alertCheck' + i)) {
								$('#alertCheck' + i).remove();
							 }
						}
					}
					else {
						if(tmpValue == '') {
							tmpReturn = false;
						}
					}
				}
				// regexp check
				if(tmpObj.regex && !tmpIsCheckbox) {
					var tmpReg = new RegExp(tmpObj.regex,'gi');
					if (!(tmpReg.exec(tmpValue))){
						tmpReturn = false;
					}
				}
				// filetype check
				if(tmpObj.fileTypes && !tmpIsCheckbox) {
					var tmpFileExt = tmpValue.split('.')[tmpValue.split('.').length - 1];
					var fArr = tmpObj.fileTypes.split(',');
					var fCount = 0;
					for(f=0;f<fArr.length;f++) {
						if(fArr[f] == tmpFileExt) {
							fCount++;
						}
					}
					if(fCount == 0) {
						tmpReturn = false;
					}
				}
				/* markierung setzen wenn etwas nicht stimmt */
				if(!tmpReturn){
					tmpErrors++;
					/* schauen obs den Classname schon gibt, wenn ja, nicht neu setzen */
					if(tmpField.className.indexOf('alertField') == -1){
						tmpField.className += ' alertField';
					}
				} else {
					/* schauen ob die alertField classe gesetzt ist, wenn ja ersetzen durch nichts */
					if(tmpField.className.indexOf('alertField') != -1){
					tmpField.className = tmpField.className.replace(' alertField','');
					}
				}
			}
			
			return (tmpErrors > 0) ? false : true;
		});
		
	
		// lightbox f?r Gallerie
		$('#gallery-det a').lightBox();			   
					   
		// Variablen fuer Sponsoren
		var sponsorString = globals.sponsors;
		var sponsorObj = eval('(' + sponsorString + ')');
		var sponsorCount = $.ArrayLen(sponsorObj.DATA);
		var sponsorImageContainer = $('div#sponsorImage');
		//var StartSponsor = 0; // Wegen Array-Aufruf muss der auf 0 sein
		
		// Zum start der Seite den 1. Sponsor anzeigen und Link setzen
		$('div#sponsorImage').css('background-image', 'url(img/sponsoren/' + sponsorObj.DATA[StartSponsor][1] + ')');

		
		$('#navigation-bg').animate({
			top: 0,
			opacity: 0.4
		}, 500);
		
		$('ul#navigation').animate({
			top: 0						 
		}, 500);
		
		$('ul#navigation > li').mouseover(function() {
			var actNav = $('>ul.subnav', this).get(0);
			
			// wenn es die Subnavigation nicht hat, abbrechen
			if(typeof actNav == 'undefined'){
				return false;	
			}
			
			$('ul.subnav', $('ul#navigation')).each(function() {
				if($.browser.msie) {
					var pos = $(actNav).offset();
				}
															 
				if(actNav == this) {
					$(this).slideDown('fast');
				} else {
					$(this).slideUp('fast');
				}
			});	
			
			$(actNav).mouseout(function(e) {
				var target = ($.browser.msie) ? e.toElement : e.relatedTarget;
				
				try {
					if(target.id == 'banner-sw')
						$(this).slideUp('fast');
				} catch (e) {}
			});
		});
				
		$('ul#navigation > li').mouseout(function(e) {
			var target = ($.browser.msie) ? e.toElement : e.currentTarget;											   
		});
		
		$('#header').bind('mouseover',fadeBannerOut);		
		$('#header').bind('mouseout', fadeBannerIn);
		
		$('#middle').bind('mouseover', fadeBannerInMiddle);
		
		// TO1 = setInterval('changeBanner()', 7000);	
		// Timeout fuer Wechsel des Sponsors
		TO2 = setInterval('changeSponsor()', 6000);	
	
	/*
	Gallery
	===============
	*/


	// Permalinks option
	function flashPutHref(href) { location.href = href; }
	
	// swffit sizing
	var swf_pad = 20;
	function initSwffit(w,h) {
		// If you change name of the DIV the SWF is written at,
		// change 'flashcontent' to the name of your DIV.
		swffit('flashcontent',w+swf_pad,h+swf_pad);
	}
	
	
	// SWFObject embed
	var flashvars = {
		paramXMLPath: globals.url+"/modules/gallery/param.xml",
		initialURL: escape(document.location)
	}
	var params = { 
		//base: ".",
		quality: "best",
		bgcolor: "#121212",
		allowfullscreen: "true"
	}                
	var attributes = {}
	swfobject.embedSWF(globals.url+"/modules/gallery/slideshowpro.swf", "flashcontent", "600", "500", "9.0.0", false, flashvars, params, attributes);

	
	// Ende Document Ready
	
	});
	
	// Funktion zum Wechseln des Sponsors
	function changeSponsor() { 
		var sponsorString = globals.sponsors;
		var sponsorObj = eval('(' + sponsorString + ')');
		var sponsorCount = $.ArrayLen(sponsorObj.DATA);
		var sponsorImageContainer = $('div#sponsorImage');
		
		// wenn startCount Gr?sser gleich Anzahl Sponsoren -1 (wegen array)
		if(StartSponsor >= sponsorCount - 1) {
			// Zahl fuer array wieder auf 0 = start
			StartSponsor = 0;
		} else {	
			// Zahl fuer array immer 1 dazu bis der letzte Sponsor dran ist
			StartSponsor += 1;
		}
		// Bild des Sponsors setzen
		$('div#sponsorImage').css('background-image', 'url(img/sponsoren/' + sponsorObj.DATA[StartSponsor][1] + ')');
		
		changeBanner();
	}
	
	function fadeBannerInMiddle(e) {
		try {
			$('#banner').fadeIn('fast');
			$('ul#navigation > li > ul').slideUp('fast');
		} catch (e) {}
		
		headerDisplay = false;
	}
	
	// mouseout
	function fadeBannerIn(e) {
		var target = ($.browser.msie) ? e.toElement : e.relatedTarget;
					
		try {
			if(target.tagName == 'BODY' || findParentElm(target, 'total')) {
				$('#banner').fadeIn('fast');

				$('ul#navigation > li > ul').slideUp('fast');
			}
		} catch (e) {}
		
		headerDisplay = false;
	}
	
	// mouseover
	function fadeBannerOut(e) {
		var target = ($.browser.msie) ? e.toElement : e.currentTarget;
		
		if(headerDisplay) {
			return false;	
		}
		
		$('#banner-sw').show();
		$('#banner').fadeOut('fast');
		
		headerDisplay = true;
	}
	
	function changeBanner() {
		var preloadElm = $('#banner-preload');
		var bannerDisplay = $('#banner').css('display');
		
		headerCount++;
		
		if(headerCount > headerAnzahl) {
			// Zahl fuer array wieder auf 1 = start
			headerCount = 1;
		}
		
		if(bannerDisplay == 'block') {
			preloadElm.css('background-image', 'url(img/banner/header-'+ headerCount +'-color.jpg)');
			$('#banner-sw').hide();
			$('#banner-sw').css('background-image', 'url(img/banner/header-'+ headerCount +'.jpg)');
			$('#banner').fadeOut('slow', function() { 
				$('#banner').hide();
				$('#banner').css('background-image', 'url(img/banner/header-'+ headerCount +'-color.jpg)');
				$('#banner').show();
				return true;
			});
		} else {
			preloadElm.css('background-image', 'url(img/banner/header-'+ headerCount +'.jpg)');
			$('#banner').hide();
			$('#banner').css('background-image', 'url(img/banner/header-'+ headerCount +'-color.jpg)');
			$('#banner-sw').fadeOut('slow', function() {
				$('#banner-sw').hide();
				$('#banner-sw').css('background-image', 'url(img/banner/header-'+ headerCount +'.jpg)');
				$('#banner-sw').show();
				return true;
			});
		}
		
		
	}
	
	function findParentElm(container ,elmId) {
		var parentFound = true;
		while(container.parentNode) {
			if(container.nodeType == 1){
				if(container.tagName == 'BODY' || container.tagName == 'HTML') {
					parentFound = false;
					break;
				} else {
					if(container.id == elmId) {
						return true;	
					}
				}
			}
			container = container.parentNode;
		}
		return parentFound;
	}


	
	