/**
 * @author frukt kuubis
 */

function tooltip(e){
	if($(e).attr('rel').length<1){return false;}
	$('#tip').remove();
	
	// create tooltip if none exist
	if($('#tip').length == 0){
		var tooltip = $('<div></div>').addClass('tooltip-container').attr('id','tip');
  	$('body').append(tooltip);
	}
	
	// set text
	$('#tip').text($(e).attr('rel'));
	
	// find position of current object
	var positions = findPos(e);
	var height = $('#tip').height()+24;
	var top = positions[1]-height;
	
	// find max left
	var docWidth = $(document).width();
	var tipWidth = $('#tip').width()+20+2;
	var left = (positions[0]+tipWidth) > docWidth ? (docWidth-tipWidth) : positions[0]; 
	
	// set position
	$('#tip').css({'top':top+'px','left':left+'px'});
	
	// fade in tooltip
	$('#tip').fadeIn(750);
}
function losetip(){
	// fade out tooltip
	$('#tip').fadeOut(500);//, function(){ $('#tip').remove(); });
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
		while (obj = obj.offsetParent);
	}		
	return [curleft,curtop];
}

function initTooltips(){
	$('.tooltip').each(function(i, item){
		$(item).bind('mouseover', function(){
			tooltip(this);
		}).bind('mouseout', function(){
			losetip();
		});
	});
}

$(document).ready(function(){
	initTooltips();
});
