/**
 * Apply a default value to text fields quickly &amp; easily.
 *
 * The easiest way to use is $('your-selector').autoclear(). All the defaults
 * in the settings object are used. For more advanced cases, and complete
 * reference, @see http://www.mattlunn.me.uk/projects/autoclear
 *
 * @author Matt Lunn
 * @version 3
 * @param  Object / String
 * @return Object jQuery
 * @see http://www.mattlunn.me.uk/projects/autoclear
 * @see README 
 */
(function(e){function g(d){return d===undefined||d===""}jQuery.fn.autoclear=function(d){var b={defaultClass:"default",otherClass:"other",defaultValue:"",useDefaultOnReset:true,clearDefaultOnSubmit:true};if(arguments.length)switch(typeof d){case "string":b.defaultClass=d;break;case "object":b=jQuery.extend(b,d);break}this.filter("input:text,textarea").each(function(){var a=e(this),c=a.attr("title"),f=a.val(),h=a.closest("form");if(g(c))c=f===""?b.defaultValue:f;a.data("default.autoclear",c);h.bind("reset",function(){b.useDefaultOnReset?a.trigger("default"):a.val(a.attr("defaultValue")).trigger("blur")});if(b.useDefaultOnReset||g(jQuery.trim(a.attr("defaultValue"))))a.attr("defaultValue",c).val(f);b.clearDefaultOnSubmit&&h.bind("submit",function(){a.trigger("focus")})}).bind({"focus.autoclear":function(){var a=e(this);a.val()==a.data("default.autoclear")&&a.val("").trigger("other")},"blur.autoclear":function(){var a=e(this),c=jQuery.trim(a.val());c===a.data("default.autoclear")||c===""?a.trigger("default"):a.trigger("other")},"default.autoclear":function(){var a=e(this);a.val(a.data("default.autoclear")).removeClass(b.otherClass).addClass(b.defaultClass)},"other.autoclear":function(){e(this).removeClass(b.defaultClass).addClass(b.otherClass)}}).trigger("blur");return this}})(jQuery);
