/*==========================================================//
	Init custom tooltip
//==========================================================*/
var _tooltipContainer;
var _tooltipContent;
var _tooltipAnim;
var fadeOutTip = false;

function tooltipInit(){
	_tooltipContainer = document.getElementById('tooltip');
	_tooltipContent = getElementsByClassName(_tooltipContainer, 'div', 'tipContent')[0];
	attachEventListener(document,"mousemove", updateTip, false);
	
	_tooltipAnim=new Animator({duration: 350, onComplete: function(){tooltipOut();}});
    _tooltipAnim.addSubject(new NumericalStyleSubject(_tooltipContainer, 'opacity', 0, 1));
	_tooltipAnim.jumpTo(0);
}

function showTooltip(target, message){
	fadeOutTip = false;
	_tooltipContent.innerHTML = message;
	_tooltipContainer.style.display = "block";
	_tooltipAnim.seekTo(1);
	attachEventListener(target,"mouseout", hideTooltip, false);
}

function hideTooltip(e){
	fadeOutTip = true;
	_tooltipAnim.seekTo(0);
}

function tooltipOut(){
	if(_tooltipAnim.state==0){
		fadeOutTip = false;
		_tooltipContainer.style.display = "none";
	}
}


/*==========================================================//
	Update tooltip pos
//==========================================================*/
var _posx = 0;
var _posy = 0;

function updateTip(e){
	
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) {
		_posx = e.pageX;
		_posy = e.pageY;
	}
	else if (e.clientX || e.clientY) {
		_posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		_posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	
	if(_tooltipContainer.style.display == "block"){ // && fadeOutTip==false
		_posx -= 12;
		_posy -= 3 + _tooltipContainer.offsetHeight;
		_tooltipContainer.style.left = _posx+"px";
		_tooltipContainer.style.top = _posy+"px";
	}
}

/*==========================================================//
	Functions to be completed on page load
//==========================================================*/
addLoadListener(tooltipInit);