/**
* jquery.jtip 1.0. A simple tooltip plugin
* 
* Copyright (c) 2009 Diego Favareto
* http://www.diegofavareto.com
*
* Launch  : December 2009
* Version : 1.0
* Released: December 24, 2009 - 23:00pm
**/
$(document).ready(function($) {

  $.fn.jtip = function (settings) {
  
    var mouseX;
    var mouseY;
  
  	var showTimeout;
  	var hideTimeout;
  	
  	var tootltip = $('<div id="tooltip" style="position: absolute; z-index: 1000; max-width: 300px;"></div>');
  	tootltip.addClass("tooltip");
    tootltip.hide();
    tootltip.appendTo("body");
  	
    $("*[alt]").attr("alt","");
      
  	$().mousemove( function (event) {
      mouseX = event.pageX;
      mouseY = event.pageY;
      
      if ( !settings.isFixed ) {
        if ( $(document).width() - event.pageX >= 200 ) {
          tootltip.css("left",mouseX + settings.offsetX + "px");
        }
        if ( $(document).height() - event.pageY >= 200 ) {
          tootltip.css("top",mouseY + settings.offsetY + "px");
        }
      }
    });
  
  	return this.each(function () {
  		
  		if ( $(this).attr("title") != "" ) {
        $(this).attr("tooltip",$(this).attr("title"));
      }
      $(this).removeAttr("title");
      
      $(this)
        .mouseover( function (event) {
          if ( tootltip.is(":hidden") ) {
            clearTimeout(showTimeout);
            clearTimeout(hideTimeout);
            
            tooltip.innerHTML = $(this).attr("tooltip");
            
            showTimeout = setTimeout(function () {
              if ( settings.isFixed ) {
                if ( $(document).width() - event.pageX >= 200 ) {
                  tootltip.css("left",mouseX + settings.offsetX + "px");
                } else {
                  tootltip.css("left",$(document).width() - 200 + settings.offsetX + "px");
                }
                if ( $(document).height() - event.pageY >= 200 ) {
                  tootltip.css("top",mouseY + settings.offsetY + "px");
                } else {
                  tootltip.css("top",$(document).height() - 200 + settings.offsetY + "px");
                }
              }
              
              tootltip.fadeIn(settings.fadeIn);
            }, settings.showTimeout);
            
            hideTimeout = setTimeout(function () {
              tootltip.fadeOut(settings.fadeOut);
            }, settings.hideTimeout);
          }
        })
        .mouseout( function (event) {
          clearTimeout(showTimeout);
    		  tootltip.hide();
        });
        
    });
  
  }

});