function navigate(url) // hauptmenu navigation
	{
	self.location.href = url;
	}

function swap(obj,lang) // menu mouseover funktion
	{
	if ((obj.src.search(/_on/i) !== -1) && (obj.active != 1))
		{
		(obj.src = "./img/menu/" + lang + "/" + obj.name + "_off.png")
		}
		else
			{
			(obj.src = "./img/menu/" + lang + "/" + obj.name + "_on.png");
			}
	}

function activate(obj,lang) // menufunktion
	{
	limit = document.images.length;
	for (i=0; i < limit; i++)
		{
		document.images[i].active = "";
		oldsrc = document.images[i].src;
		newsrc = oldsrc.replace(/_on/i, "_off");
		document.images[i].src = newsrc;
		}
	obj.active = 1;
	obj.src = "./img/menu/" + lang + "/" + obj.name + "_on.png"
	}

function showMap(url,w,h,scr) // infofenster öffnen
	{
	detail = window.open(url,'map','toolbars=0,location=0,scrollbars='+scr+',statusbars=0,menubars=0,resizable=0,width='+w+',height='+h+',left=50,top=50');
	}

function showHide(objID)
	{
	oObj = document.getElementById(objID);
	(oObj.style.display == "block") ? (oObj.style.display = "none") : (oObj.style.display = "block");
	}

function showImage(img) // einzelbild per ajax laden
	{ 
	var strURL = 'extras.php';
	var xmlHttpReq = false;
	var self = this;
	// Mozilla/Safari
	if (window.XMLHttpRequest) 
		{
		self.xmlHttpReq = new XMLHttpRequest();
		}
			// IE
			else if (window.ActiveXObject) 
			{
			self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
	self.xmlHttpReq.open('POST', strURL, true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.setRequestHeader("Pragma", "no-cache");
	self.xmlHttpReq.setRequestHeader("Cache-Control", "must-revalidate");
	self.xmlHttpReq.setRequestHeader("If-Modified-Since", document.lastModified);
	self.xmlHttpReq.onreadystatechange = alertExtras;
	self.xmlHttpReq.send('image=' + img);
	}

function alertExtras() // einzelbild anzeigen
	{
	if (self.xmlHttpReq.readyState == 4) 
		{
		document.getElementById("blend").style.width = "110%";
		document.getElementById("blend").style.display = "block";
		document.getElementById("extras").style.display = "block";
		var data = eval('(' + self.xmlHttpReq.responseText + ')');
		document.getElementById("extracont").innerHTML = "<img src=\"" + data.src + "\" width=\"" + data.width + "\" height=\"" + data.height + "\" border=\"0\"/>";
		document.getElementById("extratab").style.width = (eval(data.width) + 40) + "px";
		document.getElementById("extras").style.width = (eval(data.width) + 40) + "px";
		}
	}

function extras() // einzelbild ausblenden
	{
	document.getElementById("blend").style.display = "none";
	oEle = document.getElementById("extras").style.display = "none";
	}
	
function validate() // used by contact form
	{
	error = 0;
	test = 0;
	oForm = document.forms["contact"];
	errormsg = unescape('Bitte%20f%FCllen%20Sie%20die%20folgenden%20Felder%20aus%3A\n\n');
	required = new Array("lastname","firstname","email");
	i = 0;
	while (oForm.elements[i])
		{
		oForm.elements[i].value = oForm.elements[i].value.replace(/[<>]+/i,"** ");
		i++;
		}
	i = 0;
	while (required[i])
		{
		if (oForm.elements[required[i]].value == "")
			{
			errormsg += oForm.elements[required[i]].name + '\n';
			error = 1;
			}
		if (required[i] == "email") test = oForm.email.value.search(/..+@..+\...+/i);
		i++;
		}
		if (test == -1)
			{
			errormsg += '\n' + unescape('Bitte%20geben%20Sie%20eine%20g%FCltige%20E-mail-Adresse%20an.');
			error = 1;
			}

	if (error == 1)
		{
		alert(errormsg);
		return false;
		}
		else oForm.submit();
	}

/* slideshow, requires jQuery (www.jquery.com) */
	
jQuery.fn.slideshow = function(options) {
	var settings = {
		timeout: '2000',
		type: 'sequence',
		pauselink: null,
		playcallback: null,
		pausecallback: null
	}
	if(options)
		jQuery.extend(settings, options);
	
	var pauseState = 0;
	var current = 1;
	var last = 0;
	var timer = '';
	
	var change = function () {
		if ( pauseState == 0 ) {
			for (var i = 0; i < slides.length; i++) {
				jQuery(slides[i]).css('display', 'none');
			}
			jQuery(slides[last]).css('display', 'block').css('zIndex', '0');
			jQuery(slides[current]).css('zIndex', '1').fadeIn('slow');
			
			if ( settings.type == 'sequence' ) {
				if ( ( current + 1 ) < slides.length ) {
					current = current + 1;
					last = current - 1;
				}
				else {
					current = 0;
					last = slides.length - 1;
				}
			}
			else if ( settings.type == 'random' ) {
				last = current;
				while (	current == last ) {
					current = Math.floor ( Math.random ( ) * ( slides.length ) );
				}
			}
			else {
				alert('type must either be \'sequence\' or \'random\'');
			}
			timer = setTimeout(change, settings.timeout);
		}
	}
	
	var pause = function() {
		if ( pauseState == 0 ) {
			pauseState = 1;
			clearTimeout(timer);
			if ( settings.playcallback != null ) {
				settings.pausecallback(jQuery('#' + settings.pauselink));
			}
		}
		else {
			pauseState = 0;
			change();
			if ( settings.playcallback != null ) {
				settings.playcallback(jQuery('#' + settings.pauselink));
			}
		}
		return false;
	}
	
	this.css('position', 'relative');
	var slides = this.find('img').get();
	jQuery.each(slides, function(i){
		jQuery(slides[i]).css('zIndex', slides.length - i).css('position', 'absolute').css('top', '0').css('left', '0');
	});
	if ( settings.type == 'sequence' ) {
		timer = setTimeout(change, settings.timeout);
	}
	else if ( settings.type == 'random' ) {
		do { current = Math.floor ( Math.random ( ) * ( slides.length ) ); } while ( current == 0 )
		timer = setTimeout(change, settings.timeout);
	}
	else {
		alert('type must either be \'sequence\' or \'random\'');
	}
	
	if ( settings.pauselink != null ) {
		jQuery('#' + settings.pauselink).click(pause);
	}
	
	return this;
};