/**
 * Plugin's name basically says it all.
 * Use it on input fields in forms.
 *
 * Plamen Ivanov.
 * qnq6666@gmail.com
 */

(function($){
	jQuery.fn.restoreTextOnBlur = function(method){
	if (methods[method]){
			return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
		} else if (typeof method === 'object' || !method){
			return methods.init.apply(this, arguments);
		} else{
			$.error('jQuery.restoreTextFocusOut, unsupported action:  ' + method);
		}
	};
	
	var dataKey = 'initVal';
	
	var methods = {
		init: function(options)
		{
		    var name = '';
			$(this).each(function(index, elem) {										
				/*if (undefined == $(elem).val()
					|| null == $(elem).val()
					|| 0 == $(elem).val().length)
				{
					return;
				}*/
			    name = $(elem).attr('name');
			    if (0 == name.length
			        || undefined == options[name] )
			    {
			        return;
			    }
				
				$(elem).data(dataKey, options[name]);
			    if (0 == $(elem).val().length)
			    {
			        $(elem).val(options[name]);
			    }
				
				$(elem).bind('focus', methods.focused);
				$(elem).bind('blur', methods.blured);
			});
		},
		
		focused: function(event)
		{
			var initVal = $(this).data(dataKey);
			
			if (initVal == $(this).val())
			{
				$(this).val('');
			}
		},
		
		blured: function(event)
		{
			var initVal = $(this).data(dataKey);
			
			if (0 == $.trim($(this).val()).length)
			{
				$(this).val(initVal);
			}
		}
	};
	
})(jQuery);
