/* Grundfunktionen */

function zeigen(element) {
	document.getElementById(element).style.display = "block";
	}
	
function verbergen(element) {
	document.getElementById(element).style.display = "none";
	}

var bewegenTimer;

function bewegen(element,richtung,ziel,tempo) {
	if (bewegenTimer)
		window.clearTimeout(bewegenTimer);
	var positionAlt = (richtung == 'x') ? document.getElementById(element).offsetLeft : document.getElementById(element).offsetTop;
	var positionNeu = (positionAlt < ziel) ? positionAlt+tempo : positionAlt-tempo;
	var check = Math.abs(positionNeu-ziel);
	if (check >= tempo) {
		if (richtung == 'x')
			document.getElementById(element).style.left = positionNeu+"px";
		else
			document.getElementById(element).style.top = positionNeu+"px";
		bewegenTimer = setTimeout("bewegen('"+element+"','"+richtung+"',"+ziel+","+tempo+")",50);
		}
	else {
		if (richtung == 'x')
			document.getElementById(element).style.left = ziel+"px";
		else
			document.getElementById(element).style.top = ziel+"px";
		}
	}

function bildWechsel(bild,bildNeu) {
	bild.src = bildNeu;
	}
	
function setOpacity(element,value) {
	document.getElementById(element).style.opacity = value/100;
	document.getElementById(element).style.filter = 'alpha(opacity=' + value + ')';
	}

var fadeTimer = null;
function fadeIn(element) {
	if(fadeTimer != null)
		clearTimeout(fadeTimer);
	var currentOpacity = document.getElementById(element).style.opacity;
	currentOpacity *= 100;
	if(currentOpacity < 91) {
		currentOpacity += 10;
		setOpacity(element,currentOpacity);
		fadeTimer = setTimeout("fadeIn('"+element+"')",10);
		}
	}
	
/* Navigation */

function aufrollen(element) {
	if (element == 'bilder') {
		setOpacity('layer',0);
		zeigen('layer');
		zeigen('bilder');
		gallerieZeigen();
		}
	else {
		zeigen(element);
		bewegen(element,'y',0,50);
		}
	}

function einrollen(element) {
	document.getElementById(element).style.top = -fensterHoehe+"px";
	verbergen(element);
	}

function seitenWechsel(seiteAlt,seiteNeu) {
	if (seiteAlt == 'bilder') {
		bilderSchliessen();
		}
	else {
		einrollen(seiteAlt);
		}
	aufrollen(seiteNeu);
	}

function bilderSchliessen() {
	if (gallerieTimer) {
		clearTimeout(gallerieTimer);
		}
	verbergen('bilder');
	verbergen('gallerie');
	verbergen('layer');
	setOpacity('layer',0);
	}
	
function gallerieZeigen() {		
	var abstand = document.getElementById('gallerie').offsetTop;
	
	var ziel = fensterHoehe-170;
	if (abstand > ziel+49) {
		document.getElementById('gallerie').style.top = abstand-50+"px";
		setTimeout("gallerieZeigen()",20);
		}
	else {
		document.getElementById('gallerie').style.top = ziel+"px";
		fadeIn('layer');
		}
	}

/* Galleriefunktionen */

var gallerieTimer;

function gallerieVerbergen() {
	if (gallerieTimer) {
		clearTimeout(gallerieTimer);
		}
	gallerieTimer = setTimeout("verbergen('gallerie')",2000);
	zeigen('gallerie');
	}
	
function maximieren(quelle) {
	maxi = new Image();
	maxi.src = quelle;
	var ratio = maxi.height/maxi.width;
	if (ratio < 1) {
		var bildBreite = 90/100*fensterBreite;
		var bildHoehe = bildBreite*ratio;
		}
	else {
		var bildHoehe = 90/100*fensterHoehe;
		var bildBreite = bildHoehe/ratio;
		}
	
	document.getElementById('maximierung').style.width = bildBreite+"px";
	document.getElementById('maximierung').style.height = bildHoehe+"px";
	document.getElementById('maximierung').src = maxi.src;
	}

/* Scrollfunktionen */

var scrollenTimer;

function scrollenStop() {
	if (scrollenTimer)
		window.clearTimeout(scrollenTimer);
	}
	
