    :settings {:view :settings
               :label "Settings"
               :component settings-page}})
+
+(defn- view->inactive-tab
+  "Build and set the tooltips for inactive views based on why they are
+   inactive."
+  [view label is-encrypted? not-within-pricing-limits?]
+  [:a.inactive
+   (str label " ")
+   [:span.tooltip
+    [:span.tip-info.tooltip
+     (cond
+       is-encrypted? " This tab is disabled because this form is encrypted."
+       not-within-pricing-limits?
+       " This tab is disabled because you are over the pricing limits."
+       :else
+       (condp = view
+         :map (str " The Map tab is disabled because this form "
+                   "has no location questions.")
+         :photos (str " The Photos tab is disabled because this form has no "
+                      "photo questions.")
+         :table (str " The table tab is disabled because you do not have "
+                     "permissions to view it.")
+         "This tab is disabled."))]
+    [:span.tip-question "?"]]])
 
 (defmethod dataview-actions :default
   [cursor owner]

          (for [{:keys [component view]} dataviews]
            [:div {:class (str "tab-page " (name view) "-page")
                   :style {:display (view->display view)}}
             (when (= active-view view)
               [:div.tab-content {:id (str "tab-content" (name view))}
                (om/build component app-state {:opts opts})])])])))))

(defmethod tabbed-dataview :default
  [app-state owner opts]
  (reify
    om/IRender
    (render [_]
      (let [{:keys [is-encrypted? is-within-pricing-limits?]
             {:keys [active selected]} :views} app-state
            view->display #(if (= selected %) "block" "none")
            view->cls #(when (= selected %) "clicked")
            dataviews (->> app-state :views :all
                           (map dataview-map) (remove nil?))
            dv->link (fn [{:keys [view label]}]
                       (let [active? (some #(= view %) active)]
                         (if active?
                           [:a {:class (view->cls view)
                                :href (str "#/" (name view))} label]
                           (view->inactive-tab view
                                               label
                                               is-encrypted?
                                               is-within-pricing-limits?))))]
        (html
         [:div.tab-container.dataset-tabs
          [:div.tab-bar
