/*********************************************************
* Variablen
*********************************************************/

var sliderControl = '<ul class="slider-controls"><li class="prev"><a href="#" title="zurück">zurück</a></li><li class="next"><a href="#" title="weiter">weiter</a></li></ul>';


/*********************************************************
* Scrolllinks
*********************************************************/

function scrollinterna() {
	$('a[href*=#]').click(function() {
		if( location.pathname.replace( /^\//,'' ) == this.pathname.replace( /^\//,'' ) && location.hostname == this.hostname && $(this).attr('href').replace( /#/,'' ) != '' )
		{
			var $target = $(this.hash);
			$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
			if ($target.length)
			{
				var targetOffset = $target.offset().top;
				$('html,body').animate({scrollTop: targetOffset}, 800, 'swing');
				return false;
			}
		}
	});
}

/*********************************************************
* eMail-Verschlüsselung
*********************************************************/

function maildecoding() {
	$('.email').each(function(){
		var mailArr = $(this).html();
		mailArr = mailArr.split(' ');
		var mailTxt = mailArr[0] + "@" + mailArr[2] + "." + mailArr[4];
		var mailOut = "<a href=\"mailto:" + mailTxt + "\" title=\"" + mailTxt + "\">" + mailTxt + "</a>";
		$(this).html(mailOut);
	});
}


/*********************************************************
* Galerie-Plugin
*********************************************************/

(function($) {
	
	var sliders = {};
	
	$.fn.gallery = function( parameter )
	{
		parameter = $.extend({}, $.fn.gallery.defaults, parameter); // Parameter um Standardwerte erweitern, die nicht angegeben wurden
		options = parameter;
		
		return this.each(function() { // Objektliste durchlaufen
			_start($(this));
		});
		
		function _start( curSlider ) { // Funktionsaufruf … you never know
			if( options.onStart ) {
				options.onStart();
			}
			_preparation( curSlider );
		}
		
		function _preparation( curSlider ) { // Vorbereitungen
			var curId = _identifyEl( curSlider ); // ID speichern und gegebenenfalls generieren
			var curItemList = curSlider.find(options.itemsSel); // Itemliste auswählen
			
			curSlider.addClass(options.jsActiveClassName); // Indikator für aktiviertes JS
			
			curSlider = { // Objekt zur Parameterweitergabe
				'obj': curSlider,
				'curItemList': curItemList,
				'curId': curId,
				'curPos': parseInt('0'),
				'curInnerPos': [],
				'stopAnimation': false,
				'options': options
			}
			
			sliders[curSlider.obj.attr('id')] = curSlider; // Aktuelles Slider-Objekt in das globale Slider-Objekt kopieren
			
			_addControls( curSlider ); // Kontrollelemente hinzufügen
			_buildItemStructure( curSlider ); // Eventuelle strukturelle Änderungen vornehmen
			
			sliders[curSlider.obj.attr('id')].items = curSlider.items = getItems( curSlider ); // Item-Array aufbauen + weitere Informationen über Galerie sammeln und durchnummerieren
			sliders[curSlider.obj.attr('id')].innerItems = curSlider.innerItems = getInnerItems( curSlider ); // Inner-Item-Array aufbauen + weitere Informationen über Galerie sammeln und durchnummerieren
			
			$(curItemList).children().show(); $(curItemList).find(options.innerItemsSel).children().show(); // Einblenden für Dimensionsbestimmung
			$(curItemList).find(options.innerItemsSel).each(function(i){ // Erste Items des zweiten Levens einblenden
				var curChild = $(this).children().eq(0);
				var curParent = $(this).closest('.' + options.itemCountClassName + (i+1));
				
				if( curChild.height() >= curParent.height() ) {
					curParent.height(curChild.height());
				}
				
				if( curChild.width() >= curParent.width() ) {
					curParent.width(curChild.width());
				}
			});
			
			$(curItemList).children().css({  // Alle Galerie-Elemente des ersten Levels absolut positionieren und ausblenden
				position: 'absolute'
			}).hide();
			
			$(curItemList).find(options.innerItemsSel).children().css({  // Alle Galerie-Elemente des zweiten Levels absolut positionieren und ausblenden
				position: 'absolute'
			}).hide();
			
			$(curItemList).children().eq(0).show(); // Erstes Item des ersten Levels einblenden
			$(curItemList).find(options.innerItemsSel).each(function(){ // Erste Items des zweiten Levens einblenden
				var curChild = $(this).children().eq(0);
				var curParent = $(this).parent();
				
				curChild.show();
			});
			
			$(curSlider.obj).find(curSlider.options.navigationList).children().eq(0).addClass(curSlider.options.chosenClassName); // chosen-Klasse vergeben
			
			// _dissolveInnerImgs( curSlider ); // Bilderladen verhindern
			
			_autoAnimate( curSlider ); // Autoanimation starten
			
			_navigation( curSlider );
		}
		
		function _buildItemStructure( curSlider ) { // Eventuelle strukturelle Änderungen vornehmen
			if( curSlider.options.itemsPerView > 1 ) { // Nur anwenden, wenn mehr als ein Item pro View angezeigt werden soll
				_decodeWrapper( curSlider ); // Wrapper vorbereiten
				
				var curItems = $(curSlider.curItemList).children(); // Item-Liste
				var curItemsCount = curItems.size(); // Größe der Item-Liste
				
				var wrapper = curSlider.options.itemsPerViewWrapper['<'] + curSlider.options.itemsPerViewInnerWrapper['<'] + curSlider.options.itemsPerViewInnerWrapper['>'] + curSlider.options.itemsPerViewWrapper['>']; // Wrapper-Struktur vorbereiten
				var curSet, curWrapper, curCount, i = parseInt(1), e = parseInt('0'); // Temporärer Variablen-Foo
				
				while( e < curItemsCount ) { // Quantifiziert durchlaufen
					curCount = ((e + curSlider.options.itemsPerView) >= curItemsCount) ? (curItemsCount-e) : curSlider.options.itemsPerView; // Aktuelle Anzahl der auszuwählenden Items bestimmen
					
					curSet = $(curSlider.curItemList).children(':lt(' + curCount + ')'); // Aktuelles Set bestimmen, immer die ersten n-Elemente, abhängig von itemsPerView
					curWrapper = $(wrapper); // Wrapper in ein jQuery-Objekt umwandeln
					curWrapper.find('ul').addClass(curSlider.options.itemsPerViewInnerWrapperClassName + i) // Klasse für Liste hinzufügen
					$(curSlider.curItemList).append(curWrapper); // Generierten Code an das Elternelement anhängen
					curSet.appendTo($('.' + curSlider.options.itemsPerViewInnerWrapperClassName + i)); // Elementenset in das generierte HTML kopieren
					
					e += curSlider.options.itemsPerView; i++; // Zähler
				}
			}
		}
		
		function _addControls( curSlider ) { // Kontrollelemente hinzufügen
			var itemsCount = $(curSlider.curItemList).children().size();
			if( itemsCount > curSlider.options.itemsPerView && itemsCount > 0 ) {
				$('#' + curSlider.curId).find(curSlider.options.itemsSel).after(curSlider.options.slidersControl);
				$('#' + curSlider.curId).addClass(curSlider.options.slidersControlActiveClassName);
			}
		}
		
		function _autoAnimate( curSlider ) { // Automatisierte Animationen
			var itemsCount = $(curSlider.curItemList).children().size();
			if( curSlider.options.autoAnimation && itemsCount > 1 ) {
				if( sliders[curSlider.curId].curTimeout ) {
					window.clearTimeout(sliders[curSlider.curId].curTimeout);
					sliders[curSlider.curId].curTimeout = false;
				}

				sliders[curSlider.curId].curTimeout = window.setTimeout(function(){
					_autoNext( curSlider );
				}, curSlider.options.stopTime);
			}
			
			if( curSlider.options.innerAutoAnimation && curSlider.innerItems.length > 0 ) {
				var level = 'inner';
				
				if( sliders[curSlider.curId].curInnerTimeout ) {
					window.clearTimeout(sliders[curSlider.curId].curInnerTimeout);
					sliders[curSlider.curId].curInnerTimeout = false;
				}

				sliders[curSlider.curId].curInnerTimeout = window.setTimeout(function(){
					_autoNext( curSlider, level );
				}, curSlider.options.innerStopTime);
			}
		}
		
		function _autoNext( curSlider, level ) {
			if( level != 'inner' ) {
				changeItem('+', curSlider, curSlider.options.transitionTime, function(){
					_autoNext( curSlider );
				});
			}
			else {
				changeInnerItem('+', curSlider, curSlider.options.innerTransitionTime, function(){
					_autoNext( curSlider, level );
				});
			}
		}
		
		function _navigation( curSlider ) { // Navigationselemente initialisieren
			_navigationPrev( curSlider ); 
			_navigationNext( curSlider );
			_navigationList( curSlider );
		}
		
		function _navigationPrev( curSlider ) { // Navigationselement zurück
			$(curSlider.obj).find(curSlider.options.controller + ' ' + curSlider.options.controllerPrev).click(function() {
				changeItem('-', curSlider, curSlider.options.manualTransitionTime);
				_autoAnimate( curSlider ); // Autoanimation starten
				
				return false;
			});
		}
		
		function _navigationNext( curSlider ) { // Navigationselement vor
			$(curSlider.obj).find(curSlider.options.controller + ' ' + curSlider.options.controllerNext).click(function() {
				changeItem('+', curSlider, curSlider.options.manualTransitionTime);
				_autoAnimate( curSlider ); // Autoanimation starten
				
				return false;
			});
		}
		
		function _navigationList( curSlider ) { // Mittels Navigationsliste navigieren
			$(curSlider.obj).find(curSlider.options.navigationList).children().click(function(){
				if( !$(this).hasClass(curSlider.options.chosenClassName) ) {
					var newPos = parseInt($(this).attr('class').replace(curSlider.options.chosenClassName, '').replace(curSlider.options.navigationItemCountClassName, ''))-1;
					changeItem(newPos, curSlider, curSlider.options.manualTransitionTime);
					_autoAnimate( curSlider ); // Autoanimation starten
				}
				
				$(this).find('a').blur();
				
				return false;
			});
		}
		
		function getItems( curSlider ) { // Item-Array erstellen + weitere Informationen
			if( !_is_array( sliders[curSlider.curId].items )) {
				sliders[curSlider.curId].items = [];
			}
			
			if( !curSlider.options.items.length ) {
				$(curSlider.obj).find(curSlider.options.itemsSel).children().each(function(i) {
					i++; $(this).addClass(curSlider.options.itemCountClassName + i);
					sliders[curSlider.curId].items.push($(this));
				});
				
				$(curSlider.obj).find(curSlider.options.navigationList).children().each(function(i) {
					$(this).addClass(curSlider.options.navigationItemCountClassName + (i+1));
				});
			}
			else {
				// …
			}
			
			return sliders[curSlider.curId].items;
		}
		
		function getInnerItems( curSlider ) { // Inner-Item-Array erstellen + weitere Informationen
			if( !_is_array( sliders[curSlider.curId].innerItems )) {
				sliders[curSlider.curId].innerItems = [];
			}
			
			if( !curSlider.options.innerItems.length ) {
				$(curSlider.obj).find(curSlider.options.itemsSel).children().each(function(i) {
					$(this).find(curSlider.options.innerItemsSel).children().each(function(e) {
						if( !_is_array( sliders[curSlider.curId].innerItems[i] )) {
							sliders[curSlider.curId].innerItems[i] = [];
							sliders[curSlider.curId].curInnerPos[i] = parseInt('0');
						}
						
						$(this).addClass(curSlider.options.innerItemCountClassName + (e+1));
						sliders[curSlider.curId].innerItems[i].push($(this));
					});
				});
			}
			else {
				// …
			}
			
			return sliders[curSlider.curId].innerItems;
		}

		function getPosition( newPos, curSlider, level ) { // Itemnummer ändern
			var newCurPos = parseInt('0');
			
			if( level == 'inner' ) {
				var curPos = sliders[curSlider.curId].curInnerPos[curSlider.curPos];
				var items = sliders[curSlider.curId].innerItems[curSlider.curPos];
			}
			else {
				var curPos = sliders[curSlider.curId].curPos;
				var items = sliders[curSlider.curId].items;
			}
			
			switch( newPos ) {
				case '+':
					if( curPos + 1 > (items.length - 1) ) {
						newCurPos = 0;
					}
					else {
						newCurPos = curPos + 1;
					}
					break;
				case '-':
					if( curPos - 1 < 0 ) {
						newCurPos = items.length - 1;
					}
					else {
						newCurPos = curPos - 1;
					}
					break;
				default:
					if( newPos > (items.length - 1) ) {
						newCurPos = newPos - items.length;
					}
					else if( newPos < 0 ) {
						newCurPos = items.length - newPos;
					}
					else {
						newCurPos = newPos;
					}
			}
			
			return newCurPos;
		}
		
		function changeInnerItem( newPos, curSlider, transitionTime, callBack ) {
			changeItem( newPos, curSlider, transitionTime, callBack, 'inner' );
		}
		
		function changeItem( newPos, curSlider, transitionTime, callBack, level ) { // Änderung animiert ausgeben
			if( level == 'inner' ) { // Inner-Items
				var curTimeout = sliders[curSlider.curId].curInnerTimeout;
				var curItem = sliders[curSlider.curId].innerItems[curSlider.curPos][curSlider.curInnerPos[curSlider.curPos]]; // aktuelles Item
				newPos = sliders[curSlider.curId].curInnerPos[curSlider.curPos] = curSlider.curInnerPos[curSlider.curPos] = getPosition(newPos, curSlider, level); // neue Position bestimmen
				var newItem = sliders[curSlider.curId].innerItems[curSlider.curPos][newPos]; // neues Item
				transitionTime = ( transitionTime ) ? transitionTime : curSlider.options.innerTransitionTime; // Übergangszeit
				var transition = curSlider.options.innerTransition;
				var stopTime = curSlider.options.innerStopTime;
			}
			else if( !sliders[curSlider.curId].stopAnimation ) { // normale Items
				
				stopChangeInnerItem( curSlider ); // Bei Übergang der ersten Ebene, zweite Ebene stoppen
				window.clearTimeout(sliders[curSlider.curId].curInnerTimeout); // Timeout der Inner-Items stoppen
				
				var curItem = sliders[curSlider.curId].items[curSlider.curPos]; // aktuelles Item
				newPos = sliders[curSlider.curId].curPos = curSlider.curPos = getPosition(newPos, curSlider); // neue Position bestimmen
				var newItem = sliders[curSlider.curId].items[newPos]; // neues Item
				transitionTime = ( transitionTime ) ? transitionTime : curSlider.options.transitionTime; // Übergangszeit
				var transition = curSlider.options.transition;
				var curTimeout = sliders[curSlider.curId].curTimeout;
				var stopTime = curSlider.options.stopTime;

				// Navigation der Items
				$(curSlider.obj).find(curSlider.options.navigationList).find('.' + curSlider.options.chosenClassName).removeClass(curSlider.options.chosenClassName); // aktuelle chosen-Klasse löschen
				$(curSlider.obj).find(curSlider.options.navigationList).find('.' + curSlider.options.navigationItemCountClassName + (curSlider.curPos+1)).addClass(curSlider.options.chosenClassName); // aktuellen Item chosen-Klasse geben
			}
			
			if( curItem != newItem || ( level != 'inner' && !sliders[curSlider.curId].stopAnimation ) || (level == 'inner' && sliders[curSlider.curId].innerItems[curSlider.curPos] > 0 && !sliders[curSlider.curId].stopInnerAnimation) ) {
				switch(transition) { // für Transparenz-Übergang
					case 'transparency':
						$(curItem).css({
							zIndex: '2'
						});
						$(newItem).css({
							zIndex: '1'
						}).show();
						
						if( curTimeout ) {
							window.clearTimeout(curTimeout);
							curTimeout = false;
						}
						
						if( !level ) {
							sliders[curSlider.curId].stopAnimation = true;
						}
						
						$(curItem).stop(true).fadeOut(transitionTime, function(){
							if( !level ) {
								resetInnerItems( curSlider );
								sliders[curSlider.curId].stopAnimation = false;
							}
							
							if( callBack ) {
								if( level ) {
									sliders[curSlider.curId].curInnerTimeout = window.setTimeout(callBack, stopTime);
								}
								else {
									sliders[curSlider.curId].curTimeout = window.setTimeout(callBack, stopTime);
								}
								
							}

							if( curSlider.options.onTransitionEnd ) {
								curSlider.options.onTransitionEnd();
							}
						});
						break;
				}
			}
		}
		
		function stopChangeInnerItem( curSlider ) { // Animation der Inner-Items stoppen
			return sliders[curSlider.curId].stopInnerAnimation = curSlider.stopInnerAnimation = true;
		}
		
		function resetInnerItems( curSlider, curTimeout ) { // Positionsreset
			$(curSlider.obj).find(curSlider.options.itemsSel).children().not('.' + curSlider.options.itemCountClassName + (curSlider.curPos+1)).each(function(){
				var curEl = $(this);
				var curItems = curEl.find(curSlider.options.innerItemsSel).children();
				curItems.css({
					'z-index': 'auto'
				}).hide();
				curItems.eq(0).show();
			});

			sliders[curSlider.curId].curInnerPos[curSlider.curPos] = parseInt('0');
		}
		
		// function _dissolveInnerImgs( curSlider ) {
		// 	$('#' + curSlider.curId).find(curSlider.options.innerItemsSel).each(function(){
		// 		$(this).find('img').not(':first').each(function(){
		// 			curEl = $(this);
		// 			curSrc = curEl.attr('src');
		// 			$('<span />').addClass(curSlider.options.tempImgCon).data('src', curSrc).insertAfter(curEl);
		// 			curEl.remove();
		// 		})
		// 	})
		// }
		
		function _identifyEl( el ) { // ID des Elements ausgeben oder GUID generieren und ausgeben
			if( el.attr('id') != '' ) {
				return el.attr('id');
			}
			else {
				var guid = _guid();
				el.attr('id', guid);
				return guid;
			}
		}
		
		function _guid( sep ) { // Hoffentlich einzigartige IDs ausgeben || http://plugins.jquery.com/files/jquery.identify.js_1.txt
			function S4() {
				return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
			}
			
			if( typeof sep == "undefined" ) {
				sep = "-";
			}
			
			return (S4()+S4()+sep+S4()+sep+S4()+sep+S4()+sep+S4()+S4()+S4());
		}
		
		function _is_array( input ) {
			return typeof( input ) == 'object' && ( input instanceof Array );
		}
		
		function _decodeWrapper( curSlider ) {
			curSlider.options.itemsPerViewWrapper = ( typeof(curSlider.options.itemsPerViewWrapper) == 'string' ) ? _splitWrapper(curSlider.options.itemsPerViewWrapper) : curSlider.options.itemsPerViewWrapper;
			curSlider.options.itemsPerViewInnerWrapper = ( typeof(curSlider.options.itemsPerViewInnerWrapper) == 'string' ) ? _splitWrapper(curSlider.options.itemsPerViewInnerWrapper) : curSlider.options.itemsPerViewInnerWrapper;
		}
		
		function _splitWrapper(wrapper) {
			if( typeof(wrapper) == 'string' ) {
				var wrapperArr = wrapper.split('|');
				return {'<': wrapperArr[0], '>': wrapperArr[1]};
			}
			else {
				return false;
			}
		}
	}
	
	$.fn.gallery.defaults = { // Standardwerte festlegen
		itemsPerView: 1,
		itemsPerViewWrapper: '<li>|</li>',
		itemsPerViewInnerWrapper: '<ul>|</ul>',
		itemsPerViewInnerWrapperClassName: 'itemWrapper-', // itemWrapper-1, itemWrapper-2, …
			
		autoAnimation: false,
		transition: 'transparency',
		stopTime: '5000',
		transitionTime: '100',
		manualTransitionTime: '100',
		
		innerAutoAnimation: true,
		innerTransition: 'transparency',
		innerStopTime: '5000',
		innerTransitionTime: '100',
		innerManualTransitionTime: '100',
		
		chosenClassName: 'chosen',
		
		itemsSel: '.items',
		innerItemsSel: '.inner-items',
		
		slidersControl: '<ul class="slider-controls"><li class="prev"><a href="#" title="zurück">zurück</a></li><li class="next"><a href="#" title="weiter">weiter</a></li></ul>',
		controller: '.slider-controls',
		controllerPrev: '.prev',
		controllerNext: '.next',
		navigationList: '.slider-menu',
		
		//
		// ToDo: Optionale Navigation für Inner-Items
		//
		
		itemCountClassName: 'slider-item-', // slider-item-1, slider-item-2, …
		innerItemCountClassName: 'slider-inner-item-', // slider-inner-item-1, slider-inner-item-2, …
		navigationItemCountClassName: 'slider-navigation-item-', // slider-navigation-item-1, slider-navigation-item-2, …
		jsActiveClassName: 'js-active',
		slidersControlActiveClassName: 'controls-active',
		tempImgCon: 'temp-img-con',
		
		onStart: false, // Callback vor jeglicher Plugin-Aktion
		onTransitionEnd: false, // Callback nach Übergang
		items: [], innerItems: [] // coming sooner or later …
	};
})(jQuery);


/*********************************************************
* Slider aktivieren
*********************************************************/

function sliderStart() {
	$('.major-slider').each(function(){
		var curEl = $(this);
		
		if( curEl.find('.inner-items').children().size() > 0 && curEl.find('.slider-menu').size() == 0 ) {
			$('<ul class="slider-menu" />').appendTo(curEl);
			curEl.find('.items').children().each(function(){
				var menuText = $(this).find('.description').find('h3').text();
				var newMenuItem = $('<li><a href="#">' + menuText + '</a></li>');
				curEl.find('.slider-menu').append(newMenuItem);
			});
		}
		
		if( curEl.find('.inner-items').length > 0 ) {
			curEl.gallery({
				'itemsPerView': 1,
				'autoAnimation': false,
				'manualTransitionTime': '100',
				'innerAutoAnimation': true,
				'innerStopTime': '7000',
				'innerTransitionTime': 1000,
				'slidersControl': sliderControl
			});
		}
		else {
			curEl.gallery({
				'itemsPerView': 1,
				'autoAnimation': true,
				'manualTransitionTime': '100',
				'stopTime': '7000',
				'transitionTime': 1000,
				'innerAutoAnimation': false,
				'slidersControl': sliderControl
			});
		}
	});
	
	$('.minor-slider').gallery({
		'itemsPerView': 4,
		'autoAnimation': false,
		'stopTime': '7000',
		'transitionTime': 800,
		'manualTransitionTime': '100',
		'slidersControl': sliderControl
	});
}


/*********************************************************
* Lightbox and Video
*********************************************************/

function lightbox() {
	$("#content a[href*=.jpg], #content a[href*=.gif], #content a[href*=.png]").fancybox({
		overlayOpacity: .6,
		overlayColor: '#000'
	});
	
	$("#content a[href*=.mp4]").each(function(){
		var curEl = $(this);
		var curURL = curEl.attr('href');
		var curType = curEl.attr('href').split('.');
		curType = curType[curType.length-1];
		
		if( curType == 'mp4' || curType == 'ogv' ) {
			curType = 'video/' + curType;
		}
		
		curEl.after('<div class="video" />');
		var curVideo = $(curEl).next('.video');
		
		fv = $(curVideo).flareVideo();
		fv.load([{
			src: curURL,
			type: curType,
			flashSrc: 'http://www.agenturkappa.com/typo3/fileadmin/template/layout/flare-video/FlareVideo.swf'
		}]);
		
		curVideo.css({
			'display': 'none',
			'visibility': 'hidden',
			'position': 'absolute'
		});
		
		function _identifyEl( el ) { // ID des Elements ausgeben oder GUID generieren und ausgeben
			if( el.attr('id') != '' ) {
				return el.attr('id');
			}
			else {
				var guid = _guid();
				el.attr('id', guid);
				return guid;
			}
		}
		
		function _guid( sep ) { // Hoffentlich einzigartige IDs ausgeben || http://plugins.jquery.com/files/jquery.identify.js_1.txt
			function S4() {
				return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
			}
			
			if( typeof sep == "undefined" ) {
				sep = "-";
			}
			
			return (S4()+S4()+sep+S4()+sep+S4()+sep+S4()+sep+S4()+S4()+S4());
		}
		
		var curID = _identifyEl(curVideo);
		
		curEl.attr('href', '#' + curID)
		
		curEl.fancybox({
			overlayOpacity: .6,
			overlayColor: '#000',
			autoDimensions: true,
			onStart: function() {
				curVideo.css({
					'display': 'block',
					'visibility': 'visible',
					'position': 'static'
				});
			},
			onComplete: function() {
				if( curVideo.find('.flash-replaced').size() > 0 ) {
					curVideo.find('.controls').remove();
				}
			},
			onClosed: function() {
				curVideo.css({
					'display': 'none',
					'visibility': 'hidden',
					'position': 'absolute'
				});
			}
		});
		
		return false;
	});
}


/*********************************************************
* Menü-Scroller
*********************************************************/

function menuScroller() {
	var sidebarHeight = $('#sidebar').height();
	var contentHeight = $('#content').height();
	var scrollFollowDebugHeight = 50;
	
	if( sidebarHeight < contentHeight - scrollFollowDebugHeight ) {
		$('#sidebar').height($('#content').height() - scrollFollowDebugHeight);
	}
	
	$('#menu').css({
		'position': 'relative'
	});
	
	$('#menu').scrollFollow({
		speed: 500,
		delay: 200,
		offset: 10,
		easing: 'swing',
		container: 'sidebar'
	});
}


/*********************************************************
* Team-Rollover
*********************************************************/

function teamRollover() {
	$('#content .team dt').each(function(){
		var curEl = $(this);
		var curImgs = curEl.find('img');
		
		if( curImgs.size() == 2 ) {
			var curWidth = curImgs.width();
			var curHeight = curImgs.height();
			
			curEl.width(curWidth).height(curHeight);
			
			curImgs.css({
				'position': 'absolute'
			});
			
			curImgs.eq(0).css({
				'z-index': '2'
			});
			
			curImgs.eq(1).css({
				'z-index': '1'
			});
			
			curEl.mouseenter(function(){
				curImgs.eq(0).fadeOut();
			});
			
			curEl.mouseleave(function(){
				curImgs.eq(0).fadeIn();
			});
		}
	});
}


/*********************************************************
* Document-Ready
*********************************************************/

$(document).ready(function() { // Wenn DOM geladen, dann ...
	scrollinterna(); // Scrollinks
	maildecoding(); // eMail-Verschlüsselung
	sliderStart(); // Slider aktivieren
	teamRollover(); // Team-Rollover
});

window.onload=function() {
	menuScroller(); // Menü-Scroller
	lightbox(); // Lightbox
}
