var FormValidMessage = new Class({
	Implements: [Options, Events, Log],
	Extends: FormMessage,
	
	options: {
		allowClose: false,
		heading: null,
		text: null
	},
	
	// Variables

	
	/*
	 * Initialize
	 */
	initialize: function(form, container, options)
	{
		//this.enableLog();
		this.log("FormValidMessage::initialize(" + form + ", " + container + ", " + options + ")");
		
		// Set options
		this.setOptions(options);
		
		this.parent(form, container, options);
	},
	
	/*
	 * Build
	 */
	build: function()
	{
		this.log("FormValidMessage::build()");
		
		if(this.element)
		{
			var element = new Element('div', {'class': 'form-message'});
			element.addClass('valid');
			
			var closeButton = new Element('a', {
					'href': '#',
					'class': 'close-button',
					'events': {
						'click': function(event) 
						{
							event.preventDefault();
							this.hide();
						}.bind(this)
					}
			});
			
			var heading = new Element('h4', {'text': this.options.heading});
			var text = new Element('p', {'html': this.options.text});
			
			if(this.options.allowClose)
			{
				element.adopt(closeButton);
			}
			
			if(this.options.heading)
			{
				element.adopt(heading);
			}
			
			if(this.options.text)
			{
				element.adopt(text);
			}
			
			// Add element to DOM
			element.inject(this.container, 'top');	
			
			// Create animation
			this.elementFx = new Fx.Tween(element, {
				duration: 250,
				transition: 'linear',
				link: 'cancel'
			});
			element.setStyle('opacity', 0);
			
			this.element = element;
		}
	}
	
});
