function Scales(params, graphs, timeXScale, equalXScale, metricXScale,
    elemLogScaleButton, elemTimeXScaleButton, elemEqualXScaleButton,
    elemLogScaleButtonOpposite, elemTimeXScaleButtonOpposite,
    elemEqualXScaleButtonOpposite, elemTimeXScaleButtonCl) {
  this.params_ = params;
  this.graphs_ = graphs;

  this.timeXScale = timeXScale;
  this.equalXScale = equalXScale;
  this.metricXScale = metricXScale;

  this.elemLogScaleButton = $(elemLogScaleButton);
  this.elemTimeXScaleButton = $(elemTimeXScaleButton);
  this.elemEqualXScaleButton = $(elemEqualXScaleButton);
  this.elemLogScaleButtonOpposite = $(elemLogScaleButtonOpposite);
  this.elemTimeXScaleButtonOpposite = $(elemTimeXScaleButtonOpposite);
  this.elemEqualXScaleButtonOpposite = $(elemEqualXScaleButtonOpposite);
  this.elemTimeXScaleButtonCl = $(elemTimeXScaleButtonCl);

  this.logYScale = this.params_.frag.logscale == '1';
  this.graphLoadFunction_ = null;
}
/**
 * @constructor
 * @param {Params} params A URL parameter storage and manipulation object.
 * @param {Graphs} graphs A graphs manipulation object.
 * @param {boolean} timeXScale If True X-axis is in units of time, otherwise
 *   in units of CL.  This is the intial value.
 * @param {boolean} equalXScale If True X-axis is equally spaced, otherwise
 *   variably spaced.
 * @param {String} metricXScale The metric to use for the X-axis when timeXScale
 *   is false.
 * @param {jQuerySelector} elemLogScaleButton The first button in the log-scale
 *   button pair.
 * @param {jQuerySelector} elemTimeXScaleButton The first button in the time/CL
 *   button pair.
 * @param {jQuerySelector} elemEqualXScaleButton The first button in the
 *   equal/variable button pair.
 * @param {jQuerySelector} elemLogScaleButtonOpposite The second button in the
 *   log-scale button pair.
 * @param {jQuerySelector} elemTimeXScaleButtonOpposite The second button in the
 *   time/CL button pair.
 * @param {jQuerySelector} elemEqualXScaleButtonOpposite The second button in
 *   the equal/variable pair.
 * @param {jQuerySelector} elemTimeXScaleButtonCl Button used to reset the
 *   X-scale to units of CL.
 */
@constructor
@param {Params} params A URL parameter storage and manipulation object.
@param {Graphs} graphs A graphs manipulation object.
@param {boolean} timeXScale If True X-axis is in units of time, otherwise
in units of CL.  This is the intial value.
@param {boolean} equalXScale If True X-axis is equally spaced, otherwise
variably spaced.
@param {String} metricXScale The metric to use for the X-axis when timeXScale
is false.
@param {jQuerySelector} elemLogScaleButton The first button in the log-scale
button pair.
@param {jQuerySelector} elemTimeXScaleButton The first button in the time/CL
button pair.
@param {jQuerySelector} elemEqualXScaleButton The first button in the
equal/variable button pair.
@param {jQuerySelector} elemLogScaleButtonOpposite The second button in the
log-scale button pair.
@param {jQuerySelector} elemTimeXScaleButtonOpposite The second button in the
time/CL button pair.
@param {jQuerySelector} elemEqualXScaleButtonOpposite The second button in
the equal/variable pair.
@param {jQuerySelector} elemTimeXScaleButtonCl Button used to reset the
X-scale to units of CL.
@constructor @param { Params } params A URL parameter storage and manipulation object . @param { Graphs } graphs A graphs manipulation object . @param { boolean } timeXScale If True X - axis is in units of time otherwise in units of CL . This is the intial value . @param { boolean } equalXScale If True X - axis is equally spaced otherwise variably spaced . @param { String } metricXScale The metric to use for the X - axis when timeXScale is false . @param { jQuerySelector } elemLogScaleButton The first button in the log - scale button pair . @param { jQuerySelector } elemTimeXScaleButton The first button in the time / CL button pair . @param { jQuerySelector } elemEqualXScaleButton The first button in the equal / variable button pair . @param { jQuerySelector } elemLogScaleButtonOpposite The second button in the log - scale button pair . @param { jQuerySelector } elemTimeXScaleButtonOpposite The second button in the time / CL button pair . @param { jQuerySelector } elemEqualXScaleButtonOpposite The second button in the equal / variable pair . @param { jQuerySelector } elemTimeXScaleButtonCl Button used to reset the X - scale to units of CL .
function Scales(params, graphs, timeXScale, equalXScale, metricXScale,
    elemLogScaleButton, elemTimeXScaleButton, elemEqualXScaleButton,
    elemLogScaleButtonOpposite, elemTimeXScaleButtonOpposite,
    elemEqualXScaleButtonOpposite, elemTimeXScaleButtonCl) {
  this.params_ = params;
  this.graphs_ = graphs;
  this.timeXScale = timeXScale;
  this.equalXScale = equalXScale;
  this.metricXScale = metricXScale;
  this.elemLogScaleButton = $(elemLogScaleButton);
  this.elemTimeXScaleButton = $(elemTimeXScaleButton);
  this.elemEqualXScaleButton = $(elemEqualXScaleButton);
  this.elemLogScaleButtonOpposite = $(elemLogScaleButtonOpposite);
  this.elemTimeXScaleButtonOpposite = $(elemTimeXScaleButtonOpposite);
  this.elemEqualXScaleButtonOpposite = $(elemEqualXScaleButtonOpposite);
  this.elemTimeXScaleButtonCl = $(elemTimeXScaleButtonCl);
  this.logYScale = this.params_.frag.logscale == '1';
  this.graphLoadFunction_ = null;
}
function Scales ( params , graphs , timeXScale , equalXScale , metricXScale , elemLogScaleButton , elemTimeXScaleButton , elemEqualXScaleButton , elemLogScaleButtonOpposite , elemTimeXScaleButtonOpposite , elemEqualXScaleButtonOpposite , elemTimeXScaleButtonCl ) { this . params_ = params ; this . graphs_ = graphs ; this . timeXScale = timeXScale ; this . equalXScale = equalXScale ; this . metricXScale = metricXScale ; this . elemLogScaleButton = $ ( elemLogScaleButton ) ; this . elemTimeXScaleButton = $ ( elemTimeXScaleButton ) ; this . elemEqualXScaleButton = $ ( elemEqualXScaleButton ) ; this . elemLogScaleButtonOpposite = $ ( elemLogScaleButtonOpposite ) ; this . elemTimeXScaleButtonOpposite = $ ( elemTimeXScaleButtonOpposite ) ; this . elemEqualXScaleButtonOpposite = $ ( elemEqualXScaleButtonOpposite ) ; this . elemTimeXScaleButtonCl = $ ( elemTimeXScaleButtonCl ) ; this . logYScale = this . params_ . frag . logscale == '1' ; this . graphLoadFunction_ = null ; }
@constructor
 @param {Params} params A URL parameter storage and manipulation object.
@constructor @param { Params } params A URL parameter storage and manipulation object .