

		var numeroMenu;
		var velocita;
		var larghezzaMenu;
		var spazioTraMenu;
		
		stato = new Array();
		altezza = new Array();
		indice = new Array();
		
		var velocitaChiudi;
		inizioC=0;
		inizioM=0;
		inizioChiudiC=0;
		inizioChiudiM=0;
		menuDefault=-1;
		operazioneInCorso=false;
		var oggettoDivC;
		var oggettoDivM;
		var oggettoDivChiudiC;
		var oggettoDivChiudiM;
		var trovatoChiudi;
		var unMenuSempreAperto;
		var verticale;
		var ie4;
		
		
		function ap(obj, parametro, valore, style)
		{
			sty=(style)?".style":"";
			tmp="document.getElementById('"+obj+"')"+sty+"."+parametro+"='"+valore+"'";
			eval(tmp);
		}

		function creaObj(obj)
		{
			return eval("document.getElementById('"+obj+"').style");
		}
		
		
		
		function init()
		{
			ie4=(document.all)?true:false;
			for (i=0;i<numeroMenu;i++)
			{
				
				ap('m'+indice[i],'height',1, true);
				ap('c'+indice[i],'height',1, true);
				ap('c'+indice[i],'display','none', true);
				ap('m'+indice[i],'display','none', true);
				ap('t'+indice[i],'className','Titolo',false);
				
				if (menuDefault==-1)
				{
					stato[indice[i]]=0;
				}
				
				if (i==numeroMenu-1 || !verticale)
				{
					ap('c'+indice[i],"borderBottomWidth",1,true);
					ap('c'+indice[i],"borderBottomStyle","solid",true);
				}
				if (larghezzaMenu!=-1){
					ap('top',"width",larghezzaMenu,true);
					ap('bottom',"width",larghezzaMenu,true);
					ap('t'+indice[i],"width",larghezzaMenu,true);
					ap('c'+indice[i],"width",larghezzaMenu,true);
							
				}
				if (spazioTraMenu>0)
				{
					ap('s'+indice[i],"height",spazioTraMenu,true);
					if (larghezzaMenu!=-1)
					{
						ap('s'+indice[i],"width",larghezzaMenu,true);
					}
				}
				if (stato[indice[i]]==2)
				{
					ap('c'+indice[i],"height",altezza[i],true);
				}
			}
			
			if (menuDefault!=-1)
			{
				apriChiudi(menuDefault);
			}
			if (menuDefault==-1 && unMenuSempreAperto)
			{
				apriChiudi(indice[0]);
			}
		}
		
		
		function apriChiudi(ind)
		{	
			if (operazioneInCorso)
			{
				return;
			}
			trovatoChiudi=-1;
			for (i=0;i<numeroMenu;i++)
			{ 
				if (stato[indice[i]]==1)
				{
					ap('t'+indice[i],"className","Titolo",false);
					oggettoDivChiudiC=creaObj('c'+indice[i]);
					oggettoDivChiudiM=creaObj('m'+indice[i]);
				
					inizioChiudiC=altezza[indice[i]];
					inizioChiudiM=0;
					stato[indice[i]]=0;
					trovatoChiudi=indice[i];
					continue;
				}
			}
			
			if (trovatoChiudi!=ind)
			{
				if (stato[ind]==0)
				{
					
					inizioC=1;fine=altezza[ind];
					inizioM=-altezza[ind];
					stato[ind]=1;
					ap('t'+ind,"className","TitoloOpen",false);
					oggettoDivC=creaObj('c'+ind);
					oggettoDivM=creaObj('m'+ind);
					velocitaChiudi=velocita*inizioChiudiC/fine
					if (!operazioneInCorso)
					{
						operazioneInCorso=true;
						oggettoDivC.display='inline';
						oggettoDivM.display='inline';
						apri();
					}
				}
			}
			else
			{
				if (!unMenuSempreAperto)
				{
					if (!operazioneInCorso)
					{
						operazioneInCorso=true;
						chiudi();
					}
				}else{
					stato[trovatoChiudi]=1;
					ap('t'+ind,"className","TitoloOpen",false);
				}
			}
					
		}
		
		function apri()
		{
			flag=0;
			
			if (inizioC<=fine)
			{
				oggettoDivC.height=inizioC;
				oggettoDivM.height=inizioC;
				inizioC+=velocita;
				inizioM+=velocita;
				flag=1;
			} else {
				oggettoDivC.height=fine;
				oggettoDivM.height=fine;
			}

			if (trovatoChiudi>=0)
			{
				if (inizioChiudiC>=1)
				{
					oggettoDivChiudiC.height=inizioChiudiC;
					oggettoDivChiudiM.height=inizioChiudiC;
					inizioChiudiC-=velocitaChiudi;
					inizioChiudiM-=velocitaChiudi;
					flag=1;
				} 
				else 
				{
					oggettoDivChiudiC.height=1;
					oggettoDivChiudiM.height=1;
					oggettoDivChiudiC.display='none';
					oggettoDivChiudiM.display='none';
				}
			}

			if (flag==1){
				setTimeout("apri()",1);
			} else {
				operazioneInCorso=false;
			}

		}
		
				
		function chiudi()
		{
			if (inizioChiudiC>=1)
			{
				oggettoDivChiudiC.height=inizioChiudiC;
				oggettoDivChiudiM.height=inizioChiudiC;
				inizioChiudiC-=velocita;
				setTimeout("chiudi()",1);
			} else{
				oggettoDivChiudiC.height=1;
				oggettoDivChiudiM.height=1;
				oggettoDivChiudiC.display='none';
				oggettoDivChiudiM.display='none';
				operazioneInCorso=false;
				
			}
			
		}
		
		
