// Ultima modifica 1 aprile 2008

var ddtabmenu={
	disabletablinks: false, //Disable hyperlinks in 1st level tabs with sub contents (true or false)?
	snap2original: [true, 300], //Should tab revert back to default selected when mouse moves out of menu? ([true/false, delay_millisec]

	currentpageurl: window.location.href.replace("http://"+window.location.hostname, "").replace(/^\//, ""), 

definemenu:function(tabid, dselected, subitemselected){
	this[tabid+"-menuitems"]=null
	this[tabid+"-dselected"]=-1
	this.addEvent(window, function(){ddtabmenu.init(tabid, dselected)}, "load")
	this.currentLink = subitemselected;
	this.idselected = dselected;
},

showsubmenu:function(tabid, targetitem){
	var menuitems=this[tabid+"-menuitems"]
	this.clearrevert2default(tabid)
 
   for (i=0; i<menuitems.length; i++){
			
			if (i != this.idselected) {
			
				menuitems[i].className="";
				
			} else {
			
				menuitems[i].className="tabactive";	

			}

	
			if (typeof menuitems[i].hasSubContent!="undefined")
			document.getElementById(menuitems[i].getAttribute("rel")).style.display="none"
	
	}
	
	// targetitem.className="current";	
		
		
	// Mostra il div menu associato	
	if (typeof targetitem.hasSubContent!="undefined") {
		document.getElementById(targetitem.getAttribute("rel")).style.display="block"
	}

		if (this.currentLink != '')
		{ // Modificato da Webfaster
		
		// Tasto selezionato nel submenu		
		document.getElementById(this.currentLink).style.textDecoration="underline";
		// document.getElementById(this.currentLink).parentNode.className = "subitemselected";

		}

},

isSelected:function(menuurl){
	var menuurl=menuurl.replace("http://"+menuurl.hostname, "").replace(/^\//, "")
	return (ddtabmenu.currentpageurl==menuurl)
},

isContained:function(m, e){
	var e=window.event || e
	var c= e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
	
	while (c && c!=m)try {c=c.parentNode} catch(e){c=m}
	if (c==m)
		 return true
	else
		 return false
},

revert2default:function(outobj, tabid, e){

	if (!ddtabmenu.isContained(outobj, tabid, e)){
		window["hidetimer_"+tabid]=setTimeout(function(){
			ddtabmenu.showsubmenu(tabid, ddtabmenu[tabid+"-dselected"])
		}, ddtabmenu.snap2original[1])
	}

},

clearrevert2default:function(tabid){
 if (typeof window["hidetimer_"+tabid]!="undefined")
		clearTimeout(window["hidetimer_"+tabid])
},

addEvent:function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
	var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
	if (target.addEventListener) {
		
		target.addEventListener(tasktype, functionref, false);
		
	} else if (target.attachEvent) {
		
		target.attachEvent(tasktype, functionref);
		
	
	}
},

init:function(tabid, dselected){
	

	var menuitems=document.getElementById(tabid).getElementsByTagName("a")
		
	this[tabid+"-menuitems"]= menuitems
	
	for (var x=0; x<menuitems.length; x++){

			
			if (menuitems[x].getAttribute("rel")){
			this[tabid+"-menuitems"][x].hasSubContent=true
						
			if (ddtabmenu.disabletablinks)
				menuitems[x].onclick=function(){return false}
			
			if (ddtabmenu.snap2original[0]==true){
				// Riporta il menu alla posizione originale
				var submenu=document.getElementById(menuitems[x].getAttribute("rel"))
				menuitems[x].onmouseout=function(e){ddtabmenu.revert2default(submenu, tabid, e)}
				submenu.onmouseover=function(){ddtabmenu.clearrevert2default(tabid)}
				submenu.onmouseout=function(e){ddtabmenu.revert2default(this, tabid, e)}
			
			}
		}
		
		else //for items without a submenu, add onMouseout effect
		
		menuitems[x].onmouseout=function(e){this.className=""; if (ddtabmenu.snap2original[0]==true) ddtabmenu.revert2default(this, tabid, e)}
		menuitems[x].onmouseover=function(){ ddtabmenu.showsubmenu(tabid, this)	}

		
			if (dselected=="auto" && typeof setalready=="undefined" && this.isSelected(menuitems[x].href)){
				ddtabmenu.showsubmenu(tabid, menuitems[x])
				this[tabid+"-dselected"]=menuitems[x]
				var setalready=true
			}
			else if (parseInt(dselected)==x){
			  ddtabmenu.showsubmenu(tabid, menuitems[x])
			  this[tabid+"-dselected"]=menuitems[x]
			}
				
	}

}

}
