(function($) { var Placeholder = { _PLACEHOLDERS : [], _p : function( $field ) { this.fieldObject = $field; this.placeholderText = $field.val(); var placeholderText = $field.val(); $field.addClass('ph'); $field.blur(function() { if ( $(this).val() == '' ) { $(this).val( placeholderText ); $(this).addClass('ph'); } }); $field.focus(function() { $(this).removeClass('ph'); if ( $(this).val() == placeholderText ) { $(this).val(''); } else { $(this)[0].select(); } }); }, add : function( $field ) { Placeholder._PLACEHOLDERS.push( new Placeholder._p( $field ) ); }, clearAll: function() { for ( var i=0; i < Placeholder._PLACEHOLDERS.length; i++ ) { if ( Placeholder._PLACEHOLDERS[i].fieldObject.val() == Placeholder._PLACEHOLDERS[i].placeholderText ) { Placeholder._PLACEHOLDERS[i].fieldObject.val(''); } } }, exists : function() { return ( _PLACEHOLDERS.length ); } }; $.GollumPlaceholder = Placeholder; })(jQuery);