﻿var Labeler = new Class({
	
	initialize:function(o, value, is_required)
	{
		var obj = $(o);
		obj.defaultValue = value;
		if (is_required)
		{
			obj.addClass('required');
		}

		obj.is_required = is_required;
		
		obj.addEvent('focus', function(){
			if (this.value == this.defaultValue)
			{
				this.value = '';
				
				if (this.is_required)
				{
					this.removeClass('required');
				}

			}
		});
		
		obj.addEvent('blur', function(){
			if (this.value == '')
			{
				this.value = this.defaultValue;
				
				if (this.is_required)
				{
					this.addClass('required');
				}
			}
		})
	}
});

var FileLabeler = new Class({
	initialize:function(o, text)
	{
	
		if (Browser.Engine.webkit)
		{
			return;
		}
		
		var obj = $(o);
		var lbl = new Element('label');
		lbl.setStyles({
			'position':'absolute',
			'top':obj.getCoordinates().top + 5,
			'left':obj.getCoordinates().left + 4
		});
		lbl.set('text', text);
		lbl.set('for', o);
		
		obj.label = lbl;
		
		obj.addEvent('focus', function(){
			this.label.setStyle('display', 'none');
		});
		
		lbl.addEvent('click', function(){
			this.setStyle('display', 'none');
		});

		lbl.inject(obj, 'after');
	}
});
