﻿$.fn.tooltip = function(options) 
{
	var pluginDefault = $.extend({}, $.fn.tooltip.defaults, options);
	
	return this.each(function() 
	{
		var $this = $(this);
		//var tooltipContent = $this.text();
		var tooltipContent = $('.artistcontent .col:first h3:first').text() + ' på ' + $this.find('img').attr('alt');
		
		if(pluginDefault.text != 'element')
		{
			tooltipContent = pluginDefault.text;
		}
		
		var $tooltip = $('<div />').attr('class',pluginDefault.classname).text(tooltipContent);
		var $arrow = $('<span />').attr('class','arrow').appendTo($tooltip);
		
		function positionTooltip(e) 
		{
			var tWidth = $tooltip.width();
			var tHeight = $tooltip.height();
			
			pluginDefault.Offset['x'] = -(tWidth/2)-6;
			
			var docWidth = $(document).width() - pluginDefault.Offset['x'];
			var docHeight = $(document).height() - pluginDefault.Offset['y'];
			var tPosX = e.pageX + pluginDefault.Offset['x'];
			var tPosY = e.pageY + pluginDefault.Offset['y'] - tHeight;
			
			$tooltip.css({top: tPosY, left: tPosX});
		}
		
		function showTooltip(e)
		{
			$tooltip.appendTo('body');
			positionTooltip(e);
			$tooltip.css({opacity:0, display:'block'}).stop().animate({opacity:0},300,function(){
				$tooltip.animate({opacity:1},300);
			});
		}
		
		function hideTooltip()
		{
			$tooltip.remove();
		}
		
		$this.hover(showTooltip, hideTooltip).mousemove(positionTooltip);
	});
};

$.fn.tooltip.defaults = 
{
	classname: 'tooltip',
	text: 'element',
	Offset: { x: 0, y: -18 }
};
