var CodeViewer = {
	init: function()
	{
		var oInputs = document.getElementsByTagName("input");
		for (var i = 0, ii = oInputs.length; i < ii; i++)
		{
			$(oInputs[i]).bind("click",CodeViewer.toggle);
		}
	},
	
	toggle: function()
	{
		this.value = (this.value != "Expand" ? "Expand" : "Collapse");
		
		var oContainer = this.parentNode;
		var oCodeBlock, iInitHeight, iFinalHeight;
		for (var i = 0, ii = oContainer.childNodes.length; i < ii; i++)
		{
			oCodeBlock = oContainer.childNodes[i];
			if (oCodeBlock.nodeType == 1 && oCodeBlock.className == "code_block")
			{
				iInitHeight = oCodeBlock.clientHeight;
				for (var j = 0, jj = oCodeBlock.childNodes.length; j < jj; j++)
				{
					if (oCodeBlock.childNodes[j].nodeType == 1)
					{
						iFinalHeight = oCodeBlock.childNodes[j].clientHeight;
					}
				}
				if (iInitHeight > 300)
				$(oCodeBlock).animate({height: '300'});
				else
				$(oCodeBlock).animate({height: iFinalHeight});
			}
		}
	}
};
