private void checkCustomNames() {
		String[] cnamefiles = new String[] { "trainerclasses.txt",
				"trainernames.txt", "nicknames.txt" };
		int[] defaultcsums = new int[] { -1442281799, -1499590809, 1641673648 };

		boolean foundCustom = false;
		for (int file = 0; file < 3; file++) {
			File oldFile = new File(rootPath + "/config/" + cnamefiles[file]);
			File currentFile = new File(rootPath + cnamefiles[file]);
			if (oldFile.exists() && oldFile.canRead() && !currentFile.exists()) {
				try {
					int crc = getFileChecksum(new FileInputStream(oldFile));
					if (crc != defaultcsums[file]) {
						foundCustom = true;
						break;
					}
				} catch (FileNotFoundException e) {
				}
			}
		}

		if (foundCustom) {
			int response = JOptionPane
					.showConfirmDialog(
							RandomizerGUI.this,
							bundle.getString("RandomizerGUI.copyNameFilesDialog.text"),
							bundle.getString("RandomizerGUI.copyNameFilesDialog.title"),
							JOptionPane.YES_NO_OPTION);
			boolean onefailed = false;
			if (response == JOptionPane.YES_OPTION) {
				for (String filename : cnamefiles) {
					if (new File(rootPath + "/config/" + filename).canRead()) {
						try {
							FileInputStream fis = new FileInputStream(new File(
									rootPath + "config/" + filename));
							FileOutputStream fos = new FileOutputStream(
									new File(rootPath + filename));
							byte[] buf = new byte[1024];
							int len;
							while ((len = fis.read(buf)) > 0) {
								fos.write(buf, 0, len);
							}
							fos.close();
							fis.close();
						} catch (IOException ex) {
							onefailed = true;
						}
					}
				}
				if (onefailed) {
					JOptionPane.showMessageDialog(this, bundle
							.getString("RandomizerGUI.copyNameFilesFailed"));
				}
			}
		}

		haveCheckedCustomNames = true;
		attemptWriteConfig();
	}