(function(jQuery) {

	jQuery.fn.clearOnFocus = function() {
		
		function clearOnFocusFocus(event) {

			if(jQuery(this).val() == jQuery(this).data('clearOnFocus')) {

				jQuery(this).val('');

			}

		}
		
		function clearOnFocusBlur(event) {

			if(jQuery.trim(jQuery(this).val()) == '') {

				jQuery(this).val(jQuery(this).data('clearOnFocus'));

			}

		}
		
		return this.each(function() {

				jQuery(this).data('clearOnFocus', jQuery(this).attr('value'));
				
				//	unbind any previous listeners
				jQuery(this).unbind('focus', clearOnFocusFocus);
				jQuery(this).unbind('blur', clearOnFocusBlur);
				
				//	bind listeners to the functions
				jQuery(this).bind('focus', clearOnFocusFocus);
				jQuery(this).bind('blur', clearOnFocusBlur);

			}

		);

	};

})(jQuery);
