/*******************************************************************************
 * (C) www.dhtmlgoodies.com, November 2005
 * 
 * This is a script from www.dhtmlgoodies.com. You will find this and a lot of
 * other scripts at our website.
 * 
 * Terms of use: You are free to use this script as long as the copyright
 * message is kept intact. However, you may not redistribute, sell or repost it
 * without our permission.
 * 
 * Thank you!
 * 
 * www.dhtmlgoodies.com Alf Magne Kalleland
 * 
 ******************************************************************************/

var slideDefinition_slideSpeed = 40; // Higher value = faster
var slideDefinition_timer = 10; // Lower value = faster

var objectIdToSlideDown = false;
var slideDefinition_activeId = false;
var slideDefinition_slideInProgress = false;
function showHideContent(e, inputId)
{
	if (slideDefinition_slideInProgress) return;
	slideDefinition_slideInProgress = true;
	if (!inputId) inputId = this.id;
	inputId = inputId + '';
	var numericId = inputId.replace(/[^0-9]/g, '');
	var definitionDiv = document.getElementById('slideDefinition_a' + numericId);

	objectIdToSlideDown = false;

	if (!definitionDiv.style.display || definitionDiv.style.display == 'none')
	{
		if (slideDefinition_activeId && slideDefinition_activeId != numericId)
		{
			objectIdToSlideDown = numericId;
			slideDefinition(slideDefinition_activeId, (slideDefinition_slideSpeed * -1));
		}
		else
		{

			definitionDiv.style.display = 'block';
			definitionDiv.style.visibility = 'visible';

			slideDefinition(numericId, slideDefinition_slideSpeed);
		}
	}
	else
	{
		slideDefinition(numericId, (slideDefinition_slideSpeed * -1));
		slideDefinition_activeId = false;
	}
}

function slideDefinition(inputId, direction)
{

	var obj = document.getElementById('slideDefinition_a' + inputId);
	var contentObj = document.getElementById('slideDefinition_ac' + 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('slideDefinition(' + inputId + ',' + direction + ')', slideDefinition_timer);
	}
	else
	{
		if (height <= 1)
		{
			obj.style.display = 'none';
			if (objectIdToSlideDown && objectIdToSlideDown != inputId)
			{
				document.getElementById('slideDefinition_a' + objectIdToSlideDown).style.display = 'block';
				document.getElementById('slideDefinition_a' + objectIdToSlideDown).style.visibility = 'visible';
				slideDefinition(objectIdToSlideDown, slideDefinition_slideSpeed);
			}
			else
			{
				slideDefinition_slideInProgress = false;
			}
		}
		else
		{
			slideDefinition_activeId = inputId;
			slideDefinition_slideInProgress = false;
		}
	}
}

function initShowHideDivs()
{
	var divs = document.getElementsByTagName('DIV');
	var divCounter = 1;
	for ( var no = 0; no < divs.length; no++)
	{
		if (divs[no].className == 'slideDefinition_term')
		{
			divs[no].onclick = showHideContent;
			divs[no].id = 'slideDefinition_q' + divCounter;
			var definition = divs[no].nextSibling;
			while (definition && definition.tagName != 'DIV')
			{
				definition = definition.nextSibling;
			}
			definition.id = 'slideDefinition_a' + divCounter;
			contentDiv = definition.getElementsByTagName('DIV')[0];
			contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px';
			contentDiv.className = 'slideDefinition_definition_content';
			contentDiv.id = 'slideDefinition_ac' + divCounter;
			definition.style.display = 'none';
			definition.style.height = '1px';
			divCounter++;
		}
	}
}
