        }
     }
     
+    /// Reloads the graph as well as photo header background, but only if the graph has not been loaded already, or if the size of the graph section has changed.
     override func viewDidLayoutSubviews() {
         // self.view's direct subviews are laid out, force graph subview to layout its subviews:
         graphSectionView.setNeedsLayout()

        self.navigationItem.leftBarButtonItem?.imageInsets = UIEdgeInsetsMake(0.0, -8.0, -1.0, 0.0)
        topSectionContainer.backgroundColor = Styles.darkPurpleColor
        let notificationCenter = NSNotificationCenter.defaultCenter()
        notificationCenter.addObserver(self, selector: "databaseChanged:", name: NewBlockRangeLoadedNotification, object: nil)
        notificationCenter.addObserver(self, selector: "reachabilityChanged:", name: ReachabilityChangedNotification, object: nil)
        configureForReachability()
    }

                    self.eventItem = self.eventGroup?.itemArray[0]
                    // update view to show the new event, centered...
                    configureDetailView()
                    layoutHeaderView()
                    // keep point that was tapped at the same offset in the view in the new graph by setting the graph center point to be at the same x offset in the view...
                    configureGraphContainer(tapLocationInView.x)
                    configurePhotoBackground()
                    // then animate to center...
                    if let graphContainerView = graphContainerView {
                        graphContainerView.centerGraphOnEvent(animated: true)
