$(document).ready(function()
{
	setupNavColumns("", ["widget_archive","widget_categories"]);
});

function setupNavColumns(stubSelector, listClasses, targetRows) 
{
	var message = "";
	var leftOffset = 0;
	var columnWidth = 139;
	var totalWidth = 0;
	
	for (var i=0; i<listClasses.length; i++) 
	{
		var listClass = listClasses[i];
		var listSelector = stubSelector + " ." + listClass;
		
		$(listSelector).css("left", leftOffset);
		// var levelSelector = listSelector + " li:not(." + listClass + " ul li)";
		var levelSelector = listSelector + " ul li";
		var $level = $(levelSelector);
		var numItems = $level.length;
		if (targetRows == undefined){
			numRows = Math.ceil(numItems / 2);
		}
		var numColumns = Math.ceil(numItems / numRows);
		var levelWidth = numColumns * columnWidth;
		$(listSelector).width(levelWidth);
		
		message += listClass + ": " + numItems + " items, " + numRows + " rows, " + numColumns + " columns, " + levelWidth + " px\n";
		leftOffset = levelWidth;
		totalWidth += levelWidth;
		
		for (var j=0; j<numColumns; j++)
		{
			var start = j * numRows;
			var end;
			if (j == numColumns - 1)
			{
				end = numItems;
			}
			else 
			{
				end = start + numRows;
			}
			$level.slice(start, end).wrapAll("<div class=\"column_" + j + "\"></div>");
			message += "column " + j + ", start: " + start + ", end: " + end + ", length: " + $level.slice(start, end).length + "\n";
		}
	
		$(listSelector).append("<div class='floatClear'></div>");
		// $(listSelector).show();
		message += "\n";
	}
	message += "totalWidth: " + totalWidth + "px";
	// alert(message);
	return totalWidth;
}
