var Tooltip = Class.create();
Tooltip.prototype = {
    initialize: function(element,tip_element) {
        this.element = element;
        this.tip_element = tip_element;
        
        this.eventMouseOver = this.showTip.bindAsEventListener(this);
        this.eventMouseOut = this.hideTip.bindAsEventListener(this);
        this.eventMouseMove = this.drag.bindAsEventListener(this);
        
        Event.observe(this.element, 'mouseover', this.eventMouseOver);
        Event.observe(this.element, 'mouseout', this.eventMouseOut);
        Event.observe(this.element, 'mousemove', this.eventMouseMove);
		
		Element.hide ( this.tip_element );
    },
    
    showTip: function(e) {
		//new Effect.Appear ( this.tip_element, {duration:0.1} );
		Element.show ( this.tip_element );
        $(this.tip_element).style.position = 'absolute';
        $(this.tip_element).style.top = Event.pointerY(e)+10+"px";
        //$(this.tip_element).style.left = Event.pointerX(e)-($(this.tip_element).width/2)+"px";
		$(this.tip_element).style.left = Event.pointerX(e)+10+"px";
		$(this.tip_element).style.zIndex = '1000';
    },
    
    hideTip: function(e) {
        //new Effect.Fade ( this.tip_element, {duration:0.1} );
		Element.hide ( this.tip_element );
    },
    
    drag: function(e) {
        $(this.tip_element).style.top = Event.pointerY(e)+10+"px";
        //$(this.tip_element).style.left = Event.pointerX(e)-($(this.tip_element).width/2)+"px";
		$(this.tip_element).style.left = Event.pointerX(e)+10+"px";
    }
}
