Totally override a menu I'm trying to get a menu with my custom classes.

I would like to be able to

&lt;ul class="my-menu"&gt;// class of the whole ul
&lt;li class="with-sub"&gt;// add class "with-sub" if has children
&lt;a href="#"&gt;submenu&lt;/a&gt;
&lt;ul class="sub-menu"&gt; // add class sub-menu to sub menu ul
&lt;li class="title-of-the-parent"&gt;// add the title of the parent as first item of the list
&lt;a href="#"&gt;TITLE OF THE PARENT&lt;/a&gt;
&lt;/li&gt;
&lt;li class="my-submenu-item"&gt;// add a class to all sub-menu items
&lt;a href="#"&gt; Submenu item&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


For the first level it's fine. I can use menu_tree and menu_link to get what I want.

I would like to know how to use $sub_menu = drupal_render($element['#below']) and customize the sub menu list.

I don't want to use any module, I want to do all through the template.php.

Thanks in advance
Take a look at theme_menu_tree() and theme_menu_link(). It should be all you need. 

Sorry for the lack of examples, but theme_menu_tree is rather self-explanatory, and the page for theme_menu_link provides several examples.