@Override
	public void actionPerformed(ActionEvent ev) {
		if (ev.getSource().equals(btnCancel)) {
			fireWizardEvent(new WizardEvent(WizardEvent.WIZARD_EVENT_CANCEL));
		} else if (ev.getSource().equals(btnNext)
				&& ev.getActionCommand().equals(FINISH_TEXT)) {
			fireWizardEvent(new WizardEvent(WizardEvent.WIZARD_EVENT_FINISH));
		} else if (ev.getSource().equals(btnPrev)) {
			// walk through pages until page0
			if (currentPage >= 0) {
				if (currentPage == maxPages)
					btnNext.setText(NEXT_TEXT);

				currentPage--;

				loadPage();
				fireWizardEvent(new WizardEvent(
						WizardEvent.WIZARD_EVENT_PREV_PAGE));
			}
		} else if (ev.getSource().equals(btnNext)) {
			// walk through pages until pageMAX
			if (currentPage < maxPages) {
				currentPage++;

				loadPage();

				btnPrev.setEnabled(currentPage != 0);

				if (currentPage == maxPages)
					btnNext.setText(FINISH_TEXT);

				fireWizardEvent(new WizardEvent(
						WizardEvent.WIZARD_EVENT_NEXT_PAGE));
			}
		}
		btnPrev.setEnabled(currentPage != 0);
	}