function scrollen(rahmen,inhalt,richtung,tempo) {
	scrollenStop();
	
	var rahmenBreite = document.getElementById(rahmen).offsetWidth;
	var rahmenHoehe = document.getElementById(rahmen).offsetHeight;
	var inhaltBreite = document.getElementById(inhalt).offsetWidth;
	var inhaltHoehe = document.getElementById(inhalt).offsetHeight;
	var ziel = 0;
	
	if (inhaltHoehe > rahmenHoehe || inhaltBreite > rahmenBreite) {
		
		if (richtung == "oben") {
			ziel = rahmenHoehe-inhaltHoehe;
			var abstand = document.getElementById(inhalt).offsetTop;
			var rest = Math.abs(ziel-abstand);
			if(rest > tempo) {
				document.getElementById(inhalt).style.top = abstand-tempo+"px";
				scrollenTimer = window.setTimeout("scrollen('"+rahmen+"','"+inhalt+"','"+richtung+"',"+tempo+")",20);
				}
			else {
				document.getElementById(inhalt).style.top = ziel+"px";
				}
			}
		else if (richtung == "rechts") {
			var abstand = document.getElementById(inhalt).offsetLeft;
			var rest = Math.abs(abstand);
			if (rest > tempo) {
				document.getElementById(inhalt).style.left = abstand+tempo+"px";
				scrollenTimer = window.setTimeout("scrollen('"+rahmen+"','"+inhalt+"','"+richtung+"',"+tempo+")",20);
				}
			else {
				document.getElementById(inhalt).style.left = ziel+"px";
				}
			}
		else if (richtung == "unten") {
			var abstand = document.getElementById(inhalt).offsetTop;
			var rest = Math.abs(abstand);
			if (rest > tempo) {
				document.getElementById(inhalt).style.top = abstand+tempo+"px";
				scrollenTimer = window.setTimeout("scrollen('"+rahmen+"','"+inhalt+"','"+richtung+"',"+tempo+")",20);
				}
			else {
				document.getElementById(inhalt).style.top = ziel+"px";
				}
			}
		else {
			ziel = rahmenBreite-inhaltBreite;
			var abstand = document.getElementById(inhalt).offsetLeft;
			var rest = Math.abs(ziel-abstand);
			if(rest > tempo) {
				document.getElementById(inhalt).style.left = abstand-tempo+"px";
				scrollenTimer = window.setTimeout("scrollen('"+rahmen+"','"+inhalt+"','"+richtung+"',"+tempo+")",20);
				}
			else {
				document.getElementById(inhalt).style.left = ziel+"px";
				}
			}
		}
		
	}

	/* Vita scrollen */

	function vitaScrollStop(bild,bildNeu) {
		if (bild || bildNeu)
			bildWechsel(bild,bildNeu);
		scrollenStop();
		}

	function vitaScrollUp(bild) {
		if (bild)
			vitaScrollStop(bild,'runterHover.gif');
		
		scrollen('tabellen1','tabellen2','oben',3);
		}

	function vitaScrollDown(bild) {
		if (bild)
			vitaScrollStop(bild,'raufHover.gif');
		
		scrollen('tabellen1','tabellen2','unten',3);
		}
	
	/* Bilder scrollen */
	
	function bilderScrollStop(bild,bildNeu) {
		if (bild || bildNeu)
			bildWechsel(bild,bildNeu);
			
		scrollenStop();
		
		gallerieVerbergen();
		}

	function bilderScrollLinks(bild) {
		if (gallerieTimer) {
			clearTimeout(gallerieTimer);
			}
			
		if (bild)
			bilderScrollStop(bild,'rechtsHover.gif');
		
		scrollen('miniaturenRahmen','miniaturen','links',3);
		}

	function bilderScrollRechts(bild) {
		if (gallerieTimer) {
			clearTimeout(gallerieTimer);
			}
			
		if (bild)
			bilderScrollStop(bild,'linksHover.gif');
		
		scrollen('miniaturenRahmen','miniaturen','rechts',3);
		}
		
/* Kontakt Formularfunktionen */

function textVorbelegungAn(inputFeld,text) {
	if (inputFeld.value == "") {
		inputFeld.value = text;
		}
	}

function textVorbelegungAus(inputFeld) {
	inputFeld.value = "";
	}
