       [:div.pure-g.movement {:id id}
        [:div.pure-u-1
         [:div.pure-g {:style {:cursor 'pointer}}
-         [:div.pure-u-1-5 {:onClick    (fn [e] (.preventDefault e) (reset! expand (not @expand)))
-                           :onTouchEnd (fn [e] (.preventDefault e) (reset! expand (not @expand)))}
+         [:div.pure-u-1-5 {:onClick    (fn [e] (.preventDefault e) (reset! expand (not @expand)))}
           [:img.graphic {:src   (str "http://s3.amazonaws.com/mumrik-movement-images/" image)
                          :title name :alt name}]]
          [:div.pure-u-2-5 {:onClick    (fn [e] (.preventDefault e) (reset! expand (not @expand)))
-                           :onTouchEnd (fn [e] (.preventDefault e) (reset! expand (not @expand)))
                            :style      {:display 'flex :text-align 'center}}
           [:h3.title {:style {:margin 'auto}} name]]
-         [:div.pure-u-1-5 {:onClick    (fn [e] (.preventDefault e) (reset! expand (not @expand)))
-                           :onTouchEnd (fn [e] (.preventDefault e) (reset! expand (not @expand)))}
+         [:div.pure-u-1-5 {:onClick    (fn [e] (.preventDefault e) (reset! expand (not @expand)))}
 
           [:div.pure-g
            [:div.pure-u-1

             [:input {:style {:margin-left 3 :margin-right 3 :width 75}
                      :id    (str "rest-input" id) :type "number" :defaultValue rest :min 0}]
             [:span "sek"]]
            [:a.pure-u-1-3.pure-button.pure-button-primary {:style      {:margin "5px 5px 5px 5px"}
                                                            :onClick    (fn [e] (.preventDefault e) (update-movement {:id id :m m :parts parts :part-number part-number :pos pos}))
                                                            :onTouchEnd (fn [e] (.preventDefault e) (update-movement {:id id :m m :parts parts :part-number part-number :pos pos}))}
             "Oppdater"]]
           [:div.pure-g
            [:a.pure-u.pure-button {:style   {:margin "5px 5px 5px 5px"}
                                    :onClick #(remove-movement % m part-number) :onTouchEnd #(remove-movement % m part-number)
                                    :title   "Fjern øvelse"}
             [:i.fa.fa-remove {:style {:color "#CC9999" :opacity 0.8}}]
             "Fjern øvelse"]

                          new-part (assoc part pos (merge old-movement new-movement))]
                      (session/assoc-in! [:movement-session :parts part-number] new-part))
      (or (= :next kw)
          (= :previous kw))
          (let [new-movement-name (first (shuffle (kw movement)))
                old-movement (dissoc movement :next :previous) ; remove data that may not be overwritten by merging with the new movement
                part (session/get-in [:movement-session :parts part-number])
                pos (first (positions #{movement} part))
                new-movement (get (data/get-movements-map) new-movement-name)
                new-part (assoc part pos (merge old-movement new-movement))]
            (session/assoc-in! [:movement-session :parts part-number] new-part))
      :else nil))

(defn add-movement [category part-number]
