var Tooltip = function() {
	this.initialize();
}

Tooltip.prototype = {
	initialize: function() {
		
		
		
		var anchors = document.getElementsByTagName('a');
		this.currentTootltip = null;
		// loop through all anchor tags
		var self = this;
		$("a[rel^='tooltip_']").each(function() {
			var anchor = $(this);
		
			$(anchor.parent()).mouseenter(
				function(event) {
					self.show(event, anchor);
				}
				
			).mouseleave(
				function(event) {
					self.hide(event, anchor);
				}
			);
		
		});
	},
	
	show : function( event, anchor  ) {
		if( this.anchor != anchor ) {
			if( this.currentTooltip != null ) {
				$(anchor.parentNode).unbind("mousemove")
				//Event.stopObserving(anchor.parentNode, 'mousemove', this.mouseMove, false);
				this.currentTooltip.style.display = "none";
			}
			var self = this;
			this.anchor = anchor;
			this.mouseMove = function(event) {
				self.move(event,anchor);
			}
			
			$(anchor.parent()).mousemove(this.mouseMove)
				
			this.currentTooltip = $("#"+anchor.attr("rel")+"_t");
		
			var objBody = $("body");
		
			this.currentTooltip.css("display","block");
			//this.currentTooltip.parentNode.removeChild(this.currentTooltip);
		
			objBody.append(this.currentTooltip);
			//offset = Position.cumulativeOffset(anchor);
			//console.dir(event);
			
			posX = event.pageX+10;//Event.pointerX(event)+10;
			posY = event.pageY;//Event.pointerY(event);
			this.currentTooltip.css({"left":posX, "top":posY});
		}
		
	},
	move: function(event, anchor ) {
		posX = event.pageX+10;//Event.pointerX(event)+10;
		posY = event.pageY;//Event.pointerY(event);
		this.currentTooltip.css({"left":posX, "top":posY});
	},
	hide : function( event, anchor ) {
		if( this.anchor == anchor ) {
			$(anchor.parent()).unbind("mousemove");
			
			this.currentTooltip.css("display","none");
			this.currentTooltip = null;
			this.anchor = null;
		}
		//alert("ok");
		//Event.stop(event);
	}
}

jQuery(function() {
	myToolTip = new Tooltip();
});
