         when "i"
           openIn('id')
 
+  # Set up the map
+  map = new L.Map "map"
+  osmLayer = new L.TileLayer(tileUrl, attribution: tileAttrib)
+  map.setView new L.LatLng(40.0, -90.0), 17
+  map.addLayer osmLayer
+  # We need an onEachFeature function to create markers later
+  geojsonLayer = new L.geoJson(null, {
+      onEachFeature: (feature, layer) ->
+        if feature.properties and feature.properties.text
+          layer.bindPopup(feature.properties.text)
+          layer.openPopup()})
+  map.addLayer geojsonLayer
+
   # Try to grab parameters from the url
   challenge = $(document).getUrlParam("challenge")
   difficulty = $(document).getUrlParam("difficulty")


# Misc variables
map = undefined
geojsonLayer = new L.GeoJSON()

setDelay = (seconds, func) ->
  ###

  # The second argument adds the layer at the bottom
  map.addLayer(tileLayer, true)

addGeoJSONLayer = ->
  ###
  # Adds a GeoJSON layer to the map
  ###
  geojsonLayer = new L.geoJson(null, {
    # We need an onEachFeature function to create markers
    onEachFeature: (feature, layer) ->
      if feature.properties and feature.properties.text
        layer.bindPopup(feature.properties.text)
        layer.openPopup()})
  map.addLayer geojsonLayer

@nextUp = (action) ->
  ###
