	/*
 * ConfigPanel_n.java
 *
 * Created on December 7, 2003, 1:25 PM
 */
package usda.weru.weps.gui;

import de.schlichtherle.io.File;
import de.schlichtherle.io.ArchiveException;
//import de.schlichtherle.util.zip.ZipEntry;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.FocusEvent;
import java.awt.event.ItemEvent;
import java.util.zip.ZipEntry;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.ItemListener;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import javax.swing.JTable;
import usda.weru.util.ConfigData;
import usda.weru.util.Util;
import usda.weru.util.WepsFileChooser;
import usda.weru.util.LoadProperties;

import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JButton;

import java.util.Vector;
import java.util.TreeMap;
import java.beans.PropertyChangeSupport;
import java.net.MalformedURLException;
import java.util.Iterator;
import javax.help.HelpSet;
import javax.help.HelpBroker;
import javax.swing.JPanel;
import org.apache.log4j.Logger;
import java.net.URL;
import java.net.URLClassLoader;
import java.text.DecimalFormat;
import java.text.Format;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.jar.JarFile;
import java.util.logging.Level;
import javax.help.HelpSetException;
import javax.help.CSH;
import javax.measure.quantity.Length;
import javax.measure.unit.Unit;
import javax.swing.DefaultCellEditor;
import javax.swing.JComponent;
import javax.swing.JPasswordField;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import usda.weru.util.About;
import usda.weru.util.ConfigData.MeasureableConfigurationOption;
import usda.weru.util.MeasurableField;
import usda.weru.util.WepsPasswordField;
import usda.weru.weps.fuel.Fuel;
import usda.weru.weps.fuel.FuelChooser;
import usda.weru.weps.fuel.FuelDAO;
import usda.weru.weps.fuel.FuelTableModel;
import usda.weru.weps.location.StationMode;
import usda.weru.weps.location.chooser.AllowedStationModeChooser;

/**
 * This class build the configuration panel GUI that allows the user to initialize and 
 * modify all settings needed for the WEPS application.
 * @author  manmohan
 */
public class ConfigPanel_n extends javax.swing.JFrame {

