bind events overwriting themselves when called more than once through a jquery plugin

bind events overwriting themselves when called more than once through a jquery plugin

Here is my function.
  1. $.fn.textReplace = function(options) {
  2.     var defaults = {
  3.         text: "enter text"
  4.     };
  5.     var options = $.extend(defaults, options);
  6.     return this.each(function() {
  7.         obj = $(this);
  8.         if(obj.val() == '') {
  9.             obj.val(options.text);
  10.         } else {
  11.             options.text = obj.val();
  12.         }
  13.         obj.bind({
  14.             focus: function() {
  15.                 if(obj.val() == options.text) { obj.val(""); }
  16.             },
  17.             focusout: function() {
  18.                 if(obj.val() == "") { obj.val(options.text); }
  19.             }
  20.         });
  21.     });
  22. };
If I call say:

  1. $('input#email').textReplace({text:"your email address"});
  2. $('input#zip').textReplace({text:"your zip code"});
Only the zip field will toggle the text.

My question is: How do I fix the plugin so that the events don't overwrite eachother?

Thanks for any insight!