/*
 * jQuery-plugin fyrir sérsniðna titla á HTML-hluti
 *
 * Notkun:
 *
 *    // venjuleg virkni, titlar birtast strax
 *    $(sel).mbltitle();
 *
 *    // titlar birtast eftir 500 msek
 *    $(sel).mbltitle(500);
 *
 *    // titlar birtast strax, birtar hratt ('fast' er gefið JQ-fallinu show)
 *    $(sel).mbltitle(null, 'fast');
 *
 * Titlarnir birtast í DIV hlutum með klasann mbltitle, nema annar klasi
 * sé tilgreindur í viðfanginu klass.
 */
jQuery.fn.mbltitle = function (delay, speed, klass) {

  var timer;
  if (!klass) klass = 'mbltitle';

  // Birtir titillinn sem er inni í this-hlutnum
  var showTitle = function (ev) {
    var THIS = this;

    // Staðsetning titilsins
    var l = ev.pageX + 5, t = ev.pageY + 7;

		if ($.fn.mbltitle.titleDiv) {
			$($.fn.mbltitle.titleDiv).remove();
		}

		$.fn.mbltitle.titleDiv = jQuery('body').append('<div class="mbltitle" id="divmbltitle">' + this.mbltitle + '</div>').find('#divmbltitle'); 
		console.log($.fn.mbltitle.titleDiv);
    
		// Sér um birtinguna sjálfa, í sér falli
    // svo að birtingin geti farið fram með setTimeout
    var showIt = function () {
      jQuery($.fn.mbltitle.titleDiv)
          .css('left', l+"px")
          .css('top', t+"px")
          .show(speed);
      timer = null;
    };
  
    if (delay) {
      timer = setTimeout(showIt, delay);
    } else {
      showIt();
    }
  };

  var hideTitle = function () {
    if (timer) {
      clearTimeout(timer);
      timer = null;
    }
    jQuery($.fn.mbltitle.titleDiv).hide();
  };
 
  // Uppsetning
  this.each(function () {
    var title = this.title;
    jQuery(this) //.wrap('<span class="' + klass + '"></span>')
                //.parent()
                .hover(showTitle, hideTitle);
                //.append('<div class="' + klass + '">' + title + '</div>');
		this.mbltitle = this.title;
    this.removeAttribute('title');
  });

};