    protected List<JComponent> c_componentsWithErrors = new LinkedList<JComponent>();
    protected FuelTableModel fuelTableModel;
    /**
     * Default constructor for the Configuration Panel GUI object that helps the
     * user in setting various paths like executables, directories such as management, 
     * soil, database, etc along with the miscellaneous factors like setting units,etc.
     */
    public ConfigPanel_n() {
        initComponents();
        windgenModes.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                globalActionPerformed(e);
            }
        });

        cligenModes.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                globalActionPerformed(e);
            }
        });

        init();

        userFuelFile.setText(Util.parse(FuelDAO.USER_DB_PATH));
        
        fuelTableModel = new FuelTableModel(new File(Util.parse(getValue(ConfigData.FuelDatabase))));
        fuelTable.setModel(fuelTableModel);

        DefaultTableCellRenderer defaultRenderer = new DefaultTableCellRenderer(){
            private final Format format = new DecimalFormat("#0.00");

            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                if(table.isCellEditable(row, column)){
                    setBackground(Color.WHITE);
                }
                else{
                    setBackground(new Color(245,245,245));
                }

                if(value instanceof Number){
                    setHorizontalAlignment(RIGHT);
                    Number number = (Number) value;
                    value = format.format(number.doubleValue());
                }
                else{
                    setHorizontalAlignment(LEFT);
                }
                return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            }

        };

        fuelTable.setDefaultRenderer(Object.class, defaultRenderer);
        fuelTable.setDefaultRenderer(Double.class, defaultRenderer);

        //editor
        final JTextField text =new JTextField();
        text.setHorizontalAlignment(JTextField.RIGHT);
        text.addFocusListener(new FocusAdapter() {

            @Override
            public void focusGained(FocusEvent e) {
                text.selectAll();
            }

        });

        TableCellEditor doubleEditor = new DefaultCellEditor(text){
            private final Format format = new DecimalFormat("#0.000");

            @Override
            public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
                if(value instanceof Number){
                    Number number = (Number) value;
                    String formatted = format.format(number.doubleValue());
                    value = Double.valueOf(formatted);
                }                
                Component result = super.getTableCellEditorComponent(table, value, isSelected, row, column);
  
                return result;
            }

            @Override
            public Object getCellEditorValue() {
                final Object value = super.getCellEditorValue();
                try{
                    return format.parseObject(value != null ? value.toString() : null);
                }
                catch(Exception e){
                    return null;
                }
            }




        };
        fuelTable.setDefaultEditor(Double.class, doubleEditor);


        JRB_metric.addItemListener(new ItemListener() {

                @Override
                public void itemStateChanged(ItemEvent e) {
                    if(JRB_metric.isSelected()){
                        fuelTableModel.setUnits(Util.SIUnits);
                    }
                    else{
                        fuelTableModel.setUnits(Util.USUnits);
                    }
                }
            });

            localChanges.addPropertyChangeListener(ConfigData.FuelDatabase, new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                fuelTableModel.setFile(new File(Util.parse(getValue(ConfigData.FuelDatabase))));
            }
        });


    }

    /**
     * Single argument constructor for the Configuration Panel GUI object that helps the
     * user in setting various paths like executables, directories such as management, 
     * soil, database, etc unalong with the miscellaneous factors like setting units,etc.
     * The string passed to the constructor sets the title of the configuration panel.
     * @param sTitle The title string for the parent frame of the GUI.
     */
    public ConfigPanel_n(java.lang.String sTitle) {
        this();
        setTitle(sTitle);
    }

    public ConfigData getConfigData() {
        return ConfigData.getDefault();
    }

    /** This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always 
     * regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {
        bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

        JBGP_units = new javax.swing.ButtonGroup();
        JBGP_reportPeriod = new javax.swing.ButtonGroup();
        JBGP_runType = new javax.swing.ButtonGroup();
        g_secureConnectionGroup = new javax.swing.ButtonGroup();
        g_emailType = new javax.swing.ButtonGroup();
        JB_Help = new javax.swing.JButton();
        JB_Cancel = new javax.swing.JButton();
        JB_OK = new javax.swing.JButton();
        JTP_main = new javax.swing.JTabbedPane();
        JP_Weps = new javax.swing.JPanel();
        JLabel5 = new javax.swing.JLabel();
        JLabel6 = new javax.swing.JLabel();
        JTF_wepsExe = new javax.swing.JTextField();
        JTF_wepsCmd = new javax.swing.JTextField();
        JL_calWepsCmd = new javax.swing.JLabel();
        JTF_calWepsCmd = new javax.swing.JTextField();
        JB_wepsExe = new javax.swing.JButton();
        JP_Windgen = new javax.swing.JPanel();
        JLabel46 = new javax.swing.JLabel();
        JB_winGenDB1 = new javax.swing.JButton();
        JLabel47 = new javax.swing.JLabel();
        JTF_winExe = new javax.swing.JTextField();
        JTF_winCmd = new javax.swing.JTextField();
        JTF_winDb2 = new javax.swing.JTextField();
        JB_winGenDB2 = new javax.swing.JButton();
        JB_winExe = new javax.swing.JButton();
        JB_winGenDB3 = new javax.swing.JButton();
        JTF_winDb3 = new javax.swing.JTextField();
        JB_winGenDB = new javax.swing.JButton();
        JTF_winDb = new javax.swing.JTextField();
        JLabel20 = new javax.swing.JLabel();
        JTF_winDb1 = new javax.swing.JTextField();
        JLabel44 = new javax.swing.JLabel();
        JLabel2 = new javax.swing.JLabel();
        JLabel1 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        windgenModes = new usda.weru.weps.location.chooser.AllowedStationModeChooser();
        windRadiusField = new usda.weru.util.MeasurableField();
        windRadiusLabel = new javax.swing.JLabel();
        windRadiusUnits = new javax.swing.JLabel();
        JP_Cligen = new javax.swing.JPanel();
        JLabel45 = new javax.swing.JLabel();
        JB_cliGenDb1 = new javax.swing.JButton();
        JTF_cliCmd = new javax.swing.JTextField();
        JB_cliExe = new javax.swing.JButton();
        JLabel3 = new javax.swing.JLabel();
        JTF_cliDb1 = new javax.swing.JTextField();
        JB_cliGenDb = new javax.swing.JButton();
        JLabel4 = new javax.swing.JLabel();
        JTF_cliDb = new javax.swing.JTextField();
        JTF_cliExe = new javax.swing.JTextField();
        JLabel41 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        cligenModes = new usda.weru.weps.location.chooser.AllowedStationModeChooser();
        cligenRadiusField = new usda.weru.util.MeasurableField();
        cligenRadiusLabel = new javax.swing.JLabel();
        cligenRadiusUnits = new javax.swing.JLabel();
        JP_Directories = new javax.swing.JPanel();
        JLabel7 = new javax.swing.JLabel();
        JLabel8 = new javax.swing.JLabel();
        JLabel9 = new javax.swing.JLabel();
        JLabel10 = new javax.swing.JLabel();
        JLabel12 = new javax.swing.JLabel();
        JLabel34 = new javax.swing.JLabel();
        JTF_manTemp = new javax.swing.JTextField();
        JTF_manSkel = new javax.swing.JTextField();
        JTF_manOperDB = new javax.swing.JTextField();
        JTF_cropDB = new javax.swing.JTextField();
        JTF_MCREW = new javax.swing.JTextField();
        JTF_projDir = new javax.swing.JTextField();
        manTemplate_Button = new javax.swing.JButton();
        manSkel_Button = new javax.swing.JButton();
        manOpDB_Button = new javax.swing.JButton();
        cropDB_Button = new javax.swing.JButton();
        mcrewDir_Button = new javax.swing.JButton();
        projectsDir_Button = new javax.swing.JButton();
        JL_mcrewDataConfig = new javax.swing.JLabel();
        JTF_mcrewDataConfig = new javax.swing.JTextField();
        JB_mcrewDataConfig = new javax.swing.JButton();
        JL_skelTranslations = new javax.swing.JLabel();
        JTF_skelTranslations = new javax.swing.JTextField();
        JB_skelTranslations = new javax.swing.JButton();
        JL_runsLocation = new javax.swing.JLabel();
        JTF_runsLocations = new javax.swing.JTextField();
        JB_browseRunsLocation = new javax.swing.JButton();
        JTF_manTempSave = new javax.swing.JTextField();
        JLabel42 = new javax.swing.JLabel();
        manTemplate_ButtonSave = new javax.swing.JButton();
        JL_reportFileName = new javax.swing.JLabel();
        JTF_reportFileName = new javax.swing.JTextField();
        JB_reportFileName = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        JTF_detailFilters = new javax.swing.JTextField();
        JB_detailFilters = new javax.swing.JButton();
        jLabel8 = new javax.swing.JLabel();
        JTF_barriersFile = new javax.swing.JTextField();
        JB_barriersFile = new javax.swing.JButton();
        JLabel28 = new javax.swing.JLabel();
        JTF_projDir1 = new javax.swing.JTextField();
        currentProjectButton = new javax.swing.JButton();
        JP_Soil = new javax.swing.JPanel();
        JLabel11 = new javax.swing.JLabel();
        JTF_soilDB = new javax.swing.JTextField();
        soilDB_Button = new javax.swing.JButton();
        jCheckBox2 = new javax.swing.JCheckBox();
        JXB_SoilEstimate = new javax.swing.JCheckBox();
        JXB_disableSurgoEstimates = new javax.swing.JCheckBox();
        jLabel1 = new javax.swing.JLabel();
        JTF_omThreshold = new javax.swing.JTextField();
        jTextField1 = new javax.swing.JTextField();
        jCheckBox4 = new javax.swing.JCheckBox();
        jLabel4 = new javax.swing.JLabel();
        jCheckBox3 = new javax.swing.JCheckBox();
        soilOrganicFile_Button = new javax.swing.JButton();
        jLabel9 = new javax.swing.JLabel();
        maxOrganicDepthUnits = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        organicMaxDepth = new usda.weru.util.MeasurableField<Length>();
        JXB_soilReadonly = new javax.swing.JCheckBox();
        JP_Gis = new javax.swing.JPanel();
        gisDataLabel = new javax.swing.JLabel();
        gisData = new javax.swing.JTextField();
        JB_gisDataFile = new javax.swing.JButton();
        JP_Output = new javax.swing.JPanel();
        JLabel17 = new javax.swing.JLabel();
        JLabel18 = new javax.swing.JLabel();
        JLabel21 = new javax.swing.JLabel();
        JLabel22 = new javax.swing.JLabel();
        JLabel23 = new javax.swing.JLabel();
        JLabel24 = new javax.swing.JLabel();
        JLabel25 = new javax.swing.JLabel();
        JLabel26 = new javax.swing.JLabel();
        JLabel19 = new javax.swing.JLabel();
        JTF_detHydro = new javax.swing.JTextField();
        JTF_detSoil = new javax.swing.JTextField();
        JTF_detMan = new javax.swing.JTextField();
        JTF_detCrop = new javax.swing.JTextField();
        JTF_detDec = new javax.swing.JTextField();
        JTF_detEro = new javax.swing.JTextField();
        JTF_debugHydro = new javax.swing.JTextField();
        JTF_debugSoil = new javax.swing.JTextField();
        JTF_debugMan = new javax.swing.JTextField();
        JTF_debugCrop = new javax.swing.JTextField();
        JTF_debugDec = new javax.swing.JTextField();
        JTF_debugEro = new javax.swing.JTextField();
        JLabel43 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        JRB_1 = new javax.swing.JRadioButton();
        JRB_2 = new javax.swing.JRadioButton();
        JRB_3 = new javax.swing.JRadioButton();
        JRB_4 = new javax.swing.JRadioButton();
        JP_Email = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        JTF_emailSender = new javax.swing.JTextField();
        JTF_emailHost = new javax.swing.JTextField();
        g_serverNameLabel = new javax.swing.JLabel();
        g_emailUseSmtpRadioButton = new javax.swing.JRadioButton();
        g_emailUseSystemRadioButton = new javax.swing.JRadioButton();
        JTF_emailWeps = new javax.swing.JTextField();
        JTF_emailBugs = new javax.swing.JTextField();
        JLabel13 = new javax.swing.JLabel();
        JLabel15 = new javax.swing.JLabel();
        JLabel16 = new javax.swing.JLabel();
        JCB_outlookClient = new javax.swing.JCheckBox();
        jPanel3 = new javax.swing.JPanel();
        JTF_mantisEmail = new javax.swing.JTextField();
        JTF_mantisURL = new javax.swing.JTextField();
        JTF_mantisUserID = new javax.swing.JTextField();
        JLabel14 = new javax.swing.JLabel();
        JLabel38 = new javax.swing.JLabel();
        JLabel39 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        JLabel40 = new javax.swing.JLabel();
        JTF_mantisProject = new javax.swing.JTextField();
        JTF_mantisPassword = new WepsPasswordField("4raf9AxU");
        JP_Run = new javax.swing.JPanel();
        JLabel30 = new javax.swing.JLabel();
        JRB_NRCS = new javax.swing.JRadioButton();
        JRB_cycle = new javax.swing.JRadioButton();
        JRB_dates = new javax.swing.JRadioButton();
        JL_runLength = new javax.swing.JLabel();
        JTF_runLength = new javax.swing.JTextField();
        JCB_purgeRunFiles = new javax.swing.JCheckBox();
        JCB_allowBatchCreation = new javax.swing.JCheckBox();
        jLabel13 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        JP_Formats = new javax.swing.JPanel();
        lbl_formatOperationDate = new javax.swing.JLabel();
        JCB_formatOperationDate = new javax.swing.JComboBox();
        JLB_formatedOperationDate = new javax.swing.JLabel();
        JP_Fuels = new javax.swing.JPanel();
        fuelLabel = new javax.swing.JLabel();
        fuelFile = new javax.swing.JTextField();
        fuelFileButton = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        fuelTable = new javax.swing.JTable();
        userFuelFileLabel = new javax.swing.JLabel();
        userFuelFile = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        fuelDefaultChooser = new usda.weru.weps.fuel.FuelChooser();
        JP_Misc = new javax.swing.JPanel();
        JLabel27 = new javax.swing.JLabel();
        JRB_english = new javax.swing.JRadioButton();
        JRB_metric = new javax.swing.JRadioButton();
        JLabel31 = new javax.swing.JLabel();
        JTF_timeSteps = new javax.swing.JTextField();
        JXB_latLon = new javax.swing.JCheckBox();
        JXB_stateCounty = new javax.swing.JCheckBox();
        JXB_map = new javax.swing.JCheckBox();
        JLabel35 = new javax.swing.JLabel();
        JLabel36 = new javax.swing.JLabel();
        JTF_ttInit = new javax.swing.JTextField();
        JLabel37 = new javax.swing.JLabel();
        JTF_ttDismiss = new javax.swing.JTextField();
        JXB_elevation = new javax.swing.JCheckBox();
        JXB_McrewEdit = new javax.swing.JCheckBox();
        JXB_slope = new javax.swing.JCheckBox();
        JXB_SystemLocale = new javax.swing.JCheckBox();
        JXB_doNotReview = new javax.swing.JCheckBox();
        JXB_hidePButtons = new javax.swing.JCheckBox();
        JXB_hideTButtons = new javax.swing.JCheckBox();
        jLabel3 = new javax.swing.JLabel();
        JTF_daysKeepLog = new javax.swing.JTextField();
        JXB_barriersReadonly = new javax.swing.JCheckBox();
        JXB_slope1 = new javax.swing.JCheckBox();
        JCB_showCountries = new javax.swing.JCheckBox();
        JXB_xmlFormats = new javax.swing.JCheckBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Configuration");
        setResizable(false);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        JB_Help.setMnemonic('H');
        JB_Help.setText("Help");
        JB_Help.setToolTipText("ConfigPanel:help");
        JB_Help.setDefaultCapable(false);
        JB_Help.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JB_Help_ActionPerformed(evt);
            }
        });

        JB_Cancel.setText("Cancel");
        JB_Cancel.setDefaultCapable(false);
        JB_Cancel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JB_CancelActionPerformed(evt);
            }
        });

        JB_OK.setMnemonic('S');
        JB_OK.setText("OK");
        JB_OK.setToolTipText("ConfigPanel:save");
        JB_OK.setActionCommand("Cacel");
        JB_OK.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                JBSave_ActionPerformed(evt);
            }
        });

        JTP_main.setToolTipText("ConfigPanel:main");

        JP_Weps.setToolTipText("ConfigPanel:exe");

        JLabel5.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel5.setText("Executable:");
        JLabel5.setToolTipText("ConfigPanel:wepsExe");
        JLabel5.setName("CD-WEPS exe"); // NOI18N

        JLabel6.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel6.setText("Arguments:");
        JLabel6.setToolTipText("ConfigPanel:wepsCmd");
        JLabel6.setName("CD-WEPS exe parameter"); // NOI18N

        JTF_wepsExe.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_wepsExe.setToolTipText("ConfigPanel:wepsExe");
        JTF_wepsExe.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_wepsExe.setName("CD-WEPS exe"); // NOI18N
        JTF_wepsExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_wepsExe.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_wepsCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_wepsCmd.setToolTipText("ConfigPanel:wepsCmd");
        JTF_wepsCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_wepsCmd.setName("CD-WEPS exe parameter"); // NOI18N
        JTF_wepsCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_wepsCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JL_calWepsCmd.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JL_calWepsCmd.setText("Calibration:");
        JL_calWepsCmd.setToolTipText("ConfigPanel:calWepsCmd");
        JL_calWepsCmd.setName("CD-WEPS calibration exe parameter"); // NOI18N

        JTF_calWepsCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_calWepsCmd.setToolTipText("ConfigPanel:calWepsCmd");
        JTF_calWepsCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_calWepsCmd.setName("CD-WEPS calibration exe parameter"); // NOI18N
        JTF_calWepsCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_calWepsCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_wepsExe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_wepsExe.setToolTipText("ConfigPanel:wepsExeButton");
        JB_wepsExe.setName("CD-WEPS exe"); // NOI18N
        JB_wepsExe.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_wepsExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout JP_WepsLayout = new org.jdesktop.layout.GroupLayout(JP_Weps);
        JP_Weps.setLayout(JP_WepsLayout);
        JP_WepsLayout.setHorizontalGroup(
            JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_WepsLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .add(JL_calWepsCmd))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JTF_calWepsCmd, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 485, Short.MAX_VALUE)
                    .add(JTF_wepsCmd, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 485, Short.MAX_VALUE)
                    .add(JTF_wepsExe, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 485, Short.MAX_VALUE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JB_wepsExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        JP_WepsLayout.setVerticalGroup(
            JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_WepsLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JB_wepsExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JP_WepsLayout.createSequentialGroup()
                        .add(JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(JLabel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_wepsExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(JLabel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_wepsCmd, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_WepsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(JL_calWepsCmd, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_calWepsCmd, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(376, Short.MAX_VALUE))
        );

        JTP_main.addTab("Weps", null, JP_Weps, "ConfigPanel:exe");

        JLabel46.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel46.setText("Interpolate 1:");
        JLabel46.setToolTipText("");
        JLabel46.setName("CD-windgen database"); // NOI18N

        JB_winGenDB1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB1.setToolTipText("");
        JB_winGenDB1.setName("CD-windgen index"); // NOI18N
        JB_winGenDB1.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel47.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel47.setText("Interpolate 2:");
        JLabel47.setToolTipText("");
        JLabel47.setName("CD-windgen database"); // NOI18N

        JTF_winExe.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winExe.setToolTipText("ConfigPanel:windExe");
        JTF_winExe.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winExe.setName("CD-windgen generator"); // NOI18N
        JTF_winExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winExe.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_winCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winCmd.setToolTipText("ConfigPanel:windCmd");
        JTF_winCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winCmd.setName("CD-windgen cmdline"); // NOI18N
        JTF_winCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_winDb2.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb2.setToolTipText("");
        JTF_winDb2.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb2.setName("CD-windgen interpolate 1"); // NOI18N
        JTF_winDb2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winDb2.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_winGenDB2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB2.setToolTipText("");
        JB_winGenDB2.setName("CD-windgen interpolate 1"); // NOI18N
        JB_winGenDB2.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JB_winExe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winExe.setToolTipText("ConfigPanel:windGenExeButton");
        JB_winExe.setName("CD-windgen generator"); // NOI18N
        JB_winExe.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JB_winGenDB3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB3.setToolTipText("");
        JB_winGenDB3.setName("CD-windgen interpolate 2"); // NOI18N
        JB_winGenDB3.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JTF_winDb3.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb3.setToolTipText("");
        JTF_winDb3.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb3.setName("CD-windgen interpolate 2"); // NOI18N
        JTF_winDb3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winDb3.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_winGenDB.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_winGenDB.setToolTipText("");
        JB_winGenDB.setName("CD-windgen database"); // NOI18N
        JB_winGenDB.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_winGenDB.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JTF_winDb.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb.setToolTipText("");
        JTF_winDb.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb.setName("CD-windgen database"); // NOI18N
        JTF_winDb.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winDb.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel20.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel20.setText("Database:");
        JLabel20.setToolTipText("");
        JLabel20.setName("CD-windgen database"); // NOI18N

        JTF_winDb1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_winDb1.setToolTipText("");
        JTF_winDb1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_winDb1.setName("CD-windgen index"); // NOI18N
        JTF_winDb1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_winDb1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel44.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel44.setText("Index:");
        JLabel44.setToolTipText("");
        JLabel44.setName("CD-windgen database"); // NOI18N

        JLabel2.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel2.setText("Arguments:");
        JLabel2.setToolTipText("ConfigPanel:windCmd");
        JLabel2.setName("CD-windgen cmdline"); // NOI18N

        JLabel1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel1.setText("Executable:");
        JLabel1.setToolTipText("ConfigPanel:windExe");
        JLabel1.setName("CD-windgen generator"); // NOI18N

        jLabel10.setText("Modes:");
        jLabel10.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        jLabel10.setName("CD-windgen.allowedmodes"); // NOI18N

        windgenModes.setName("CD-windgen.allowedmodes"); // NOI18N
        windgenModes.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        windRadiusField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        windRadiusField.setName("CD-wind radius"); // NOI18N
        windRadiusField.setUnitsLabel(windRadiusUnits);
        windRadiusField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        windRadiusField.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        windRadiusLabel.setText("Radius:");
        windRadiusLabel.setName("CD-wind radius"); // NOI18N

        windRadiusUnits.setFont(windRadiusUnits.getFont().deriveFont(windRadiusUnits.getFont().getStyle() & ~java.awt.Font.BOLD));

        org.jdesktop.layout.GroupLayout JP_WindgenLayout = new org.jdesktop.layout.GroupLayout(JP_Windgen);
        JP_Windgen.setLayout(JP_WindgenLayout);
        JP_WindgenLayout.setHorizontalGroup(
            JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_WindgenLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 67, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 67, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 67, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel44, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 67, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel46)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel47, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 75, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jLabel10, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 75, Short.MAX_VALUE))
                    .add(windRadiusLabel))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_WindgenLayout.createSequentialGroup()
                        .add(windRadiusField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 75, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(windRadiusUnits))
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, JP_WindgenLayout.createSequentialGroup()
                        .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, JTF_winDb1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 471, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, JTF_winDb, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 471, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, JTF_winCmd, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 471, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, JTF_winExe, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 471, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, JTF_winDb2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 471, Short.MAX_VALUE))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(JB_winExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JB_winGenDB, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JB_winGenDB1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JB_winGenDB2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, JP_WindgenLayout.createSequentialGroup()
                        .add(JTF_winDb3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 471, Short.MAX_VALUE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JB_winGenDB3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(windgenModes, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        JP_WindgenLayout.linkSize(new java.awt.Component[] {JLabel1, JLabel2, JLabel20, JLabel44, JLabel46}, org.jdesktop.layout.GroupLayout.HORIZONTAL);

        JP_WindgenLayout.setVerticalGroup(
            JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, JP_WindgenLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_WindgenLayout.createSequentialGroup()
                        .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(JLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_winExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(JLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_winCmd, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .add(JB_winExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JLabel20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JTF_winDb, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JB_winGenDB, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JB_winGenDB1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JLabel44, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JTF_winDb1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JLabel46, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JTF_winDb2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JB_winGenDB2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JTF_winDb3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JLabel47, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JB_winGenDB3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(windRadiusField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(windRadiusLabel)
                    .add(windRadiusUnits))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_WindgenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jLabel10)
                    .add(windgenModes, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(35, 35, 35))
        );

        JTP_main.addTab("Windgen", JP_Windgen);

        JLabel45.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel45.setText("Index:");
        JLabel45.setToolTipText("");
        JLabel45.setName("CD-cligen database"); // NOI18N

        JB_cliGenDb1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliGenDb1.setToolTipText("");
        JB_cliGenDb1.setName("CD-cligen index"); // NOI18N
        JB_cliGenDb1.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliGenDb1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JTF_cliCmd.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliCmd.setToolTipText("ConfigPanel:cliCmd");
        JTF_cliCmd.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliCmd.setName("CD-cligen cmdline"); // NOI18N
        JTF_cliCmd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_cliCmd.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_cliExe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliExe.setToolTipText("ConfigPanel:cliGenExeButton");
        JB_cliExe.setName("CD-cligen generator"); // NOI18N
        JB_cliExe.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel3.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel3.setText("Executable:");
        JLabel3.setToolTipText("ConfigPanel:cliExe");
        JLabel3.setName("CD-cligen generator"); // NOI18N

        JTF_cliDb1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliDb1.setToolTipText("");
        JTF_cliDb1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliDb1.setName("CD-cligen index"); // NOI18N
        JTF_cliDb1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_cliDb1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_cliGenDb.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_cliGenDb.setToolTipText("");
        JB_cliGenDb.setName("CD-cligen database"); // NOI18N
        JB_cliGenDb.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_cliGenDb.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel4.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel4.setText("Arguments:");
        JLabel4.setToolTipText("ConfigPanel:cliCmd");
        JLabel4.setName("CD-windgen cmdline"); // NOI18N

        JTF_cliDb.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliDb.setToolTipText("");
        JTF_cliDb.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliDb.setName("CD-cligen database"); // NOI18N
        JTF_cliDb.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_cliDb.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_cliExe.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cliExe.setToolTipText("ConfigPanel:cliExe");
        JTF_cliExe.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cliExe.setName("CD-cligen generator"); // NOI18N
        JTF_cliExe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_cliExe.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel41.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel41.setText("Database:");
        JLabel41.setToolTipText("");
        JLabel41.setName("CD-cligen database"); // NOI18N

        jLabel12.setText("Modes:");
        jLabel12.setName("CD-cligen.allowedmodes"); // NOI18N

        cligenModes.setIgnore(StationMode.Interpolated);
        cligenModes.setName("CD-cligen.allowedmodes"); // NOI18N
        cligenModes.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                cligenModesglobalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                cligenModesglobalFocusLost(evt);
            }
        });

        cligenRadiusField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        cligenRadiusField.setName("CD-climate radius"); // NOI18N
        cligenRadiusField.setUnitsLabel(cligenRadiusUnits);
        cligenRadiusField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        cligenRadiusField.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFousGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        cligenRadiusLabel.setText("Radius:");
        cligenRadiusLabel.setName("CD-climate radius"); // NOI18N

        cligenRadiusUnits.setFont(cligenRadiusUnits.getFont().deriveFont(cligenRadiusUnits.getFont().getStyle() & ~java.awt.Font.BOLD));
        cligenRadiusUnits.setName("CD-climate radius"); // NOI18N

        org.jdesktop.layout.GroupLayout JP_CligenLayout = new org.jdesktop.layout.GroupLayout(JP_Cligen);
        JP_Cligen.setLayout(JP_CligenLayout);
        JP_CligenLayout.setHorizontalGroup(
            JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_CligenLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, JP_CligenLayout.createSequentialGroup()
                        .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                                .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel45, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel41, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .add(jLabel12)
                            .add(cligenRadiusLabel))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(cligenModes, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_cliDb1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 480, Short.MAX_VALUE)
                            .add(JTF_cliDb, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 480, Short.MAX_VALUE)
                            .add(JTF_cliCmd, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 480, Short.MAX_VALUE)
                            .add(JP_CligenLayout.createSequentialGroup()
                                .add(cligenRadiusField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 75, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(cligenRadiusUnits))))
                    .add(JP_CligenLayout.createSequentialGroup()
                        .add(JLabel3)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JTF_cliExe, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 481, Short.MAX_VALUE)))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(JB_cliExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JB_cliGenDb, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JB_cliGenDb1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        JP_CligenLayout.setVerticalGroup(
            JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_CligenLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(JB_cliExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JLabel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JTF_cliExe, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JLabel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_cliCmd, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JLabel41, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JTF_cliDb, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JB_cliGenDb, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JLabel45, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JTF_cliDb1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JB_cliGenDb1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(cligenRadiusField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(cligenRadiusLabel)
                    .add(cligenRadiusUnits))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_CligenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(cligenModes, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(jLabel12))
                .addContainerGap(166, Short.MAX_VALUE))
        );

        JP_CligenLayout.linkSize(new java.awt.Component[] {JB_cliGenDb, JLabel41, JTF_cliDb}, org.jdesktop.layout.GroupLayout.VERTICAL);

        JP_CligenLayout.linkSize(new java.awt.Component[] {JB_cliGenDb1, JLabel45, JTF_cliDb1}, org.jdesktop.layout.GroupLayout.VERTICAL);

        JTP_main.addTab("Cligen", JP_Cligen);

        JP_Directories.setToolTipText("ConfigPanel:dir");

        JLabel7.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel7.setText("Man Template Open");
        JLabel7.setToolTipText("ConfigPanel:manTemp");
        JLabel7.setName("CD-management template"); // NOI18N

        JLabel8.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel8.setText("Man Conversion Dir");
        JLabel8.setToolTipText("ConfigPanel:manSkel");
        JLabel8.setName("CD-management skeleton"); // NOI18N

        JLabel9.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel9.setText("Operation Records");
        JLabel9.setToolTipText("ConfigPanel:manOpDB");
        JLabel9.setName("CD-manoperdb"); // NOI18N

        JLabel10.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel10.setText("Crop Records");
        JLabel10.setToolTipText("ConfigPanel:cropDB");
        JLabel10.setName("CD-cropdb"); // NOI18N

        JLabel12.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel12.setText("Projects Directory");
        JLabel12.setToolTipText("ConfigPanel:projDir");
        JLabel12.setName("CD-projects path"); // NOI18N

        JLabel34.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel34.setText("MCREW Directory");
        JLabel34.setToolTipText("ConfigPanel:mcrewDir");
        JLabel34.setName("CD-MCREW"); // NOI18N

        JTF_manTemp.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_manTemp.setToolTipText("ConfigPanel:manTemp");
        JTF_manTemp.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_manTemp.setName("CD-management template"); // NOI18N
        JTF_manTemp.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_manTemp.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_manSkel.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_manSkel.setToolTipText("ConfigPanel:manSkel");
        JTF_manSkel.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_manSkel.setName("CD-management skeleton"); // NOI18N
        JTF_manSkel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_manSkel.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_manOperDB.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_manOperDB.setToolTipText("ConfigPanel:manOpDB");
        JTF_manOperDB.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_manOperDB.setName("CD-manoperdb"); // NOI18N
        JTF_manOperDB.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_manOperDB.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_cropDB.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_cropDB.setToolTipText("ConfigPanel:cropDB");
        JTF_cropDB.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_cropDB.setName("CD-cropdb"); // NOI18N
        JTF_cropDB.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_cropDB.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_MCREW.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_MCREW.setToolTipText("ConfigPanel:mcrewDir");
        JTF_MCREW.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_MCREW.setName("CD-MCREW"); // NOI18N
        JTF_MCREW.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_MCREW.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_projDir.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_projDir.setToolTipText("ConfigPanel:projDir");
        JTF_projDir.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_projDir.setName("CD-projects path"); // NOI18N
        JTF_projDir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_projDir.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        manTemplate_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        manTemplate_Button.setToolTipText("ConfigPanel:manTemplateButton");
        manTemplate_Button.setName("CD-management template"); // NOI18N
        manTemplate_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        manTemplate_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        manSkel_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        manSkel_Button.setToolTipText("ConfigPanel:manSkelButton");
        manSkel_Button.setName("CD-management skeleton"); // NOI18N
        manSkel_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        manSkel_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        manOpDB_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        manOpDB_Button.setToolTipText("ConfigPanel:manOpDbButton");
        manOpDB_Button.setName("CD-manoperdb"); // NOI18N
        manOpDB_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        manOpDB_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        cropDB_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        cropDB_Button.setToolTipText("ConfigPanel:cropDbButton");
        cropDB_Button.setName("CD-cropdb"); // NOI18N
        cropDB_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        cropDB_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        mcrewDir_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        mcrewDir_Button.setToolTipText("ConfigPanel:mcrewDirButton");
        mcrewDir_Button.setName("CD-MCREW"); // NOI18N
        mcrewDir_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        mcrewDir_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        projectsDir_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        projectsDir_Button.setToolTipText("ConfigPanel:projectsDirButton");
        projectsDir_Button.setName("CD-projects path"); // NOI18N
        projectsDir_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        projectsDir_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JL_mcrewDataConfig.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JL_mcrewDataConfig.setText("MCREW Data Config");
        JL_mcrewDataConfig.setName("CD-mcrew data config file name"); // NOI18N

        JTF_mcrewDataConfig.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mcrewDataConfig.setToolTipText("ConfigPanel:opDefn");
        JTF_mcrewDataConfig.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mcrewDataConfig.setName("CD-mcrew data config file name"); // NOI18N
        JTF_mcrewDataConfig.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_mcrewDataConfig.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_mcrewDataConfig.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_mcrewDataConfig.setToolTipText("ConfigPanel:opDefnButton");
        JB_mcrewDataConfig.setName("CD-mcrew data config file name"); // NOI18N
        JB_mcrewDataConfig.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_mcrewDataConfig.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JL_skelTranslations.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JL_skelTranslations.setText("Management Translation File");
        JL_skelTranslations.setName("CD-skel translations file"); // NOI18N

        JTF_skelTranslations.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_skelTranslations.setToolTipText("ConfigPanel:opDefn");
        JTF_skelTranslations.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_skelTranslations.setName("CD-skel translations file"); // NOI18N
        JTF_skelTranslations.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_skelTranslations.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_skelTranslations.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_skelTranslations.setToolTipText("ConfigPanel:opDefnButton");
        JB_skelTranslations.setName("CD-skel translations file"); // NOI18N
        JB_skelTranslations.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_skelTranslations.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JL_runsLocation.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JL_runsLocation.setText("New Project Default Runs Location");
        JL_runsLocation.setToolTipText("ConfigPanel:runsLocation");
        JL_runsLocation.setName("CD-default runs location Template"); // NOI18N

        JTF_runsLocations.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_runsLocations.setToolTipText("ConfigPanel:runsLocation");
        JTF_runsLocations.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_runsLocations.setName("CD-default runs location Template"); // NOI18N
        JTF_runsLocations.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_runsLocations.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_browseRunsLocation.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_browseRunsLocation.setToolTipText("ConfigPanel:runsLocationButton");
        JB_browseRunsLocation.setName("CD-default runs location Template"); // NOI18N
        JB_browseRunsLocation.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_browseRunsLocation.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JTF_manTempSave.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_manTempSave.setToolTipText("ConfigPanel:manTemp");
        JTF_manTempSave.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_manTempSave.setName("CD-management template save as"); // NOI18N
        JTF_manTempSave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_manTempSave.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel42.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel42.setText("Man Template Save");
        JLabel42.setToolTipText("ConfigPanel:manTemp");
        JLabel42.setName("CD-management template save as"); // NOI18N

        manTemplate_ButtonSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        manTemplate_ButtonSave.setToolTipText("ConfigPanel:manTemplateButton");
        manTemplate_ButtonSave.setName("CD-management template save as"); // NOI18N
        manTemplate_ButtonSave.setPreferredSize(new java.awt.Dimension(35, 19));
        manTemplate_ButtonSave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JL_reportFileName.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JL_reportFileName.setText("Report Image Filename");
        JL_reportFileName.setName("CD-report file name"); // NOI18N

        JTF_reportFileName.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_reportFileName.setToolTipText("ConfigPanel:opDefn");
        JTF_reportFileName.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_reportFileName.setName("CD-report file name"); // NOI18N
        JTF_reportFileName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_reportFileName.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_reportFileName.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_reportFileName.setToolTipText("ConfigPanel:opDefnButton");
        JB_reportFileName.setName("CD-report file name"); // NOI18N
        JB_reportFileName.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_reportFileName.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel2.setText("Detail Report Filters");
        jLabel2.setName("CD-detail table filter file"); // NOI18N

        JTF_detailFilters.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detailFilters.setName("CD-detail table filter file"); // NOI18N
        JTF_detailFilters.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detailFilters.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_detailFilters.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_detailFilters.setToolTipText("ConfigPanel:opDefnButton");
        JB_detailFilters.setName("CD-detail table filter file"); // NOI18N
        JB_detailFilters.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_detailFilters.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel8.setText("Field Barriers File");
        jLabel8.setName("CD-nrcs cli shape file"); // NOI18N

        JTF_barriersFile.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_barriersFile.setName("CD-barriers.file"); // NOI18N
        JTF_barriersFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_barriersFile.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_barriersFile.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_barriersFile.setToolTipText("");
        JB_barriersFile.setName("CD-barriers.file"); // NOI18N
        JB_barriersFile.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_barriersFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        JLabel28.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel28.setText("Current Project");
        JLabel28.setToolTipText("ConfigPanel:projDir");
        JLabel28.setName("CD-current project"); // NOI18N

        JTF_projDir1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_projDir1.setToolTipText("ConfigPanel:projDir");
        JTF_projDir1.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_projDir1.setName("CD-current project"); // NOI18N
        JTF_projDir1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_projDir1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        currentProjectButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        currentProjectButton.setToolTipText("ConfigPanel:projectsDirButton");
        currentProjectButton.setName("CD-current project"); // NOI18N
        currentProjectButton.setPreferredSize(new java.awt.Dimension(35, 19));
        currentProjectButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout JP_DirectoriesLayout = new org.jdesktop.layout.GroupLayout(JP_Directories);
        JP_Directories.setLayout(JP_DirectoriesLayout);
        JP_DirectoriesLayout.setHorizontalGroup(
            JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_DirectoriesLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_DirectoriesLayout.createSequentialGroup()
                        .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JLabel10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_cropDB, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JLabel9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_manOperDB, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JLabel8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_manSkel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JLabel42, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_manTempSave, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JLabel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_manTemp, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JL_runsLocation, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_runsLocations, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JLabel12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_projDir, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JLabel28, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_projDir1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, currentProjectButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, projectsDir_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, JB_browseRunsLocation, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, manTemplate_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, manTemplate_ButtonSave, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, manSkel_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, manOpDB_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, cropDB_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .add(JP_DirectoriesLayout.createSequentialGroup()
                        .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JL_mcrewDataConfig, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_mcrewDataConfig, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(jLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_detailFilters, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JL_reportFileName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_reportFileName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JP_DirectoriesLayout.createSequentialGroup()
                                .add(JL_skelTranslations, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(10, 10, 10)
                                .add(JTF_skelTranslations, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JB_skelTranslations, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JB_mcrewDataConfig, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JB_reportFileName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JB_detailFilters, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .add(JP_DirectoriesLayout.createSequentialGroup()
                        .add(JLabel34, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(10, 10, 10)
                        .add(JTF_MCREW, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(mcrewDir_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JP_DirectoriesLayout.createSequentialGroup()
                        .add(jLabel8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(10, 10, 10)
                        .add(JTF_barriersFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JB_barriersFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        JP_DirectoriesLayout.setVerticalGroup(
            JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_DirectoriesLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel28, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(currentProjectButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_projDir1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(projectsDir_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_projDir, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JL_runsLocation, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JB_browseRunsLocation, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_runsLocations, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(manTemplate_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_manTemp, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel42, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(manTemplate_ButtonSave, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_manTempSave, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(manSkel_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_manSkel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(manOpDB_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_manOperDB, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(cropDB_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_cropDB, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(JTF_barriersFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(jLabel8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JB_barriersFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel34, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(mcrewDir_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_MCREW, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JL_mcrewDataConfig, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_mcrewDataConfig, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JB_mcrewDataConfig, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JL_skelTranslations, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_skelTranslations, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JB_skelTranslations, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(0, 0, 0)
                .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_DirectoriesLayout.createSequentialGroup()
                        .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JL_reportFileName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_reportFileName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .add(0, 0, 0)
                        .add(JP_DirectoriesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(jLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JTF_detailFilters, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JB_detailFilters, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .add(JB_reportFileName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        JP_DirectoriesLayout.linkSize(new java.awt.Component[] {JLabel12, JTF_projDir, projectsDir_Button}, org.jdesktop.layout.GroupLayout.VERTICAL);

        JTP_main.addTab("Directories", JP_Directories);

        JLabel11.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel11.setText("Soils Database:");
        JLabel11.setToolTipText("ConfigPanel:soilDB");
        JLabel11.setName("CD-soil database"); // NOI18N

        JTF_soilDB.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_soilDB.setToolTipText("ConfigPanel:soilDB");
        JTF_soilDB.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_soilDB.setName("CD-soil database"); // NOI18N
        JTF_soilDB.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_soilDB.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        soilDB_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        soilDB_Button.setToolTipText("ConfigPanel:soilDbButton");
        soilDB_Button.setName("CD-soil database"); // NOI18N
        soilDB_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        soilDB_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jCheckBox2.setText("Average Stratified Soil Layers");
        jCheckBox2.setName("CD-soil.averagestratified"); // NOI18N
        jCheckBox2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_SoilEstimate.setText("Allow Estimations in the Soil User Interface");
        JXB_SoilEstimate.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_SoilEstimate.setName("CD-soil estimate"); // NOI18N
        JXB_SoilEstimate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_disableSurgoEstimates.setText("Do Not Estimate Missing SSURGO Database Soil Values");
        JXB_disableSurgoEstimates.setName("CD-do not estimate missing surgo values"); // NOI18N
        JXB_disableSurgoEstimates.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel1.setText("Organic Matter Threshold:");
        jLabel1.setName("CD-organic material fraction threshold"); // NOI18N

        JTF_omThreshold.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        JTF_omThreshold.setText("0.20");
        JTF_omThreshold.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_omThreshold.setName("CD-organic material fraction threshold"); // NOI18N
        JTF_omThreshold.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_omThreshold.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        jTextField1.setName("CD-soil.organicfile"); // NOI18N
        jTextField1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        jTextField1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        jCheckBox4.setText("Test for Organic Soils");
        jCheckBox4.setName("CD-soil.organictest"); // NOI18N
        jCheckBox4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel4.setText("Organic Soil File:");
        jLabel4.setName("CD-soil.organicfile"); // NOI18N

        jCheckBox3.setText("Ignore Organic Surface Layer");
        jCheckBox3.setName("CD-soil.skiporganic"); // NOI18N
        jCheckBox3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        soilOrganicFile_Button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        soilOrganicFile_Button.setToolTipText("ConfigPanel:soilDbButton");
        soilOrganicFile_Button.setName("CD-soil.organicfile"); // NOI18N
        soilOrganicFile_Button.setPreferredSize(new java.awt.Dimension(35, 19));
        soilOrganicFile_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jLabel9.setText("Maximum Depth of Organic Surface Layer to Ignore:");
        jLabel9.setName("CD-soil.maxorganicdepth"); // NOI18N

        maxOrganicDepthUnits.setFont(maxOrganicDepthUnits.getFont().deriveFont(maxOrganicDepthUnits.getFont().getStyle() & ~java.awt.Font.BOLD));
        maxOrganicDepthUnits.setName("CD-soil.maxorganicdepth"); // NOI18N

        jLabel11.setFont(jLabel11.getFont().deriveFont(jLabel11.getFont().getStyle() & ~java.awt.Font.BOLD));
        jLabel11.setText("fraction");
        jLabel11.setName("CD-organic material fraction threshold"); // NOI18N

        organicMaxDepth.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        organicMaxDepth.setDisplayPattern("#0.00");
        organicMaxDepth.setName("CD-soil.maxorganicdepth"); // NOI18N
        organicMaxDepth.setUnitsLabel(maxOrganicDepthUnits);
        organicMaxDepth.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        organicMaxDepth.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JXB_soilReadonly.setText("Soil Editor Readonly");
        JXB_soilReadonly.setName("CD-soil.readonly"); // NOI18N
        JXB_soilReadonly.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JXB_soilReadonly.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        org.jdesktop.layout.GroupLayout JP_SoilLayout = new org.jdesktop.layout.GroupLayout(JP_Soil);
        JP_Soil.setLayout(JP_SoilLayout);
        JP_SoilLayout.setHorizontalGroup(
            JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_SoilLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JXB_soilReadonly)
                    .add(JP_SoilLayout.createSequentialGroup()
                        .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JXB_SoilEstimate)
                            .add(JXB_disableSurgoEstimates)
                            .add(JP_SoilLayout.createSequentialGroup()
                                .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(JLabel11)
                                    .add(jLabel4))
                                .add(10, 10, 10)
                                .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(JTF_soilDB, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE)
                                    .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE))
                                .add(8, 8, 8))
                            .add(JP_SoilLayout.createSequentialGroup()
                                .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                                    .add(jCheckBox4)
                                    .add(jLabel1))
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(JTF_omThreshold, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jLabel11))
                            .add(jCheckBox2)
                            .add(jCheckBox3)
                            .add(JP_SoilLayout.createSequentialGroup()
                                .add(jLabel9)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(organicMaxDepth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 75, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(maxOrganicDepthUnits, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 34, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(soilOrganicFile_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(soilDB_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap())
        );
        JP_SoilLayout.setVerticalGroup(
            JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_SoilLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JLabel11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JTF_soilDB, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(soilDB_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(soilOrganicFile_Button, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JP_SoilLayout.createSequentialGroup()
                        .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(jLabel4))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                        .add(jCheckBox4)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel1)
                            .add(JTF_omThreshold, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(jLabel11))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(jCheckBox3)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_SoilLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel9)
                            .add(organicMaxDepth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(maxOrganicDepthUnits))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(jCheckBox2)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JXB_SoilEstimate, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JXB_disableSurgoEstimates)))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JXB_soilReadonly)
                .addContainerGap(145, Short.MAX_VALUE))
        );

        JTP_main.addTab("Soil", JP_Soil);

        gisDataLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        gisDataLabel.setText("GIS Data:");
        gisDataLabel.setName("CD-gis.data"); // NOI18N

        gisData.setDisabledTextColor(java.awt.SystemColor.controlText);
        gisData.setName("CD-gis.data"); // NOI18N
        gisData.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        gisData.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JB_gisDataFile.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        JB_gisDataFile.setToolTipText("ConfigPanel:opDefnButton");
        JB_gisDataFile.setName("CD-gis.data"); // NOI18N
        JB_gisDataFile.setPreferredSize(new java.awt.Dimension(35, 19));
        JB_gisDataFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout JP_GisLayout = new org.jdesktop.layout.GroupLayout(JP_Gis);
        JP_Gis.setLayout(JP_GisLayout);
        JP_GisLayout.setHorizontalGroup(
            JP_GisLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_GisLayout.createSequentialGroup()
                .addContainerGap()
                .add(gisDataLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(gisData, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 495, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(JB_gisDataFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        JP_GisLayout.setVerticalGroup(
            JP_GisLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_GisLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_GisLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JB_gisDataFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JP_GisLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(gisDataLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(gisData, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(428, Short.MAX_VALUE))
        );

        JTP_main.addTab("GIS", JP_Gis);

        JP_Output.setToolTipText("ConfigPanel:output");

        JLabel17.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel17.setText("Reporting period");
        JLabel17.setToolTipText("ConfigPanel:outputRepPer");
        JLabel17.setName("CD-output report frequency"); // NOI18N

        JLabel18.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel18.setText("Submodel Reports");
        JLabel18.setToolTipText("ConfigPanel:subReports");
        JLabel18.setName("CD-detailed hydro output;CD-detailed soil output;CD-detailed manage output;CD-detailed crop output;CD-detailed decomp output;CD-detailed erosion output;CD-debug hydro output;CD-debug soil output;CD-debug manage output;CD-debug crop output;CD-debug decomp output;CD-debug erosion output"); // NOI18N

        JLabel21.setFont(new java.awt.Font("Tahoma", 0, 12));
        JLabel21.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel21.setText("Hydrology");
        JLabel21.setToolTipText("ConfigPanel:outputHydro");
        JLabel21.setName("CD-detailed hydro output;CD-debug hydro output"); // NOI18N

        JLabel22.setFont(new java.awt.Font("Tahoma", 0, 12));
        JLabel22.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel22.setText("Soil");
        JLabel22.setToolTipText("ConfigPanel:outputSoil");
        JLabel22.setName("CD-detailed soil output;CD-debug soil output"); // NOI18N

        JLabel23.setFont(new java.awt.Font("Tahoma", 0, 12));
        JLabel23.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel23.setText("Management");
        JLabel23.setToolTipText("ConfigPanel:outputManage");
        JLabel23.setName("CD-detailed manage output;CD-debug manage output"); // NOI18N

        JLabel24.setFont(new java.awt.Font("Tahoma", 0, 12));
        JLabel24.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel24.setText("Crop");
        JLabel24.setToolTipText("ConfigPanel:outputCrop");
        JLabel24.setName("CD-detailed crop output;CD-debug crop output"); // NOI18N

        JLabel25.setFont(new java.awt.Font("Tahoma", 0, 12));
        JLabel25.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel25.setText("Decomposition");
        JLabel25.setToolTipText("ConfigPanel:outputDecomp");
        JLabel25.setName("CD-detailed decomp output;CD-debug decomp output"); // NOI18N

        JLabel26.setFont(new java.awt.Font("Tahoma", 0, 12));
        JLabel26.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel26.setText("Erosion");
        JLabel26.setToolTipText("ConfigPanel:outputErosion");
        JLabel26.setName("CD-detailed erosion output;CD-debug erosion output"); // NOI18N

        JLabel19.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel19.setText("Detail");
        JLabel19.setToolTipText("ConfigPanel:detailLevel");
        JLabel19.setName("CD-detailed hydro output;CD-detailed soil output;CD-detailed manage output;CD-detailed crop output;CD-detailed decomp output;CD-detailed erosion output"); // NOI18N

        JTF_detHydro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detHydro.setText("0");
        JTF_detHydro.setToolTipText("ConfigPanel:outputHydro");
        JTF_detHydro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detHydro.setName("CD-detailed hydro output"); // NOI18N
        JTF_detHydro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detHydro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detSoil.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detSoil.setText("0");
        JTF_detSoil.setToolTipText("ConfigPanel:outputSoil");
        JTF_detSoil.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detSoil.setName("CD-detailed soil output"); // NOI18N
        JTF_detSoil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detSoil.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detMan.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detMan.setText("0");
        JTF_detMan.setToolTipText("ConfigPanel:outputManage");
        JTF_detMan.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detMan.setName("CD-detailed manage output"); // NOI18N
        JTF_detMan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detMan.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detCrop.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detCrop.setText("0");
        JTF_detCrop.setToolTipText("ConfigPanel:outputCrop");
        JTF_detCrop.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detCrop.setName("CD-detailed crop output"); // NOI18N
        JTF_detCrop.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detCrop.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detDec.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detDec.setText("0");
        JTF_detDec.setToolTipText("ConfigPanel:outputDecomp");
        JTF_detDec.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detDec.setName("CD-detailed decomp output"); // NOI18N
        JTF_detDec.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detDec.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_detEro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_detEro.setText("0");
        JTF_detEro.setToolTipText("ConfigPanel:outputErosion");
        JTF_detEro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_detEro.setName("CD-detailed erosion output"); // NOI18N
        JTF_detEro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_detEro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugHydro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugHydro.setText("0");
        JTF_debugHydro.setToolTipText("ConfigPanel:outputHydroDebug\n");
        JTF_debugHydro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugHydro.setName("CD-debug hydro output"); // NOI18N
        JTF_debugHydro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugHydro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugSoil.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugSoil.setText("0");
        JTF_debugSoil.setToolTipText("ConfigPanel:outputSoilDebug");
        JTF_debugSoil.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugSoil.setName("CD-debug soil output"); // NOI18N
        JTF_debugSoil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugSoil.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugMan.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugMan.setText("0");
        JTF_debugMan.setToolTipText("ConfigPanel:outputManageDebug");
        JTF_debugMan.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugMan.setName("CD-debug manage output"); // NOI18N
        JTF_debugMan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugMan.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugCrop.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugCrop.setText("0");
        JTF_debugCrop.setToolTipText("ConfigPanel:outputCropDebug");
        JTF_debugCrop.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugCrop.setName("CD-debug crop output"); // NOI18N
        JTF_debugCrop.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugCrop.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugDec.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugDec.setText("0");
        JTF_debugDec.setToolTipText("ConfigPanel:outputDecompDebug");
        JTF_debugDec.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugDec.setName("CD-debug decomp output"); // NOI18N
        JTF_debugDec.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugDec.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_debugEro.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        JTF_debugEro.setText("0");
        JTF_debugEro.setToolTipText("ConfigPanel:outputErosionDebug");
        JTF_debugEro.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_debugEro.setName("CD-debug erosion output"); // NOI18N
        JTF_debugEro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_debugEro.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel43.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel43.setText("Debug");
        JLabel43.setToolTipText("ConfigPanel:detailLevel");
        JLabel43.setName("CD-debug hydro output;CD-debug soil output;CD-debug manage output;CD-debug crop output;CD-debug decomp output;CD-debug erosion output"); // NOI18N

        jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));

        JBGP_reportPeriod.add(JRB_1);
        JRB_1.setFont(new java.awt.Font("Tahoma", 0, 12));
        JRB_1.setText("Daily");
        JRB_1.setToolTipText("ConfigPanel:outputRepPer");
        JRB_1.setActionCommand("E");
        JRB_1.setName("CD-output report frequency:1"); // NOI18N
        JRB_1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        jPanel1.add(JRB_1);

        JBGP_reportPeriod.add(JRB_2);
        JRB_2.setFont(new java.awt.Font("Tahoma", 0, 12));
        JRB_2.setSelected(true);
        JRB_2.setText("Weekly");
        JRB_2.setToolTipText("ConfigPanel:outputRepPer");
        JRB_2.setActionCommand("N");
        JRB_2.setName("CD-output report frequency:2"); // NOI18N
        JRB_2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        jPanel1.add(JRB_2);

        JBGP_reportPeriod.add(JRB_3);
        JRB_3.setFont(new java.awt.Font("Tahoma", 0, 12));
        JRB_3.setText("Bi-Weekly");
        JRB_3.setToolTipText("ConfigPanel:outputRepPer");
        JRB_3.setActionCommand("S");
        JRB_3.setName("CD-output report frequency:3"); // NOI18N
        JRB_3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        jPanel1.add(JRB_3);

        JBGP_reportPeriod.add(JRB_4);
        JRB_4.setFont(new java.awt.Font("Tahoma", 0, 12));
        JRB_4.setText("Monthly");
        JRB_4.setToolTipText("ConfigPanel:outputRepPer");
        JRB_4.setActionCommand("W");
        JRB_4.setName("CD-output report frequency:4"); // NOI18N
        JRB_4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        jPanel1.add(JRB_4);

        org.jdesktop.layout.GroupLayout JP_OutputLayout = new org.jdesktop.layout.GroupLayout(JP_Output);
        JP_Output.setLayout(JP_OutputLayout);
        JP_OutputLayout.setHorizontalGroup(
            JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_OutputLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_OutputLayout.createSequentialGroup()
                        .add(JLabel17, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE)
                        .add(4, 4, 4))
                    .add(JP_OutputLayout.createSequentialGroup()
                        .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(15, 15, 15)
                                .add(JLabel25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(15, 15, 15)
                                .add(JLabel24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(15, 15, 15)
                                .add(JLabel23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(15, 15, 15)
                                .add(JLabel22, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(15, 15, 15)
                                .add(JLabel21, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(15, 15, 15)
                                .add(JLabel26, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(JLabel18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 110, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .add(50, 50, 50)
                        .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JLabel19)
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(JTF_detEro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_detDec, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_detCrop, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_detMan, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_detSoil, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_detHydro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 17, Short.MAX_VALUE)
                                .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(JTF_debugHydro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_debugSoil, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_debugMan, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_debugCrop, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_debugDec, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JTF_debugEro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(JLabel43))))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)))
                .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 364, Short.MAX_VALUE)
                .addContainerGap())
        );
        JP_OutputLayout.setVerticalGroup(
            JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_OutputLayout.createSequentialGroup()
                .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE)
                    .add(JP_OutputLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JLabel17)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                .add(JP_OutputLayout.createSequentialGroup()
                                    .add(JP_OutputLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                        .add(JLabel18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                        .add(JLabel19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                        .add(JLabel43, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                    .add(1, 1, 1)
                                    .add(JLabel21, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JLabel22, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JLabel23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JLabel24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JLabel25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JLabel26, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                .add(JP_OutputLayout.createSequentialGroup()
                                    .add(20, 20, 20)
                                    .add(JTF_detHydro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JTF_detSoil, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JTF_detMan, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JTF_detCrop, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JTF_detDec, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(1, 1, 1)
                                    .add(JTF_detEro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                            .add(JP_OutputLayout.createSequentialGroup()
                                .add(JTF_debugHydro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(1, 1, 1)
                                .add(JTF_debugSoil, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(1, 1, 1)
                                .add(JTF_debugMan, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(1, 1, 1)
                                .add(JTF_debugCrop, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(1, 1, 1)
                                .add(JTF_debugDec, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(1, 1, 1)
                                .add(JTF_debugEro, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap())
        );

        JTP_main.addTab("Output", JP_Output);

        JP_Email.setToolTipText("ConfigPanel:email");

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Email Settings"));
        jPanel2.setName("CD-SenderEmail;CD-Dest_email;CD-Dest_bug_email"); // NOI18N

        JTF_emailSender.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_emailSender.setToolTipText("ConfigPanel:emailSender");
        JTF_emailSender.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_emailSender.setName("CD-SenderEmail"); // NOI18N
        JTF_emailSender.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_emailSender.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_emailHost.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_emailHost.setText("mailhost.weru.ksu.edu");
        JTF_emailHost.setToolTipText("ConfigPanel:emailServer");
        JTF_emailHost.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_emailHost.setName("CD-SMTP_host"); // NOI18N
        JTF_emailHost.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_emailHost.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        g_serverNameLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        g_serverNameLabel.setText("Server Name:");
        g_serverNameLabel.setToolTipText("ConfigPanel:emailServer");
        g_serverNameLabel.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
        g_serverNameLabel.setName("CD-SMTP_host"); // NOI18N

        g_emailType.add(g_emailUseSmtpRadioButton);
        g_emailUseSmtpRadioButton.setSelected(true);
        g_emailUseSmtpRadioButton.setText("Use SMTP server");
        g_emailUseSmtpRadioButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        g_emailUseSmtpRadioButton.setName("CD-use default mail client:0"); // NOI18N
        g_emailUseSmtpRadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        g_emailType.add(g_emailUseSystemRadioButton);
        g_emailUseSystemRadioButton.setText("Use default mail client");
        g_emailUseSystemRadioButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        g_emailUseSystemRadioButton.setName("CD-use default mail client:1"); // NOI18N
        g_emailUseSystemRadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JTF_emailWeps.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_emailWeps.setText("comments@weru.ksu.edu");
        JTF_emailWeps.setToolTipText("ConfigPanel:emailComments");
        JTF_emailWeps.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_emailWeps.setName("CD-Dest_bug_email"); // NOI18N
        JTF_emailWeps.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_emailWeps.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_emailBugs.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_emailBugs.setText("weps-bugs@weru.ksu.edu");
        JTF_emailBugs.setToolTipText("ConfigPanel:emailBugs");
        JTF_emailBugs.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_emailBugs.setName("CD-Dest_email"); // NOI18N
        JTF_emailBugs.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_emailBugs.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel13.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel13.setText("Send From:");
        JLabel13.setToolTipText("ConfigPanel:emailSender");
        JLabel13.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
        JLabel13.setName("CD-SenderEmail"); // NOI18N

        org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, JTF_emailSender, org.jdesktop.beansbinding.ObjectProperty.create(), JLabel13, org.jdesktop.beansbinding.BeanProperty.create("labelFor"));
        bindingGroup.addBinding(binding);

        JLabel15.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel15.setText("Send Comments To:");
        JLabel15.setToolTipText("ConfigPanel:emailComments");
        JLabel15.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel15.setName("CD-Dest_bug_email"); // NOI18N

        JLabel16.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel16.setText("Send Bug Reports To:");
        JLabel16.setToolTipText("ConfigPanel:emailBugs");
        JLabel16.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel16.setName("CD-Dest_email"); // NOI18N

        JCB_outlookClient.setText("Use Outlook client");
        JCB_outlookClient.setName("CD-Outlook Flg"); // NOI18N
        JCB_outlookClient.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel2Layout.createSequentialGroup()
                        .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, g_serverNameLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel15, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel13, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 108, Short.MAX_VALUE))
                        .add(10, 10, 10)
                        .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JTF_emailBugs, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 437, Short.MAX_VALUE)
                            .add(JTF_emailWeps, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 437, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.TRAILING, JTF_emailSender, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 437, Short.MAX_VALUE)
                            .add(JTF_emailHost, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 437, Short.MAX_VALUE)))
                    .add(jPanel2Layout.createSequentialGroup()
                        .add(g_emailUseSmtpRadioButton)
                        .add(35, 35, 35)
                        .add(g_emailUseSystemRadioButton)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JCB_outlookClient)))
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup()
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(g_emailUseSmtpRadioButton)
                    .add(g_emailUseSystemRadioButton)
                    .add(JCB_outlookClient))
                .add(4, 4, 4)
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(g_serverNameLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_emailHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JTF_emailSender, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JLabel13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JTF_emailWeps, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JLabel15, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .add(3, 3, 3)
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE, false)
                    .add(JLabel16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_emailBugs, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(54, 54, 54))
        );

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Mantis Settings"));
        jPanel3.setName("CD-SenderEmail;CD-Dest_email;CD-Dest_bug_email"); // NOI18N

        JTF_mantisEmail.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisEmail.setToolTipText("ConfigPanel:mantisSender");
        JTF_mantisEmail.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisEmail.setName("CD-MantisEmail"); // NOI18N
        JTF_mantisEmail.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_mantisEmail.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_mantisURL.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisURL.setText("http://weru.ksu.edu/mantis/api/soap/mantisconnect.php");
        JTF_mantisURL.setToolTipText("ConfigPanel:mantisUrl");
        JTF_mantisURL.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisURL.setName("CD-Mantis URL"); // NOI18N
        JTF_mantisURL.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_mantisURL.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_mantisUserID.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisUserID.setText("test");
        JTF_mantisUserID.setToolTipText("ConfigPanel:mantisUser");
        JTF_mantisUserID.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisUserID.setName("CD-Mantis user"); // NOI18N
        JTF_mantisUserID.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_mantisUserID.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel14.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel14.setText("Your email:");
        JLabel14.setToolTipText("ConfigPanel:mantisSender");
        JLabel14.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
        JLabel14.setName("CD-MantisEmail"); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, JTF_mantisEmail, org.jdesktop.beansbinding.ObjectProperty.create(), JLabel14, org.jdesktop.beansbinding.BeanProperty.create("labelFor"));
        bindingGroup.addBinding(binding);

        JLabel38.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel38.setText("Mantis user id:");
        JLabel38.setToolTipText("ConfigPanel:mantisUser");
        JLabel38.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel38.setName("CD-Mantis user"); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, JTF_mantisUserID, org.jdesktop.beansbinding.ObjectProperty.create(), JLabel38, org.jdesktop.beansbinding.BeanProperty.create("labelFor"));
        bindingGroup.addBinding(binding);

        JLabel39.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel39.setText("Mantis password:");
        JLabel39.setToolTipText("ConfigPanel:mantisPassword");
        JLabel39.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel39.setName("CD-Mantis password"); // NOI18N

        jLabel7.setText("Mantis URL:");
        jLabel7.setToolTipText("ConfigPanel:mantisUrl");
        jLabel7.setName("CD-Mantis URL"); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, JTF_mantisURL, org.jdesktop.beansbinding.ObjectProperty.create(), jLabel7, org.jdesktop.beansbinding.BeanProperty.create("labelFor"));
        bindingGroup.addBinding(binding);

        JLabel40.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        JLabel40.setText("Mantis project:");
        JLabel40.setToolTipText("ConfigPanel:mantisProject");
        JLabel40.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        JLabel40.setName("CD-Mantis project"); // NOI18N

        JTF_mantisProject.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_mantisProject.setText("triage");
        JTF_mantisProject.setToolTipText("ConfigPanel:mantisProject");
        JTF_mantisProject.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_mantisProject.setName("CD-Mantis project"); // NOI18N
        JTF_mantisProject.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_mantisProject.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JTF_mantisPassword.setToolTipText("ConfigPanel:mantisPassword");
        JTF_mantisPassword.setName("CD-Mantis password"); // NOI18N
        JTF_mantisPassword.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_mantisPassword.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(JLabel38, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(JLabel39, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(JLabel40, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(jLabel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 76, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JLabel14, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .add(10, 10, 10)
                .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(JTF_mantisProject, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, JTF_mantisUserID, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, JTF_mantisURL, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE)
                    .add(JTF_mantisPassword, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE)
                    .add(JTF_mantisEmail, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel3Layout.createSequentialGroup()
                .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JLabel14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_mantisEmail, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(jLabel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_mantisURL, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JLabel38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_mantisUserID, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JLabel39, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_mantisPassword, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(7, 7, 7)
                .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JLabel40, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_mantisProject, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        org.jdesktop.layout.GroupLayout JP_EmailLayout = new org.jdesktop.layout.GroupLayout(JP_Email);
        JP_Email.setLayout(JP_EmailLayout);
        JP_EmailLayout.setHorizontalGroup(
            JP_EmailLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_EmailLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_EmailLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        JP_EmailLayout.setVerticalGroup(
            JP_EmailLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_EmailLayout.createSequentialGroup()
                .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(14, Short.MAX_VALUE))
        );

        jPanel3.getAccessibleContext().setAccessibleName("Mantis");

        JTP_main.addTab("Email", JP_Email);

        JP_Run.setToolTipText("ConfigPanel:run");

        JLabel30.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel30.setText("Default Run Mode :");
        JLabel30.setToolTipText("ConfigPanel:runLength");
        JLabel30.setName("CD-defaultrunmode"); // NOI18N

        JBGP_runType.add(JRB_NRCS);
        JRB_NRCS.setSelected(true);
        JRB_NRCS.setText("NRCS");
        JRB_NRCS.setToolTipText("ConfigPanel:runLenNRCS");
        JRB_NRCS.setActionCommand("E");
        JRB_NRCS.setName("CD-defaultrunmode:NRCS"); // NOI18N
        JRB_NRCS.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_runType.add(JRB_cycle);
        JRB_cycle.setText("Cycle");
        JRB_cycle.setToolTipText("ConfigPanel:runLenCycle");
        JRB_cycle.setActionCommand("S");
        JRB_cycle.setName("CD-defaultrunmode:cycle"); // NOI18N
        JRB_cycle.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_runType.add(JRB_dates);
        JRB_dates.setText("Dates");
        JRB_dates.setToolTipText("ConfigPanel:runLenDates");
        JRB_dates.setActionCommand("N");
        JRB_dates.setName("CD-defaultrunmode:dates"); // NOI18N
        JRB_dates.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JL_runLength.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JL_runLength.setText("NRCS Run Length :");
        JL_runLength.setToolTipText("ConfigPanel:runType");
        JL_runLength.setName("CD-nrcsrunlength"); // NOI18N

        JTF_runLength.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_runLength.setToolTipText("ConfigPanel:runType");
        JTF_runLength.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_runLength.setEnabled(false);
        JTF_runLength.setName("CD-nrcsrunlength"); // NOI18N
        JTF_runLength.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_runLength.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JCB_purgeRunFiles.setText("Delete files after run.");
        JCB_purgeRunFiles.setName("CD-purge.flag"); // NOI18N
        JCB_purgeRunFiles.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JCB_purgeRunFiles.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JCB_allowBatchCreation.setText("Display batch script creation option.");
        JCB_allowBatchCreation.setName("CD-script.allow"); // NOI18N
        JCB_allowBatchCreation.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel13.setText("File Filter:");
        jLabel13.setName("CD-purge.filefilter"); // NOI18N

        jTextField2.setName("CD-purge.filefilter"); // NOI18N
        jTextField2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        jTextField2.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        org.jdesktop.layout.GroupLayout JP_RunLayout = new org.jdesktop.layout.GroupLayout(JP_Run);
        JP_Run.setLayout(JP_RunLayout);
        JP_RunLayout.setHorizontalGroup(
            JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_RunLayout.createSequentialGroup()
                .add(JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(JP_RunLayout.createSequentialGroup()
                        .add(5, 5, 5)
                        .add(JLabel30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 145, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JP_RunLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JL_runLength, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)))
                .add(10, 10, 10)
                .add(JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JTF_runLength, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JP_RunLayout.createSequentialGroup()
                        .add(JRB_NRCS)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JRB_dates)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                        .add(JRB_cycle)))
                .addContainerGap(219, Short.MAX_VALUE))
            .add(JP_RunLayout.createSequentialGroup()
                .addContainerGap()
                .add(JCB_allowBatchCreation, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 310, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(318, Short.MAX_VALUE))
            .add(JP_RunLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JCB_purgeRunFiles)
                    .add(JP_RunLayout.createSequentialGroup()
                        .add(jLabel13)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(jTextField2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 537, Short.MAX_VALUE)))
                .addContainerGap())
        );
        JP_RunLayout.setVerticalGroup(
            JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_RunLayout.createSequentialGroup()
                .add(10, 10, 10)
                .add(JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JLabel30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JRB_NRCS)
                    .add(JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(JRB_dates)
                        .add(JRB_cycle)))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JTF_runLength, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JL_runLength))
                .add(7, 7, 7)
                .add(JCB_purgeRunFiles)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_RunLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(jLabel13)
                    .add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(81, 81, 81)
                .add(JCB_allowBatchCreation)
                .addContainerGap(231, Short.MAX_VALUE))
        );

        JTP_main.addTab("Run", null, JP_Run, "ConfigPanel:run");

        JP_Formats.setLayout(null);

        lbl_formatOperationDate.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        lbl_formatOperationDate.setText("Operation Date");
        lbl_formatOperationDate.setToolTipText("ConfigPanel:windExe");
        lbl_formatOperationDate.setName("CD-operation date format"); // NOI18N
        JP_Formats.add(lbl_formatOperationDate);
        lbl_formatOperationDate.setBounds(10, 20, 90, 19);

        JCB_formatOperationDate.setToolTipText("ConfigPanel:formatOperationDate");
        JCB_formatOperationDate.setName("CD-operation date format"); // NOI18N
        JCB_formatOperationDate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JP_Formats.add(JCB_formatOperationDate);
        JCB_formatOperationDate.setBounds(110, 50, 260, 28);

        JLB_formatedOperationDate.setText(" ");
        JLB_formatedOperationDate.setToolTipText("ConfigPanel:sampleOperationDate");
        JLB_formatedOperationDate.setName("CD-operation date format"); // NOI18N
        JP_Formats.add(JLB_formatedOperationDate);
        JLB_formatedOperationDate.setBounds(110, 20, 260, 20);

        JTP_main.addTab("Formats", JP_Formats);

        fuelLabel.setText("Fuels:");
        fuelLabel.setName("CD-fuel.database"); // NOI18N

        fuelFile.setName("CD-fuel.database"); // NOI18N
        fuelFile.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        fuelFile.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        fuelFileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/usda/weru/resources/folder.gif"))); // NOI18N
        fuelFileButton.setToolTipText("ConfigPanel:cliGenExeButton");
        fuelFileButton.setName("CD-fuel.database"); // NOI18N
        fuelFileButton.setPreferredSize(new java.awt.Dimension(35, 19));
        fuelFileButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fileButtonActionPerformed(evt);
            }
        });

        jScrollPane1.setViewportView(fuelTable);

        userFuelFileLabel.setFont(userFuelFileLabel.getFont().deriveFont(userFuelFileLabel.getFont().getStyle() & ~java.awt.Font.BOLD));
        userFuelFileLabel.setText("Changes saved to:");

        userFuelFile.setFont(userFuelFile.getFont().deriveFont(userFuelFile.getFont().getStyle() & ~java.awt.Font.BOLD));
        userFuelFile.setText("path to user file");

        jLabel5.setText("Default:");
        jLabel5.setName("CD-fuel.default"); // NOI18N

        fuelDefaultChooser.setBackground(javax.swing.UIManager.getDefaults().getColor("white"));
        fuelDefaultChooser.setName("CD-fuel.default"); // NOI18N
        fuelDefaultChooser.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout JP_FuelsLayout = new org.jdesktop.layout.GroupLayout(JP_Fuels);
        JP_Fuels.setLayout(JP_FuelsLayout);
        JP_FuelsLayout.setHorizontalGroup(
            JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, JP_FuelsLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 616, Short.MAX_VALUE)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, JP_FuelsLayout.createSequentialGroup()
                        .add(userFuelFileLabel)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(userFuelFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 489, Short.MAX_VALUE))
                    .add(org.jdesktop.layout.GroupLayout.LEADING, JP_FuelsLayout.createSequentialGroup()
                        .add(JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(fuelLabel)
                            .add(jLabel5))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JP_FuelsLayout.createSequentialGroup()
                                .add(fuelFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(fuelFileButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(fuelDefaultChooser, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap())
        );
        JP_FuelsLayout.setVerticalGroup(
            JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_FuelsLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, fuelFileButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, fuelFile)
                    .add(fuelLabel))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                    .add(fuelDefaultChooser, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(jLabel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 338, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_FuelsLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(userFuelFileLabel)
                    .add(userFuelFile))
                .addContainerGap())
        );

        JP_FuelsLayout.linkSize(new java.awt.Component[] {fuelFile, fuelFileButton}, org.jdesktop.layout.GroupLayout.VERTICAL);

        JTP_main.addTab("Fuels", JP_Fuels);

        JP_Misc.setToolTipText("ConfigPanel:misc");

        JLabel27.setText("Measurement Units");
        JLabel27.setToolTipText("ConfigPanel:measurementUnits");
        JLabel27.setName("CD-measurement"); // NOI18N

        JBGP_units.add(JRB_english);
        JRB_english.setSelected(true);
        JRB_english.setText("English");
        JRB_english.setToolTipText("ConfigPanel:measurementUnits");
        JRB_english.setActionCommand("E");
        JRB_english.setName("CD-measurement:US"); // NOI18N
        JRB_english.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JBGP_units.add(JRB_metric);
        JRB_metric.setText("Metric");
        JRB_metric.setToolTipText("ConfigPanel:measurementUnits");
        JRB_metric.setActionCommand("N");
        JRB_metric.setName("CD-measurement:SI"); // NOI18N
        JRB_metric.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel31.setText("Time steps per day for wind speed distribution:");
        JLabel31.setToolTipText("ConfigPanel:timeStepsWind");
        JLabel31.setName("CD-time steps"); // NOI18N

        JTF_timeSteps.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_timeSteps.setToolTipText("ConfigPanel:windSpeed");
        JTF_timeSteps.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_timeSteps.setName("CD-time steps"); // NOI18N
        JTF_timeSteps.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_timeSteps.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JXB_latLon.setSelected(true);
        JXB_latLon.setText("Display latitude and longitude fields");
        JXB_latLon.setToolTipText("ConfigPanel:displaylatLon");
        JXB_latLon.setName("CD-display latitude longitude"); // NOI18N
        JXB_latLon.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_stateCounty.setSelected(true);
        JXB_stateCounty.setText("Display state and county fields");
        JXB_stateCounty.setToolTipText("ConfigPanel:displayStCty");
        JXB_stateCounty.setName("CD-display state county"); // NOI18N
        JXB_stateCounty.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_map.setSelected(true);
        JXB_map.setText("Display use map button");
        JXB_map.setToolTipText("ConfigPanel:displayMap");
        JXB_map.setName("CD-use map"); // NOI18N
        JXB_map.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JLabel35.setText("Tooltip Delay (ms):");
        JLabel35.setToolTipText("ConfigPanel:tooltips");
        JLabel35.setName("CD-ToolTipInit;CD-ToolTipDismiss"); // NOI18N

        JLabel36.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel36.setText("Initial");
        JLabel36.setToolTipText("ConfigPanel:ttInit");
        JLabel36.setName("CD-ToolTipInit"); // NOI18N

        JTF_ttInit.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_ttInit.setToolTipText("ConfigPanel:ttInit");
        JTF_ttInit.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_ttInit.setName("CD-ToolTipInit"); // NOI18N
        JTF_ttInit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_ttInit.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JLabel37.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        JLabel37.setText("Dismiss");
        JLabel37.setToolTipText("ConfigPanel:ttDismiss");
        JLabel37.setName("CD-ToolTipDismiss"); // NOI18N

        JTF_ttDismiss.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        JTF_ttDismiss.setToolTipText("ConfigPanel:ttDismiss");
        JTF_ttDismiss.setDisabledTextColor(java.awt.SystemColor.controlText);
        JTF_ttDismiss.setName("CD-ToolTipDismiss"); // NOI18N
        JTF_ttDismiss.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_ttDismiss.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JXB_elevation.setSelected(true);
        JXB_elevation.setText("Display elevation");
        JXB_elevation.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_elevation.setName("CD-display elevation"); // NOI18N
        JXB_elevation.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_McrewEdit.setText("Enable full MCREW editing functionality in WEPS");
        JXB_McrewEdit.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_McrewEdit.setName("CD-mcrew edit"); // NOI18N
        JXB_McrewEdit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_slope.setText("Region slope is readonly");
        JXB_slope.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_slope.setName("CD-readonly region slope"); // NOI18N
        JXB_slope.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_SystemLocale.setText("Do not display system locale warning at startup");
        JXB_SystemLocale.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_SystemLocale.setName("CD-don't warn about system locale"); // NOI18N
        JXB_SystemLocale.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_doNotReview.setText("Do not prompt to review warnings when restoring a run.");
        JXB_doNotReview.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        JXB_doNotReview.setName("CD-do not review warnings when restoring run"); // NOI18N
        JXB_doNotReview.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_hidePButtons.setText("Hide project file buttons");
        JXB_hidePButtons.setName("CD-hide project file buttons"); // NOI18N
        JXB_hidePButtons.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_hideTButtons.setText("Hide template file buttons");
        JXB_hideTButtons.setName("CD-hide template file buttons"); // NOI18N
        JXB_hideTButtons.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        jLabel3.setText("Days to keep logs:");
        jLabel3.setName("CD-logs.daystokeep"); // NOI18N

        JTF_daysKeepLog.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        JTF_daysKeepLog.setText("2");
        JTF_daysKeepLog.setName("CD-logs.daystokeep"); // NOI18N
        JTF_daysKeepLog.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JTF_daysKeepLog.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
        });

        JXB_barriersReadonly.setText("Barriers are readonly");
        JXB_barriersReadonly.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_barriersReadonly.setName("CD-barriers.readonly"); // NOI18N
        JXB_barriersReadonly.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JXB_slope1.setText("Rock fragments is readonly");
        JXB_slope1.setToolTipText("ConfigPanel:displayElelvation\n");
        JXB_slope1.setName("CD-readonly rock fragments"); // NOI18N
        JXB_slope1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });

        JCB_showCountries.setText("Show Countries in Site Chooser");
        JCB_showCountries.setName("CD-sitechooser.showcountry"); // NOI18N
        JCB_showCountries.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JCB_showCountries.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        JXB_xmlFormats.setText("Enable experimental XML formats");
        JXB_xmlFormats.setToolTipText("ConfigPanel:enableMcrewEdit");
        JXB_xmlFormats.setName("CD-formats.xml"); // NOI18N
        JXB_xmlFormats.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                globalActionPerformed(evt);
            }
        });
        JXB_xmlFormats.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                globalFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                globalFocusLost(evt);
            }
        });

        org.jdesktop.layout.GroupLayout JP_MiscLayout = new org.jdesktop.layout.GroupLayout(JP_Misc);
        JP_Misc.setLayout(JP_MiscLayout);
        JP_MiscLayout.setHorizontalGroup(
            JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_MiscLayout.createSequentialGroup()
                .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JP_MiscLayout.createSequentialGroup()
                        .add(10, 10, 10)
                        .add(JLabel27, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 139, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JRB_english, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 80, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(JRB_metric, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 80, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JXB_stateCounty, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 230, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                            .add(JXB_barriersReadonly, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 186, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(JXB_McrewEdit, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(JXB_hideTButtons)
                            .add(JXB_hidePButtons)
                            .add(JXB_SystemLocale, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JXB_elevation))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JLabel31, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 322, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JTF_timeSteps, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 35, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JXB_latLon))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JXB_slope))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JXB_doNotReview))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JCB_showCountries))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(JXB_slope1)
                            .add(JXB_map, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 230, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .add(JP_MiscLayout.createSequentialGroup()
                        .add(144, 144, 144)
                        .add(JLabel36, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 60, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JTF_ttInit, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 40, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(18, 18, 18)
                        .add(JLabel37, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 55, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JTF_ttDismiss, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 40, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(228, Short.MAX_VALUE))
            .add(JP_MiscLayout.createSequentialGroup()
                .addContainerGap()
                .add(JXB_xmlFormats, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 378, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(250, Short.MAX_VALUE))
            .add(org.jdesktop.layout.GroupLayout.TRAILING, JP_MiscLayout.createSequentialGroup()
                .addContainerGap()
                .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, JLabel35, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
                    .add(JP_MiscLayout.createSequentialGroup()
                        .add(jLabel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(4, 4, 4)
                        .add(JTF_daysKeepLog, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 34, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .add(516, 516, 516))
        );
        JP_MiscLayout.setVerticalGroup(
            JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(JP_MiscLayout.createSequentialGroup()
                .add(5, 5, 5)
                .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(JRB_english, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JRB_metric, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JLabel27, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JLabel31, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_timeSteps, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(2, 2, 2)
                .add(JXB_latLon, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_stateCounty, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_elevation, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_map, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_slope, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_slope1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_barriersReadonly, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_McrewEdit, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_SystemLocale, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_doNotReview, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_hidePButtons, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_hideTButtons, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JCB_showCountries, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(2, 2, 2)
                .add(JXB_xmlFormats, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(jLabel3)
                    .add(JTF_daysKeepLog, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(JP_MiscLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JLabel35, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JLabel36, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_ttInit, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JLabel37, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(JTF_ttDismiss, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        JTP_main.addTab("Miscellaneous", JP_Misc);

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .addContainerGap()
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                        .add(JB_OK)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JB_Cancel)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(JB_Help))
                    .add(JTP_main, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 648, Short.MAX_VALUE))
                .addContainerGap())
        );

        layout.linkSize(new java.awt.Component[] {JB_Cancel, JB_Help, JB_OK}, org.jdesktop.layout.GroupLayout.HORIZONTAL);

        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .add(JTP_main, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 526, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(JB_Help)
                    .add(JB_Cancel)
                    .add(JB_OK))
                .addContainerGap())
        );

        bindingGroup.bind();

        pack();
    }// </editor-fold>//GEN-END:initComponents

	   protected void JB_Help_ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JB_Help_ActionPerformed
           ////throw new UnsupportedOperationException("not impld yet");
	   }//GEN-LAST:event_JB_Help_ActionPerformed

	   protected void JBSave_ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JBSave_ActionPerformed

           
           boolean hadShapeFiles = false;

           //send changes to the ConfigData
           for (java.util.Map.Entry<String, String> map : HT_changes.entrySet()) {
               if(ConfigData.GISData.equals(map.getKey())){
                    hadShapeFiles = true;
                }
            
               System.out.println(map.getKey() + " " + map.getValue());
               String key = map.getKey();
               if(key != null){
                changes.firePropertyChange(key, null, map.getValue());
               }
           }
           //save changes
           ConfigData.getDefault().save();

           //save fuel changes
           FuelDAO.getInstance().update(fuelTableModel.getFuels());
           

           try {
               File.umount();
           } catch (ArchiveException ex) {
               logger.fatal("Unable to update config.", ex);

           }
           if(hadShapeFiles){
                JOptionPane.showMessageDialog(null, "GIS shape file options have changed.\nPlease restart WEPS for the changes to take effect.", "Restart Required", JOptionPane.INFORMATION_MESSAGE);
            }
           setVisible(false);
           dispose();
	   }//GEN-LAST:event_JBSave_ActionPerformed

	   protected void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
//		   this.setVisible(false);
           System.exit(0);
	   }//GEN-LAST:event_exitForm

	   protected void globalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_globalActionPerformed
           JB_OK.setEnabled(true);
           Object o = evt.getSource();
           if (o instanceof JPasswordField) {
               JPasswordField jpf = (JPasswordField) evt.getSource();
               StringBuffer password = new StringBuffer();
               password.append(jpf.getPassword());
               
               if (checkNumericField(jpf)) {
                   putChange(jpf.getName(), password.toString());
               }
           }
           else if(o instanceof MeasurableField){
               MeasurableField mf = (MeasurableField) o;
               Unit units = ConfigData.getDefault().getMeasureableUnit(mf.getName());

               if(units != null){
                   MeasureableConfigurationOption option = ConfigData.getDefault().getMeasureableConfigurationOption(mf.getName());
                   String value;
                   if(option.isDouble()){
                       value = Double.toString(mf.getValue().doubleValue(units));
                   }
                   else{
                       value = Long.toString(mf.getValue().longValue(units));
                   }
                   putChange(mf.getName(), value);
                    
               }
               else{
                   logger.warn("MeasureableConfigurationOption is not set for " + mf.getName());
               }
           }
           else if (o instanceof JTextField) {
               JTextField jtf = (JTextField) evt.getSource();
               if (checkNumericField(jtf)) {
                   putChange(jtf.getName(), jtf.getText());
               }
           } else if (o instanceof JCheckBox) {
               JCheckBox jxb = (JCheckBox) o;
               putChange(jxb.getName(), jxb.isSelected() ? "1" : "0");
           }
           else if (o instanceof FuelChooser){
               FuelChooser chooser = (FuelChooser) o;
               Fuel fuel = chooser.getSelectedFuel();
               if(fuel != null){
                   putChange(chooser.getName(), fuel.getName());
               }
               else{
                   putChange(chooser.getName(), "");
               }
           }
           else if (o instanceof JComboBox) {
               JComboBox js = (JComboBox) o;
               String value = optionsDateFormat.get(js.getSelectedItem().toString());
               putChange(js.getName(), "" + value);
           } else if (o instanceof JRadioButton) {
               JRadioButton jrb = (JRadioButton) o;
               if (jrb.isSelected()) {
                   String name = jrb.getName();
                   String property = name.substring(0, name.indexOf(":"));
                   String value = name.substring(name.indexOf(":") + 1, name.length());
                   putChange(property, value);
               }
           }
           else if(o instanceof AllowedStationModeChooser){
               AllowedStationModeChooser chooser = (AllowedStationModeChooser) o;
               putChange(chooser.getName(), chooser.serializeSelectedModes());
           }

          

	   }//GEN-LAST:event_globalActionPerformed

	   protected void globalFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_globalFocusLost
               if (evt.isTemporary()) {
               return;
           }
           Object o = evt.getSource();
           if (o instanceof JPasswordField) {
               JPasswordField jpf = (JPasswordField) evt.getSource();
               StringBuffer password = new StringBuffer();
               password.append(jpf.getPassword());
               
               if (checkNumericField(jpf)) {
                   putChange(jpf.getName(), password.toString());
               }
           }
           else if(o instanceof MeasurableField){
               MeasurableField mf = (MeasurableField) o;
               Unit units = ConfigData.getDefault().getMeasureableUnit(mf.getName());

               if(units != null){
                   MeasureableConfigurationOption option = ConfigData.getDefault().getMeasureableConfigurationOption(mf.getName());
                   String value;
                   if(option.isDouble()){
                       value = Double.toString(mf.getValue().doubleValue(units));
                   }
                   else{
                       value = Long.toString(mf.getValue().longValue(units));
                   }
                   putChange(mf.getName(), value);

               }
               else{
                   logger.warn("MeasureableConfigurationOption is not set for " + mf.getName());
               }
               
           }
           else if (o instanceof JTextField) {
               JTextField jtf = (JTextField) evt.getSource();
               if (checkNumericField(jtf)) {
                   putChange(jtf.getName(), jtf.getText());
               }
           }

           else if(o instanceof AllowedStationModeChooser){
               AllowedStationModeChooser chooser = (AllowedStationModeChooser) o;
               putChange(chooser.getName(), chooser.serializeSelectedModes());
           }

	   }//GEN-LAST:event_globalFocusLost

	   protected void fileButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fileButtonActionPerformed
           Object o = evt.getSource();
           if (o instanceof JButton) {
               JButton jb = (JButton) o;

               File curFil = null;
               JPanel jp = (JPanel) jb.getParent();
               for (Object jtf : jp.getComponents()) {
                   if (jtf instanceof JTextField) {
                       String name = ((JTextField) jtf).getName();
                       if (jb.getName().equals(name)) {
                           curFil = new File(Util.parse(((JTextField) jtf).getText()));
                           if (curFil == null) {
                               curFil = new File(".");
                           }
                           break;
                       }
                   }
               }

               WepsFileChooser wfc = new WepsFileChooser(jb.getName(), WepsFileChooser.SELECT);
               if (curFil.exists()) {
                   wfc.setCurrentDirectory(curFil.isDirectory() ? curFil : curFil.getParentFile());
               } else if (curFil.getParentFile() != null && curFil.getParentFile().exists()) {
                   if (curFil.getParentFile().isDirectory()) {
                       wfc.setCurrentDirectory(curFil.getParentFile());
                   }
               }
               else{
                   wfc.setDefaultCurrentDirectory(jb.getName());
               }
               if (wfc.showDialog(this) == WepsFileChooser.APPROVE_OPTION) {
                   File install = new File(".").getCanOrAbsFile();
                   File selected = new File(wfc.getSelectedFile());
                   selected = Util.resolveFileAsRelativeChildOrAbsolute(install, selected);

                   String path = selected.getPath();

                   putChange(jb.getName(), path);
                   propertyLoader.loadData(jb.getName(), path);
               }
           }

	   }//GEN-LAST:event_fileButtonActionPerformed

	   protected void globalFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_globalFocusGained
           Object o = evt.getSource();
           if (o instanceof JTextField) {
               JTextField jtf = (JTextField) evt.getSource();
               jtf.select(0, 1000); // select all text -- 1000 is abitrarily large
           }
       //throw new UnsupportedOperationException("not impld yet");
	   }//GEN-LAST:event_globalFocusGained

           private void JB_CancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_JB_CancelActionPerformed
               HT_changes.clear();
               setVisible(false);
               dispose();
           }//GEN-LAST:event_JB_CancelActionPerformed

           private void cligenModesglobalFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_cligenModesglobalFocusGained
               // TODO add your handling code here:
           }//GEN-LAST:event_cligenModesglobalFocusGained

           private void cligenModesglobalFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_cligenModesglobalFocusLost
               // TODO add your handling code here:
           }//GEN-LAST:event_cligenModesglobalFocusLost

           private void globalFousGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_globalFousGained
               // TODO add your handling code here:
           }//GEN-LAST:event_globalFousGained

	   /**
		* This method is used if this dialog is rum as an independent application. If executed,
		* makes the GUI visible.
		* @param args These are the command line arguments passed to the main method.
		*/
	   public static void main(String args[]) {
		   new ConfigPanel_n().setVisible(true);
	   }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    public javax.swing.ButtonGroup JBGP_reportPeriod;
    public javax.swing.ButtonGroup JBGP_runType;
    public javax.swing.ButtonGroup JBGP_units;
    private javax.swing.JButton JB_Cancel;
    public javax.swing.JButton JB_Help;
    public javax.swing.JButton JB_OK;
    protected javax.swing.JButton JB_barriersFile;
    protected javax.swing.JButton JB_browseRunsLocation;
    protected javax.swing.JButton JB_cliExe;
    protected javax.swing.JButton JB_cliGenDb;
    protected javax.swing.JButton JB_cliGenDb1;
    protected javax.swing.JButton JB_detailFilters;
    protected javax.swing.JButton JB_gisDataFile;
    protected javax.swing.JButton JB_mcrewDataConfig;
    protected javax.swing.JButton JB_reportFileName;
    protected javax.swing.JButton JB_skelTranslations;
    protected javax.swing.JButton JB_wepsExe;
    protected javax.swing.JButton JB_winExe;
    protected javax.swing.JButton JB_winGenDB;
    protected javax.swing.JButton JB_winGenDB1;
    protected javax.swing.JButton JB_winGenDB2;
    protected javax.swing.JButton JB_winGenDB3;
    private javax.swing.JCheckBox JCB_allowBatchCreation;
    public javax.swing.JComboBox JCB_formatOperationDate;
    private javax.swing.JCheckBox JCB_outlookClient;
    private javax.swing.JCheckBox JCB_purgeRunFiles;
    private javax.swing.JCheckBox JCB_showCountries;
    public javax.swing.JLabel JLB_formatedOperationDate;
    public javax.swing.JLabel JL_calWepsCmd;
    protected javax.swing.JLabel JL_mcrewDataConfig;
    protected javax.swing.JLabel JL_reportFileName;
    public javax.swing.JLabel JL_runLength;
    private javax.swing.JLabel JL_runsLocation;
    protected javax.swing.JLabel JL_skelTranslations;
    public javax.swing.JLabel JLabel1;
    public javax.swing.JLabel JLabel10;
    public javax.swing.JLabel JLabel11;
    public javax.swing.JLabel JLabel12;
    public javax.swing.JLabel JLabel13;
    public javax.swing.JLabel JLabel14;
    public javax.swing.JLabel JLabel15;
    public javax.swing.JLabel JLabel16;
    public javax.swing.JLabel JLabel17;
    public javax.swing.JLabel JLabel18;
    public javax.swing.JLabel JLabel19;
    public javax.swing.JLabel JLabel2;
    public javax.swing.JLabel JLabel20;
    public javax.swing.JLabel JLabel21;
    public javax.swing.JLabel JLabel22;
    public javax.swing.JLabel JLabel23;
    public javax.swing.JLabel JLabel24;
    public javax.swing.JLabel JLabel25;
    public javax.swing.JLabel JLabel26;
    public javax.swing.JLabel JLabel27;
    public javax.swing.JLabel JLabel28;
    public javax.swing.JLabel JLabel3;
    public javax.swing.JLabel JLabel30;
    public javax.swing.JLabel JLabel31;
    public javax.swing.JLabel JLabel34;
    public javax.swing.JLabel JLabel35;
    public javax.swing.JLabel JLabel36;
    public javax.swing.JLabel JLabel37;
    public javax.swing.JLabel JLabel38;
    public javax.swing.JLabel JLabel39;
    public javax.swing.JLabel JLabel4;
    public javax.swing.JLabel JLabel40;
    public javax.swing.JLabel JLabel41;
    public javax.swing.JLabel JLabel42;
    public javax.swing.JLabel JLabel43;
    public javax.swing.JLabel JLabel44;
    public javax.swing.JLabel JLabel45;
    public javax.swing.JLabel JLabel46;
    public javax.swing.JLabel JLabel47;
    public javax.swing.JLabel JLabel5;
    public javax.swing.JLabel JLabel6;
    public javax.swing.JLabel JLabel7;
    public javax.swing.JLabel JLabel8;
    public javax.swing.JLabel JLabel9;
    private javax.swing.JPanel JP_Cligen;
    public javax.swing.JPanel JP_Directories;
    public javax.swing.JPanel JP_Email;
    private javax.swing.JPanel JP_Formats;
    private javax.swing.JPanel JP_Fuels;
    private javax.swing.JPanel JP_Gis;
    public javax.swing.JPanel JP_Misc;
    public javax.swing.JPanel JP_Output;
    public javax.swing.JPanel JP_Run;
    private javax.swing.JPanel JP_Soil;
    public javax.swing.JPanel JP_Weps;
    private javax.swing.JPanel JP_Windgen;
    public javax.swing.JRadioButton JRB_1;
    public javax.swing.JRadioButton JRB_2;
    public javax.swing.JRadioButton JRB_3;
    public javax.swing.JRadioButton JRB_4;
    public javax.swing.JRadioButton JRB_NRCS;
    public javax.swing.JRadioButton JRB_cycle;
    public javax.swing.JRadioButton JRB_dates;
    public javax.swing.JRadioButton JRB_english;
    public javax.swing.JRadioButton JRB_metric;
    public javax.swing.JTextField JTF_MCREW;
    protected javax.swing.JTextField JTF_barriersFile;
    public javax.swing.JTextField JTF_calWepsCmd;
    public javax.swing.JTextField JTF_cliCmd;
    protected javax.swing.JTextField JTF_cliDb;
    protected javax.swing.JTextField JTF_cliDb1;
    public javax.swing.JTextField JTF_cliExe;
    public javax.swing.JTextField JTF_cropDB;
    private javax.swing.JTextField JTF_daysKeepLog;
    public javax.swing.JTextField JTF_debugCrop;
    public javax.swing.JTextField JTF_debugDec;
    public javax.swing.JTextField JTF_debugEro;
    public javax.swing.JTextField JTF_debugHydro;
    public javax.swing.JTextField JTF_debugMan;
    public javax.swing.JTextField JTF_debugSoil;
    public javax.swing.JTextField JTF_detCrop;
    public javax.swing.JTextField JTF_detDec;
    public javax.swing.JTextField JTF_detEro;
    public javax.swing.JTextField JTF_detHydro;
    public javax.swing.JTextField JTF_detMan;
    public javax.swing.JTextField JTF_detSoil;
    protected javax.swing.JTextField JTF_detailFilters;
    public javax.swing.JTextField JTF_emailBugs;
    public javax.swing.JTextField JTF_emailHost;
    public javax.swing.JTextField JTF_emailSender;
    public javax.swing.JTextField JTF_emailWeps;
    public javax.swing.JTextField JTF_manOperDB;
    public javax.swing.JTextField JTF_manSkel;
    public javax.swing.JTextField JTF_manTemp;
    public javax.swing.JTextField JTF_manTempSave;
    public javax.swing.JTextField JTF_mantisEmail;
    private javax.swing.JPasswordField JTF_mantisPassword;
    public javax.swing.JTextField JTF_mantisProject;
    public javax.swing.JTextField JTF_mantisURL;
    public javax.swing.JTextField JTF_mantisUserID;
    public javax.swing.JTextField JTF_mcrewDataConfig;
    protected javax.swing.JTextField JTF_omThreshold;
    public javax.swing.JTextField JTF_projDir;
    public javax.swing.JTextField JTF_projDir1;
    protected javax.swing.JTextField JTF_reportFileName;
    public javax.swing.JTextField JTF_runLength;
    protected javax.swing.JTextField JTF_runsLocations;
    protected javax.swing.JTextField JTF_skelTranslations;
    public javax.swing.JTextField JTF_soilDB;
    public javax.swing.JTextField JTF_timeSteps;
    public javax.swing.JTextField JTF_ttDismiss;
    public javax.swing.JTextField JTF_ttInit;
    public javax.swing.JTextField JTF_wepsCmd;
    public javax.swing.JTextField JTF_wepsExe;
    public javax.swing.JTextField JTF_winCmd;
    protected javax.swing.JTextField JTF_winDb;
    protected javax.swing.JTextField JTF_winDb1;
    protected javax.swing.JTextField JTF_winDb2;
    protected javax.swing.JTextField JTF_winDb3;
    public javax.swing.JTextField JTF_winExe;
    public javax.swing.JTabbedPane JTP_main;
    protected javax.swing.JCheckBox JXB_McrewEdit;
    protected javax.swing.JCheckBox JXB_SoilEstimate;
    public javax.swing.JCheckBox JXB_SystemLocale;
    public javax.swing.JCheckBox JXB_barriersReadonly;
    protected javax.swing.JCheckBox JXB_disableSurgoEstimates;
    public javax.swing.JCheckBox JXB_doNotReview;
    public javax.swing.JCheckBox JXB_elevation;
    protected javax.swing.JCheckBox JXB_hidePButtons;
    protected javax.swing.JCheckBox JXB_hideTButtons;
    public javax.swing.JCheckBox JXB_latLon;
    public javax.swing.JCheckBox JXB_map;
    public javax.swing.JCheckBox JXB_slope;
    public javax.swing.JCheckBox JXB_slope1;
    private javax.swing.JCheckBox JXB_soilReadonly;
    public javax.swing.JCheckBox JXB_stateCounty;
    protected javax.swing.JCheckBox JXB_xmlFormats;
    private usda.weru.weps.location.chooser.AllowedStationModeChooser cligenModes;
    private usda.weru.util.MeasurableField cligenRadiusField;
    private javax.swing.JLabel cligenRadiusLabel;
    private javax.swing.JLabel cligenRadiusUnits;
    protected javax.swing.JButton cropDB_Button;
    protected javax.swing.JButton currentProjectButton;
    private usda.weru.weps.fuel.FuelChooser fuelDefaultChooser;
    private javax.swing.JTextField fuelFile;
    protected javax.swing.JButton fuelFileButton;
    private javax.swing.JLabel fuelLabel;
    private javax.swing.JTable fuelTable;
    private javax.swing.ButtonGroup g_emailType;
    protected javax.swing.JRadioButton g_emailUseSmtpRadioButton;
    protected javax.swing.JRadioButton g_emailUseSystemRadioButton;
    private javax.swing.ButtonGroup g_secureConnectionGroup;
    protected javax.swing.JLabel g_serverNameLabel;
    protected javax.swing.JTextField gisData;
    private javax.swing.JLabel gisDataLabel;
    private javax.swing.JCheckBox jCheckBox2;
    private javax.swing.JCheckBox jCheckBox3;
    private javax.swing.JCheckBox jCheckBox4;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    public javax.swing.JLabel lbl_formatOperationDate;
    protected javax.swing.JButton manOpDB_Button;
    protected javax.swing.JButton manSkel_Button;
    protected javax.swing.JButton manTemplate_Button;
    protected javax.swing.JButton manTemplate_ButtonSave;
    private javax.swing.JLabel maxOrganicDepthUnits;
    protected javax.swing.JButton mcrewDir_Button;
    private usda.weru.util.MeasurableField<Length> organicMaxDepth;
    protected javax.swing.JButton projectsDir_Button;
    protected javax.swing.JButton soilDB_Button;
    protected javax.swing.JButton soilOrganicFile_Button;
    private javax.swing.JLabel userFuelFile;
    private javax.swing.JLabel userFuelFileLabel;
    private usda.weru.util.MeasurableField windRadiusField;
    private javax.swing.JLabel windRadiusLabel;
    private javax.swing.JLabel windRadiusUnits;
    private usda.weru.weps.location.chooser.AllowedStationModeChooser windgenModes;
    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
    // End of variables declaration//GEN-END:variables

    
    
    static final protected TreeMap<String, String> optionsDateFormat;

    static {
        optionsDateFormat = new TreeMap<String, String>();
        optionsDateFormat.put("Month Day, Rotation Year", "MMM dd, yy");
        optionsDateFormat.put("Day, Month Rotation Year", "dd MMM yy");
        optionsDateFormat.put("Rotation Year-Month-Day", "yy-MMM-dd");
    }

    protected Map<String, String> HT_changes = new HashMap<String, String>();
    protected Vector<JTextField> HT_intFields = new Vector<JTextField>();

    protected PropertyChangeSupport localChanges = new PropertyChangeSupport(this);

    public void putChange(String propertyName, String value){
        Object oldValue = getValue(propertyName);
        if(isChangedValue(propertyName, value)){
            HT_changes.put(propertyName, value);
            localChanges.firePropertyChange(propertyName, value, oldValue);
        }
        
        Collection<Component> components = propertyLoader.getComponentsForProperty(propertyName);
        if(components != null){
            for(Component c : components){
                applyParameterErrorColoring(c);
            }
        }
    }

    private boolean isChangedValue(String propertyName, String newValue){
        String oldValue = getValue(propertyName);
        if(oldValue  != null){
            return !oldValue.equals(newValue);
        }
        else if(newValue != null){
            return !newValue.equals(oldValue);
        }
        else{
            //both null
            return false;
        }
    }

    {
        boolean add = HT_intFields.add(this.JTF_debugCrop);
        add = HT_intFields.add(this.JTF_debugDec);
        add = HT_intFields.add(this.JTF_debugEro);
        add = HT_intFields.add(this.JTF_debugHydro);
        add = HT_intFields.add(this.JTF_debugMan);
        add = HT_intFields.add(this.JTF_debugSoil);
        add = HT_intFields.add(this.JTF_detCrop);
        add = HT_intFields.add(this.JTF_detDec);
        add = HT_intFields.add(this.JTF_detEro);
        add = HT_intFields.add(this.JTF_detHydro);
        add = HT_intFields.add(this.JTF_detMan);
        add = HT_intFields.add(this.JTF_detSoil);
        add = HT_intFields.add(this.JTF_runLength);
        add = HT_intFields.add(this.JTF_timeSteps);
        add = HT_intFields.add(this.JTF_daysKeepLog);
        add = HT_intFields.add(this.JTF_ttDismiss);
        add = HT_intFields.add(this.JTF_ttInit);
    }
    
    protected Vector<JTextField> HT_doubleFields = new Vector<JTextField>();
    
    {        
        boolean add = HT_doubleFields.add(this.JTF_omThreshold);
    }

    protected boolean checkNumericField(JTextField jtf) {
        if (HT_intFields.contains(jtf)) {
            try {
                Integer.parseInt(jtf.getText().trim());
                return true; // parse was successfull
            } catch (NumberFormatException nfe) {
                int res = JOptionPane.showConfirmDialog(this,
                        "Invalid character in integer field",
                        "Not a number",
                        JOptionPane.OK_CANCEL_OPTION,
                        JOptionPane.ERROR_MESSAGE);
                if (res == JOptionPane.OK_OPTION) {
                    Util.setFocus(jtf);
                    return false;
                }
            }
        } else if (HT_doubleFields.contains(jtf)) {
            try {
                Double.parseDouble(jtf.getText().trim());
                return true; // parse was successfull
            } catch (NumberFormatException nfe) {
                int res = JOptionPane.showConfirmDialog(this,
                        "Invalid character in double field",
                        "Not a number",
                        JOptionPane.OK_CANCEL_OPTION,
                        JOptionPane.ERROR_MESSAGE);
                if (res == JOptionPane.OK_OPTION) {
                    Util.setFocus(jtf);
                    return false;
                }
            }

        }
        return true;
    }

    protected static final Logger logger = Logger.getLogger(ConfigPanel_n.class);
    protected String measurementUnits = Util.SIUnits;
    protected double windRadius = 0.0;
    protected double cliRadius = 0.0;
    protected HelpSet hs;
    protected PropertyChangeSupport changes;
    protected LoadProperties propertyLoader = null;
    /**
     * Help broker object for the context sensitive and generic application level help from the UI screens.
     */
    public HelpBroker hb;    //Date format options

    private void init() {
        //setup all the measurable fields
        applyParameterUnits(this);

        propertyLoader = new LoadProperties();
        propertyLoader.setupPropertyHashtable(getRootPane());

        changes = new PropertyChangeSupport(this);
        changes.addPropertyChangeListener(new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
                firePropertyChange(evt.getPropertyName(), evt.getOldValue(), evt.getNewValue());
                Collection<Component> components = propertyLoader.getComponentsForProperty(evt.getPropertyName());
                if (components != null) {
                    for (Component c : components) {
                        applyParameterErrorColoring(c);
                    }
                }
            }
        });
        //Setting the Icon Image in the title bar
        setIconImage(About.getWeruIconImage());
        
        addHelp();

        //Add date options to the config combo boxes
        Iterator iKeys = optionsDateFormat.keySet().iterator();
        String keyValue;
        while (iKeys.hasNext()) {
            keyValue = (String) iKeys.next();
            JCB_formatOperationDate.addItem(keyValue);
        }
        JTP_main.setSelectedIndex(0);

        applyParameterAccessControls(this);
        applyParameterErrorColoring(this);

    }


    
        /**
     * This method adds data from the help file to the different labels, buttons, 
     * text field, etc. as tootltip help or context sensitive help which is to make the 
     * end user understand its functionality and usability.
     */
    private void addHelp() {

        String jarFilePath = "jar/WepsHelp.jar";
        String dirFilePath = "help/MasterWeps.hs";
        File file_jar = new File(jarFilePath);
        File file_dir = new File(dirFilePath);
        if (file_jar.exists()) {
            //System.out.println("weps:addHelp-jar file found");
            jarHelp(jarFilePath);
        } else if (file_dir.exists()) {
            //System.out.println("weps:addhelp-dir help file found");
            dirHelp(dirFilePath);
        } else {
            //System.out.println("weps:addHelp-There are no help files");
            return;
        }

    } //end of addhelp()

        /**
     * This method provides the jarFile that the help system for this GUI could use. 
     * @param jarFilePath The jar file system path that tells where the file resides. 
     */
    private void jarHelp(String jarFilePath) {

        //System.out.println("weps:jarHelp-we are executing from here"); 
        hs = getHelpSet(jarFilePath);
        if (hs != null) {
            addCSH(hs);
        } else {
            //System.out.println("Can't find the helpSet-file.");
            return;
        }

    } //end of jarHelp

   /**
     * This method gets the directory help system for the referenced GUI object.
     * @param dirFilePath The system directory path string for getting the help 
     * system in running.
     */
    private void dirHelp(String dirFilePath) {

        //System.out.println("weps:dirHelp-we are executing from here");
        URL hsURL;
        try {
            hsURL = new URL((new File(".")).toURL(), dirFilePath);
        } catch (MalformedURLException ex) {
            java.util.logging.Logger.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
            return;
        }
        try {
            hs = new HelpSet(null, hsURL);
            addCSH(hs);
        } catch (HelpSetException ex) {
            java.util.logging.Logger.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
        }
    //System.out.println("Found help set at " + hsURL);
    //new CSH.DisplayHelpFromSource(getHelpBroker()));

    } //end of dirHelp

     /**
     * Returns the helpset file which is included in the jar file
     * @param jarFilePath The jar file system path that tells where the file resides.
     * @return HelpSet The object that stores all the notes and tooltiptext strings 
     * needed for the user help on the components descriptions.
     * 
     */
    protected HelpSet getHelpSet(String jarFilePath) {

        HelpSet hs = null;

        String hsName = null;
        JarFile jar;
        try {
            jar = new JarFile(jarFilePath);
        } catch (java.io.IOException ex) {
            java.util.logging.Logger.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
        Enumeration entries = jar.entries();
        while (entries.hasMoreElements()) {
            ZipEntry entry = (ZipEntry) entries.nextElement();
            String entryName = entry.getName();
            if (entryName.endsWith(".hs")) {
                hsName = entryName;
                break;
            }
        }
        URL url[] = getURLs("file:" + jarFilePath);
        ClassLoader cl = new URLClassLoader(url);
        URL hsUrl = HelpSet.findHelpSet(cl, hsName);
        try {
            hs = new HelpSet(cl, hsUrl);
        } catch (HelpSetException ex) {
            java.util.logging.Logger.getLogger(ConfigPanel_n.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }

        return hs;
    }
    
         /**
     * This function generates a URL from a string and then puts
     * it into a URL array
     * @param The string that represents the resource location.
     * @return URL[] The array that stores the resource objects at the specified 
     * location.
     */
    private URL[] getURLs(String spec) {
        Vector<URL> v = new Vector<URL>();
        try {
            URL url = new URL(spec);
            v.addElement(url);
        } catch (Exception ex) {
            //System.err.println("cannot create URL for "+spec);
        }
//        URL[] back = null;
        URL[] back = v.toArray(new URL[1]);
//        URL back[] = new URL[v.size()];
//        v.copyInto(back);
        return back;
    }


   /**
     * This method adds data for the context sensitive help provided on these panels 
     * by creating a helpbroker to assist itself in linking the appropriatre .html pages
     * by making it by making it accessible on user's request to understand all about
     * itself.
     * @param hs The help system/set object necessary to be provided for creating
     * the help broker for the application to be able to provide the context sensitive
     * help on each component sitting on the GUI.
     */
    private void addCSH(HelpSet hs) {
        hb = hs.createHelpBroker();
        //hb = hs.getHelpBroker();
        hb.enableHelpKey(getRootPane(), "mnuConfiguration_html", hs);
        ActionListener helper = new CSH.DisplayHelpFromSource(hb);
        ////System.out.println("I am in the WEPS addHelp()" + helper);
        JB_Help.addActionListener(helper);
        //If in future required for Context Sensitive Help	
        // helpButton.addActionListener(new CSH.DisplayHelpAfterTracking(hs,"javax.help.Popup",null));
        //for all labels/fields in the Executables tab
        CSH.setHelpIDString(JLabel1, "execWinGenExe_html");
        CSH.setHelpIDString(JTF_winExe, "execWinGenExe_html");
        CSH.setHelpIDString(JLabel2, "execWinGenCmd_html");
        CSH.setHelpIDString(JTF_winCmd, "execWinGenCmd_html");
        CSH.setHelpIDString(JLabel3, "execCliGenExe_html");
        CSH.setHelpIDString(JTF_cliExe, "execCliGenExe_html");
        CSH.setHelpIDString(JLabel4, "execCliGenCmd_html");
        CSH.setHelpIDString(JTF_cliCmd, "execCliGenCmd_html");
        CSH.setHelpIDString(JLabel5, "execWepsExe_html");
        CSH.setHelpIDString(JTF_wepsExe, "execWepsExe_html");
        CSH.setHelpIDString(JLabel6, "execWepsCmd_html");
        //Text field and label for Weps calibration Cmd
        CSH.setHelpIDString(JTF_wepsCmd, "execWepsCmd_html");
        CSH.setHelpIDString(JL_calWepsCmd, "execWepsCalCmd_html");

        CSH.setHelpIDString(JTF_calWepsCmd, "execWepsCalCmd_html");
        CSH.setHelpIDString(JP_Weps, "execTab_html");

        // for all labels/fields in the Directories tab
        CSH.setHelpIDString(JLabel7, "dirManTemp_html");
        CSH.setHelpIDString(JTF_manTemp, "dirManTemp_html");
        CSH.setHelpIDString(JLabel8, "dirManSkel_html");
        CSH.setHelpIDString(JTF_manSkel, "dirManSkel_html");
        CSH.setHelpIDString(JLabel9, "dirManOperDB_html");
        CSH.setHelpIDString(JTF_manOperDB, "dirManOperDB_html");
        CSH.setHelpIDString(JLabel10, "dirCropDB_html");
        CSH.setHelpIDString(JTF_cropDB, "dirCropDB_html");
        CSH.setHelpIDString(JLabel34, "dirMCREWDir_html");
        CSH.setHelpIDString(JTF_MCREW, "dirMCREWDir_html");
        CSH.setHelpIDString(JLabel11, "dirSoilDB_html");
        CSH.setHelpIDString(JTF_soilDB, "dirSoilDB_html");
        //For the label and text field of Soil DB Spec.
        //CSH.setHelpIDString(JLabel38, "dirSoilDBSpec_html");
        //CSH.setHelpIDString(JTF_soilDBSpec, "dirSoilDBSpec_html");

        CSH.setHelpIDString(JLabel12, "dirProjDir_html");
        CSH.setHelpIDString(JTF_projDir, "dirProjDir_html");

        CSH.setHelpIDString(JP_Directories, "dirTab_html");

        //for all labels/fields in the Miscellaneous tab
        CSH.setHelpIDString(JLabel27, "miscUnits_html");
        
        CSH.setHelpIDString(windRadiusField, "miscWindRadius_html");
        CSH.setHelpIDString(windRadiusLabel, "miscWindRadius_html");
        CSH.setHelpIDString(windRadiusUnits, "miscWindRadius_html");
        
        CSH.setHelpIDString(cligenRadiusField, "miscCliRadius_html");
        CSH.setHelpIDString(cligenRadiusLabel, "miscCliRadius_html");
        CSH.setHelpIDString(cligenRadiusUnits, "miscCliRadius_html");
        
        CSH.setHelpIDString(JLabel35, "miscTTDelay_html");
        //For the label and text field of Initial tool tip delay
        CSH.setHelpIDString(JLabel36, "miscTTInit_html");
        CSH.setHelpIDString(JTF_ttInit, "miscTTInit_html");
        //For the label and text field of Dismiss of tool tip delay
        CSH.setHelpIDString(JLabel37, "miscTTDismiss_html");
        CSH.setHelpIDString(JTF_ttDismiss, "miscTTDismiss_html");

        CSH.setHelpIDString(JXB_latLon, "miscLatLon_html");
        CSH.setHelpIDString(JXB_stateCounty, "miscStateCounty_html");
        CSH.setHelpIDString(JXB_elevation, "miscElevation_html");
        CSH.setHelpIDString(JXB_map, "miscMapButton_html");
        CSH.setHelpIDString(JXB_McrewEdit, "miscMCREWedit_html");
        CSH.setHelpIDString(JRB_english, "miscUnits_html");
        CSH.setHelpIDString(JRB_metric, "miscUnits_html");
        CSH.setHelpIDString(JLabel31, "miscTimeSteps_html");
        CSH.setHelpIDString(JTF_timeSteps, "miscTimeSteps_html");
        CSH.setHelpIDString(JP_Misc, "miscTab_html");

        //for all labels/fields in the Output tab
        CSH.setHelpIDString(JLabel17, "outReportPeriod_html");
        CSH.setHelpIDString(JRB_1, "outReportPeriod_html");
        CSH.setHelpIDString(JRB_2, "outReportPeriod_html");
        CSH.setHelpIDString(JRB_3, "outReportPeriod_html");
        CSH.setHelpIDString(JRB_4, "outReportPeriod_html");
        CSH.setHelpIDString(JLabel18, "outSubmodelReports_html");
        CSH.setHelpIDString(JLabel19, "outSubmodelReports_html");
        /*
        CSH.setHelpIDString(JLabel20, "outSubmodelReports");
        CSH.setHelpIDString(JCB_hydro, "outSubHydrology");
        CSH.setHelpIDString(JCB_soil, "outSubSoil");
        CSH.setHelpIDString(JCB_man, "outSubMan");
        CSH.setHelpIDString(JCB_crop, "outSubCrop");
        CSH.setHelpIDString(JCB_dec, "outSubDec");
        CSH.setHelpIDString(JCB_ero, "outSubEro_html");
         */
        CSH.setHelpIDString(JLabel21, "outSubHydrology_html");
        CSH.setHelpIDString(JTF_detHydro, "outSubHydrology_html");
        CSH.setHelpIDString(JLabel22, "outSubSoil_html");
        CSH.setHelpIDString(JTF_detSoil, "outSubSoil_html");
        CSH.setHelpIDString(JLabel23, "outSubMan_html");
        CSH.setHelpIDString(JTF_detMan, "outSubMan_html");
        CSH.setHelpIDString(JLabel24, "outSubCrop_html");
        CSH.setHelpIDString(JTF_detCrop, "outSubCrop_html");
        CSH.setHelpIDString(JLabel25, "outSubDec_html");
        CSH.setHelpIDString(JTF_detDec, "outSubDec_html");
        CSH.setHelpIDString(JLabel26, "outSubEro_html");
        CSH.setHelpIDString(JTF_detEro, "outSubEro_html");
        CSH.setHelpIDString(JP_Output, "outTab_html");

        //for all labels/fields in the Email tab
        CSH.setHelpIDString(JLabel13, "emlEmailSender_html");
        CSH.setHelpIDString(JTF_emailSender, "emlEmailSender_html");
        CSH.setHelpIDString(g_serverNameLabel, "emlEmailHost_html");
        CSH.setHelpIDString(JTF_emailHost, "emlEmailHost_html");
        CSH.setHelpIDString(JLabel15, "emlEmailComments_html");
        CSH.setHelpIDString(JTF_emailWeps, "emlEmailComments_html");
        CSH.setHelpIDString(JLabel16, "emlEmailBugs_html");
        CSH.setHelpIDString(JTF_emailBugs, "emlEmailBugs_html");
        CSH.setHelpIDString(JP_Email, "emlTab_html");

        //for all labels/fields in the Run tab
        CSH.setHelpIDString(JLabel30, "runRunType_html");
        CSH.setHelpIDString(JRB_NRCS, "runRunType_html");
        CSH.setHelpIDString(JRB_dates, "runRunType_html");
        CSH.setHelpIDString(JRB_cycle, "runRunType_html");
        CSH.setHelpIDString(JL_runLength, "runRunType_html");
        CSH.setHelpIDString(JTF_runLength, "runRunType_html");
//        CSH.setHelpIDString(JLabel29, "runAltWeather_html");
//        CSH.setHelpIDString(JCB_wind, "runAltWeather_html");
//        CSH.setHelpIDString(JCB_climate, "runAltWeather_html");
        CSH.setHelpIDString(JP_Run, "runTab_html");

    //       CSH.setHelpIDString(JBGP_runType, "runRunType");
 /*       CSH.setHelpIDString(JTF_windFile, "runAltWeather");
    CSH.setHelpIDString(JB_windFile, "runAltWeather");
    CSH.setHelpIDString(JCB_climate, "runAltWeather");
    CSH.setHelpIDString(JTF_climateFile, "runAltWeather");
    CSH.setHelpIDString(JB_climateFile, "runAltWeather");
    CSH.setHelpIDString(JCB_subdaily, "runAltWeather");
    CSH.setHelpIDString(JTF_subdailyFile, "runAltWeather");
    CSH.setHelpIDString(JB_subdailyFile, "runAltWeather");
     */


    }//end of addCSH

    private void applyParameterUnits(Component component){
        if(component instanceof MeasurableField){
            final MeasurableField mf = (MeasurableField)component;
            final Unit units = ConfigData.getDefault().getMeasureableUnit(mf.getName());
            final Unit altUnits = ConfigData.getDefault().getMeasureableAlternativeUnit(mf.getName());

            if(JRB_metric.isSelected()){
                mf.setUnits(units);
            }
            else{
                mf.setUnits(altUnits);
            }

            JRB_metric.addItemListener(new ItemListener() {

                @Override
                public void itemStateChanged(ItemEvent e) {
                    if(JRB_metric.isSelected()){
                        mf.setUnits(units);
                    }
                    else{
                        mf.setUnits(altUnits);
                    }
                }
            });


        }
        else if (component instanceof Container){
            Container container = (Container)component;
            for(Component child : container.getComponents()){
                applyParameterUnits(child);
            }
        }
    }
  
        public void applyParameterAccessControls(Component component) {
        if (component instanceof Container) {
            Container container = (Container) component;
            for (Component c : container.getComponents()) {
                applyParameterAccessControls(c);
            }
        }

            if (!this.equals(component)) {
                String name = parseComponentName(component.getName());
                if(name == null){
                    return;
                }
            
            ConfigData.AccessLevel level = parseLevel(name);

            switch (level) {
                case Write:
                    component.setVisible(true);
                    component.setEnabled(true);
                    break;
                case Read:
                    component.setVisible(true);                    
                    if(component instanceof JTextField){
                        JTextField jtf = (JTextField) component;
                        jtf.setEditable(false);
                        jtf.setEnabled(true);
                        component.setBackground(Color.LIGHT_GRAY);
                    }
                    else{
                        component.setEnabled(false);
                    }
                    break;
                case Hidden:
                    component.setVisible(false);
                    component.setEnabled(false);
                    walkUpHiddenTree(component.getParent());
                    break;
                default:
            }
        }
    }
        
        private void walkUpHiddenTree(Container c){
            if(c != null && isEverythingHidden(c)){
                c.setVisible(false);
                if(JTP_main.equals(c.getParent())){
                    JTP_main.remove(c);
                }
                else{
                    walkUpHiddenTree(c.getParent());
                }
            }
           
        }

        private boolean isEverythingHidden(Container c){
            for(Component c2 : c.getComponents()){
                if(c2.isVisible()){
                    return false;
                }
            }
            return true;
        }

      public void applyParameterErrorColoring(Component component) {
        if (component instanceof Container) {
            Container container = (Container) component;
            for (Component c : container.getComponents()) {
                applyParameterErrorColoring(c);
            }
        }
        try{
            if (!this.equals(component)) {
                if(component instanceof JTextField){
                    String name = parseComponentName(component.getName());

                    ConfigData.FileConfigurationOption meta = getConfigData().getFileConfigurationOption(name);
                    if(meta != null){
                        if(meta.required()){
                            //test if the value exists as a file
                            File parentFile = null;
                            String parentOption = meta.parentOption();
                            if(parentOption != null && parentOption.trim().length() > 0){
                                String parentPath = getValue(parentOption);
                                if(parentPath != null){
                                    parentFile = new File(Util.parse(parentPath));
                                }
                            }

                            String path = getValue(name);
                            boolean error = false;
                            if(path != null){
                                File file = new File(Util.parse(path));;
                                if(!file.isAbsolute() && parentFile != null){
                                     file = new File(parentFile, Util.parse(path));
                                }                                
                                
                                error = !file.exists();
                            }

                            if(error){
                                component.setBackground(Color.PINK);
                                c_componentsWithErrors.add((JTextField)component);


                            }
                            else{
                                ConfigData.AccessLevel level = parseLevel(name);
                                switch (level) {
                                    case Read:
                                        component.setBackground(Color.LIGHT_GRAY); 
                                        break;
                                    default:
                                        component.setBackground(Color.WHITE);                                        
                                        break;                                    
                                }
                                c_componentsWithErrors.remove((JTextField)component);
                            }

                        }
                    }
                }
            }
        }
        catch(Exception e){
            logger.error("Unable to test all configuration options.", e);
        }
    }

 
    private ConfigData.AccessLevel parseLevel(String name) {
        if (name == null) {
            return null;
        }
        ConfigData.AccessLevel level = null;
        String[] names = name.split(";");
        for (String splitName : names) {
            ConfigData.AccessLevel test = ConfigData.getDefault().getAccessLevel(splitName);
            level = ConfigData.AccessLevel.higher(level, test);
        }

        return level;
    }

    private String parseComponentName(String name){
        if (name == null) {
                return null;
            }
        int index = name.indexOf(":");
        if (index > 0) {
            name = name.substring(0, index);
        }
        return name;
    }

    private String getValue(String propertyName){
        String value = HT_changes.get(propertyName);
        if(value == null){
            value = getConfigData().getData(propertyName);
        }
        return value;
    }

}

