jQuery.fn.labelify=function(settings){if(typeof settings==="string"&&settings==="hasLabel"){return $(this).data("hasLabel");}settings=jQuery.extend({text:"title",labeledClass:""},settings);if(settings.labelledClass){settings.labeledClass=settings.labelledClass;}var showLabel,hideLabel,lookups,lookup,$labelified_elements;lookups={title:function(input){return $(input).attr("title");},label:function(input){return $("label[for="+input.id+"]").text();}};$labelified_elements=$(this);showLabel=function(el){$(el).data("value",el.value);el.value=$(el).data("label");$(el).addClass(settings.labeledClass).data("hasLabel",true);};hideLabel=function(el){el.value=$(el).data("value");$(el).removeClass(settings.labeledClass).data("hasLabel",false);};return $(this).each(function(){var $item=$(this),removeValuesOnExit;if(typeof settings.text==="string"){lookup=lookups[settings.text];}else{lookup=settings.text;}if(typeof lookup!=="function"||!lookup(this)){return ;}$item.bind("focus.label",function(){if(this.value===$(this).data("label")){hideLabel(this);}}).bind("blur.label",function(){if(this.value==""){showLabel(this);}});$item.data("label",lookup(this).replace(/\n/g,""));$item.data("value",this.value);removeValuesOnExit=function(){$labelified_elements.each(function(){if(this.value===$(this).data("label")){hideLabel(this);}});};$item.parents("form").submit(removeValuesOnExit);$(window).unload(removeValuesOnExit);if(this.value!==this.defaultValue||this.defaultValue!=""){return ;}showLabel(this);});};
