var slideSpeed = 5;	// Higher value = faster
var timer = 15;	// Lower value = faster

var objectIdToSlideDown = false;
var activeId = false;
var slideInProgress = false;
var slideInProgress = false;
var expandMultiple = false; // true if you want to be able to have multiple items expanded at the same time.

function initShowHideDivs()
	{
	var lis = document.getElementsByTagName('li');
	var ItemCounter = 1;
	for(var no=0;no<lis.length;no++)
		{
		if(HaveCSSClass(lis[no],'msg'))
			{
			lis[no].onclick = showHideContent;
			lis[no].id = 'msg'+ItemCounter;
			lis[no].style.cursor='pointer';
			lis[no].style.cursor='hand';
/*
			var msgd = lis[no].childNodes[0];
			while(msgd && !HaveCSSClass(msgd,'msgdetail'))
				{
				msgd = msgd.nextSibling;
				}
			msgd.id = 'msgdetail'+ItemCounter;
*/
			var msgc = lis[no].childNodes[0];
			while(msgc && !HaveCSSClass(msgc,'msgcontent'))
				{
				msgc = msgc.nextSibling;
				}
			msgc.id = 'msgcontent'+ItemCounter;

			msgt = msgc.getElementsByTagName('div')[0];
			AddCSSClass(msgt,'msgtext');
			msgt.id = 'msgtext' + ItemCounter;
			msgc.style.display='none';
			msgc.style.height='0px';
			msgc.style.visibility='hidden';
			ItemCounter++;
			}
		}
	}

function showHideContent(e,inputId)
	{
	if(slideInProgress)return;
	slideInProgress = true;
	if(!inputId)inputId = this.id;
	inputId = inputId + '';
	var numericId = inputId.replace(/[^0-9]/g,'');
	var msgc = document.getElementById('msgcontent' + numericId);
//	var msgd = document.getElementById('msgdetail' + numericId);

	objectIdToSlideDown = false;

	if(!msgc.style.display || msgc.style.display=='none')
		{
		if(activeId && activeId!=numericId && !expandMultiple)
			{
			objectIdToSlideDown = numericId;
			slideContent(activeId,(slideSpeed*-1));
			}
		else
			{
			msgc.style.display='block';
			msgc.style.visibility = 'visible';
//			msgd.innerHTML="zuklappen ˅˅";
			slideContent(numericId,slideSpeed);
			}
		}
	else
		{
//		msgd.innerHTML="aufklappen ˃˃";
		slideContent(numericId,(slideSpeed*-1));
		activeId = false;
		}
	}

function slideContent(inputId,direction)
	{
	var obj = document.getElementById('msgcontent' + inputId);
	var contentObj = document.getElementById('msgtext' + inputId);
	height = obj.clientHeight;
	if(height==0)height = obj.offsetHeight;
	height = height + direction;
	rerunFunction = true;
	if(height>contentObj.offsetHeight)
		{
		height = contentObj.offsetHeight;
		rerunFunction = false;
		}
	if(height<=1)
		{
		height = 1;
		rerunFunction = false;
		}
	obj.style.height = height + 'px';
	var topPos = height - contentObj.offsetHeight;
	if(topPos>0)topPos=0;
	contentObj.style.top = topPos + 'px';
	if(rerunFunction)
		{
		setTimeout('slideContent(' + inputId + ',' + direction + ')',timer);
		}
	else
		{
		if(height<=1)
			{
			obj.style.display='none';
			if(objectIdToSlideDown && objectIdToSlideDown!=inputId)
				{
				document.getElementById('msgcontent' + objectIdToSlideDown).style.display='block';
				document.getElementById('msgcontent' + objectIdToSlideDown).style.visibility='visible';
				slideContent(objectIdToSlideDown,slideSpeed);
				}
			else
				{
				slideInProgress = false;
				}
			}
		else
			{
			activeId = inputId;
			slideInProgress = false;
			}
		}
	}

function HaveCSSClass(obj, cssclassname)
	{
	if (typeof obj=="string")
		obj = document.getElementById(obj);
	if (typeof obj=="undefined")
		return;
	if(obj.className)
		{
		CSSClasses = obj.className.split(" ");
		for (i=0; i<CSSClasses.length; i++)
			if (CSSClasses[i]==cssclassname)
				return true;
		}
	return false;
	}

function AddCSSClass(obj, cssclassname)
	{
	if (typeof obj=="string")
		obj = document.getElementById(obj);
	if (typeof obj=="undefined")
		return;
	if(obj.className && !HaveCSSClass(obj,cssclassname))
			obj.className = obj.className + " " + cssclassname;
	if(!obj.className)
		obj.className = cssclassname;
	}
