/**
 * 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 1.0
 * @param  Object / String / Function
 * @param  Function
 * @return Object jQuery
 * @see http://www.mattlunn.me.uk/projects/autoclear
 * @see README
 */
(function(g){jQuery.fn.autoclear=function(d,h){var a={defaultClass:"default",otherClass:"other",defaultValue:"",useDefaultOnReset:true,clearDefaultOnSubmit:true,callback:jQuery.noop};if(arguments.length){if(typeof d==="string")a.defaultClass=d;else if(typeof d==="object")a=jQuery.extend(a,d);else if(typeof d==="function")a.callback=d;if(typeof h==="function")a.callback=h}this.bind({"focus.autoclear blur.autoclear":function(b){var c=g(this),e=jQuery.trim(this.value),f=this.title;if(b.type==="focus")e===f&&c.trigger("clear.autoclear");else if(e===""||e===f)c.trigger("default.autoclear")},"clear.autoclear":function(){var b=g(this);this.value="";if(!b.hasClass(a.otherClass)){b.removeClass(a.defaultClass).addClass(a.otherClass);a.callback.call(this,"clear")}},"default.autoclear":function(){var b=g(this);this.value=this.title;if(!b.hasClass(a.defaultClass)){b.removeClass(a.otherClass).addClass(a.defaultClass);a.callback.call(this,"default")}}});this.each(function(){function b(f,i){return f[i]!==undefined&&f[i]!==""}var c=g(this),e=c.closest("form");if(a.useDefaultOnReset){this.value=this.defaultValue;this.defaultValue=this.title;e.bind("reset.autoclear",function(){c.trigger("default.autoclear")})}a.clearDefaultOnSubmit&&e.bind("submit.autoclear",function(){c.trigger("focus.autoclear")});if(!b(this,"title")&&!b(this,"value")){this.title=a.defaultValue;c.trigger("default.autoclear")}if(b(this,"title"))b(this,"value")?c.addClass(a.otherClass):c.trigger("default.autoclear");else{this.title=this.value;c.trigger("default.autoclear")}})}})(jQuery);