window.addEvent('domready', function(){
	var tips		= new Tips($$('.tipper'), {showDelay: 0, hideDelay: 0});
	tips.addEvent('show', function(tip, el){
		tip.fade('in');
	});
	tips.addEvent('hide', function(tip, el){
		tip.setStyle('display', 'block');
		tip.fade('out');
	});
})

	hide = function(el, container, callback){
		var trans		= new Fx.Tween(el, {duration: 300});
		trans.start('opacity', 0);
		trans.addEvent('complete', function(el){
			el.destroy();
			if(callback){
				callback();
			}
		}.bind(this))
	};

	show = function(el, container, callback){
		var trans		= new Fx.Tween(el, {duration: 300});
		trans.set('opacity', 0);
		el.inject(container);
		trans.start('opacity', 1);
		if(callback){
			trans.addEvent('complete', function(){
				callback();
			})
		}
	};

var Layer = new Class({
	Extends: Options,

	options: {
		layer: false,
		msg: 'Carregando...<br><img src="http://localhost/img/progress_bar.gif">'
	},

	initialize: function(container, options){
		this.setOptions(options),
		this.container		= $(container)
	},

	destroy: function(){;
		if(this.options.layer == true){
			var layer			= this.container.getElements('.load_layer').destroy();
		}
		var layer_content	= this.container.getElements('.load_layer_content').destroy();
	},

	inject: function(){
		if(this.options.layer == true){
			var layer			= new Element('div', {class: 'load_layer'});
			show(layer, this.container);
		}
		var layer_content	= new Element('div', {class: 'load_layer_content'});
		layer_content.innerHTML = this.options.msg;
		show(layer_content, this.container);
	}

})

