/* * jQuery Form Example Plugin 1.5 * Populate form inputs with example text that disappears on focus. * * e.g. * $('input#name').example('Bob Smith'); * $('input[@title]').example(function() { * return $(this).attr('title'); * }); * $('textarea#message').example('Type your message here', { * className: 'example_text' * }); * * Copyright (c) Paul Mucur (http://mudge.name), 2007-2011. * Dual-licensed under the BSD (BSD-LICENSE.txt) and GPL (GPL-LICENSE.txt) * licenses. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ (function(a){"use strict",a.fn.example=function(b,c){var d=a.isFunction(b),e=a.extend({},c,{example:b});return this.each(function(){var b,c=a(this);a.metadata?b=a.extend({},a.fn.example.defaults,c.metadata(),e):b=a.extend({},a.fn.example.defaults,e),a.fn.example.boundClassNames[b.className]||(a(window).bind("unload.example",function(){a("."+b.className).val("")}),a("form").bind("submit.example",function(){a(this).find("."+b.className).val("")}),a.fn.example.boundClassNames[b.className]=!0),!c.attr("value")&&(d||c.val()===b.example)&&c.val(""),c.val()===""&&this!==document.activeElement&&(c.addClass(b.className),c.val(d?b.example.call(this):b.example)),c.bind("focus.example",function(){a(this).is("."+b.className)&&(a(this).val(""),a(this).removeClass(b.className))}),c.bind("change.example",function(){a(this).is("."+b.className)&&a(this).removeClass(b.className)}),c.bind("blur.example",function(){a(this).val()===""&&(a(this).addClass(b.className),a(this).val(d?b.example.call(this):b.example))})})},a.fn.example.defaults={className:"example"},a.fn.example.boundClassNames=[]})(jQuery);