Ciao a tutti sto impazzendo per un problema che no riesco a capire (quindi a risolvere)

ho questa funzione javascript
codice:
//rendo visibile il sottomenu selezionato e lo faccio scorrere a destra
 function menu_sub_in(val){
	alert(val);
	 visibilita=document.getElementById(val).style.visibility;
	 if (visibilita!='visible')	 document.getElementById(val).style.visibility='visible';
	 sx=parseInt(document.getElementById(val).style.left);
	 if (sx<180){
		document.getElementById(val).style.left=(sx+20)+'px';
		x=setTimeout('menu_sub_in('+val+')',50); 
	 }else{
		 document.getElementById(val).style.left=180+'px'; 
	 }
 }
e nel punto evidenziato dovrebbe richiamarsi passandosi il valore contenuto in val

ok quando si va a richiamare perde il valore val.. qua il problema (se volete provare selezionate solo la prima voce del menù..le altre restituiscono errore perchè non implementate)

non riesco a capire