text: /*
   * autounits: a jQuery plugin, version: 0.1.0 (2011-08-27)
   * @requires jQuery v1.2.3 or later
   */
  (function($) {
  
    $.fn.autounits = function(options) {
      var settings = {
        'metric': true,
        'humanize': true,
      };
      
      if (options) {
        $.extend(settings, options);
      }
  
      this.each(function() {
        refresh(settings, this);
      });
      return this;
    };
  
    function refresh(settings, self) {
      var data = prepareData(self);
      $(self).text(toHuman(settings, data.volume_ml));
      return this;
    }
  
    function prepareData(self) {
      var element = $(self);
      if (!element.data("autounits")) {
        var text = $.trim(element.text());
        element.data("autounits", {
          num: $(self).find("span.num").text(),
          unit: $(self).find("span.unit").text(),
          volume_ml: $(self).find("span.num").text(),
        });
      }
      return element.data("autounits");
    }
  
    function toOunces(amountInMilliliters) {
      return 0.0338140227 * amountInMilliliters;
    }
  
    function toHuman(settings, volume_ml) {
      volume_ml = parseFloat(volume_ml);
  
      if (!settings.metric) {
        var amt = toOunces(volume_ml);
        var units = "oz";
  
        if (amt < 10) {
          amt = amt.toFixed(2);
        } else if (amt < 128) {
          amt = amt.toFixed(1);
        } else {
          amt = amt / 16.0;
          amt = amt.toFixed(0);
          units = "pints";
        }
  
        return amt + " " + units;
      } else {
        var liters = volume_ml / 1000.0;
        if (liters < 0.5) {
          liters = liters.toFixed(2);
        } else if (liters < 100) {
          liters = liters.toFixed(1);
        } else {
          liters = liters.toFixed(0);
        }
  
        return liters + " L";
      }
    }
  
  })(jQuery);
  