(function(A){A.InFieldLabels=function(C,E,B){var D=this;D.$label=A(C);D.label=C;D.$field=A(E);D.field=E;D.$label.data("InFieldLabels",D);D.showing=true;D.init=function(){D.options=A.extend({},A.InFieldLabels.defaultOptions,B);if(D.$field.val()!=""){D.$label.hide();D.showing=false}D.$field.focus(function(){D.fadeOnFocus()}).blur(function(){D.checkForEmpty(true)}).bind("keydown.infieldlabel",function(F){D.hideOnChange(F)}).change(function(F){D.checkForEmpty()}).bind("onPropertyChange",function(){D.checkForEmpty()})};D.fadeOnFocus=function(){if(D.showing){D.setOpacity(D.options.fadeOpacity)}};D.setOpacity=function(F){D.$label.stop().animate({opacity:F},D.options.fadeDuration);D.showing=(F>0)};D.checkForEmpty=function(F){if(D.$field.val()==""){D.prepForShow();D.setOpacity(F?1:D.options.fadeOpacity)}else{D.setOpacity(0)}};D.prepForShow=function(F){if(!D.showing){D.$label.css({opacity:0}).show();D.$field.bind("keydown.infieldlabel",function(G){D.hideOnChange(G)})}};D.hideOnChange=function(F){if((F.keyCode==16)||(F.keyCode==9)){return }if(D.showing){D.$label.hide();D.showing=false}D.$field.unbind("keydown.infieldlabel")};D.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);
