       Energy:
         id: 'energy'
         htitle: 'Time (ticks)'
-        vtitle: 'Net energy embodied by indviduals'
+        vtitle: 'Net energy embodied by individuals'
         collector: (stats, rows) ->
           counts = Plant: 0, Herbivore: 0, Carnivore: 0
           counts[description.type] += description.hp for description in stats

      e.parentNode.replaceChild div, e
drawChart = ->
  for title, specs of evoData.charts[chartType] || {}
    id     = specs.id
    rows   = trimData specs.rows
    names  = specs.names
    chart  = specs.chart
    htitle = specs.htitle
    vtitle = specs.vtitle
    width  = specs.width || 1000
    height = specs.height || 400
    colors = specs.colors
    for c, i in colors
      colors[i] = c() if typeof c == 'function'
    data = new google.visualization.DataTable()
    data.addColumn 'number', 'X'
    data.addColumn 'number', n for n in names
    data.addRows rows
    options =
      title: title
      width: width
      height: height
      hAxis:
        title: htitle
      vAxis:
        title: vtitle
    options.colors = colors if colors
    if chart
      chart.clearChart()
    else

decamelize = (str) ->
  str = str.replace /([a-z])([A-Z])/g, "$1 $2"
  str.toLowerCase()
titlize = (str) ->
  str.replace /\b[a-z]/g, (s) -> s.charAt(0).toUpperCase() + s.substr(1).toLowerCase()
text = (t) ->
  document.createTextNode(t)
intFormat = (int) ->
