function MapsSystemTooltip(advMaps)
{
	var obj = new Object();

	obj.TooltipOn = true;
	obj.View = false;
	obj.IdDivTooltip = '';
	obj.TooltipButton = new Array();

	//---------------------------------------------
	obj.TooltipSetButton = function() // aktywuj odpowiedni klawisz dla tooltip....
	//---------------------------------------------
	{
		if(document.images)
			if(obj.TooltipButton[0])
				if(document.images[obj.TooltipButton[0]]) document.images[obj.TooltipButton[0]].src =  obj.TooltipButton[((obj.TooltipOn)?1:2)]; // podmien grafike na wlasciwy klawisz...
	}
	//---------------------------------------------
	obj.TooltipOnOff = function() // wlacz wyłącz mechanizm tooltipow.....
	//---------------------------------------------
	{
		if(obj.TooltipOn)
		{
			obj.TooltipOn = false;
			obj.TooltipHidden();
		}
		else obj.TooltipOn = true;

		obj.TooltipSetButton();

	}

	//---------------------------------------------
	obj.TooltipHidden = function() // ukryj tooltips na mapie
	//---------------------------------------------
	{
		obj.View = false;
		advMaps.xHide('', obj.IdDivTooltip); // ukryj tooltipa
		advMaps.xInnerHtml('', obj.IdDivTooltip); // wyczyść zawartość Tooltip na mapie

		return ;
	}

	//---------------------------------------------
	obj.TooltipView = function() // pokaz tooltips - generuj tooltip....
	//---------------------------------------------
	{
		if(obj.TooltipOn && obj.IdDivTooltip && arguments[0] && arguments[1])
		{
			obj.View = true;

			var html = '<table border="0" cellspacing="0" cellpadding="0">';
			if(arguments[0])
			{
				html += '<tr>';
				html += '<td align="center" valign="middle" background="img/tool_tl.gif"><img src="img/brak.gif" width="1" height="1" border="0" alt=""></td>';
				html += '<td align="left" valign="middle" background="img/tool_tt.gif" style="font-family:Tahoma; white-space:nowrap; font-weight:bold; font-size:7pt; color:#ffffff; text-decoration:none; font-style:normal; padding-top: 2px; padding-bottom: 2px;">'+arguments[0]+'</td>';
				html += '<td align="center" valign="middle" background="img/tool_tr.gif"><img src=img/brak.gif width=1 height=1 border=0 alt=></td>';
				html += '</tr>';
			}
			if(arguments[1])
			{
				html += '<tr>';
				html += '<td align="center" valign="middle" background="img/tool_ltlo.gif"><img src="img/tool_ltlo.gif" width="5" height="1" border="0" alt=""></td>';
				html += '<td align="left" valign="middle" style="font-family:Tahoma; white-space:nowrap; font-weight:normal; font-size:7pt; color:#000000; text-decoration:none; font-style:normal; background: #ffffff; padding-top: 2px;">'+arguments[1]+'</td>';
				html += '<td align="center" valign="middle" background="img/tool_rtlo.gif"><img src="img/tool_rtlo.gif" width="5" height="1" border="0" alt=""></td>';
				html += '</tr>';
			}
			html += '<tr>';
			html += '<td align="center" valign="middle"><img src="img/tool_br.gif" width="5" height="6" border="0" alt=""></td>';
			html += '<td align="center" valign="middle" background="img/tool_btc.gif"><img src="img/tool_btc.gif" width="1" height="6" border="0" alt=""></td>';
			html += '<td align="center" valign="middle"><img src="img/tool_bl.gif" width="5" height="6" border="0" alt=""></td>';
			html += '</tr>';
			html += '</table>';

			advMaps.xInnerHtml('', obj.IdDivTooltip, html);

			obj.TooltipXY();

			advMaps.xShow('', obj.IdDivTooltip);

		}

		return ;
	}

	//---------------------------------------------
	obj.TooltipMove = function() // przesun tooltip za kursorem....
	//---------------------------------------------
	{
		if(obj.View) obj.TooltipXY();
		return ;
	}

	//---------------------------------------------
	obj.TooltipXY = function() // oblicz pozycje tooltipa - przestaw
	//---------------------------------------------
	{
		var x = advMaps.MouseX+advMaps.TooltipXY;
		var y = advMaps.MouseY+advMaps.TooltipXY;
		if((e = advMaps.xGetElementById('', obj.IdDivTooltip)))
		{
			var w = parseInt(e.clientWidth);
			var h = parseInt(e.clientHeight);
			if(x+w > advMaps.EkranWidth) x = advMaps.MouseX - w - advMaps.TooltipXY;
			if(y+h > advMaps.EkranHeight) y = advMaps.MouseY - h - advMaps.TooltipXY;
		}

		if(x <0 ) x = 0; if(y <0 ) y = 0;
		advMaps.xMoveTo('', obj.IdDivTooltip, x, y);
	}

	return obj;
}