Event.observe(window,'load',start);

function start(){
	var myMenu = document.getElementsByClassName('liv1');
	var mySubMenu = document.getElementsByClassName('submenu');
	
	var myCols;
	var mySubCols;
	var myColWide;
	var addWide = 0;
	var myLenCols = 0;
	var myLabelPos = document.getElementsByClassName('Area');
	var menuPos = $('menu').cumulativeOffset()[0];
	var myWidth;
	var isMenuAss = false;
	if (myMenu){
		for (var k=0; k<myMenu.length; k++){
			myCols = myMenu[k].down('ul.submenu');

			if (myCols){
				while (myCols){
					var myList = $(myCols).getElementsByClassName('mySubM');

					if (myList.length == 0){
						myList = $(myCols).getElementsByClassName('mySubMAss');
						isMenuAss = true;
					}else{
						isMenuAss = false;
					}
					
					var checkShort = null;
					var shortM = 0;
					myLenCols = 0;
					if (!	isMenuAss){
						for (var j=0; j<myList.length;j++){
							myLenCols += ($(myList[j]).getWidth());
							checkShort =  $(myList[j]).down('li');
							if (checkShort){
								shortM += 1;
							}
						}
					}else{
						if (myList.length > 0){
							myLenCols += ($(myList[0]).getWidth() + 50);
						}
					}
				
					if (shortM == 0){
						myLenCols = 200;
					}

					myWidth = Math.min(((myLenCols+60)),960);
					$(myCols).style.width = myWidth +  'px';
					$(myCols).style.top = ($(myLabelPos[k]).cumulativeOffset()[1]-222) +  'px';
					if (parseInt((myLenCols + 60)) <= parseInt($(myLabelPos[k]).cumulativeOffset()[0])){
						$(myCols).style.left = (($(myLabelPos[k]).cumulativeOffset()[0] - menuPos)-(myLenCols / 2))+ 'px';
					}					
					
					myCols = myCols.next();
				}
			}
		}
	}
	
	

	if (myMenu){
		for (var k=0; k<myMenu.length; k++){
			Event.observe(myMenu[k], 'mouseover' , sezione.enter.bindAsEventListener(sezione,myMenu[k]));
			Event.observe(myMenu[k], 'mouseout' , sezione.exit.bindAsEventListener(sezione,myMenu[k]));
		}
	}
	
	if (mySubMenu){
		for (var k=0; k<mySubMenu.length; k++){
			mySubMenu[k].hide();
		}
	}
	
}


var sezione = {
	enter: function(event,myMenu){
		if (!myMenu.hasClassName('liv1')) 
		{
			return;
		}
		
		
		var vociLiv1 = document.getElementsByClassName('liv1');
		for(var i=0; i<vociLiv1.length; i++){
			Element.removeClassName(vociLiv1[i],'menu-ON');
			Element.removeClassName(vociLiv1[i],'menu-OFF');
			Element.addClassName(vociLiv1[i],'menu-OFF');	
		}	
				
		//spengo sottomenu, cambio stile
		Element.removeClassName(myMenu,'menu-OFF');
		Element.addClassName(myMenu,'menu-ON');	

		
		//var myPanel = myMenu.down('ul.submenu');
		var myPanel = myMenu.down().next();
		if (myPanel) 
			{
				$(myPanel).show();
			}
		
	}, //enter
	exit: function(event,myMenu){
			var containerDiv = $(Event.findElement(event,'li.liv1'))
			
			var destDiv =  $( (event.relatedTarget) ? event.relatedTarget : event.toElement );
			if(Element.childOf(destDiv,containerDiv)) return;

			if (!myMenu.hasClassName('liv1')){
					return;
			}
			
			//spengo sottomenu, cambio stile
			Element.removeClassName(myMenu,'menu-ON');
			Element.addClassName(myMenu,'menu-OFF');	

			//var myPanel = myMenu.down('ul');
			var myPanel = myMenu.down().next();
			if (myPanel) 
				{
					$(myPanel).hide();
				}

			}//exit
} //menuVoice






var tabMenu1 = {
	enter: function(event, voiceBaseStyle, onOff){
		var containerDiv = Event.findElement(event, 'div');

		//trovo il menu scatenante
		var myMenu = containerDiv
		while (!$(myMenu).hasClassName(voiceBaseStyle+'-'+onOff) && myMenu.nodeName != 'HTML') 
				myMenu = myMenu.up();	
		if(containerDiv == myMenu) {
			Element.removeClassName(myMenu,voiceBaseStyle+'-'+onOff);
			Element.addClassName(myMenu,voiceBaseStyle+'-OVER');
			//se esiste un submenu lo mostra
			sm = $(containerDiv).getElementsByClassName('submenu');
			if (sm.length > 0) sm[0].show();			
		}
	}, //enter
	exit: function(event, voiceBaseStyle, onOff){
		var myMenu = Event.findElement(event, 'div');
		//trovo il menu scatenante
		while (!$(myMenu).hasClassName(voiceBaseStyle+'-OVER') && myMenu.nodeName != 'HTML') 
				myMenu = myMenu.up();	
    	//trovo il menu di destinazione
		var destDiv =  $( (event.relatedTarget) ? event.relatedTarget : event.toElement ); //browser dipendent !!!
   		if(destDiv == null)return; //nessun oggetto
		
		while (destDiv!=myMenu && destDiv.nodeName != 'HTML') {
			destDiv = destDiv.up();
		}
		if(destDiv == myMenu)return; //sempre interno, non fare niente
		
		//spengo sottomenu, cambio stile
		Element.removeClassName(myMenu,voiceBaseStyle+'-OVER');
		Element.addClassName(myMenu,voiceBaseStyle+'-'+onOff);		
		//se esiste un submenu lo nasconde
		sm = $(myMenu).getElementsByClassName('submenu');
		if (sm.length > 0) sm[0].hide();		
	}//exit
} //menuVoice

