var f = null;

window.addEvent('domready', function() {
	init();
});

window.addEvent('unload', function() {
	f = null;
});

function init()
{
	f = new Engine();
	f.init( document );
}

var Engine = new Class({
	
	init: function( obj )
	{
		// everywhere
		this.relabels( obj.getElements('.relabel') );
	},
	
	relabels: function( objs )
	{
		objs.each( this.relabel.bind(this) );
	},
	
	relabel: function( obj )
	{
		var frm = obj.getParent('form');
		var labels = frm.getElements('label');
		for (var i=0; i<labels.length; i++)
		{
			if (labels[i].get('for') == obj.get('id'))
			{
				obj.defaultValue = labels[i].get('html');
				labels[i].setStyle('display', 'none');
			}
		}
		obj.set('value', obj.defaultValue);
		obj.addEvent('focus', function(obj) {
			if (obj.get('value') == obj.defaultValue)
				obj.set('value', '');
		}.pass(obj, this) );
		obj.addEvent('blur', function(obj) {
			if (obj.get('value') == '')
				obj.set('value', obj.defaultValue);
		}.pass(obj, this) );
	}
	
});
		
