var Tooltip = Class.create();

Tooltip.prototype = {
	initialize: function() {
		var anchors = document.getElementsByTagName('a');
		this.currentTootltip = null;
		// loop through all anchor tags
		for (var i=0; i<anchors.length; i++){
			var anchor = anchors[i];
			
			var relAttribute = String(anchor.getAttribute('rel'));
			
			// use the string.match() method to catch 'lightbox' references in the rel attribute
			if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('tooltip'))){
				Event.observe(anchor.parentNode, 'mouseover', this.show.bindAsEventListener(this,anchor), false);
				Event.observe(anchor.parentNode, 'mouseout', this.hide.bindAsEventListener(this,anchor), false);
			}
		}
	},
	
	show : function( event, anchor  ) {
		if( this.anchor != anchor ) {
			if( this.currentTooltip != null ) {
				Event.stopObserving(anchor.parentNode, 'mousemove', this.mouseMove, false);
				this.currentTooltip.style.display = "none";
			}
			
			this.anchor = anchor;
			this.mouseMove = this.move.bindAsEventListener(this,anchor);
			Event.observe(anchor.parentNode, 'mousemove', this.mouseMove, false);
				
			this.currentTooltip = document.getElementById(anchor.rel+"_t");
		
			var objBody = document.getElementsByTagName("body").item(0);
		
			this.currentTooltip.style.display= "block";
			//this.currentTooltip.parentNode.removeChild(this.currentTooltip);
		
			objBody.appendChild(this.currentTooltip);
			//offset = Position.cumulativeOffset(anchor);
			posX = Event.pointerX(event)+10;
			posY = Event.pointerY(event);
			this.currentTooltip.style.left = posX+"px";
			this.currentTooltip.style.top = posY+"px";
		}
		Event.stop(event);
		
	},
	move: function(event, anchor ) {
		posX = Event.pointerX(event)+10;
		posY = Event.pointerY(event);
		this.currentTooltip.style.left = posX+"px";
		this.currentTooltip.style.top = posY+"px";
	},
	hide : function( event, anchor ) {
		if( this.anchor == anchor ) {
			Event.stopObserving(anchor.parentNode, 'mousemove', this.mouseMove, false);
			this.currentTooltip.style.display= "none";
			this.currentTooltip = null;
			this.anchor = null;
		}
		//alert("ok");
		Event.stop(event);
	}
}


function initToolTip() { myToolTip = new Tooltip(); }
Event.observe(window, 'load', initToolTip, false);
