EVENT_HANDLING['TOOLTIPS'] = true;

var IMW_TOOLTIP_ID_SIMPLE = "imw_tooltip_simple";
var IMW_TOOLTIP_ID_FULL = "imw_tooltip_full";

var IMW_Tooltip_initialized = false;
var IMW_Tooltip = new Object();

var IMW_Tooltip_Opacity = 100;

var IMW_Tooltip_Thread = null;

IMW_Tooltip['data'] = new Object();
IMW_Tooltip['current'] = null;
IMW_Tooltip['frame']   = null;
IMW_Tooltip['shadow']  = null;

function IMWTooltop_Init()
{
	var iHtml = null;
	
	iHtml  = "";
	iHtml += '<div id="imw_tooltip_simple_content"></div>';
	
	document.getElementById(IMW_TOOLTIP_ID_SIMPLE).innerHTML = iHtml;
	
	iHtml  = "";
	iHtml += '<div style="width: 5px; height: 20px; clear: left; float: left;">';
	iHtml += '<div style="width: 5px; height: 5px; background-image: url(/images/web/ttip_fo_tl.png); clear: left; float: left;"></div>';
	iHtml += '<div style="width: 5px; height: 15px; background: #e27b00; clear: left; float: left;"></div>';
	iHtml += '</div>';
	iHtml += '<div id="imw_tooltip_full_title"> </div>';
	iHtml += '<div style="width: 5px; height: 20px; float: left;">';
	iHtml += '<div style="width: 5px; height: 5px; background-image: url(/images/web/ttip_fo_tr.png);"></div>';
	iHtml += '<div style="width: 5px; height: 15px; background: #e27b00;"></div>';
	iHtml += '</div>';
	iHtml += '<div style="border-left: 5px solid #e27b00; border-right: 5px solid #e27b00; background: #FFEAAE; float: left; font-weight: bold; color: ; font-size: 14px; font-family: Arial; text-align: center;">';
	iHtml += '<div id="imw_tooltip_full_cbt" style="clear: left; float: left; width: 390px;">';
	iHtml += '<div style="border: 0px solid red; width: 3px; height: 3px; background-image: url(/images/web/ttip_fi_tl.gif); float: left;"></div>';
	iHtml += '<div style="border: 0px solid red; width: 3px; height: 3px; background-image: url(/images/web/ttip_fi_tr.gif); float: right;"></div>';
	iHtml += '</div>';
	iHtml += '<div id="imw_tooltip_full_content"> </div>';
	iHtml += '<div id="imw_tooltip_full_cbb" style="clear: left; float: left; width: 390px;">';
	iHtml += '<div style="border: 0px solid red; width: 3px; height: 3px; background-image: url(/images/web/ttip_fi_bl.gif); clear: left; float: left;"></div>';
	iHtml += '<div style="border: 0px solid red; width: 3px; height: 3px; background-image: url(/images/web/ttip_fi_br.gif); float: right;"></div>';
	iHtml += '</div>';
	iHtml += '</div>';
	iHtml += '<div style="width: 5px; height: 5px; background-image: url(/images/web/ttip_fo_bl.png); clear: left; float: left;"></div>';
	iHtml += '<div id="imw_tooltip_full_fbc" style="width: 390px; height: 5px; background: #e27b00; float: left;"></div>';
	iHtml += '<div style="width: 5px; height: 5px; background-image: url(/images/web/ttip_fo_br.png); float: left;"></div>';
	
	document.getElementById(IMW_TOOLTIP_ID_FULL).innerHTML = iHtml;
	
	IMW_Tooltip_initialized = true;
	
	if (document.getElementById('imw_tooltip_shadow'))
	{
		IMW_Tooltip['shadow'] = document.getElementById('imw_tooltip_shadow');
	}
}

function IMWTooltip_Add(id, title, content, settings)
{
	if (!IMW_Tooltip_initialized)
		IMWTooltop_Init();
	
	var tooltip = new Object();
	
	tooltip['title'] 	= title;
	tooltip['content'] 	= content;
	
	/* Settings parsen */
	var temp_i = settings.split(",");
	var temp_s = new Object();
	
	for (i = 0; i < temp_i.length; i++)
	{
		var temp_j = temp_i[i].split("=");
		
		temp_s[temp_j[0]] = temp_j[1];
	}
	tooltip['settings'] = temp_s;
	
	/* Template-Variablen nur speichern und bei Aufruf parsen */
	tooltip['template'] = content; // template
	
	IMW_Tooltip['data'][id] = tooltip;
}

