// FAREWELL INDUSTRIES

// Const
var ITEM_HEIGHT			= 1;
var KLAPUIT_INTERVAL	= 40;
var CLASS_SECTION_AAN	= 'harrie_aan';
var CLASS_SECTION_UIT	= 'harrie_uit';
var CLASS_SECTION_OVER	= 'harrie_over';

// Var
var containerObject = null;
var klapUitObject = null;
var tempKlapUit = null;
var tempContainer = null;
var klappingIn = false;
var klappingUit = false;
var klappedUit = false;
var newHeight = 0;
var overObject = null;

function itemOver(aObjectId)
{
	aObject = document.getElementById(aObjectId);
	if ((containerObject!=aObject) && (aObject.className==CLASS_SECTION_UIT))
	{
		overObject=aObject;
		aObject.className=CLASS_SECTION_OVER;
	}
}

function itemOut()
{
	if ((overObject!=null) && (overObject.className==CLASS_SECTION_OVER)) overObject.className=CLASS_SECTION_UIT; 
}

function klapUit(aContainerId, aObjectId)
{
	aContainer = document.getElementById(aContainerId);
	aObject = document.getElementById(aObjectId);
	if (aObject==null) return;
	if ((klappingIn==true) || (klappingUit==true)) return;
	if ((klappedUit) && (klapUitObject!=null)) {
		tempKlapUit = aObjectId;
		tempContainer = aContainerId;
		klapIn();
	} else {
		if (klapUitObject != aObject)
		{
			klapUitObject = aObject;
			containerObject = aContainer;
			containerObject.className=CLASS_SECTION_AAN;
			klapUitObject.style.display = "block";
			klappingUit = true;
			doKlapuit();
		} else {
			klapUitObject = null;
			containerObject = null;
			klappedUit = false;
			klappingUit = false;
			klappingIn = false;
		}
	}
}

function doKlapuit()
{
	if (klapUitObject==null) return;
	if (klapUitObject.offsetHeight<klapUitObject.scrollHeight) 
	{
		var delta = Math.min(klapUitObject.scrollHeight, klapUitObject.offsetHeight + klapUitObject.scrollHeight / 6.0);
		klapUitObject.style.height = delta;
		setTimeout("doKlapuit()", KLAPUIT_INTERVAL);
	} else {
		klappedUit = true;
		klappingUit = false;
		klappingIn = false;
	}
}

function klapIn()
{
	if (klappingIn) return;
	klappingIn = true;
	klappedUit = false;
	klappingUit = false;
	doKlapin();
}

function doKlapin()
{
	if (klapUitObject==null) return;
	var delta = Math.max(ITEM_HEIGHT, klapUitObject.offsetHeight - klapUitObject.scrollHeight / 6.0);
	if ((klapUitObject.offsetHeight>ITEM_HEIGHT) && (newHeight!=delta))
	{
		newHeight = delta;
		klapUitObject.style.height = delta;
		setTimeout("doKlapin()", KLAPUIT_INTERVAL);
	} else {
		containerObject.className=CLASS_SECTION_UIT;
		klapUitObject.style.display = "none";
		klappingIn = false;	
		klappedUit = false;
		klappingUit = false;
		klapUit(tempContainer, tempKlapUit);
	}

}

