var timerID = 0;
var dir = 0;
var opacity = 0;
var stilllife = false;
var submenu;

function tick() {
   if(timerID) {
      clearTimeout(timerID);
      timerID = 0;
   }

	//d = document.getElementById("submenu");
	d = submenu;

	if (dir==0) {
		if (opacity < 80) {
			opacity = opacity + 10;
			d.style.opacity = opacity/100;
			d.style.filter = "alpha(opacity=" + opacity + ")";
			timerID = setTimeout("tick()", 10);
		} else {
			//alert("opa=100");
		}
	} else {
		if (opacity > 0) {
			opacity = opacity - 10;
			d.style.opacity = opacity/100;
			d.style.filter = "alpha(opacity=" + opacity + ")";
			timerID = setTimeout("tick()", 10);
		} else {
			//alert("opa=0");
			d.style.display = "none";
			submenu = 0;
		}
	}
}

function fadein(p, l, t) {
   if(timerID) {
      clearTimeout(timerID);
      timerID = 0;
   }
   
	d = document.getElementById("sub"+p);
	
	// per evitare flicker
	if (submenu == d) {
		//dir = 0;
		//timerID = setTimeout("tick()", 10);
		d.style.opacity = .8;
		d.style.filter = "alpha(opacity=80)";
		return;
	}
	
   if (submenu)
   	submenu.style.display = "none";
   	
	d_old = document.getElementById("sub"+p);
	//d = document.createElement("div");
	d = document.getElementById("submenu_prova");
	//d.style.className = "menu_roll";
	d.style.position = "absolute";
	d.style.left = d_old.style.left;
	d.style.width = d_old.style.width;
	d.style.height = d_old.style.height;
	submenu = d;

	d_src = document.getElementById(p);
	d_dst = document.getElementById("movingtarget"+p);
	
	d.style.opacity = 0;
	d.style.filter = "alpha(opacity=0)";
	d.style.zIndex = 1000;
	
	d_dst.innerHTML = d_src.innerHTML;
	d_dst.scrollTop = 0;

	d.style.display = "";
	d.style.top = t+"px";
	d.style.left = l+200+"px";
	d_old.style.display = "";
	//alert(d.style.display);

	/*o = "";
	for (i in d_src)
		o += i + " ";
		
	alert(o);*/
	/*d_src.style.display = "";
	h = d_src.offsetHeight;
	d_src.style.display = "none";*/
	//alert(d_dst.scrollHeight);
	
	// se scrollHeight diverso da offsetHeight allora le freccette vanno visualizzate
	// quel'è il massimo per scrollTop?
	truth = (d_dst.scrollHeight>d_dst.offsetHeight);
	obj = document.getElementById("godown"+p);
	obj.style.display = (truth?"":"none");
	obj = document.getElementById("goup"+p);
	obj.style.display = (truth?"":"none");
		
	
	d.innerHTML = d_old.innerHTML;

	dir = 0;
	opacity = 0;
	timerID = setTimeout("tick()", 10);
	
}

function fadeout() {
	//alert("fadeout");	
	
   if(timerID) {
      clearTimeout(timerID);
      timerID = 0;
   }
   
	//d = document.getElementById("submenu");
	d = submenu;
	
	d.style.opacity = .8;
	d.style.filter = "alpha(opacity=80)";
	d.style.display = "";
	
	dir = 1;
	opacity = 80;
	timerID = setTimeout("tick()", 100);
}

function life() {
   if(timerID) {
      clearTimeout(timerID);
      timerID = 0;
   }
	//d = document.getElementById("submenu");
	d = submenu;
	d.style.opacity = .8;
	d.style.filter = "alpha(opacity=80)";
	d.style.display = "";
	stilllife = true;
}

function goup(p) {
	d = document.getElementById("movingtargetmenu"+p);
	//alert(d.scrollTop);
	//d.style.top = "0px";
	d.scrollTop = d.scrollTop+10;
	return false;
}

function godown(p) {
	d = document.getElementById("movingtargetmenu"+p);
	//alert(d.scrollTop);
	//d.style.top = "0px";
	d.scrollTop = d.scrollTop-10;
	return false;
}

function toptop(e) {
	if (e) {
		//alert(e.offsetTop);
		return e.offsetTop + toptop(e.offsetParent);
	} else
		return 0;
}

function leftleft(e) {
	if (e) {
		return e.offsetLeft + leftleft(e.offsetParent);
	} else
		return 0;
}

