писать динамическое меню с нуля ИМХО гиблое дело... есть куча уже протестеных и нормально совместимых и поэтому если заказчика никак не уговорить, чтобы такое меню не юзать вообще, то я обычно использую Sothing DHTMLMenu... можно создать практически любое меню с самыми разными настройками и цетровка и выравнивание там тоже есть