(function($)
{
	$.fn.defaultText = function(options)
	{
		options = $.extend({ }, $.fn.defaultText.defaults, options);
		return this.each(function()
		{
			var _this = $(this);
			_this.data('is-default', true);
			_this.data('class-name', options.className);
			_this.data('default-text', typeof options.defaultText != 'undefined' ? options.defaultText : _this.val());
			_this.addClass(options.className).val(_this.data('default-text'));
			_this.focus(function()
			{
				var _this = $(this);
				_this.data('is-default', false).removeClass(options.className);
				if (_this.val() == _this.data('default-text'))
				{
					_this.val('');
				}
			}).blur(function()
			{
				var _this = $(this);
				if (_this.val() == '')
				{
					_this.data('is-default', true);
					_this.addClass(options.className).val(_this.data('default-text'));
				}
			});
		});
	};
	
	$.fn.actualVal = function()
	{
		return this.data('is-default') ? '' : this.val();
	};
	
	$.fn.defaultText.defaults =
	{
		className: 'default-text'
	};
})(jQuery);

