/*
 * TODO: decidere se il menu selezionato si apre nello stesso div
 * la variabile twodiv permette di scegliere...
 *
 *
 */
var twodiv=false;

// menu disappear speed onMouseout (in miliseconds)
var disappeardelay=400;
//hide menu when user clicks within menu?
var hidemenu_onclick="no";

var ie4=document.all;
var ns6=document.getElementById&&!document.all;

// ========== instance variables ==================

// the relevant div element
var dropmenuobj;

var activeMenu;
var activeObject;

// =================================================

function MenuData(id, imageUrl, alternateImageUrl, width, left, top) {

  this.id = id;

  this.imageUrl = imageUrl;
  this.imageUrl2 = imageUrl;
  this.alternateImageUrl = alternateImageUrl;

  this.width = width;
  this.left = left;
  this.top = top;

  this.menucontents = new Array();

  return this;
} 

// =================================================

var selectedMenu;
var liv1 = 'menu23'
function openSelectedMenu() {
	
  if (selectedMenu == null) {
    return;
  }

  var obj = getObject(selectedMenu.id);
  
  activeObject = obj;
  activeMenu = selectedMenu;
  activeObject.src = activeMenu.imageUrl;
  
  
  
  
  if (liv1.substr(5,5) !== 1) {
  	liv1prec = (liv1.substr(5,5));
  	//alert(parseInt(liv1prec)-1);
  }
  if (activeObject.id == 'corporate-gruppo') {
	  activeObjectPrec = getObject(menu21.id);
   	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-save-it_on2.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-save-en_on2.gif'; 
	        	}
	}
	if (activeObject.id == 'corporate-investor') {
	  activeObjectPrec = getObject(menu22.id);
	  if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-gruppo-it_on2.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-gruppo-en_on2.gif'; 
	        	}
	}
	if (activeObject.id == 'corporate-pressroom') {
	        	activeObjectPrec = getObject(menu23.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-investor-it_on2.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-investor-en_on2.gif'; 
	        	}
	}
  
  if (twodiv) {
    var menudiv = getObject("selectedmenudiv");
    openMenu(menudiv, obj, selectedMenu);
  } else {
    dropmenuobj = getObject("dropmenudiv");
    openMenu(dropmenuobj, obj, selectedMenu);
  }

}

function isSelectedMenuOpen() {
  return (selectedMenu != null && selectedMenu == activeMenu);
}

// =================================================

