                                    (:lessonType moduleInfo)
                                    (:lessonGroup moduleInfo)
                                    bgColorCssClass
+                                   true
                                    ModulesMap))
 
         ; Update URL hash with newly added module

      (doseq [siblingTdElem (take (- slotsOcc 1) (.nextAll tdHTMLElem))]
        (.remove siblingTdElem))

      ; Returns a `ModulesSelectedLessonInfo` object augmented with the $divElem
      {:day day, :rowNum rowNum, :startTime startTime, :endTime endTime,
       :divElem $divElem})))

(defn- lesson-draggable-start-evt-handler-maker
  "Returns a function that can be used as the `start` event handler for a

(defn- add-module-lesson
  "Adds a single lesson of a module (obtained from the `ModulesMap` global) to
   the timetable, and returns its jQuery div element."
  [moduleCode moduleName lessonType lessonLabel modulesMapLesson bgColorCssClass
   isActuallySelected?]
  (let [rowNum    (find-free-row-for-lesson modulesMapLesson)
        day       (:day modulesMapLesson)
        startTime (:startTime modulesMapLesson)
