// Funktionen für die Darstellung eines Hilfe-Links

var Tooltip = function() {
	
	var _setStyle = function(tooltip, style)
	{
		for ( s in style )
			tooltip.style[s] = style[s];
	}
	
	return {
		
		show: function( hovered, event )
		{
			var title_text = hovered.getAttribute('title');
			var abstract_text = hovered.getAttribute('abstract');
			
			if ( title_text ) {
				if ( !abstract_text ) {
					abstract_text = title_text;
					hovered.setAttribute('abstract', title_text);
				}
				hovered.setAttribute('title', '');
				hovered.title = '';
			}
			
			if(!abstract_text)
				return; 
			
			hovered.setAttribute('alt', '');
			
			// Event-handling code for cross-browser support
			var mouse_event = event ? event : window.event;
			
			var tooltip = document.getElementById("tooltip");
			if ( !tooltip ) {
				tooltip = document.createElement('div');
				tooltip.setAttribute('id', 'tooltip');
				
				_setStyle( tooltip, {
					textAlign: 'left',
					position: 'absolute',
					fontFamily: '\'Lucida Grande\', Helvetica',
					fontSize: '11px',
					visibility: 'hidden',
					zIndex: '200',
					backgroundColor: "#FDFEC8",
					border: '1px solid #aaa',
					WebkitBorderRadius: '4px',
					WebkitBoxShadow: '0px 1px 2px rgba(0,0,0,.2)',
					MozBorderRadius: '4px',
					MozBoxShadow: '0px 1px 2px rgba(0,0,0,.2)',
					padding: '2px',
					maxWidth: '300px'
				} );
				
				document.body.appendChild(tooltip);
			}
			tooltip.innerHTML = abstract_text;
			
			var xcoord = 0;
			var ycoord = 0;
			
			if (mouse_event.pageX || mouse_event.pageY) {
				xcoord = event.pageX;
				ycoord = event.pageY;
			} else if(mouse_event.clientX || mouse_event.clientY) {
				xcoord = mouse_event.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
				ycoord = mouse_event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
			}
			
			_setStyle( tooltip, {left: xcoord + 4 + "px", top:ycoord + 10 + "px", visibility:'visible'} );
		},
		
		hide: function()
		{
			var tooltip = document.getElementById("tooltip");
			if ( !tooltip )
				return;
			tooltip.innerHTML = '';
			tooltip.style.visibility="hidden";
		}
	}
}();
