ho trovato questo breve script, che al click del padre apre i figli, però vorrei che al click su uno dei figli mi restasse tutto il submenu aperto senza dover ricliccare sul padre..

Questa è l'index.php che contiene il menu, la pagina controlli.php, dove a seconda del link cliccato sceglie la pagina da caricare...sempre all'interno di index.php e poi c'è lo script che gestisce l'apertura e/o chiusura dei menu e submenu!
codice:
<div id="container">
	<div id="menu">
		<ul>
			[*]website design
				<div class="accordion">
					home
					Chi siamo
					dove siamo
					AJAX programming
				</div>[/list]
	</div>
	<div>
		<?php include('controlli.php');?>
	</div>
</div>

esempio.js, contenente la gestione di apertura e/o chiusura dei link
codice:
window.onload=function(){
$$('#menu a').each(function(el) { 
		el.addEvent('mouseenter',function(){
		p = el.innerHTML.toUpperCase();
		el.innerHTML = p;
		el.setStyle('background','url(bg1.jpg)');
		myEffect = el.effect('margin-left', {duration: 100,transition: Fx.Transitions.linear, wait: true}).start('10','30');
		})
		
		el.addEvent('mouseleave',function(){
		p = el.innerHTML.toLowerCase();
		el.innerHTML = p;
		el.setStyle('background','url(bg.jpg)');
		myEffect = el.effect('margin-left', {duration: 800,transition: Fx.Transitions.Bounce.easeOut, wait: true}).start('30','0');
		})
	
	})
	
	myStretch = document.getElementsByClassName('toggler');
	myStretcher = document.getElementsByClassName('accordion');
	
	// setup the accordion elements by clearing display styles	
	myStretcher.each(function(el){
		el.style.display = '';
	});
	
	
var ac = new Fx.Accordion(myStretch,myStretcher,
 
  {
		onActive: function(tog){
         tog.setStyle('color', '#ACDA4E');
		tog.setStyle('background-color', '#1d1d1d');
		tog.setStyle('cursor', 'help');
		
    },
    onBackground: function(tog){
       
		tog.setStyle('color', '#FFF');
		tog.setStyle('background-color', '#2d2d2d');
		tog.setStyle('cursor', 'help');
		
    },
		alwaysHide: true,
		start : 'all-closed',
	
		height: true,
		opacity : true			
	});
}

st = document.getElementsByClassName('toggler2');
	stc = document.getElementsByClassName('accordion2');
	
	// setup the accordion elements by clearing display styles	
	stc.each(function(el){
		el.style.display = '';
	});
	
var acc = new Fx.Accordion(st,stc,
 
  {
		onActive: function(tog){
         tog.setStyle('color', '#ACDA4E');
		tog.setStyle('background-color', '#1d1d1d');
		tog.setStyle('cursor', 'help');
		
    },
    onBackground: function(tog){
       
		tog.setStyle('color', '#FFF');
		tog.setStyle('background-color', '#2d2d2d');
		tog.setStyle('cursor', 'help');
		
    },
		alwaysHide: true,
		start : 'all-closed',
		opacity : true			
	});
spero possa essere utile per capire come, gestire quello che chiedo sopra
grazie mille....