       date.setDate(date.getDate() + 6)
       datestr = datestr + "-" + date2String(date) + ")"
       @dataTimeline.html("Nowcasting epi-week " + epiweek2%100 + " " + datestr)
-      callback = (epidata) =>
-        @colors = {}
-        @mapData = {}
-        for row in epidata
-          if row.epiweek == epiweek2
-            ili = row.value
-            v = Math.max(0, Math.min(5, ili)) / 5
-            c = ('0' + Math.round(0x3f + v * 0xc0).toString(16)).slice(-2)
-            @colors[row.location] = '#' + c + '4040'
-            @mapData[row.location] = row
-        @renderMap()
-      handler = getEpidataHander(callback)
-      Epidata_nowcast_multi(handler, LOCATIONS, epiweek1, epiweek2)
+      callback1 = (epidata) =>
+        NonInfluenzaData = calculateNonInfluenzaData(epidata)
+        callback2 = (epidata) =>
+          @colors = {}
+          @mapData = {}
+          colorData = calculateColor(NonInfluenzaData, epidata, epiweek2)
+          for row in epidata
+            if row.epiweek == epiweek2
+              ili = row.value
+              v = colorData[row.location]
+              c = ('0' + Math.round(0x3f + v * 0xc0).toString(16)).slice(-2)
+              @colors[row.location] = '#' + c + '4040'
+              @mapData[row.location] = row
+          @renderMap()
+        handler = getEpidataHander(callback2)
+        Epidata_nowcast_multi(handler, LOCATIONS, epiweek1, epiweek2)
+      handler = getEpidataHander(callback1)
+      Epidata_nowcast_multi(handler, STATES, NON_INFLUENZA_WEEK_SEASON*100+40, (NON_INFLUENZA_WEEK_SEASON+1)*100+20)
     handler = getEpidataHander(callback)
     Epidata_nowcast_single(handler, 'nat')
 


  onFluviewReceived: (ilidata) ->
    @truthData = ilidata
    @resizeCanvas()
    Epidata.nowcast(handler, locations, Epidata.range(epiweek1, epiweek2))
  else
    fakeData = []
    for location in locations
      for i in [0...280]
        fakeData.push(getFakeRow(location, i))
    callback = () -> handler(1, 'debug', fakeData)
    delay = 250 + Math.round(Math.random() * 500)
    window.setTimeout(callback, delay)
