if (typeof Driebit == 'undefined') Driebit = {};

Driebit.defaultValue = new Class({
	initialize: function(element) {
		this._element = $(element);
		this._defaultValue = element.get('title');
		this._defaultClass = 'defaultvalue';
		this._focusClass = 'defaultvaluefocus';

		element.addEvent('focus', this.focusHandler.bind(this));
		element.addEvent('blur', this.blurHandler.bind(this));
		element.getParent('form').addEvent('submit', this.formSubmit.bind(this));

		this.blurHandler();
	},

	blurHandler: function () {
		if (this._element.get('value') == '') {
			this._element.set('value', this._defaultValue);
			this._element.removeClass(this._focusClass);
			this._element.addClass(this._defaultClass);
		}
	},

	focusHandler: function () {
		if (this._element.get('value') == this._defaultValue) {
			this._element.set('value', '');
			this._element.removeClass(this._defaultClass);
			this._element.addClass(this._focusClass);
		}
	},

	formSubmit: function () {
		if (this._element.get('value') == this._defaultValue)
			this._element.set('value', '');
	}
});

document.addEvent('domready', function () {
	$$('input.defaultvalue', 'textarea.defaultvalue').each(function (el) {
		new Driebit.defaultValue(el);
	});
});
