// Initialize
window.onload = function ()
{
	
	
	// Preload "Less" button
	var lessButton = new Image;
	lessButton.src = "images/less.gif";
	
	// Array of hidden blocks and effects
	hiddenBlocks = new Array();
	blockEffect = new Array();
	
	// Setup "More" buttons
	GetMoreLinks();
	
	// Setup effects
	for (var i = 0; i < hiddenBlocks.length; i++)
	{
		blockEffect[i] = new Fx.Height(hiddenBlocks[i] + '_block');
		SetupToggle(i);
	}
}

// A dummy function to fix the problem of the "i" not getting properly passed
function SetupToggle (i)
{
	$(hiddenBlocks[i]).addEvent('click', function() { blockEffect[i].toggle();ToggleImage(this);});
}

// Toggles the "More/Less" image
function ToggleImage (img)
{
	var currentImage = img.src.split("/");
	if (currentImage[currentImage.length - 1] == "more.gif")
	{
		img.src = "images/less.gif";
		img.alt = "Less";
	} else {
		img.src = "images/more.gif";
		img.alt = "More";
	}
}

// Setup "More" buttons
function GetMoreLinks ()
{
	var currentId;
	var allHidden = document.getElementsByClassName("hidden");
	for (var i = 0; i < allHidden.length; i++)
	{
		currentId = allHidden[i].id.split("_")[0];
		hiddenBlocks[hiddenBlocks.length] = currentId;
		CreateMoreLink(currentId);
	}
}

// Create and insert the actual "More" button
function CreateMoreLink(id)
{
	var p = document.createElement("p");
	var img = document.createElement("img");
	img.src = "images/more.gif";
	img.alt = "More";
	img.width = "78";
	img.height = "27";
	img.id = id;
	img.className = "morelink";
	p.appendChild(img);
	var realId = document.getElementById(id + '_block');
	InsertAfter(realId.parentNode, p, realId);
}

// Utility function
function InsertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}

