(function() {
  var mixpanel;
  mixpanel = {
    last_note: null,
    check_snapshot: function(force) {
      var current_note, last_note;
      last_note = mixpanel.last_note;
      current_note = note.noteJsonFromForm();
      if (note.compareNote(last_note, current_note) !== 0) {
        current_note.saved_note_counter = note.countSavedNotes();
        last_note = current_note;
        return current_note;
      } else {
        if (force) {
          current_note.saved_note_counter = note.countSavedNotes();
          return current_note;
        } else {
          return null;
        }
      }
    },
    track: function(title, object) {
      switch (title) {
        case 'parameter_changed':
          object = mixpanel.check_snapshot();
          break;
        case 'save_note':
          object = mixpanel.check_snapshot(true);
          break;
        case 'show_plan':
          object = mixpanel.check_snapshot(true);
          break;
        case 'show_saved_note':
          object = mixpanel.check_snapshot(true);
      }
      mpq.identify(mixpanel.get_session_id());
      if (object) {
        return mpq.track(title, object);
      } else {
        return mpq.track(title);
      }
    },
    get_session_id: function() {
      var cookie, session_id, _i, _len, _ref;
      session_id = null;
      _ref = document.cookie.split(";");
      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
        cookie = _ref[_i];
        cookie = cookie.split("=");
        cookie[0] = cookie[0].replace(/^\s+|\s+$/g, "");
        cookie[1] = cookie[1].replace(/^\s+|\s+$/g, "");
        if (cookie[0] === "sid") {
          session_id = cookie[1];
        }
      }
      return session_id;
    }
  };
  window.mixpanel = mixpanel;
}).call(this);

