var FlexibleMenu = {
	'addWhitespaces': function (menuID, groupSize, repeat)
	{
		var menu, menuItem, iterator = 0, whitespace, newMenuItem;

		menu = document.getElementById(menuID);
		if (!menu)
			return;

		// Find the UL
		while (menu && menu.nodeName != 'UL')
		{
			menu = menu.firstChild;
			if (menu.nodeName == "#text")
				menu = menu.nextSibling;
		}
		
		if (!menu)
			return;

		// Find the first LI
		menuItem = menu.firstChild;
		if (menuItem.nodeName == "#text")
			menuItem = menuItem.nextSibling;

		// Prepare whitespace
		whitespace = document.createElement("LI");
		whitespace.className = 'whitespace';

		// Insert whitespaces
		do
		{
			// Skip textnodes
			if (menuItem.nodeName == "#text")
				continue;

			// Insert whitespace if needed
			if (iterator > 0 && iterator % groupSize == 0)
			{
				newMenuItem = whitespace.cloneNode(true);
				menu.insertBefore(newMenuItem, menuItem);
				
				// Break completely when only adding one whitespace
				if (!repeat)
					break;
			}

			iterator++;
		}
		while(menuItem = menuItem.nextSibling);
	}
};
