/**************************************************************************************************/
/***
/***	DYNAMIC tooltip JAVASCRIPT DOCUMENT
/***	-----------------------------------------------------------------------
/***	Written by Matthew Praetzel. Copyright (c) 2006-2008 Matthew Praetzel.
/***	-----------------------------------------------------------------------
/***	All Rights Reserved. Any use of these functions & scripts without written consent is prohibited.
/***
/**************************************************************************************************/

/*                                   **************************                                   */
/************************************   INITIALIZE VARIABLES   ************************************/
/*                                   **************************                                   */
var current_title = "";
var tooltip_width = 300;
var tooltip_timer = new Array();
var tooltip_type = "fade";
/*                                   **************************                                   */
/************************************     WINDOW FUNCTIONS     ************************************/
/*                                   **************************                                   */
function determinePageSize()
{
	var page_size = new Array();
	if(typeof(window.innerWidth) == 'number')
	{
		page_size[0] = window.innerWidth;
		page_size[1] = window.innerHeight;
	}
	else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
	{
		page_size[0] = document.documentElement.clientWidth;
		page_size[1] = document.documentElement.clientHeight;
	}
	else if(document.body && (document.body.clientWidth || document.body.clientHeight))
	{
		page_size[0] = document.body.clientWidth;
		page_size[1] = document.body.clientHeight;
	}
	return page_size;
}
/*                                   **************************                                   */
/************************************    DYNAMIC FUNCTIONS     ************************************/
/*                                   **************************                                   */
function fadeInTooltip()
{
	for(var i=0;i<tooltip_timer.length;i++)
	{
		clearTimeout(tooltip_timer[i]);	
	}
	changeOpacity('tooltip',0);
	var time_offset = 35;
	var opacity = 10;
	tooltip_timer = new Array();
	if(platform == "MAC" && browser != "SAFARI")
	{
		var cap = 9;
	}
	else
	{
		var cap = 10;
	}
	for(var i=0;i<cap;i++)
	{
		var timer_length = tooltip_timer.length;
		tooltip_timer[timer_length] = setTimeout("changeOpacity('tooltip',"+opacity+")",time_offset);
		time_offset = time_offset + 35;
		opacity = opacity + 10;
	}
}
/*                                   **************************                                   */
/************************************     TOOLTIP FUNCTIONS    ************************************/
/*                                   **************************                                   */
function showTooltip(e)
{
	e = setEvent(e);
	var this_element = determineEventSource(e);
	if(this_element.title.length > 0)
	{
		current_title = this_element.title;
		var this_node = document.createTextNode(this_element.title);
		this_element.title = "";
		document.getElementById("tooltip").appendChild(this_node);
		var mouse_position = determineMousePosition(e);
		var page_size = determinePageSize();
		if(mouse_position[0]+tooltip_width > page_size[0])
		{
			document.getElementById("tooltip").style.left = (page_size[0] - tooltip_width) + 'px';
		}
		else
		{
			document.getElementById("tooltip").style.left = (mouse_position[0] + 10) + 'px';
		}
		document.getElementById("tooltip").style.top = (mouse_position[1] - document.getElementById("tooltip").offsetHeight - 10) + 'px';
		showElement("tooltip");
		if(tooltip_type == "fade")
		{
			fadeInTooltip();
		}
	}
}
function hideTooltip(e)
{
	e = setEvent(e);
	var this_element = determineEventSource(e);
	this_element.setAttribute('title',current_title);
	current_title = "";
	removeChildren("tooltip");
	changeOpacity('tooltip',0);
	hideElement("tooltip");
	
}