ciao a tutti

ho scaricato (credo proprio da HTML.it) uno script per tooltip personalizzati.
ve lo posto
codice:
this.tooltip = function(){
		xOffset = 10;
		yOffset = 20;	
	$("img").hover(function(e){
		if((this.title!="")&&(this.title!="undefined")){
			this.t = this.title;
			this.title = "";									  
			$("body").append("<p id='tooltip'>"+ this.t +"</p>");
			$("#tooltip")
				.css("top",(e.pageY - xOffset) + "px")
				.css("left",(e.pageX + yOffset) + "px")
				.fadeIn("medium");
		}
    		},
		function(){
			this.title = this.t;
			$("#tooltip").animate({opacity:'0'},250);
			$("#tooltip").queue("fx",function(){$("#tooltip").remove();});
		});	
	$("img").mousemove(function(e){
			$("#tooltip")
				.css("top",(e.pageY - xOffset) + "px")
				.css("left",(e.pageX + yOffset) + "px");
		});	
};

$(document).ready(function(){
		this.tooltip();
	});
fino a qualche tempo fa funzionava (sempre sulla stessa pagina) da qualche tempo a questa parte ha deliberatamente deciso che non ne aveva più voglia e ha trovato un modo quantomeno singolare di rompermi i maroni....
facendolo andare in chrome vedo che effettivamente i tooltip personalizzati non ci sono, guardo nella console e mi rileva un errore a $(document).ready(function(){ dicendomi che $ non è stato definito...
ovviamente io jquery l'ho incluso nella pagina, infatti tutte le altre volte che la console javascript incontra $ non mi dice niente!! ma allora come è possibile che solo UNA volta nello stesso script (manco fosse la prima che compare) mi dica che non è stato definito?

a qualcuno viene il lampo di genio? come risolvo sta situazione scomoda?

grazie in anticipo a chi mi risponderà :P