         delete filteredMentors[id] if mentor.ects isnt @state.filters.ects
       if @state.filters?.sex?
         delete filteredMentors[id] if mentor.sex isnt @state.filters?.sex
+    total = _.size filteredMentors
+    for mentor, index in _.values filteredMentors
+      mentor.colors = @getColorsOfMentor total, index
     return filteredMentors
-  
+  getSelectedMentors: (filteredMentors) ->
+    filteredMentors = _.pick filteredMentors, @state.mentorsToDisplay
+   
+    return filteredMentors
+  onChangeSelectedMentorsToDisplay: (mentorIds) ->
+    @setState mentorsToDisplay: mentorIds
   onChangeFilter: (key, value) ->
     filters = @state.filters
     filters[key] = value
     @setState filters: filters
+    @selectAll()
+  selectAll: ->
+    @setState mentorsToDisplay: _.keys @props.mentors
   onSelectDate: (mentor, day, time) ->
     if confirm "Treffen vereinbaren?\n\n
       Schüler: #{@props.kid.prename} #{@props.kid.name}\n

      Zeitpunkt: #{day.label} um #{time.label}\n"
      alert "done"
      console.log mentor, day, time
  render: ->
    filteredMentors = @getFilteredMentors()
    filteredMentorIds = _.keys filteredMentors

    <div className="kit-mentor-schedules">
      <Filters 

      @props.onChange valuesAsString.split(@DELEMITER).map (id) -> parseInt id, 10
    else
      @props.onChange []
  selectAll: ->
    @props.onChange _.keys @props.mentors
  render: ->
    options = for id,mentor of @props.mentors
      label: "#{mentor.prename} #{mentor.name}"
