(function(c){c.InFieldLabels=function(e,f,d){var a=this;a.$label=c(e);a.label=e;a.$field=c(f);a.field=f;a.$label.data("InFieldLabels",a);a.showing=!0;a.init=function(){var b;a.options=c.extend({},c.InFieldLabels.defaultOptions,d);a.options.className&&a.$label.addClass(a.options.className);setTimeout(function(){""!==a.$field.val()?(a.$label.hide(),a.showing=!1):(a.$label.show(),a.showing=!0)},1);a.$field.focus(function(){a.fadeOnFocus()}).blur(function(){a.checkForEmpty(!0)}).bind("keydown.infieldlabel",
function(b){a.hideOnChange(b)}).bind("paste",function(){a.setOpacity(0)}).change(function(){a.checkForEmpty()}).bind("onPropertyChange",function(){a.checkForEmpty()}).bind("keyup.infieldlabel",function(){a.checkForEmpty()});0<a.options.pollDuration&&(b=setInterval(function(){""!==a.$field.val()&&(a.$label.hide(),a.showing=!1,clearInterval(b))},a.options.pollDuration))};a.fadeOnFocus=function(){a.showing&&a.setOpacity(a.options.fadeOpacity)};a.setOpacity=function(b){a.$label.stop().animate({opacity:b},
a.options.fadeDuration,function(){0===b&&a.$label.hide()});a.showing=0<b};a.checkForEmpty=function(b){""===a.$field.val()?(a.prepForShow(),a.setOpacity(b?1:a.options.fadeOpacity)):a.setOpacity(0)};a.prepForShow=function(){a.showing||(a.$label.css({opacity:0}).show(),a.$field.bind("keydown.infieldlabel",function(b){a.hideOnChange(b)}))};a.hideOnChange=function(b){16!==b.keyCode&&9!==b.keyCode&&(a.showing&&(a.$label.hide(),a.showing=!1),a.$field.unbind("keydown.infieldlabel"))};a.init()};c.InFieldLabels.defaultOptions=
{fadeOpacity:.5,fadeDuration:100,pollDuration:0,enabledInputTypes:"text password date datetime datetime-local month week email number search tel time url textarea".split(" "),className:!1};c.fn.inFieldLabels=function(e){var f=e&&e.enabledInputTypes||c.InFieldLabels.defaultOptions.enabledInputTypes;return this.each(function(){var d=c(this).attr("for");d&&(d=document.getElementById(d))&&(-1!==c.inArray(d.type,f)||"TEXTAREA"===d.nodeName)&&new c.InFieldLabels(this,d,e)})}})(jQuery);