function showmenu(obj, e, menu) {
	
	
	if (activeObject != null) {
	
		if (selectedMenu != null) {
        
		    if (activeObject.id == selectedMenu.id) {
          activeObject.src = selectedMenu.imageUrl2;
          if (activeObject.id == 'corporate-gruppo') {
	        	activeObjectPrec = getObject(menu21.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-save-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-save-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-investor') {
	        	activeObjectPrec = getObject(menu22.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-gruppo-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-gruppo-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-pressroom') {
	        	activeObjectPrec = getObject(menu23.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-investor-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-investor-en.gif'; 
	        	}
	  	    }
          
        } else {	
        	activeObject.src = activeMenu.imageUrl;
	        if (activeObject.id == 'corporate-gruppo') {
	        	activeObjectPrec = getObject(menu21.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-save-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-save-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-investor') {
	        	activeObjectPrec = getObject(menu22.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-gruppo-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-gruppo-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-pressroom') {
	        	activeObjectPrec = getObject(menu23.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-investor-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-investor-en.gif'; 
	        	}
	  	    }
        }
    } else {
        activeObject.src = activeMenu.imageUrl;
        if (activeObject.id == 'corporate-gruppo') {
	        	activeObjectPrec = getObject(menu21.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-save-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-save-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-investor') {
	        	activeObjectPrec = getObject(menu22.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-gruppo-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-gruppo-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-pressroom') {
	        	activeObjectPrec = getObject(menu23.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-investor-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-investor-en.gif'; 
	        	}
	  	    }
    }
  }




  if (window.event) {
    event.cancelBubble=true;
  } else if (e.stopPropagation) {
    e.stopPropagation();
  }
  
  activeObject = getObject(menu.id);
  activeMenu = menu;
  if (activeObject != null) {
    activeObject.src = menu.alternateImageUrl;
    if (activeObject.id == 'corporate-gruppo') {
	        	activeObjectPrec = getObject(menu21.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-save-it_on2.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-save-en_on2.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-investor') {
	        	activeObjectPrec = getObject(menu22.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-gruppo-it_on2.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-gruppo-en_on2.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-pressroom') {
	        	activeObjectPrec = getObject(menu23.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-investor-it_on2.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-investor-en_on2.gif'; 
	        	}
	  	    }
  }

  dropmenuobj = getObject("dropmenudiv");
	openMenu(dropmenuobj, obj, menu);

  return false;

}

function hidemenu(e) {
  activeObject.src = activeMenu.imageUrl;
  
  if (selectedMenu != null) {
    if (activeObject.id !== selectedMenu.id) {
          if (activeObject.id == 'corporate-gruppo') {
	        	activeObjectPrec = getObject(menu21.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-save-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-save-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-investor') {
	        	activeObjectPrec = getObject(menu22.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-gruppo-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-gruppo-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-pressroom') {
	        	activeObjectPrec = getObject(menu23.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-investor-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-investor-en.gif'; 
	        	}
	  	    }
    }
  } else {
          if (activeObject.id == 'corporate-gruppo') {
	        	activeObjectPrec = getObject(menu21.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-save-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-save-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-investor') {
	        	activeObjectPrec = getObject(menu22.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-gruppo-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-gruppo-en.gif'; 
	        	}
	  	    }
	  	    if (activeObject.id == 'corporate-pressroom') {
	        	activeObjectPrec = getObject(menu23.id);
	        	if (language == 'it') {  		
	        	  activeObjectPrec.src = '/img/menu/corporate-investor-it.gif';
	        	} else {
	        		activeObjectPrec.src = '/img/menu/corporate-investor-en.gif'; 
	        	}
	  	    }

 }
  if (twodiv) {

    if (dropmenuobj != null) {
      dropmenuobj.style.visibility="hidden";
    }

  } else {

    if (selectedMenu != null) {
      if (!isSelectedMenuOpen()) {
        openSelectedMenu();
      }
    } else {
      dropmenuobj = getObject("dropmenudiv");
      dropmenuobj.style.visibility="hidden";
    }
    
  }

}

function openMenu(divobject, opener, menu) {

  clearhidemenu();
  divobject.innerHTML=menu.menucontents.join("");

  if (ie4||ns6) {
    divobject.style.visibility = "visible";          
    divobject.x = getposOffset(opener, "left");
    divobject.y = getposOffset(opener, "top");
    divobject.style.left = (divobject.x - clearbrowseredge(opener, "rightedge") + menu.left) + "px";
    divobject.style.top = (divobject.y - clearbrowseredge(opener, "bottomedge") + menu.top) + opener.offsetHeight + "px";
  }
}

/*
 * MS - aggiunta per gestire correttamente gli offset
 */
function getVerticalOffset(index) {
  if (ie4) {
    return (index == 0 ? -24 : -24*index);
  } else {
    return -24*(index+1);
  }
}

function getposOffset(what, offsettype) {
  var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
  var parentEl=what.offsetParent;
  while (parentEl!=null) {
    totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
    parentEl=parentEl.offsetParent;
  }
  return totaloffset;
}

function showhide(obj, e, visible, hidden, menuwidth) {
  if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover") {
    obj.visibility=visible;
  } else if (e.type=="click") {
    obj.visibility=hidden;
  }
}

function iecompattest() {
  return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(divobject, opener, whichedge) {
  var edgeoffset=0;
  if (whichedge=="rightedge"){
    var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
    divobject.contentmeasure=divobject.offsetWidth;
    if (windowedge-divobject.x < divobject.contentmeasure) {
      edgeoffset=divobject.contentmeasure-opener.offsetWidth;
    }
  } else {
    var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
    divobject.contentmeasure=divobject.offsetHeight;
    if (windowedge-divobject.y < divobject.contentmeasure) {
      edgeoffset=divobject.contentmeasure+opener.offsetHeight;
    }
  }
  return edgeoffset;
}

/*
function populatemenu(what) {
  if (ie4||ns6) {
    dropmenuobj.innerHTML=what.join("");
  }
}

function clickreturnvalue() {
  if (ie4||ns6) {
    return false;
  } else {
    return true;
  }
}

*/

function contains_ns6(a, b) {
  while (b.parentNode) {
    if ((b = b.parentNode) == a) {
      return true;
    }
  }
  return false;
}

function dynamichide(e) {
  if (ie4&&!dropmenuobj.contains(e.toElement)) {
    delayhidemenu();
  } else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) {
    delayhidemenu();
  }
}

function delayhidemenu() {
  if (ie4||ns6) {
    delayhide=setTimeout("hidemenu()",disappeardelay);
  }
}

function clearhidemenu() {
  if (typeof delayhide!="undefined") {
    clearTimeout(delayhide);
  }
}

// =========================================================

function getObject(id) {
  return MM_findObj(id);
}


