/* Funktionen für den Scroll-Effekt */

/* Setzen der globalen Variablen */
var gTimeOut		= 1;			/* Interval-Länge in Millisekunden */
var gIniStep 		= 4;			/* InitialSchrittlänge - wieviel Pixel sollen pro Schritt hinzugefügt/entfernt werden */
var gStep 			= new Array(); 	/* Schrittlänge, in Abhängigkeit von der ID */
var gHeight 		= new Array(); 	/* Höhe des Elements, in Abhängigkeit von der ID */
var gOffSetHeight 	= new Array(); 	/* Maximalhöhe des Elements, in Abhängigkeit von der ID */
var gInterval 		= new Array(); 	/* Interval-ID, in Abhängigkeit von der ID */
var gNewdisp  		= new Array(); 	/* Display-Eigenschaft, in Abhängigkeit von der ID */
var gScrollReady 	= new Array(); 	/* Fertigmeldung beim Einrollen, in Abhängigkeit von der ID */


function slide(id)
{	
	if (document.getElementById(id).style.display == 'block') {
		gScrollReady[id] = false;
		shrink(id);
	}
	else {
		document.getElementById(id).style.height = '';
		gHeight[id] = 0;
		gOffSetHeight[id] = getOffsetHeight(id);
		if (!gStep[id]) {
			gStep[id] = set_gStep(id);
		}
		document.getElementById(id).style.height = '0px';
		expand(id);
	}
}

function set_gStep(id)
{
	if ((nStep = parseInt((((gOffSetHeight[id] * gTimeOut) / gIniStep) / 10))) > gIniStep) {
		return nStep;	
	}
	else { return gIniStep; }
}

function getOffsetHeight(id)
{
	/* 	Die hier auskommentierten Zeilen mussten aufgrund von Problemen mit
	 	der Darstellung im Bewertungssystem deaktiviert werden. */
	/*
		var backup = new Array();
		backup['position'] 	= document.getElementById(id).style.position;
		backup['left'] 		= document.getElementById(id).style.left;
		document.getElementById(id).style.position = 'absolute';
		document.getElementById(id).style.left = '-3000px';
	*/
	document.getElementById(id).style.display = 'block';
	offsetHeight = document.getElementById(id).offsetHeight;
	/*
		document.getElementById(id).style.position = backup['position'];
		document.getElementById(id).style.left = backup['left'];
	*/
	return offsetHeight;
}

function expand(id)
{
	if ((gHeight[id] += gStep[id]) < gOffSetHeight[id]) {
		document.getElementById(id).style.height = gHeight[id] + 'px';
		window.setTimeout("expand('" + id + "')", gTimeOut);
	}
	else { document.getElementById(id).style.height = gOffSetHeight[id] + 'px'; }
}

function shrink(id)
{
	if ((gHeight[id] -= gStep[id]) > 0) {
		document.getElementById(id).style.height = gHeight[id] + 'px';
		window.setTimeout("shrink('" + id + "')", gTimeOut);
	}
	else { document.getElementById(id).style.height = '0px'; }
	if (document.getElementById(id).style.height == '0px') {
		document.getElementById(id).style.display = 'none';
		gScrollReady[id] = true;
	}
}
/* Ende der Scroll-Effekte */