Element.implement({

	fadein: function(du, de) {
		if(!du)du=500;
		if(!de)de=0;

		var f = function() {this.setStyle('opacity', 0); this.get('tween', {property: 'opacity', duration: du, onStart: function(){this.show();}.bind(this)}).start(0,1);};
		if(this.getStyle('display') == 'none')f.delay(de,this);

		return this;
	},

	fadeout: function(du, de) {
		if(!du)du=500;
		if(!de)de=0;

		var f = function() {this.get('tween', {property: 'opacity', duration: du, onComplete: function(){this.hide();}.bind(this)}).start(0);};
			
		f.delay(de,this);
		return this;
	}

});
