(function(a){a.InFieldLabels=function(e,i,h){var g=this;g.$label=a(e);g.label=e;g.$field=a(i);g.field=i;g.$label.data("InFieldLabels",g);g.showing=true;g.init=function(){g.options=a.extend({},a.InFieldLabels.defaultOptions,h);if(g.$field.val()!=""){g.$label.hide();g.showing=false}g.$field.focus(function(){g.fadeOnFocus()}).blur(function(){g.checkForEmpty(true)}).bind("keydown.infieldlabel",function(b){g.hideOnChange(b)}).change(function(b){g.checkForEmpty()}).bind("onPropertyChange",function(){g.checkForEmpty()})};g.fadeOnFocus=function(){if(g.showing){g.setOpacity(g.options.fadeOpacity)}};g.setOpacity=function(b){g.$label.stop().animate({opacity:b},g.options.fadeDuration);g.showing=(b>0)};g.checkForEmpty=function(b){if(g.$field.val()==""){g.prepForShow();g.setOpacity(b?1:g.options.fadeOpacity)}else{g.setOpacity(0)}};g.prepForShow=function(b){if(!g.showing){g.$label.css({opacity:0}).show();g.$field.bind("keydown.infieldlabel",function(c){g.hideOnChange(c)})}};g.hideOnChange=function(b){if((b.keyCode==16)||(b.keyCode==9)){return}if(g.showing){g.$label.hide();g.showing=false}g.$field.unbind("keydown.infieldlabel")};g.init()};a.InFieldLabels.defaultOptions={fadeOpacity:0.5,fadeDuration:300};a.fn.inFieldLabels=function(b){return this.each(function(){var d=a(this).attr("for");if(!d){return}var c=a("input#"+d+"[type='text'],input#"+d+"[type='password'],textarea#"+d);if(c.length==0){return}(new a.InFieldLabels(this,c[0],b))})}})(jQuery);
