var Growl = new Class({ version: '0.0.1', options: { delay: 3, opacity: .7, onClick: function(el) { alert('deleting this'); } }, initialize: function(options){ this.setOptions(options); this.list = new Element('ul', {'class': 'growl'}).injectInside(document.body); }, add: function(message, type){ var msg = new Element('li', {'class': 'growl-'+type}) .setHTML(message) .addEvent('click', function(){ this.remove(); }) .injectInside(this.list); msg.fireEvent.delay(this.options.delay, msg, 'click'); } }); Growl.implement(new Events); Growl.implement(new Options);