﻿RBS.System.RegisterNamespace("RBS.ToolTips");

RBS.ToolTips.Init = function(evt) 
{
	RBS.ToolTips.TTId = "TOOLTIPSSTD";
	RBS.ToolTips.TTobj = null;
	RBS.ToolTips.text = null;
	RBS.ToolTips.visible = false;
	RBS.ToolTips.celem = null;
	RBS.ToolTips.timer = null;
	RBS.ToolTips.ttover = false;
	RBS.ToolTips.helpid = null;
	
	RBS.ToolTips.TTCLASS = "kdniconhelp";
	
	var TTobj = RBS.Dom.GetElement(RBS.ToolTips.TTId);
	
	if (TTobj == null) 
	{
		TTobj = RBS.Dom.CreateElement("DIV", RBS.Dom.GetElement("RBS_FORM"));
		TTobj.id = RBS.ToolTips.TTId;
		TTobj.className = "kdntooltip";
	}
	
	if (TTobj != null) 
	{
		TTobj.style.display = "none";
		TTobj.style.visibility = "visible";
		RBS.Event.AddEvent(TTobj, "mouseover", RBS.ToolTips.ToolBullIn);
		RBS.Event.AddEvent(TTobj, "mouseout", RBS.ToolTips.ToolBullOut);
	} 
	
	RBS.ToolTips.TTobj = TTobj;
	for(i = 0; i < document.images.length; i++) 
	{
		var img = document.images[i];
		if (img.className == RBS.ToolTips.TTCLASS && img.getAttribute("TTIPS") != "")
		{
			RBS.Event.AddEvent(img, "mouseover", RBS.ToolTips.ToolInfoIn);
			RBS.Event.AddEvent(img, "mouseout", RBS.ToolTips.ToolInfoOut);
		}
	}
	return true;
}

RBS.Event.AddEvent(window, "load", RBS.ToolTips.Init);

RBS.ToolTips.ToolInfoIn = function(evt) 
{
	new RBS_Event_Event(evt);
	var img = RBS.Event.lastEvent.src;
	
	if (RBS.ToolTips.timer != null) 
	{
		clearTimeout(RBS.ToolTips.timer);
		RBS.ToolTips.timer = null;
	}	
	
	if (RBS.ToolTips.celem != null && RBS.ToolTips.celem != img) 
	{
		RBS.ToolTips.HideToolTips();
	}
	
	RBS.ToolTips.celem = img;
	RBS.ToolTips.text = img.getAttribute("TTIPS");
	RBS.ToolTips.helpid = img.getAttribute("HELPID");
	
	if (RBS.ToolTips.helpid != null && RBS.ToolTips.helpid.length == 0) 
	{
		RBS.ToolTips.helpid = null;
	}
	RBS.ToolTips.ViewToolTips();
}

RBS.ToolTips.ToolInfoOut = function(evt) 
{
	if (RBS.ToolTips.timer == null) 
	{
		RBS.ToolTips.timer = setTimeout(RBS.ToolTips.TimeOut, 500);
	}
}


RBS.ToolTips.ToolBullIn = function(evt) 
{
	if (RBS.ToolTips.timer != null) 
	{
		clearTimeout(RBS.ToolTips.timer);
		RBS.ToolTips.timer = null;
	}
}

RBS.ToolTips.ToolBullOut = function(evt) 
{
	if (RBS.ToolTips.timer == null) 
	{
		RBS.ToolTips.timer = setTimeout(RBS.ToolTips.TimeOut, 500);
	}
}


RBS.ToolTips.ViewToolTips = function() {
	
	try {
		var x = RBS.Event.lastEvent.coords.left;
		var y = RBS.Event.lastEvent.coords.top+20;
	} 
	catch (e) 
	{
		return;
	}
	
	
	if ((RBS.Dom.GetInsideWindowWidth() - x) <= 200)
	{
		x = x - 200;
	}
	var form = RBS.Dom.GetElement("RBS_FORM");
	if (form)
	{
		x = x - form.offsetLeft;
	}
	
	
	var TTobj = RBS.ToolTips.TTobj;
	RBS.Dom.MoveTo(TTobj, x ,y);
	
	var finaltext = "<span>" + RBS.ToolTips.text.replace(/\n/g, '<br>'); + "</span>";
	if (RBS.ToolTips.helpid != null && typeof(showPageHelp) == "function") {
		var sIndexId = RBS.ToolTips.helpid == "pageid" ? new String(RBS.Context.pageid) : RBS.ToolTips.helpid;
		sIndexId = sIndexId.replace(/\-/g, '');
		finaltext +="<br>";
		finaltext +="<a class=\"kdntooltiplink\" href=\"";
		finaltext +="javascript:showPageHelp('" + sIndexId + "');void 0;";
		finaltext +="\">En savoir plus...</a>";
	}
	TTobj.innerHTML = finaltext;
	RBS.ToolTips.Display(TTobj, true);
	RBS.ToolTips.visible = true;
}

RBS.ToolTips.TimeOut = function(evt) 
{
	RBS.ToolTips.timer = null;
	RBS.ToolTips.HideToolTips();
}

RBS.ToolTips.HideToolTips = function() 
{
	RBS.ToolTips.Display(RBS.ToolTips.TTobj, false);
	RBS.ToolTips.visible = false;
	RBS.ToolTips.TTobj.innerHTML = "";
	RBS.ToolTips.celem = null;
	RBS.ToolTips.text = null;	
	RBS.ToolTips.helpid = null
	RBS.ToolTips.noTimer = false;
}

	
RBS.ToolTips.Display = function(node, bvisible, mode) 
{
	if (typeof mode == "undefined") {
		mode = bvisible ? "block" : "none";
	}
	node.style.display = mode;
}
