     # display a message saying where we are in the world
     msg locstr
 
-@getInitialTask = (difficulty, near) ->
+@getInitialTask = (difficulty = "easy", near) ->
   ###
   # Gets a new task and challenge and displays it
   ###

    else
      "Somewhere on Earth"

revGeocodeOSMObj = (type, id) ->
  ###
  # Reverse geocodes an OSM object
  ###
  # The Nominatim documents say reverse geocoding an object is
  # preferable to a location, so this function should be used instead
  # of revGeocode
  mqurl = "http://open.mapquestapi.com/nominatim/v1/reverse?format=json&osm_type=#{type}@osm_id=#{id}"
  msgClose()
  $.getJSON mqurl, (data) ->

  for feature in features
    if feature.properties.selected is true
        selectedFeature = feature
      geojsonLayer.addData feature
    extent = getExtent(selectedFeature)
    map.fitBounds(extent)

showTask = (task) ->
  ###
  # Displays a task to the display and waits for the user prompt
  ###
  ######## NOT USED YET ########
  # Draw the features and move the map to the right extent
  drawFeaures(task.features)
  # Update the stats on the side. We can rely on the ordering here
  revGeocode()
  setDelay 3, msgClose()
  msgTaskText()

@getTask = (challenge = currentChallenge.slug, near = null) ->
  ###
  # Gets another task from the current challenge, close to the
  # location (if supplied)
  ###
  if not currentChallenge? or currentChallenge.slug != challenge
    updateChallengechallenge)
  $.getJSON "c/#{challenge}/task", (data) ->
    currentTask = data
    currentTask.startTime = new Date.getTime()
    showTask(data)
  updateStats(challenge)

changeMapLayer = (layerUrl, layerAttrib = tileAttrib) ->
  ###
