code: function computeSlotSegCoords(seg, seriesBackwardPressure, seriesBackwardCoord) {
  	var forwardSegs = seg.forwardSegs;
  	var i;
  
  	if (seg.forwardCoord === undefined) { // not already computed
  
  		if (!forwardSegs.length) {
  
  			// if there are no forward segments, this segment should butt up against the edge
  			seg.forwardCoord = 1;
  		}
  		else {
  
  			// sort highest pressure first
  			forwardSegs.sort(compareForwardSlotSegs);
  
  			// this segment's forwardCoord will be calculated from the backwardCoord of the
  			// highest-pressure forward segment.
  			computeSlotSegCoords(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord);
  			seg.forwardCoord = forwardSegs[0].backwardCoord;
  		}
  
  		// calculate the backwardCoord from the forwardCoord. consider the series
  		seg.backwardCoord = seg.forwardCoord -
  			(seg.forwardCoord - seriesBackwardCoord) / // available width for series
  			(seriesBackwardPressure + 1); // # of segments in the series
  
  		// use this segment's coordinates to computed the coordinates of the less-pressurized
  		// forward segments
  		for (i=0; i<forwardSegs.length; i++) {
  			computeSlotSegCoords(forwardSegs[i], 0, seg.forwardCoord);
  		}
  	}
  }
docs: Calculate seg.forwardCoord and seg.backwardCoord for the segment, where both values range from 0 to 1. If the calendar is left-to-right, the seg.backwardCoord maps to "left" and seg.forwardCoord maps to "right" (via percentage). Vice-versa if the calendar is right-to-left.  The segment might be part of a "series", which means consecutive segments with the same pressure who's width is unknown until an edge has been hit. `seriesBackwardPressure` is the number of segments behind this one in the current series, and `seriesBackwardCoord` is the starting coordinate of the first segment in the series.