@Override
  public void onClick(View v) {
    switch (v.getId()) {
      case R.id.btnEditAthlete:
        showEditAthleteDialog();
        break;

      case R.id.btnStart:
        // truncate time to tenths of seconds
        mStartTime = (System.currentTimeMillis() / 100) * 100;
        mIsClockRunning = true;
        new buttonVibration().execute();
        EventBus.getDefault().post(new MyEvents.startClock(mStartTime));
        EventBus.getDefault().post(new MyEvents.startRace(mAthleteNumber));
        startRace();
        break;

      case R.id.btnSplit:
        if (mIsClockRunning) {
          MyLog.i("RaceTimerFragment", "btnSplitClick Athlete" + mAthleteNumber);
          // truncate time to tenths of seconds
          long currentTime = (System.currentTimeMillis() / 100) * 100;
          new buttonVibration().execute();
          long mCumulativeTime = currentTime - mStartTime;
          long splitTime = mCumulativeTime - mPreviousCummulativeTime;
          mLapNumber++;
          int mCummulativeDistance = mLapNumber * mLapDistance;
          createSplit(
              mSelectedAthlete,
              mSelectedSwimEvent,
              mLapNumber,
              mCummulativeDistance,
              splitTime,
              mCumulativeTime);
          temporarilyDisableSplitButton();
        }
        break;

      case R.id.btnEmail:
        CommonMethods.sendRaceSummaryEmail(getActivity(), mSwimEventSummary);
        break;
    }
  }