   { name: 'FDP',                   class: 'fdp' } # It's better to be future-proof than optimistic.
   { name: 'CDU/CSU',               class: 'cducsu' }
 ]
+
+termBegin = new Date 2013, 9, 22
 
 T = (string) ->
   return dictionary[string] if dictionary[string]


  _data.each (rep, i) ->
    rep.nebeneinkuenfteMinSum = nebeneinkuenfteMinSum rep
    rep.nebeneinkuenfteCount = rep.nebeneinkuenfte.length
    rep.alphabeticOrder = i
    rep.nebeneinkuenfte.sort (a, b) -> b.level - a.level

  date.getFullYear()

NebeneinkunftMinAmounts = [ 0.01, 1000, 3500, 7000, 15000, 30000, 50000, 75000, 100000, 150000, 250000 ]
PeriodLength =
  monatlich: 1000 * 60 * 60 * 24 * 365 / 12,
  'jährlich': 1000 * 60 * 60 * 24 * 365

nebeneinkunftMinAmount = (einkunft) ->
  if einkunft.periodical is 'einmalig'
    count = 1
  else
    begin = +new Date(einkunft.begin) or +termBegin
    end = +new Date(einkunft.end) or Date.now()
    duration = end - begin
    count = Math.max 1, (duration / PeriodLength[einkunft.periodical]) | 0
  return NebeneinkunftMinAmounts[einkunft.level] * count

nebeneinkuenfteMinSum = (rep) ->
  return 0 if rep.nebeneinkuenfte.length == 0
  sum = rep.nebeneinkuenfte.reduce ((sum, einkunft) -> sum += nebeneinkunftMinAmount(einkunft)), 0
  return Math.max parseInt(sum, 10), 1

formatCurrency = _.memoize (amount, html = true) ->
