var WormChart = function(args) {
  this.positive = args["positive"];
  this.negative = 100 - this.positive;
  this.container = args["container"];

  this.render = function(){
    jQuery("#worm_chart .positive").css("height", "" + this.positive + "%");
    jQuery("#worm_chart .negative").css("height", "" + this.negative + "%");
  };

  this.animateUpdate = function() { 
    jQuery("#worm_chart .positive").animate({
      "height": "" + this.positive + "%"
    }, "slow");

    jQuery("#worm_chart .negative").animate({
      "height": "" + this.negative + "%"
    }, "slow");
  };

  this.updateValue = function(newPosValue) {
    this.positive = newPosValue;
    this.negative = 100 - newPosValue;
    this.animateUpdate();

    return newPosValue;
  };

  this.bindToClick = function() { 
    //var self = this;
    //jQuery("#worm_chart").click(function(){
      //var newPos = self.updateValue(Math.ceil(((250 - event.y) / 250.0) * 100));
      //jQuery(self.container).trigger("chartUpdated", newPos);
    //});
  };

  this.wormHtml = '<div id="worm_chart"> <div class="negative"></div> <div class="positive"> </div> </div>';
  
  jQuery(this.container).html(this.wormHtml);

  this.render();
  this.bindToClick();
  
  return this;
};

@@ -138,16 +138,65 @@
 ainer%22%5D;
+%0A  this.height = $(this.container).css(%22height%22);
 %0A%0A  this
@@ -955,19 +955,27 @@
 .ceil(((
-250
+this.height
  - event
@@ -984,11 +984,19 @@
 ) / 
-250
+this.height
 .0) 

remove the hardcoded dependency on hight. Now the height is dynamically calculated from the container.