﻿var Labeler = new Class({
	
	initialize:function(o, value, is_required, empty_value)
		{
		var obj = $(o);
		obj.defaultValue = value;
		obj.emptyValue = empty_value;
		
		if (is_required)
			{
			obj.addClass('required');
			}
		obj.is_required = is_required;
		
		obj.addEvent('focus', function()
			{
			if (this.value == this.defaultValue)
				{
				this.value = obj.emptyValue;
				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');
	}
});

