var currentHoverItem = null;
var currentFade = 0;
var fadeTimer = null;
var fadeInterval = 40;
var fadeIncrement = 10;
var endFade = 90;
var itemWidth = 300;
function showHoverItem(itemID){
	clearHoverItemTimer();
	hideHoverItem();
	var item = document.getElementById("hoveritem" + itemID);
	if(item != null){
		currentFade = 0;
		item.style.filter = "alpha(opacity=0)";
		item.style.display = "block";
		item.style.visibility = "visible";
		currentHoverItem = item;
		setHoverItemPosition(itemID);
		fadeTimer = setInterval("fadeHoverItemIn()", fadeInterval);
	}
}

function setHoverItemPosition(itemID){
	if(currentHoverItem != null){
		var leftPosition = event.clientX + 10
		var topPosition = event.clientY + 10;
		if(leftPosition + itemWidth >= document.body.clientWidth){
			leftPosition = document.body.clientWidth - itemWidth - 30;
		}
		currentHoverItem.style.left = leftPosition;
		currentHoverItem.style.top = topPosition;
		
	}
	else{
		showHoverItem();
	}
}

function hideHoverItem(){
	clearHoverItemTimer();
	if(currentHoverItem != null){
		currentHoverItem.style.display = "none";
		currentHoverItem = null;		
		currentFade = 0;		
	}
}

function fadeHoverItemIn(){
	clearHoverItemTimer();
	if(currentHoverItem != null){
		currentFade = currentFade + fadeIncrement;
		currentHoverItem.style.filter = "alpha(opacity=" + currentFade + ")";
		if(currentFade < endFade){
			fadeTimer = setInterval("fadeHoverItemIn()", fadeInterval);
		}
		else{
			fadeTimer = setInterval("fadeHoverItemOut()", 5000);
		}
	}
}

function fadeHoverItemOut(){
	clearHoverItemTimer();
	if(currentHoverItem != null){
		currentFade = currentFade - fadeIncrement;
		currentHoverItem.style.filter = "alpha(opacity=" + currentFade + ")";
		if(currentFade > 0){
			fadeTimer = setInterval("fadeHoverItemOut()", fadeInterval);
		}
		else{
			currentHoverItem.style.display = "none";
			currentHoverItem = null;		
			currentFade = 0;			
		}
	}
}

function clearHoverItemTimer(){
	if(fadeTimer != null){
		clearInterval(fadeTimer);
		fadeTimer = null;
	}
}