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

var Tooltip = function() {
	
	var _toType = function(obj) {  
	  return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()  
	}
	
	var _setStyle = function(tooltip, style)
	{
		for ( key in style )
		{
			var value = style[key];
			if ( _toType( value ) != 'array' )
				value = [value];
			
			for ( var i = 0; i < value.length; ++i )
			{
				try
				{
					tooltip.style[key] = value[i];
				}
				catch(e)
				{}
			}

				
		}
	}
	
	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, Tooltip.style );
				
				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);
			}

			xcoord += 4;
			ycoord += 10;

			if ( xcoord + $(tooltip).width() > $(window).width() + $(window).scrollLeft() )
				xcoord = Math.max(0, $(window).width() - $(tooltip).width() + $(window).scrollLeft() - 10 );
			
			if ( ycoord + $(tooltip).height() > $(window).height() + $(window).scrollTop() ) {
				ycoord = Math.max(0, $(window).height() - $(tooltip).height() + $(window).scrollTop() - 10 );
			}

			_setStyle( tooltip, {left: xcoord + "px", top:ycoord + "px", visibility:'visible'} );

		},
		
		hide: function()
		{
			var tooltip = document.getElementById("tooltip");
			if ( !tooltip )
				return;
			tooltip.innerHTML = '';
			tooltip.style.visibility="hidden";
		}
	}
}();

Tooltip.style = {
					textAlign: 'left',
					position: 'absolute',
					fontFamily: '\'Helvetica Neue\', Helvetica, Arial, sans-serif',
					fontStyle: 'normal',
					fontSize: '12px',
					color: '#212',
					visibility: 'hidden',
					zIndex: '200',
					background: ["-webkit-linear-gradient(#ecf0ff,#cfd7ea)", "-moz-linear-gradient(#ecf0ff,#cfd7ea)", "-o-linear-gradient(#ecf0ff,#cfd7ea)", "-ms-linear-gradient(#ecf0ff,#cfd7ea)"],
					backgroundColor: '#d6dced',
					opacity: .9,
					borderWidth: '1px',
					borderStyle: 'solid',
					borderColor: '#b0bcd9 #b0bcd9 #abb7d3',
					borderRadius: '4px',
					boxShadow: '0px 1px 4px rgba(0,0,0,.3), inset 0 1px 0 rgba(255, 255, 255, 0.25)',
					textShadow: '0 1px 0 rgba(255, 255, 255, 0.4)',
					padding: '5px',
					maxWidth: '300px'
				};
