// EVENT_HANDLING['TOOLTIPS'] = true;

var HTL_TOOLTIP_ID_SIMPLE = "hotel_tooltip";
var HTL_TOOLTIP_ID_FULL = null; // Simple ONLY

var HTL_Tooltip_initialized = false;
var HTL_Tooltip = new Object();

var HTL_Tooltip_Opacity = 100;

var HTL_Tooltip_Thread = null;

HTL_Tooltip['data'] = new Object();
HTL_Tooltip['current'] = null;
HTL_Tooltip['frame']   = null;
HTL_Tooltip['shadow']  = null;

function HTLTooltip_MouseMove(e)
{
	HTLTooltip_Process(GetWindowSize(), GetMousePosition(e));
}

function HTLTooltip_Init()
{
	var iHtml = null;
	
	iHtml  = "";
	iHtml += '<div id="htl_tooltip_simple_content"></div>';
	// alert(document.getElementById(HTL_TOOLTIP_ID_SIMPLE).innerHTML);
	document.getElementById(HTL_TOOLTIP_ID_SIMPLE).innerHTML = iHtml;
	
	HTL_Tooltip_initialized = true;
	
	if (document.getElementById('hotel_tooltip_shadow'))
	{
		HTL_Tooltip['shadow'] = document.getElementById('hotel_tooltip_shadow');
	}
	
	// Registriere Callback-Funktion für Tooltips!
	AttachEvent(document, "mousemove", HTLTooltip_MouseMove);
}

function HTLTooltip_Add(id, title, content, settings)
{
	if (!HTL_Tooltip_initialized)
		HTLTooltip_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
	
	HTL_Tooltip['data'][id] = tooltip;
}

function HTLTooltip_Show(id, template)
{
	if (!HTL_Tooltip['current'] && !id)
		return false;
	
	var l_id = id ? id : HTL_Tooltip['current'];
	
	var tt_frame = tt_title = tt_content = tt_shadow = null;
	
	if (!HTL_Tooltip['data'][l_id])
		return false;
	
	var tt_type  = HTL_Tooltip['data'][l_id]['settings']['type'];
	
	if (tt_type == "simple")
	{
		tt_frame 	= HTL_Tooltip['frame'] = document.getElementById(HTL_TOOLTIP_ID_SIMPLE);
		tt_title  	= null;
		tt_content  = document.getElementById('htl_tooltip_simple_content');
	} else
	if (tt_type == "full")
	{
		/*
		tt_frame 	= HTL_Tooltip['frame'] = document.getElementById(HTL_TOOLTIP_ID_FULL);
		tt_title  	= document.getElementById('imw_tooltip_full_title');
		tt_content  = document.getElementById('imw_tooltip_full_content');
		*/
	}
	/*
	tt_shadow = HTL_Tooltip['shadow'];
	*/
	tt_shadow = null;
	
	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;
		}
		
		HTL_Tooltip['current'] = null;
	} else {
		// Tooltip aktivieren und ggf. Template parsen
		/*
		HTL_Tooltip_Opacity = 0;
		HTL_Tooltip_Thread = window.setInterval("HTLTooltip_FadeIn()", 1);
		*/
		
		if (tt_title)
			tt_title.innerHTML = HTL_Tooltip['data'][l_id]['title'];
		
		if (tt_content)
		{
			if (template)
			{
				var var_content = HTL_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 = HTL_Tooltip['data'][l_id]['content'];
			}
		}
		
		var frm_w = HTL_Tooltip['data'][l_id]['settings']['width'];
		//var frm_h = HTL_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  = (parseInt(tt_frame.style.width)  + 6 ) + "px";
			//tt_shadow.style.height = (parseInt(tt_frame.style.height) + 6 ) + "px";
			
			tt_shadow.innerHTML = tt_content.innerHTML;
		}
		
		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
			*/
		}
		
		HTL_Tooltip['current'] = id;
	}
}

function HTLTooltip_Process(wdata, m_pos)
{
	posx = m_pos.x;
	posy = m_pos.y;
	
	if (HTL_Tooltip['current'] != null && HTL_Tooltip['frame'] != null && HTL_Tooltip['frame'] != null)
	{
		if (HTL_Tooltip_Opacity > 0)
		{
			HTL_Tooltip['frame'].style.display 	  = 'block';
			HTL_Tooltip['frame'].style.visibility = 'visible';
		}
		
		if (HTL_Tooltip['shadow'])
		{
			HTL_Tooltip['shadow'].style.display    = HTL_Tooltip['frame'].style.display;
			HTL_Tooltip['shadow'].style.visibility = HTL_Tooltip['frame'].style.visibility;
		}
		
		var offset_x = 0, offset_y = 0;
		
		//if (posy < (wdata['sy'] + wdata['height'] / 2))
			offset_y =  0;
		//else
		//	offset_y = -parseInt(HTL_Tooltip['frame'].style.height) - 15;
		
		if (posx > (wdata['sx'] + wdata['width'] / 2))
			offset_x = -parseInt(HTL_Tooltip['frame'].style.width) - 22;
		else
			offset_x = 15;
		
		HTL_Tooltip['frame'].style.top  = (posy + offset_y) + "px";
		HTL_Tooltip['frame'].style.left = (posx + offset_x) + "px";
		
		if (HTL_Tooltip['shadow'])
		{
			HTL_Tooltip['shadow'].style.top  = (posy + offset_y + 5) + "px";
			HTL_Tooltip['shadow'].style.left = (posx + offset_x + 10) + "px";
		}
	}
}

function HTLTooltip_FadeIn()
{
	var stop_thread = false;
	
	HTL_Tooltip_Opacity += 5;
	
	if (HTL_Tooltip_Opacity > 100)
	{
		HTL_Tooltip_Opacity = 100;
		stop_thread = true;
	}
	
	if (HTL_Tooltip['frame'])
	{
		HTL_Tooltip['frame'].style.filter = 'alpha(opacity='+HTL_Tooltip_Opacity+')';
		HTL_Tooltip['frame'].style.opacity = HTL_Tooltip_Opacity / 100;
		
		HTL_Tooltip['shadow'].style.filter = 'alpha(opacity='+(HTL_Tooltip_Opacity / 2)+')';
		HTL_Tooltip['shadow'].style.opacity = HTL_Tooltip_Opacity / 100 / 2;
	}
	
	if (stop_thread)
	{
		window.clearInterval(HTL_Tooltip_Thread);
	}
}

for (tt_i = 0; tt_i < LIST_TOOLTIPS.length; tt_i++)
{
	HTLTooltip_Add(LIST_TOOLTIPS[tt_i]['id'], LIST_TOOLTIPS[tt_i]['title'], LIST_TOOLTIPS[tt_i]['content'], LIST_TOOLTIPS[tt_i]['settings']);
}
