// layout.js
// Programmatic rendering of three-column layout with equal-length columns

if (document.getElementById || document.all)  // minimum dhtml support required
{
	document.write("<style type='text/css'>#footer{visibility:hidden;}</style>");
	window.onload = winOnLoad;
}

function winOnLoad()
{
	var ele = xGetElementById('menu-wrapper');
	if (ele && xDef(ele.style, ele.offsetHeight))  // another compatibility check
	{
		adjustLayout();
		xAddEventListener(window, 'resize', winOnResize, false);
	}
}

function winOnResize()
{
	adjustLayout();
}

function adjustLayout()
{
	// Content layers
	var cContent = 'main-content';
	var lContent = 'menu-content';
	var rContent = 'sidebar';
	
	// Wrapper layers
	var cWrapper = 'center-column';
	var lWrapper = 'menu-wrapper';
	var rWrapper = 'right-column';
	
	// Offsets for unequally-sized columns
	var cOffset = 0;
	var lOffset = 208;
	var rOffset = -112;
	
	// Get content heights
	var cHeight = xHeight(cContent) + cOffset;
	var lHeight = xHeight(lContent) + lOffset;
	var rHeight = xHeight(rContent) + rOffset;

	// Find the maximum height
	var maxHeight = Math.max(cHeight, Math.max(lHeight, rHeight));

	// Assign maximum height to all columns
	xHeight(cWrapper, maxHeight - cOffset);
	xHeight(lWrapper, maxHeight - lOffset);
	xHeight(rWrapper, maxHeight - rOffset);

	// Show the footer
	xShow('footer');
}