var oldId = new Array(-1,-1); // menu & pathmenu
var timer = new Array(-1,-1); // menu & pathmenu

var DOM2=(document.getElementById) ? 1:0;
var IE4 =(document.all) ? 1:0;
var NS4 =(document.layers) ? 1:0;

var popupVOffset;
//menu_vOffset could be defined before, otherwise default is 10 pixel
try {popupVOffset=menu_vOffset;} catch (e) {popupVOffset=10;};
//menu_hOffset allows to correct horizontal popup startpoint. -1 means no correction.@FV2005.10.11
var popupHOffset;
try {popupHOffset=menu_hOffset;} catch (e) {popupHOffset=-1;};
//menu_showSelected enforces display of context relative popupmenu
var menuShowSelected;
try {menuShowSelected=menu_showSelected;} catch (e) {menuShowSelected=false;};

if (NS4 && DOM2) NS4=0;

/* resize iframe in div item_menu to div submenu size
   iframe was add to popup select box in IE */
function prepareIFrame(currFrame,myId) {
	try{
		currFrame.style.height=window.document.getElementById("dh"+myId).scrollHeight;
		currFrame.style.width=window.document.getElementById("dh"+myId).scrollWidth;
	} catch (error) {
		//prevents javascript error with menu old version in some applications
	}	
}

function see( myId ) {
	_see(myId, "subMenu", "menu", popupVOffset, popupHOffset, menu_length, 1000, 0);
	if (myId>=0) prepareIFrame (window.document.getElementById("fh"+myId),myId);
}

function seePathSubMenu( myId ) {
	_see(myId, "pathSubMenu", "pathMenu", 0, -1, 1, 1000, 1 );	
}

/*Pass -1 to hide all menus otherwise the number of menu to display*/
/*The name of the layer should be "subMenu"+number*/

function _see(myId, mySubmenu, myMenu, myOffsetV, myOffsetH, myMenulength, myTimeOut, myIndex){
	
	if((myId<0)){
		activeEl=mySubmenu+myOldId;
		/* if horizontal popup active current menu must be shown */
		add2timeOut= (mySubmenu=="subMenu") ? "if ((menuShowSelected)&&(menu_selected!=-1)) see(menu_selected);" : "";
		if(NS4){
			timer[myIndex]=setTimeout("document.layers['"+activeEl+"'].visibility='hide';"+add2timeOut, myTimeOut);
		} else {
			timer[myIndex]=setTimeout("document.getElementById('"+activeEl+"').style.visibility='hidden';"+add2timeOut, myTimeOut/2);
		}
	}
/*j starts with 1 because first DIV is never displayed because it's a logo element*/
	if (myId>0){
		//window.status="menuSelected="+menuShowSelected+"-"+menu_selected+ ": top="+document.getElementById(myMenu+myId).offsetTop+"-"+myOffsetV+" left="+myOffsetH;
		for (j=1;j<myMenulength;j++){
			if(NS4){ 
				thisLayer=mySubmenu+j;
				document.layers[thisLayer].visibility="hide";
			} else { 
				document.getElementById(mySubmenu+j).style.visibility="hidden";
			}
		}
		if(timer[myIndex]>0){
			window.clearTimeout(timer[myIndex]);
		}
		if(NS4){
			thisLayer=mySubmenu+myId;
			parentLayer=myMenu+myId;
			document.layers[thisLayer].moveTo((myOffsetH==-1)?document.layers[parentLayer].pageX:myOffsetH,document.layers[parentLayer].pageY-myOffsetV);
			document.layers[thisLayer].visibility="show";
		} else {
			var myObj=document.getElementById(mySubmenu+myId);
			myObj.style.visibility = "visible";
			myObj.style.top=document.getElementById(myMenu+myId).offsetTop-myOffsetV;
			if (myOffsetH!=-1) myObj.style.left=myOffsetH;
		}
	}
	
	if (myId>=0) myOldId=myId;
	
}

function seeNS(myId){
//questa funzione filtra le chiamate solo per NS4 sono attivi i comandi sui link perche' non sono validi quelli sul DIV

	if(NS4){
		see(myId);
	} else {
		return false;
	}
}

function setBG( obj, color ) {
  obj.style.backgroundColor = (color!=null) ? color : "#999999";;
}