function IMWTooltip_Show(id, template)
{
	if (!IMW_Tooltip['current'] && !id)
		return false;
	
	var l_id = id ? id : IMW_Tooltip['current'];
	
	var tt_frame = tt_title = tt_content = tt_shadow = null;
	
	if (!IMW_Tooltip['data'][l_id])
		return false;
	
	var tt_type  = IMW_Tooltip['data'][l_id]['settings']['type'];
	
	if (tt_type == "simple")
	{
		tt_frame 	= IMW_Tooltip['frame'] = document.getElementById('imw_tooltip_simple');
		tt_title  	= null;
		tt_content  = document.getElementById('imw_tooltip_simple_content');
	} else
	if (tt_type == "full")
	{
		tt_frame 	= IMW_Tooltip['frame'] = document.getElementById('imw_tooltip_full');
		tt_title  	= document.getElementById('imw_tooltip_full_title');
		tt_content  = document.getElementById('imw_tooltip_full_content');
	}
	
	tt_shadow = IMW_Tooltip['shadow'];
	
	if (!tt_frame || !l_id)
		return false;
	
	if (!id)
	{
		// Tooltip deaktivieren
		tt_frame.style.display    = 'none';
		tt_frame.style.visibility = 'hidden';
		
		if (tt_shadow)
		{
			tt_shadow.style.display  = tt_frame.style.display;
			tt_shadow.style.visibility = tt_frame.style.visibility;
		}
		
		IMW_Tooltip['current'] = null;
	} else {
		// Tooltip aktivieren und ggf. Template parsen
		/*
		IMW_Tooltip_Opacity = 0;
		IMW_Tooltip_Thread = window.setInterval("IMWTooltip_FadeIn()", 1);
		*/
		
		var frm_w = IMW_Tooltip['data'][l_id]['settings']['width'];
		var frm_h = IMW_Tooltip['data'][l_id]['settings']['height'];
		
		tt_frame.style.width  = frm_w + "px";
		tt_frame.style.height = frm_h + "px";
		
		if (tt_shadow)
		{
			tt_shadow.style.width  = tt_frame.style.width;
			tt_shadow.style.height = tt_frame.style.height;
		}
		
		if (tt_type == "full")
		{
			tt_title.style.width = (frm_w - 10) + "px";
			
			tt_content.style.width = (frm_w - 16) + "px";
			tt_content.style.height = (frm_h - 31) + "px";
			
			/* Erweiterte Anpassung des Dialogs */
			document.getElementById('imw_tooltip_full_cbt').style.width = (frm_w - 10) + "px"; /* Content-Border-Top */
			document.getElementById('imw_tooltip_full_cbb').style.width = (frm_w - 10) + "px"; /* Content-Border-Bottom */
			document.getElementById('imw_tooltip_full_fbc').style.width = (frm_w - 10) + "px"; /* Frame-Border-Center */
		}
		
		if (tt_title)
			tt_title.innerHTML = IMW_Tooltip['data'][l_id]['title'];
		
		if (tt_content)
		{
			if (template)
			{
				var var_content = IMW_Tooltip['data'][l_id]['template'];
				
				elements = template.split("|");
				
				for (e = 0; e < elements.length; e++)
				{
					tag = elements[e].split("->");
					
					while (var_content.search(tag[0]) != -1)
					{
						var_content = var_content.replace(tag[0], tag[1]);
					}
				}
				
				tt_content.innerHTML = var_content;
			} else {
				tt_content.innerHTML = IMW_Tooltip['data'][l_id]['content'];
			}
		}
		
		IMW_Tooltip['current'] = id;
	}
}

function IMWTooltip_Process(wdata, mposx, mposy)
{
	if (IMW_Tooltip['current'] != null && IMW_Tooltip['frame'] != null && IMW_Tooltip['frame'] != null)
	{
		if (IMW_Tooltip_Opacity > 0)
		{
			IMW_Tooltip['frame'].style.display 	  = 'block';
			IMW_Tooltip['frame'].style.visibility = 'visible';
		}
		
		if (IMW_Tooltip['shadow'])
		{
			IMW_Tooltip['shadow'].style.display    = IMW_Tooltip['frame'].style.display;
			IMW_Tooltip['shadow'].style.visibility = IMW_Tooltip['frame'].style.visibility;
		}
		
		var offset_x = 0, offset_y = 0;
		
		if (posy < (wdata['sy'] + wdata['height'] / 2))
			offset_y =  10;
		else
			offset_y = -parseInt(IMW_Tooltip['frame'].style.height) - 15;
		
		if (posx > (wdata['sx'] + wdata['width'] / 2))
			offset_x = -parseInt(IMW_Tooltip['frame'].style.width) - 20;
		else
			offset_x = 20;
		
		IMW_Tooltip['frame'].style.top  = (posy + offset_y) + "px";
		IMW_Tooltip['frame'].style.left = (posx + offset_x) + "px";
		
		if (IMW_Tooltip['shadow'])
		{
			IMW_Tooltip['shadow'].style.top  = (posy + offset_y + 10) + "px";
			IMW_Tooltip['shadow'].style.left = (posx + offset_x + 10) + "px";
		}
	}
}

function IMWTooltip_FadeIn()
{
	var stop_thread = false;
	
	IMW_Tooltip_Opacity += 5;
	
	if (IMW_Tooltip_Opacity > 100)
	{
		IMW_Tooltip_Opacity = 100;
		stop_thread = true;
	}
	
	if (IMW_Tooltip['frame'])
	{
		IMW_Tooltip['frame'].style.filter = 'alpha(opacity='+IMW_Tooltip_Opacity+')';
		IMW_Tooltip['frame'].style.opacity = IMW_Tooltip_Opacity / 100;
		
		IMW_Tooltip['shadow'].style.filter = 'alpha(opacity='+(IMW_Tooltip_Opacity / 2)+')';
		IMW_Tooltip['shadow'].style.opacity = IMW_Tooltip_Opacity / 100 / 2;
	}
	
	if (stop_thread)
	{
		window.clearInterval(IMW_Tooltip_Thread);
	}
}