
/* Infotext auf der Starseite */

function hideInfoText()
{
	var infotext;
	var first_paragraph;
	infotext = document.getElementById('infotext');

	if(typeof infotext != 'undefined' && infotext != null)
	{
		first_paragraph = infotext.getElementsByTagName('div')[0].getElementsByTagName('p')[0];

		if(first_paragraph)
		{
			var parent = first_paragraph.parentNode; //infotext.getElementsByTagName('div')[0];
			parent.removeChild(first_paragraph);
			infotext.insertBefore(first_paragraph, parent);
			first_paragraph.className = 'first';
		}
	}
}

/* Initialisierung Infotext und Fancybox */

$(document).ready(function()
{
	$('#infotext a.toggle').click(function()
	{
		$('#infotext div').slideToggle('slow');
		$('#infotext a.toggle').toggleClass('close');
	});

	$('#infotext div').hide();
	hideInfoText();

	$("div.image_gallery a").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600,
		'speedOut'		:	200,
		'overlayShow'	:	true,
		'overlayOpacity':	0.1,
		'titleShow'		:	false
	});

	$("a.fancybox").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600,
		'speedOut'		:	200,
		'overlayShow'	:	true,
		'overlayOpacity':	0.1,
		'titleShow'		:	false
	});
});

/* Welcome-Element auf der Startseite */

/* Setzt Initialwerte für das Slider-Element */

function initSlider()
{
	var sliderList;
	var sliderListWidth;
	var listElementCount = 1;
	var listElementWidth = 660;
	var listElementMargin = 0;

	sliderList = document.getElementById('welcome').getElementsByTagName('ul')[0];
	if(sliderList)
	{
		listElementCount = sliderList.getElementsByTagName('li').length;

		sliderList.currentElementIndex = 0; // aktuelle Position in der Liste
		sliderList.elementWidth = listElementWidth + listElementMargin; // Breite eines Elements
		sliderList.elementCount = listElementCount; // Anzahl der Kindelemente (li), nicht nachträglich änderbar
		sliderList.shownElementCount = 1; // Anzahl gleichzeitig anzuzeigender Elemente

		sliderListWidth = listElementCount * (listElementWidth + listElementMargin);
		sliderList.style.width = String(sliderListWidth) + 'px';
	}

	setOverlayLink();
}

function slide(ev)
{
	var sliderButton;
	var sliderList;
	var buttonValue;
	var slideDifference;

	sliderList = document.getElementById('welcome').getElementsByTagName('ul')[0];

	if(!ev)
	{
		ev = window.event;
	}
	if(ev.target)
	{
		sliderButton = ev.target;
	}
	if(ev.srcElement)
	{
		sliderButton = ev.srcElement;
	}

	buttonValue = parseInt(sliderButton.firstChild.innerHTML) - 1;
	slideDifference = sliderList.currentElementIndex - buttonValue;
	if(slideDifference != 0)
	{
		$('#welcome ul:not(#welcome_switch)').animate({
		left: - (buttonValue * sliderList.elementWidth - 10)
		}, 1000, function()
		{
		// Animation complete.
		});

		sliderList.currentElementIndex = buttonValue;
		setOverlayLink(buttonValue);

		var sliderButtons = document.getElementById('welcome_switch').getElementsByTagName('a');
		for(var i = 0; i < sliderButtons.length; i++)
		{
			sliderButtons[i].parentNode.className = '';
		}
		sliderButton.parentNode.className = 'active';
	}
	window.clearInterval(welcome_animation);
	welcome_animation = window.setInterval('autoSlide()', 8000);
}

function autoSlide() // schaltet zum nächsten Element; vom letzten schaltet es ins erste Element
{
	var sliderList;
	var sliderButtons;
	var nextIndex;

	if(!document.getElementById('welcome')) return;
	sliderList = document.getElementById('welcome').getElementsByTagName('ul')[0];

	if(!document.getElementById('welcome_switch')) return;
	sliderButtons = document.getElementById('welcome_switch').getElementsByTagName('a');

	if(sliderList.currentElementIndex == sliderButtons.length - 1)
	{
		//sliderList.currentElementIndex = 0;
		nextIndex = 0;
	}
	else
	{
		//sliderList.currentElementIndex += 1;
		nextIndex = sliderList.currentElementIndex + 1
	}
	for(var i = 0; i < sliderButtons.length; i++)
	{
		if(parseInt(sliderButtons[i].firstChild.innerHTML) - 1 == nextIndex)
		{
			raiseEvent('click', sliderButtons[i]);
		}
	}
}

function raiseEvent(eventType, element)
{
	if(!element) return;

	if (document.createEvent)
	{
		var evt = document.createEvent("Events");
		evt.initEvent(eventType, true, true);
		element.dispatchEvent(evt);
	}
	else if (document.createEventObject)
	{
		var evt = document.createEventObject();
		element.fireEvent('on' + eventType, evt);
	}
	element = null;
}

function setOverlayLink(index)
{
	if(!index)
	{
		index = 0;
	}

	var overlay;

	var welcomeElement;
	var sliderList;

	welcomeElement = document.getElementById('welcome');
	if(typeof welcomeElement != 'undefined' && welcomeElement != null)
	{
		sliderList = welcomeElement.getElementsByTagName('ul')[0];
	}

	overlay = document.getElementById('welcome_overlay');
	if(typeof overlay != 'undefined' && overlay != null)
	{
		overlay.setAttribute('href', sliderList.getElementsByTagName('li')[index].getElementsByTagName('a')[0].getAttribute('href'));
	}
}

/* Initialisierungsfunktion setzt Eventhandler und div. Std-Werte */

function init()
{
	if (!document.getElementById('welcome_switch')) return;
	var sliderButtons = document.getElementById('welcome_switch').getElementsByTagName('a');

	if(document.addEventListener && sliderButtons)
	{
		for(var i = 0; i < sliderButtons.length; i++)
		{
			sliderButtons[i].addEventListener('click', slide, false);
		}
	}
	if(document.attachEvent && sliderButtons)
	{
		for(var i = 0; i < sliderButtons.length; i++)
		{
			sliderButtons[i].attachEvent('onclick', slide);
		}
	}

	initSlider();

	welcome_animation = window.setInterval('autoSlide()', 8000);
}

/* Klassen-Hilfsfunktionen */

function hasClass(classname, classes)
{
	var class_strings;
	var i;

	if (!classes) classes = '';
	class_strings = classes.split(' ');
	for (i = 0; i < class_strings.length; i++)
	{
		if (class_strings[i] == classname) return(true);
	}
	return(false);
}

function removeClass(old, remove)
{
	var classes;
	var i;
	var f = null;

	if (!old) old = '';
	classes = old.split(' ');
	for (i = 0; i < classes.length; i++)
	{
		if (classes[i] == remove) f = i;
	}
	if (f != null) classes.splice(f, 1);
	return(classes.join(' '));
}

function replaceClass(old, toreplace, newclass)
{
	old = removeClass(old, toreplace);
	old = addClass(old, newclass);
	return(old);
}

function addClass(old, toadd)
{
	var classes;
	var i;
	var f = null;

	if (!old) old = '';
	classes = old.split(' ');
	for (i = 0; i < classes.length; i++)
	{
		if (classes[i] == toadd) f = i;
	}
	if (f == null) classes.push(toadd);
	return(classes.join(' '));
}

/* Init-Funktionsaufruf */

if(document.addEventListener)
{
	window.addEventListener('load', init, false);
}
if(document.attachEvent)
{
	window.attachEvent('onload', init);
}

var welcome_animation;
