// ****************************************************
// *                                                  *
// *      MenuLitions - Menu a barra orizzontale      *
// *        In JS e CSS, creato da Demolitions        *
// *                                                  *
// *     Modificabile e distribuibile liberamente     *
// * Chiedo solo di includere la provenienza nel file *
// *                                                  *
// ****************************************************
var MENUIMAGESUOFF=new Image; MENUIMAGESUOFF.src="menu/img/su_off.gif";
var MENUIMAGESUON=new Image; MENUIMAGESUON.src="menu/img/su_on.gif";
var MENUIMAGEGIUOFF=new Image; MENUIMAGEGIUOFF.src="menu/img/giu_off.gif";
var MENUIMAGEGIUON=new Image; MENUIMAGEGIUON.src="menu/img/giu_on.gif";
function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left");}
function getAbsY(elt) { return (elt.y) ? elt.y : getAbsPos(elt,"Top");}
function getAbsPos(elt,which) {
	iPos = 0;
	while (elt != null) {
		iPos += elt["offset" + which];
		elt = elt.offsetParent;
	}
	return iPos;
}
function isset(pVar) {
	return (typeof pVar != "undefined");
}
if(!isset(CYBPDM_HEAD_HEIGHT))var CYBPDM_HEAD_HEIGHT=0;
var BROWSER_NAME=navigator.appName;
var BROWSER_VERSION=parseFloat(navigator.appVersion);
if(BROWSER_NAME=='Microsoft Internet Explorer')IsIE=true; else IsIE=false;
if(IsIE){
	var MENU_OFFTOP=Number(MENU_HEAD_HEIGHT)+5;
	var MENU_OFFLEFT=0;
	var MENU_ELMTOP=-39;
	var MENU_ELMLEFT=-68;
} else {
	var MENU_OFFTOP=Number(MENU_HEAD_HEIGHT)+5;
	var MENU_OFFLEFT=0;
	var MENU_ELMTOP=-33;
	var MENU_ELMLEFT=-64;
}
function HeadOn(layer){
	clearTimeout(t);
	layer.className=layer.className.replace('_off','_on');
	var divs=layer.getElementsByTagName('div');
	for(x in divs){if(divs[x].className=='menu_layer'){var tgt=divs[x];break;}}
	if(isset(tgt)){
		tgt.style.display='block';
		tgt.style.top=getAbsY(layer)+layer.offsetHeight+'px';
		tgt.style.left=getAbsX(layer)+'px';
	}
}
function HeadOff(layer){
	clearTimeout(t);
	layer.className=layer.className.replace('_on','_off');
	var divs=layer.getElementsByTagName('div');
	for(x in divs){if(divs[x].className=='menu_layer'){var tgt=divs[x];break;}}
	if(isset(tgt)){
		tgt.style.display='none';
//		tgt.style.visibility='hidden';
	}
}
function ItemOn(item){
	clearTimeout(t);
	item.className=item.className.replace('_off','_on');
	var divs=item.getElementsByTagName('div');
	for(x in divs){if(divs[x].className=='menu_layer'){var tgt=divs[x];break;}}
	if(isset(tgt)){
		tgt.style.visibility='visible';
		tgt.style.top=getAbsY(item)+CYBPDM_ELMTOP+'px';
		tgt.style.left=getAbsY(item)+Number(item.offsetWidth)+CYBPDM_ELMLEFT+'px';
	}
}
function ItemOff(item){
	clearTimeout(t);
	item.className=item.className.replace('_on','_off');
	var divs=item.getElementsByTagName('div');
	for(x in divs){if(divs[x].className=='menu_layer'){var tgt=divs[x];break;}}
	if(isset(tgt)){
		tgt.style.visibility='hidden';
	}
}
function ScrollOn(item){
	item.className=item.className.replace('_off','_on');
	item.getElementsByTagName('img')[0].src=item.getElementsByTagName('img')[0].src.replace('_off','_on');
}
function ScrollOff(item){
	item.className=item.className.replace('_on','_off');
	item.getElementsByTagName('img')[0].src=item.getElementsByTagName('img')[0].src.replace('_on','_off');
}
var t;
function move_up(item){
	document.getElementById(item).scrollTop -= 10;
	t=setTimeout("move_up('"+item+"')",50);
}
function move_dn(item){
	document.getElementById(item).scrollTop += 10;
	t=setTimeout("move_dn('"+item+"')",50);
}
function clear_move(){
	clearTimeout(t);
}
function WriteMenu(menu,div,tabstyle){
	var destination=document.getElementById(div);
	var strmenu='';
	var count=0;
	for(x in menu){
		var style='height:'+MENU_HEAD_HEIGHT+'px;';
		if(menu[x][4])style+=menu[x][4];
		if(menu[x][2]>0){
			// Sottomenu
			if(count==0)count=menu[x][2];
			strmenu+='<div class="menu_head_off" style="'+style+'" onmouseover="HeadOn(this)" onmouseout="HeadOff(this)">';
			if(menu[x][1]!='')strmenu+='<img src="'+menu[x][1]+'" alt="'+menu[x][0]+'" />';else strmenu+=menu[x][0];
			strmenu+='<div class="menu_layer">\n';
			if(count>MENU_MAXITEMS){
				var scrlstyle='height:'+MENU_ITEM_HEIGHT+'px;';
				if(IsIE)scrlstyle+='width:100%;';
				// Pił di MENU_MAXITEMS, faccio lo scroller
				strmenu+='<div class="menu_scroll_off" style="'+scrlstyle+'" onmouseover="ScrollOn(this)" onmouseout="ScrollOff(this)" onmousedown="move_up(\'scroller_'+menu[x][0]+'\')" onmouseup="clear_move()"><img src="'+MENUIMAGESUOFF.src+'" alt="Su" align="center"/></div>\n';
				strmenu+='<div id="scroller_'+menu[x][0]+'" style="height:'+(Number(MENU_ITEM_HEIGHT)*(Number(MENU_MAXITEMS)+2))+'px;overflow:hidden;">\n<div>\n';
					for(var y=1;y<=menu[x][2];y++){
						var z=Number(x)+Number(y);
						var style='height:'+MENU_ITEM_HEIGHT+'px;';
						if(menu[z][4])style+=menu[z][4];
						strmenu+='<div class="menu_item_off" style="'+style+'" onmouseover="ItemOn(this)" onmouseout="ItemOff(this)" onclick="'+menu[z][3]+'">';
						if(menu[z][1]!='')strmenu+='<img src="'+menu[z][1]+'" alt="'+menu[z][0]+'" />';else strmenu+=menu[z][0];
						strmenu+='</div>\n';
					}
				strmenu+='</div>\n</div>\n';
				strmenu+='<div class="menu_scroll_off" style="'+scrlstyle+'" onmouseover="ScrollOn(this)" onmouseout="ScrollOff(this)" onmousedown="move_dn(\'scroller_'+menu[x][0]+'\')" onmouseup="clear_move()"><img src="'+MENUIMAGEGIUOFF.src+'" alt="Giu" align="center"/></div>\n'
			} else {
				// Meno di MENU_MAXITEMS, lista normale
				for(var y=1;y<=menu[x][2];y++){
					var z=Number(x)+Number(y);
					var style='height:'+MENU_ITEM_HEIGHT+'px;';
					if(menu[z][4])style+=menu[z][4];
					strmenu+='<div class="menu_item_off" style="'+style+'" onmouseover="ItemOn(this)" onmouseout="ItemOff(this)" onclick="'+menu[z][3]+'">';
					if(menu[z][1]!='')strmenu+='<img src="'+menu[z][1]+'" alt="'+menu[z][0]+'" />';else strmenu+=menu[z][0];
					strmenu+='</div>\n';
				}
			}
			strmenu+='</div>\n</div>\n';
		} else {
			if(menu[x][2]<0){
				// Cella vuota
			} else {
				// Voce menu
				if(count==0){
					if(!menu[x][5])strmenu+='<div class="menu_head_off" style="'+style+'" onmouseover="HeadOn(this)" onmouseout="HeadOff(this)" onclick="'+menu[x][3]+'">';
					else strmenu+='<div class="menu_head_disabled" style="'+style+'">';
					if(menu[x][1]!='')strmenu+='<img src="'+menu[x][1]+'" alt="'+menu[x][0]+'" />';else strmenu+=menu[x][0];
					strmenu+='</div>\n';
				} else count--;
			}
		}
	}
	destination.innerHTML=strmenu;
}
