Handlebars    = require("handlebars")



# Handlebars.registerHelper 'chart', (data, options) ->
  
#   barCount = 5
  
#   max      = 0
#   for i in [0..barCount - 1]
#     max = Math.max max, data[i].count

#   buffer= '<span style="display: block">'
  
    
#   # Generate bars
#   for i in [0..barCount - 1]
#     buffer+= newBar(max, data[i].count)


#   # Generate labels
#   buffer+='<span class="x-axis-labels">'
#   for i in [0..barCount - 1]
#     buffer+='<span>' + data[i].day + '</span>'
#   buffer+='</span>'


#   buffer+='</span>'
 
#   return new Handlebars.SafeString(buffer);



Handlebars.registerHelper 'chart', (data, options) ->

  barCount = 5
  
  max      = 0
  for i in [0..barCount - 1]
    max = Math.max max, data[i].count

  buffer= '<table width="400">'
  
    
  # Generate bars
  buffer+='<tr>'
  for i in [0..barCount - 1]
    buffer+= newBar(max, data[i].count, data[i].day)
    
  buffer+='</tr>'



  buffer+='</table>'
 
  return new Handlebars.SafeString(buffer);





newBar = (max, count, xLabel) ->


  chartHeight = 130
  max = 10 if max < 10
  cellHeight = Math.floor( chartHeight / max )


  buffer= '<td width="50">'

  buffer+='<span class="bar">'

  

  # Insert blank cells
  blankCells = max - count
  if blankCells > 0
    for i in [1..blankCells]
      buffer+='<span style="min-height:' + cellHeight + 'px"></span>'

  # Add the bar label
  buffer+='<span class="bar-label">' + count + '</span>'

  filledCells = count
  if filledCells > 0
    for i in [1..filledCells]
      buffer+='<span style="min-height:' + cellHeight + 'px" class="filled"></span>'


  # Add the x axis label
  buffer+='<span class="x-axis-label" style="min-height: 20px">' + xLabel + '</span>'

  buffer+='</span>'

  buffer+='</td>'
  

  return buffer


