title: jQuery - Create public method that uses configured options
body: <p>I'm trying to create a basic plugin that uses options and then a method off the object that uses the set options.</p>
  
  <pre><code> $.sn_Watermark = $.sn_Watermark || {
          options: {
              waterMarkText: "Watermark Text",
              className: "watermarked"
          },
          show: function(selector) {
              $(selector)
                  .addClass("watermarked")
                  .val("Watermark Text");
          }
      };  
  
     $.fn.sn_Watermark = $.fn.sn_Watermark || function (options) {
              if(options == null)
                  options = $.sn_Watermark.options;
              else
                  options = $.extend($.sn_Watermark.options, options);
  
              return this.each(function () {
                  $tb = $(this);
                      if ($tb.val() == "" || $tb.val() == options.waterMarkText ) {
                          $tb.addClass(options.className);
                          $tb.val(options.waterMarkText);
                      }
                  }).focus(function () {
                      $tb = $(this);
                      if ($tb.val() == options.waterMarkText) {
                          $tb.val("");
                          $tb.removeClass(options.className);
                      }
                  }).blur(function () {
                  //var clearLnk = "[LnkClearRowNum=" + $tb.attr('TextBoxRowNum') + "]";
                  if ($tb.val() == '') {
                      // $(clearLnk).hide();
                      $tb.addClass(options.className);
                      $tb.val(options.waterMarkText);
                  }
                  else if ($tb.val() == options.waterMarkText){ //if user types in water mark text
                      $tb.addClass(options.className);
                  }
                  else {
                      //$(clearLnk).show();
                      $tb.removeClass(options.className);
                  }
              });
          };
  
      $(document).ready(function () {
        $("[TextBoxRowNum]").sn_Watermark({waterMarkText: "My Text"} );
        $.sn_Watermark.show("[TextBoxRowNum]");
     });
  </code></pre>
  
  <p>So when I call show it uses the "hard coded" defaults.
  I was trying to do something like this, but without any luck.</p>
  
  <pre><code> $.sn_Watermark = $.sn_Watermark || {
          options: {
              waterMarkText: "Watermark Text",
              className: "watermarked"
          },
          show: function(selector) {
              $(selector)
                  .addClass(options.waterMarkTest)
                  .val(options.className);
          }
      };
  </code></pre>
  
  <p>So my question is, is there an easy way to pass in the options in the show method?</p>