/**
 * @author Víctor San Martín
 */
var Tooltip = Class.create();
Tooltip.prototype = {
	options:{
		className : 'tooltip',
		margin : 15
	}, 
	initialize: function (options)
	{		
		this.options = Object.extend(this.options, options || {});
		
		var self = this;
		//$$('.'+ this.options.className).each(function(e) {
			//self.builder(e);			
		//});
		$$("input[title], select[title]").each(function(e) {
			self.builder(e);			
		});
	},
	builder: function (e)
	{
		var self = this;
		
		if (e.readAttribute('title')) {
			if (e.readAttribute('id') == null) {
				e.id = e.name.camelize();
			}
			
			tooltip = "<div class=\"tooltip-aviso\" id=\"For" + e.id + "\" style=\"display:none\">"+ e.title +"<span class=\"tooltip-pointer\">&nbsp;</span></div>";
			e.title = "";
			new Insertion.After(e, tooltip);
			var elm = $("For" + e.id + "");
			
			Event.observe(e, 'focus',
				function() {
					var dimensions = e.getDimensions();
					var _height = dimensions.height;
					
					_margin = '0 0 0 ' + (dimensions.width + self.options.margin) + 'px';
					if (e.hasClassName("option-horizontal"))
					{
						elm.addClassName('tooltip-aviso-horizontal');
						elm.down(0).addClassName('tooltip-pointer-horizontal');
						_margin = (_height + self.options.margin) + 'px 0 0 0';
					}
					
					_pos = Position.positionedOffset(e);
					elm.setStyle({
						margin: _margin,
						display: 'block',
						left: _pos[0] +'px',
						top: _pos[1] +'px'
					});
				}
			);
			
			Event.observe(e, 'blur',
				function() {
					elm.setStyle({
					  display: 'none'
					});
				}
			);
		}
	}
}
function initTooltip() { var myTooltip = new Tooltip(); }
Event.observe(window, 'load', initTooltip, false);