var TooltipGroup = Class.create({
	initialize: function(className, tooltipID) {
		this.options = Object.extend({
			postfix:	'-text',
			element:	'p',
			
			width:		200,
			onLeft:		true,
			offsetLeft:	15,
			offsetTop:	-5
		}, arguments[2] || {} );
		
		this.className = className;
		this.tooltip   = $(tooltipID);
		
		this.bonMouseover = this.onMouseover.bindAsEventListener(this);
		this.bonMouseout  = this.onMouseout.bindAsEventListener(this);
		
		$$(this.options.element + '.' + this.className).each(function(elem) {
			elem.observe('mouseover', this.bonMouseover);
			elem.observe('mouseout',  this.bonMouseout);
		}, this);
	},
	
	onMouseover: function(event) {
		var triggerElem   = Event.element(event);
		var triggerOffset = triggerElem.cumulativeOffset();
		var textElem      = $(triggerElem.readAttribute('id') + this.options.postfix);
		
		if(this.options.onLeft == false)
		{
			var left = triggerOffset.left + element.getWidth() + this.options.offsetLeft;
			var top  = triggerOffset.top  + this.options.offsetTop;
		}
		else
		{
			var left = triggerOffset.left - this.options.width - this.options.offsetLeft;
			var top  = triggerOffset.top  + this.options.offsetTop;
		}
		
		this.tooltip.setStyle({top: top + 'px', left: left + 'px', width: this.options.width + 'px'});
		this.tooltip.update(textElem.innerHTML);
		this.tooltip.show();
	},
	
	onMouseout: function() {
		this.tooltip.hide();
	}
});