window.onload = collapseInit;

function collapseInit()
{initCollapse();}

function debug(msg)
{
	var message = document.getElementById("debug");
	message.innerHTML = message.innerHTML + msg + "<br \>";
}

function getClassName(obj)
{
	var classAttrib = obj.getAttribute("class");
	if(classAttrib == null) // IE bug
	{
		classAttrib = obj.className;
	}
	return classAttrib
}

function getChildByClass(obj, classAttrib)
{
	if(obj == null)
	{
		debug("parent is null.. returning");
		return null;
	}
	var sibs = obj.getElementsByTagName("*");
	var child = null;
	var cname;
	for(var i = 0; i < sibs.length; i++)
	{
		cname = getClassName(sibs[i]);
		if(cname != null)
		{
			if(cname == classAttrib)
			{
				child = sibs[i];
				break;
			}
		}
	}
	return child;
}

function getCollapseDiv(obj)
{
	var par = obj.parentNode;
	return getChildByClass(par, "collapse-div");
}

function getCollapseImg(obj)
{
	return getChildByClass(obj, "collapse-img");
}

function initCollapse()
{
	var c = document.getElementsByTagName("a");
	var content;
	var img;
	var link;
	for(var i = 0; i < c.length; i++)
	{
		link = c[i];
		classAttrib = getClassName(link);
		if(classAttrib == "collapse-a")
		{
			link.onclick = function() { collapse(this); return false; }
			var content = getCollapseDiv(link);
			var img = getCollapseImg(link);
			if(content != null)
			{
				collapseClosed(content, img);
			}
		}
	}
}

function collapse(link)
{
	var content = getCollapseDiv(link);
	var img = getCollapseImg(link);
	if(content != null)
	{
		if(content.style.display == 'block')
		{
			collapseClosed(content, img);
		}
		else
		{
			collapseOpen(content, img);
		}
	}
}

function collapseOpen(content, image)
{
	image.src = "images/opened_24x24.jpg";
	content.style.display = 'block';
}

function collapseClosed(content, image)
{
	image.src = "images/closed_24x24.jpg";
	content.style.display = 'none';
}