// INICJALIZACJA OBSLUGI DYMKOW
//
// Wyszukuje w dokumencie elementy o nadanej klasie .dymek, przenosi je na koniec  dokumentu(by nie bylo problemow z z-index)
// oraz przypisuje odpowiadajacym elementom o klasie .pokaz-dymek akcje pokazywania danego dymku.
// 
// UWAGA!
// Waznym jest, by kazdemu dymkowi odpowiadal jeden i tylko jeden element .pokaz-dymek. Spowodowane jest to wielkim uproszczeniem skryptu.

var tooltipIndex = 0;

function initTooltips()
{
 $('body').append($('<div id="dymki"></div>'));
 updateTooltips();
}

function extractTooltipId(fromWhere)
{
 var className = fromWhere.match(/pokaz-dymek-\d+/g)[0];
 className = className.split('-');
 return className[className.length - 1];
}

function updateTooltips()
{
 $('.dymek:not(.tooltip-moved)').each(function(i) {
  $(this).prev('.pokaz-dymek').removeClass('pokaz-dymek').addClass('pokaz-dymek-' + (tooltipIndex)).hover(function() {
   $('#dymek-' + extractTooltipId($(this).attr('class'))).show();
  }, function() {
   $('#dymek-' + extractTooltipId($(this).attr('class'))).hide();
  }).mousemove(function(e) {
   $('#dymek-' + extractTooltipId($(this).attr('class'))).css('left', (e.pageX + 5) + 'px').css('top', (e.pageY - $('#dymek-' + extractTooltipId($(this).attr('class'))).height() - 40) + 'px');
  });
  $(this).remove().appendTo('#dymki').attr('id', 'dymek-' + (tooltipIndex)).toggleClass('tooltip-moved');
  tooltipIndex++;
 });
}


// WYWOLANIE INICJALIZACJI
$(document).ready(function() {
 initTooltips();
});
