Menu={
	sub:null,
	rules:{
		'.sub' : function(element){
			element.onmouseover = function(){
				Menu.resetButton();
				Menu.showSub(Menu[this.id]);
				Menu.ok=true;
			},
			element.onmouseout = function(){
				Menu.resetSubHandler();
			}
		},
		'.subgroup' : function(element){
			element.onmouseover = function(){
				if(Menu.ok)Menu.resetButton();
			},
			element.onmouseout=function(){
				if(Menu.ok)Menu.resetSubHandler();
			}
			
		},
		'#eng' : function(element){
			element.onclick = function(){
				window.location='switchLang.php?lang=eng';
			}
		},
		'#ita' : function(element){
			element.onclick = function(){
				window.location='switchLang.php?lang=ita';
			}
		}
	},

	setSub:function(){
		this.submenu = xGetElementById('submenu');
		Menu.sub=document.createElement('div');
		Menu.sub.className='subgroup';
		if (arguments.length>0){
			Menu.sub=this.createNode(Menu.sub,arguments);
		}
		this.submenu.appendChild(Menu.sub);
		Behaviour.register(this.rules);
		Behaviour.apply();
	},

	showSub:function(){
		this.buttons=xGetElementById('buttons').getElementsByTagName('div');
		this.submenu = xGetElementById('submenu');
		if (typeof(Menu.sub)=='object'){
			Menu.sub=this.submenu.innerHTML;
		}
		this.submenu.innerHTML="";
		this.subgroup = document.createElement('div');
		this.subgroup.className = 'subgroup';
		this.subgroup.id = 'subgroup';
		this.subgroup=this.createNode(this.subgroup,arguments);
		this.submenu.appendChild(this.subgroup);
		xAddEventListener(xGetElementById('subgroup'),'mouseout',Menu.resetSubHandler);
	},
	
	resetSubHandler:function(){
		Behaviour.apply();
		document._timer=setTimeout(Menu.resetSub,2000);
	},
	
	resetSub:function(el){
		Menu.resetButton();
		this.submenu = xGetElementById('submenu');
		if (Menu.sub){
			this.submenu = xGetElementById('submenu');
			this.submenu.innerHTML=Menu.sub;
		}
		xRemoveEventListener(xGetElementById('subgroup'),'mouseout',Menu.resetSubHandler);
	},
	
	resetButton:function(){
		try{clearInterval(document._timer);}catch(e){}
	},
	
	createNode:function(node,settings){
		this.settings=settings[0];
		for (i=0; i<this.settings.length; i++){
			if (typeof(this.settings[i])=='object'){
				if(i>this.settings.length-4){
					if (this.settings.length>3){
						node.innerHTML+='<a href="'+this.settings[i].link+'" title="'+this.settings[i].name+'">'+
						this.settings[i].name+'&nbsp;</a>';
					}else{
						node.innerHTML+='<div title="'+this.settings[i].name+'" class="current">'+this.settings[i].name+'</div>';
					}
				}else{
					node.innerHTML+='<a href="'+this.settings[i].link+'" title="'+this.settings[i].name+'">'+
					this.settings[i].name+'&nbsp;&nbsp;|&nbsp;</a>';
				}
			}else{
				node.style.marginTop=this.settings[i]+"px";
				node.style.marginLeft=this.settings[++i]+"px";
			}
		}
		return node;
	}
};