 
 # Bind the event handlers required for persisting general changes.
 loadSaveEvents = ->
+  $('#analytics').change ->
+    store.set 'analytics', analytics = $(this).is ':checked'
+    if analytics
+      utils.addAnalytics()
+      chrome.extension.getBackgroundPage().utils.addAnalytics()
+    else
+      utils.removeAnalytics()
+      chrome.extension.getBackgroundPage().utils.removeAnalytics()
   bindSaveEvent '#anchorTarget, #anchorTitle', 'change', 'anchor', ->
     @is ':checked'
   $('#contextMenu').change ->
     store.set 'contextMenu', $(this).is ':checked'
+    ext.updateContextMenu()
   $('#shortcuts').change ->
     store.set 'shortcuts', $(this).is ':checked'
 

    # settings storing OAuth information for the [Google URL
    # Shortener](http://goo.gl).
    googl = ext.queryUrlShortener (shortener) ->
      shortener.name is 'goo.gl'
    $('#googlDeauthorize_btn').click ->
      store.remove key for key in googl.oauthKeys
      $(this).hide()

        $this.siblings().removeClass 'selected'
        $this.addClass 'selected'
        $($this.attr 'tabify').show().siblings('.tab').hide()
        id = $this.attr 'id'
        store.set 'options_active_tab', id
        id = id.match(/(\S*)_nav$/)[1]
        # TODO: Analytics event tracking.
    # Reflect the persisted tab.
    store.init 'options_active_tab', 'general_nav'
    $("##{store.get 'options_active_tab'}").click()
