//setup using 
//$(element).INTToolTip(settings);
// element can be any element
// you must define the childelement in the settings object

$.fn.INTToolTip = function(settings){

    var tips = new jQuery.intToolTip(settings);
    tips.element = this;
    tips.assignToolTips();
	  return this;
};

jQuery.intToolTip = function( settings ) {

  var settings = jQuery.extend({
    'clname':'tipclass',
    'offsetx': 0,
    'offsety': 0,
    'fadeinspeed':'fast',
    'fadeoutspeed':'fast',
    'childelement': 'li'
  }, settings);


  var obj= this;
  obj.mousecoords= {};
  
  obj.assignToolTips = function(){
    $(obj.element).children(settings.childelelment).each(function(i){
      $(this).mouseover(function(e){obj.rollover(this,e);});
      $(this).mouseout(function(){obj.rollout(this);});
    });
  };
  
  
  //find position of mouse
  obj.mouseCoOrds = function(e){

  		var mouseX = e.pageX || (e.clientX ? e.clientX + document.body.scrollLeft : 0);
			var mouseY = e.pageY || (e.clientY ? e.clientY + document.body.scrollTop : 0);
			mouseX += settings.offsetx;
			mouseY += settings.offsety;
			obj.mousecoords = {x:mouseX,y:mouseY};

  };
  
  obj.rollover = function(element,e){
 
    obj.mouseCoOrds(e);
    if(!obj.tooltipdiv){
     
      var div      = document.createElement("div");
     //check element already been 'tip'ped
      if(!element.tip){
    
        var str_title = $(element).attr("title");
      
        if(!str_title){
          str_title = $(element).find('.tooltip').html();
        }
        if(!str_title){
          return false;
        }
        //add as element property so we can remove title attr
        element.tip = str_title;  
      }   
      obj.tooltipdiv = div;
      if(element.tip){$(div).attr({'class':settings.clname}).html((element.tip));
      }
		  $(element).removeAttr('title');
		  $('body').append(div);
			obj.tooltipset = true;
    }
    $(obj.tooltipdiv).fadeIn(settings.fadeinspeed).css({'left': obj.mousecoords.x + "px", 'top': obj.mousecoords.y + 3 + "px"});
  
  };
  obj.rollout = function(element){
   if(obj.tooltipdiv){
				$(obj.tooltipdiv).fadeOut(settings.fadeoutspeed);
				obj.tooltipdiv = null;			
			}
  };
};

