Index: trunk/src/tmcsim/client/cadclientgui/ScriptHandler.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/ScriptHandler.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/ScriptHandler.java	(revision 3)
@@ -0,0 +1,416 @@
+package tmcsim.client.cadclientgui;
+
+import java.util.TreeMap;
+import java.util.Vector;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+import tmcsim.client.cadclientgui.data.Incident;
+import tmcsim.client.cadclientgui.data.IncidentEvent;
+import tmcsim.client.cadclientgui.data.Unit;
+import tmcsim.cadmodels.IncidentInquiryDetails;
+import tmcsim.cadmodels.IncidentInquiryHeader;
+import tmcsim.cadmodels.IncidentInquiryModel_obj;
+import tmcsim.cadmodels.IncidentInquiryServices;
+import tmcsim.cadmodels.IncidentInquiryTows;
+import tmcsim.cadmodels.IncidentInquiryUnitsAssigned;
+import tmcsim.cadmodels.IncidentInquiryWitnesses;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.SCRIPT_LEVEL_TAGS;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.SCRIPT_EVENT_TAGS;
+import tmcsim.common.CADScriptTags.AUDIO_TAGS;
+import tmcsim.common.CADScriptTags.CAD_INCIDENT_DATA_TAGS;
+import tmcsim.common.CADScriptTags.CCTV_TAGS;
+import tmcsim.common.CADScriptTags.INCIDENT_HEADER_TAGS;
+import tmcsim.common.CADScriptTags.LOCATION_INFO_TAGS;
+import tmcsim.common.CADScriptTags.PARAMICS_TAGS;
+import tmcsim.common.CADScriptTags.SERVICE_TAGS;
+import tmcsim.common.CADScriptTags.TOW_TAGS;
+import tmcsim.common.CADScriptTags.WITNESS_TAGS;
+import tmcsim.common.CCTVDirections;
+import tmcsim.common.CCTVInfo;
+import tmcsim.common.ParamicsLocation;
+import tmcsim.common.XMLIncident;
+
+
+/**
+ * SAX Handler that parses a script file and creates a list of Incident objects 
+ * containing all script information that will be used by the CAD.
+ * 
+ * @author Matthew Cechini
+ * @version
+ */
+public class ScriptHandler extends DefaultHandler { 
+
+    /** Error Logger. */
+    private Logger scriptLogger = Logger.getLogger("tmcsim.common");
+    
+    /** 
+     * Enumeration used to keep track of the current tab level that the
+     * parser is reading data in.
+     */
+    private static enum LEVEL { NONE, TMC_SCRIPT, SCRIPT_EVENT, SCRIPT_DATA,
+        NEW_UNIT, CAD_DATA, LOCATION_INFO, CAD_INCIDENT_EVENT, PARAMICS, HEADER_INFO};
+    
+    /** Buffer used to hold parsed tag content */
+    private StringBuffer parsedValue = new StringBuffer();
+    
+    /** Current Tag level within the script that is being parsed */
+    private LEVEL currentLevel       = LEVEL.NONE;
+    
+    /** Log number for the current ScriptEvent being parsed */
+    private Integer currentLogNumber     = 0;
+    
+    /** Incident description for the current ScriptEvent being parsed */
+    private String  currentIncidentDesc  = "";
+    
+    /** Time index value (in seconds) for the current ScriptEvent being parsed */
+    private long    currentEventTime     = 0;
+    
+    /** ParamicsLocation object for current script event */
+    private ParamicsLocation currLoc      = null;
+    
+    /** IncidentInquiryHeader object for current script event */
+    private IncidentInquiryHeader currIIH = null;
+    
+    /** IncidentEvent object for current script event */
+    private IncidentEvent currEvent       = null;
+    
+    /** XMLIncident object for current script event */
+    private XMLIncident currXMLInc        = null;
+    
+    private TreeMap<String, Unit> unitMap;
+    
+    private TreeMap<Integer, Incident> incidentMap;
+    
+    private String currUnitNum;
+    
+    private Unit currUnit;
+    
+    private Incident currentIncident;
+    
+    private long currentIncidentTime;
+    
+    private String cadDataTag;
+    
+    
+    
+    /** Constructor.  Initializes incident map. */
+    public ScriptHandler() {
+        unitMap = new TreeMap<String, Unit>();
+        incidentMap = new TreeMap<Integer, Incident>();
+    }
+    
+    public Vector<Unit> getUnits() {
+        return new Vector<Unit>(unitMap.values());
+    }   
+    
+    /**  
+     * Get the list of incidents that have been parsed from the script file.
+     * 
+     * @returns Vector of Incident objects.
+     */
+    public Vector<Incident> getIncidents() {
+        return new Vector<Incident>(incidentMap.values());
+    }       
+    
+    /** SAX Handler method.  Clear incident map and reset the error flag. */
+    public void startDocument() {       
+        unitMap.clear();
+        incidentMap.clear();        
+    }   
+    
+    /** SAX Handler method.   */
+    public void startElement(String uri, String localName, String qName, Attributes attributes)  {
+        
+        try {
+            if(qName.equals(SCRIPT_LEVEL_TAGS.TMC_SCRIPT.tag)) {
+                currentLevel = LEVEL.TMC_SCRIPT;
+            }   
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.SCRIPT_DATA.tag))
+            {
+                currentLevel = LEVEL.SCRIPT_DATA;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.NEW_UNIT.tag))
+            {
+                currUnitNum = attributes.getValue(UNIT_TAGS.UNIT_NUM.tag);
+                currentLevel = LEVEL.NEW_UNIT;
+                if(unitMap.containsKey(currUnitNum))
+                {
+                    currUnit = unitMap.get(currUnitNum);
+                }
+                else
+                {
+                    currUnit = new Unit(currUnitNum);
+                }
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.SCRIPT_EVENT.tag)) {
+                currentLevel = LEVEL.SCRIPT_EVENT;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.CAD_DATA.tag)) {
+                currentLevel = LEVEL.CAD_DATA;              
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.HEADER_INFO.tag)) {
+                currIIH           = new IncidentInquiryHeader();
+                currIIH.logNumber = currentLogNumber;
+                
+                currentLevel = LEVEL.HEADER_INFO;               
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.LOCATION_INFO.tag)) {
+                currLoc      = new ParamicsLocation(attributes.getValue(
+                        LOCATION_INFO_TAGS.ID.tag));
+                currentLevel = LEVEL.LOCATION_INFO;             
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.CAD_INCIDENT_EVENT.tag)) {
+                currEvent    = new IncidentEvent(currentEventTime - incidentMap.get(
+                        currentLogNumber).getSecondsToStart());         
+                currentLevel = LEVEL.CAD_INCIDENT_EVENT;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.PARAMICS.tag)) {
+                String locationID = attributes.getValue(
+                        PARAMICS_TAGS.LOCATION_ID.tag);
+                
+                currXMLInc = new XMLIncident(locationID, incidentMap.get(
+                        currentLogNumber).locationMap.get(locationID));
+                currentLevel = LEVEL.PARAMICS;
+            }
+            else if(qName.equals(SCRIPT_EVENT_TAGS.INCIDENT.tag)) {
+                try {
+                    currentLogNumber = Integer.parseInt(attributes.getValue(
+                            SCRIPT_EVENT_TAGS.LOG_NUMBER.tag));
+                }
+                catch (Exception e)  { 
+                    scriptLogger.logp(Level.SEVERE, "ScriptHandler", "startElement", 
+                            "Invalid LogNumber " + attributes.getValue(
+                                    SCRIPT_EVENT_TAGS.LOG_NUMBER.tag), e);
+                    currentLogNumber = 0;
+                }               
+            }
+            else if(qName.equals(CAD_INCIDENT_DATA_TAGS.UNIT.tag)) {
+                IncidentInquiryUnitsAssigned iiu = new IncidentInquiryUnitsAssigned(IncidentInquiryModel_obj.SCRIPT_POS_INFO);
+                
+                iiu.beat = attributes.getValue(tmcsim.common.CADScriptTags.UNIT_TAGS.UNIT_NUMBER.tag);
+                iiu.statusType = attributes.getValue(tmcsim.common.CADScriptTags.UNIT_TAGS.UNIT_STATUS.tag);
+                iiu.isPrimary  = new Boolean(attributes.getValue(tmcsim.common.CADScriptTags.UNIT_TAGS.UNIT_PRIMARY.tag)).booleanValue();
+                iiu.isActive   = new Boolean(attributes.getValue(tmcsim.common.CADScriptTags.UNIT_TAGS.UNIT_ACTIVE.tag)).booleanValue();
+                
+                currEvent.eventInfo.addUnit(iiu);
+            }
+            else if(qName.equals(CAD_INCIDENT_DATA_TAGS.WITNESS.tag)) {
+                IncidentInquiryWitnesses iiw = new IncidentInquiryWitnesses(IncidentInquiryModel_obj.SCRIPT_POS_INFO);
+    
+                iiw.reportingParty = attributes.getValue(WITNESS_TAGS.WITNESS_NAME.tag);
+                iiw.telephoneNum   = attributes.getValue(WITNESS_TAGS.WITNESS_PHONE.tag);
+                iiw.address        = attributes.getValue(WITNESS_TAGS.WITNESS_ADDRESS.tag);
+                                
+                currEvent.eventInfo.addWitness(iiw);
+            }
+            else if(qName.equals(CAD_INCIDENT_DATA_TAGS.TOW.tag)) {
+                IncidentInquiryTows iit = new IncidentInquiryTows(IncidentInquiryModel_obj.SCRIPT_POS_INFO);
+                
+                iit.towCompany     = attributes.getValue(TOW_TAGS.TOW_COMPANY_NAME.tag);
+                iit.confPhoneNum   = attributes.getValue(TOW_TAGS.CONF_PHONE_NUM.tag);
+                iit.publicPhoneNum = attributes.getValue(TOW_TAGS.PUBLIC_PHONE_NUM.tag);
+                iit.beat           = attributes.getValue(TOW_TAGS.BEAT.tag);
+                
+                currEvent.eventInfo.addTow(iit);                
+            }
+            else if(qName.equals(CAD_INCIDENT_DATA_TAGS.SERVICE.tag)) {
+                IncidentInquiryServices iis = new IncidentInquiryServices(IncidentInquiryModel_obj.SCRIPT_POS_INFO);
+                
+                iis.serviceName    = attributes.getValue(SERVICE_TAGS.SERVICE_NAME.tag);
+                iis.confPhoneNum   = attributes.getValue(SERVICE_TAGS.CONF_PHONE_NUM.tag);
+                iis.publicPhoneNum = attributes.getValue(SERVICE_TAGS.PUBLIC_PHONE_NUM.tag);
+                
+                currEvent.eventInfo.addService(iis);        
+            }       
+            else if(qName.equals(CAD_INCIDENT_DATA_TAGS.AUDIO.tag)) {
+                currEvent.waveFile   = attributes.getValue(AUDIO_TAGS.FILE_PATH.tag);
+                currEvent.waveLength = new Integer(attributes.getValue(AUDIO_TAGS.FILE_LENGTH.tag)).intValue();
+            }
+            else if(qName.equals(CAD_INCIDENT_DATA_TAGS.CCTV_INFO.tag)) {
+                CCTVInfo newInfo = new CCTVInfo();
+                
+                try {
+                    newInfo.cctv_id   = Integer.parseInt(attributes.getValue(CCTV_TAGS.CCTV_ID.tag));
+                    newInfo.direction = CCTVDirections.fromChar(attributes.getValue(CCTV_TAGS.CCTV_DIR.tag).charAt(0));
+                    newInfo.toggle    = Boolean.parseBoolean(attributes.getValue(CCTV_TAGS.CCTV_TOGGLE.tag));
+                
+                    currEvent.cctvInfos.add(newInfo);
+                } 
+                catch (Exception e) {
+                    scriptLogger.logp(Level.SEVERE, "ScriptHandler", "startElement", 
+                            "Exception in parsing CCTV_INFO node.", e);
+                }
+                            
+            }
+            else if(currentLevel == LEVEL.CAD_DATA)
+            {
+                if(cadDataTag == null)
+                {
+                    cadDataTag = qName;
+                }
+            }
+
+        } catch (Exception e) {
+            scriptLogger.logp(Level.SEVERE, "ScriptHandler", "startElement", 
+                    "Exception in starting element <" + qName + ">.", e);
+        }
+    }
+
+    /** SAX Handler method.  Append read characters to local buffer. */
+    public void characters(char[] ch, int start, int length) {      
+        parsedValue.append(new String(ch, start, length).trim());               
+    }
+
+    /** SAX Handler method. */
+    public void endElement(String uri, String localName, String qName)  {
+
+        try {
+            if(qName.equals(SCRIPT_LEVEL_TAGS.SCRIPT_DATA.tag))
+            {
+                currentLevel = LEVEL.TMC_SCRIPT;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.NEW_UNIT.tag))
+            {
+                unitMap.put(currUnitNum, currUnit);
+                currentLevel = LEVEL.SCRIPT_DATA;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.SCRIPT_EVENT.tag)) {
+                currentLevel = LEVEL.TMC_SCRIPT;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.CAD_DATA.tag)) {
+                currentLevel = LEVEL.SCRIPT_EVENT;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.HEADER_INFO.tag)) {
+                incidentMap.get(currentLogNumber).header = currIIH;
+                currentLevel = LEVEL.CAD_DATA;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.LOCATION_INFO.tag)) {
+                incidentMap.get(currentLogNumber).locationMap.put(currLoc.locationID, currLoc);
+                currentLevel = LEVEL.CAD_DATA;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.CAD_INCIDENT_EVENT.tag)) {
+                incidentMap.get(currentLogNumber).addEvent(currEvent);
+                currentLevel = LEVEL.CAD_DATA;
+            }
+            else if(qName.equals(SCRIPT_LEVEL_TAGS.PARAMICS.tag)) {     
+                currEvent.XMLIncidents.add(currXMLInc);
+                currentLevel = LEVEL.CAD_INCIDENT_EVENT;
+            }
+            else if(qName.equals(SCRIPT_EVENT_TAGS.INCIDENT.tag)) {
+                currentIncidentDesc = parsedValue.toString();
+                
+                if(incidentMap.get(currentLogNumber) == null) {             
+                
+                    incidentMap.put(currentLogNumber, 
+                            new Incident(currentLogNumber, 
+                                         currentIncidentDesc, 
+                                         currentEventTime));
+                }
+                currentIncident = incidentMap.get(currentLogNumber);
+            }
+            else if(qName.equals(SCRIPT_EVENT_TAGS.TIME_INDEX.tag)) {
+                currentEventTime = timeBytesToSeconds(parsedValue.toString().trim());
+            }
+            else if(qName.equals(INCIDENT_HEADER_TAGS.TYPE.tag)){
+                currIIH.type = parsedValue.toString();
+            }
+            else if(qName.equals(INCIDENT_HEADER_TAGS.BEAT.tag)){
+                currIIH.beat = parsedValue.toString();
+            }
+            else if(qName.equals(INCIDENT_HEADER_TAGS.FULL_LOCATION.tag)){
+                currIIH.fullLocation = parsedValue.toString();
+            }
+            else if(qName.equals(INCIDENT_HEADER_TAGS.TRUNC_LOCATION.tag)){
+                currIIH.truncLocation = parsedValue.toString();
+            }
+            else if(qName.equals(INCIDENT_HEADER_TAGS.LOG_NUMBER.tag)){
+                currIIH.logNumber = Integer.parseInt(parsedValue.toString());
+            }
+            else if(qName.equals(CAD_INCIDENT_DATA_TAGS.DETAIL.tag)) {
+                currEvent.eventInfo.addDetail(new IncidentInquiryDetails(
+                        IncidentInquiryModel_obj.SCRIPT_POS_INFO, 
+                        parsedValue.toString(), false));
+            }   
+            else if(currentLevel == LEVEL.PARAMICS) {
+                try {
+                    currXMLInc.readXMLNode(qName, parsedValue.toString());
+                }
+                catch (Exception e) {
+                    scriptLogger.logp(Level.SEVERE, "ScriptHandler", "endElement", 
+                            "Exception in parsing PARAMICS node.", e);
+                }
+            }
+            else if(currentLevel == LEVEL.LOCATION_INFO) {
+                currLoc.readXMLNode(qName, parsedValue.toString());
+            }
+            else if(currentLevel == LEVEL.NEW_UNIT)
+            {
+                currUnit.readXMLNode(qName, parsedValue.toString());
+            }
+            else if(currentLevel == LEVEL.CAD_DATA)
+            {
+                currentIncident.readXMLNode(cadDataTag, qName, parsedValue.toString());
+            }
+            if(qName.equals(cadDataTag)) 
+            {
+                cadDataTag = null;
+            }
+    
+            parsedValue.setLength(0);
+        } catch (Exception e) {
+            scriptLogger.logp(Level.SEVERE, "ScriptHandler", "endElement", 
+                    "Exception in ending element <" + qName + ">.", e);
+        }
+    }   
+    
+    public void endDocument() {
+    }
+    
+    public void error(SAXParseException e) {
+        scriptLogger.logp(Level.SEVERE, "ScriptHandler", "error", 
+                "SAX Parsing error.", e);
+    }
+    
+    public void fatalError(SAXParseException e) {
+        scriptLogger.logp(Level.SEVERE, "ScriptHandler", "fatalError", 
+                "SAX Parsing fatal error.", e);
+    }
+    
+    public void warning(SAXParseException e) {
+        scriptLogger.logp(Level.SEVERE, "ScriptHandler", "warning", 
+                "SAX Parsing warning.", e);
+    }
+    
+
+    /**
+     * Private method to convert a time object from format HH:MM:SS to a long value of the
+     * corresponding number of seconds.
+     *
+     * @param time String time representation of format HH:MM:SS
+     * @return long Number of seconds
+     * @throws StringIndexOutOfBoundsException if the input parameter is not valid
+     */
+    private long timeBytesToSeconds(String time) 
+        throws StringIndexOutOfBoundsException
+    {
+        long seconds = 0;
+
+        seconds =  ((long) Character.digit(time.charAt(0), 10) * 36000 +
+                        Character.digit(time.charAt(1), 10) * 3600 +
+                        Character.digit(time.charAt(3), 10) * 600 + 
+                        Character.digit(time.charAt(4), 10) * 60 + 
+                        Character.digit(time.charAt(6), 10) * 10 +
+                        Character.digit(time.charAt(7), 10));
+
+              
+        return seconds;
+    }       
+    
+    
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/PowerlineUI.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/PowerlineUI.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/PowerlineUI.java	(revision 3)
@@ -0,0 +1,301 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.rmi.RemoteException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Scanner;
+
+import javax.swing.JComponent;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.text.BadLocationException;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_TABLE;
+
+/**
+ *
+ * @author Stuart
+ */
+public class PowerlineUI extends javax.swing.JFrame {
+
+    public static enum HINT{
+        II  ("II <Incident> Comment"),
+        UI              ("UI <Incident> Comment"),
+        RCARD       ("RCARD SearchText[NEW]"),
+        CARD        ("CARD"),
+        OFF ("OFF");
+        
+        public String tag;
+        
+        private HINT(String t) {
+            tag = t;
+        }
+    }
+    
+    public static enum DESCRIPTION{
+        II  ("Inquire Incident/Update Incident"),
+        UI              ("Update Incident Details"),
+        RCARD       ("Recall: Cardfile Search"),
+        CARD        ("Open Cardfile"),
+        OFF ("Exit System");
+        
+        public String tag;
+        
+        private DESCRIPTION(String t) {
+            tag = t;
+        }
+    }
+    
+    /**
+     * Creates new form PrototypeUI
+     */
+    public PowerlineUI(boolean visible, int number) {
+        initComponents(visible,number);
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents(boolean visible, int number) {
+
+        jTabbedPane1 = new javax.swing.JTabbedPane();
+        jDesktopPane1 = new javax.swing.JDesktopPane();
+        jToolBar1 = new javax.swing.JToolBar();
+        cmdLabel = new javax.swing.JLabel();
+        cmdComboField = new javax.swing.JComboBox();
+        hintLabel = new javax.swing.JLabel();
+        descriptionLabel = new javax.swing.JLabel();
+
+        jToolBar1.setRollover(true);
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+        setTitle("Powerline");
+
+        cmdLabel.setText("CMD:");
+        
+        cmdComboField.setEditable(true);
+        ((javax.swing.text.JTextComponent) cmdComboField.getEditor().getEditorComponent())
+            .getDocument().addDocumentListener(new DocumentListener(){
+                
+            public void changedUpdate(DocumentEvent e) {
+                updateHint(e);
+            }
+            public void insertUpdate(DocumentEvent e) {
+                updateHint(e);
+            }
+            public void removeUpdate(DocumentEvent e) {
+                updateHint(e);
+            }
+         });
+        
+        cmdComboField.addActionListener(new ActionListener(){
+            public void actionPerformed(ActionEvent e) {
+                if(((String)cmdComboField.getEditor().getItem()).equals("OFF")){
+                    System.exit(0);
+                }
+                else if(((String)cmdComboField.getEditor().getItem()).equals("CARD")){
+                    ScreenManager.openCardfile();
+                }
+                else if(((String)cmdComboField.getEditor().getItem()).startsWith("RCARD")){
+                    Scanner scanner = new Scanner((String)cmdComboField.getEditor().getItem());
+                    scanner.next();
+                    if(!scanner.hasNext()){
+                        return;
+                    }
+                    String search = scanner.next();
+                    ScreenManager.createPowerlineSearch(search);
+                    
+                }
+                else if(((String)cmdComboField.getEditor().getItem()).startsWith("II")){
+                    Scanner scanner = new Scanner((String)cmdComboField.getEditor().getItem());
+                    scanner.next();
+                    if(!scanner.hasNextInt()){
+                        return;
+                    }
+                    int incidentId = scanner.nextInt();
+                    ScreenManager.openIncidentViewer(incidentId);
+                }
+                else if(((String)cmdComboField.getEditor().getItem()).startsWith("UI")){
+                    Scanner scanner = new Scanner((String)cmdComboField.getEditor().getItem());
+                    scanner.next();
+                    if(!scanner.hasNextInt()){
+                        return;
+                    }
+                    int incidentId = scanner.nextInt();
+                    try {
+                        if(ScreenManager.theCoordinator.checkForValidIncidentID(incidentId)){
+                            if(!scanner.hasNext()){
+                                return;
+                            }
+                            String comment = scanner.next();
+                            DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
+                       DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+                       String[] fields = {dateFormat.format(new Date()),
+                                                  timeFormat.format(new Date()),
+                                                  "","",comment};
+                            try {
+                                ScreenManager.theCoordinator.addCadDataIncidentTable(
+                                 INC_TABLE.COMMENTS_NOTES, incidentId, fields);
+                            } catch (RemoteException e1) {
+                                e1.printStackTrace();
+                            }
+                            ScreenManager.openIncidentViewer(incidentId);
+                            cmdComboField.getEditor().setItem("");
+                        }
+                    } catch (RemoteException e1) {
+                        e1.printStackTrace();
+                    }
+                }
+                
+                cmdComboField.getEditor().setItem("");
+                hintLabel.setText("");
+                descriptionLabel.setText("");
+            }
+        });
+        
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(cmdLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(cmdComboField, 0, 454, Short.MAX_VALUE)
+                .addContainerGap())
+             .addGroup(layout.createSequentialGroup()
+                .addGap(42, 42, 42)
+                .addComponent(hintLabel))
+             .addGroup(layout.createSequentialGroup()
+                .addGap(42, 42, 42)
+                .addComponent(descriptionLabel))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addGap(29, 29, 29)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(cmdLabel)
+                    .addComponent(cmdComboField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+            .addComponent(hintLabel)
+            .addComponent(descriptionLabel)
+            .addContainerGap(35, Short.MAX_VALUE))
+        );
+
+        setTitle("<" + number + ">Powerline");
+        if (visible){
+            setVisible(true);
+        }else{
+            setVisible(false);
+        }
+        pack();
+        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+        setLocation((int)(dim.getWidth() - this.getWidth()),0);
+    }// </editor-fold>//GEN-END:initComponents
+
+    public void updateHint(DocumentEvent e){
+        try {
+            if(e.getDocument().getLength() > 0){
+                String firstLetter = e.getDocument().getText(0, 1);
+                if(firstLetter.equals("O")){
+                    hintLabel.setText(HINT.OFF.tag);
+                    descriptionLabel.setText(DESCRIPTION.OFF.tag);
+                }
+                else if(firstLetter.equals("I")){
+                    hintLabel.setText(HINT.II.tag);
+                    descriptionLabel.setText(DESCRIPTION.II.tag);
+                }
+                else if(firstLetter.equals("U")){
+                    hintLabel.setText(HINT.UI.tag);
+                    descriptionLabel.setText(DESCRIPTION.UI.tag);
+                }
+                else if(firstLetter.equals("R")){
+                    hintLabel.setText(HINT.RCARD.tag);
+                    descriptionLabel.setText(DESCRIPTION.RCARD.tag);
+                }
+                else if(firstLetter.equals("C")){
+                    hintLabel.setText(HINT.CARD.tag);
+                    descriptionLabel.setText(DESCRIPTION.CARD.tag);
+                }
+                else {
+                    hintLabel.setText("");
+                    descriptionLabel.setText("");
+                }
+            }
+            
+        } catch (BadLocationException e1) {
+            e1.printStackTrace();
+        }
+    }
+    
+    /*
+     * Clears text.
+     */
+    public void clearText(){
+     cmdComboField.getEditor().setItem("");
+    }
+    
+    /*
+     * Puts "RCARD" in textfield.
+     */
+    public void putRCARD(){
+     cmdComboField.getEditor().setItem("RCARD");
+    }
+    
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+    
+    /*public void submitCmd() {     
+        if (jComboBox1.getSelectedItem() instanceof String) {
+            try {
+                Document cmdDoc = DocumentBuilderFactory.newInstance()
+                 .newDocumentBuilder().newDocument();
+                Element cmdElem = cmdDoc.createElement(CAD_CLIENT_CMD.TERMINAL_CMD_LINE.type);
+                
+                parser.parseCommand(cmdElem, (String)jComboBox1.getSelectedItem());
+                cmdDoc.appendChild(cmdElem);
+            
+                theModel.transmitCommand(cmdDoc);
+            }
+            catch (Exception ex) {
+                System.out.println(ex.getMessage());
+            }
+        }
+    }*/
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JComboBox cmdComboField;
+    private javax.swing.JLabel cmdLabel;
+    private javax.swing.JDesktopPane jDesktopPane1;
+    private javax.swing.JTabbedPane jTabbedPane1;
+    private javax.swing.JToolBar jToolBar1;
+    private javax.swing.JLabel hintLabel;
+    private javax.swing.JLabel descriptionLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/IncidentEditor.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/IncidentEditor.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/IncidentEditor.java	(revision 3)
@@ -0,0 +1,491 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.rmi.RemoteException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+import javax.swing.BorderFactory;
+import javax.swing.DefaultListModel;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollBar;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingConstants;
+import javax.swing.border.LineBorder;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableCellRenderer;
+
+import tmcsim.client.cadclientgui.enums.TableHeaders;
+import tmcsim.client.cadclientgui.enums.CADDataEnums.TABLE;
+
+/**
+ * This class contains the view and controller for the IncidentEditor screen. The view is built using a GUI builder plug-in, and the controller 
+ * uses listeners to control how the view and data act.
+ * @author Stuart
+ */
+public class IncidentEditor extends javax.swing.JFrame {
+
+    private final String[] monthNames = { "January", "February",
+            "March", "April", "May", "June", "July", "August", "September",
+            "October", "November", "December"};
+    
+    private final String[] dayNames = { "Sun", "Mon", "Tue", "Wed",
+            "Thu", "Fri", "Sat"};
+
+    private DefaultTableModel blankTable;
+    
+    private JTable calendarTable;
+    private int todayRow;
+    private int todayCol;
+
+    /**
+     * Creates new form IncidentEditor
+     */
+    public IncidentEditor() {
+        declareComponents();
+        initControllers();
+        initLayout();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed"
+    // desc="Generated Code">//GEN-BEGIN:initComponents
+    private void declareComponents() {
+
+        incidentLogScroll = new javax.swing.JScrollPane();
+        incidentLogTable = new javax.swing.JTable();
+        agencyTypeLabel = new javax.swing.JLabel();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        agencyTypeList = new javax.swing.JList();
+        currentDatabaseLabel = new javax.swing.JLabel();
+        currentDatabaseCombo = new javax.swing.JComboBox();
+        searchLimitLabel = new javax.swing.JLabel();
+        reopenButton = new javax.swing.JButton();
+        duplicateCellButton = new javax.swing.JButton();
+        searchButton = new javax.swing.JButton();
+        printButton = new javax.swing.JButton();
+        viewButton = new javax.swing.JButton();
+        refreshButton = new javax.swing.JButton();
+        exitButton = new javax.swing.JButton();
+        fromLabel = new javax.swing.JLabel();
+        toLabel = new javax.swing.JLabel();
+        fromCalendar = new javax.swing.JPanel();
+        toCalendar = new javax.swing.JPanel();
+    }
+    
+    public MouseListener newMouseListener(){
+        return new MouseListener() {
+            public void mouseClicked(MouseEvent e) {
+                viewButton.setEnabled(true);
+            }
+
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+        };
+    }
+    
+    public ActionListener newSearchActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                ScreenManager.openSearch();
+            }
+
+        };
+    }
+    
+    public ActionListener newViewActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                String masterInc = (String) incidentLogTable.getValueAt(
+                        incidentLogTable.getSelectedRow(), 5);
+                int incidentId = 0;
+                try {
+                    incidentId = ScreenManager.theCoordinator
+                            .getIncidentId(masterInc);
+                } catch (RemoteException e1) {
+                    e1.printStackTrace();
+                }
+                ScreenManager.openIncidentViewer(incidentId);
+            }
+        };
+    }
+    
+    public ActionListener newRefreshActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                refreshInformation();
+            }
+        };
+    }
+    
+    public ActionListener newExitActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                close();
+            }
+        };
+    }
+    
+    private void initControllers() {
+        
+        incidentLogTable.addMouseListener(newMouseListener());
+        
+        searchButton.addActionListener(newSearchActionListener());
+        viewButton.addActionListener(newViewActionListener());
+        refreshButton.addActionListener(newRefreshActionListener());
+        exitButton.addActionListener(newExitActionListener());
+    }
+        
+    private void initLayout() {
+        blankTable = new DefaultTableModel();
+        blankTable.setColumnIdentifiers(TableHeaders.INCIDENT_EDITOR_HEADERS);
+
+        setTitle("Incident Editor");
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+        setPreferredSize(new java.awt.Dimension(800, 600));
+
+        incidentLogTable.setOpaque(true);
+        incidentLogTable.setIntercellSpacing(new Dimension(1, 0));
+        incidentLogTable.setGridColor(Color.WHITE);
+        incidentLogTable.getTableHeader().setReorderingAllowed(false);
+        incidentLogTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        incidentLogTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+        incidentLogTable.setAutoCreateRowSorter(true);
+        incidentLogScroll.setViewportView(incidentLogTable);
+
+        agencyTypeLabel.setText("Agency Type:");
+
+        DefaultListModel<String> dlm = new DefaultListModel();
+        dlm.addElement("CHP");
+        agencyTypeList.setModel(dlm);
+        agencyTypeList.setEnabled(false);
+
+        jScrollPane1.setViewportView(agencyTypeList);
+
+        currentDatabaseLabel.setText("Current Database:");
+
+        currentDatabaseCombo.setModel(new javax.swing.DefaultComboBoxModel(
+                new String[] { "System" }));
+        currentDatabaseCombo.setEnabled(false);
+
+        searchLimitLabel.setText("Search Limit On Live System: 30 Days");
+
+        fromCalendar = createCalendar();
+        toCalendar = createCalendar();
+        
+        reopenButton.setText("ReOpen");
+        reopenButton.setEnabled(false);
+
+        duplicateCellButton.setText("Duplicate Cell");
+        duplicateCellButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        duplicateCellButton.setEnabled(false);
+
+        searchButton.setText("Search");
+        
+        printButton.setText("Print");
+        printButton.setEnabled(false);
+
+        viewButton.setText("View");
+        viewButton.setEnabled(false);
+        
+        refreshButton.setText("Refresh");
+        exitButton.setText("Exit");
+        
+        fromLabel.setText("From...");
+
+        toLabel.setText("To...");
+        
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(incidentLogScroll)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(agencyTypeLabel)
+                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(10, 10, 10)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(currentDatabaseLabel)
+                            .addComponent(currentDatabaseCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addComponent(searchLimitLabel))
+                .addGap(32, 32, 32)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(fromLabel)
+                    .addComponent(fromCalendar, 200, 200, 200))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 45, Short.MAX_VALUE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(toLabel)
+                    .addComponent(toCalendar, 200, 200, 200))
+                .addGap(25, 25, 25)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(reopenButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(duplicateCellButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(searchButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(printButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(viewButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(refreshButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(exitButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(incidentLogScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(agencyTypeLabel)
+                    .addComponent(reopenButton)
+                    .addComponent(fromLabel)
+                    .addComponent(toLabel))
+                .addGap(2, 2, 2)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(currentDatabaseLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(currentDatabaseCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(searchLimitLabel))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(fromCalendar, 150, 150, 150)
+                            .addComponent(toCalendar, 150, 150, 150)))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(duplicateCellButton)
+                        .addGap(2, 2, 2)
+                        .addComponent(searchButton)
+                        .addGap(2, 2, 2)
+                        .addComponent(printButton)
+                        .addGap(2, 2, 2)
+                        .addComponent(viewButton)
+                        .addGap(2, 2, 2)
+                        .addComponent(refreshButton)
+                        .addGap(2, 2, 2)
+                        .addComponent(exitButton)))
+                .addGap(0, 41, Short.MAX_VALUE))
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    public JPanel createCalendar(){
+        
+        JPanel calendarPanel = new JPanel();
+        Calendar now = Calendar.getInstance();
+        calendarPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
+        calendarPanel.setLayout(null);
+        
+        JLabel monthLabel = new JLabel("New label");
+        monthLabel.setBounds(0, 0, 140, 20);
+        monthLabel.setHorizontalAlignment(SwingConstants.CENTER);
+        monthLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
+        monthLabel.setText(monthNames[now.get(Calendar.MONTH)]);
+        calendarPanel.add(monthLabel);
+        
+        JLabel yearLabel = new JLabel("New label");
+        yearLabel.setHorizontalAlignment(SwingConstants.CENTER);
+        yearLabel.setBounds(140, 0, 60, 20);
+        yearLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
+        yearLabel.setText(Integer.toString(now.get(Calendar.YEAR)));
+        calendarPanel.add(yearLabel);
+        
+        Date date = new Date();
+        DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
+        String dateString = dateFormat.format(date);
+        
+        JLabel dateLabel1 = new JLabel("New label");
+        dateLabel1.setBounds(0, 130, 60, 20);
+        dateLabel1.setBorder(BorderFactory.createLineBorder(Color.BLACK));
+        dateLabel1.setText(dateString);
+        dateLabel1.setHorizontalAlignment(JLabel.CENTER);
+        calendarPanel.add(dateLabel1);
+        
+        JLabel dateLabel2 = new JLabel("New label");
+        dateLabel2.setBounds(140, 130, 60, 20);
+        dateLabel2.setBorder(BorderFactory.createLineBorder(Color.BLACK));
+        dateLabel2.setText(dateString);
+        dateLabel2.setHorizontalAlignment(JLabel.CENTER);
+        calendarPanel.add(dateLabel2);
+        
+        JScrollBar scrollBar = new JScrollBar();
+        scrollBar.setOrientation(JScrollBar.HORIZONTAL);
+        scrollBar.setBounds(60, 130, 80, 20);
+        scrollBar.setBorder(BorderFactory.createLineBorder(Color.BLACK));
+        scrollBar.setEnabled(false);
+        calendarPanel.add(scrollBar);
+        
+        calendarTable = new JTable(){
+            /*
+             * Custom renderer to set different background/foreground colors
+             * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, int, int)
+             */
+            public Component prepareRenderer(TableCellRenderer renderer, int row, int column){
+                Component comp = super.prepareRenderer(renderer, row, column);
+                if(todayRow == row && todayCol == column){
+                    comp.setBackground(Color.BLUE);
+                    comp.setForeground(Color.WHITE);
+                }
+                else{
+                    comp.setBackground(new Color(235, 235, 235));
+                    comp.setForeground(Color.BLACK);
+                }
+                return comp;
+            }
+        };
+        calendarTable.setModel(createDaysModel());
+        DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
+        centerRenderer.setHorizontalAlignment(JLabel.CENTER);
+        for(int i = 0; i < dayNames.length; i++){
+            calendarTable.getColumnModel().getColumn(i).setCellRenderer(centerRenderer);
+        }
+        calendarTable.setEnabled(false);
+        calendarTable.setBounds(0, 20, 200, 110);
+        calendarPanel.add(calendarTable);
+        
+        return calendarPanel;
+    }
+    
+    protected DefaultTableModel createDaysModel() {
+
+        String[][] emptyModel = {{"", "", "", "", "", "", ""},
+                                {"", "", "", "", "", "", ""},
+                                {"", "", "", "", "", "", ""},
+                                {"", "", "", "", "", "", ""},
+                                {"", "", "", "", "", "", ""},
+                                {"", "", "", "", "", "", ""},
+                                {"", "", "", "", "", "", ""},
+                                {"", "", "", "", "", "", ""}};
+        
+        String[] emptyHeader = {"", "", "", "", "", "", ""};
+        DefaultTableModel calendarModel = new DefaultTableModel(emptyModel, emptyHeader);
+        int row = 0;
+        int col = 0;
+        
+        Calendar today = Calendar.getInstance();
+        int tMonth = today.get(Calendar.MONTH);
+        int tYear = today.get(Calendar.YEAR);
+        int tDay = today.get(Calendar.DAY_OF_MONTH);
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.MONTH, tMonth);
+        calendar.set(Calendar.YEAR, tYear);
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
+
+        Calendar iterator = (Calendar) calendar.clone();
+        iterator.add(Calendar.DAY_OF_MONTH,
+                -(iterator.get(Calendar.DAY_OF_WEEK) - 1));
+
+        Calendar maximum = (Calendar) calendar.clone();
+        maximum.add(Calendar.MONTH, +1);
+
+        for (int i = 0; i < dayNames.length; i++) {
+            calendarModel.setValueAt(dayNames[i], row, col);
+            col++;
+        }
+        col = 0;
+        row = 1;
+
+        while (iterator.getTimeInMillis() < maximum.getTimeInMillis()) {
+            int lMonth = iterator.get(Calendar.MONTH);
+            int lYear = iterator.get(Calendar.YEAR);
+
+            if ((lMonth == tMonth) && (lYear == tYear)) {
+                int lDay = iterator.get(Calendar.DAY_OF_MONTH);
+                calendarModel.setValueAt(Integer.toString(lDay), row, col);
+                if ((tMonth == lMonth) && (tYear == lYear) && (tDay == lDay)) {
+                    todayRow = row;
+                    todayCol = col;
+                }
+            } 
+            iterator.add(Calendar.DAY_OF_YEAR, +1);
+            
+            col++;
+            if(col >= calendarModel.getColumnCount()){
+                row++;
+                col = 0;
+            }
+        }
+
+        
+        return calendarModel;
+    }
+    
+    public void refreshInformation() {
+        try {
+            incidentLogTable.setModel(ScreenManager.theCoordinator
+                    .getCadDataTable(TABLE.INCIDENT_EDITOR));
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /*
+     * Makes screen visible.
+     */
+    public void open() {
+        incidentLogTable.setModel(blankTable);
+        viewButton.setEnabled(false);
+        setVisible(true);
+    }
+
+    /*
+     * Hides screen.
+     */
+    public void close() {
+        setVisible(false);
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel agencyTypeLabel;
+    private javax.swing.JList agencyTypeList;
+    private javax.swing.JComboBox currentDatabaseCombo;
+    private javax.swing.JLabel currentDatabaseLabel;
+    private javax.swing.JButton duplicateCellButton;
+    private javax.swing.JButton exitButton;
+    private javax.swing.JPanel fromCalendar;
+    private javax.swing.JLabel fromLabel;
+    private javax.swing.JScrollPane incidentLogScroll;
+    private javax.swing.JTable incidentLogTable;
+    private javax.swing.JPanel toCalendar;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JButton printButton;
+    private javax.swing.JButton refreshButton;
+    private javax.swing.JButton reopenButton;
+    private javax.swing.JButton searchButton;
+    private javax.swing.JLabel searchLimitLabel;
+    private javax.swing.JLabel toLabel;
+    private javax.swing.JButton viewButton;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/Search.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/Search.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/Search.java	(revision 3)
@@ -0,0 +1,931 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JComponent;
+
+import tmcsim.client.cadclientgui.enums.ComboBoxConstants;
+
+/**
+ *
+ * @author Stuart
+ */
+public class Search extends javax.swing.JFrame {
+
+    /**
+     * Creates new form Search
+     */
+    public Search() {
+        declareComponents();
+        initLayout();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
+    private void declareComponents() {
+
+        jTabbedPane1 = new javax.swing.JTabbedPane();
+        basicSearchPane = new javax.swing.JPanel();
+        priorityLabel = new javax.swing.JLabel();
+        natureProblemLabel = new javax.swing.JLabel();
+        responseLocationLabel = new javax.swing.JLabel();
+        cityLabel = new javax.swing.JLabel();
+        addressLabel = new javax.swing.JLabel();
+        apartmentNumberLabel = new javax.swing.JLabel();
+        stateLabel = new javax.swing.JLabel();
+        crossStreetLabel = new javax.swing.JLabel();
+        mapCoordinatesLabel = new javax.swing.JLabel();
+        callTakenLabel = new javax.swing.JLabel();
+        unitLabel = new javax.swing.JLabel();
+        alarmLevelLabel = new javax.swing.JLabel();
+        priorityCombo = new javax.swing.JComboBox();
+        natureProblemCombo = new javax.swing.JComboBox();
+        responseLocationField = new javax.swing.JTextField();
+        cityCombo = new javax.swing.JComboBox();
+        addressField = new javax.swing.JTextField();
+        apartmentLabelField = new javax.swing.JTextField();
+        buildingNumberField = new javax.swing.JTextField();
+        buildingNumberLabel = new javax.swing.JLabel();
+        stateField = new javax.swing.JTextField();
+        zipCodeLabel = new javax.swing.JLabel();
+        zipCodeField = new javax.swing.JTextField();
+        crossStreetField = new javax.swing.JTextField();
+        mapCoordinatesField = new javax.swing.JTextField();
+        callTakenCombo = new javax.swing.JComboBox();
+        unitCombo = new javax.swing.JComboBox();
+        alarmLevelCombo = new javax.swing.JComboBox();
+        jTabbedPane2 = new javax.swing.JTabbedPane();
+        callBacksPane = new javax.swing.JPanel();
+        jPanel4 = new javax.swing.JPanel();
+        callerTypeLabel = new javax.swing.JLabel();
+        callerNameLabel = new javax.swing.JLabel();
+        calledFromLocationLabel = new javax.swing.JLabel();
+        calledFromAddressLabel = new javax.swing.JLabel();
+        callBackPhoneLabel = new javax.swing.JLabel();
+        callerTypeCombo = new javax.swing.JComboBox();
+        callerNameField = new javax.swing.JTextField();
+        calledFromLocationField = new javax.swing.JTextField();
+        calledFromAddressField = new javax.swing.JTextField();
+        callBackPhoneField = new javax.swing.JTextField();
+        transportationPane = new javax.swing.JPanel();
+        transportationLocationLabel = new javax.swing.JLabel();
+        transportationAddressLabel = new javax.swing.JLabel();
+        transportationLocationField = new javax.swing.JTextField();
+        transportationAddressField = new javax.swing.JTextField();
+        jPanel1 = new javax.swing.JPanel();
+        patientFirstNameLabel = new javax.swing.JLabel();
+        patientFirstNameField = new javax.swing.JTextField();
+        patientLastNameLabel = new javax.swing.JLabel();
+        transportToCityLabel = new javax.swing.JLabel();
+        patientLastNameField = new javax.swing.JTextField();
+        transportToCityCombo = new javax.swing.JComboBox();
+        transportToLocationLabel = new javax.swing.JLabel();
+        transportToLocationField = new javax.swing.JTextField();
+        scheduledInfoAddressLabel = new javax.swing.JLabel();
+        transportToStateLabel = new javax.swing.JLabel();
+        scheduledInfoAddressField = new javax.swing.JTextField();
+        transportToStateField = new javax.swing.JTextField();
+        scheduledInfoZipCodeField = new javax.swing.JTextField();
+        scheduledInfoZipCodeLabel = new javax.swing.JLabel();
+        roomAptEtcLabel = new javax.swing.JLabel();
+        roomAptEtcField = new javax.swing.JTextField();
+        scheduledInfoPhoneLabel = new javax.swing.JLabel();
+        scheduledInfoPhoneField = new javax.swing.JTextField();
+        jPanel3 = new javax.swing.JPanel();
+        jPanel2 = new javax.swing.JPanel();
+        sspSafetyServicesProgramLabel = new javax.swing.JLabel();
+        sspSafetyServicesProgramField = new javax.swing.JTextField();
+        userDateField17Label = new javax.swing.JLabel();
+        userDataField18Label = new javax.swing.JLabel();
+        userDataField19Label = new javax.swing.JLabel();
+        lawLabel = new javax.swing.JLabel();
+        userDataField17Field = new javax.swing.JTextField();
+        userDataField18Field = new javax.swing.JTextField();
+        userDataField19Field = new javax.swing.JTextField();
+        lawField = new javax.swing.JTextField();
+        fireLabel = new javax.swing.JLabel();
+        fireField = new javax.swing.JTextField();
+        emsLabel = new javax.swing.JLabel();
+        emsField = new javax.swing.JTextField();
+        incidentNumberLabel = new javax.swing.JLabel();
+        incidentNumberField = new javax.swing.JTextField();
+        baseResponseNumberLabel = new javax.swing.JLabel();
+        baseResponseNumberField = new javax.swing.JTextField();
+        caseNumberLabel = new javax.swing.JLabel();
+        caseNumberField = new javax.swing.JTextField();
+        incidentTypeLabel = new javax.swing.JLabel();
+        incidentTypeCombo = new javax.swing.JComboBox();
+        jurisdictionLabel = new javax.swing.JLabel();
+        jurisdictionCombo = new javax.swing.JComboBox();
+        divisionLabel = new javax.swing.JLabel();
+        divisionCombo = new javax.swing.JComboBox();
+        batallionLabel = new javax.swing.JLabel();
+        batallionCombo = new javax.swing.JComboBox();
+        responseAreaLabel = new javax.swing.JLabel();
+        responsePlanLabel = new javax.swing.JLabel();
+        responseAreaCombo = new javax.swing.JComboBox();
+        responsePlanCombo = new javax.swing.JComboBox();
+        commandChannelLabel = new javax.swing.JLabel();
+        commandChannelCombo = new javax.swing.JComboBox();
+        primaryTacChannelLabel = new javax.swing.JLabel();
+        primaryTacChannelCombo = new javax.swing.JComboBox();
+        alternateTacChannelLabel = new javax.swing.JLabel();
+        alternateTacChannelCombo = new javax.swing.JComboBox();
+        sectorLabel = new javax.swing.JLabel();
+        sectorCombo = new javax.swing.JComboBox();
+        advancedSearchPane = new javax.swing.JPanel();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        databaseTable = new javax.swing.JTable();
+        jScrollPane2 = new javax.swing.JScrollPane();
+        advancedDatabaseTable = new javax.swing.JTable();
+        jButton3 = new javax.swing.JButton();
+        jButton4 = new javax.swing.JButton();
+        searchButton = new javax.swing.JButton();
+        exitButton = new javax.swing.JButton();
+    }
+    
+    private void initLayout() {
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+
+        priorityLabel.setText("Priority:");
+
+        natureProblemLabel.setText("Nature/Problem:");
+
+        responseLocationLabel.setText("Response Location:");
+
+        cityLabel.setText("City:");
+
+        addressLabel.setText("Address:");
+
+        apartmentNumberLabel.setText("Apt #:");
+
+        stateLabel.setText("State:");
+
+        crossStreetLabel.setText("Cross Street:");
+
+        mapCoordinatesLabel.setText("Map Coordinates:");
+
+        callTakenLabel.setText("Call Taken:");
+
+        unitLabel.setText("Unit:");
+
+        alarmLevelLabel.setText("Alarm Level:");
+
+        buildingNumberLabel.setText("Bldg #:");
+
+        zipCodeLabel.setText("Zip Code:");
+
+        callerTypeLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+        callerTypeLabel.setText("Caller Type:");
+
+        callerNameLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+        callerNameLabel.setText("Caller Name:");
+
+        calledFromLocationLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+        calledFromLocationLabel.setText("Called from Location:");
+
+        calledFromAddressLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+        calledFromAddressLabel.setText("Called From Address:");
+
+        callBackPhoneLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+        callBackPhoneLabel.setText("Phone:");
+
+        callerTypeCombo.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.RP_TYPE));
+
+        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
+        jPanel4.setLayout(jPanel4Layout);
+        jPanel4Layout.setHorizontalGroup(
+            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel4Layout.createSequentialGroup()
+                .addGap(169, 169, 169)
+                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(callBackPhoneLabel)
+                    .addComponent(callerNameLabel)
+                    .addComponent(callerTypeLabel)
+                    .addComponent(calledFromLocationLabel)
+                    .addComponent(calledFromAddressLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                        .addComponent(callerTypeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(callerNameField, javax.swing.GroupLayout.DEFAULT_SIZE, 173, Short.MAX_VALUE)
+                        .addComponent(calledFromLocationField)
+                        .addComponent(calledFromAddressField))
+                    .addComponent(callBackPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(145, Short.MAX_VALUE))
+        );
+        jPanel4Layout.setVerticalGroup(
+            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel4Layout.createSequentialGroup()
+                .addGap(24, 24, 24)
+                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(callerTypeLabel)
+                    .addComponent(callerTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(callerNameLabel)
+                    .addComponent(callerNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(calledFromLocationLabel)
+                    .addComponent(calledFromLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(calledFromAddressLabel)
+                    .addComponent(calledFromAddressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(callBackPhoneLabel)
+                    .addComponent(callBackPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(12, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout callBacksPaneLayout = new javax.swing.GroupLayout(callBacksPane);
+        callBacksPane.setLayout(callBacksPaneLayout);
+        callBacksPaneLayout.setHorizontalGroup(
+            callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(callBacksPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        callBacksPaneLayout.setVerticalGroup(
+            callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(callBacksPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+
+        jTabbedPane2.addTab("Call-Backs", callBacksPane);
+
+        transportationLocationLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+        transportationLocationLabel.setText("Location:");
+
+        transportationAddressLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+        transportationAddressLabel.setText("Address:");
+
+        javax.swing.GroupLayout transportationPaneLayout = new javax.swing.GroupLayout(transportationPane);
+        transportationPane.setLayout(transportationPaneLayout);
+        transportationPaneLayout.setHorizontalGroup(
+            transportationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(transportationPaneLayout.createSequentialGroup()
+                .addGap(202, 202, 202)
+                .addGroup(transportationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(transportationAddressLabel)
+                    .addComponent(transportationLocationLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(transportationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(transportationLocationField, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)
+                    .addComponent(transportationAddressField))
+                .addContainerGap(189, Short.MAX_VALUE))
+        );
+        transportationPaneLayout.setVerticalGroup(
+            transportationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(transportationPaneLayout.createSequentialGroup()
+                .addGap(59, 59, 59)
+                .addGroup(transportationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(transportationLocationLabel)
+                    .addComponent(transportationLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(transportationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(transportationAddressLabel)
+                    .addComponent(transportationAddressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(72, Short.MAX_VALUE))
+        );
+
+        jTabbedPane2.addTab("Transportation", transportationPane);
+
+        patientFirstNameLabel.setText("Patient First Name:");
+
+        patientLastNameLabel.setText("Patient Last Name:");
+
+        transportToCityLabel.setText("Transport to City:");
+
+        transportToCityCombo.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.LIST_OF_CA_CITIES));
+
+        transportToLocationLabel.setText("Transport to Location:");
+
+        scheduledInfoAddressLabel.setText("Address:");
+
+        transportToStateLabel.setText("Transport to State:");
+
+        scheduledInfoZipCodeLabel.setText("Zip Code:");
+
+        roomAptEtcLabel.setText("Room, Apt., etc.:");
+
+        scheduledInfoPhoneLabel.setText("Phone:");
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addGap(20, 20, 20)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(transportToLocationLabel)
+                    .addComponent(transportToCityLabel)
+                    .addComponent(patientLastNameLabel)
+                    .addComponent(patientFirstNameLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(patientLastNameField, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
+                    .addComponent(transportToCityCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(transportToLocationField)
+                    .addComponent(patientFirstNameField))
+                .addGap(35, 35, 35)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(scheduledInfoAddressLabel)
+                    .addComponent(transportToStateLabel)
+                    .addComponent(roomAptEtcLabel)
+                    .addComponent(scheduledInfoPhoneLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                        .addGroup(jPanel1Layout.createSequentialGroup()
+                            .addComponent(transportToStateField, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE)
+                            .addComponent(scheduledInfoZipCodeLabel)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                            .addComponent(scheduledInfoZipCodeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addComponent(roomAptEtcField)
+                        .addComponent(scheduledInfoAddressField))
+                    .addComponent(scheduledInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(23, Short.MAX_VALUE))
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addGap(36, 36, 36)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(patientFirstNameLabel)
+                    .addComponent(patientFirstNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(scheduledInfoAddressLabel)
+                    .addComponent(scheduledInfoAddressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(patientLastNameLabel)
+                    .addComponent(patientLastNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(transportToStateLabel)
+                    .addComponent(transportToStateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(scheduledInfoZipCodeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(scheduledInfoZipCodeLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(transportToCityLabel)
+                    .addComponent(transportToCityCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(roomAptEtcLabel)
+                    .addComponent(roomAptEtcField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(transportToLocationLabel)
+                    .addComponent(transportToLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(scheduledInfoPhoneLabel)
+                    .addComponent(scheduledInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(33, Short.MAX_VALUE))
+        );
+
+        jTabbedPane2.addTab("Scheduled Info", jPanel1);
+
+        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
+        jPanel3.setLayout(jPanel3Layout);
+        jPanel3Layout.setHorizontalGroup(
+            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 625, Short.MAX_VALUE)
+        );
+        jPanel3Layout.setVerticalGroup(
+            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 182, Short.MAX_VALUE)
+        );
+
+        jTabbedPane2.addTab("Time Stamps", jPanel3);
+
+        sspSafetyServicesProgramLabel.setText("SSP-Safety Services Program:");
+
+        userDateField17Label.setText("User data field #17:");
+
+        userDataField18Label.setText("User data field #18:");
+
+        userDataField19Label.setText("User data field #19:");
+
+        lawLabel.setText("LAW:");
+
+        fireLabel.setText("FIRE:");
+
+        emsLabel.setText("EMS:");
+
+        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+        jPanel2.setLayout(jPanel2Layout);
+        jPanel2Layout.setHorizontalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addGap(15, 15, 15)
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(userDataField19Label)
+                    .addComponent(lawLabel)
+                    .addComponent(userDataField18Label)
+                    .addComponent(userDateField17Label)
+                    .addComponent(sspSafetyServicesProgramLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel2Layout.createSequentialGroup()
+                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(sspSafetyServicesProgramField, javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
+                            .addComponent(userDataField17Field)
+                            .addComponent(userDataField18Field)
+                            .addComponent(lawField))
+                        .addGap(79, 79, 79)
+                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(fireLabel)
+                            .addComponent(emsLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(fireField, javax.swing.GroupLayout.DEFAULT_SIZE, 182, Short.MAX_VALUE)
+                            .addComponent(emsField)))
+                    .addGroup(jPanel2Layout.createSequentialGroup()
+                        .addComponent(userDataField19Field, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        jPanel2Layout.setVerticalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(sspSafetyServicesProgramLabel)
+                    .addComponent(sspSafetyServicesProgramField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(fireLabel)
+                    .addComponent(fireField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(5, 5, 5)
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(userDataField17Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(userDateField17Label)
+                    .addComponent(emsLabel)
+                    .addComponent(emsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(5, 5, 5)
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(userDataField18Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(userDataField18Label, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(5, 5, 5)
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(userDataField19Label)
+                    .addComponent(userDataField19Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lawField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(lawLabel))
+                .addContainerGap(50, Short.MAX_VALUE))
+        );
+
+        jTabbedPane2.addTab("Custom Data Fields", jPanel2);
+
+        incidentNumberLabel.setText("Incident Number:");
+
+        baseResponseNumberLabel.setText("Base Response Number:");
+
+        caseNumberLabel.setText("Case Number:");
+
+        incidentTypeLabel.setText("Incident Type:");
+
+        jurisdictionLabel.setText("Jurisdiction:");
+
+        divisionLabel.setText("Division:");
+
+        batallionLabel.setText("Batallion:");
+
+        responseAreaLabel.setText("Response Area:");
+
+
+        commandChannelLabel.setText("Command Channel:");
+
+        primaryTacChannelLabel.setText("Primary Tac. Channel:");
+
+        alternateTacChannelLabel.setText("Alternate Tac. Channel:");
+
+        sectorLabel.setText("Sector:");
+
+        javax.swing.GroupLayout basicSearchPaneLayout = new javax.swing.GroupLayout(basicSearchPane);
+        basicSearchPane.setLayout(basicSearchPaneLayout);
+        basicSearchPaneLayout.setHorizontalGroup(
+            basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(basicSearchPaneLayout.createSequentialGroup()
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(basicSearchPaneLayout.createSequentialGroup()
+                        .addGap(35, 35, 35)
+                        .addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 630, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(basicSearchPaneLayout.createSequentialGroup()
+                        .addGap(60, 60, 60)
+                        .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(alarmLevelLabel)
+                            .addComponent(unitLabel)
+                            .addComponent(callTakenLabel)
+                            .addComponent(mapCoordinatesLabel)
+                            .addComponent(crossStreetLabel)
+                            .addComponent(stateLabel)
+                            .addComponent(natureProblemLabel)
+                            .addComponent(responseLocationLabel)
+                            .addComponent(priorityLabel)
+                            .addComponent(cityLabel)
+                            .addComponent(addressLabel)
+                            .addComponent(apartmentNumberLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(priorityCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(natureProblemCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(responseLocationField)
+                            .addComponent(cityCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(addressField)
+                            .addGroup(basicSearchPaneLayout.createSequentialGroup()
+                                .addComponent(apartmentLabelField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(61, 61, 61)
+                                .addComponent(buildingNumberLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(buildingNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addGroup(basicSearchPaneLayout.createSequentialGroup()
+                                .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(46, 46, 46)
+                                .addComponent(zipCodeLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(zipCodeField, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addComponent(crossStreetField)
+                            .addComponent(mapCoordinatesField)
+                            .addComponent(callTakenCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(unitCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(alarmLevelCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                        .addGap(42, 42, 42)
+                        .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(incidentNumberLabel)
+                            .addComponent(baseResponseNumberLabel)
+                            .addComponent(caseNumberLabel)
+                            .addComponent(incidentTypeLabel)
+                            .addComponent(jurisdictionLabel)
+                            .addComponent(divisionLabel)
+                            .addComponent(batallionLabel)
+                            .addComponent(responseAreaLabel)
+                            .addComponent(commandChannelLabel)
+                            .addComponent(primaryTacChannelLabel)
+                            .addComponent(alternateTacChannelLabel)
+                            .addComponent(sectorLabel)
+                            .addComponent(responsePlanLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(incidentNumberField)
+                            .addComponent(baseResponseNumberField, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)
+                            .addComponent(caseNumberField)
+                            .addComponent(incidentTypeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(jurisdictionCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(divisionCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(batallionCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(responseAreaCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(responsePlanCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(commandChannelCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(primaryTacChannelCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(alternateTacChannelCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(sectorCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                .addContainerGap(84, Short.MAX_VALUE))
+        );
+        basicSearchPaneLayout.setVerticalGroup(
+            basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(basicSearchPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(priorityLabel)
+                    .addComponent(priorityCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(incidentNumberLabel)
+                    .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(natureProblemLabel)
+                    .addComponent(natureProblemCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(baseResponseNumberLabel)
+                    .addComponent(baseResponseNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(responseLocationLabel)
+                    .addComponent(responseLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(caseNumberLabel)
+                    .addComponent(caseNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(1, 1, 1)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(cityLabel)
+                    .addComponent(cityCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(incidentTypeLabel)
+                    .addComponent(incidentTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(addressLabel)
+                    .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(jurisdictionLabel)
+                    .addComponent(jurisdictionCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(apartmentNumberLabel)
+                    .addComponent(apartmentLabelField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(buildingNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(buildingNumberLabel)
+                    .addComponent(divisionLabel)
+                    .addComponent(divisionCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(stateLabel)
+                    .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(zipCodeLabel)
+                    .addComponent(zipCodeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(batallionLabel)
+                    .addComponent(batallionCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(crossStreetLabel)
+                    .addComponent(crossStreetField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(responseAreaLabel)
+                    .addComponent(responseAreaCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(mapCoordinatesLabel)
+                    .addComponent(mapCoordinatesField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(responsePlanLabel)
+                    .addComponent(responsePlanCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(callTakenLabel)
+                    .addComponent(callTakenCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(commandChannelLabel)
+                    .addComponent(commandChannelCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(unitLabel)
+                    .addComponent(unitCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(primaryTacChannelLabel)
+                    .addComponent(primaryTacChannelCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(alarmLevelLabel)
+                    .addComponent(alarmLevelCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(alternateTacChannelLabel)
+                    .addComponent(alternateTacChannelCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(2, 2, 2)
+                .addGroup(basicSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(sectorLabel)
+                    .addComponent(sectorCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(62, Short.MAX_VALUE))
+        );
+
+        jTabbedPane1.addTab("Basic", basicSearchPane);
+
+        databaseTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null, null},
+                {null, null},
+                {null, null},
+                {null, null}
+            },
+            new String [] {
+                "dB Field Name", "dB Table Name"
+            }
+        ));
+        jScrollPane1.setViewportView(databaseTable);
+
+        advancedDatabaseTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null, null, null, null, null},
+                {null, null, null, null, null},
+                {null, null, null, null, null},
+                {null, null, null, null, null}
+            },
+            new String [] {
+                "dB Field Name", "dB Table Name", "Operator", "Criteria", "Other Criteria"
+            }
+        ));
+        jScrollPane2.setViewportView(advancedDatabaseTable);
+
+        jButton3.setText("jButton3");
+
+        jButton4.setText("jButton4");
+
+        javax.swing.GroupLayout advancedSearchPaneLayout = new javax.swing.GroupLayout(advancedSearchPane);
+        advancedSearchPane.setLayout(advancedSearchPaneLayout);
+        advancedSearchPaneLayout.setHorizontalGroup(
+            advancedSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(advancedSearchPaneLayout.createSequentialGroup()
+                .addGroup(advancedSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(advancedSearchPaneLayout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(jScrollPane2))
+                    .addGroup(advancedSearchPaneLayout.createSequentialGroup()
+                        .addGap(124, 124, 124)
+                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 179, Short.MAX_VALUE)))
+                .addContainerGap())
+            .addGroup(advancedSearchPaneLayout.createSequentialGroup()
+                .addGap(307, 307, 307)
+                .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        advancedSearchPaneLayout.setVerticalGroup(
+            advancedSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(advancedSearchPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(0, 0, 0)
+                .addGroup(advancedSearchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(25, Short.MAX_VALUE))
+        );
+
+        //jTabbedPane1.addTab("Advanced", advancedSearchPane);
+
+        searchButton.setText("Search");
+        searchButton.addActionListener(new ActionListener() {
+           public void actionPerformed(ActionEvent evt) {
+               ScreenManager.refreshIncidentEditor();
+               ScreenManager.closeSearch();
+           }
+        });
+
+        exitButton.setText("Exit");
+        exitButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                ScreenManager.closeSearch();
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(0, 0, Short.MAX_VALUE)
+                        .addComponent(searchButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(jTabbedPane1)))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 640, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 17, Short.MAX_VALUE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(exitButton)
+                    .addComponent(searchButton))
+                .addGap(5, 5, 5))
+        );
+
+        pack();
+    }// </editor-fold>                                                      
+
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+    
+    // Variables declaration - do not modify                     
+    private javax.swing.JTextField addressField;
+    private javax.swing.JLabel addressLabel;
+    private javax.swing.JTable advancedDatabaseTable;
+    private javax.swing.JPanel advancedSearchPane;
+    private javax.swing.JComboBox alarmLevelCombo;
+    private javax.swing.JLabel alarmLevelLabel;
+    private javax.swing.JComboBox alternateTacChannelCombo;
+    private javax.swing.JLabel alternateTacChannelLabel;
+    private javax.swing.JTextField apartmentLabelField;
+    private javax.swing.JLabel apartmentNumberLabel;
+    private javax.swing.JTextField baseResponseNumberField;
+    private javax.swing.JLabel baseResponseNumberLabel;
+    private javax.swing.JPanel basicSearchPane;
+    private javax.swing.JComboBox batallionCombo;
+    private javax.swing.JLabel batallionLabel;
+    private javax.swing.JTextField buildingNumberField;
+    private javax.swing.JLabel buildingNumberLabel;
+    private javax.swing.JTextField callBackPhoneField;
+    private javax.swing.JLabel callBackPhoneLabel;
+    private javax.swing.JPanel callBacksPane;
+    private javax.swing.JComboBox callTakenCombo;
+    private javax.swing.JLabel callTakenLabel;
+    private javax.swing.JTextField calledFromAddressField;
+    private javax.swing.JLabel calledFromAddressLabel;
+    private javax.swing.JTextField calledFromLocationField;
+    private javax.swing.JLabel calledFromLocationLabel;
+    private javax.swing.JTextField callerNameField;
+    private javax.swing.JLabel callerNameLabel;
+    private javax.swing.JComboBox callerTypeCombo;
+    private javax.swing.JLabel callerTypeLabel;
+    private javax.swing.JTextField caseNumberField;
+    private javax.swing.JLabel caseNumberLabel;
+    private javax.swing.JComboBox cityCombo;
+    private javax.swing.JLabel cityLabel;
+    private javax.swing.JComboBox commandChannelCombo;
+    private javax.swing.JLabel commandChannelLabel;
+    private javax.swing.JTextField crossStreetField;
+    private javax.swing.JLabel crossStreetLabel;
+    private javax.swing.JTable databaseTable;
+    private javax.swing.JComboBox divisionCombo;
+    private javax.swing.JLabel divisionLabel;
+    private javax.swing.JTextField emsField;
+    private javax.swing.JLabel emsLabel;
+    private javax.swing.JButton exitButton;
+    private javax.swing.JTextField fireField;
+    private javax.swing.JLabel fireLabel;
+    private javax.swing.JTextField incidentNumberField;
+    private javax.swing.JLabel incidentNumberLabel;
+    private javax.swing.JComboBox incidentTypeCombo;
+    private javax.swing.JLabel incidentTypeLabel;
+    private javax.swing.JButton jButton3;
+    private javax.swing.JButton jButton4;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JPanel jPanel3;
+    private javax.swing.JPanel jPanel4;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JScrollPane jScrollPane2;
+    private javax.swing.JTabbedPane jTabbedPane1;
+    private javax.swing.JTabbedPane jTabbedPane2;
+    private javax.swing.JComboBox jurisdictionCombo;
+    private javax.swing.JLabel jurisdictionLabel;
+    private javax.swing.JTextField lawField;
+    private javax.swing.JLabel lawLabel;
+    private javax.swing.JTextField mapCoordinatesField;
+    private javax.swing.JLabel mapCoordinatesLabel;
+    private javax.swing.JComboBox natureProblemCombo;
+    private javax.swing.JLabel natureProblemLabel;
+    private javax.swing.JTextField patientFirstNameField;
+    private javax.swing.JLabel patientFirstNameLabel;
+    private javax.swing.JTextField patientLastNameField;
+    private javax.swing.JLabel patientLastNameLabel;
+    private javax.swing.JComboBox primaryTacChannelCombo;
+    private javax.swing.JLabel primaryTacChannelLabel;
+    private javax.swing.JComboBox priorityCombo;
+    private javax.swing.JLabel priorityLabel;
+    private javax.swing.JComboBox responseAreaCombo;
+    private javax.swing.JLabel responseAreaLabel;
+    private javax.swing.JTextField responseLocationField;
+    private javax.swing.JLabel responseLocationLabel;
+    private javax.swing.JComboBox responsePlanCombo;
+    private javax.swing.JLabel responsePlanLabel;
+    private javax.swing.JTextField roomAptEtcField;
+    private javax.swing.JLabel roomAptEtcLabel;
+    private javax.swing.JTextField scheduledInfoAddressField;
+    private javax.swing.JLabel scheduledInfoAddressLabel;
+    private javax.swing.JTextField scheduledInfoPhoneField;
+    private javax.swing.JLabel scheduledInfoPhoneLabel;
+    private javax.swing.JTextField scheduledInfoZipCodeField;
+    private javax.swing.JLabel scheduledInfoZipCodeLabel;
+    private javax.swing.JButton searchButton;
+    private javax.swing.JComboBox sectorCombo;
+    private javax.swing.JLabel sectorLabel;
+    private javax.swing.JTextField sspSafetyServicesProgramField;
+    private javax.swing.JLabel sspSafetyServicesProgramLabel;
+    private javax.swing.JTextField stateField;
+    private javax.swing.JLabel stateLabel;
+    private javax.swing.JComboBox transportToCityCombo;
+    private javax.swing.JLabel transportToCityLabel;
+    private javax.swing.JTextField transportToLocationField;
+    private javax.swing.JLabel transportToLocationLabel;
+    private javax.swing.JTextField transportToStateField;
+    private javax.swing.JLabel transportToStateLabel;
+    private javax.swing.JTextField transportationAddressField;
+    private javax.swing.JLabel transportationAddressLabel;
+    private javax.swing.JTextField transportationLocationField;
+    private javax.swing.JLabel transportationLocationLabel;
+    private javax.swing.JPanel transportationPane;
+    private javax.swing.JComboBox unitCombo;
+    private javax.swing.JLabel unitLabel;
+    private javax.swing.JTextField userDataField17Field;
+    private javax.swing.JTextField userDataField18Field;
+    private javax.swing.JLabel userDataField18Label;
+    private javax.swing.JTextField userDataField19Field;
+    private javax.swing.JLabel userDataField19Label;
+    private javax.swing.JLabel userDateField17Label;
+    private javax.swing.JTextField zipCodeField;
+    private javax.swing.JLabel zipCodeLabel;
+    // End of variables declaration                   
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/VehicleInformationEntry.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/VehicleInformationEntry.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/VehicleInformationEntry.java	(revision 3)
@@ -0,0 +1,382 @@
+package tmcsim.client.cadclientgui.screens;
+
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ * CURRENTLY NOT IN USE.
+ * @author Stuart
+ */
+public class VehicleInformationEntry extends javax.swing.JFrame {
+
+    /**
+     * Creates new form VehicleInformationEntry
+     */
+    public VehicleInformationEntry() {
+        initComponents();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        incidentNumberLabel = new javax.swing.JLabel();
+        incidentNumberField = new javax.swing.JTextField();
+        involvementTypeLabel = new javax.swing.JLabel();
+        involvementTypeCombo = new javax.swing.JComboBox();
+        towedByLabel = new javax.swing.JLabel();
+        towedByField = new javax.swing.JTextField();
+        vehicleCharacteristicsPane = new javax.swing.JPanel();
+        makeYearLabel = new javax.swing.JLabel();
+        makeLabel = new javax.swing.JLabel();
+        modelLabel = new javax.swing.JLabel();
+        makeYearField = new javax.swing.JTextField();
+        makeCombo = new javax.swing.JComboBox();
+        modelField = new javax.swing.JTextField();
+        styleLabel = new javax.swing.JLabel();
+        color1Label = new javax.swing.JLabel();
+        color2Label = new javax.swing.JLabel();
+        styleField = new javax.swing.JTextField();
+        color1Field = new javax.swing.JTextField();
+        color2Field = new javax.swing.JTextField();
+        registrationInformationPane = new javax.swing.JPanel();
+        licensePlateNoLabel = new javax.swing.JLabel();
+        licensePlateStateLabel = new javax.swing.JLabel();
+        licensePlateYearLabel = new javax.swing.JLabel();
+        licensePlateTypeLabel = new javax.swing.JLabel();
+        vinLabel = new javax.swing.JLabel();
+        licensePlateNoField = new javax.swing.JTextField();
+        licensePlateStateCombo = new javax.swing.JComboBox();
+        licensePlateYearField = new javax.swing.JTextField();
+        licensePlateTypeCombo = new javax.swing.JComboBox();
+        vinField = new javax.swing.JTextField();
+        commentsField = new javax.swing.JTextField();
+        characteristicsField = new javax.swing.JTextField();
+        characteristicsLabel = new javax.swing.JLabel();
+        commentsLabel = new javax.swing.JLabel();
+        jButton1 = new javax.swing.JButton();
+        saveButton = new javax.swing.JButton();
+        cancelButton = new javax.swing.JButton();
+        
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+
+        incidentNumberLabel.setText("Incident No:");
+
+        incidentNumberField.setText("jTextField1");
+
+        involvementTypeLabel.setText("<html>\nInvolvement<br>Type:\n</html>");
+
+        involvementTypeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        towedByLabel.setText("Towed By:");
+
+        towedByField.setText("jTextField2");
+
+        makeYearLabel.setText("Make Year:");
+
+        makeLabel.setText("Make:");
+
+        modelLabel.setText("Model:");
+
+        makeYearField.setText("jTextField3");
+
+        makeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        modelField.setText("jTextField4");
+
+        styleLabel.setText("Style:");
+
+        color1Label.setText("Color 1:");
+
+        color2Label.setText("Color 2:");
+
+        styleField.setText("jTextField5");
+
+        color1Field.setText("jTextField6");
+
+        color2Field.setText("jTextField7");
+
+        javax.swing.GroupLayout vehicleCharacteristicsPaneLayout = new javax.swing.GroupLayout(vehicleCharacteristicsPane);
+        vehicleCharacteristicsPane.setLayout(vehicleCharacteristicsPaneLayout);
+        vehicleCharacteristicsPaneLayout.setHorizontalGroup(
+            vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(vehicleCharacteristicsPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(modelLabel)
+                    .addComponent(makeLabel)
+                    .addComponent(makeYearLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(makeYearField, javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE)
+                    .addComponent(makeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(modelField))
+                .addGap(18, 18, 18)
+                .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                        .addComponent(color1Label)
+                        .addComponent(color2Label))
+                    .addComponent(styleLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(styleField, javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE)
+                    .addComponent(color1Field)
+                    .addComponent(color2Field))
+                .addContainerGap())
+        );
+        vehicleCharacteristicsPaneLayout.setVerticalGroup(
+            vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(vehicleCharacteristicsPaneLayout.createSequentialGroup()
+                .addGap(22, 22, 22)
+                .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(makeYearLabel)
+                    .addComponent(makeYearField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(styleLabel)
+                    .addComponent(styleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(makeLabel)
+                    .addComponent(makeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(color1Label)
+                    .addComponent(color1Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(vehicleCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(modelLabel)
+                    .addComponent(modelField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(color2Label)
+                    .addComponent(color2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        licensePlateNoLabel.setText("License Plate No:");
+
+        licensePlateStateLabel.setText("License Plate State:");
+
+        licensePlateYearLabel.setText("License Plate Year:");
+
+        licensePlateTypeLabel.setText("License PLate Type:");
+
+        vinLabel.setText("VIN:");
+
+        licensePlateNoField.setText("jTextField8");
+
+        licensePlateStateCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        licensePlateYearField.setText("jTextField9");
+
+        licensePlateTypeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        vinField.setText("jTextField10");
+
+        javax.swing.GroupLayout registrationInformationPaneLayout = new javax.swing.GroupLayout(registrationInformationPane);
+        registrationInformationPane.setLayout(registrationInformationPaneLayout);
+        registrationInformationPaneLayout.setHorizontalGroup(
+            registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(registrationInformationPaneLayout.createSequentialGroup()
+                .addGap(35, 35, 35)
+                .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(vinLabel)
+                    .addComponent(licensePlateTypeLabel)
+                    .addComponent(licensePlateYearLabel)
+                    .addComponent(licensePlateStateLabel)
+                    .addComponent(licensePlateNoLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                        .addComponent(licensePlateStateCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(licensePlateNoField, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
+                        .addComponent(licensePlateYearField)
+                        .addComponent(licensePlateTypeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addComponent(vinField, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        registrationInformationPaneLayout.setVerticalGroup(
+            registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(registrationInformationPaneLayout.createSequentialGroup()
+                .addGap(20, 20, 20)
+                .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(licensePlateNoLabel)
+                    .addComponent(licensePlateNoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(licensePlateStateLabel)
+                    .addComponent(licensePlateStateCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(licensePlateYearLabel)
+                    .addComponent(licensePlateYearField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(licensePlateTypeLabel)
+                    .addComponent(licensePlateTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(registrationInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(vinLabel)
+                    .addComponent(vinField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        commentsField.setText("jTextField11");
+
+        characteristicsField.setText("jTextField12");
+
+        characteristicsLabel.setText("Characteristics:");
+
+        commentsLabel.setText("Comments:");
+
+        jButton1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
+        jButton1.setText("<html>\nSave with Records<br>Check\n</html>");
+        jButton1.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        saveButton.setText("Save");
+
+        cancelButton.setText("Cancel");
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGap(32, 32, 32)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(involvementTypeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(incidentNumberLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(involvementTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(57, 57, 57)
+                        .addComponent(towedByLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(towedByField, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(0, 0, Short.MAX_VALUE))
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(vehicleCharacteristicsPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(registrationInformationPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addGap(21, 21, 21)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(characteristicsField, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(characteristicsLabel)
+                                .addGap(0, 0, Short.MAX_VALUE)))
+                        .addGap(18, 18, 18)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(commentsLabel)
+                            .addComponent(commentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 380, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(incidentNumberLabel)
+                    .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(involvementTypeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(11, 11, 11)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(involvementTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(towedByLabel)
+                            .addComponent(towedByField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(vehicleCharacteristicsPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(registrationInformationPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(commentsLabel)
+                    .addComponent(characteristicsLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(characteristicsField)
+                    .addComponent(commentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(18, 18, 18)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                        .addComponent(saveButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton cancelButton;
+    private javax.swing.JTextField characteristicsField;
+    private javax.swing.JLabel characteristicsLabel;
+    private javax.swing.JTextField color1Field;
+    private javax.swing.JLabel color1Label;
+    private javax.swing.JTextField color2Field;
+    private javax.swing.JLabel color2Label;
+    private javax.swing.JTextField commentsField;
+    private javax.swing.JLabel commentsLabel;
+    private javax.swing.JTextField incidentNumberField;
+    private javax.swing.JLabel incidentNumberLabel;
+    private javax.swing.JComboBox involvementTypeCombo;
+    private javax.swing.JLabel involvementTypeLabel;
+    private javax.swing.JButton jButton1;
+    private javax.swing.JTextField licensePlateNoField;
+    private javax.swing.JLabel licensePlateNoLabel;
+    private javax.swing.JComboBox licensePlateStateCombo;
+    private javax.swing.JLabel licensePlateStateLabel;
+    private javax.swing.JComboBox licensePlateTypeCombo;
+    private javax.swing.JLabel licensePlateTypeLabel;
+    private javax.swing.JTextField licensePlateYearField;
+    private javax.swing.JLabel licensePlateYearLabel;
+    private javax.swing.JComboBox makeCombo;
+    private javax.swing.JLabel makeLabel;
+    private javax.swing.JTextField makeYearField;
+    private javax.swing.JLabel makeYearLabel;
+    private javax.swing.JTextField modelField;
+    private javax.swing.JLabel modelLabel;
+    private javax.swing.JPanel registrationInformationPane;
+    private javax.swing.JButton saveButton;
+    private javax.swing.JTextField styleField;
+    private javax.swing.JLabel styleLabel;
+    private javax.swing.JTextField towedByField;
+    private javax.swing.JLabel towedByLabel;
+    private javax.swing.JPanel vehicleCharacteristicsPane;
+    private javax.swing.JTextField vinField;
+    private javax.swing.JLabel vinLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/Login.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/Login.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/Login.java	(revision 3)
@@ -0,0 +1,172 @@
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.SwingConstants;
+
+
+/**
+ * This class contains the view and controller for the Login screen. The view was not built using a GUI builder plug-in
+ * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 
+ * 
+ * @author Vincent
+ */
+
+public class Login extends JFrame {
+
+    private Box login;
+    private JTextField userNameField;
+    private JTextField passwordField;
+
+    public Login() {
+        initView();
+    }
+    
+    private ActionListener newEnterActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                setVisible(false);
+                ScreenManager.setUserName(userNameField.getText());
+                ScreenManager.openCADMenu();
+                ScreenManager.openAssignedIncidents();
+                ScreenManager.openUnitStatus();
+                ScreenManager.openPendingIncidents();
+                ScreenManager.openPowerlineUI();
+                if (!passwordField.getText().equals("Dispatcher")) {
+                    ScreenManager.setDispatcherAuthority(false);
+                }
+            }
+        };
+    }
+    
+    private ActionListener newExitActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                System.exit(0);
+            }
+        };
+    }
+    
+    private void initView(){
+        login = new Box(BoxLayout.Y_AXIS);
+        login.setAlignmentX(LEFT_ALIGNMENT);
+        JPanel whiteBackground = new JPanel();
+        whiteBackground.setAlignmentX(LEFT_ALIGNMENT);
+        whiteBackground.setBackground(Color.WHITE);
+        whiteBackground.setMaximumSize(new Dimension(750, 150));
+        whiteBackground.setMinimumSize(new Dimension(750, 150));
+        whiteBackground.setPreferredSize(new Dimension(750, 150));
+        login.add(whiteBackground);
+
+        JPanel blueBackground = new JPanel();
+        blueBackground.setAlignmentX(LEFT_ALIGNMENT);
+        blueBackground.setBackground(new Color(50, 150, 200));
+        blueBackground.setMaximumSize(new Dimension(750, 350));
+        blueBackground.setMinimumSize(new Dimension(750, 350));
+        blueBackground.setPreferredSize(new Dimension(750, 350));
+
+        JLabel title = new JLabel();
+        title.setText("Inform CAD 5.3 Patch 5");
+        title.setHorizontalAlignment(SwingConstants.CENTER);
+        title.setFont(new Font("Arial", Font.PLAIN, 22));
+        title.setForeground(Color.WHITE);
+        title.setMaximumSize(new Dimension(750, 100));
+        title.setMinimumSize(new Dimension(750, 100));
+        title.setPreferredSize(new Dimension(750, 100));
+        blueBackground.add(title);
+
+        Box leftBox = new Box(BoxLayout.Y_AXIS);
+        leftBox.setMaximumSize(new Dimension(350, 50));
+        leftBox.setMinimumSize(new Dimension(350, 50));
+        leftBox.setPreferredSize(new Dimension(350, 50));
+        leftBox.setAlignmentX(LEFT_ALIGNMENT);
+
+        JLabel userNameLabel = new JLabel("User name ");
+        userNameLabel.setForeground(Color.WHITE);
+        userNameField = new JTextField("Enter your name");
+        Box userNameBox = new Box(BoxLayout.X_AXIS);
+        userNameBox.setAlignmentX(LEFT_ALIGNMENT);
+        userNameBox.add(Box.createHorizontalStrut(10));
+        userNameBox.add(userNameLabel);
+        userNameBox.add(userNameField);
+        leftBox.add(userNameBox);
+
+        JLabel passwordLabel = new JLabel("Password  ");
+        passwordLabel.setForeground(Color.WHITE);
+        passwordField = new JTextField("Does not matter");
+        Box passwordBox = new Box(BoxLayout.X_AXIS);
+        passwordBox.setAlignmentX(LEFT_ALIGNMENT);
+        passwordBox.add(Box.createHorizontalStrut(10));
+        passwordBox.add(passwordLabel);
+        passwordBox.add(passwordField);
+        leftBox.add(Box.createVerticalStrut(10));
+        leftBox.add(passwordBox);
+
+        JButton enter = new JButton("Login");
+        enter.addActionListener(newEnterActionListener());
+        JButton newPassword = new JButton("New Password");
+        newPassword.setEnabled(false);
+        JButton exit = new JButton("Exit");
+        exit.addActionListener(newExitActionListener());
+        JButton selectAll = new JButton("Select All");
+        selectAll.setEnabled(false);
+        JButton unselectAll = new JButton("Unselect all");
+        unselectAll.setEnabled(false);
+        Box buttonBox = new Box(BoxLayout.X_AXIS);
+        buttonBox.setAlignmentX(LEFT_ALIGNMENT);
+        buttonBox.add(Box.createHorizontalStrut(75));
+        buttonBox.add(enter);
+        buttonBox.add(Box.createHorizontalStrut(20));
+        buttonBox.add(newPassword);
+        buttonBox.add(Box.createHorizontalStrut(20));
+        buttonBox.add(exit);
+        buttonBox.add(Box.createHorizontalStrut(125));
+        buttonBox.add(selectAll);
+        buttonBox.add(Box.createHorizontalStrut(10));
+        buttonBox.add(unselectAll);
+
+        Box rightBox = new Box(BoxLayout.Y_AXIS);
+        rightBox.setAlignmentX(LEFT_ALIGNMENT);
+        rightBox.setMaximumSize(new Dimension(250, 90));
+        rightBox.setMinimumSize(new Dimension(250, 90));
+        rightBox.setPreferredSize(new Dimension(250, 90));
+        JLabel position = new JLabel("Positions:");
+        position.setPreferredSize(new Dimension(250, 20));
+        position.setMaximumSize(new Dimension(250, 20));
+        position.setMinimumSize(new Dimension(250, 20));
+        position.setBackground(Color.BLACK);
+        position.setHorizontalAlignment(SwingConstants.LEFT);
+        position.setForeground(Color.WHITE);
+        rightBox.add(position);
+        JPanel list = new JPanel();
+        rightBox.add(list);
+
+        Box centerBox = new Box(BoxLayout.X_AXIS);
+        centerBox.setAlignmentX(LEFT_ALIGNMENT);
+        centerBox.add(leftBox);
+        centerBox.add(Box.createHorizontalStrut(75));
+        centerBox.add(rightBox);
+        blueBackground.add(centerBox);
+        blueBackground.add(Box.createVerticalStrut(125));
+        blueBackground.add(buttonBox);
+        login.add(blueBackground);
+
+        getContentPane().add(login);
+        setUndecorated(true);
+        pack();
+        setLocationRelativeTo(null);
+        setDefaultCloseOperation(EXIT_ON_CLOSE);
+        setVisible(true);
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/Cardfile.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/Cardfile.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/Cardfile.java	(revision 3)
@@ -0,0 +1,1984 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.rmi.RemoteException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.LinkedList;
+import java.awt.List;
+
+import javax.swing.JOptionPane;
+import javax.swing.JScrollPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.DefaultTableModel;
+
+import tmcsim.client.cadclientgui.data.CardfileDataObject;
+import tmcsim.client.cadclientgui.data.CardfileList;
+import tmcsim.client.cadclientgui.data.ChangeLog;
+import tmcsim.client.cadclientgui.enums.CADDataEnums.EditCommand;
+import tmcsim.client.cadclientgui.enums.CADDataEnums.CARDFILE;
+
+/**
+ * This class contains the view and controller for the Cardfile screen. The view is built using a GUI builder plug-in, and the controller 
+ * uses listeners to control how the view and data act. Upon closing this screen, it will ask if the user would like to save the changes
+ * made. This requires a local copy of the data for the user to operate on, and only if the user commits to the changes do the change logs
+ * make their way back to the database.
+ * 
+ * @author Stuart
+ */
+public class Cardfile extends javax.swing.JFrame {
+
+    private boolean saveFields;
+
+    // local copies of the cardfile data
+    private CardfileList coastalDivisionUnitsList;
+    private CardfileList policeSheriffCoronerList;
+    private CardfileList courtsList;
+    private CardfileList publicTransportationList;
+    private CardfileList ggOtherList;
+    private CardfileList myMiscList;
+    private CardfileList slMiscList;
+    private CardfileList vtMiscList;
+    private CardfileList chpOfficesList;
+    private CardfileList stateAgenciesFacilitiesList;
+    private CardfileList governmentOfficialsList;
+    private CardfileList federalAgenciesList;
+    private CardfileList ranchesLivestockList;
+    private CardfileList fireEmsList;
+    private CardfileList jailsList;
+    private CardfileList hospitalsMedCentersList;
+    private CardfileList towCompaniesList;
+    private CardfileList calTransList;
+    private CardfileList countyRoadsList;
+    private CardfileList utilitiesList;
+    private CardfileList animalControlList;
+    private CardfileList airportsList;
+    private CardfileList creditCardsList;
+    private CardfileList ggCrisisSheltersList;
+    private CardfileList rangesList;
+    private CardfileList hotlinesList;
+    private CardfileList hwyPatrolsOosList;
+    private CardfileList parksRecreationList;
+    private CardfileList sheltersList;
+    private CardfileList slCountyServicesList;
+    private CardfileList slResourcesList;
+    private CardfileList truckTireRepairList;
+    private CardfileList mccEmployeesList;
+    private CardfileList gateAccessCodesList;
+    private CardfileList vtCallSignsList;
+    private CardfileList slccEmployeesList;
+
+    private boolean changesMade = false;
+
+    // list of change logs to be sent over to the server data if user chooses to
+    // save changes upon close
+    private LinkedList<ChangeLog> cardfileObjectEdits = new LinkedList<ChangeLog>();
+    private LinkedList<ChangeLog> cardfileObjectDeletes = new LinkedList<ChangeLog>();
+    private LinkedList<ChangeLog> cardfileObjectAdds = new LinkedList<ChangeLog>();
+    private LinkedList<ChangeLog> tableDeletes = new LinkedList<ChangeLog>();
+    private LinkedList<ChangeLog> tableAdds = new LinkedList<ChangeLog>();
+
+    // variables to keep track of current status of cardfile
+    CardfileList selectedList;
+    CardfileDataObject currObject;
+    private int currId;
+    private String currName;
+    private String currAddress;
+    private String currCity;
+    private String currState;
+    private String currZip;
+    private String currPhone1;
+    private String currPhone2;
+    private String currFax;
+
+    // listener for lists
+    private MouseListener mouseListener;
+
+    /**
+     * Creates new form Cardfile
+     */
+    public Cardfile() {
+        declareComponents();
+        initControllers();
+        initView();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed"
+    // desc="Generated Code">//GEN-BEGIN:initComponents
+    private void declareComponents() {
+
+        cardfileTabs = new javax.swing.JTabbedPane();
+        coastalDivisionUnitsPane = new javax.swing.JPanel();
+        policeSheriffCoronerPane = new javax.swing.JPanel();
+        courtsPane = new javax.swing.JPanel();
+        publicTransportationPane = new javax.swing.JPanel();
+        ggOtherPane = new javax.swing.JPanel();
+        myMiscPane = new javax.swing.JPanel();
+        slMiscPane = new javax.swing.JPanel();
+        vtMiscPane = new javax.swing.JPanel();
+        chpOfficesPane = new javax.swing.JPanel();
+        stateAgenciesFacilitiesPane = new javax.swing.JPanel();
+        governmentOfficialsPane = new javax.swing.JPanel();
+        federalAgenciesPane = new javax.swing.JPanel();
+        ranchesLivestockPane = new javax.swing.JPanel();
+        fireEmsPane = new javax.swing.JPanel();
+        jailsPane = new javax.swing.JPanel();
+        hospitalsMedCentersPane = new javax.swing.JPanel();
+        towCompaniesPane = new javax.swing.JPanel();
+        calTransPane = new javax.swing.JPanel();
+        countyRoadsPane = new javax.swing.JPanel();
+        utilitiesPane = new javax.swing.JPanel();
+        animalControlPane = new javax.swing.JPanel();
+        airportsPane = new javax.swing.JPanel();
+        creditCardsPane = new javax.swing.JPanel();
+        ggCrisisSheltersPane = new javax.swing.JPanel();
+        rangesPane = new javax.swing.JPanel();
+        hotlinesPane = new javax.swing.JPanel();
+        hwyPatrolsOosPane = new javax.swing.JPanel();
+        parksRecreationPane = new javax.swing.JPanel();
+        sheltersPane = new javax.swing.JPanel();
+        slCountyServicesPane = new javax.swing.JPanel();
+        slResourcesPane = new javax.swing.JPanel();
+        truckTireRepairPane = new javax.swing.JPanel();
+        mccEmployeesPane = new javax.swing.JPanel();
+        gateAccessCodesPane = new javax.swing.JPanel();
+        vtCallSignsPane = new javax.swing.JPanel();
+        slccEmployeesPane = new javax.swing.JPanel();
+        nameLabel = new javax.swing.JLabel();
+        nameField = new javax.swing.JTextField();
+        addressField = new javax.swing.JTextField();
+        addressLabel = new javax.swing.JLabel();
+        cityLabel = new javax.swing.JLabel();
+        cityField = new javax.swing.JTextField();
+        stateField = new javax.swing.JTextField(3);
+        stateLabel = new javax.swing.JLabel();
+        zipLabel = new javax.swing.JLabel();
+        zipField = new javax.swing.JTextField();
+        phone1Field = new javax.swing.JTextField();
+        phone1Label = new javax.swing.JLabel();
+        phone2Field = new javax.swing.JTextField();
+        phone2Label = new javax.swing.JLabel();
+        faxField = new javax.swing.JTextField();
+        faxLabel = new javax.swing.JLabel();
+        commentsLabel = new javax.swing.JLabel();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        commentsTable = new javax.swing.JTable();
+        jScrollPane2 = new javax.swing.JScrollPane();
+        commentsField = new javax.swing.JTextPane();
+        addCommentButton = new javax.swing.JButton();
+        cancelCommentButton = new javax.swing.JButton();
+        saveCommentButton = new javax.swing.JButton();
+        deleteCommentButton = new javax.swing.JButton();
+        exitButton = new javax.swing.JButton();
+        printButton = new javax.swing.JButton();
+        saveButton = new javax.swing.JButton();
+        cancelButton = new javax.swing.JButton();
+        deleteButton = new javax.swing.JButton();
+        addButton = new javax.swing.JButton();
+    }
+
+    private ChangeListener newChangeListener() {
+        return new ChangeListener() {
+            public void stateChanged(ChangeEvent e) {
+                if (cardfileTabs.getTitleAt(cardfileTabs.getSelectedIndex()) == CARDFILE.COASTAL_DIVISION_UNITS.tag) {
+                    selectedList = coastalDivisionUnitsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.POLICE_SHERIFF_CORONER.tag) {
+                    selectedList = policeSheriffCoronerList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.COURTS.tag) {
+                    selectedList = courtsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.PUBLIC_TRANSPORTATION.tag) {
+                    selectedList = publicTransportationList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.GG_OTHER.tag) {
+                    selectedList = ggOtherList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.MY_MISC.tag) {
+                    selectedList = myMiscList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.SL_MISC.tag) {
+                    selectedList = slMiscList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.VT_MISC.tag) {
+                    selectedList = vtMiscList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.CHP_OFFICES.tag) {
+                    selectedList = chpOfficesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.STATE_AGENCIES_FACILITIES.tag) {
+                    selectedList = stateAgenciesFacilitiesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.GOVERNMENT_OFFICIALS.tag) {
+                    selectedList = governmentOfficialsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.FEDERAL_AGENCIES.tag) {
+                    selectedList = federalAgenciesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.RANCHES_LIVESTOCK.tag) {
+                    selectedList = ranchesLivestockList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.FIRE_EMS.tag) {
+                    selectedList = fireEmsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.JAILS.tag) {
+                    selectedList = jailsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.HOSPITALS_MED_CENTERS.tag) {
+                    selectedList = hospitalsMedCentersList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.TOW_COMPANIES.tag) {
+                    selectedList = towCompaniesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.CALTRANS.tag) {
+                    selectedList = calTransList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.COUNTY_ROADS.tag) {
+                    selectedList = countyRoadsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.UTILITIES.tag) {
+                    selectedList = utilitiesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.ANIMAL_CONTROL.tag) {
+                    selectedList = animalControlList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.AIRPORTS.tag) {
+                    selectedList = airportsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.CREDIT_CARDS.tag) {
+                    selectedList = creditCardsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.GG_CRISIS_SHELTERS.tag) {
+                    selectedList = ggCrisisSheltersList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.RANGES.tag) {
+                    selectedList = rangesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.HOTLINES.tag) {
+                    selectedList = hotlinesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.HWY_PATROLS_OOS.tag) {
+                    selectedList = hwyPatrolsOosList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.PARKS_RECREATION.tag) {
+                    selectedList = parksRecreationList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.SHELTERS.tag) {
+                    selectedList = sheltersList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.SL_COUNTY_SERVICES.tag) {
+                    selectedList = slCountyServicesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.SL_RESOURCES.tag) {
+                    selectedList = slResourcesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.TRUCK_TIRE_REPAIR.tag) {
+                    selectedList = truckTireRepairList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.MCC_EMPLOYEES.tag) {
+                    selectedList = mccEmployeesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.GATE_ACCESS_CODES.tag) {
+                    selectedList = gateAccessCodesList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.VT_CALL_SIGNS.tag) {
+                    selectedList = vtCallSignsList;
+                } else if (cardfileTabs.getTitleAt(cardfileTabs
+                        .getSelectedIndex()) == CARDFILE.SLCC_EMPLOYEES.tag) {
+                    selectedList = slccEmployeesList;
+                }
+            }
+        };
+    }
+
+    private WindowAdapter newWindowListener(){
+        return new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                close();
+            }
+        };
+    }
+    
+    private void initMouseListener(){
+        mouseListener = new MouseListener() {
+            public void mouseClicked(MouseEvent arg0) {
+                saveInformation();
+                refreshInformation();
+            }
+
+            public void mouseEntered(MouseEvent arg0) {
+            }
+
+            public void mouseExited(MouseEvent arg0) {
+            }
+
+            public void mousePressed(MouseEvent arg0) {
+                saveInformation();
+                refreshInformation();
+            }
+
+            public void mouseReleased(MouseEvent arg0) {
+            }
+        };
+    }
+    
+    private ListSelectionListener newCommentsListSelectionListener(){
+        return new ListSelectionListener() {
+            public void valueChanged(ListSelectionEvent arg0) {
+                if (commentsTable.getSelectedRow() >= 0) {
+                    cancelCommentButton.setEnabled(true);
+                    deleteCommentButton.setEnabled(true);
+                }
+            }
+        };
+    }
+    
+    private DocumentListener newCommentsDocumentListener(){
+        return new DocumentListener(){
+            public void changedUpdate(DocumentEvent e) {
+            }
+    
+            public void insertUpdate(DocumentEvent e) {
+                saveCommentButton.setEnabled(true);
+            }
+    
+            public void removeUpdate(DocumentEvent e) {
+            }
+        };
+    }
+    
+    private ActionListener newCommentsAddActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                commentsTable.clearSelection();
+                addCommentButton.setEnabled(false);
+                deleteCommentButton.setEnabled(false);
+                cancelCommentButton.setEnabled(true);
+                commentsField.setEditable(true);
+                commentsField.requestFocus();
+            }
+        };
+    }
+    
+    private ActionListener newCommentsCancelActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                addCommentButton.setEnabled(true);
+                cancelCommentButton.setEnabled(false);
+                deleteCommentButton.setEnabled(false);
+                saveCommentButton.setEnabled(false);
+                commentsTable.clearSelection();
+                commentsField.setText("");
+                commentsField.setEditable(false);
+            }
+        };
+    }
+    
+    private ActionListener newCommentsSaveActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
+                DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+                String[] tableFields = { dateFormat.format(new Date()),
+                        timeFormat.format(new Date()), "",
+                        commentsField.getText() };
+                currObject.addComment(tableFields);
+                ((DefaultTableModel) commentsTable.getModel())
+                        .addRow(tableFields);
+                changesMade = true;
+                tableAdds.add(new ChangeLog(EditCommand.TABLE_ADD, cardfileTabs
+                        .getTitleAt(cardfileTabs.getSelectedIndex()), currId,
+                        tableFields));
+                addCommentButton.setEnabled(true);
+                cancelCommentButton.setEnabled(false);
+                saveCommentButton.setEnabled(false);
+                commentsField.setText("");
+                commentsField.setEditable(false);
+            }
+        };
+    }
+    
+    private ActionListener newCommentsDeleteActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                changesMade = true;
+                tableDeletes.add(new ChangeLog(
+                        EditCommand.TABLE_DELETE,
+                        cardfileTabs.getTitleAt(cardfileTabs.getSelectedIndex()),
+                        (String) commentsTable.getValueAt(
+                                commentsTable.getSelectedRow(), 1), currId));
+                ((DefaultTableModel) commentsTable.getModel())
+                        .removeRow(commentsTable.getSelectedRow());
+                deleteCommentButton.setEnabled(false);
+            }
+        };
+    }
+    
+    private ActionListener newExitActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                close();
+            }
+        };
+    }
+    
+    private ActionListener newSaveActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                changesMade = true;
+                saveFields = false;
+                addButton.setEnabled(true);
+                cancelButton.setEnabled(false);
+                saveButton.setEnabled(false);
+                CardfileDataObject cfdo = null;
+                try {
+                    cfdo = new CardfileDataObject(cardfileTabs
+                            .getTitleAt(cardfileTabs.getSelectedIndex()),
+                            nameField.getText(), ScreenManager.theCoordinator
+                                    .obtainNewUniqueId());
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                cfdo.setAddress(addressField.getText());
+                cfdo.setCity(cityField.getText());
+                cfdo.setState(stateField.getText());
+                cfdo.setZip(zipField.getText());
+                cfdo.setPhone1(phone1Field.getText());
+                cfdo.setPhone2(phone2Field.getText());
+                cfdo.setFax(faxField.getText());
+                selectedList.select(selectedList.addDataObject(cfdo));
+                cardfileObjectAdds.add(new ChangeLog(
+                        EditCommand.OBJECT_ADD,
+                        cardfileTabs.getTitleAt(cardfileTabs.getSelectedIndex()),
+                        cfdo));
+                saveInformation();
+                refreshInformation();
+            }
+        };
+    }
+    
+    private ActionListener newCancelActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                selectedList.deselect(selectedList.getSelectedIndex());
+                saveFields = false;
+                addButton.setEnabled(true);
+                addCommentButton.setEnabled(false);
+                cancelButton.setEnabled(false);
+                deleteButton.setEnabled(false);
+                saveButton.setEnabled(false);
+                nameField.setText("");
+                nameField.requestFocus();
+                addressField.setText("");
+                cityField.setText("");
+                stateField.setText("");
+                zipField.setText("");
+                phone1Field.setText("");
+                phone2Field.setText("");
+                faxField.setText("");
+            }
+        };
+    }
+    
+    private ActionListener newDeleteActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                changesMade = true;
+                saveFields = false;
+                deleteButton.setEnabled(false);
+                cancelButton.setEnabled(false);
+                addCommentButton.setEnabled(false);
+                nameField.setText("");
+                nameField.requestFocus();
+                addressField.setText("");
+                cityField.setText("");
+                stateField.setText("");
+                zipField.setText("");
+                phone1Field.setText("");
+                phone2Field.setText("");
+                faxField.setText("");
+                int index = selectedList.getSelectedIndex();
+                cardfileObjectAdds.add(new ChangeLog(
+                        EditCommand.OBJECT_DELETE,
+                        cardfileTabs.getTitleAt(cardfileTabs.getSelectedIndex()),
+                        selectedList.getCFDO(index).getId()));
+                selectedList.removeDataObject(selectedList.getSelectedIndex());
+            }
+        };
+    }
+    
+    private ActionListener newAddActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                selectedList.deselect(selectedList.getSelectedIndex());
+                addCommentButton.setEnabled(false);
+                addButton.setEnabled(false);
+                deleteButton.setEnabled(false);
+                cancelButton.setEnabled(true);
+                saveButton.setEnabled(true);
+                nameField.setText("");
+                nameField.requestFocus();
+                addressField.setText("");
+                cityField.setText("");
+                stateField.setText("");
+                zipField.setText("");
+                phone1Field.setText("");
+                phone2Field.setText("");
+                faxField.setText("");
+            }
+        };
+    }
+    
+    private void initControllers() {
+        cardfileTabs.addChangeListener(newChangeListener());
+        addWindowListener(newWindowListener());
+        initMouseListener();
+        
+        commentsTable.getSelectionModel().addListSelectionListener(newCommentsListSelectionListener());
+        commentsField.getDocument().addDocumentListener(newCommentsDocumentListener());
+
+        addCommentButton.addActionListener(newCommentsAddActionListener());
+        cancelCommentButton.addActionListener(newCommentsCancelActionListener());
+        saveCommentButton.addActionListener(newCommentsSaveActionListener());
+        deleteCommentButton.addActionListener(newCommentsDeleteActionListener());
+        
+        exitButton.addActionListener(newExitActionListener());
+        saveButton.addActionListener(newSaveActionListener());
+        cancelButton.addActionListener(newCancelActionListener());
+        deleteButton.addActionListener(newDeleteActionListener());
+        addButton.addActionListener(newAddActionListener());
+    }
+
+    private void initView() {
+        setTitle("Cardfile");
+
+        nameLabel.setText("Name:");
+
+        addressLabel.setText("Address:");
+
+        cityLabel.setText("City:");
+
+        stateLabel.setText("State:");
+
+        zipLabel.setText("Zip:");
+
+        phone1Label.setText("Phone #1:");
+
+        phone2Label.setText("Phone #2:");
+
+        faxLabel.setText("Fax Number:");
+
+        commentsLabel.setText("Comments");
+        
+        javax.swing.GroupLayout coastalDivisionUnitsPaneLayout = new javax.swing.GroupLayout(
+                coastalDivisionUnitsPane);
+        coastalDivisionUnitsPaneLayout
+                .setHorizontalGroup(coastalDivisionUnitsPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        coastalDivisionUnitsPaneLayout
+                .setVerticalGroup(coastalDivisionUnitsPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 317, Short.MAX_VALUE));
+
+
+        commentsTable.setModel(new DefaultTableModel() {
+            public boolean isCellEditable(int row, int column) {
+                return false;
+            }
+        });
+        ((DefaultTableModel) commentsTable.getModel())
+                .setColumnIdentifiers(new String[] { "Date", "Time",
+                        "Initials", "Comments" });
+        
+        jScrollPane1.setViewportView(commentsTable);
+        jScrollPane2.setViewportView(commentsField);
+        commentsField.setEditable(false);
+        
+        addCommentButton.setText("Add");
+        cancelCommentButton.setText("Cancel");
+        saveCommentButton.setText("Save");
+        deleteCommentButton.setText("Delete");
+        exitButton.setText("Exit");
+        printButton.setText("Print");
+        printButton.setEnabled(false);
+        saveButton.setText("Save");
+        cancelButton.setText("Cancel");
+        deleteButton.setText("Delete");
+        addButton.setText("Add");
+        
+        cardfileTabs.addTab(CARDFILE.COASTAL_DIVISION_UNITS.tag,
+                coastalDivisionUnitsPane);
+
+        javax.swing.GroupLayout policeSheriffCoronerPaneLayout = new javax.swing.GroupLayout(
+                policeSheriffCoronerPane);
+        policeSheriffCoronerPaneLayout
+                .setHorizontalGroup(policeSheriffCoronerPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        policeSheriffCoronerPaneLayout
+                .setVerticalGroup(policeSheriffCoronerPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.POLICE_SHERIFF_CORONER.tag,
+                policeSheriffCoronerPane);
+
+        javax.swing.GroupLayout courtsPaneLayout = new javax.swing.GroupLayout(
+                courtsPane);
+        courtsPaneLayout.setHorizontalGroup(courtsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        courtsPaneLayout.setVerticalGroup(courtsPaneLayout.createParallelGroup(
+                javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 317,
+                Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.COURTS.tag, courtsPane);
+
+        javax.swing.GroupLayout publicTransportationPaneLayout = new javax.swing.GroupLayout(
+                publicTransportationPane);
+        publicTransportationPaneLayout
+                .setHorizontalGroup(publicTransportationPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        publicTransportationPaneLayout
+                .setVerticalGroup(publicTransportationPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.PUBLIC_TRANSPORTATION.tag,
+                publicTransportationPane);
+
+        javax.swing.GroupLayout ggOtherPaneLayout = new javax.swing.GroupLayout(
+                ggOtherPane);
+        ggOtherPaneLayout.setHorizontalGroup(ggOtherPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        ggOtherPaneLayout.setVerticalGroup(ggOtherPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.GG_OTHER.tag, ggOtherPane);
+
+        javax.swing.GroupLayout myMiscPaneLayout = new javax.swing.GroupLayout(
+                myMiscPane);
+        myMiscPaneLayout.setHorizontalGroup(myMiscPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        myMiscPaneLayout.setVerticalGroup(myMiscPaneLayout.createParallelGroup(
+                javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 317,
+                Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.MY_MISC.tag, myMiscPane);
+
+        javax.swing.GroupLayout slMiscPaneLayout = new javax.swing.GroupLayout(
+                slMiscPane);
+        slMiscPaneLayout.setHorizontalGroup(slMiscPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        slMiscPaneLayout.setVerticalGroup(slMiscPaneLayout.createParallelGroup(
+                javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 317,
+                Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.SL_MISC.tag, slMiscPane);
+
+        javax.swing.GroupLayout vtMiscPaneLayout = new javax.swing.GroupLayout(
+                vtMiscPane);
+        vtMiscPaneLayout.setHorizontalGroup(vtMiscPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        vtMiscPaneLayout.setVerticalGroup(vtMiscPaneLayout.createParallelGroup(
+                javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 317,
+                Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.VT_MISC.tag, vtMiscPane);
+
+        javax.swing.GroupLayout chpOfficesPaneLayout = new javax.swing.GroupLayout(
+                chpOfficesPane);
+        chpOfficesPaneLayout.setHorizontalGroup(chpOfficesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        chpOfficesPaneLayout.setVerticalGroup(chpOfficesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.CHP_OFFICES.tag, chpOfficesPane);
+
+        javax.swing.GroupLayout stateAgenciesFacilitiesPaneLayout = new javax.swing.GroupLayout(
+                stateAgenciesFacilitiesPane);
+        stateAgenciesFacilitiesPaneLayout
+                .setHorizontalGroup(stateAgenciesFacilitiesPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        stateAgenciesFacilitiesPaneLayout
+                .setVerticalGroup(stateAgenciesFacilitiesPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.STATE_AGENCIES_FACILITIES.tag,
+                stateAgenciesFacilitiesPane);
+
+        javax.swing.GroupLayout governmentOfficialsPaneLayout = new javax.swing.GroupLayout(
+                governmentOfficialsPane);
+        governmentOfficialsPaneLayout
+                .setHorizontalGroup(governmentOfficialsPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        governmentOfficialsPaneLayout
+                .setVerticalGroup(governmentOfficialsPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.GOVERNMENT_OFFICIALS.tag,
+                governmentOfficialsPane);
+
+        javax.swing.GroupLayout federalAgenciesPaneLayout = new javax.swing.GroupLayout(
+                federalAgenciesPane);
+        federalAgenciesPaneLayout.setHorizontalGroup(federalAgenciesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        federalAgenciesPaneLayout.setVerticalGroup(federalAgenciesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.FEDERAL_AGENCIES.tag, federalAgenciesPane);
+
+        javax.swing.GroupLayout ranchesLivestockPaneLayout = new javax.swing.GroupLayout(
+                ranchesLivestockPane);
+        ranchesLivestockPaneLayout
+                .setHorizontalGroup(ranchesLivestockPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        ranchesLivestockPaneLayout.setVerticalGroup(ranchesLivestockPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.RANCHES_LIVESTOCK.tag,
+                ranchesLivestockPane);
+
+        javax.swing.GroupLayout fireEmsPaneLayout = new javax.swing.GroupLayout(
+                fireEmsPane);
+        fireEmsPaneLayout.setHorizontalGroup(fireEmsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        fireEmsPaneLayout.setVerticalGroup(fireEmsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.FIRE_EMS.tag, fireEmsPane);
+
+        javax.swing.GroupLayout jailsPaneLayout = new javax.swing.GroupLayout(
+                jailsPane);
+        jailsPaneLayout.setHorizontalGroup(jailsPaneLayout.createParallelGroup(
+                javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 361,
+                Short.MAX_VALUE));
+        jailsPaneLayout.setVerticalGroup(jailsPaneLayout.createParallelGroup(
+                javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 317,
+                Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.JAILS.tag, jailsPane);
+
+        javax.swing.GroupLayout hospitalsMedCentersPaneLayout = new javax.swing.GroupLayout(
+                hospitalsMedCentersPane);
+        hospitalsMedCentersPaneLayout
+                .setHorizontalGroup(hospitalsMedCentersPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        hospitalsMedCentersPaneLayout
+                .setVerticalGroup(hospitalsMedCentersPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.HOSPITALS_MED_CENTERS.tag,
+                hospitalsMedCentersPane);
+
+        javax.swing.GroupLayout towCompaniesPaneLayout = new javax.swing.GroupLayout(
+                towCompaniesPane);
+        towCompaniesPaneLayout.setHorizontalGroup(towCompaniesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        towCompaniesPaneLayout.setVerticalGroup(towCompaniesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.TOW_COMPANIES.tag, towCompaniesPane);
+
+        javax.swing.GroupLayout calTransPaneLayout = new javax.swing.GroupLayout(
+                calTransPane);
+        calTransPaneLayout.setHorizontalGroup(calTransPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        calTransPaneLayout.setVerticalGroup(calTransPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.CALTRANS.tag, calTransPane);
+
+        javax.swing.GroupLayout countyRoadsPaneLayout = new javax.swing.GroupLayout(
+                countyRoadsPane);
+        countyRoadsPaneLayout.setHorizontalGroup(countyRoadsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        countyRoadsPaneLayout.setVerticalGroup(countyRoadsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.COUNTY_ROADS.tag, countyRoadsPane);
+
+        javax.swing.GroupLayout utilitiesPaneLayout = new javax.swing.GroupLayout(
+                utilitiesPane);
+        utilitiesPaneLayout.setHorizontalGroup(utilitiesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        utilitiesPaneLayout.setVerticalGroup(utilitiesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.UTILITIES.tag, utilitiesPane);
+
+        javax.swing.GroupLayout animalControlPaneLayout = new javax.swing.GroupLayout(
+                animalControlPane);
+        animalControlPaneLayout.setHorizontalGroup(animalControlPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        animalControlPaneLayout.setVerticalGroup(animalControlPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.ANIMAL_CONTROL.tag, animalControlPane);
+
+        javax.swing.GroupLayout airportsPaneLayout = new javax.swing.GroupLayout(
+                airportsPane);
+        airportsPaneLayout.setHorizontalGroup(airportsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        airportsPaneLayout.setVerticalGroup(airportsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.AIRPORTS.tag, airportsPane);
+
+        javax.swing.GroupLayout creditCardsPaneLayout = new javax.swing.GroupLayout(
+                creditCardsPane);
+        creditCardsPaneLayout.setHorizontalGroup(creditCardsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        creditCardsPaneLayout.setVerticalGroup(creditCardsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.CREDIT_CARDS.tag, creditCardsPane);
+
+        javax.swing.GroupLayout ggCrisisSheltersPaneLayout = new javax.swing.GroupLayout(
+                ggCrisisSheltersPane);
+        ggCrisisSheltersPaneLayout
+                .setHorizontalGroup(ggCrisisSheltersPaneLayout
+                        .createParallelGroup(
+                                javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGap(0, 361, Short.MAX_VALUE));
+        ggCrisisSheltersPaneLayout.setVerticalGroup(ggCrisisSheltersPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.GG_CRISIS_SHELTERS.tag,
+                ggCrisisSheltersPane);
+
+        javax.swing.GroupLayout rangesPaneLayout = new javax.swing.GroupLayout(
+                rangesPane);
+        rangesPaneLayout.setHorizontalGroup(rangesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        rangesPaneLayout.setVerticalGroup(rangesPaneLayout.createParallelGroup(
+                javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 317,
+                Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.RANGES.tag, rangesPane);
+
+        javax.swing.GroupLayout hotlinesPaneLayout = new javax.swing.GroupLayout(
+                hotlinesPane);
+        hotlinesPaneLayout.setHorizontalGroup(hotlinesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        hotlinesPaneLayout.setVerticalGroup(hotlinesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.HOTLINES.tag, hotlinesPane);
+
+        javax.swing.GroupLayout hwyPatrolsOosPaneLayout = new javax.swing.GroupLayout(
+                hwyPatrolsOosPane);
+        hwyPatrolsOosPaneLayout.setHorizontalGroup(hwyPatrolsOosPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        hwyPatrolsOosPaneLayout.setVerticalGroup(hwyPatrolsOosPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.HWY_PATROLS_OOS.tag, hwyPatrolsOosPane);
+
+        javax.swing.GroupLayout parksRecreationPaneLayout = new javax.swing.GroupLayout(
+                parksRecreationPane);
+        parksRecreationPaneLayout.setHorizontalGroup(parksRecreationPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        parksRecreationPaneLayout.setVerticalGroup(parksRecreationPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.PARKS_RECREATION.tag, parksRecreationPane);
+
+        javax.swing.GroupLayout sheltersPaneLayout = new javax.swing.GroupLayout(
+                sheltersPane);
+        sheltersPaneLayout.setHorizontalGroup(sheltersPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        sheltersPaneLayout.setVerticalGroup(sheltersPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.SHELTERS.tag, sheltersPane);
+
+        javax.swing.GroupLayout slCountyServicesLayout = new javax.swing.GroupLayout(
+                slCountyServicesPane);
+        slCountyServicesLayout.setHorizontalGroup(slCountyServicesLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        slCountyServicesLayout.setVerticalGroup(slCountyServicesLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.SL_COUNTY_SERVICES.tag,
+                slCountyServicesPane);
+
+        javax.swing.GroupLayout slResourcesPaneLayout = new javax.swing.GroupLayout(
+                slResourcesPane);
+        slResourcesPaneLayout.setHorizontalGroup(slResourcesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        slResourcesPaneLayout.setVerticalGroup(slResourcesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.SL_RESOURCES.tag, slResourcesPane);
+
+        javax.swing.GroupLayout truckTireRepairPaneLayout = new javax.swing.GroupLayout(
+                truckTireRepairPane);
+        truckTireRepairPaneLayout.setHorizontalGroup(truckTireRepairPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        truckTireRepairPaneLayout.setVerticalGroup(truckTireRepairPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs
+                .addTab(CARDFILE.TRUCK_TIRE_REPAIR.tag, truckTireRepairPane);
+
+        javax.swing.GroupLayout mccEmployeesPaneLayout = new javax.swing.GroupLayout(
+                mccEmployeesPane);
+        mccEmployeesPaneLayout.setHorizontalGroup(mccEmployeesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        mccEmployeesPaneLayout.setVerticalGroup(mccEmployeesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.MCC_EMPLOYEES.tag, mccEmployeesPane);
+
+        javax.swing.GroupLayout gateAccessCodesPaneLayout = new javax.swing.GroupLayout(
+                gateAccessCodesPane);
+        gateAccessCodesPaneLayout.setHorizontalGroup(gateAccessCodesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        gateAccessCodesPaneLayout.setVerticalGroup(gateAccessCodesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs
+                .addTab(CARDFILE.GATE_ACCESS_CODES.tag, gateAccessCodesPane);
+
+        javax.swing.GroupLayout vtCallSignsPaneLayout = new javax.swing.GroupLayout(
+                vtCallSignsPane);
+        vtCallSignsPaneLayout.setHorizontalGroup(vtCallSignsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        vtCallSignsPaneLayout.setVerticalGroup(vtCallSignsPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.VT_CALL_SIGNS.tag, vtCallSignsPane);
+
+        javax.swing.GroupLayout slccEmployeesPaneLayout = new javax.swing.GroupLayout(
+                slccEmployeesPane);
+        slccEmployeesPaneLayout.setHorizontalGroup(slccEmployeesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 361, Short.MAX_VALUE));
+        slccEmployeesPaneLayout.setVerticalGroup(slccEmployeesPaneLayout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 317, Short.MAX_VALUE));
+
+        cardfileTabs.addTab(CARDFILE.SLCC_EMPLOYEES.tag, slccEmployeesPane);
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
+                getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(layout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(
+                        layout.createSequentialGroup()
+                                .addContainerGap()
+                                .addGroup(
+                                        layout.createParallelGroup(
+                                                javax.swing.GroupLayout.Alignment.LEADING)
+                                                .addGroup(
+                                                        layout.createSequentialGroup()
+                                                                .addComponent(
+                                                                        cardfileTabs,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        366,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.LEADING)
+                                                                                .addGroup(
+                                                                                        layout.createSequentialGroup()
+                                                                                                .addGap(72,
+                                                                                                        72,
+                                                                                                        72)
+                                                                                                .addGroup(
+                                                                                                        layout.createParallelGroup(
+                                                                                                                javax.swing.GroupLayout.Alignment.TRAILING)
+                                                                                                                .addGroup(
+                                                                                                                        layout.createSequentialGroup()
+                                                                                                                                .addComponent(
+                                                                                                                                        nameLabel)
+                                                                                                                                .addPreferredGap(
+                                                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                                                                                .addComponent(
+                                                                                                                                        nameField,
+                                                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                                                                        205,
+                                                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                                                                .addGroup(
+                                                                                                                        layout.createSequentialGroup()
+                                                                                                                                .addGroup(
+                                                                                                                                        layout.createParallelGroup(
+                                                                                                                                                javax.swing.GroupLayout.Alignment.TRAILING)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        cityLabel)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        addressLabel)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        stateLabel)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        phone1Label)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        phone2Label)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        faxLabel))
+                                                                                                                                .addPreferredGap(
+                                                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                                                                                .addGroup(
+                                                                                                                                        layout.createParallelGroup(
+                                                                                                                                                javax.swing.GroupLayout.Alignment.LEADING,
+                                                                                                                                                false)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        addressField)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        cityField)
+                                                                                                                                                .addGroup(
+                                                                                                                                                        layout.createSequentialGroup()
+                                                                                                                                                                .addComponent(
+                                                                                                                                                                        stateField,
+                                                                                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                                                                                                                .addGap(41,
+                                                                                                                                                                        41,
+                                                                                                                                                                        41)
+                                                                                                                                                                .addComponent(
+                                                                                                                                                                        zipLabel)
+                                                                                                                                                                .addPreferredGap(
+                                                                                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                                                                                                                .addComponent(
+                                                                                                                                                                        zipField))
+                                                                                                                                                .addComponent(
+                                                                                                                                                        phone1Field)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        phone2Field)
+                                                                                                                                                .addComponent(
+                                                                                                                                                        faxField,
+                                                                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                                                                                        206,
+                                                                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))))
+                                                                                                .addPreferredGap(
+                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED,
+                                                                                                        42,
+                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                                .addComponent(
+                                                                                        jScrollPane1,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        0,
+                                                                                        Short.MAX_VALUE)
+                                                                                .addGroup(
+                                                                                        layout.createSequentialGroup()
+                                                                                                .addComponent(
+                                                                                                        commentsLabel)
+                                                                                                .addGap(0,
+                                                                                                        0,
+                                                                                                        Short.MAX_VALUE))
+                                                                                .addGroup(
+                                                                                        layout.createSequentialGroup()
+                                                                                                .addComponent(
+                                                                                                        jScrollPane2,
+                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                                        300,
+                                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                                                .addPreferredGap(
+                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                                                .addGroup(
+                                                                                                        layout.createParallelGroup(
+                                                                                                                javax.swing.GroupLayout.Alignment.LEADING)
+                                                                                                                .addComponent(
+                                                                                                                        addCommentButton,
+                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                        Short.MAX_VALUE)
+                                                                                                                .addComponent(
+                                                                                                                        cancelCommentButton,
+                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                        106,
+                                                                                                                        Short.MAX_VALUE)
+                                                                                                                .addComponent(
+                                                                                                                        saveCommentButton,
+                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                        Short.MAX_VALUE)
+                                                                                                                .addComponent(
+                                                                                                                        deleteCommentButton,
+                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                                        Short.MAX_VALUE)))))
+                                                .addGroup(
+                                                        javax.swing.GroupLayout.Alignment.TRAILING,
+                                                        layout.createSequentialGroup()
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED,
+                                                                        308,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addComponent(
+                                                                        addButton,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        70,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addComponent(
+                                                                        deleteButton,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        70,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addComponent(
+                                                                        cancelButton,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        70,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addComponent(
+                                                                        saveButton,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        70,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addComponent(
+                                                                        printButton,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        70,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addComponent(
+                                                                        exitButton,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        70,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)))
+                                .addContainerGap()));
+        layout.setVerticalGroup(layout
+                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(
+                        javax.swing.GroupLayout.Alignment.TRAILING,
+                        layout.createSequentialGroup()
+                                .addGap(12, 12, 12)
+                                .addGroup(
+                                        layout.createParallelGroup(
+                                                javax.swing.GroupLayout.Alignment.TRAILING)
+                                                .addComponent(
+                                                        cardfileTabs,
+                                                        javax.swing.GroupLayout.Alignment.LEADING,
+                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                        0, Short.MAX_VALUE)
+                                                .addGroup(
+                                                        javax.swing.GroupLayout.Alignment.LEADING,
+                                                        layout.createSequentialGroup()
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                                                .addComponent(
+                                                                                        nameLabel)
+                                                                                .addComponent(
+                                                                                        nameField,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                                                .addComponent(
+                                                                                        addressLabel)
+                                                                                .addComponent(
+                                                                                        addressField,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                                                .addComponent(
+                                                                                        cityLabel)
+                                                                                .addComponent(
+                                                                                        cityField,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                                                .addComponent(
+                                                                                        stateLabel)
+                                                                                .addComponent(
+                                                                                        stateField,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                                .addComponent(
+                                                                                        zipLabel)
+                                                                                .addComponent(
+                                                                                        zipField,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                                                .addComponent(
+                                                                                        phone1Label)
+                                                                                .addComponent(
+                                                                                        phone1Field,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                                                .addComponent(
+                                                                                        phone2Label)
+                                                                                .addComponent(
+                                                                                        phone2Field,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                                                .addComponent(
+                                                                                        faxLabel)
+                                                                                .addComponent(
+                                                                                        faxField,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                                .addGap(5, 5, 5)
+                                                                .addComponent(
+                                                                        commentsLabel)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addComponent(
+                                                                        jScrollPane1,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
+                                                                        156,
+                                                                        javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                                .addPreferredGap(
+                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                .addGroup(
+                                                                        layout.createParallelGroup(
+                                                                                javax.swing.GroupLayout.Alignment.LEADING)
+                                                                                .addGroup(
+                                                                                        layout.createSequentialGroup()
+                                                                                                .addComponent(
+                                                                                                        addCommentButton)
+                                                                                                .addPreferredGap(
+                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED,
+                                                                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
+                                                                                                        Short.MAX_VALUE)
+                                                                                                .addComponent(
+                                                                                                        cancelCommentButton)
+                                                                                                .addPreferredGap(
+                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                                                .addComponent(
+                                                                                                        saveCommentButton)
+                                                                                                .addPreferredGap(
+                                                                                                        javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                                                                .addComponent(
+                                                                                                        deleteCommentButton))
+                                                                                .addComponent(
+                                                                                        jScrollPane2))))
+                                .addGap(18, 18, 18)
+                                .addGroup(
+                                        layout.createParallelGroup(
+                                                javax.swing.GroupLayout.Alignment.BASELINE)
+                                                .addComponent(deleteButton)
+                                                .addComponent(cancelButton)
+                                                .addComponent(saveButton)
+                                                .addComponent(printButton)
+                                                .addComponent(exitButton)
+                                                .addComponent(addButton))
+                                .addContainerGap()));
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    /*
+     * Loads server data onto the client copy.
+     */
+    public void loadData() {
+        try {
+            coastalDivisionUnitsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.COASTAL_DIVISION_UNITS);
+            policeSheriffCoronerList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.POLICE_SHERIFF_CORONER);
+            courtsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.COURTS);
+            publicTransportationList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.PUBLIC_TRANSPORTATION);
+            ggOtherList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.GG_OTHER);
+            myMiscList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.MY_MISC);
+            slMiscList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.SL_MISC);
+            vtMiscList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.VT_MISC);
+            chpOfficesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.CHP_OFFICES);
+            stateAgenciesFacilitiesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.STATE_AGENCIES_FACILITIES);
+            governmentOfficialsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.GOVERNMENT_OFFICIALS);
+            federalAgenciesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.FEDERAL_AGENCIES);
+            ranchesLivestockList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.RANCHES_LIVESTOCK);
+            fireEmsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.FIRE_EMS);
+            jailsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.JAILS);
+            hospitalsMedCentersList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.HOSPITALS_MED_CENTERS);
+            towCompaniesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.TOW_COMPANIES);
+            calTransList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.CALTRANS);
+            countyRoadsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.COUNTY_ROADS);
+            utilitiesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.UTILITIES);
+            animalControlList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.ANIMAL_CONTROL);
+            airportsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.AIRPORTS);
+            creditCardsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.CREDIT_CARDS);
+            ggCrisisSheltersList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.GG_CRISIS_SHELTERS);
+            rangesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.RANGES);
+            hotlinesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.HOTLINES);
+            hwyPatrolsOosList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.HWY_PATROLS_OOS);
+            parksRecreationList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.PARKS_RECREATION);
+            sheltersList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.SHELTERS);
+            slCountyServicesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.SL_COUNTY_SERVICES);
+            slResourcesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.SL_RESOURCES);
+            truckTireRepairList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.TRUCK_TIRE_REPAIR);
+            mccEmployeesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.MCC_EMPLOYEES);
+            gateAccessCodesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.GATE_ACCESS_CODES);
+            vtCallSignsList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.VT_CALL_SIGNS);
+            slccEmployeesList = ScreenManager.theCoordinator
+                    .getCardfileList(CARDFILE.SLCC_EMPLOYEES);
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /*
+     * Puts the lists into the scrollpanes into the tabbedpane screens.
+     */
+    public void loadJLists() {
+        coastalDivisionUnitsPane.removeAll();
+        coastalDivisionUnitsPane.add(createPane(coastalDivisionUnitsList));
+        policeSheriffCoronerPane.removeAll();
+        policeSheriffCoronerPane.add(createPane(policeSheriffCoronerList));
+        courtsPane.removeAll();
+        courtsPane.add(createPane(courtsList));
+        publicTransportationPane.removeAll();
+        publicTransportationPane.add(createPane(publicTransportationList));
+        ggOtherPane.removeAll();
+        ggOtherPane.add(createPane(ggOtherList));
+        myMiscPane.removeAll();
+        myMiscPane.add(createPane(myMiscList));
+        slMiscPane.removeAll();
+        slMiscPane.add(createPane(slMiscList));
+        vtMiscPane.removeAll();
+        vtMiscPane.add(createPane(vtMiscList));
+        chpOfficesPane.removeAll();
+        chpOfficesPane.add(createPane(chpOfficesList));
+        stateAgenciesFacilitiesPane.removeAll();
+        stateAgenciesFacilitiesPane
+                .add(createPane(stateAgenciesFacilitiesList));
+        governmentOfficialsPane.removeAll();
+        governmentOfficialsPane.add(createPane(governmentOfficialsList));
+        federalAgenciesPane.removeAll();
+        federalAgenciesPane.add(createPane(federalAgenciesList));
+        ranchesLivestockPane.removeAll();
+        ranchesLivestockPane.add(createPane(ranchesLivestockList));
+        fireEmsPane.removeAll();
+        fireEmsPane.add(createPane(fireEmsList));
+        jailsPane.removeAll();
+        jailsPane.add(createPane(jailsList));
+        hospitalsMedCentersPane.removeAll();
+        hospitalsMedCentersPane.add(createPane(hospitalsMedCentersList));
+        towCompaniesPane.removeAll();
+        towCompaniesPane.add(createPane(towCompaniesList));
+        calTransPane.removeAll();
+        calTransPane.add(createPane(calTransList));
+        countyRoadsPane.removeAll();
+        countyRoadsPane.add(createPane(countyRoadsList));
+        utilitiesPane.removeAll();
+        utilitiesPane.add(createPane(utilitiesList));
+        animalControlPane.removeAll();
+        animalControlPane.add(createPane(animalControlList));
+        airportsPane.removeAll();
+        airportsPane.add(createPane(airportsList));
+        creditCardsPane.removeAll();
+        creditCardsPane.add(createPane(creditCardsList));
+        ggCrisisSheltersPane.removeAll();
+        ggCrisisSheltersPane.add(createPane(ggCrisisSheltersList));
+        rangesPane.removeAll();
+        rangesPane.add(createPane(rangesList));
+        hotlinesPane.removeAll();
+        hotlinesPane.add(createPane(hotlinesList));
+        hwyPatrolsOosPane.removeAll();
+        hwyPatrolsOosPane.add(createPane(hwyPatrolsOosList));
+        parksRecreationPane.removeAll();
+        parksRecreationPane.add(createPane(parksRecreationList));
+        sheltersPane.removeAll();
+        sheltersPane.add(createPane(sheltersList));
+        slCountyServicesPane.removeAll();
+        slCountyServicesPane.add(createPane(slCountyServicesList));
+        slResourcesPane.removeAll();
+        slResourcesPane.add(createPane(slResourcesList));
+        truckTireRepairPane.removeAll();
+        truckTireRepairPane.add(createPane(truckTireRepairList));
+        mccEmployeesPane.removeAll();
+        mccEmployeesPane.add(createPane(mccEmployeesList));
+        gateAccessCodesPane.removeAll();
+        gateAccessCodesPane.add(createPane(gateAccessCodesList));
+        vtCallSignsPane.removeAll();
+        vtCallSignsPane.add(createPane(vtCallSignsList));
+        slccEmployeesPane.removeAll();
+        slccEmployeesPane.add(createPane(slccEmployeesList));
+    }
+
+    /*
+     * Adds a list the scrollpane with mouse listeners.
+     */
+    private JScrollPane createPane(List list) {
+        list.addMouseListener(mouseListener);
+        JScrollPane pane = new JScrollPane(list);
+        pane.setPreferredSize(new Dimension(200, 250));
+        pane.setMaximumSize(new Dimension(200, 250));
+        pane.setMinimumSize(new Dimension(200, 250));
+        return pane;
+    }
+
+    /*
+     * Checks which panel is currently in view based on the title, then gets the
+     * corresponding list and selected index to obtain the last clicked object.
+     */
+    public CardfileDataObject getSelectedCardfileDataObject(String title) {
+        if (title == CARDFILE.COASTAL_DIVISION_UNITS.tag) {
+            selectedList = coastalDivisionUnitsList;
+            return coastalDivisionUnitsList.getCFDO(coastalDivisionUnitsList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.POLICE_SHERIFF_CORONER.tag) {
+            selectedList = policeSheriffCoronerList;
+            return policeSheriffCoronerList.getCFDO(policeSheriffCoronerList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.COURTS.tag) {
+            selectedList = courtsList;
+            return courtsList.getCFDO(courtsList.getSelectedIndex());
+        } else if (title == CARDFILE.PUBLIC_TRANSPORTATION.tag) {
+            selectedList = publicTransportationList;
+            return publicTransportationList.getCFDO(publicTransportationList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.GG_OTHER.tag) {
+            selectedList = ggOtherList;
+            return ggOtherList.getCFDO(ggOtherList.getSelectedIndex());
+        } else if (title == CARDFILE.MY_MISC.tag) {
+            selectedList = myMiscList;
+            return myMiscList.getCFDO(myMiscList.getSelectedIndex());
+        } else if (title == CARDFILE.SL_MISC.tag) {
+            selectedList = slMiscList;
+            return slMiscList.getCFDO(slMiscList.getSelectedIndex());
+        } else if (title == CARDFILE.VT_MISC.tag) {
+            selectedList = vtMiscList;
+            return vtMiscList.getCFDO(vtMiscList.getSelectedIndex());
+        } else if (title == CARDFILE.CHP_OFFICES.tag) {
+            selectedList = chpOfficesList;
+            return chpOfficesList.getCFDO(chpOfficesList.getSelectedIndex());
+        } else if (title == CARDFILE.STATE_AGENCIES_FACILITIES.tag) {
+            selectedList = stateAgenciesFacilitiesList;
+            return stateAgenciesFacilitiesList
+                    .getCFDO(stateAgenciesFacilitiesList.getSelectedIndex());
+        } else if (title == CARDFILE.GOVERNMENT_OFFICIALS.tag) {
+            selectedList = governmentOfficialsList;
+            return governmentOfficialsList.getCFDO(governmentOfficialsList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.FEDERAL_AGENCIES.tag) {
+            selectedList = federalAgenciesList;
+            return federalAgenciesList.getCFDO(federalAgenciesList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.RANCHES_LIVESTOCK.tag) {
+            selectedList = ranchesLivestockList;
+            return ranchesLivestockList.getCFDO(ranchesLivestockList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.FIRE_EMS.tag) {
+            selectedList = fireEmsList;
+            return fireEmsList.getCFDO(fireEmsList.getSelectedIndex());
+        } else if (title == CARDFILE.JAILS.tag) {
+            selectedList = jailsList;
+            return jailsList.getCFDO(jailsList.getSelectedIndex());
+        } else if (title == CARDFILE.HOSPITALS_MED_CENTERS.tag) {
+            selectedList = hospitalsMedCentersList;
+            return hospitalsMedCentersList.getCFDO(hospitalsMedCentersList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.TOW_COMPANIES.tag) {
+            selectedList = towCompaniesList;
+            return towCompaniesList
+                    .getCFDO(towCompaniesList.getSelectedIndex());
+        } else if (title == CARDFILE.CALTRANS.tag) {
+            selectedList = calTransList;
+            return calTransList.getCFDO(calTransList.getSelectedIndex());
+        } else if (title == CARDFILE.COUNTY_ROADS.tag) {
+            selectedList = countyRoadsList;
+            return countyRoadsList.getCFDO(countyRoadsList.getSelectedIndex());
+        } else if (title == CARDFILE.UTILITIES.tag) {
+            selectedList = utilitiesList;
+            return utilitiesList.getCFDO(utilitiesList.getSelectedIndex());
+        } else if (title == CARDFILE.ANIMAL_CONTROL.tag) {
+            selectedList = animalControlList;
+            return animalControlList.getCFDO(animalControlList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.AIRPORTS.tag) {
+            selectedList = airportsList;
+            return airportsList.getCFDO(airportsList.getSelectedIndex());
+        } else if (title == CARDFILE.CREDIT_CARDS.tag) {
+            selectedList = creditCardsList;
+            return creditCardsList.getCFDO(creditCardsList.getSelectedIndex());
+        } else if (title == CARDFILE.GG_CRISIS_SHELTERS.tag) {
+            selectedList = ggCrisisSheltersList;
+            return ggCrisisSheltersList.getCFDO(ggCrisisSheltersList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.RANGES.tag) {
+            selectedList = rangesList;
+            return rangesList.getCFDO(rangesList.getSelectedIndex());
+        } else if (title == CARDFILE.HOTLINES.tag) {
+            selectedList = hotlinesList;
+            return hotlinesList.getCFDO(hotlinesList.getSelectedIndex());
+        } else if (title == CARDFILE.HWY_PATROLS_OOS.tag) {
+            selectedList = hwyPatrolsOosList;
+            return hwyPatrolsOosList.getCFDO(hwyPatrolsOosList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.PARKS_RECREATION.tag) {
+            selectedList = parksRecreationList;
+            return parksRecreationList.getCFDO(parksRecreationList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.SHELTERS.tag) {
+            selectedList = sheltersList;
+            return sheltersList.getCFDO(sheltersList.getSelectedIndex());
+        } else if (title == CARDFILE.SL_COUNTY_SERVICES.tag) {
+            selectedList = slCountyServicesList;
+            return slCountyServicesList.getCFDO(slCountyServicesList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.SL_RESOURCES.tag) {
+            selectedList = slResourcesList;
+            return slResourcesList.getCFDO(slResourcesList.getSelectedIndex());
+        } else if (title == CARDFILE.TRUCK_TIRE_REPAIR.tag) {
+            selectedList = truckTireRepairList;
+            return truckTireRepairList.getCFDO(truckTireRepairList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.MCC_EMPLOYEES.tag) {
+            selectedList = mccEmployeesList;
+            return mccEmployeesList
+                    .getCFDO(mccEmployeesList.getSelectedIndex());
+        } else if (title == CARDFILE.GATE_ACCESS_CODES.tag) {
+            selectedList = gateAccessCodesList;
+            return gateAccessCodesList.getCFDO(gateAccessCodesList
+                    .getSelectedIndex());
+        } else if (title == CARDFILE.VT_CALL_SIGNS.tag) {
+            selectedList = vtCallSignsList;
+            return vtCallSignsList.getCFDO(vtCallSignsList.getSelectedIndex());
+        } else if (title == CARDFILE.SLCC_EMPLOYEES.tag) {
+            selectedList = slccEmployeesList;
+            return slccEmployeesList.getCFDO(slccEmployeesList
+                    .getSelectedIndex());
+        }
+        try {
+            throw new Exception();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    /*
+     * Gets the last clicked object and loads its data.
+     */
+    public void refreshInformation() {
+        currObject = getSelectedCardfileDataObject(cardfileTabs
+                .getTitleAt(cardfileTabs.getSelectedIndex()));
+        if (currObject != null) {
+            nameField.setText((currName = currObject.getName()));
+            addressField.setText((currAddress = currObject.getAddress()));
+            cityField.setText((currCity = currObject.getCity()));
+            faxField.setText((currFax = currObject.getFax()));
+            phone1Field.setText((currPhone1 = currObject.getPhone1()));
+            phone2Field.setText((currPhone2 = currObject.getPhone2()));
+            stateField.setText((currState = currObject.getState()));
+            zipField.setText((currZip = currObject.getZip()));
+            DefaultTableModel model = (DefaultTableModel) commentsTable
+                    .getModel();
+            int size = model.getRowCount();
+            for (int i = 0; i < size; i++) {
+                model.removeRow(0);
+            }
+            LinkedList<String[]> tableFields = currObject
+                    .getCommentsTableFields();
+            for (int i = 0; i < tableFields.size(); i++) {
+                model.addRow(tableFields.get(i));
+            }
+            currId = currObject.getId();
+            addCommentButton.setEnabled(true);
+            cancelButton.setEnabled(true);
+            deleteButton.setEnabled(true);
+        } else {
+            addCommentButton.setEnabled(false);
+            cancelButton.setEnabled(true);
+            deleteButton.setEnabled(false);
+        }
+    }
+
+    /*
+     * Checks to make sure that the textFields are not still blank and that an
+     * object from the list has been selected already. Compares the last known
+     * value of each field to the current value to see if any changes have been
+     * made. If changes have been made, the change is applied to the local data
+     * but is not sent over to the server until the user exits the screen and
+     * commits the changes.
+     */
+    public void saveInformation() {
+        if (saveFields && currObject != null) {
+            if (!currName.equals(nameField.getText())) {
+                currObject.setName(nameField.getText());
+                selectedList.resort(selectedList.getSelectedIndex());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.NAME, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, nameField.getText()));
+                changesMade = true;
+            }
+            if (!currAddress.equals(addressField.getText())) {
+                currObject.setAddress(addressField.getText());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.ADDRESS, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, addressField.getText()));
+                changesMade = true;
+            }
+            if (!currCity.equals(cityField.getText())) {
+                currObject.setCity(cityField.getText());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.CITY, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, cityField.getText()));
+                changesMade = true;
+            }
+            if (!currFax.equals(faxField.getText())) {
+                currObject.setFax(faxField.getText());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.FAX, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, faxField.getText()));
+                changesMade = true;
+            }
+            if (!currPhone1.equals(phone1Field.getText())) {
+                currObject.setPhone1(phone1Field.getText());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.PHONE1, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, phone1Field.getText()));
+                changesMade = true;
+            }
+            if (!currPhone2.equals(phone2Field.getText())) {
+                currObject.setPhone2(phone2Field.getText());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.PHONE2, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, phone2Field.getText()));
+                changesMade = true;
+            }
+            if (!currState.equals(stateField.getText())) {
+                currObject.setState(stateField.getText());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.STATE, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, stateField.getText()));
+                changesMade = true;
+            }
+            if (!currZip.equals(zipField.getText())) {
+                currObject.setZip(zipField.getText());
+                cardfileObjectEdits
+                        .add(new ChangeLog(EditCommand.ZIP, cardfileTabs
+                                .getTitleAt(cardfileTabs.getSelectedIndex()),
+                                currId, zipField.getText()));
+                changesMade = true;
+            }
+        }
+        if (currObject != null) {
+            saveFields = true;
+        }
+    }
+
+    /*
+     * Makes screen visible. Loads the server cardfile database into the local
+     * database. Clears all editLogs and changes. Sets all text to empty values.
+     * Greys out all buttons.
+     */
+    public void open() {
+        if (isVisible()) {
+            requestFocus();
+        } else {
+            loadData();
+            loadJLists();
+            cardfileTabs.setSelectedIndex(0);
+            selectedList = coastalDivisionUnitsList;
+            saveFields = false;
+            changesMade = false;
+            cardfileObjectEdits.clear();
+            cardfileObjectDeletes.clear();
+            cardfileObjectAdds.clear();
+            tableDeletes.clear();
+            tableAdds.clear();
+            nameField.setText("");
+            addressField.setText("");
+            cityField.setText("");
+            stateField.setText("");
+            zipField.setText("");
+            phone1Field.setText("");
+            phone2Field.setText("");
+            faxField.setText("");
+            commentsTable.setModel(new javax.swing.table.DefaultTableModel(
+                    null,
+                    new String[] { "Date", "Time", "Initials", "Comments" }));
+            addButton.setEnabled(true);
+            deleteButton.setEnabled(false);
+            saveButton.setEnabled(false);
+            cancelButton.setEnabled(false);
+            addCommentButton.setEnabled(false);
+            deleteCommentButton.setEnabled(false);
+            saveCommentButton.setEnabled(false);
+            cancelCommentButton.setEnabled(false);
+            setVisible(true);
+        }
+    }
+
+    /*
+     * Hides screen. If changes have been made, prompt the user if (s)he wants
+     * to commit changes to the server data.
+     */
+    public void close() {
+        saveInformation();
+        if (changesMade) {
+            JOptionPane optionPane = new JOptionPane();
+            if (optionPane.showConfirmDialog(this,
+                    "Changes have been made. Do you want to save changes?",
+                    "Yes/No", JOptionPane.YES_NO_OPTION,
+                    JOptionPane.WARNING_MESSAGE) == JOptionPane.YES_OPTION) {
+                handleChangeLogEdits(tableAdds);
+                handleChangeLogEdits(tableDeletes);
+                handleChangeLogEdits(cardfileObjectAdds);
+                handleChangeLogEdits(cardfileObjectEdits);
+                handleChangeLogEdits(cardfileObjectDeletes);
+            }
+        }
+        setVisible(false);
+    }
+
+    /*
+     * Loops through the list and sends every ChangeLog to the server.
+     */
+    private void handleChangeLogEdits(LinkedList<ChangeLog> list) {
+        for (int i = 0; i < list.size(); i++) {
+            try {
+                ScreenManager.theCoordinator.editCardfile(list.get(i));
+            } catch (RemoteException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton addButton;
+    private javax.swing.JButton addCommentButton;
+    private javax.swing.JTextField addressField;
+    private javax.swing.JLabel addressLabel;
+    private javax.swing.JPanel airportsPane;
+    private javax.swing.JPanel animalControlPane;
+    private javax.swing.JPanel calTransPane;
+    private javax.swing.JButton cancelButton;
+    private javax.swing.JButton cancelCommentButton;
+    private javax.swing.JTabbedPane cardfileTabs;
+    private javax.swing.JPanel chpOfficesPane;
+    private javax.swing.JTextField cityField;
+    private javax.swing.JLabel cityLabel;
+    private javax.swing.JPanel coastalDivisionUnitsPane;
+    private javax.swing.JTextPane commentsField;
+    private javax.swing.JLabel commentsLabel;
+    private javax.swing.JTable commentsTable;
+    private javax.swing.JPanel countyRoadsPane;
+    private javax.swing.JPanel courtsPane;
+    private javax.swing.JPanel creditCardsPane;
+    private javax.swing.JButton deleteButton;
+    private javax.swing.JButton deleteCommentButton;
+    private javax.swing.JButton exitButton;
+    private javax.swing.JTextField faxField;
+    private javax.swing.JLabel faxLabel;
+    private javax.swing.JPanel federalAgenciesPane;
+    private javax.swing.JPanel fireEmsPane;
+    private javax.swing.JPanel gateAccessCodesPane;
+    private javax.swing.JPanel ggCrisisSheltersPane;
+    private javax.swing.JPanel ggOtherPane;
+    private javax.swing.JPanel governmentOfficialsPane;
+    private javax.swing.JPanel hospitalsMedCentersPane;
+    private javax.swing.JPanel hotlinesPane;
+    private javax.swing.JPanel hwyPatrolsOosPane;
+    private javax.swing.JPanel vtCallSignsPane;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JScrollPane jScrollPane2;
+    private javax.swing.JPanel jailsPane;
+    private javax.swing.JPanel mccEmployeesPane;
+    private javax.swing.JPanel myMiscPane;
+    private javax.swing.JTextField nameField;
+    private javax.swing.JLabel nameLabel;
+    private javax.swing.JPanel parksRecreationPane;
+    private javax.swing.JTextField phone1Field;
+    private javax.swing.JLabel phone1Label;
+    private javax.swing.JTextField phone2Field;
+    private javax.swing.JLabel phone2Label;
+    private javax.swing.JPanel policeSheriffCoronerPane;
+    private javax.swing.JButton printButton;
+    private javax.swing.JPanel publicTransportationPane;
+    private javax.swing.JPanel ranchesLivestockPane;
+    private javax.swing.JPanel rangesPane;
+    private javax.swing.JButton saveButton;
+    private javax.swing.JButton saveCommentButton;
+    private javax.swing.JPanel sheltersPane;
+    private javax.swing.JPanel slCountyServicesPane;
+    private javax.swing.JPanel slMiscPane;
+    private javax.swing.JPanel slResourcesPane;
+    private javax.swing.JPanel slccEmployeesPane;
+    private javax.swing.JPanel stateAgenciesFacilitiesPane;
+    private javax.swing.JTextField stateField;
+    private javax.swing.JLabel stateLabel;
+    private javax.swing.JPanel towCompaniesPane;
+    private javax.swing.JPanel truckTireRepairPane;
+    private javax.swing.JPanel utilitiesPane;
+    private javax.swing.JPanel vtMiscPane;
+    private javax.swing.JTextField zipField;
+    private javax.swing.JLabel zipLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/IncidentInfo.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/IncidentInfo.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/IncidentInfo.java	(revision 3)
@@ -0,0 +1,651 @@
+package tmcsim.client.cadclientgui.screens;
+
+import javax.swing.ImageIcon;
+import javax.swing.JComponent;
+
+import tmcsim.client.cadclientgui.data.CADData;
+import tmcsim.client.cadclientgui.enums.IncidentEnums;
+
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+public class IncidentInfo extends javax.swing.JFrame {
+    /**
+     * Creates new form IncidentInfo
+     */
+    public IncidentInfo() {
+        declareComponents();
+        initComponents();
+        initLayout();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
+    private void declareComponents() {
+
+        active = new ImageIcon("images/IncidentInfoImages/active.png");
+        closed = new ImageIcon("images/IncidentInfoImages/closed.png");
+        
+        printButton = new javax.swing.JButton();
+        jSplitPane2 = new javax.swing.JSplitPane();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        jPanel1 = new javax.swing.JPanel();
+        incidentNumberLabel = new javax.swing.JLabel();
+        callTakenLabel = new javax.swing.JLabel();
+        lastUpdatedLabel = new javax.swing.JLabel();
+        callInitiatedLabel = new javax.swing.JLabel();
+        timeInQLabel = new javax.swing.JLabel();
+        totalElapsedTimeLabel = new javax.swing.JLabel();
+        addressLabel = new javax.swing.JLabel();
+        cityLabel = new javax.swing.JLabel();
+        aptLabel = new javax.swing.JLabel();
+        phoneLabel = new javax.swing.JLabel();
+        crossStreetLabel = new javax.swing.JLabel();
+        locationLabel = new javax.swing.JLabel();
+        mapInfoLabel = new javax.swing.JLabel();
+        respAreaLabel = new javax.swing.JLabel();
+        sectorLabel = new javax.swing.JLabel();
+        callerTypeLabel = new javax.swing.JLabel();
+        problemLabel = new javax.swing.JLabel();
+        problemCodeLabel = new javax.swing.JLabel();
+        priorityDescLabel = new javax.swing.JLabel();
+        buildingLabel = new javax.swing.JLabel();
+        extLabel = new javax.swing.JLabel();
+        divisionLabel = new javax.swing.JLabel();
+        sectorCodeLabel = new javax.swing.JLabel();
+        callerNameLabel = new javax.swing.JLabel();
+        primaryUnitLabel = new javax.swing.JLabel();
+        backupUnitsLabel = new javax.swing.JLabel();
+        incidentNumberField = new javax.swing.JTextField();
+        callInitiatedField = new javax.swing.JTextField();
+        callTakenField = new javax.swing.JTextField();
+        timeInQField = new javax.swing.JTextField();
+        lastUpdatedField = new javax.swing.JTextField();
+        totalElapsedTimeField = new javax.swing.JTextField();
+        addressField = new javax.swing.JTextField();
+        cityField = new javax.swing.JTextField();
+        aptField = new javax.swing.JTextField();
+        phoneField = new javax.swing.JTextField();
+        crossStreetField = new javax.swing.JTextField();
+        locationField = new javax.swing.JTextField();
+        mapInfoField = new javax.swing.JTextField();
+        respAreaField = new javax.swing.JTextField();
+        sectorField = new javax.swing.JTextField();
+        callerTypeField = new javax.swing.JTextField();
+        problemField = new javax.swing.JTextField();
+        problemCodeField = new javax.swing.JTextField();
+        priorityDescField = new javax.swing.JTextField();
+        primaryUnitField = new javax.swing.JTextField();
+        statusBarLabel = new javax.swing.JLabel();
+        buildingField = new javax.swing.JTextField();
+        extField = new javax.swing.JTextField();
+        divisionField = new javax.swing.JTextField();
+        sectorCodeField = new javax.swing.JTextField();
+        callerNameField = new javax.swing.JTextField();
+        backupUnitsField = new javax.swing.JTextField();
+        jScrollPane3 = new javax.swing.JScrollPane();
+        jPanel2 = new javax.swing.JPanel();
+        incidentCommentsLabel = new javax.swing.JLabel();
+        jScrollPane2 = new javax.swing.JScrollPane();
+        incidentCommentsTable = new javax.swing.JTable();
+    }
+    
+    private void initComponents() {
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+
+        printButton.setText("Print");
+        printButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                printButtonActionPerformed(evt);
+            }
+        });
+
+        jSplitPane2.setDividerLocation(400);
+        jSplitPane2.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
+
+        incidentNumberLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
+        incidentNumberLabel.setText("Incident Number:");
+
+        callTakenLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
+        callTakenLabel.setText("Call Taken:");
+
+        lastUpdatedLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
+        lastUpdatedLabel.setText("Last Updated:");
+
+        callInitiatedLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
+        callInitiatedLabel.setText("Call Initiated:");
+
+        timeInQLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
+        timeInQLabel.setText("Time in Q:");
+
+        totalElapsedTimeLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
+        totalElapsedTimeLabel.setText("Total Elapsed Time:");
+
+        statusBarLabel.setIcon(active);
+        
+        addressLabel.setText("Address:");
+
+        cityLabel.setText("City:");
+
+        aptLabel.setText("Apt:");
+
+        phoneLabel.setText("Phone:");
+
+        crossStreetLabel.setText("Cross Street:");
+
+        locationLabel.setText("Location:");
+
+        mapInfoLabel.setText("Map Info:");
+
+        respAreaLabel.setText("Resp Area:");
+
+        sectorLabel.setText("Sector:");
+
+        callerTypeLabel.setText("Caller Type:");
+
+        problemLabel.setText("Problem:");
+
+        problemCodeLabel.setText("Problem Code:");
+
+        priorityDescLabel.setText("Priority Desc:");
+
+        buildingLabel.setText("Building:");
+
+        extLabel.setText("Ext:");
+
+        divisionLabel.setText("Division:");
+
+        sectorCodeLabel.setText("Sector Code:");
+
+        callerNameLabel.setText("Caller Name:");
+
+        primaryUnitLabel.setText("PrimaryUnit");
+
+        backupUnitsLabel.setText("BackupUnits");
+        
+        incidentNumberField.setEditable(false);
+
+        callInitiatedField.setEditable(false);
+
+        callTakenField.setEditable(false);
+
+        timeInQField.setEditable(false);
+
+        lastUpdatedField.setEditable(false);
+
+        totalElapsedTimeField.setEditable(false);
+
+        addressField.setEditable(false);
+
+        cityField.setEditable(false);
+
+        aptField.setEditable(false);
+
+        phoneField.setEditable(false);
+
+        crossStreetField.setEditable(false);
+
+        locationField.setEditable(false);
+
+        mapInfoField.setEditable(false);
+
+        respAreaField.setEditable(false);
+        respAreaField.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                respAreaFieldActionPerformed(evt);
+            }
+        });
+
+        sectorField.setEditable(false);
+
+        callerTypeField.setEditable(false);
+
+        problemField.setEditable(false);
+
+        problemCodeField.setEditable(false);
+
+        priorityDescField.setEditable(false);
+
+        primaryUnitField.setEditable(false);
+
+        buildingField.setEditable(false);
+
+        extField.setEditable(false);
+
+        divisionField.setEditable(false);
+
+        sectorCodeField.setEditable(false);
+
+        callerNameField.setEditable(false);
+
+        backupUnitsField.setEditable(false);
+        
+        jScrollPane1.setViewportView(jPanel1);
+
+        jSplitPane2.setLeftComponent(jScrollPane1);
+
+        incidentCommentsLabel.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
+        incidentCommentsLabel.setText("Incident Comments");
+
+        incidentCommentsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null, null, null, null},
+                {null, null, null, null},
+                {null, null, null, null},
+                {null, null, null, null}
+            },
+            new String [] {
+                "Date/Time", "Disp", "Conf", "Comment"
+            }
+        ));
+        jScrollPane2.setViewportView(incidentCommentsTable);
+    }
+    
+    private void initLayout() {
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(cityLabel)
+                                    .addComponent(aptLabel)
+                                    .addComponent(phoneLabel)
+                                    .addComponent(respAreaLabel)
+                                    .addComponent(sectorLabel)
+                                    .addComponent(callerTypeLabel)
+                                    .addComponent(locationLabel))
+                                .addGap(39, 39, 39)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                                            .addComponent(locationField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE)
+                                            .addComponent(cityField, javax.swing.GroupLayout.Alignment.LEADING))
+                                        .addGap(79, 79, 79)
+                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addComponent(primaryUnitField, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                            .addComponent(problemLabel)
+                                            .addComponent(problemCodeLabel)))
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                                .addComponent(mapInfoField, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                                    .addComponent(callerNameField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
+                                                    .addComponent(sectorCodeField, javax.swing.GroupLayout.Alignment.TRAILING)
+                                                    .addComponent(divisionField, javax.swing.GroupLayout.Alignment.TRAILING)))
+                                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                                    .addComponent(aptField)
+                                                    .addComponent(phoneField)
+                                                    .addComponent(crossStreetField)
+                                                    .addComponent(respAreaField, javax.swing.GroupLayout.DEFAULT_SIZE, 107, Short.MAX_VALUE)
+                                                    .addComponent(sectorField)
+                                                    .addComponent(callerTypeField))
+                                                .addGap(18, 18, 18)
+                                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                                    .addComponent(divisionLabel)
+                                                    .addComponent(sectorCodeLabel)
+                                                    .addComponent(callerNameLabel)
+                                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                                            .addComponent(buildingLabel)
+                                                            .addComponent(extLabel))
+                                                        .addGap(18, 18, 18)
+                                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                                            .addComponent(buildingField, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE)
+                                                            .addComponent(extField))))))
+                                        .addGap(79, 79, 79)
+                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addComponent(primaryUnitLabel)
+                                            .addComponent(backupUnitsLabel)
+                                            .addComponent(backupUnitsField, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                                .addComponent(priorityDescLabel)
+                                                .addGap(18, 18, 18)
+                                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                                    .addComponent(problemField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 185, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                    .addComponent(problemCodeField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 185, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                    .addComponent(priorityDescField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))))
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addComponent(addressLabel)
+                                .addGap(54, 54, 54)
+                                .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addComponent(crossStreetLabel)
+                            .addComponent(mapInfoLabel))
+                        .addGap(73, 73, 73))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(statusBarLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGap(0, 0, Short.MAX_VALUE)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addComponent(callInitiatedLabel)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(callInitiatedField))
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addComponent(incidentNumberLabel)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                                .addGap(50, 50, 50)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addGap(6, 6, 6)
+                                        .addComponent(timeInQLabel)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(timeInQField))
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addComponent(callTakenLabel)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(callTakenField, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                                .addGap(50, 50, 50)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addComponent(totalElapsedTimeLabel)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(totalElapsedTimeField))
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addComponent(lastUpdatedLabel)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(lastUpdatedField, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)))))
+                        .addGap(5, 5, 5))))
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                .addComponent(incidentNumberLabel)
+                                .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                .addComponent(lastUpdatedLabel)
+                                .addComponent(lastUpdatedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGap(10, 10, 10)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                    .addComponent(callInitiatedLabel)
+                                    .addComponent(callInitiatedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                    .addComponent(totalElapsedTimeLabel)
+                                    .addComponent(totalElapsedTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(callTakenLabel)
+                            .addComponent(callTakenField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(timeInQLabel)
+                            .addComponent(timeInQField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(4, 4, 4)))
+                .addComponent(statusBarLabel)
+                .addGap(7, 7, 7)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(addressLabel)
+                            .addComponent(problemLabel)
+                            .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(cityLabel)
+                            .addComponent(problemCodeLabel)
+                            .addComponent(cityField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(aptLabel)
+                            .addComponent(priorityDescLabel)
+                            .addComponent(buildingLabel)
+                            .addComponent(aptField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(buildingField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(phoneLabel)
+                            .addComponent(extLabel)
+                            .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(extField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(problemField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(problemCodeField, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(priorityDescField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(crossStreetLabel)
+                    .addComponent(primaryUnitLabel)
+                    .addComponent(crossStreetField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(locationLabel)
+                    .addComponent(locationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(primaryUnitField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(mapInfoLabel)
+                    .addComponent(backupUnitsLabel)
+                    .addComponent(mapInfoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(respAreaLabel)
+                    .addComponent(divisionLabel)
+                    .addComponent(respAreaField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(divisionField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(backupUnitsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(sectorLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(sectorCodeLabel)
+                    .addComponent(sectorField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(sectorCodeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(callerTypeLabel)
+                    .addComponent(callerNameLabel)
+                    .addComponent(callerTypeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(callerNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(61, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+        jPanel2.setLayout(jPanel2Layout);
+        jPanel2Layout.setHorizontalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel2Layout.createSequentialGroup()
+                        .addComponent(incidentCommentsLabel)
+                        .addGap(0, 788, Short.MAX_VALUE))
+                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING)))
+        );
+        jPanel2Layout.setVerticalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(incidentCommentsLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(502, Short.MAX_VALUE))
+        );
+
+        jScrollPane3.setViewportView(jPanel2);
+
+        jSplitPane2.setRightComponent(jScrollPane3);
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addGap(0, 0, Short.MAX_VALUE)
+                .addComponent(printButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
+            .addComponent(jSplitPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 927, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(jSplitPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(printButton, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
+        );
+
+        pack();
+    }// </editor-fold>                        
+
+    private void printButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
+        // TODO add your handling code here:
+    }                                           
+
+    private void respAreaFieldActionPerformed(java.awt.event.ActionEvent evt) {                                              
+        // TODO add your handling code here:
+    }                                             
+
+    public void refreshInformation(int incidentId){
+        /*incidentNumberField.setText(cadData.getIncident(incidentId).getMasterID());
+        callInitiatedField.setText(cadData.getIncident(incidentId).getInfo().getCallInit());
+        callTakenField.setText(cadData.getIncident(incidentId).getInfo().getCallTaken());
+        timeInQField.setText(cadData.getIncident(incidentId).getInfo().getTimeInQ());
+        lastUpdatedField.setText(cadData.getIncident(incidentId).getInfo().getLastUpdated());
+        //NEED TO CHANGE : get timeStarted, setTotalElaspedTime = currentTime - timeStarted
+        
+        totalElapsedTimeField.setText(cadData.getIncident(incidentId).getInfo().getTotalElapsedTime());
+        addressField.setText(cadData.getIncident(incidentId).getIncidentLocation().getAddress());
+        cityField.setText(cadData.getIncident(incidentId).getIncidentLocation().getCity());
+        aptField.setText(cadData.getIncident(incidentId).getIncidentLocation().getApt());
+        phoneField.setText(cadData.getIncident(incidentId).getIncidentCaller().getPhone());
+        crossStreetField.setText(cadData.getIncident(incidentId).getIncidentLocation().getCrossSt());
+        locationField.setText(cadData.getIncident(incidentId).getIncidentLocation().getLoc());
+        //mapInfoField.setText
+        respAreaField.setText(cadData.getIncident(incidentId).getResponse().getArea());
+        sectorField.setText(cadData.getIncident(incidentId).getIncidentLocation().getSector());
+        callerTypeField.setText(cadData.getIncident(incidentId).getIncidentCaller().getCallerType());
+        problemField.setText(cadData.getIncident(incidentId).getProblem().getProblem());
+        problemCodeField.setText(cadData.getIncident(incidentId).getProblem().getProblemCode());
+        priorityDescField.setText(cadData.getIncident(incidentId).getP());
+        primaryUnitField.setText(cadData.getIncident(incidentId).getAssignedUnitNums().getFirst());
+        if(cadData.getIncident(incidentId).isViewable() && cadData.getIncident(incidentId).getIncidentStatus() == IncidentEnums.Closed){
+            statusBarLabel.setIcon(closed);
+        }else{
+            statusBarLabel.setIcon(active);
+        }
+        buildingField.setText(cadData.getIncident(incidentId).getIncidentLocation().getBuilding());
+        extField.setText(cadData.getIncident(incidentId).getIncidentCaller().getExt());
+        divisionField.setText(cadData.getIncident(incidentId).getIncidentLocation().getDivision());
+        sectorCodeField.setText(cadData.getIncident(incidentId).getIncidentLocation().getSectorCode());
+        callerNameField.setText(cadData.getIncident(incidentId).getIncidentCaller().getCallerName());
+        if(cadData.getIncident(incidentId).getAssignedUnitNums().size() <= 1){
+            backupUnitsField.setText("");
+        }else{
+            String unitNums = "";
+            for(int i = 1; i < cadData.getIncident(incidentId).getAssignedUnitNums().size(); i++){
+                unitNums = unitNums.concat((String) cadData.getIncident(incidentId).getAssignedUnitNums().get(i));
+                if(i == cadData.getIncident(incidentId).getAssignedUnitNums().size() - 1){
+                    break;
+                }
+                unitNums = unitNums.concat(", ");
+            }
+            backupUnitsField.setText(unitNums);
+        }*/
+    }
+    
+    /*
+     * Displays the information of the latest incident clicked.
+     */
+    public void open(int incidentId){
+        refreshInformation(incidentId);
+        //setTitle("<1> RL ~" + cadData.getIncident(incidentId).getMasterID());
+    }
+    
+    /*
+     * Hides the screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+
+    
+    // Variables declaration - do not modify
+    private ImageIcon active;
+    private ImageIcon closed;
+    private javax.swing.JTextField addressField;
+    private javax.swing.JLabel addressLabel;
+    private javax.swing.JTextField aptField;
+    private javax.swing.JLabel aptLabel;
+    private javax.swing.JTextField backupUnitsField;
+    private javax.swing.JLabel backupUnitsLabel;
+    private javax.swing.JTextField buildingField;
+    private javax.swing.JLabel buildingLabel;
+    private javax.swing.JTextField callInitiatedField;
+    private javax.swing.JLabel callInitiatedLabel;
+    private javax.swing.JTextField callTakenField;
+    private javax.swing.JLabel callTakenLabel;
+    private javax.swing.JTextField callerNameField;
+    private javax.swing.JLabel callerNameLabel;
+    private javax.swing.JTextField callerTypeField;
+    private javax.swing.JLabel callerTypeLabel;
+    private javax.swing.JTextField cityField;
+    private javax.swing.JLabel cityLabel;
+    private javax.swing.JTextField crossStreetField;
+    private javax.swing.JLabel crossStreetLabel;
+    private javax.swing.JTextField divisionField;
+    private javax.swing.JLabel divisionLabel;
+    private javax.swing.JLabel extLabel;
+    private javax.swing.JLabel incidentCommentsLabel;
+    private javax.swing.JTable incidentCommentsTable;
+    private javax.swing.JTextField incidentNumberField;
+    private javax.swing.JLabel incidentNumberLabel;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JScrollPane jScrollPane2;
+    private javax.swing.JScrollPane jScrollPane3;
+    private javax.swing.JSplitPane jSplitPane2;
+    private javax.swing.JTextField extField;
+    private javax.swing.JTextField lastUpdatedField;
+    private javax.swing.JLabel lastUpdatedLabel;
+    private javax.swing.JTextField locationField;
+    private javax.swing.JLabel locationLabel;
+    private javax.swing.JTextField mapInfoField;
+    private javax.swing.JLabel mapInfoLabel;
+    private javax.swing.JTextField phoneField;
+    private javax.swing.JLabel phoneLabel;
+    private javax.swing.JTextField primaryUnitField;
+    private javax.swing.JLabel primaryUnitLabel;
+    private javax.swing.JButton printButton;
+    private javax.swing.JTextField priorityDescField;
+    private javax.swing.JLabel priorityDescLabel;
+    private javax.swing.JTextField problemCodeField;
+    private javax.swing.JLabel problemCodeLabel;
+    private javax.swing.JTextField problemField;
+    private javax.swing.JLabel problemLabel;
+    private javax.swing.JTextField respAreaField;
+    private javax.swing.JLabel respAreaLabel;
+    private javax.swing.JTextField sectorCodeField;
+    private javax.swing.JLabel sectorCodeLabel;
+    private javax.swing.JTextField sectorField;
+    private javax.swing.JLabel sectorLabel;
+    private javax.swing.JLabel statusBarLabel;
+    private javax.swing.JTextField timeInQField;
+    private javax.swing.JLabel timeInQLabel;
+    private javax.swing.JTextField totalElapsedTimeField;
+    private javax.swing.JLabel totalElapsedTimeLabel;
+    // End of variables declaration                   
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/ScreenManager.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/ScreenManager.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/ScreenManager.java	(revision 3)
@@ -0,0 +1,334 @@
+package tmcsim.client.cadclientgui.screens;
+
+import javax.swing.InputMap;
+import javax.swing.JComponent;
+import javax.swing.Timer;
+import javax.swing.table.DefaultTableModel;
+
+import tmcsim.cadsimulator.Coordinator;
+import tmcsim.client.cadclientgui.data.CADData;
+import tmcsim.client.cadclientgui.data.Unit;
+import tmcsim.interfaces.CoordinatorInterface;
+
+import java.awt.KeyEventDispatcher;
+import java.awt.KeyboardFocusManager;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
+import java.rmi.RemoteException;
+import java.util.Vector;
+
+/**
+ * This class contains a reference to every single view-able component as well as a reference to the coordinator(which serves as the database).
+ * All commands to access data or manipulate a screen outside of the individual screen should be done through this ScreenManager.
+ * 
+ * @author Stuart
+ */
+
+public class ScreenManager {
+    
+    private final static int ONE_SECOND = 1000;
+    
+    private static ActivityLogViewer activityLogViewer;
+    private static AssignedIncidents assignedIncidents;
+    //private static BOLOEntry boloEntry;
+    private static CADMenu cadMenu;
+    private static Cardfile cardfile;
+    private static IncidentEditor incidentEditor;
+    private static IncidentInfo incidentInfo;
+    //private static IncidentSupplementPersonForm incidentSupplementPersonForm;
+    private static IncidentViewer incidentViewer;
+    private static Login login;
+    private static PendingIncidents pendingIncidents;
+    private static PowerlineUI powerlineUI1;
+    private static PowerlineUI powerlineUI2;
+    private static PowerlineUI powerlineUI3;
+    private static PowerlineUI powerlineUI4;
+    private static PowerlineUI powerlineUI5;
+    private static int currPowerlineFocus = 1;
+    //private static RotationServiceRequest rotationServiceRequest;
+    private static Search search;
+    private static UnitStatus unitStatus;
+    //private static VehicleInformationEntry vehicleInformationEntry;
+    
+    //Reference to the Coordinator to use RMI methods
+    protected static CoordinatorInterface theCoordinator;
+    
+    public ScreenManager(CoordinatorInterface theCoor){
+        theCoordinator = theCoor;
+        activityLogViewer = new ActivityLogViewer();
+        
+        assignedIncidents = new AssignedIncidents();
+        assignedIncidents.addWindowListener(createWindowListener());
+
+        //boloEntry = new BOLOEntry();
+        //boloEntry.addWindowListener(createWindowListener());
+        
+        cadMenu = new CADMenu();
+        cadMenu.addWindowListener(createWindowListener());
+        
+        cardfile = new Cardfile();
+        cardfile.addWindowListener(createWindowListener());
+        
+        incidentEditor = new IncidentEditor();
+        incidentEditor.addWindowListener(createWindowListener());
+        
+        incidentInfo = new IncidentInfo();
+        incidentInfo.addWindowListener(createWindowListener());
+        
+        //incidentSupplementPersonForm = new IncidentSupplementPersonForm();
+        //incidentSupplementPersonForm.addWindowListener(createWindowListener());
+        
+        incidentViewer = new IncidentViewer();
+        incidentViewer.addWindowListener(createWindowListener());
+        
+        pendingIncidents = new PendingIncidents();
+        pendingIncidents.addWindowListener(createWindowListener());
+
+        powerlineUI1 = new PowerlineUI(false, 1);
+        powerlineUI1.addWindowListener(createWindowListener());
+        
+        powerlineUI2 = new PowerlineUI(false, 2);
+        powerlineUI2.addWindowListener(createWindowListener());
+        
+        powerlineUI3 = new PowerlineUI(false, 3);
+        powerlineUI3.addWindowListener(createWindowListener());
+        
+        powerlineUI4 = new PowerlineUI(false, 4);
+        powerlineUI4.addWindowListener(createWindowListener());
+        
+        powerlineUI5 = new PowerlineUI(false, 5);
+        powerlineUI5.addWindowListener(createWindowListener());
+        
+        //rotationServiceRequest = new RotationServiceRequest();
+        //rotationServiceRequest.addWindowListener(createWindowListener());
+        
+        search = new Search();
+        search.addWindowListener(createWindowListener());
+        unitStatus = new UnitStatus();
+        unitStatus.addWindowListener(createWindowListener());
+        
+        //vehicleInformationEntry = new VehicleInformationEntry();
+        //vehicleInformationEntry.addWindowListener(createWindowListener());
+        
+        KeyboardFocusManager.getCurrentKeyboardFocusManager()
+        .addKeyEventDispatcher(new KeyEventDispatcher(){
+            public boolean dispatchKeyEvent(KeyEvent e) {
+                if(e.getKeyCode() == KeyEvent.VK_F2 && e.getID() == KeyEvent.KEY_PRESSED
+                        && e.getModifiers() == InputEvent.SHIFT_MASK){
+                    openPendingIncidents();
+                    return true;
+                }
+                if(e.getKeyCode() == KeyEvent.VK_F3 && e.getID() == KeyEvent.KEY_PRESSED
+                        && e.getModifiers() == InputEvent.SHIFT_MASK){
+                    openAssignedIncidents();
+                    return true;
+                }
+                if(e.getKeyCode() == KeyEvent.VK_F4 && e.getID() == KeyEvent.KEY_PRESSED
+                        && e.getModifiers() == InputEvent.SHIFT_MASK){
+                    openUnitStatus();
+                    return true;
+                }
+                if(e.getKeyCode() == KeyEvent.VK_F4 && e.getID() == KeyEvent.KEY_PRESSED){
+                    cyclePowerlineUI();
+                    return true;
+                }
+                if(e.getKeyCode() == KeyEvent.VK_F5 && e.getID() == KeyEvent.KEY_PRESSED){
+                    openPowerlineUI();
+                    return true;
+                }
+                if(e.getKeyCode() == KeyEvent.VK_F9 && e.getID() == KeyEvent.KEY_PRESSED){
+                    openCardfile();
+                    return true;
+                }
+                if(e.getKeyCode() == KeyEvent.VK_F10 && e.getID() == KeyEvent.KEY_PRESSED){
+                    putRCARDinPL();
+                    return true;
+                }
+                return false;
+            }
+        });
+        
+        handleUpdateTimes();
+    }
+    
+    public WindowListener createWindowListener(){
+        return new WindowListener(){
+            public void windowActivated(WindowEvent e) {
+                closeDropDownMenus();
+            }
+            public void windowClosed(WindowEvent e) {
+                closeDropDownMenus();
+            }
+            public void windowClosing(WindowEvent e) {
+                closeDropDownMenus();
+            }
+            public void windowDeactivated(WindowEvent e) {}
+            public void windowDeiconified(WindowEvent e) {}
+            public void windowIconified(WindowEvent e) {
+                closeDropDownMenus();
+            }
+            public void windowOpened(WindowEvent e) {}
+        };
+    }
+    
+    public static void openActivityLogViewer(){ activityLogViewer.open(); }
+    public static void closeActivityLogViewer(){ activityLogViewer.close(); }
+    
+    public static void openAssignedIncidents(){ assignedIncidents.open(); }
+    public static void closeAssignedIncidents(){ assignedIncidents.close(); }
+    
+    //public static void openBOLOEntry(){ boloEntry.open(); }
+    //public static void closeBOLOEntry(){ boloEntry.close(); }
+    
+    public static void openCADMenu(){ cadMenu.open(); }
+    public static void closeCADMenu(){ cadMenu.close(); }
+    
+    public static void openCardfile(){ cardfile.open(); }
+    public static void closeCardfile(){ cardfile.close(); }
+    
+    public static void openIncidentEditor(){ incidentEditor.open(); }
+    public static void closeIncidentEditor(){ incidentEditor.close(); }
+    public static void refreshIncidentEditor(){ incidentEditor.refreshInformation(); }
+    
+    public static void openIncidentInfo(int incidentId){ incidentInfo.open(incidentId); }
+    public static void closeIncidentInfo(){ incidentInfo.close(); }
+    
+    //public static void openIncidentSupplementPersonForm(){ incidentSupplementPersonForm.open(); }
+    //public static void closeIncidentSupplementPersonForm(){ incidentSupplementPersonForm.close(); }
+    
+    public static void openIncidentViewer(int incidentId){ incidentViewer.open(incidentId); }
+    public static void closeIncidentViewer(){ incidentViewer.close(); }
+    
+    public static void openPendingIncidents(){ pendingIncidents.open(); }
+    public static void closePendingIncidents(){ pendingIncidents.close(); }
+    
+    public static void openPowerlineUI(){ 
+        if(!powerlineUI1.isVisible()){
+            powerlineUI1.open();
+        }else if(!powerlineUI2.isVisible()){
+            powerlineUI2.open();
+        }else if(!powerlineUI3.isVisible()){
+            powerlineUI3.open();
+        }else if(!powerlineUI4.isVisible()){
+            powerlineUI4.open();
+        }else if(!powerlineUI5.isVisible()){
+            powerlineUI5.open();
+        }    
+    }
+    
+    public static void cyclePowerlineUI(){
+        if(currPowerlineFocus == 1){
+            currPowerlineFocus = 2;
+            powerlineUI1.setVisible(true);
+            powerlineUI1.requestFocus();
+            powerlineUI1.clearText();
+        }
+        else if(currPowerlineFocus == 2){
+            currPowerlineFocus = 3;
+            powerlineUI2.setVisible(true);
+            powerlineUI2.requestFocus();
+            powerlineUI2.clearText();
+        }
+        else if(currPowerlineFocus == 3){
+            currPowerlineFocus = 4;
+            powerlineUI3.setVisible(true);
+            powerlineUI3.requestFocus();
+            powerlineUI3.clearText();
+        }
+        else if(currPowerlineFocus == 4){
+            currPowerlineFocus = 5;
+            powerlineUI4.setVisible(true);
+            powerlineUI4.requestFocus();
+            powerlineUI4.clearText();
+        }
+        else if(currPowerlineFocus == 5){
+            currPowerlineFocus = 1;
+            powerlineUI5.setVisible(true);
+            powerlineUI5.requestFocus();
+            powerlineUI5.clearText();
+        }
+    }
+    
+    public static void putRCARDinPL(){
+        if(powerlineUI2.hasFocus()){
+            powerlineUI2.putRCARD();
+        }
+        else if(powerlineUI3.hasFocus()){
+            powerlineUI3.putRCARD();
+        }
+        else if(powerlineUI4.hasFocus()){
+            powerlineUI4.putRCARD();
+        }
+        else if(powerlineUI5.hasFocus()){
+            powerlineUI5.putRCARD();
+        }
+        else{
+            powerlineUI1.setVisible(true);
+            powerlineUI1.putRCARD();
+        }
+    }
+    
+    //public static void openRotationServiceRequest(){ rotationServiceRequest.open(); }
+    //public static void closeRotationServiceRequest(){ rotationServiceRequest.close(); }
+    
+    public static void openSearch(){ search.open(); }
+    public static void closeSearch(){ search.close(); }
+    
+    public static void openUnitStatus(){ unitStatus.open(); }
+    public static void closeUnitStatus(){ unitStatus.close(); }
+    
+    //public static void openVehicleInformationEntry(){ vehicleInformationEntry.open(); }
+    //public static void closeVehicleInformationEntry(){ vehicleInformationEntry.close(); }
+    
+    public static void createPowerlineSearch(String search){
+        new PowerlineSearch(search);
+    }
+    
+    public static void closeDropDownMenus(){
+        cadMenu.closeMoreMenu();
+        cadMenu.closeToolMenu();
+        assignedIncidents.closeDropDownMenu();
+        unitStatus.closeDropDownMenu();
+        unitStatus.closeDropDownWithAssignedIncMenu();
+        pendingIncidents.closeDropDownMenu();
+    }
+    
+    public static void refreshScreens(){
+        assignedIncidents.refreshTable();
+        unitStatus.refreshTable();
+        pendingIncidents.refreshTable();
+    }
+    
+    public static void setUserName(String username){
+        cadMenu.setName(username);
+    }
+    
+    /**
+     * This method calls CADMenu's and UnitStatus's update time method.
+     */
+    public static void handleUpdateTimes(){
+        Timer timer = new Timer(ONE_SECOND, new ActionListener(){
+            public void actionPerformed(ActionEvent e) {
+                refreshScreens();
+                cadMenu.handleUpdateTime();
+                unitStatus.handleUpdateTime();
+            }
+        });
+        timer.start();
+    }
+    
+    /**
+     * Removes drag and drop/button clicking in unitStatus panel if bool is false.
+     * This method should only be called from Login.java
+     */
+    public static void setDispatcherAuthority(boolean bool){
+        if (!bool){
+            unitStatus.removeDispatcherAuthority();
+            cadMenu.removeDispatcherStatus();
+        }
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/CADMenu.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/CADMenu.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/CADMenu.java	(revision 3)
@@ -0,0 +1,602 @@
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Point;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+
+/**
+ * The main CADMenu with buttons to open up other screens. This class uses
+ * mostly images to build from, and java gui does not allow those images to be
+ * editable here, so all the images' pixels are predefined in the images
+ * themselves. The images can be found in the images folder. An image called
+ * "CADMenuLayout" can also be found in the same folder showing how this class's
+ * looks were made.
+ * 
+ * @author Vincent
+ * 
+ */
+public class CADMenu extends JFrame {
+
+    private final int ONE_SECOND = 1000;
+
+    private DateFormat dateFormat;
+
+    private Box mainPanel;
+    private Box bottomRightIcons;
+    private Box bottomRightButtonsGrayed;
+    private Box bottomRightButtonsColored;
+    private JLabel dateAndTime;
+    private JLabel name;
+    private JLabel userListName1;
+
+    private JButton button1;
+    private JButton button2;
+    private JButton button3;
+    private JButton button4;
+    private JButton button5;
+    private JButton button6;
+    private JButton buttonTool;
+    private JButton buttonMore;
+    
+    // the drop down menu when the "more button" is clicked.
+    private JFrame moreMenu;
+
+    // the drop down menu when the "tool button" is clicked.
+    private JFrame toolMenu;
+
+    private JButton buttonCheckmark;
+    private JButton buttonMinus;
+
+    private JLabel position;
+
+    /**
+     * Constructor call. Creates the CADMenu.
+     */
+    public CADMenu() {
+        initialize();
+        createTopPanel();
+        createBottomPanel();
+        createDropDownMenus();
+        
+        initControllers();
+        
+        getContentPane().add(mainPanel);
+
+        setTitle("Inform CAD");
+        setPreferredSize(new Dimension(1195, 178));
+        setResizable(true);
+        setFocusable(true);
+        pack();
+        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+        setVisible(false);
+    }
+
+    /**
+     * Initializes variables and connects the CADMenu to the CADMenuListener.
+     */
+    public void initialize() {
+        mainPanel = new Box(BoxLayout.Y_AXIS);
+        mainPanel.setAlignmentX(LEFT_ALIGNMENT);
+        dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
+    }
+
+    public void addListeners() {
+        addComponentListener(new ComponentListener() {
+            public void componentHidden(ComponentEvent e) {
+            }
+
+            public void componentMoved(ComponentEvent e) {
+                closeToolMenu();
+                closeMoreMenu();
+                setLocation(getLocation());
+            }
+
+            public void componentResized(ComponentEvent e) {
+            }
+
+            public void componentShown(ComponentEvent e) {
+            }
+        });
+        addMouseListener(new MouseListener() {
+            public void mouseClicked(MouseEvent arg0) {
+                closeToolMenu();
+                closeMoreMenu();
+            }
+
+            public void mouseEntered(MouseEvent arg0) {
+            }
+
+            public void mouseExited(MouseEvent arg0) {
+            }
+
+            public void mousePressed(MouseEvent arg0) {
+            }
+
+            public void mouseReleased(MouseEvent arg0) {
+            }
+        });
+    }
+    
+    public void initToolMenuListeners(){
+        toolMenu.addMouseMotionListener(new MouseMotionListener() {
+            public void mouseDragged(MouseEvent e) {
+            }
+
+            public void mouseMoved(MouseEvent e) {
+            }
+        });
+
+        toolMenu.addMouseListener(new MouseListener() {
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+
+            public void mouseClicked(MouseEvent e) {
+            }
+        });
+    }
+    
+    public void initMoreMenuListeners(){
+        moreMenu.addMouseMotionListener(new MouseMotionListener() {
+            public void mouseDragged(MouseEvent e) {
+            }
+
+            public void mouseMoved(MouseEvent e) {
+                ImageIcon image = new ImageIcon(
+                        "images/MoreMenuImages/moreMenu.png");
+                JLabel menu;
+                if (e.getLocationOnScreen().getY() >= moreMenu.getY()
+                        && e.getLocationOnScreen().getY() <= moreMenu.getY()
+                                + moreMenu.getHeight() / 8) {
+                    image = new ImageIcon(
+                            "images/MoreMenuImages/moreMenuHighlighted1.png");
+                } else if (e.getLocationOnScreen().getY() >= moreMenu.getY()
+                        + moreMenu.getHeight() * 2 / 8
+                        && e.getLocationOnScreen().getY() <= moreMenu.getY()
+                                + moreMenu.getHeight() * 3 / 8) {
+                    image = new ImageIcon(
+                            "images/MoreMenuImages/moreMenuHighlighted3.png");
+                }
+                menu = new JLabel(image);
+                moreMenu.getContentPane().removeAll();
+                moreMenu.getContentPane().add(menu);
+                moreMenu.validate();
+            }
+        });
+
+        moreMenu.addMouseListener(new MouseListener() {
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+
+            public void mouseClicked(MouseEvent e) {
+                if (e.getLocationOnScreen().getY() >= moreMenu.getY()
+                        && e.getLocationOnScreen().getY() <= moreMenu.getY()
+                                + moreMenu.getHeight() / 8) {
+                    ScreenManager.openIncidentEditor();
+                    closeMoreMenu();
+                } else if (e.getLocationOnScreen().getY() >= moreMenu.getY()
+                        + moreMenu.getHeight() * 2 / 8
+                        && e.getLocationOnScreen().getY() <= moreMenu.getY()
+                                + moreMenu.getHeight() * 3 / 8) {
+                    ScreenManager.openCardfile();
+                    closeMoreMenu();
+                }
+            }
+        });
+    }
+    
+    public void initControllers(){
+        addListeners();
+
+        buttonTool.addActionListener(newToolActionListener());
+        buttonMore.addActionListener(newMoreActionListener());
+        
+        initToolMenuListeners();
+        initMoreMenuListeners();    
+    }
+
+    public ActionListener newToolActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                if (moreMenu.isVisible()) {
+                    closeMoreMenu();
+                }
+                if (toolMenu.isVisible()) {
+                    closeToolMenu();
+                } else {
+                    toolMenu.setLocation(new Point(getX() + getWidth()
+                            - toolMenu.getWidth(), getY() + 85));
+                    toolMenu.setVisible(true);
+                }
+            }
+        };
+    }
+    
+    public ActionListener newMoreActionListener(){
+        return new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                if (toolMenu.isVisible()) {
+                    closeToolMenu();
+                }
+                if (moreMenu.isVisible()) {
+                    closeMoreMenu();
+                } else {
+                    moreMenu.setLocation(new Point(getX() + getWidth()
+                            - moreMenu.getWidth(), getY() + 85));
+                    moreMenu.setVisible(true);
+                }
+            }
+        };
+    }
+    
+    /*
+     * Creates the topPanel for the CADMenu.
+     */
+    public void createTopPanel() {
+
+        Box topPanel = new Box(BoxLayout.X_AXIS);
+        topPanel.setAlignmentX(LEFT_ALIGNMENT);
+
+        ImageIcon image = new ImageIcon("images/CADMenuImages/tritech.png");
+        JLabel tritech = new JLabel(image);
+        topPanel.add(tritech);
+
+        image = new ImageIcon("images/CADMenuImages/empty.png");
+        JLabel empty = new JLabel(image);
+        topPanel.add(empty);
+
+        // center holds the User's Name, user's position, and date/time
+        Box center = new Box(BoxLayout.Y_AXIS);
+        image = new ImageIcon("images/CADMenuImages/top.png");
+
+        name = new JLabel(image);
+        name.setText("User");
+        name.setFont(new Font("SanSerif", Font.BOLD, 16));
+        name.setForeground(Color.WHITE);
+        name.setHorizontalTextPosition(JLabel.CENTER);
+        center.add(name);
+
+        Box centerBottom = new Box(BoxLayout.X_AXIS);
+        centerBottom.setAlignmentX(Box.LEFT_ALIGNMENT);
+
+        image = new ImageIcon("images/CADMenuImages/bottom.png");
+        position = new JLabel(image);
+        position.setText("Public Safety Dispatch Sup");
+        position.setFont(new Font("Arial", Font.PLAIN, 12));
+        position.setForeground(new Color(190, 210, 255));
+        position.setHorizontalTextPosition(JLabel.CENTER);
+        centerBottom.add(position);
+
+        image = new ImageIcon("images/CADMenuImages/bottom.png");
+        Date date = new Date();
+        DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
+        String dateTime = dateFormat.format(date);
+        dateAndTime = new JLabel(image);
+        dateAndTime.setText(dateTime);
+        dateAndTime.setForeground(Color.WHITE);
+        dateAndTime.setHorizontalTextPosition(JLabel.CENTER);
+        centerBottom.add(dateAndTime);
+        center.add(centerBottom);
+
+        topPanel.add(center);
+
+        image = new ImageIcon("images/CADMenuImages/empty2.png");
+        JLabel empty2 = new JLabel(image);
+        topPanel.add(empty2);
+
+        image = new ImageIcon("images/CADMenuImages/button1.png");
+        button1 = makeButton(image);
+        topPanel.add(button1);
+
+        image = new ImageIcon("images/CADMenuImages/button2.png");
+        button2 = makeButton(image);
+        topPanel.add(button2);
+
+        image = new ImageIcon("images/CADMenuImages/button3.png");
+        button3 = makeButton(image);
+        topPanel.add(button3);
+
+        image = new ImageIcon("images/CADMenuImages/button4.png");
+        button4 = makeButton(image);
+        topPanel.add(button4);
+
+        image = new ImageIcon("images/CADMenuImages/button5.png");
+        button5 = makeButton(image);
+        topPanel.add(button5);
+
+        image = new ImageIcon("images/CADMenuImages/button6.png");
+        button6 = makeButton(image);
+        topPanel.add(button6);
+
+        image = new ImageIcon("images/CADMenuImages/button7.png");
+        buttonTool = makeButton(image);
+        topPanel.add(buttonTool);
+
+        image = new ImageIcon("images/CADMenuImages/button8.png");
+        buttonMore = makeButton(image);
+        topPanel.add(buttonMore);
+
+        mainPanel.add(topPanel);
+    }
+
+    /**
+     * Creates the bottomPanel of the CADMenu.
+     */
+    public void createBottomPanel() {
+        Color grayBackground = new Color(100, 100, 100);
+
+        Box userList = new Box(BoxLayout.Y_AXIS);
+        userList.setAlignmentX(LEFT_ALIGNMENT);
+
+        Dimension size = new Dimension(400, 85);
+        userList.setPreferredSize(size);
+        userList.setMaximumSize(size);
+        userList.setMinimumSize(size);
+        userList.setBackground(grayBackground);
+        userList.setOpaque(true);
+
+        Box user1 = new Box(BoxLayout.X_AXIS);
+        user1.setAlignmentX(LEFT_ALIGNMENT);
+
+        ImageIcon image = new ImageIcon("images/CADMenuImages/mailClose.png");
+        JLabel userListIcon1 = new JLabel(image);
+        userListName1 = new JLabel("User");
+        userListName1.setForeground(Color.WHITE);
+        userListName1.setBackground(grayBackground);
+        userListName1.setOpaque(true);
+        JLabel userListNumbers = new JLabel(
+                "<html><font color=white>(</font><font color=red>0</font><font color=white>,0,0)</font></html>");
+        userListNumbers.setBackground(grayBackground);
+        userListNumbers.setOpaque(true);
+
+        user1.add(userListIcon1);
+        user1.add(userListName1);
+        user1.add(userListNumbers);
+        userList.add(user1);
+
+        Box user2 = new Box(BoxLayout.X_AXIS);
+        user2.setAlignmentX(LEFT_ALIGNMENT);
+
+        image = new ImageIcon("images/CADMenuImages/mailClose.png");
+        JLabel userListIcon2 = new JLabel(image);
+        JLabel userListName2 = new JLabel("  SL007  ");
+        userListName2.setForeground(Color.WHITE);
+        userListName2.setBackground(grayBackground);
+        userListName2.setOpaque(true);
+        userListNumbers = new JLabel(
+                "<html><font color=white>(</font><font color=red>0</font><font color=white>,0,0)</font></html>");
+        userListNumbers.setBackground(grayBackground);
+        userListNumbers.setOpaque(true);
+
+        user2.add(userListIcon2);
+        user2.add(userListName2);
+        user2.add(userListNumbers);
+        userList.add(user2);
+
+        JLabel currentAgency = new JLabel("  Current Agency is CHP");
+        currentAgency.setForeground(Color.WHITE);
+        currentAgency.setBackground(grayBackground);
+        currentAgency.setOpaque(true);
+        currentAgency.setHorizontalTextPosition(JLabel.LEFT);
+        userList.add(currentAgency);
+
+        Box bottomPanel = new Box(BoxLayout.X_AXIS);
+        bottomPanel.setAlignmentX(LEFT_ALIGNMENT);
+        bottomPanel.add(userList);
+        bottomPanel.add(Box.createHorizontalStrut(5));
+
+        Box bottomRight = new Box(BoxLayout.Y_AXIS);
+        size = new Dimension(775, 85);
+        bottomRight.setPreferredSize(size);
+        bottomRight.setMaximumSize(size);
+        bottomRight.setMinimumSize(size);
+        image = new ImageIcon("images/CADMenuImages/grayFillerTop.png");
+        bottomRight.add(new JLabel(image));
+
+        bottomRightIcons = new Box(BoxLayout.X_AXIS);
+        bottomRightIcons.setAlignmentX(LEFT_ALIGNMENT);
+        image = new ImageIcon("images/CADMenuImages/grayFillerBottom.png");
+        bottomRightIcons.add(new JLabel(image));
+
+        createBottomRightButtons();
+        bottomRightIcons.add(bottomRightButtonsGrayed);
+        bottomRight.add(bottomRightIcons);
+        bottomPanel.add(bottomRight);
+
+        mainPanel.add(bottomPanel);
+    }
+
+    /**
+     * Creates the two bottom right buttons.
+     */
+    public void createBottomRightButtons() {
+        bottomRightButtonsGrayed = new Box(BoxLayout.X_AXIS);
+        ImageIcon image = new ImageIcon(
+                "images/CADMenuImages/checkmarkGrey.png");
+        buttonCheckmark = makeButton(image);
+        bottomRightButtonsGrayed.add(buttonCheckmark);
+        image = new ImageIcon("images/CADMenuImages/minusGrey.png");
+
+        buttonMinus = makeButton(image);
+        bottomRightButtonsGrayed.add(buttonMinus);
+
+        bottomRightButtonsColored = new Box(BoxLayout.X_AXIS);
+        image = new ImageIcon("images/CADMenuImages/checkmarkGreen.png");
+        buttonCheckmark = makeButton(image);
+        bottomRightButtonsColored.add(buttonCheckmark);
+        image = new ImageIcon("images/CADMenuImages/minusRed.png");
+
+        buttonMinus = makeButton(image);
+        bottomRightButtonsColored.add(buttonMinus);
+    }
+
+    /**
+     * This method creates the drop down menus for both the tool and more
+     * buttons
+     */
+    public void createDropDownMenus() {
+
+        ImageIcon image = new ImageIcon("images/ToolMenuImages/toolMenu.png");
+        JLabel menu = new JLabel(image);
+        toolMenu = new JFrame();
+        toolMenu.getContentPane().add(menu);
+        toolMenu.setUndecorated(true);
+        toolMenu.pack();
+        toolMenu.setVisible(false);
+
+        image = new ImageIcon("images/MoreMenuImages/moreMenu.png");
+        menu = new JLabel(image);
+        moreMenu = new JFrame();
+        moreMenu.getContentPane().add(menu);
+        moreMenu.setUndecorated(true);
+        moreMenu.pack();
+        moreMenu.setVisible(false);
+    }
+
+    /**
+     * Takes in the name of the user and displays it.
+     */
+    public void setName(String username) {
+        name.setText(username);
+        userListName1.setText(username);
+    }
+
+    /**
+     * Factory method. Makes a JButton with an image and listener.
+     * 
+     * @param image
+     *            the image this button will display.
+     * @param listener
+     *            the action listener for this button.
+     * @return the JButton.
+     */
+    public JButton makeButton(ImageIcon image) {
+        JButton button = new JButton(image);
+        Dimension size = new Dimension(image.getImage().getWidth(null), image
+                .getImage().getHeight(null));
+        button.setPreferredSize(size);
+        button.setMinimumSize(size);
+        button.setMaximumSize(size);
+        button.setBorderPainted(false);
+        button.setFocusable(false);
+
+        return button;
+    }
+
+    /**
+     * Hides the tool drop down menu. Also resets the image to the default(no
+     * highlighted rows).
+     */
+    public void closeToolMenu() {
+        ImageIcon image;
+        JLabel menu;
+        image = new ImageIcon("images/ToolMenuImages/toolMenu.png");
+        menu = new JLabel(image);
+        toolMenu.getContentPane().removeAll();
+        toolMenu.getContentPane().add(menu);
+        toolMenu.validate();
+        toolMenu.setVisible(false);
+    }
+
+    /**
+     * Hides the more drop down menu. Also resets the image to the default(no
+     * highlighted rows).
+     */
+    public void closeMoreMenu() {
+        ImageIcon image;
+        JLabel menu;
+        image = new ImageIcon("images/MoreMenuImages/moreMenu.png");
+        menu = new JLabel(image);
+        moreMenu.getContentPane().removeAll();
+        moreMenu.getContentPane().add(menu);
+        moreMenu.validate();
+        moreMenu.setVisible(false);
+    }
+
+    /**
+     * This method is called every second in ScreenManger to update the display
+     * time every second.
+     */
+    public void handleUpdateTime() {
+        Date date = new Date();
+        String dateTime = dateFormat.format(date);
+        dateAndTime.setText(dateTime);
+    }
+
+    /**
+     * Makes screen visible.
+     */
+    public void open() {
+        setVisible(true);
+    }
+
+    /**
+     * Hides screen.
+     */
+    public void close() {
+        setVisible(false);
+    }
+
+    /**
+     * Currently not used.
+     */
+    public void setIncomingIncident() {
+        bottomRightIcons.remove(bottomRightButtonsGrayed);
+        bottomRightIcons.add(bottomRightButtonsColored);
+        revalidate();
+        repaint();
+    }
+
+    /**
+     * Currently not used.
+     */
+    public void endIncomingIncident() {
+        bottomRightIcons.remove(bottomRightButtonsColored);
+        bottomRightIcons.add(bottomRightButtonsGrayed);
+        revalidate();
+        repaint();
+    }
+
+    /**
+     * Sets position title to trainee.
+     */
+    public void removeDispatcherStatus() {
+        position.setText("Trainee");
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/BOLOEntry.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/BOLOEntry.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/BOLOEntry.java	(revision 3)
@@ -0,0 +1,762 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import javax.swing.JComponent;
+
+/**
+ * CURRENTLY NOT IN USE.
+ * @author Stuart
+ */
+public class BOLOEntry extends javax.swing.JFrame {
+
+    /**
+     * Creates new form BOLOEntry
+     */
+    public BOLOEntry() {
+        declareComponents();
+        initComponents();
+        initLayout();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed"
+    // desc="Generated Code">//GEN-BEGIN:initComponents
+    private void declareComponents() {
+
+        incidentCaseInformationPane = new javax.swing.JPanel();
+        caseNumberLabel = new javax.swing.JLabel();
+        boloTypeLabel = new javax.swing.JLabel();
+        requestDateTimeLabel = new javax.swing.JLabel();
+        requestedByLabel = new javax.swing.JLabel();
+        unitLabel = new javax.swing.JLabel();
+        caseNumberField = new javax.swing.JTextField();
+        requestedByField = new javax.swing.JTextField();
+        otherInfoLabel = new javax.swing.JLabel();
+        otherInfoField = new javax.swing.JTextField();
+        unitField = new javax.swing.JTextField();
+        expiresLabel = new javax.swing.JLabel();
+        expiresField = new javax.swing.JTextField();
+        expiredCheckBox = new javax.swing.JCheckBox();
+        incidentNumberLabel = new javax.swing.JLabel();
+        incidentNumberField = new javax.swing.JTextField();
+        entryDateTimeLabel = new javax.swing.JLabel();
+        entryDateField = new javax.swing.JTextField();
+        entryTimeField = new javax.swing.JTextField();
+        enteredByLabel = new javax.swing.JLabel();
+        enteredByField = new javax.swing.JTextField();
+        boloTypeCombo = new javax.swing.JComboBox();
+        requestDateField = new javax.swing.JTextField();
+        requestTimeField = new javax.swing.JTextField();
+        subjectInformationPane = new javax.swing.JPanel();
+        lastNameLabel = new javax.swing.JLabel();
+        firstNameLabel = new javax.swing.JLabel();
+        aliasLabel = new javax.swing.JLabel();
+        dlNumberLabel = new javax.swing.JLabel();
+        characteristicsLabel = new javax.swing.JLabel();
+        lastNameField = new javax.swing.JTextField();
+        firstNameField = new javax.swing.JTextField();
+        aliasField = new javax.swing.JTextField();
+        dlNumberField = new javax.swing.JTextField();
+        stateLabel = new javax.swing.JLabel();
+        stateCombo = new javax.swing.JComboBox();
+        characteristicsField = new javax.swing.JTextField();
+        raceLabel = new javax.swing.JLabel();
+        genderLabel = new javax.swing.JLabel();
+        dobLabel = new javax.swing.JLabel();
+        ageLabel = new javax.swing.JLabel();
+        raceCombo = new javax.swing.JComboBox();
+        genderCombo = new javax.swing.JComboBox();
+        dobField = new javax.swing.JTextField();
+        ageField = new javax.swing.JTextField();
+        heightLabel = new javax.swing.JLabel();
+        weightLabel = new javax.swing.JLabel();
+        hairLabel = new javax.swing.JLabel();
+        eyesLabel = new javax.swing.JLabel();
+        hairCombo = new javax.swing.JComboBox();
+        eyesCombo = new javax.swing.JComboBox();
+        weightField = new javax.swing.JTextField();
+        heightField = new javax.swing.JTextField();
+        vehicleInformationPane = new javax.swing.JPanel();
+        yearLabel = new javax.swing.JLabel();
+        makeLabel = new javax.swing.JLabel();
+        modelLabel = new javax.swing.JLabel();
+        yearField = new javax.swing.JTextField();
+        makeField = new javax.swing.JTextField();
+        modelField = new javax.swing.JTextField();
+        colorLabel = new javax.swing.JLabel();
+        vinLabel = new javax.swing.JLabel();
+        styleLabel = new javax.swing.JLabel();
+        styleField = new javax.swing.JTextField();
+        colorField = new javax.swing.JTextField();
+        vinField = new javax.swing.JTextField();
+        licensePane = new javax.swing.JPanel();
+        plateLabel = new javax.swing.JLabel();
+        plateStateLabel = new javax.swing.JLabel();
+        platesExpiresLabel = new javax.swing.JLabel();
+        plateField = new javax.swing.JTextField();
+        plateStateField = new javax.swing.JTextField();
+        platesExpiresField = new javax.swing.JTextField();
+        commentsPane = new javax.swing.JPanel();
+        commentsScrollPane = new javax.swing.JScrollPane();
+        commentsTable = new javax.swing.JTable();
+        commentsField = new javax.swing.JTextField();
+        addCommentButton = new javax.swing.JButton();
+        cancelCommentButton = new javax.swing.JButton();
+        saveCommentButton = new javax.swing.JButton();
+        addButton = new javax.swing.JButton();
+        cancelButoon = new javax.swing.JButton();
+        saveButton = new javax.swing.JButton();
+        exitButton = new javax.swing.JButton();
+    }
+    
+    private void initComponents() {
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+
+        caseNumberLabel.setText("Case Number:");
+
+        boloTypeLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        boloTypeLabel.setText("BOLO Type:");
+
+        requestDateTimeLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        requestDateTimeLabel.setText("Request Date/Time:");
+
+        requestedByLabel.setText("Requested By:");
+
+        unitLabel.setText("Unit:");
+
+        caseNumberField.setText("jTextField1");
+
+        requestedByField.setText("jTextField4");
+
+        otherInfoLabel.setText("Other Info:");
+
+        otherInfoField.setText("jTextField6");
+
+        unitField.setText("jTextField7");
+
+        expiresLabel.setText("Expires:");
+
+        expiresField.setText("jTextField8");
+
+        expiredCheckBox.setText("Expired");
+
+        incidentNumberLabel.setText("Incident Number:");
+
+        incidentNumberField.setText("jTextField9");
+
+        entryDateTimeLabel.setText("Entry Date/Time:");
+
+        entryDateField.setText("jTextField10");
+
+        entryTimeField.setText("jTextField11");
+
+        enteredByLabel.setText("Entered By:");
+
+        enteredByField.setText("jTextField12");
+
+        boloTypeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        requestDateField.setText("jTextField14");
+
+        requestTimeField.setText("jTextField15");
+        
+        lastNameLabel.setText("Last Name:");
+
+        firstNameLabel.setText("First Name:");
+
+        aliasLabel.setText("Alias:");
+
+        dlNumberLabel.setText("DL#:");
+
+        characteristicsLabel.setText("Characteristics:");
+
+        lastNameField.setText("jTextField13");
+
+        firstNameField.setText("jTextField16");
+
+        aliasField.setText("jTextField17");
+
+        dlNumberField.setText("jTextField18");
+
+        stateLabel.setText("State:");
+
+        stateCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        characteristicsField.setText("jTextField19");
+
+        raceLabel.setText("Race:");
+
+        genderLabel.setText("Gender:");
+
+        dobLabel.setText("DOB:");
+
+        ageLabel.setText("Age:");
+
+        raceCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        genderCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        dobField.setText("jTextField20");
+
+        ageField.setText("jTextField21");
+
+        heightLabel.setText("Height:");
+
+        weightLabel.setText("Weight:");
+
+        hairLabel.setText("Hair:");
+
+        eyesLabel.setText("Eyes:");
+
+        hairCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        eyesCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        weightField.setText("jTextField22");
+
+        heightField.setText("jTextField23");
+
+        yearLabel.setText("Year:");
+
+        makeLabel.setText("Make:");
+
+        modelLabel.setText("Model:");
+
+        yearField.setText("jTextField2");
+
+        makeField.setText("jTextField3");
+
+        modelField.setText("jTextField5");
+
+        colorLabel.setText("Color:");
+
+        vinLabel.setText("VIN:");
+
+        styleLabel.setText("Style:");
+
+        styleField.setText("jTextField24");
+
+        colorField.setText("jTextField25");
+
+        vinField.setText("jTextField26");
+
+        plateLabel.setText("Plate:");
+
+        plateStateLabel.setText("State:");
+
+        platesExpiresLabel.setText("Expires:");
+
+        plateField.setText("jTextField27");
+
+        plateStateField.setText("jTextField28");
+
+        platesExpiresField.setText("jTextField29");
+
+        commentsTable.setModel(new javax.swing.table.DefaultTableModel(
+                new Object [][] {
+                    {null, null, null, null},
+                    {null, null, null, null},
+                    {null, null, null, null},
+                    {null, null, null, null}
+                },
+                new String [] {
+                    "Date", "Time", "User", "Comment"
+                }
+            ));
+        
+        commentsScrollPane.setViewportView(commentsTable);
+
+        commentsField.setText("jTextField30");
+
+        addCommentButton.setText("Add");
+
+        cancelCommentButton.setText("Cancel");
+
+        saveCommentButton.setText("Save");
+        addButton.setText("Add");
+
+        cancelButoon.setText("Cancel");
+
+        saveButton.setText("Save");
+
+        exitButton.setText("Exit");
+    }
+    
+    private void initLayout(){
+        javax.swing.GroupLayout incidentCaseInformationPaneLayout = new javax.swing.GroupLayout(incidentCaseInformationPane);
+        incidentCaseInformationPane.setLayout(incidentCaseInformationPaneLayout);
+        incidentCaseInformationPaneLayout.setHorizontalGroup(
+            incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(incidentCaseInformationPaneLayout.createSequentialGroup()
+                .addGap(35, 35, 35)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(unitLabel)
+                    .addComponent(requestedByLabel)
+                    .addComponent(requestDateTimeLabel)
+                    .addComponent(boloTypeLabel)
+                    .addComponent(caseNumberLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(requestedByField)
+                    .addComponent(caseNumberField)
+                    .addComponent(unitField, javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(boloTypeCombo, javax.swing.GroupLayout.Alignment.TRAILING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addGroup(incidentCaseInformationPaneLayout.createSequentialGroup()
+                        .addComponent(requestDateField, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(requestTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(otherInfoLabel)
+                    .addComponent(expiresLabel)
+                    .addComponent(incidentNumberLabel)
+                    .addComponent(entryDateTimeLabel)
+                    .addComponent(enteredByLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(incidentCaseInformationPaneLayout.createSequentialGroup()
+                        .addComponent(expiresField, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(expiredCheckBox))
+                    .addComponent(otherInfoField)
+                    .addComponent(incidentNumberField)
+                    .addGroup(incidentCaseInformationPaneLayout.createSequentialGroup()
+                        .addComponent(entryDateField, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(entryTimeField))
+                    .addComponent(enteredByField, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(67, 67, 67))
+        );
+        incidentCaseInformationPaneLayout.setVerticalGroup(
+            incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(incidentCaseInformationPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(caseNumberLabel)
+                    .addComponent(caseNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(otherInfoLabel)
+                    .addComponent(otherInfoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(boloTypeLabel)
+                    .addComponent(expiresLabel)
+                    .addComponent(expiresField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(expiredCheckBox)
+                    .addComponent(boloTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(requestDateTimeLabel)
+                    .addComponent(incidentNumberLabel)
+                    .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(requestDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(requestTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(requestedByLabel)
+                    .addComponent(requestedByField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(entryDateTimeLabel)
+                    .addComponent(entryDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(entryTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(incidentCaseInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(unitLabel)
+                    .addComponent(unitField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(enteredByLabel)
+                    .addComponent(enteredByField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(14, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout subjectInformationPaneLayout = new javax.swing.GroupLayout(subjectInformationPane);
+        subjectInformationPane.setLayout(subjectInformationPaneLayout);
+        subjectInformationPaneLayout.setHorizontalGroup(
+            subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(subjectInformationPaneLayout.createSequentialGroup()
+                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(subjectInformationPaneLayout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(characteristicsLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(characteristicsField))
+                    .addGroup(subjectInformationPaneLayout.createSequentialGroup()
+                        .addGap(19, 19, 19)
+                        .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(dobLabel)
+                            .addGroup(subjectInformationPaneLayout.createSequentialGroup()
+                                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(dlNumberLabel)
+                                    .addComponent(aliasLabel)
+                                    .addComponent(firstNameLabel)
+                                    .addComponent(lastNameLabel))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                                    .addComponent(firstNameField, javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(lastNameField, javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(aliasField)
+                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, subjectInformationPaneLayout.createSequentialGroup()
+                                        .addComponent(dlNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(stateLabel)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(stateCombo, 0, 67, Short.MAX_VALUE)))
+                                .addGap(18, 18, 18)
+                                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(subjectInformationPaneLayout.createSequentialGroup()
+                                        .addGap(11, 11, 11)
+                                        .addComponent(raceLabel))
+                                    .addComponent(genderLabel)
+                                    .addComponent(ageLabel, javax.swing.GroupLayout.Alignment.TRAILING))))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(raceCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(genderCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(dobField, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(ageField, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(heightLabel)
+                            .addComponent(weightLabel)
+                            .addComponent(hairLabel)
+                            .addComponent(eyesLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(hairCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(eyesCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(weightField)
+                            .addComponent(heightField))))
+                .addContainerGap())
+        );
+        subjectInformationPaneLayout.setVerticalGroup(
+            subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(subjectInformationPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lastNameLabel)
+                    .addComponent(raceLabel)
+                    .addComponent(raceCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(heightLabel)
+                    .addComponent(heightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(lastNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(firstNameLabel)
+                    .addComponent(firstNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(genderLabel)
+                    .addComponent(genderCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(weightLabel)
+                    .addComponent(weightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(aliasLabel)
+                    .addComponent(aliasField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(dobLabel)
+                    .addComponent(dobField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(hairLabel)
+                    .addComponent(hairCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(dlNumberLabel)
+                    .addComponent(dlNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(stateLabel)
+                    .addComponent(stateCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(ageLabel)
+                    .addComponent(ageField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(eyesLabel)
+                    .addComponent(eyesCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(subjectInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(characteristicsLabel)
+                    .addComponent(characteristicsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout vehicleInformationPaneLayout = new javax.swing.GroupLayout(vehicleInformationPane);
+        vehicleInformationPane.setLayout(vehicleInformationPaneLayout);
+        vehicleInformationPaneLayout.setHorizontalGroup(
+            vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                .addGap(39, 39, 39)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(modelLabel)
+                    .addComponent(makeLabel)
+                    .addComponent(yearLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(yearField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(makeField, javax.swing.GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)
+                    .addComponent(modelField))
+                .addGap(18, 18, 18)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(colorLabel)
+                    .addComponent(vinLabel)
+                    .addComponent(styleLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(styleField, javax.swing.GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE)
+                    .addComponent(colorField)
+                    .addComponent(vinField))
+                .addContainerGap())
+        );
+        vehicleInformationPaneLayout.setVerticalGroup(
+            vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                        .addGap(6, 6, 6)
+                        .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(yearLabel)
+                            .addComponent(yearField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, vehicleInformationPaneLayout.createSequentialGroup()
+                        .addContainerGap()
+                        .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(styleLabel)
+                            .addComponent(styleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(makeLabel)
+                    .addComponent(makeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(colorLabel)
+                    .addComponent(colorField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(modelLabel)
+                    .addComponent(modelField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(vinLabel)
+                    .addComponent(vinField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout licensePaneLayout = new javax.swing.GroupLayout(licensePane);
+        licensePane.setLayout(licensePaneLayout);
+        licensePaneLayout.setHorizontalGroup(
+            licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(licensePaneLayout.createSequentialGroup()
+                .addGap(21, 21, 21)
+                .addGroup(licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(plateLabel)
+                    .addComponent(plateStateLabel)
+                    .addComponent(platesExpiresLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(plateField, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
+                    .addGroup(licensePaneLayout.createSequentialGroup()
+                        .addGroup(licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(plateStateField, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(platesExpiresField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        licensePaneLayout.setVerticalGroup(
+            licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(licensePaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(plateLabel)
+                    .addComponent(plateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(plateStateLabel)
+                    .addComponent(plateStateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(licensePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(platesExpiresLabel)
+                    .addComponent(platesExpiresField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout commentsPaneLayout = new javax.swing.GroupLayout(commentsPane);
+        commentsPane.setLayout(commentsPaneLayout);
+        commentsPaneLayout.setHorizontalGroup(
+            commentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(commentsPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(commentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(commentsPaneLayout.createSequentialGroup()
+                        .addComponent(commentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 670, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(commentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(addCommentButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(cancelCommentButton, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
+                            .addComponent(saveCommentButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                    .addComponent(commentsScrollPane))
+                .addContainerGap())
+        );
+        commentsPaneLayout.setVerticalGroup(
+            commentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(commentsPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(commentsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(commentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(commentsPaneLayout.createSequentialGroup()
+                        .addComponent(addCommentButton)
+                        .addGap(0, 0, 0)
+                        .addComponent(cancelCommentButton)
+                        .addGap(0, 0, 0)
+                        .addComponent(saveCommentButton))
+                    .addComponent(commentsField))
+                .addGap(0, 6, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(incidentCaseInformationPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(subjectInformationPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(vehicleInformationPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(licensePane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(49, 49, 49))
+                    .addComponent(commentsPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addGap(0, 0, Short.MAX_VALUE)
+                        .addComponent(addButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(cancelButoon, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(incidentCaseInformationPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(subjectInformationPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(1, 1, 1)
+                        .addComponent(vehicleInformationPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(0, 0, Short.MAX_VALUE)
+                        .addComponent(licensePane, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(commentsPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(exitButton)
+                    .addComponent(saveButton)
+                    .addComponent(cancelButoon)
+                    .addComponent(addButton))
+                .addContainerGap())
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton addButton;
+    private javax.swing.JButton addCommentButton;
+    private javax.swing.JTextField ageField;
+    private javax.swing.JLabel ageLabel;
+    private javax.swing.JTextField aliasField;
+    private javax.swing.JLabel aliasLabel;
+    private javax.swing.JComboBox boloTypeCombo;
+    private javax.swing.JLabel boloTypeLabel;
+    private javax.swing.JButton cancelButoon;
+    private javax.swing.JButton cancelCommentButton;
+    private javax.swing.JTextField caseNumberField;
+    private javax.swing.JLabel caseNumberLabel;
+    private javax.swing.JTextField characteristicsField;
+    private javax.swing.JLabel characteristicsLabel;
+    private javax.swing.JTextField colorField;
+    private javax.swing.JLabel colorLabel;
+    private javax.swing.JTextField commentsField;
+    private javax.swing.JPanel commentsPane;
+    private javax.swing.JScrollPane commentsScrollPane;
+    private javax.swing.JTable commentsTable;
+    private javax.swing.JTextField dlNumberField;
+    private javax.swing.JLabel dlNumberLabel;
+    private javax.swing.JTextField dobField;
+    private javax.swing.JLabel dobLabel;
+    private javax.swing.JTextField enteredByField;
+    private javax.swing.JLabel enteredByLabel;
+    private javax.swing.JTextField entryDateField;
+    private javax.swing.JLabel entryDateTimeLabel;
+    private javax.swing.JTextField entryTimeField;
+    private javax.swing.JButton exitButton;
+    private javax.swing.JCheckBox expiredCheckBox;
+    private javax.swing.JTextField expiresField;
+    private javax.swing.JLabel expiresLabel;
+    private javax.swing.JComboBox eyesCombo;
+    private javax.swing.JLabel eyesLabel;
+    private javax.swing.JTextField firstNameField;
+    private javax.swing.JLabel firstNameLabel;
+    private javax.swing.JComboBox genderCombo;
+    private javax.swing.JLabel genderLabel;
+    private javax.swing.JComboBox hairCombo;
+    private javax.swing.JLabel hairLabel;
+    private javax.swing.JTextField heightField;
+    private javax.swing.JLabel heightLabel;
+    private javax.swing.JPanel incidentCaseInformationPane;
+    private javax.swing.JTextField incidentNumberField;
+    private javax.swing.JLabel incidentNumberLabel;
+    private javax.swing.JTextField lastNameField;
+    private javax.swing.JLabel lastNameLabel;
+    private javax.swing.JPanel licensePane;
+    private javax.swing.JTextField makeField;
+    private javax.swing.JLabel makeLabel;
+    private javax.swing.JTextField modelField;
+    private javax.swing.JLabel modelLabel;
+    private javax.swing.JTextField otherInfoField;
+    private javax.swing.JLabel otherInfoLabel;
+    private javax.swing.JTextField plateField;
+    private javax.swing.JLabel plateLabel;
+    private javax.swing.JTextField plateStateField;
+    private javax.swing.JLabel plateStateLabel;
+    private javax.swing.JTextField platesExpiresField;
+    private javax.swing.JLabel platesExpiresLabel;
+    private javax.swing.JComboBox raceCombo;
+    private javax.swing.JLabel raceLabel;
+    private javax.swing.JTextField requestDateField;
+    private javax.swing.JLabel requestDateTimeLabel;
+    private javax.swing.JTextField requestTimeField;
+    private javax.swing.JTextField requestedByField;
+    private javax.swing.JLabel requestedByLabel;
+    private javax.swing.JButton saveButton;
+    private javax.swing.JButton saveCommentButton;
+    private javax.swing.JComboBox stateCombo;
+    private javax.swing.JLabel stateLabel;
+    private javax.swing.JTextField styleField;
+    private javax.swing.JLabel styleLabel;
+    private javax.swing.JPanel subjectInformationPane;
+    private javax.swing.JTextField unitField;
+    private javax.swing.JLabel unitLabel;
+    private javax.swing.JPanel vehicleInformationPane;
+    private javax.swing.JTextField vinField;
+    private javax.swing.JLabel vinLabel;
+    private javax.swing.JTextField weightField;
+    private javax.swing.JLabel weightLabel;
+    private javax.swing.JTextField yearField;
+    private javax.swing.JLabel yearLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/LicensePlateInformation.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/LicensePlateInformation.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/LicensePlateInformation.java	(revision 3)
@@ -0,0 +1,191 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import tmcsim.client.cadclientgui.data.CADData;
+
+/**
+ * CURRENTLY NOT IN USE.
+ * @author Stuart
+ */
+public class LicensePlateInformation extends javax.swing.JDialog {
+
+    private CADData cadData;
+    
+    int incidentId;
+    
+    /**
+     * Creates new form licensePlateInformation
+     */
+    public LicensePlateInformation(java.awt.Frame parent, boolean modal, int incidentId,CADData cadData) {
+        super(parent, modal);
+        this.cadData = cadData;
+        this.incidentId = incidentId;
+        initComponents();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        plateNumberLabel = new javax.swing.JLabel();
+        plateNumberField = new javax.swing.JTextField(5);
+        stateLabel = new javax.swing.JLabel();
+        stateField = new javax.swing.JTextField(5);
+        yearField = new javax.swing.JTextField();
+        yearLabel = new javax.swing.JLabel();
+        typeLabel = new javax.swing.JLabel();
+        typeCombo = new javax.swing.JComboBox();
+        okButton = new javax.swing.JButton();
+        nextButton = new javax.swing.JButton();
+        cancelButton = new javax.swing.JButton();
+        
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+
+        plateNumberLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        plateNumberLabel.setText("Plate Number:");
+
+        stateLabel.setText("State:");
+
+        yearLabel.setText("Year:");
+
+        typeLabel.setText("Type:");
+
+        typeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        okButton.setText("OK");
+        okButton.addActionListener(new ActionListener(){
+            public void actionPerformed(ActionEvent arg0) {
+                cadData.getIncident(incidentId).getIncidentVehicle().addVehicleInformation(plateNumberField.getText(),
+                                stateField.getText(),
+                                (String)(typeCombo.getSelectedItem()),
+                                yearField.getText()
+                        );
+                //ScreenManager.refreshIncidentViewerLicenseTable(incidentId);
+                dispose();
+            }
+        });
+
+
+        nextButton.setText("Next");
+        nextButton.addActionListener(new ActionListener(){
+            public void actionPerformed(ActionEvent arg0) {
+                cadData.getIncident(incidentId).getIncidentVehicle().addVehicleInformation(plateNumberField.getText(),
+                                stateField.getText(),
+                                (String)(typeCombo.getSelectedItem()),
+                                yearField.getText()
+                        );
+                //ScreenManager.refreshIncidentViewerLicenseTable(incidentId);
+                refreshInformation(incidentId);
+            }
+        });
+
+        cancelButton.setText("Cancel");
+        cancelButton.addActionListener(new ActionListener(){
+            public void actionPerformed(ActionEvent arg0) {
+                dispose();
+            }
+        });
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(stateLabel)
+                            .addComponent(plateNumberLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                .addComponent(typeLabel))
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(plateNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(18, 18, 18)
+                                .addComponent(yearLabel)))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(typeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(yearField, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(0, 0, Short.MAX_VALUE))))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addGap(0, 0, Short.MAX_VALUE)
+                        .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(nextButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(plateNumberLabel)
+                    .addComponent(plateNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(yearLabel)
+                    .addComponent(yearField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(stateLabel)
+                    .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(typeLabel)
+                    .addComponent(typeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(cancelButton)
+                    .addComponent(nextButton)
+                    .addComponent(okButton))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        pack();
+        setVisible(true);
+    }// </editor-fold>//GEN-END:initComponents
+
+    public void refreshInformation(int incidentId){
+        this.incidentId = incidentId;
+        plateNumberField.setText("");
+        stateField.setText("");
+        yearField.setText("");
+    }
+    
+    public void open(int incidentId){
+        refreshInformation(incidentId);
+        setVisible(true);
+    }
+    
+    public void close(){
+        setVisible(false);
+    }
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton cancelButton;
+    private javax.swing.JButton nextButton;
+    private javax.swing.JButton okButton;
+    private javax.swing.JTextField plateNumberField;
+    private javax.swing.JLabel plateNumberLabel;
+    private javax.swing.JTextField stateField;
+    private javax.swing.JLabel stateLabel;
+    private javax.swing.JComboBox typeCombo;
+    private javax.swing.JLabel typeLabel;
+    private javax.swing.JTextField yearField;
+    private javax.swing.JLabel yearLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/IncidentViewer.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/IncidentViewer.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/IncidentViewer.java	(revision 3)
@@ -0,0 +1,2254 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.rmi.RemoteException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Stack;
+import java.util.Date;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JFrame;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+import javax.swing.table.DefaultTableModel;
+
+import tmcsim.client.cadclientgui.data.CADData;
+import tmcsim.client.cadclientgui.enums.CADDataEnums.*;
+import tmcsim.client.cadclientgui.enums.ComboBoxConstants;
+
+/**
+ * This class contains the view and controller for the IncidentViewer screen. The view is built using a GUI builder plug-in, and the controller 
+ * uses listeners to control how the view and data act.
+ * @author Stuart
+ */
+public class IncidentViewer extends javax.swing.JFrame {
+
+    Stack<Integer> stack;
+    SimpleDateFormat dateFormatDate;
+    SimpleDateFormat dateFormatTime;
+    int incidentId;
+
+    /**
+     * Creates new form IncidentViewer
+     */
+    public IncidentViewer() {
+        declareComponents();
+        initControllers();
+        initLayout();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">
+    private void declareComponents() {
+
+        stack = new Stack<Integer>();
+        dateFormatDate = new SimpleDateFormat("MM/dd/yyyy");
+        dateFormatTime = new SimpleDateFormat("HH:mm:ss");
+
+        mapLocLabel = new javax.swing.JLabel();
+        addressField = new javax.swing.JTextField();
+        aptLabel = new javax.swing.JLabel();
+        aptField = new javax.swing.JTextField(4);
+        crossStLabel = new javax.swing.JLabel();
+        crossStField = new javax.swing.JTextField();
+        locationLabel = new javax.swing.JLabel();
+        locationField = new javax.swing.JTextField();
+        cityLabel = new javax.swing.JLabel();
+        cityComboBox = new javax.swing.JComboBox();
+        countyLabel = new javax.swing.JLabel();
+        countyComboBox = new javax.swing.JComboBox();
+        agencyLabel = new javax.swing.JLabel();
+        agencyComboBox = new javax.swing.JComboBox();
+        typeCodeLabel = new javax.swing.JLabel();
+        typeCodeComboBox = new javax.swing.JComboBox();
+        priLabel = new javax.swing.JLabel();
+        priComboBox = new javax.swing.JComboBox();
+        priComboBox.setPreferredSize(new Dimension(50, 25));
+        rightOfPriButton = new javax.swing.JButton();
+        rpLabel = new javax.swing.JLabel();
+        rpField = new javax.swing.JTextField();
+        phoneLabel = new javax.swing.JLabel();
+        phoneField = new javax.swing.JTextField();
+        extLabel = new javax.swing.JLabel();
+        extField = new javax.swing.JTextField(3);
+        aliLabel = new javax.swing.JLabel();
+        aliField = new javax.swing.JTextField();
+        rpTypeLabel = new javax.swing.JLabel();
+        rpTypeComboBox = new javax.swing.JComboBox();
+        sectorComboBox = new javax.swing.JComboBox();
+        sectorLabel = new javax.swing.JLabel();
+        beatLabel = new javax.swing.JLabel();
+        beatComboBox = new javax.swing.JComboBox();
+        mediaComboBox = new javax.swing.JComboBox();
+        mediaLabel = new javax.swing.JLabel();
+        confidentialCommentCheckBox = new javax.swing.JCheckBox();
+        jScrollPane2 = new javax.swing.JScrollPane();
+        jLabel8 = new javax.swing.JLabel();
+        hubXterButton = new javax.swing.JButton();
+        aniAliButton = new javax.swing.JButton();
+        updateMapLocButton = new javax.swing.JButton();
+        exitSendButton = new javax.swing.JButton();
+        sentToQButton = new javax.swing.JButton();
+        fileButton = new javax.swing.JButton();
+        showAllButton = new javax.swing.JButton();
+        unitRecButton = new javax.swing.JButton();
+        addFspChpButton = new javax.swing.JButton();
+        informationButton = new javax.swing.JButton();
+        carButton = new javax.swing.JButton();
+        personButton = new javax.swing.JButton();
+        towRotationButton = new javax.swing.JButton();
+        licensePlateInfoLabel = new javax.swing.JLabel();
+        jScrollPane13 = new javax.swing.JScrollPane();
+        licensePlateTable = new javax.swing.JTable();
+        addButton = new javax.swing.JButton();
+        cautionButton = new javax.swing.JButton();
+        historyButton = new javax.swing.JButton();
+        premiseButton = new javax.swing.JButton();
+        mapButton = new javax.swing.JButton();
+        fireField = new javax.swing.JTextField();
+        emsLabel = new javax.swing.JLabel();
+        emsField = new javax.swing.JTextField();
+        fireLabel = new javax.swing.JLabel();
+        lawLabel = new javax.swing.JLabel();
+        lawField = new javax.swing.JTextField();
+        bottomTabbedPane = new javax.swing.JTabbedPane();
+        callbacksPane = new javax.swing.JPanel();
+        jPanel13 = new javax.swing.JPanel();
+        callBackCommentField = new javax.swing.JTextField();
+        callBackAddButton = new javax.swing.JButton();
+        callBackCancelButton = new javax.swing.JButton();
+        callBackSaveButton = new javax.swing.JButton();
+        jScrollPane14 = new javax.swing.JScrollPane();
+        callBackCommentTable = new javax.swing.JTable();
+        assignmentsPane = new javax.swing.JPanel();
+        jPanel4 = new javax.swing.JPanel();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        jScrollPane4 = new javax.swing.JScrollPane();
+        assignmentsTable = new javax.swing.JTable();
+        jPanel2 = new javax.swing.JPanel();
+        jScrollPane7 = new javax.swing.JScrollPane();
+        jScrollPane5 = new javax.swing.JScrollPane();
+        resourceTable = new javax.swing.JTable();
+        recommandButton = new javax.swing.JButton();
+        activitiesPane = new javax.swing.JPanel();
+        jScrollPane15 = new javax.swing.JScrollPane();
+        jScrollPane6 = new javax.swing.JScrollPane();
+        activitiesTable = new javax.swing.JTable();
+        callBacksPane = new javax.swing.JPanel();
+        jPanel1 = new javax.swing.JPanel();
+        incidentNumLabel = new javax.swing.JLabel();
+        addInfoIncidentNumField = new javax.swing.JTextField();
+        incidentTypeLabel = new javax.swing.JLabel();
+        addInfoIncidentTypeField = new javax.swing.JTextField();
+        callTakenLabel = new javax.swing.JLabel();
+        addInfoCallTakenField = new javax.swing.JTextField();
+        machineNameLabel = new javax.swing.JLabel();
+        addInfoMachineNameField = new javax.swing.JTextField();
+        callTakerPhoneLabel = new javax.swing.JLabel();
+        addInfoCallTakerPhoneExtField = new javax.swing.JTextField();
+        callStatusLabel = new javax.swing.JLabel();
+        addInfoCallStatusField = new javax.swing.JTextField();
+        alarmLevelLabel = new javax.swing.JLabel();
+        addInfoAlarmLevelField = new javax.swing.JTextField();
+        ccJurisdictionLabel = new javax.swing.JLabel();
+        areaOfDivisionLabel = new javax.swing.JLabel();
+        addInfoCCJurisdictionComboBox = new javax.swing.JComboBox();
+        addInfoAreaOfDivisionComboBox = new javax.swing.JComboBox();
+        areaBatallionLabel = new javax.swing.JLabel();
+        addInfoAreaBatallionComboBox = new javax.swing.JComboBox();
+        beatResponseAreaLabel = new javax.swing.JLabel();
+        addInfoBeatResponseAreaComboBox = new javax.swing.JComboBox();
+        responsePlanLabel = new javax.swing.JLabel();
+        addInfoReponsePlanComboBox = new javax.swing.JComboBox();
+        rotationProviderAreaLabel = new javax.swing.JLabel();
+        addInfoRotationProviderAreaField = new javax.swing.JTextField();
+        addInfoCommentsField = new javax.swing.JTextField();
+        commentsNotesPane = new javax.swing.JPanel();
+        jScrollPane3 = new javax.swing.JScrollPane();
+        commentsNotesTable = new javax.swing.JTable();
+        commentsNotesAddButton = new javax.swing.JButton();
+        commentsNotesCancelButton = new javax.swing.JButton();
+        commentsNotesNotifyButton = new javax.swing.JButton();
+        commentsNotesSaveButton = new javax.swing.JButton();
+        commentsNotesField = new javax.swing.JTextField();
+        commentsNotesConfidentialCommentCheckBox = new javax.swing.JCheckBox();
+        editLogPane = new javax.swing.JPanel();
+        jScrollPane8 = new javax.swing.JScrollPane();
+        editLogTable = new javax.swing.JTable();
+        timesPane = new javax.swing.JPanel();
+        jScrollPane9 = new javax.swing.JScrollPane();
+        timesTable = new javax.swing.JTable();
+        ringLabel = new javax.swing.JLabel();
+        timesRingField = new javax.swing.JTextField();
+        inQueueLabel = new javax.swing.JLabel();
+        timesInQueueField = new javax.swing.JTextField();
+        allAvailableLabel = new javax.swing.JLabel();
+        timesAllAvailableField = new javax.swing.JTextField();
+        callClosedLabel = new javax.swing.JLabel();
+        timesCallClosedField = new javax.swing.JTextField();
+        timesPageTimesButton = new javax.swing.JButton();
+        transportInfoPane = new javax.swing.JPanel();
+        jPanel6 = new javax.swing.JPanel();
+        jTextField27 = new javax.swing.JTextField();
+        transportInfoAddPresetTransportRecButton = new javax.swing.JButton();
+        transportInfoRemoveTransportRecButton = new javax.swing.JButton();
+        transportInfoLinkUnitToTransportRecButton = new javax.swing.JButton();
+        nameLabel = new javax.swing.JLabel();
+        transportCityLabel = new javax.swing.JLabel();
+        transportLocationLabel = new javax.swing.JLabel();
+        transportInfoAddressButton = new javax.swing.JButton();
+        transportInfoNameField = new javax.swing.JTextField();
+        transportInfoCityComboBox = new javax.swing.JComboBox();
+        transportInfoLocationField = new javax.swing.JTextField();
+        transportInfoAddressField = new javax.swing.JTextField();
+        transportStateLabel = new javax.swing.JLabel();
+        roomAptEtcLabel = new javax.swing.JLabel();
+        phoneLabel2 = new javax.swing.JLabel();
+        transportInfoStateField = new javax.swing.JTextField();
+        transportInfoRoomAptEtcField = new javax.swing.JTextField();
+        transportInfoPhoneField = new javax.swing.JTextField();
+        buildingNumLabel = new javax.swing.JLabel();
+        transportInfoBuildingField = new javax.swing.JTextField();
+        transportInfoState2Field = new javax.swing.JTextField();
+        transportInfoCancelButton = new javax.swing.JButton();
+        transportInfoSaveButton = new javax.swing.JButton();
+        jTabbedPane2 = new javax.swing.JTabbedPane();
+        jPanel7 = new javax.swing.JPanel();
+        transportProtocolLabel = new javax.swing.JLabel();
+        transportInfoProtocolComboBox = new javax.swing.JComboBox();
+        transportPriorityLabel = new javax.swing.JLabel();
+        transportInfoPriorityComboBox = new javax.swing.JComboBox();
+        assistedByLabel = new javax.swing.JLabel();
+        transportInfoAssistedByComboBox = new javax.swing.JComboBox();
+        jPanel8 = new javax.swing.JPanel();
+        jPanel9 = new javax.swing.JPanel();
+        jPanel10 = new javax.swing.JPanel();
+        userDataPane = new javax.swing.JPanel();
+        jPanel11 = new javax.swing.JPanel();
+        timeStampsLabel = new javax.swing.JLabel();
+        jScrollPane10 = new javax.swing.JScrollPane();
+        timeStampsTable = new javax.swing.JTable();
+        userDataTimeStampField = new javax.swing.JTextField();
+        dateLabel = new javax.swing.JLabel();
+        userDataDateField = new javax.swing.JTextField();
+        timeLabel = new javax.swing.JLabel();
+        userDataTimeField = new javax.swing.JTextField();
+        userDataStampButton = new javax.swing.JButton();
+        jScrollPane11 = new javax.swing.JScrollPane();
+        dataFieldsTable = new javax.swing.JTable();
+        dataFieldsLabel = new javax.swing.JLabel();
+        userDataCancelButton = new javax.swing.JButton();
+        userDataSaveButton = new javax.swing.JButton();
+        userDataDataField = new javax.swing.JTextField();
+        attachmentsPane = new javax.swing.JPanel();
+        jScrollPane12 = new javax.swing.JScrollPane();
+        attachmentsTable = new javax.swing.JTable();
+        fileNameLabel = new javax.swing.JLabel();
+        attachmentsFileNameField = new javax.swing.JTextField();
+        attachmentsBrowseButton = new javax.swing.JButton();
+        descriptionLabel = new javax.swing.JLabel();
+        attachmentsDescriptionField = new javax.swing.JTextField();
+        attachmentsAddButton = new javax.swing.JButton();
+        attachmentsDeleteButton = new javax.swing.JButton();
+        attachmentsCancelButton = new javax.swing.JButton();
+        attachmentsSaveButton = new javax.swing.JButton();
+    }
+    
+    public void initWindowListener(){
+        addWindowListener(new WindowAdapter() {
+            public void windowClosing(WindowEvent e) {
+                close();
+            }
+        });
+    }
+    
+    public ActionListener newExitSendActionListener(){
+        return new ActionListener(){
+            public void actionPerformed(ActionEvent arg0) {
+                close();
+            }
+        };
+    }
+    
+    public DocumentListener newCommentsDocumentListener(){
+        return new DocumentListener(){
+            public void changedUpdate(DocumentEvent e) {}
+            public void insertUpdate(DocumentEvent e) {
+                commentsNotesSaveButton.setEnabled(true);
+            }
+            public void removeUpdate(DocumentEvent e) {}
+        };
+    }
+    
+    public ActionListener newCommentsAddListener(){
+        return new ActionListener(){
+            public void actionPerformed(ActionEvent arg0) {
+                commentsNotesField.setEditable(true);
+                commentsNotesField.requestFocus();
+                commentsNotesAddButton.setEnabled(false);
+                commentsNotesCancelButton.setEnabled(true);
+            }
+        };
+    }
+    
+    public ActionListener newCommentsCancelListener(){
+        return new ActionListener(){
+            public void actionPerformed(ActionEvent arg0) {
+                commentsNotesField.setText("");
+                commentsNotesField.setEditable(false);
+                commentsNotesAddButton.setEnabled(true);
+                commentsNotesCancelButton.setEnabled(false);
+                commentsNotesSaveButton.setEnabled(false);
+            }
+        };
+    }
+    
+    public ActionListener newCommentsSaveListener(){
+        return new ActionListener(){
+            public void actionPerformed(ActionEvent arg0) {
+                DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
+           DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+           String[] fields = {dateFormat.format(new Date()),
+                                      timeFormat.format(new Date()),
+                                      "","",commentsNotesField.getText()};
+                try {
+                    ScreenManager.theCoordinator.addCadDataIncidentTable(
+                     INC_TABLE.COMMENTS_NOTES, incidentId, fields);
+                    ((DefaultTableModel)commentsNotesTable.getModel()).addRow(fields);
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                
+                commentsNotesField.setText("");
+                commentsNotesField.setEditable(false);
+                commentsNotesAddButton.setEnabled(true);
+                commentsNotesCancelButton.setEnabled(false);
+                commentsNotesSaveButton.setEnabled(false);
+            }
+      };
+    }
+    
+    private void initControllers() {
+        initWindowListener();
+        
+        exitSendButton.addActionListener(newExitSendActionListener());
+        
+        commentsNotesField.getDocument().addDocumentListener(newCommentsDocumentListener());
+        commentsNotesAddButton.addActionListener(newCommentsAddListener());
+        commentsNotesCancelButton.addActionListener(newCommentsCancelListener());
+        commentsNotesSaveButton.addActionListener(newCommentsSaveListener());
+    }
+    
+    private void initLayout(){
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+        
+        cityComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.LIST_OF_CA_CITIES));
+        
+        mapLocLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        mapLocLabel.setText("Map Loc:");
+
+        aptLabel.setText("Apt:");
+
+        crossStLabel.setText("Cross St:");
+
+        addressField.setBackground(Color.CYAN);
+        locationField.setBackground(Color.CYAN);
+        
+        locationLabel.setText("Location:");
+
+        cityLabel.setText("City:");
+
+        countyLabel.setText("County:");
+
+        countyComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        agencyLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        agencyLabel.setText("Agency:");
+
+        agencyComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.AGENCY));
+        agencyComboBox.setBackground(Color.CYAN);
+        agencyComboBox.setEnabled(false);
+        
+        typeCodeLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        typeCodeLabel.setText("Type Code:");
+
+        typeCodeComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.TYPE));
+        typeCodeComboBox.setBackground(Color.CYAN);
+        
+        priLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        priLabel.setText("Pri:");
+
+        priComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.PRI));
+        priComboBox.setBackground(Color.CYAN);
+        
+        rightOfPriButton.setText("rightOfPriButton");
+        rightOfPriButton.setEnabled(false);
+
+        rpLabel.setText("RP:");
+
+        rpField.setBackground(Color.CYAN);
+        
+        phoneLabel.setText("Phone:");
+        
+        phoneField.setBackground(Color.CYAN);
+
+        extLabel.setText("Ext:");
+
+        aliLabel.setText("ALI:");
+
+        rpTypeLabel.setText("RP Type:");
+
+        rpTypeComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        sectorComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+        sectorComboBox.setBackground(Color.CYAN);
+        
+        sectorLabel.setText("Sector:");
+
+        beatLabel.setText("Beat:");
+
+        beatComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.BEATS));
+        beatComboBox.setBackground(Color.YELLOW);
+        mediaComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.MEDIA));
+        mediaComboBox.setBackground(Color.YELLOW);
+        mediaComboBox.setEnabled(false);
+        
+        mediaLabel.setText("MEDIA:");
+
+        confidentialCommentCheckBox.setText("Confidential Comment");
+        confidentialCommentCheckBox.setEnabled(false);
+
+        jLabel8.setText("Comments:");
+
+        hubXterButton.setText("Hub Xter");
+        hubXterButton.setMargin(new java.awt.Insets(3, 3, 3, 3));
+        hubXterButton.setEnabled(false);
+
+        aniAliButton.setText("ANI/ALI");
+        aniAliButton.setMargin(new java.awt.Insets(3, 3, 3, 3));
+        aniAliButton.setEnabled(false);
+
+        updateMapLocButton.setText("<html>\nUpdate\n<p>Map Loc</p>\n</html>");
+        updateMapLocButton.setActionCommand("<html>  Update <p>Map Loc</p> </html>");
+        updateMapLocButton.setMargin(new java.awt.Insets(3, 3, 3, 3));
+        updateMapLocButton.setEnabled(false);
+        
+        exitSendButton.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
+        exitSendButton.setText("Exit / Send");
+        
+        sentToQButton.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
+        sentToQButton.setText("Send to Q");
+        sentToQButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        sentToQButton.setEnabled(false);
+        
+        fileButton.setText("File");
+        fileButton.setEnabled(false);
+
+        showAllButton.setLabel("Show All");
+        showAllButton.setMargin(new java.awt.Insets(3, 3, 3, 3));
+        showAllButton.setEnabled(false);
+
+        unitRecButton.setText("Unit Rec");
+        unitRecButton.setMargin(new java.awt.Insets(3, 3, 3, 3));
+        unitRecButton.setEnabled(false);
+
+        addFspChpButton.setText("<html><p>Add FSP/</p><p>CHP</p></html>");
+        addFspChpButton.setActionCommand("");
+        addFspChpButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+        addFspChpButton.setEnabled(false);
+
+        ImageIcon image = new ImageIcon("images/IncidentViewerImages/buttonInformation.png");
+        informationButton.setIcon(image);
+        informationButton.setEnabled(false);
+
+        image = new ImageIcon("images/IncidentViewerImages/buttonCar.png");
+        carButton.setIcon(image);
+        carButton.setEnabled(false);
+        
+        image = new ImageIcon("images/IncidentViewerImages/buttonPerson.png");
+        personButton.setIcon(image);
+        personButton.setEnabled(false);
+        
+
+        towRotationButton.setText("Tow Rotation");
+        towRotationButton.setEnabled(false);
+
+        licensePlateInfoLabel.setText("License Plate Information");
+
+        jScrollPane13.setViewportView(licensePlateTable);
+
+        addButton.setText("Add");
+        addButton.setEnabled(false);
+
+        image = new ImageIcon("images/IncidentViewerImages/buttonCau.png");
+        cautionButton.setIcon(image);
+        cautionButton.setEnabled(false);
+
+        image = new ImageIcon("images/IncidentViewerImages/buttonHis.png");
+        historyButton.setIcon(image);
+        historyButton.setEnabled(false);
+
+        image = new ImageIcon("images/IncidentViewerImages/buttonPre.png");
+        premiseButton.setIcon(image);
+        premiseButton.setEnabled(false);
+
+        image = new ImageIcon("images/IncidentViewerImages/buttonMap.png");
+        mapButton.setIcon(image);
+        mapButton.setEnabled(false);
+
+        emsLabel.setText("EMS");
+
+        fireLabel.setText("FIRE");
+
+        lawLabel.setText("LAW");
+
+        callbacksPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        callBackCommentField.setEditable(false);
+        
+        callBackAddButton.setText("Add");
+        callBackAddButton.setEnabled(false);
+
+        callBackCancelButton.setText("Cancel");
+        callBackCancelButton.setEnabled(false);
+
+        callBackSaveButton.setText("Save");
+        callBackSaveButton.setEnabled(false);
+
+        callBackCommentTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        
+        recommandButton.setText("Recommand");
+        recommandButton.setEnabled(false);
+        
+        incidentNumLabel.setText("Incident Number:");
+
+        addInfoIncidentNumField.setEditable(false);
+
+        incidentTypeLabel.setText("Incident Type:");
+
+        addInfoIncidentTypeField.setEditable(false);
+
+        callTakenLabel.setText("Call Taken:");
+
+        addInfoCallTakenField.setEditable(false);
+
+        machineNameLabel.setText("Machine Name:");
+
+        addInfoMachineNameField.setEditable(false);
+
+        callTakerPhoneLabel.setText("Call Taker Phone Ext:");
+
+        addInfoCallTakerPhoneExtField.setEditable(false);
+
+        callStatusLabel.setText("Call Status:");
+
+        addInfoCallStatusField.setEditable(false);
+
+        alarmLevelLabel.setText("Alarm Level:");
+
+        addInfoAlarmLevelField.setEditable(false);
+
+        ccJurisdictionLabel.setText("CC/Jurisdiction:");
+
+        areaOfDivisionLabel.setText("Area Ofc/Division:");
+        
+        addInfoCommentsField.setEditable(false);
+
+        addInfoCCJurisdictionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        addInfoAreaOfDivisionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        areaBatallionLabel.setText("Area/Batallion:");
+
+        addInfoAreaBatallionComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        beatResponseAreaLabel.setText("Beat/Response Area:");
+
+        addInfoBeatResponseAreaComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        responsePlanLabel.setText("Response Plan:");
+
+        addInfoReponsePlanComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        rotationProviderAreaLabel.setText("Rotation Provider Area:");
+
+        addInfoRotationProviderAreaField.setEditable(false);
+        
+
+        commentsNotesPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        commentsNotesTable.setModel(new javax.swing.table.DefaultTableModel(
+            null, new String [] {
+                "Date", "Time", "Initial", "Block", "Comments" }
+        ));
+        jScrollPane3.setViewportView(commentsNotesTable);
+        commentsNotesTable.getColumnModel().getColumn(0).setResizable(false);
+        commentsNotesTable.getColumnModel().getColumn(0).setPreferredWidth(3);
+        commentsNotesTable.getColumnModel().getColumn(1).setResizable(false);
+        commentsNotesTable.getColumnModel().getColumn(1).setPreferredWidth(10);
+        commentsNotesTable.getColumnModel().getColumn(2).setResizable(false);
+        commentsNotesTable.getColumnModel().getColumn(2).setPreferredWidth(8);
+        commentsNotesTable.getColumnModel().getColumn(3).setResizable(false);
+        commentsNotesTable.getColumnModel().getColumn(3).setPreferredWidth(6);
+        commentsNotesTable.getColumnModel().getColumn(4).setResizable(false);
+
+        commentsNotesField.setEditable(false);
+        
+        commentsNotesAddButton.setText("Add");
+        commentsNotesCancelButton.setText("Cancel");
+        commentsNotesCancelButton.setEnabled(false);
+        commentsNotesNotifyButton.setText("Notify");
+        commentsNotesNotifyButton.setEnabled(false);
+
+        commentsNotesSaveButton.setText("Save");
+        commentsNotesSaveButton.setEnabled(false);
+        commentsNotesConfidentialCommentCheckBox.setText("Confidential Comment");
+        commentsNotesConfidentialCommentCheckBox.setEnabled(false);
+        
+        jScrollPane14.setViewportView(callBackCommentTable);
+        javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13);
+        jPanel13.setLayout(jPanel13Layout);
+        jPanel13Layout.setHorizontalGroup(
+            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel13Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(jPanel13Layout.createSequentialGroup()
+                        .addComponent(callBackCommentField, javax.swing.GroupLayout.PREFERRED_SIZE, 519, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(callBackAddButton)
+                            .addComponent(callBackCancelButton)
+                            .addComponent(callBackSaveButton)))
+                    .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 604, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(144, Short.MAX_VALUE))
+        );
+        jPanel13Layout.setVerticalGroup(
+            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel13Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel13Layout.createSequentialGroup()
+                        .addComponent(callBackAddButton)
+                        .addGap(0, 0, 0)
+                        .addComponent(callBackCancelButton)
+                        .addGap(0, 0, 0)
+                        .addComponent(callBackSaveButton))
+                    .addComponent(callBackCommentField, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout callbacksPaneLayout = new javax.swing.GroupLayout(callbacksPane);
+        callbacksPane.setLayout(callbacksPaneLayout);
+        callbacksPaneLayout.setHorizontalGroup(
+            callbacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(callbacksPaneLayout.createSequentialGroup()
+                .addGap(41, 41, 41)
+                .addComponent(jPanel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        callbacksPaneLayout.setVerticalGroup(
+            callbacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(callbacksPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(58, Short.MAX_VALUE))
+        );
+
+        assignmentsPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        assignmentsTable.setModel(new javax.swing.table.DefaultTableModel(
+            null, new String [] {
+                "Unit", "Alarm Level", "Type", "Status", "responding From", "Elapsed", "Response Number"
+            }
+        ));
+        jScrollPane4.setViewportView(assignmentsTable);
+
+        jScrollPane1.setViewportView(jScrollPane4);
+
+        resourceTable.setModel(new javax.swing.table.DefaultTableModel(
+            null,new String [] {
+                "Resource / Capability", "", "Title 3", "Title 4"}
+        ));
+        jScrollPane5.setViewportView(resourceTable);
+
+        jScrollPane7.setViewportView(jScrollPane5);
+
+        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+        jPanel2.setLayout(jPanel2Layout);
+        jPanel2Layout.setHorizontalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 609, Short.MAX_VALUE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(recommandButton)
+                .addContainerGap())
+        );
+        jPanel2Layout.setVerticalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(recommandButton)
+                .addGap(47, 47, 47))
+        );
+
+        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
+        jPanel4.setLayout(jPanel4Layout);
+        jPanel4Layout.setHorizontalGroup(
+            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel4Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane1))
+            .addGroup(jPanel4Layout.createSequentialGroup()
+                .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        jPanel4Layout.setVerticalGroup(
+            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel4Layout.createSequentialGroup()
+                .addGap(6, 6, 6)
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout assignmentsPaneLayout = new javax.swing.GroupLayout(assignmentsPane);
+        assignmentsPane.setLayout(assignmentsPaneLayout);
+        assignmentsPaneLayout.setHorizontalGroup(
+            assignmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(assignmentsPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(63, Short.MAX_VALUE))
+        );
+        assignmentsPaneLayout.setVerticalGroup(
+            assignmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, assignmentsPaneLayout.createSequentialGroup()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(22, 22, 22))
+        );
+
+        activitiesPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        activitiesTable.setModel(new javax.swing.table.DefaultTableModel(
+            null, new String [] {
+                "Date/Time", "Vehicle/Unit", "Activity", "Location", "Comment", "Dispatch"
+            }
+        ));
+        jScrollPane6.setViewportView(activitiesTable);
+
+        jScrollPane15.setViewportView(jScrollPane6);
+
+        javax.swing.GroupLayout activitiesPaneLayout = new javax.swing.GroupLayout(activitiesPane);
+        activitiesPane.setLayout(activitiesPaneLayout);
+        activitiesPaneLayout.setHorizontalGroup(
+            activitiesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(activitiesPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane15, javax.swing.GroupLayout.DEFAULT_SIZE, 789, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        activitiesPaneLayout.setVerticalGroup(
+            activitiesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(activitiesPaneLayout.createSequentialGroup()
+                .addGap(27, 27, 27)
+                .addComponent(jScrollPane15, javax.swing.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+
+        callBacksPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGap(0, 0, Short.MAX_VALUE)
+                        .addComponent(rotationProviderAreaLabel))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGap(0, 0, Short.MAX_VALUE)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(callTakenLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(machineNameLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(incidentTypeLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(incidentNumLabel, javax.swing.GroupLayout.Alignment.TRAILING))
+                                .addGap(4, 4, 4)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addComponent(addInfoIncidentNumField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
+                                    .addComponent(addInfoIncidentTypeField, javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(addInfoCallTakenField, javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(addInfoMachineNameField, javax.swing.GroupLayout.Alignment.TRAILING)))
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(callStatusLabel)
+                                    .addComponent(callTakerPhoneLabel))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                        .addComponent(addInfoCallTakerPhoneExtField, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE)
+                                        .addComponent(addInfoCallStatusField))
+                                    .addComponent(addInfoCommentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                .addGap(0, 31, Short.MAX_VALUE)))
+                        .addGap(100, 100, 100)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(alarmLevelLabel)
+                            .addComponent(ccJurisdictionLabel)
+                            .addComponent(areaOfDivisionLabel)
+                            .addComponent(areaBatallionLabel)
+                            .addComponent(beatResponseAreaLabel)
+                            .addComponent(responsePlanLabel))))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                        .addComponent(addInfoAlarmLevelField, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(addInfoCCJurisdictionComboBox, 0, 206, Short.MAX_VALUE)
+                        .addComponent(addInfoAreaOfDivisionComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(addInfoAreaBatallionComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(addInfoBeatResponseAreaComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(addInfoReponsePlanComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addComponent(addInfoRotationProviderAreaField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap())
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addContainerGap()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(incidentNumLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(addInfoIncidentNumField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(incidentTypeLabel)
+                            .addComponent(addInfoIncidentTypeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(callTakenLabel)
+                            .addComponent(addInfoCallTakenField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(machineNameLabel)
+                            .addComponent(addInfoMachineNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(callTakerPhoneLabel)
+                            .addComponent(addInfoCallTakerPhoneExtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(callStatusLabel)
+                            .addComponent(addInfoCallStatusField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGap(21, 21, 21)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(alarmLevelLabel)
+                            .addComponent(addInfoAlarmLevelField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(ccJurisdictionLabel)
+                            .addComponent(addInfoCCJurisdictionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(areaOfDivisionLabel)
+                            .addComponent(addInfoAreaOfDivisionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(areaBatallionLabel)
+                            .addComponent(addInfoAreaBatallionComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(beatResponseAreaLabel)
+                            .addComponent(addInfoBeatResponseAreaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(responsePlanLabel)
+                            .addComponent(addInfoReponsePlanComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(rotationProviderAreaLabel)
+                            .addComponent(addInfoRotationProviderAreaField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGap(23, 23, 23)
+                        .addComponent(addInfoCommentsField, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addGap(5, 5, 5))
+        );
+
+        javax.swing.GroupLayout callBacksPaneLayout = new javax.swing.GroupLayout(callBacksPane);
+        callBacksPane.setLayout(callBacksPaneLayout);
+        callBacksPaneLayout.setHorizontalGroup(
+            callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(callBacksPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(85, Short.MAX_VALUE))
+        );
+        callBacksPaneLayout.setVerticalGroup(
+            callBacksPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(callBacksPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(40, 40, 40))
+        );
+        
+        javax.swing.GroupLayout commentsNotesPaneLayout = new javax.swing.GroupLayout(commentsNotesPane);
+        commentsNotesPane.setLayout(commentsNotesPaneLayout);
+        commentsNotesPaneLayout.setHorizontalGroup(
+            commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(commentsNotesPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 789, Short.MAX_VALUE)
+                    .addGroup(commentsNotesPaneLayout.createSequentialGroup()
+                        .addComponent(commentsNotesField, javax.swing.GroupLayout.PREFERRED_SIZE, 610, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(commentsNotesPaneLayout.createSequentialGroup()
+                                .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addComponent(commentsNotesNotifyButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                    .addComponent(commentsNotesAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(commentsNotesSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(commentsNotesCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                            .addComponent(commentsNotesConfidentialCommentCheckBox))
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        commentsNotesPaneLayout.setVerticalGroup(
+            commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(commentsNotesPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(commentsNotesPaneLayout.createSequentialGroup()
+                        .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(commentsNotesAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(commentsNotesCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(0, 0, 0)
+                        .addGroup(commentsNotesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(commentsNotesNotifyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(commentsNotesSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
+                        .addComponent(commentsNotesConfidentialCommentCheckBox))
+                    .addGroup(commentsNotesPaneLayout.createSequentialGroup()
+                        .addGap(2, 2, 2)
+                        .addComponent(commentsNotesField)))
+                .addGap(40, 40, 40))
+        );
+
+        editLogPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        editLogTable.setModel(new javax.swing.table.DefaultTableModel(
+            null, new String [] {
+                "Date", "Edits/Updates", "Reason", "Changes By", "Terminal"
+            }));
+        
+        jScrollPane8.setViewportView(editLogTable);
+
+        javax.swing.GroupLayout editLogPaneLayout = new javax.swing.GroupLayout(editLogPane);
+        editLogPane.setLayout(editLogPaneLayout);
+        editLogPaneLayout.setHorizontalGroup(
+            editLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(editLogPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 789, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        editLogPaneLayout.setVerticalGroup(
+            editLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(editLogPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(18, 18, 18))
+        );
+
+        timesPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        timesTable.setModel(new javax.swing.table.DefaultTableModel(
+            null, new String [] {
+                "Unit", "Alarm Level", "Assigned", "Enroute", "Staged", "Arrival", 
+                "Access", "Depart", "At Dest.", "Status 5", "Available", "Resp Num"
+            }));
+        jScrollPane9.setViewportView(timesTable);
+
+        ringLabel.setText("Ring:");
+
+        timesRingField.setEditable(false);
+
+        inQueueLabel.setText("In-Queue:");
+
+        timesInQueueField.setEditable(false);
+
+        allAvailableLabel.setText("All Available:");
+
+        timesAllAvailableField.setEditable(false);
+        
+        callClosedLabel.setText("Call Closed:");
+        
+        timesCallClosedField.setEditable(false);
+
+        timesPageTimesButton.setText("Page Times");
+        timesPageTimesButton.setEnabled(false);
+
+        javax.swing.GroupLayout timesPaneLayout = new javax.swing.GroupLayout(timesPane);
+        timesPane.setLayout(timesPaneLayout);
+        timesPaneLayout.setHorizontalGroup(
+            timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(timesPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(timesPaneLayout.createSequentialGroup()
+                        .addGap(10, 10, 10)
+                        .addComponent(ringLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(timesRingField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(inQueueLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(timesInQueueField, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(allAvailableLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(timesAllAvailableField, javax.swing.GroupLayout.DEFAULT_SIZE, 69, Short.MAX_VALUE)
+                        .addGap(18, 18, 18)
+                        .addComponent(callClosedLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(timesCallClosedField, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(timesPageTimesButton))
+                    .addComponent(jScrollPane9))
+                .addContainerGap())
+        );
+        timesPaneLayout.setVerticalGroup(
+            timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(timesPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(timesPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(ringLabel)
+                    .addComponent(timesRingField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(inQueueLabel)
+                    .addComponent(timesInQueueField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(allAvailableLabel)
+                    .addComponent(timesAllAvailableField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(callClosedLabel)
+                    .addComponent(timesCallClosedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(timesPageTimesButton))
+                .addContainerGap(88, Short.MAX_VALUE))
+        );
+
+        transportInfoPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        transportInfoAddPresetTransportRecButton.setText("Add Preset Transport Rec");
+        transportInfoAddPresetTransportRecButton.setMargin(new java.awt.Insets(3, 3, 3, 3));
+        transportInfoAddPresetTransportRecButton.setEnabled(false);
+
+        transportInfoRemoveTransportRecButton.setText("Remove Transport Rec");
+        transportInfoRemoveTransportRecButton.setMargin(new java.awt.Insets(3, 3, 3, 3));
+        transportInfoRemoveTransportRecButton.setEnabled(false);
+
+        transportInfoLinkUnitToTransportRecButton.setText("Link Unit to Transport Rec");
+        transportInfoLinkUnitToTransportRecButton.setEnabled(false);
+
+        nameLabel.setText("Name:");
+
+        transportCityLabel.setText("Transport to City:");
+
+        transportLocationLabel.setText("Transport to Location:");
+
+        transportInfoAddressButton.setText("Address");
+        transportInfoAddressButton.setEnabled(false);
+
+        transportInfoCityComboBox.setModel(new javax.swing.DefaultComboBoxModel(ComboBoxConstants.LIST_OF_CA_CITIES));
+        transportInfoCityComboBox.setEnabled(false);
+
+        transportStateLabel.setText("Transport to State:");
+
+        roomAptEtcLabel.setText("Room, Apt, etc.:");
+
+        phoneLabel2.setText("Phone:");
+
+        buildingNumLabel.setText("Building #:");
+
+        transportInfoCancelButton.setText("Cancel");
+        transportInfoCancelButton.setEnabled(false);
+
+        transportInfoSaveButton.setText("Save");
+        transportInfoSaveButton.setEnabled(false);
+
+        transportProtocolLabel.setText("Transport Protocol...");
+
+        transportInfoProtocolComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] {""}));
+        transportInfoProtocolComboBox.setEnabled(false);
+
+        transportPriorityLabel.setText("Transport Priority...");
+
+        transportInfoPriorityComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] {""}));
+        transportInfoPriorityComboBox.setEnabled(false);
+
+        assistedByLabel.setText("Assisted By...");
+
+        transportInfoAssistedByComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] {""}));
+        transportInfoAssistedByComboBox.setEnabled(false);
+
+        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
+        jPanel7.setLayout(jPanel7Layout);
+        jPanel7Layout.setHorizontalGroup(
+            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel7Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(transportInfoProtocolComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(transportInfoPriorityComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addGroup(jPanel7Layout.createSequentialGroup()
+                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(transportProtocolLabel)
+                            .addComponent(transportPriorityLabel)
+                            .addComponent(assistedByLabel))
+                        .addGap(0, 94, Short.MAX_VALUE))
+                    .addComponent(transportInfoAssistedByComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap())
+        );
+        jPanel7Layout.setVerticalGroup(
+            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel7Layout.createSequentialGroup()
+                .addGap(30, 30, 30)
+                .addComponent(transportProtocolLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(transportInfoProtocolComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(transportPriorityLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(transportInfoPriorityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(assistedByLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(transportInfoAssistedByComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(33, Short.MAX_VALUE))
+        );
+
+        jTabbedPane2.addTab("Mode", jPanel7);
+
+        javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
+        jPanel8.setLayout(jPanel8Layout);
+        jPanel8Layout.setHorizontalGroup(
+            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 215, Short.MAX_VALUE)
+        );
+        jPanel8Layout.setVerticalGroup(
+            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 195, Short.MAX_VALUE)
+        );
+
+        jTabbedPane2.addTab("Times", jPanel8);
+
+        javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
+        jPanel9.setLayout(jPanel9Layout);
+        jPanel9Layout.setHorizontalGroup(
+            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 215, Short.MAX_VALUE)
+        );
+        jPanel9Layout.setVerticalGroup(
+            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 195, Short.MAX_VALUE)
+        );
+
+        jTabbedPane2.addTab("Odometer", jPanel9);
+
+        javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
+        jPanel10.setLayout(jPanel10Layout);
+        jPanel10Layout.setHorizontalGroup(
+            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 215, Short.MAX_VALUE)
+        );
+        jPanel10Layout.setVerticalGroup(
+            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 195, Short.MAX_VALUE)
+        );
+
+        jTabbedPane2.addTab("Caution", jPanel10);
+
+        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
+        jPanel6.setLayout(jPanel6Layout);
+        jPanel6Layout.setHorizontalGroup(
+            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel6Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(jTextField27)
+                    .addComponent(transportInfoAddPresetTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(transportInfoRemoveTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(transportInfoLinkUnitToTransportRecButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel6Layout.createSequentialGroup()
+                        .addGap(5, 5, 5)
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                                .addComponent(nameLabel)
+                                .addComponent(transportCityLabel)
+                                .addComponent(transportLocationLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                .addComponent(transportInfoAddressButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                            .addComponent(transportStateLabel)
+                            .addComponent(roomAptEtcLabel)
+                            .addComponent(phoneLabel2))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(transportInfoNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(transportInfoCityComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(transportInfoLocationField)
+                            .addComponent(transportInfoAddressField)
+                            .addGroup(jPanel6Layout.createSequentialGroup()
+                                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(jPanel6Layout.createSequentialGroup()
+                                        .addComponent(transportInfoRoomAptEtcField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addComponent(buildingNumLabel))
+                                    .addComponent(transportInfoStateField, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(transportInfoBuildingField, javax.swing.GroupLayout.DEFAULT_SIZE, 66, Short.MAX_VALUE)
+                                    .addGroup(jPanel6Layout.createSequentialGroup()
+                                        .addComponent(transportInfoState2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addGap(0, 0, Short.MAX_VALUE))))
+                            .addGroup(jPanel6Layout.createSequentialGroup()
+                                .addComponent(transportInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(14, 14, 14)
+                                .addComponent(transportInfoCancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
+                        .addGap(242, 242, 242)
+                        .addComponent(transportInfoSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(84, Short.MAX_VALUE))
+        );
+        jPanel6Layout.setVerticalGroup(
+            jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel6Layout.createSequentialGroup()
+                .addGap(17, 17, 17)
+                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(jTextField27, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addGroup(jPanel6Layout.createSequentialGroup()
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(nameLabel)
+                            .addComponent(transportInfoNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(transportCityLabel)
+                            .addComponent(transportInfoCityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(transportLocationLabel)
+                            .addComponent(transportInfoLocationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(transportInfoAddressButton)
+                            .addComponent(transportInfoAddressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(23, 23, 23)
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(transportStateLabel)
+                            .addComponent(transportInfoStateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(transportInfoState2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(roomAptEtcLabel)
+                            .addComponent(transportInfoRoomAptEtcField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(buildingNumLabel)
+                            .addComponent(transportInfoBuildingField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                        .addComponent(phoneLabel2)
+                        .addComponent(transportInfoPhoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(transportInfoCancelButton))
+                    .addComponent(transportInfoAddPresetTransportRecButton))
+                .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel6Layout.createSequentialGroup()
+                        .addComponent(transportInfoRemoveTransportRecButton)
+                        .addGap(0, 0, Short.MAX_VALUE)
+                        .addComponent(transportInfoLinkUnitToTransportRecButton))
+                    .addGroup(jPanel6Layout.createSequentialGroup()
+                        .addComponent(transportInfoSaveButton)
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+            .addGroup(jPanel6Layout.createSequentialGroup()
+                .addGap(18, 18, 18)
+                .addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(0, 0, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout transportInfoPaneLayout = new javax.swing.GroupLayout(transportInfoPane);
+        transportInfoPane.setLayout(transportInfoPaneLayout);
+        transportInfoPaneLayout.setHorizontalGroup(
+            transportInfoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(transportInfoPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        transportInfoPaneLayout.setVerticalGroup(
+            transportInfoPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(transportInfoPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 273, Short.MAX_VALUE)
+                .addGap(25, 25, 25))
+        );
+
+        userDataPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        timeStampsLabel.setText("Time Stamps");
+
+        timeStampsTable.setModel(new javax.swing.table.DefaultTableModel(
+            null,new String [] {
+                "Time Stamp Description", "Date", "Time"}
+        ));
+        jScrollPane10.setViewportView(timeStampsTable);
+
+        userDataTimeStampField.setEditable(false);
+        userDataTimeStampField.setText("(User-defined Timp Stamp)");
+        userDataTimeStampField.setEnabled(false);
+
+        dateLabel.setText("Date:");
+
+        userDataDateField.setEditable(false);
+        
+        timeLabel.setText("Time:");
+        
+        userDataTimeField.setEditable(false);
+
+        userDataStampButton.setText("Stamp");
+        userDataStampButton.setEnabled(false);
+
+        dataFieldsTable.setModel(new javax.swing.table.DefaultTableModel(
+            null, new String [] {"Data Field Discription", "Data"} ));
+        
+        jScrollPane11.setViewportView(dataFieldsTable);
+
+        dataFieldsLabel.setText("Data Fields");
+
+        userDataDataField.setEditable(false);
+        
+        userDataCancelButton.setText("Cancel");
+        userDataCancelButton.setEnabled(false);
+
+        userDataSaveButton.setText("Save");
+        userDataSaveButton.setEnabled(false);
+
+        javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
+        jPanel11.setLayout(jPanel11Layout);
+        jPanel11Layout.setHorizontalGroup(
+            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel11Layout.createSequentialGroup()
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 370, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                        .addGroup(jPanel11Layout.createSequentialGroup()
+                            .addContainerGap()
+                            .addComponent(timeStampsLabel)
+                            .addGap(310, 310, 310))
+                        .addGroup(jPanel11Layout.createSequentialGroup()
+                            .addGap(27, 27, 27)
+                            .addComponent(dateLabel)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                            .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                .addComponent(userDataTimeStampField, javax.swing.GroupLayout.PREFERRED_SIZE, 230, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGroup(jPanel11Layout.createSequentialGroup()
+                                    .addComponent(userDataDateField, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                    .addComponent(timeLabel)
+                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                    .addComponent(userDataTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                            .addComponent(userDataStampButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+                    .addGroup(jPanel11Layout.createSequentialGroup()
+                        .addComponent(dataFieldsLabel)
+                        .addGap(0, 0, Short.MAX_VALUE))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel11Layout.createSequentialGroup()
+                        .addGap(0, 90, Short.MAX_VALUE)
+                        .addComponent(userDataDataField, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(userDataCancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE)
+                            .addComponent(userDataSaveButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                .addContainerGap())
+        );
+        jPanel11Layout.setVerticalGroup(
+            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel11Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(timeStampsLabel)
+                    .addComponent(dataFieldsLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
+                    .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(userDataTimeStampField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(userDataCancelButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(dateLabel)
+                    .addComponent(userDataDateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(timeLabel)
+                    .addComponent(userDataTimeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(userDataStampButton)
+                    .addComponent(userDataSaveButton)
+                    .addComponent(userDataDataField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap())
+        );
+
+        javax.swing.GroupLayout userDataPaneLayout = new javax.swing.GroupLayout(userDataPane);
+        userDataPane.setLayout(userDataPaneLayout);
+        userDataPaneLayout.setHorizontalGroup(
+            userDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(userDataPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        userDataPaneLayout.setVerticalGroup(
+            userDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(userDataPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGap(28, 28, 28))
+        );
+
+        attachmentsPane.setPreferredSize(new java.awt.Dimension(809, 300));
+
+        attachmentsTable.setModel(new javax.swing.table.DefaultTableModel(
+            null,new String [] {
+                "Data", "Attachment Type", "Size", "Description"}
+        ));
+        jScrollPane12.setViewportView(attachmentsTable);
+
+        fileNameLabel.setText("File Name:");
+
+        attachmentsFileNameField.setEditable(false);
+
+        attachmentsDescriptionField.setEditable(false);
+        
+        attachmentsBrowseButton.setText("jButton38");
+        attachmentsBrowseButton.setEnabled(false);
+      
+        descriptionLabel.setText("Description:");
+
+        attachmentsAddButton.setText("Add");
+        attachmentsAddButton.setEnabled(false);
+
+        attachmentsDeleteButton.setText("Delete");
+        attachmentsDeleteButton.setEnabled(false);
+
+        attachmentsCancelButton.setText("Cancel");
+        attachmentsCancelButton.setEnabled(false);
+
+        attachmentsSaveButton.setText("Save");
+        attachmentsSaveButton.setEnabled(false);
+
+        javax.swing.GroupLayout attachmentsPaneLayout = new javax.swing.GroupLayout(attachmentsPane);
+        attachmentsPane.setLayout(attachmentsPaneLayout);
+        attachmentsPaneLayout.setHorizontalGroup(
+            attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(attachmentsPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 452, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(attachmentsPaneLayout.createSequentialGroup()
+                        .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(fileNameLabel)
+                            .addComponent(descriptionLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(attachmentsPaneLayout.createSequentialGroup()
+                                .addComponent(attachmentsFileNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(attachmentsBrowseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(0, 27, Short.MAX_VALUE))
+                            .addComponent(attachmentsDescriptionField)))
+                    .addGroup(attachmentsPaneLayout.createSequentialGroup()
+                        .addComponent(attachmentsAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(attachmentsDeleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(attachmentsCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(attachmentsSaveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        attachmentsPaneLayout.setVerticalGroup(
+            attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(attachmentsPaneLayout.createSequentialGroup()
+                .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(attachmentsPaneLayout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(attachmentsPaneLayout.createSequentialGroup()
+                        .addGap(37, 37, 37)
+                        .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(fileNameLabel)
+                            .addComponent(attachmentsFileNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(attachmentsBrowseButton))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(descriptionLabel)
+                            .addComponent(attachmentsDescriptionField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(36, 36, 36)
+                        .addGroup(attachmentsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(attachmentsAddButton)
+                            .addComponent(attachmentsDeleteButton)
+                            .addComponent(attachmentsCancelButton)
+                            .addComponent(attachmentsSaveButton))))
+                .addGap(48, 48, 48))
+        );
+
+        bottomTabbedPane.addTab("Additional Information", callBacksPane);
+        bottomTabbedPane.addTab("Assignments", assignmentsPane);
+        bottomTabbedPane.addTab("Activities", activitiesPane);
+        bottomTabbedPane.addTab("Call Backs", callbacksPane);
+        bottomTabbedPane.addTab("Comments/Notes", commentsNotesPane);
+        bottomTabbedPane.addTab("Edit Log", editLogPane);
+        bottomTabbedPane.addTab("Times", timesPane);
+        bottomTabbedPane.addTab("Transport Info", transportInfoPane);
+        bottomTabbedPane.addTab("User Data", userDataPane);
+        bottomTabbedPane.addTab("Attachments", attachmentsPane);
+        
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(10, 10, 10)
+                        .addComponent(lawLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(lawField, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(26, 26, 26)
+                        .addComponent(fireLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(fireField, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(emsLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(emsField, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(47, 47, 47))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(jLabel8)
+                                            .addComponent(mediaLabel)
+                                            .addComponent(agencyLabel)
+                                            .addComponent(locationLabel)
+                                            .addComponent(mapLocLabel))
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                                    .addGroup(layout.createSequentialGroup()
+                                                        .addComponent(agencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                                        .addComponent(typeCodeLabel)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(typeCodeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                                        .addComponent(priLabel)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(priComboBox, 0, 1, Short.MAX_VALUE))
+                                                    .addGroup(layout.createSequentialGroup()
+                                                        .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(aptLabel)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                        .addComponent(aptField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                    .addComponent(locationField, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                    .addGroup(layout.createSequentialGroup()
+                                                        .addComponent(mediaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                                        .addComponent(confidentialCommentCheckBox)))
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(rightOfPriButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 373, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addGap(35, 35, 35)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                            .addComponent(addFspChpButton)
+                                            .addComponent(hubXterButton))
+                                        .addGap(32, 32, 32)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(aniAliButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                            .addComponent(unitRecButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addComponent(updateMapLocButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                            .addComponent(showAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                        .addGap(51, 51, 51)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addComponent(sentToQButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addGap(0, 0, 0)
+                                                .addComponent(fileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                            .addComponent(exitSendButton, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addGap(20, 20, 20)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addComponent(crossStLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(cityLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(rpLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(phoneLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(aliLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(rpTypeLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(sectorLabel, javax.swing.GroupLayout.Alignment.TRAILING))
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addComponent(crossStField)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addComponent(cityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                                .addComponent(countyLabel)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(countyComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                                            .addComponent(rpField)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                                    .addGroup(layout.createSequentialGroup()
+                                                        .addComponent(sectorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                        .addGap(18, 18, 18)
+                                                        .addComponent(beatLabel))
+                                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                                        .addGroup(layout.createSequentialGroup()
+                                                            .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                                            .addComponent(extLabel)
+                                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                            .addComponent(extField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                                        .addComponent(rpTypeComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                                        .addComponent(aliField, javax.swing.GroupLayout.PREFERRED_SIZE, 252, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                                                .addGap(0, 0, Short.MAX_VALUE))))
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addComponent(informationButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(carButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(personButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(towRotationButton))
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addComponent(mapButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(premiseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(historyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                                .addComponent(cautionButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                                .addComponent(addButton)
+                                                .addGap(45, 45, 45))
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addGap(6, 6, 6)
+                                                .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                            .addGroup(layout.createSequentialGroup()
+                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                                    .addComponent(licensePlateInfoLabel)
+                                                    .addGroup(layout.createSequentialGroup()
+                                                        .addGap(30, 30, 30)
+                                                        .addComponent(beatComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))))
+                            .addComponent(bottomTabbedPane, javax.swing.GroupLayout.Alignment.TRAILING))
+                        .addContainerGap())))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(mapLocLabel)
+                    .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(aptLabel)
+                    .addComponent(aptField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(crossStLabel)
+                    .addComponent(crossStField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(locationLabel)
+                    .addComponent(locationField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(cityLabel)
+                    .addComponent(cityComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(countyLabel)
+                    .addComponent(countyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(agencyLabel)
+                            .addComponent(agencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(typeCodeLabel)
+                            .addComponent(typeCodeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(priLabel)
+                            .addComponent(priComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(mediaLabel)
+                            .addComponent(mediaComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(confidentialCommentCheckBox)))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(rpLabel)
+                            .addComponent(rpField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(phoneLabel)
+                            .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(extLabel)
+                            .addComponent(extField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addComponent(rightOfPriButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(aliField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(aliLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(rpTypeLabel)
+                            .addComponent(rpTypeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(sectorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(beatLabel)
+                            .addComponent(beatComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(sectorLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                    .addComponent(carButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(informationButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(personButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(towRotationButton))
+                                .addGap(15, 15, 15)
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                    .addComponent(mapButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(premiseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(historyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(cautionButton, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(licensePlateInfoLabel)
+                                .addGap(4, 4, 4)
+                                .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(addButton))))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addGroup(layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(jLabel8)
+                                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                .addGap(0, 0, 0)
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(aniAliButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(updateMapLocButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(hubXterButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                            .addComponent(exitSendButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                .addComponent(unitRecButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addComponent(showAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addComponent(sentToQButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addComponent(fileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addComponent(addFspChpButton, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addGap(5, 5, 5)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                        .addComponent(lawLabel)
+                        .addComponent(lawField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                        .addComponent(fireLabel)
+                        .addComponent(fireField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(emsLabel)
+                        .addComponent(emsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(bottomTabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 330, Short.MAX_VALUE)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        pack();
+    }// </editor-fold>  
+
+    public JButton makeButton(ImageIcon image, ActionListener listener){
+        JButton button = new JButton(image);
+        Dimension size = new Dimension(image.getImage().getWidth(null), image.getImage().getHeight(null));
+        button.setPreferredSize(size);
+        button.setMinimumSize(size);
+        button.setMaximumSize(size);
+        button.setBorderPainted(false);
+        button.addActionListener(listener);
+        return button;
+    }
+    
+    /*
+     * Updates the data stored in the incidents class upon exit.
+     */
+    public void saveInformation(int incidentId) {
+        try {
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.ADDRESS,
+                    incidentId, addressField.getText());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.LOC,
+                    incidentId, locationField.getText());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.APT,
+                    incidentId, aptField.getText());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.CROSS_ST,
+                    incidentId, crossStField.getText());
+            ScreenManager.theCoordinator.setCadDataIncVal(INC_VAL.RP,
+                    incidentId, rpField.getText());
+            ScreenManager.theCoordinator.setCadDataIncCaller(INC_CALLER.PHONE,
+                    incidentId, phoneField.getText());
+            ScreenManager.theCoordinator.setCadDataIncCaller(INC_CALLER.EXT,
+                    incidentId, extField.getText());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.LAW,
+                    incidentId, lawField.getText());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.FIRE,
+                    incidentId, fireField.getText());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.EMS,
+                    incidentId, emsField.getText());
+            // cadData.getIncident(incidentId).getCallBacks().setComment(callBackCommentField.getText());
+
+            ScreenManager.theCoordinator.setCadDataIncGenInfo(INC_GEN_INFO.AGY,
+                    incidentId, (String) agencyComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncAddInfo(
+                    INC_ADD_INFO.TYPE, incidentId,
+                    (String) typeCodeComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncVal(INC_VAL.P,
+                    incidentId, (String) priComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncVal(INC_VAL.MEDIA,
+                    incidentId, (String) mediaComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.CITY,
+                    incidentId, (String) cityComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.COUNTY,
+                    incidentId, (String) countyComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncVal(INC_VAL.RP_TYPE,
+                    incidentId, (String) rpTypeComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.SECTOR,
+                    incidentId, (String) sectorComboBox.getSelectedItem());
+            ScreenManager.theCoordinator.setCadDataIncLoc(INC_LOC.BEAT,
+                    incidentId, (String) beatComboBox.getSelectedItem());
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /*
+     * Updates all the strings.
+     * 
+     * @see tmcsimulator.cadclient.data.cadData.vectorForIncidentViewer(String
+     * incidentId) for matching up strings.
+     */
+    public void refreshInformation(int incidentId) {
+        this.incidentId = incidentId;
+        try {
+            addressField.setText(ScreenManager.theCoordinator.getCadDataIncLoc(
+                    INC_LOC.ADDRESS, incidentId));
+            locationField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncLoc(INC_LOC.LOC, incidentId));
+            aptField.setText(ScreenManager.theCoordinator.getCadDataIncLoc(
+                    INC_LOC.APT, incidentId));
+            crossStField.setText(ScreenManager.theCoordinator.getCadDataIncLoc(
+                    INC_LOC.CROSS_ST, incidentId));
+            rpField.setText((String) ScreenManager.theCoordinator
+                    .getCadDataIncVal(INC_VAL.RP, incidentId));
+            phoneField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncCaller(INC_CALLER.PHONE, incidentId));
+            extField.setText(ScreenManager.theCoordinator.getCadDataIncCaller(
+                    INC_CALLER.EXT, incidentId));
+            aliField.setText((String) ScreenManager.theCoordinator
+                    .getCadDataIncVal(INC_VAL.ALI, incidentId));
+            lawField.setText(ScreenManager.theCoordinator.getCadDataIncLoc(
+                    INC_LOC.LAW, incidentId));
+            fireField.setText(ScreenManager.theCoordinator.getCadDataIncLoc(
+                    INC_LOC.FIRE, incidentId));
+            emsField.setText(ScreenManager.theCoordinator.getCadDataIncLoc(
+                    INC_LOC.EMS, incidentId));
+            addInfoIncidentNumField
+                    .setText((String) ScreenManager.theCoordinator
+                            .getCadDataIncVal(INC_VAL.MASTER_INC, incidentId));
+            addInfoIncidentTypeField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncAddInfo(INC_ADD_INFO.TYPE, incidentId));
+            addInfoCallTakenField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncInfo(INC_INFO.CALL_TAKEN, incidentId));
+            addInfoMachineNameField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncAddInfo(INC_ADD_INFO.MACHINE, incidentId));
+            addInfoCallTakerPhoneExtField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncAddInfo(INC_ADD_INFO.CALL_TAKER_EXT,
+                            incidentId));
+            addInfoCallStatusField
+                    .setText(ScreenManager.theCoordinator.getCadDataIncAddInfo(
+                            INC_ADD_INFO.CALL_STATUS, incidentId));
+            addInfoAlarmLevelField
+                    .setText(ScreenManager.theCoordinator.getCadDataIncAddInfo(
+                            INC_ADD_INFO.ALARM_LEVEL, incidentId));
+            addInfoRotationProviderAreaField
+                    .setText(ScreenManager.theCoordinator.getCadDataIncAddInfo(
+                            INC_ADD_INFO.ROTATION_PROVIDER_AREA, incidentId));
+            addInfoCommentsField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncAddInfo(INC_ADD_INFO.COMMENT, incidentId));
+            callBackCommentField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncCallBack(INC_CALLBACK.COMMENT, incidentId));
+            timesRingField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncTimes(INC_TIMES.RING, incidentId));
+            timesInQueueField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncTimes(INC_TIMES.IN_QUEUE, incidentId));
+            timesAllAvailableField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncTimes(INC_TIMES.ALL_AVAILABLE, incidentId));
+            timesCallClosedField.setText(ScreenManager.theCoordinator
+                    .getCadDataIncTimes(INC_TIMES.CALL_CLOSED, incidentId));
+
+            agencyComboBox.setSelectedItem(ScreenManager.theCoordinator
+                    .getCadDataIncGenInfo(INC_GEN_INFO.AGY, incidentId));
+            typeCodeComboBox.setSelectedItem(ScreenManager.theCoordinator
+                    .getCadDataIncAddInfo(INC_ADD_INFO.TYPE, incidentId));
+            priComboBox.setSelectedItem((String) ScreenManager.theCoordinator
+                    .getCadDataIncVal(INC_VAL.P, incidentId));
+            mediaComboBox.setSelectedItem((String) ScreenManager.theCoordinator
+                    .getCadDataIncVal(INC_VAL.MEDIA, incidentId));
+            cityComboBox.setSelectedItem(ScreenManager.theCoordinator
+                    .getCadDataIncLoc(INC_LOC.CITY, incidentId));
+            countyComboBox.setSelectedItem(ScreenManager.theCoordinator
+                    .getCadDataIncLoc(INC_LOC.COUNTY, incidentId));
+            rpTypeComboBox
+                    .setSelectedItem((String) ScreenManager.theCoordinator
+                            .getCadDataIncVal(INC_VAL.RP_TYPE, incidentId));
+            sectorComboBox.setSelectedItem(ScreenManager.theCoordinator
+                    .getCadDataIncLoc(INC_LOC.SECTOR, incidentId));
+            beatComboBox.setSelectedItem(ScreenManager.theCoordinator
+                    .getCadDataIncLoc(INC_LOC.BEAT, incidentId));
+
+            // callBackCommentTable.setModel(cadData.getIncident(incidentId).getCallBackCommentTable());
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+        // refreshLicenseTable(incidentId);
+
+    }
+
+    /*
+     * Displays the information of the latest incident clicked.
+     */
+    public void open(int incidentId) {
+        try {
+            if (!ScreenManager.theCoordinator
+                    .checkForValidIncidentID(incidentId)) {
+                return;
+            }
+
+            stack.push(incidentId);
+            refreshInformation(incidentId);
+            setTitle("Incident Viewer- Incident ID ["
+                    + ScreenManager.theCoordinator.getCadDataIncVal(
+                            INC_VAL.LOG_NUM, incidentId)
+                    + "]   Master Incident ID["
+                    + ScreenManager.theCoordinator.getCadDataIncVal(
+                            INC_VAL.MASTER_INC, incidentId) + "]");
+            setVisible(true);
+            bottomTabbedPane.setSelectedIndex(4);
+            commentsNotesTable.setModel(ScreenManager.theCoordinator
+                    .getCadDataIncidentTable(INC_TABLE.COMMENTS_NOTES,
+                            incidentId));
+            commentsNotesTable.getColumnModel().getColumn(0).setPreferredWidth(50);
+            commentsNotesTable.getColumnModel().getColumn(1).setPreferredWidth(50);
+            commentsNotesTable.getColumnModel().getColumn(2).setPreferredWidth(15);
+            commentsNotesTable.getColumnModel().getColumn(3).setPreferredWidth(15);
+            commentsNotesTable.getColumnModel().getColumn(4).setPreferredWidth(400);
+            commentsNotesField.setText("");
+            commentsNotesField.setEditable(false);
+            commentsNotesAddButton.setEnabled(true);
+            commentsNotesCancelButton.setEnabled(false);
+            commentsNotesSaveButton.setEnabled(false);
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /*
+     * Closes the information of the latest incident clicked. Closes screen if
+     * there were no previous incidents in the stack.
+     */
+    public void close() {
+        saveInformation(stack.peek());
+        stack.pop();
+        if (stack.empty()) {
+            setVisible(false);
+        } else {
+            refreshInformation(stack.peek());
+            try {
+                setTitle("Incident Viewer- Incident ID ["
+                        + ScreenManager.theCoordinator.getCadDataIncVal(
+                                INC_VAL.LOG_NUM, incidentId)
+                        + "]   Master Incident ID["
+                        + ScreenManager.theCoordinator.getCadDataIncVal(
+                                INC_VAL.MASTER_INC, incidentId) + "]");
+            } catch (RemoteException e) {
+                e.printStackTrace();
+            }
+        }
+        ScreenManager.refreshScreens();
+        ScreenManager.refreshIncidentEditor();
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JPanel activitiesPane;
+    private javax.swing.JTable activitiesTable;
+    private javax.swing.JButton addButton;
+    private javax.swing.JButton addFspChpButton;
+    private javax.swing.JTextField addInfoAlarmLevelField;
+    private javax.swing.JComboBox addInfoAreaBatallionComboBox;
+    private javax.swing.JComboBox addInfoAreaOfDivisionComboBox;
+    private javax.swing.JComboBox addInfoBeatResponseAreaComboBox;
+    private javax.swing.JComboBox addInfoCCJurisdictionComboBox;
+    private javax.swing.JTextField addInfoCallStatusField;
+    private javax.swing.JTextField addInfoCallTakenField;
+    private javax.swing.JTextField addInfoCallTakerPhoneExtField;
+    private javax.swing.JTextField addInfoCommentsField;
+    private javax.swing.JTextField addInfoIncidentNumField;
+    private javax.swing.JTextField addInfoIncidentTypeField;
+    private javax.swing.JTextField addInfoMachineNameField;
+    private javax.swing.JComboBox addInfoReponsePlanComboBox;
+    private javax.swing.JTextField addInfoRotationProviderAreaField;
+    private javax.swing.JComboBox agencyComboBox;
+    private javax.swing.JLabel agencyLabel;
+    private javax.swing.JLabel alarmLevelLabel;
+    private javax.swing.JTextField aliField;
+    private javax.swing.JLabel aliLabel;
+    private javax.swing.JLabel allAvailableLabel;
+    private javax.swing.JButton aniAliButton;
+    private javax.swing.JTextField aptField;
+    private javax.swing.JLabel aptLabel;
+    private javax.swing.JLabel areaBatallionLabel;
+    private javax.swing.JLabel areaOfDivisionLabel;
+    private javax.swing.JPanel assignmentsPane;
+    private javax.swing.JTable assignmentsTable;
+    private javax.swing.JLabel assistedByLabel;
+    private javax.swing.JButton attachmentsAddButton;
+    private javax.swing.JButton attachmentsBrowseButton;
+    private javax.swing.JButton attachmentsCancelButton;
+    private javax.swing.JButton attachmentsDeleteButton;
+    private javax.swing.JTextField attachmentsDescriptionField;
+    private javax.swing.JTextField attachmentsFileNameField;
+    private javax.swing.JPanel attachmentsPane;
+    private javax.swing.JButton attachmentsSaveButton;
+    private javax.swing.JTable attachmentsTable;
+    private javax.swing.JComboBox beatComboBox;
+    private javax.swing.JLabel beatLabel;
+    private javax.swing.JLabel beatResponseAreaLabel;
+    private javax.swing.JLabel buildingNumLabel;
+    private javax.swing.JTextField callBackCommentField;
+    private javax.swing.JTable callBackCommentTable;
+    private javax.swing.JPanel callBacksPane;
+    private javax.swing.JLabel callClosedLabel;
+    private javax.swing.JLabel callStatusLabel;
+    private javax.swing.JLabel callTakenLabel;
+    private javax.swing.JLabel callTakerPhoneLabel;
+    private javax.swing.JPanel callbacksPane;
+    private javax.swing.JButton carButton;
+    private javax.swing.JLabel ccJurisdictionLabel;
+    private javax.swing.JComboBox cityComboBox;
+    private javax.swing.JLabel cityLabel;
+    private javax.swing.JButton commentsNotesAddButton;
+    private javax.swing.JButton commentsNotesCancelButton;
+    private javax.swing.JCheckBox commentsNotesConfidentialCommentCheckBox;
+    private javax.swing.JTextField commentsNotesField;
+    private javax.swing.JButton commentsNotesNotifyButton;
+    private javax.swing.JPanel commentsNotesPane;
+    private javax.swing.JButton commentsNotesSaveButton;
+    private javax.swing.JTable commentsNotesTable;
+    private javax.swing.JComboBox countyComboBox;
+    private javax.swing.JLabel countyLabel;
+    private javax.swing.JTextField crossStField;
+    private javax.swing.JLabel crossStLabel;
+    private javax.swing.JLabel dataFieldsLabel;
+    private javax.swing.JTable dataFieldsTable;
+    private javax.swing.JLabel dateLabel;
+    private javax.swing.JLabel descriptionLabel;
+    private javax.swing.JPanel editLogPane;
+    private javax.swing.JTable editLogTable;
+    private javax.swing.JTextField emsField;
+    private javax.swing.JLabel emsLabel;
+    private javax.swing.JButton exitSendButton;
+    private javax.swing.JTextField extField;
+    private javax.swing.JLabel extLabel;
+    private javax.swing.JButton fileButton;
+    private javax.swing.JLabel fileNameLabel;
+    private javax.swing.JTextField fireField;
+    private javax.swing.JLabel fireLabel;
+    private javax.swing.JButton hubXterButton;
+    private javax.swing.JLabel inQueueLabel;
+    private javax.swing.JLabel incidentNumLabel;
+    private javax.swing.JLabel incidentTypeLabel;
+    private javax.swing.JButton informationButton;
+    private javax.swing.JButton rightOfPriButton;
+    private javax.swing.JButton updateMapLocButton;
+    private javax.swing.JButton mapButton;
+    private javax.swing.JButton premiseButton;
+    private javax.swing.JButton historyButton;
+    private javax.swing.JButton cautionButton;
+    private javax.swing.JButton callBackAddButton;
+    private javax.swing.JButton callBackCancelButton;
+    private javax.swing.JButton callBackSaveButton;
+    private javax.swing.JCheckBox confidentialCommentCheckBox;
+    private javax.swing.JLabel jLabel8;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JPanel jPanel10;
+    private javax.swing.JPanel jPanel11;
+    private javax.swing.JPanel jPanel12;
+    private javax.swing.JPanel jPanel13;
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JPanel jPanel4;
+    private javax.swing.JPanel jPanel6;
+    private javax.swing.JPanel jPanel7;
+    private javax.swing.JPanel jPanel8;
+    private javax.swing.JPanel jPanel9;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JScrollPane jScrollPane10;
+    private javax.swing.JScrollPane jScrollPane11;
+    private javax.swing.JScrollPane jScrollPane12;
+    private javax.swing.JScrollPane jScrollPane13;
+    private javax.swing.JScrollPane jScrollPane14;
+    private javax.swing.JScrollPane jScrollPane15;
+    private javax.swing.JScrollPane jScrollPane2;
+    private javax.swing.JScrollPane jScrollPane3;
+    private javax.swing.JScrollPane jScrollPane4;
+    private javax.swing.JScrollPane jScrollPane5;
+    private javax.swing.JScrollPane jScrollPane6;
+    private javax.swing.JScrollPane jScrollPane7;
+    private javax.swing.JScrollPane jScrollPane8;
+    private javax.swing.JScrollPane jScrollPane9;
+    private javax.swing.JTabbedPane bottomTabbedPane;
+    private javax.swing.JTabbedPane jTabbedPane2;
+    private javax.swing.JTextField jTextField27;
+    private javax.swing.JTextField lawField;
+    private javax.swing.JLabel lawLabel;
+    private javax.swing.JLabel licensePlateInfoLabel;
+    private javax.swing.JTable licensePlateTable;
+    private javax.swing.JTextField locationField;
+    private javax.swing.JLabel locationLabel;
+    private javax.swing.JLabel machineNameLabel;
+    private javax.swing.JTextField addressField;
+    private javax.swing.JLabel mapLocLabel;
+    private javax.swing.JComboBox mediaComboBox;
+    private javax.swing.JLabel mediaLabel;
+    private javax.swing.JLabel nameLabel;
+    private javax.swing.JButton personButton;
+    private javax.swing.JTextField phoneField;
+    private javax.swing.JLabel phoneLabel;
+    private javax.swing.JLabel phoneLabel2;
+    private javax.swing.JComboBox priComboBox;
+    private javax.swing.JLabel priLabel;
+    private javax.swing.JButton recommandButton;
+    private javax.swing.JTable resourceTable;
+    private javax.swing.JLabel responsePlanLabel;
+    private javax.swing.JLabel ringLabel;
+    private javax.swing.JLabel roomAptEtcLabel;
+    private javax.swing.JLabel rotationProviderAreaLabel;
+    private javax.swing.JTextField rpField;
+    private javax.swing.JLabel rpLabel;
+    private javax.swing.JComboBox rpTypeComboBox;
+    private javax.swing.JLabel rpTypeLabel;
+    private javax.swing.JComboBox sectorComboBox;
+    private javax.swing.JLabel sectorLabel;
+    private javax.swing.JButton sentToQButton;
+    private javax.swing.JButton showAllButton;
+    private javax.swing.JLabel timeLabel;
+    private javax.swing.JLabel timeStampsLabel;
+    private javax.swing.JTable timeStampsTable;
+    private javax.swing.JTextField timesAllAvailableField;
+    private javax.swing.JTextField timesCallClosedField;
+    private javax.swing.JTextField timesInQueueField;
+    private javax.swing.JButton timesPageTimesButton;
+    private javax.swing.JPanel timesPane;
+    private javax.swing.JTextField timesRingField;
+    private javax.swing.JTable timesTable;
+    private javax.swing.JButton towRotationButton;
+    private javax.swing.JLabel transportCityLabel;
+    private javax.swing.JButton transportInfoAddPresetTransportRecButton;
+    private javax.swing.JButton transportInfoAddressButton;
+    private javax.swing.JTextField transportInfoAddressField;
+    private javax.swing.JComboBox transportInfoAssistedByComboBox;
+    private javax.swing.JTextField transportInfoBuildingField;
+    private javax.swing.JButton transportInfoCancelButton;
+    private javax.swing.JComboBox transportInfoCityComboBox;
+    private javax.swing.JButton transportInfoLinkUnitToTransportRecButton;
+    private javax.swing.JTextField transportInfoLocationField;
+    private javax.swing.JTextField transportInfoNameField;
+    private javax.swing.JPanel transportInfoPane;
+    private javax.swing.JTextField transportInfoPhoneField;
+    private javax.swing.JComboBox transportInfoPriorityComboBox;
+    private javax.swing.JComboBox transportInfoProtocolComboBox;
+    private javax.swing.JButton transportInfoRemoveTransportRecButton;
+    private javax.swing.JTextField transportInfoRoomAptEtcField;
+    private javax.swing.JButton transportInfoSaveButton;
+    private javax.swing.JTextField transportInfoState2Field;
+    private javax.swing.JTextField transportInfoStateField;
+    private javax.swing.JLabel transportLocationLabel;
+    private javax.swing.JLabel transportPriorityLabel;
+    private javax.swing.JLabel transportProtocolLabel;
+    private javax.swing.JLabel transportStateLabel;
+    private javax.swing.JComboBox typeCodeComboBox;
+    private javax.swing.JLabel typeCodeLabel;
+    private javax.swing.JButton unitRecButton;
+    private javax.swing.JButton userDataCancelButton;
+    private javax.swing.JTextField userDataDataField;
+    private javax.swing.JTextField userDataDateField;
+    private javax.swing.JPanel userDataPane;
+    private javax.swing.JButton userDataSaveButton;
+    private javax.swing.JButton userDataStampButton;
+    private javax.swing.JTextField userDataTimeField;
+    private javax.swing.JTextField userDataTimeStampField;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/ActivityLogViewer.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/ActivityLogViewer.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/ActivityLogViewer.java	(revision 3)
@@ -0,0 +1,460 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tmcsim.client.cadclientgui.screens;
+
+import javax.swing.JComponent;
+
+/**
+ * CURRENTLY NOT IN USE.
+ * @author Stuart
+ */
+public class ActivityLogViewer extends javax.swing.JFrame {
+
+    /**
+     * Creates new form ActivityLogViewer
+     */
+    public ActivityLogViewer() {
+        declareComponents();
+        initComponents();
+        initLayout();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
+    private void declareComponents() {
+
+        dateTimePeriodLabel = new javax.swing.JLabel();
+        dateTimePeriodCombo = new javax.swing.JComboBox();
+        toLabel = new javax.swing.JLabel();
+        toCombo = new javax.swing.JComboBox();
+        showUnitsByAbbreviatedNameCheckBox = new javax.swing.JCheckBox();
+        selectAllButton = new javax.swing.JButton();
+        unselectAllButton = new javax.swing.JButton();
+        jPanel1 = new javax.swing.JPanel();
+        agencyLabel = new javax.swing.JLabel();
+        agencyCombo = new javax.swing.JComboBox();
+        jurisdictionsLabel = new javax.swing.JLabel();
+        jurisdictionsScroll = new javax.swing.JScrollPane();
+        jurisdictionsTable = new javax.swing.JTable();
+        jurisdictionsSelectAllButton = new javax.swing.JButton();
+        jurisdictionUnselectAllButton = new javax.swing.JButton();
+        showAVLData = new javax.swing.JCheckBox();
+        divisionsScroll = new javax.swing.JScrollPane();
+        divisionsTable = new javax.swing.JTable();
+        divisionsLabel = new javax.swing.JLabel();
+        divisionsSelectAllButton = new javax.swing.JButton();
+        divisionsUnselectAllButton = new javax.swing.JButton();
+        batallionsLabel = new javax.swing.JLabel();
+        batallionsScroll = new javax.swing.JScrollPane();
+        batallionsTable = new javax.swing.JTable();
+        batallionsSelectAllButton = new javax.swing.JButton();
+        batallionsUnselectAllButton = new javax.swing.JButton();
+        showRadioLogDataCheckBox = new javax.swing.JCheckBox();
+        stationsScroll = new javax.swing.JScrollPane();
+        stationsTable = new javax.swing.JTable();
+        stationsLabel = new javax.swing.JLabel();
+        stationsSelectAllButton = new javax.swing.JButton();
+        stationsUnselectAllButton = new javax.swing.JButton();
+        unitsScroll = new javax.swing.JScrollPane();
+        unitsTable = new javax.swing.JTable();
+        unitsLabel = new javax.swing.JLabel();
+        unitsSelectAllButton = new javax.swing.JButton();
+        unitsUnselectButton = new javax.swing.JButton();
+        logScroll = new javax.swing.JScrollPane();
+        logTable = new javax.swing.JTable();
+        refreshButton = new javax.swing.JButton();
+        printButton = new javax.swing.JButton();
+        exitButton = new javax.swing.JButton();
+
+    }
+    
+    private void initComponents(){
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+        setPreferredSize(new java.awt.Dimension(842, 600));
+
+        dateTimePeriodLabel.setText("Date-Time Period:");
+
+        dateTimePeriodCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        toLabel.setText("to:");
+
+        toCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        showUnitsByAbbreviatedNameCheckBox.setText("Show Units by Abbreviated Name");
+
+        selectAllButton.setText("Select All");
+        selectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        unselectAllButton.setText("Unselect All");
+        unselectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        agencyLabel.setText("Agency:");
+
+        agencyCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        jurisdictionsLabel.setText("Jurisdictions:");
+
+        jurisdictionsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null},
+                {null},
+                {null},
+                {null}
+            },
+            new String [] {
+                "Title 1"
+            }
+        ));
+        jurisdictionsScroll.setViewportView(jurisdictionsTable);
+
+        jurisdictionsSelectAllButton.setText("Select All");
+
+        jurisdictionUnselectAllButton.setText("Unselect All");
+        jurisdictionUnselectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        showAVLData.setText("Show AVL Data");
+
+        divisionsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null},
+                {null},
+                {null},
+                {null}
+            },
+            new String [] {
+                "Title 1"
+            }
+        ));
+        divisionsTable.setTableHeader(null);
+        divisionsScroll.setViewportView(divisionsTable);
+
+        divisionsLabel.setText("Divisions:");
+
+        divisionsSelectAllButton.setText("Select All");
+        divisionsSelectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        divisionsUnselectAllButton.setText("Unselect All");
+        divisionsUnselectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        batallionsLabel.setText("Batallions:");
+
+        batallionsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null},
+                {null},
+                {null},
+                {null}
+            },
+            new String [] {
+                "Title 1"
+            }
+        ));
+        batallionsTable.setTableHeader(null);
+        batallionsScroll.setViewportView(batallionsTable);
+
+        batallionsSelectAllButton.setText("Select All");
+        batallionsSelectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        batallionsUnselectAllButton.setText("Unselect All");
+        batallionsUnselectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        showRadioLogDataCheckBox.setText("Show Radio Log Data");
+
+        stationsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null},
+                {null},
+                {null},
+                {null}
+            },
+            new String [] {
+                "Title 1"
+            }
+        ));
+        stationsTable.setTableHeader(null);
+        stationsScroll.setViewportView(stationsTable);
+
+        stationsLabel.setText("Stations:");
+
+        stationsSelectAllButton.setText("Select All");
+        stationsSelectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        stationsUnselectAllButton.setText("Unselect All");
+        stationsUnselectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        unitsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null},
+                {null},
+                {null},
+                {null}
+            },
+            new String [] {
+                "Title 1"
+            }
+        ));
+        unitsTable.setTableHeader(null);
+        unitsScroll.setViewportView(unitsTable);
+
+        unitsLabel.setText("Units:");
+
+        unitsSelectAllButton.setText("Select All");
+        unitsSelectAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        unitsUnselectButton.setText("Unselect All");
+        unitsUnselectButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+
+        logTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null, null, null, null, null, null},
+                {null, null, null, null, null, null},
+                {null, null, null, null, null, null},
+                {null, null, null, null, null, null}
+            },
+            new String [] {
+                "Date/Time", "Incident", "Unit (Vehicle)", "Activity", "Location", "Comment"
+            }
+        ));
+        logScroll.setViewportView(logTable);
+
+        refreshButton.setText("Refresh");
+
+        printButton.setText("Print");
+
+        exitButton.setText("Exit");    
+    }
+    
+    private void initLayout(){    
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                        .addComponent(agencyLabel)
+                        .addComponent(jurisdictionsLabel)
+                        .addComponent(agencyCombo, 0, 190, Short.MAX_VALUE)
+                        .addComponent(jurisdictionsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
+                    .addComponent(showAVLData)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGap(15, 15, 15)
+                        .addComponent(jurisdictionsSelectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(jurisdictionUnselectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(divisionsLabel)
+                    .addComponent(divisionsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(batallionsLabel)
+                            .addComponent(batallionsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(showRadioLogDataCheckBox)
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGap(15, 15, 15)
+                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addComponent(divisionsSelectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addGap(0, 0, 0)
+                                        .addComponent(divisionsUnselectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                    .addGroup(jPanel1Layout.createSequentialGroup()
+                                        .addComponent(batallionsSelectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addGap(0, 0, 0)
+                                        .addComponent(batallionsUnselectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)))))
+                        .addGap(10, 10, 10)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(stationsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGap(15, 15, 15)
+                                .addComponent(stationsSelectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(0, 0, 0)
+                                .addComponent(stationsUnselectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addComponent(stationsLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(jPanel1Layout.createSequentialGroup()
+                                .addGap(15, 15, 15)
+                                .addComponent(unitsSelectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(0, 0, 0)
+                                .addComponent(unitsUnselectButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addComponent(unitsLabel)
+                            .addComponent(unitsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addGap(0, 6, Short.MAX_VALUE))
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(agencyLabel)
+                    .addComponent(divisionsLabel)
+                    .addComponent(stationsLabel)
+                    .addComponent(unitsLabel))
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                        .addGroup(jPanel1Layout.createSequentialGroup()
+                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                .addComponent(batallionsSelectAllButton)
+                                .addComponent(batallionsUnselectAllButton)
+                                .addComponent(stationsSelectAllButton)
+                                .addComponent(stationsUnselectAllButton)
+                                .addComponent(unitsSelectAllButton)
+                                .addComponent(unitsUnselectButton))
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                            .addComponent(showRadioLogDataCheckBox))
+                        .addGroup(jPanel1Layout.createSequentialGroup()
+                            .addComponent(agencyCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGap(17, 17, 17)
+                            .addComponent(jurisdictionsLabel)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                            .addComponent(jurisdictionsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGap(0, 0, 0)
+                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                .addComponent(jurisdictionsSelectAllButton)
+                                .addComponent(jurisdictionUnselectAllButton))
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                            .addComponent(showAVLData)))
+                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                        .addComponent(unitsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+                        .addComponent(stationsScroll, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+                        .addGroup(jPanel1Layout.createSequentialGroup()
+                            .addComponent(divisionsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGap(0, 0, 0)
+                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                .addComponent(divisionsSelectAllButton)
+                                .addComponent(divisionsUnselectAllButton))
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                            .addComponent(batallionsLabel)
+                            .addGap(0, 0, 0)
+                            .addComponent(batallionsScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addGap(6, 6, 6))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(10, 10, 10)
+                        .addComponent(dateTimePeriodLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(dateTimePeriodCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(toLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(toCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(25, 25, 25)
+                        .addComponent(showUnitsByAbbreviatedNameCheckBox)
+                        .addGap(30, 30, 30)
+                        .addComponent(selectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(unselectAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(logScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 822, Short.MAX_VALUE)
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addGap(596, 596, 596)
+                        .addComponent(refreshButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(printButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, 0)
+                        .addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(dateTimePeriodLabel)
+                    .addComponent(dateTimePeriodCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(toLabel)
+                    .addComponent(toCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(showUnitsByAbbreviatedNameCheckBox)
+                    .addComponent(selectAllButton)
+                    .addComponent(unselectAllButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(logScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(exitButton)
+                    .addComponent(printButton)
+                    .addComponent(refreshButton)))
+        );
+
+        pack();
+    }// </editor-fold>                        
+    
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+    
+    // Variables declaration - do not modify                     
+    private javax.swing.JComboBox agencyCombo;
+    private javax.swing.JLabel agencyLabel;
+    private javax.swing.JLabel batallionsLabel;
+    private javax.swing.JScrollPane batallionsScroll;
+    private javax.swing.JButton batallionsSelectAllButton;
+    private javax.swing.JTable batallionsTable;
+    private javax.swing.JButton batallionsUnselectAllButton;
+    private javax.swing.JComboBox dateTimePeriodCombo;
+    private javax.swing.JLabel dateTimePeriodLabel;
+    private javax.swing.JLabel divisionsLabel;
+    private javax.swing.JScrollPane divisionsScroll;
+    private javax.swing.JButton divisionsSelectAllButton;
+    private javax.swing.JTable divisionsTable;
+    private javax.swing.JButton divisionsUnselectAllButton;
+    private javax.swing.JButton exitButton;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JButton jurisdictionUnselectAllButton;
+    private javax.swing.JLabel jurisdictionsLabel;
+    private javax.swing.JScrollPane jurisdictionsScroll;
+    private javax.swing.JButton jurisdictionsSelectAllButton;
+    private javax.swing.JTable jurisdictionsTable;
+    private javax.swing.JScrollPane logScroll;
+    private javax.swing.JTable logTable;
+    private javax.swing.JButton printButton;
+    private javax.swing.JButton refreshButton;
+    private javax.swing.JButton selectAllButton;
+    private javax.swing.JCheckBox showAVLData;
+    private javax.swing.JCheckBox showRadioLogDataCheckBox;
+    private javax.swing.JCheckBox showUnitsByAbbreviatedNameCheckBox;
+    private javax.swing.JLabel stationsLabel;
+    private javax.swing.JScrollPane stationsScroll;
+    private javax.swing.JButton stationsSelectAllButton;
+    private javax.swing.JTable stationsTable;
+    private javax.swing.JButton stationsUnselectAllButton;
+    private javax.swing.JComboBox toCombo;
+    private javax.swing.JLabel toLabel;
+    private javax.swing.JLabel unitsLabel;
+    private javax.swing.JScrollPane unitsScroll;
+    private javax.swing.JButton unitsSelectAllButton;
+    private javax.swing.JTable unitsTable;
+    private javax.swing.JButton unitsUnselectButton;
+    private javax.swing.JButton unselectAllButton;
+    // End of variables declaration                   
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/UnitStatus.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/UnitStatus.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/UnitStatus.java	(revision 3)
@@ -0,0 +1,960 @@
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.rmi.RemoteException;
+import java.util.List;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import javax.swing.RowSorter;
+import javax.swing.RowSorter.SortKey;
+import javax.swing.SwingUtilities;
+import javax.swing.TransferHandler;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableCellRenderer;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS;
+import tmcsim.client.cadclientgui.enums.TableHeaders;
+import tmcsim.client.cadclientgui.enums.UnitStatusEnums;
+
+/**
+ * This class contains the view and controller for the UnitStatus screen. The view was not built using a GUI builder plug-in
+ * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 
+ * 
+ * @author Vincent
+ */
+
+public class UnitStatus extends JFrame {
+
+    private final int ONE_SECOND = 1000;
+    
+    private final String SCREEN_TITLE = "(Shift + F4)  Unit Status";
+
+    private final Dimension SCREEN_DIMENSIONS = new Dimension(1400, 250);
+
+    private final Dimension DROP_DOWN_MENU_LABEL_DIMENSIONS = new Dimension(
+            170, 20);
+
+    private final Dimension DROP_DOWN_MENU_DIMENSIONS = new Dimension(170, 300);
+
+    private final Dimension BUTTON_DIMENSIONS = new Dimension(100, 25);
+
+    private final int COLUMN_WIDTH = 120;
+
+    private final String[] LABELS = { "10-8", "OFC", "OOS",
+            "Open Unit Details", "Open Unit Activity Log", "Map",
+            "Change Vehicle", "Unit Poll", "Quick Note...",
+            "Activate User Timer...", "Filters", "Page...", "Roster System",
+            "10-10" };
+
+    private final String[] WITH_ASSIGNED_INC_LABELS = { "STAGE", "10-97",
+            "10-8", "ASSIGNED ALT...", "ENRT ALT...", "10-97 ALT...",
+            "Open Incident", "Recall Incident", "Open Unit Details",
+            "Open Unit Activity Log", "Map", "Recall Linked Incidents",
+            "Cancel", "Reassign", "Duplicate", "Unit Poll", "Quick Note...",
+            "Activate User Timer...", "Filters", "Page...", "Fax..." };
+
+    private final String LABEL_SPACING = "     ";
+
+    // this box holds both the table and the buttons below
+    private Box unitStatusFrame;
+
+    private JTable unitStatusTable;
+    private JFrame unitStatusMenu;
+    private JFrame unitStatusWithAssignedIncMenu;
+
+    // labels for the drop down menu
+    private JLabel[] dropDownLabels = new JLabel[LABELS.length];
+    private JLabel[] dropDownWithAssignedIncLabels = new JLabel[WITH_ASSIGNED_INC_LABELS.length];
+
+    private JButton buttonEnrt;
+    private JButton buttonStage;
+    private JButton button1097;
+    private JButton buttonCode4;
+    private JButton buttonDash1;
+    private JButton buttonDash2;
+    private JButton buttonDash3;
+    private JButton button108;
+    private JButton buttonOFC;
+    private JButton buttonOOS;
+
+    public UnitStatus() {
+        initComponents();
+    }
+
+    private void initComponents() {
+        initializeTable();
+        initControllers();
+        initializeDropDownMenus();
+
+        JScrollPane scrollpane = new JScrollPane(unitStatusTable);
+        scrollpane.getViewport().setBackground(Color.WHITE);
+
+        Box bottomButtons = new Box(BoxLayout.X_AXIS);
+        initializeBottomButtons(bottomButtons);
+
+        unitStatusFrame = new Box(BoxLayout.Y_AXIS);
+        unitStatusFrame.add(bottomButtons);
+
+        unitStatusFrame.add(scrollpane);// holds the table
+        unitStatusFrame.add(bottomButtons);
+
+        setTitle(SCREEN_TITLE);
+        setPreferredSize(SCREEN_DIMENSIONS);
+        getContentPane().add(unitStatusFrame);
+        setResizable(true);
+        pack();
+        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+        setLocation(0, (int) (dim.getHeight() * 2 / 4));
+        setDefaultCloseOperation(HIDE_ON_CLOSE);
+        setVisible(false);
+    }
+
+    /**
+     * Initializes the table and prepares the cell renderer for color
+     * management. It initializes the default settings and handles the drag and
+     * drop feature.
+     */
+    private void initializeTable() {
+        unitStatusTable = new JTable() {
+            /**
+             * Custom renderer to set different background/foreground colors
+             * 
+             * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer,
+             *      int, int)
+             */
+            public Component prepareRenderer(TableCellRenderer renderer,
+                    int row, int column) {
+                Component comp = super.prepareRenderer(renderer, row, column);
+
+                int unitNumColumn = 2;
+                try {
+                    switch (ScreenManager.theCoordinator
+                            .getCadDataUnitStatus((String) unitStatusTable
+                                    .getValueAt(row, unitNumColumn))) {
+                    case Assignable:
+                        comp.setForeground(Color.GREEN);
+                        comp.setBackground(Color.BLACK);
+                        break;
+                    case Arrived:
+                        comp.setForeground(Color.YELLOW);
+                        comp.setBackground(Color.BLACK);
+                        break;
+                    case NotAssignable:
+                        comp.setForeground(Color.BLACK);
+                        comp.setBackground(Color.GRAY);
+                        break;
+                    case Enroute:
+                        comp.setForeground(Color.CYAN);
+                        comp.setBackground(Color.BLACK);
+                        break;
+                    }
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+
+                if (getSelectedRow() == row) {
+                    comp.setForeground(Color.WHITE);
+                    comp.setBackground(Color.BLUE);
+                }
+
+                return comp;
+            }
+        };
+
+        unitStatusTable.setOpaque(true);
+        unitStatusTable.setIntercellSpacing(new Dimension(1, 0));
+        unitStatusTable.setGridColor(Color.WHITE);
+        unitStatusTable.getTableHeader().setReorderingAllowed(false);
+        unitStatusTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        unitStatusTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+        unitStatusTable.setAutoCreateRowSorter(true);
+        unitStatusTable.setDragEnabled(true);
+
+        unitStatusTable.setModel(new DefaultTableModel());
+        ((DefaultTableModel) unitStatusTable.getModel())
+                .setColumnIdentifiers(TableHeaders.UNIT_STATUS_HEADERS);
+
+        unitStatusTable.setTransferHandler(new TransferHandler() {
+
+            public boolean canImport(TransferHandler.TransferSupport info) {
+                if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) {
+                    return false;
+                }
+                return true;
+            }
+
+            public int getSourceActions(JComponent c) {
+                return TransferHandler.COPY_OR_MOVE;
+            }
+
+            protected Transferable createTransferable(JComponent c) {
+                return new StringSelection((String) unitStatusTable.getValueAt(
+                        unitStatusTable.getSelectedRow(), 2));
+            }
+
+        });
+
+        for (int i = 0; i < unitStatusTable.getColumnCount(); i++) {
+            unitStatusTable.getColumnModel().getColumn(i)
+                    .setPreferredWidth(COLUMN_WIDTH);
+        }
+    }
+
+    /*
+     * Adds the key and mouse listeners for the table and component listener for
+     * screen.
+     */
+    private void initControllers() {
+        unitStatusTable.addMouseListener(new MouseListener() {
+            public void mouseClicked(MouseEvent e) {
+                int unitColumn = 2;
+                String unitNum = (String) unitStatusTable.getValueAt(
+                        unitStatusTable.getSelectedRow(), unitColumn);
+                if (SwingUtilities.isRightMouseButton(e)) {
+                    try {
+                        if (ScreenManager.theCoordinator
+                                .getCadDataUnitStatus(unitNum) == UnitStatusEnums.Enroute
+                                || ScreenManager.theCoordinator
+                                        .getCadDataUnitStatus(unitNum) == UnitStatusEnums.Arrived) {
+                            openDropDownWithAssignedIncMenu(e);
+                        } else {
+                            openDropDownMenu(e);
+                        }
+                    } catch (RemoteException e1) {
+                        e1.printStackTrace();
+                    }
+                } else {
+                    closeDropDownMenu();
+                    closeDropDownWithAssignedIncMenu();
+                }
+            }
+
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+        });
+
+        addComponentListener(new ComponentListener() {
+            public void componentHidden(ComponentEvent e) {
+            }
+
+            public void componentMoved(ComponentEvent e) {
+                closeDropDownMenu();
+            }
+
+            public void componentResized(ComponentEvent e) {
+            }
+
+            public void componentShown(ComponentEvent e) {
+            }
+        });
+    }
+
+    /*
+     * Creates the drop down menu that appears when a right click is performed
+     * on the table.
+     */
+    private void initializeDropDownMenus() {
+        Box menu = new Box(BoxLayout.Y_AXIS);
+        initializeDropDownLabels();
+        addLabelsToBox(menu);
+
+        setMenuHighlightedBackground(Color.BLUE);
+
+        unitStatusMenu = new JFrame();
+        unitStatusMenu.getContentPane().add(menu);
+        unitStatusMenu.setPreferredSize(DROP_DOWN_MENU_DIMENSIONS);
+        unitStatusMenu.setUndecorated(true);
+        unitStatusMenu.pack();
+        unitStatusMenu.setVisible(false);
+
+        menu = new Box(BoxLayout.Y_AXIS);
+        initializeDropDownWithAssignedIncLabels();
+        addWithAssignedIncLabelsToBox(menu);
+
+        setWithAssignedIncMenuHighlightedBackground(Color.BLUE);
+
+        unitStatusWithAssignedIncMenu = new JFrame();
+        unitStatusWithAssignedIncMenu.getContentPane().add(menu);
+        unitStatusWithAssignedIncMenu
+                .setPreferredSize(DROP_DOWN_MENU_DIMENSIONS);
+        unitStatusWithAssignedIncMenu.setUndecorated(true);
+        unitStatusWithAssignedIncMenu.pack();
+        unitStatusWithAssignedIncMenu.setVisible(false);
+    }
+
+    /*
+     * Sets the text and size and adds a listener to each label. Currently,
+     * labels are not implemented so no listeners are added.
+     */
+    private void initializeDropDownLabels() {
+        for (int i = 0; i < dropDownLabels.length; i++) {
+            dropDownLabels[i] = new JLabel(LABEL_SPACING + LABELS[i]);
+            dropDownLabels[i].setMaximumSize(DROP_DOWN_MENU_LABEL_DIMENSIONS);
+            dropDownLabels[i].setForeground(Color.GRAY);
+        }
+    }
+
+    /*
+     * Sets the text and size and adds a listener to each activated label.
+     */
+    private void initializeDropDownWithAssignedIncLabels() {
+        for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) {
+            dropDownWithAssignedIncLabels[i] = new JLabel(LABEL_SPACING
+                    + WITH_ASSIGNED_INC_LABELS[i]);
+            dropDownWithAssignedIncLabels[i]
+                    .setMaximumSize(DROP_DOWN_MENU_LABEL_DIMENSIONS);
+            dropDownWithAssignedIncLabels[i].setForeground(Color.GRAY);
+        }
+        dropDownWithAssignedIncLabels[6].setForeground(Color.BLACK);
+        addMouseListenersToWithAssignedIncLabel(dropDownWithAssignedIncLabels[6]);
+
+    }
+
+    /*
+     * Add the labels to the box in order with separators and spacings in
+     * between.
+     */
+    private void addLabelsToBox(Box menu) {
+        menu.add(dropDownLabels[0]);
+        menu.add(dropDownLabels[1]);
+        menu.add(dropDownLabels[2]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[3]);
+        menu.add(dropDownLabels[4]);
+        menu.add(dropDownLabels[5]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[6]);
+        menu.add(dropDownLabels[7]);
+        menu.add(dropDownLabels[8]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[9]);
+        menu.add(dropDownLabels[10]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[11]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[12]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[13]);
+
+        menu.add(Box.createVerticalStrut(5));
+    }
+
+    /*
+     * Add the labels to the box in order with separators and spacings in
+     * between.
+     */
+    private void addWithAssignedIncLabelsToBox(Box menu) {
+        menu.add(dropDownWithAssignedIncLabels[0]);
+        menu.add(dropDownWithAssignedIncLabels[1]);
+        menu.add(dropDownWithAssignedIncLabels[2]);
+        menu.add(dropDownWithAssignedIncLabels[3]);
+        menu.add(dropDownWithAssignedIncLabels[4]);
+        menu.add(dropDownWithAssignedIncLabels[5]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownWithAssignedIncLabels[6]);
+        menu.add(dropDownWithAssignedIncLabels[7]);
+        menu.add(dropDownWithAssignedIncLabels[8]);
+        menu.add(dropDownWithAssignedIncLabels[9]);
+        menu.add(dropDownWithAssignedIncLabels[10]);
+        menu.add(dropDownWithAssignedIncLabels[11]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownWithAssignedIncLabels[12]);
+        menu.add(dropDownWithAssignedIncLabels[13]);
+        menu.add(dropDownWithAssignedIncLabels[14]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownWithAssignedIncLabels[15]);
+        menu.add(dropDownWithAssignedIncLabels[16]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownWithAssignedIncLabels[17]);
+        menu.add(dropDownWithAssignedIncLabels[18]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownWithAssignedIncLabels[19]);
+        menu.add(dropDownWithAssignedIncLabels[20]);
+
+        menu.add(Box.createVerticalStrut(5));
+    }
+
+    /*
+     * Creates each button and handles the action performed by the button.
+     */
+    public void initializeBottomButtons(Box bottomButtons) {
+        bottomButtons.add(buttonEnrt = makeButton("ENRT", new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                try {
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.STATUS, "ENRT");
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Enroute);
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                refreshTable();
+            }
+        }));
+        bottomButtons.add(buttonStage = makeButton("STAGE",
+                new ActionListener() {
+                    public void actionPerformed(ActionEvent arg0) {
+                        try {
+                            ScreenManager.theCoordinator.setCadDataUnitValue(
+                                    (String) unitStatusTable
+                                            .getValueAt(unitStatusTable
+                                                    .getSelectedRow(), 2),
+                                    UNIT_TAGS.STATUS, "STAGE");
+                        } catch (RemoteException e) {
+                            e.printStackTrace();
+                        }
+                        refreshTable();
+                    }
+                }));
+        bottomButtons.add(button1097 = makeButton("10-97",
+                new ActionListener() {
+                    public void actionPerformed(ActionEvent arg0) {
+                        try {
+                            ScreenManager.theCoordinator.setCadDataUnitValue(
+                                    (String) unitStatusTable
+                                            .getValueAt(unitStatusTable
+                                                    .getSelectedRow(), 2),
+                                    UNIT_TAGS.STATUS, "10-97");
+                            ScreenManager.theCoordinator.setCadDataUnitValue(
+                                    (String) unitStatusTable
+                                            .getValueAt(unitStatusTable
+                                                    .getSelectedRow(), 2),
+                                    UNIT_TAGS.UNIT_STATUS,
+                                    UnitStatusEnums.Arrived);
+                        } catch (RemoteException e) {
+                            e.printStackTrace();
+                        }
+                        refreshTable();
+                    }
+                }));
+        bottomButtons.add(buttonCode4 = makeButton("CODE 4",
+                new ActionListener() {
+                    public void actionPerformed(ActionEvent arg0) {
+                        try {
+                            ScreenManager.theCoordinator.setCadDataUnitValue(
+                                    (String) unitStatusTable
+                                            .getValueAt(unitStatusTable
+                                                    .getSelectedRow(), 2),
+                                    UNIT_TAGS.STATUS, "CODE 4");
+                        } catch (RemoteException e) {
+                            e.printStackTrace();
+                        }
+                        refreshTable();
+                    }
+                }));
+        bottomButtons.add(buttonDash1 = makeButton("-", null));
+        bottomButtons.add(buttonDash2 = makeButton("-", null));
+        bottomButtons.add(buttonDash3 = makeButton("-", null));
+        bottomButtons.add(button108 = makeButton("10-8", new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                try {
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.STATUS, "10-8");
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Assignable);
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                refreshTable();
+            }
+        }));
+        bottomButtons.add(buttonOFC = makeButton("OFC", new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                try {
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.STATUS, "OFC");
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived);
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                refreshTable();
+            }
+        }));
+        bottomButtons.add(buttonOOS = makeButton("OOS", new ActionListener() {
+            public void actionPerformed(ActionEvent arg0) {
+                try {
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.STATUS, "OOS");
+                    ScreenManager.theCoordinator.setCadDataUnitValue(
+                            (String) unitStatusTable.getValueAt(
+                                    unitStatusTable.getSelectedRow(), 2),
+                            UNIT_TAGS.UNIT_STATUS,
+                            UnitStatusEnums.NotAssignable);
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                refreshTable();
+            }
+        }));
+    }
+
+    /*
+     * Makes a JButton with an text and listener.
+     * 
+     * @param text the text to be displayed
+     * 
+     * @param listener the action listener for this button.
+     * 
+     * @return the JButton.
+     */
+    public JButton makeButton(String text, ActionListener listener) {
+        JButton button = new JButton(text);
+        button.setBackground(Color.GRAY);
+        button.setOpaque(false);
+        Dimension size = BUTTON_DIMENSIONS;
+        button.setPreferredSize(size);
+        button.setMinimumSize(size);
+        button.setMaximumSize(size);
+        button.addActionListener(listener);
+        button.setFocusable(false);
+
+        return button;
+    }
+
+    /*
+     * Sets the highlighted color(when the mouse is over it) of the JLabels.
+     * Note: the color is not shown until .setOpaque(true) is called.
+     * 
+     * @param color the highlighted color
+     */
+    public void setMenuHighlightedBackground(Color color) {
+        for (int i = 0; i < dropDownLabels.length; i++) {
+            dropDownLabels[i].setBackground(color);
+        }
+    }
+
+    /*
+     * Sets the highlighted color(when the mouse is over it) of the JLabels.
+     * Note: the color is not shown until .setOpaque(true) is called.
+     * 
+     * @param color the highlighted color
+     */
+    public void setWithAssignedIncMenuHighlightedBackground(Color color) {
+        for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) {
+            dropDownWithAssignedIncLabels[i].setBackground(color);
+        }
+    }
+
+    /*
+     * Sets all JLabels to not display a highlighted background
+     */
+    public void unSelectAllLabels() {
+        for (int i = 0; i < dropDownLabels.length; i++) {
+            dropDownLabels[i].setOpaque(false);
+        }
+    }
+
+    /*
+     * Sets all JLabels to not display a highlighted background
+     */
+    public void unSelectAllWithAssignedIncLabels() {
+        for (int i = 0; i < dropDownWithAssignedIncLabels.length; i++) {
+            dropDownWithAssignedIncLabels[i].setOpaque(false);
+        }
+    }
+
+    /*
+     * Sets the label to have a highlighted background.
+     * 
+     * @param label the label that is selected/highlighted
+     */
+    public void selectLabel(Object label) {
+        ((JLabel) label).setOpaque(true);
+    }
+
+    /*
+     * Performs the label action depending on which label was clicked.
+     */
+    public void performLabelAction(Object label) {
+        if (label.equals(dropDownLabels[0])) { // 10-8
+
+        } else if (label.equals(dropDownLabels[1])) { // OFC
+
+        } else if (label.equals(dropDownLabels[2])) { // OOS
+
+        } else if (label.equals(dropDownLabels[3])) { // Open Unit Details
+
+        } else if (label.equals(dropDownLabels[4])) { // Open Unit Activity Log
+
+        } else if (label.equals(dropDownLabels[5])) { // Map
+
+        } else if (label.equals(dropDownLabels[6])) { // Change Vehicle
+
+        } else if (label.equals(dropDownLabels[7])) { // Unit Poll
+
+        } else if (label.equals(dropDownLabels[8])) { // Quick Notes
+
+        } else if (label.equals(dropDownLabels[9])) { // Activate User Timer
+
+        } else if (label.equals(dropDownLabels[10])) { // Filters
+
+        } else if (label.equals(dropDownLabels[11])) { // Page
+
+        } else if (label.equals(dropDownLabels[12])) { // Roster System
+
+        } else if (label.equals(dropDownLabels[13])) { // 10-10
+
+        }
+    }
+
+    /*
+     * Performs the label action depending on which label was clicked.
+     */
+    public void performWithAssignedIncLabelAction(Object label) {
+        if (label.equals(dropDownWithAssignedIncLabels[0])) { // STAGE
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[1])) { // 10-97
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[2])) { // 10-8
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[3])) { // ASSIGN
+                                                                        // ALT...
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[4])) { // ENRT
+                                                                        // ALT...
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[5])) { // 10-97
+                                                                        // ALT...
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[6])) { // Open
+                                                                        // Incident
+            int idColumn = 0;
+            ScreenManager.openIncidentViewer(Integer
+                    .parseInt((String) unitStatusTable.getValueAt(
+                            unitStatusTable.getSelectedRow(), idColumn)));
+        } else if (label.equals(dropDownWithAssignedIncLabels[7])) { // Recall
+                                                                        // Incident
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[8])) { // Open
+                                                                        // Unit
+                                                                        // Details
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[9])) { // Open
+                                                                        // Unit
+                                                                        // Activity
+                                                                        // Log
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[10])) { // Map
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[11])) { // Recall
+                                                                        // Linked
+                                                                        // Incidents
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[12])) { // Cancel
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[13])) { // Reassign
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[14])) { // Duplicate
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[15])) { // Unit
+                                                                        // Poll
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[16])) { // Quick
+                                                                        // Note...
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[17])) { // Activate
+                                                                        // User
+                                                                        // Timer...
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[18])) { // Filters
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[19])) { // Page...
+
+        } else if (label.equals(dropDownWithAssignedIncLabels[20])) { // Fax...
+
+        }
+    }
+
+    /*
+     * Factory method. Adds a mouse listeners to the label. The
+     * MouseMotionListener detects the mouse's location to highlight the label.
+     * The MouseListener detects for clicks and performs the action of the label
+     * designates.
+     */
+    public void addMouseListenersToLabel(JLabel label) {
+        label.addMouseMotionListener(new MouseMotionListener() {
+            public void mouseDragged(MouseEvent e) {
+            }
+
+            public void mouseMoved(MouseEvent e) {
+                unSelectAllLabels();
+                selectLabel(e.getSource());
+                unitStatusMenu.revalidate();
+                unitStatusMenu.repaint();
+            }
+        });
+        label.addMouseListener(new MouseListener() {
+            public void mouseClicked(MouseEvent e) {
+                performLabelAction(e.getSource());
+                unSelectAllLabels();
+                unitStatusMenu.revalidate();
+                unitStatusMenu.repaint();
+                unitStatusMenu.setVisible(false);
+            }
+
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+        });
+    }
+
+    /*
+     * Factory method. Adds a mouse listeners to the label. The
+     * MouseMotionListener detects the mouse's location to highlight the label.
+     * The MouseListener detects for clicks and performs the action of the label
+     * designates.
+     */
+    public void addMouseListenersToWithAssignedIncLabel(JLabel label) {
+        label.addMouseMotionListener(new MouseMotionListener() {
+            public void mouseDragged(MouseEvent e) {
+            }
+
+            public void mouseMoved(MouseEvent e) {
+                unSelectAllLabels();
+                selectLabel(e.getSource());
+                unitStatusWithAssignedIncMenu.revalidate();
+                unitStatusWithAssignedIncMenu.repaint();
+            }
+        });
+        label.addMouseListener(new MouseListener() {
+            public void mouseClicked(MouseEvent e) {
+                performWithAssignedIncLabelAction(e.getSource());
+                unSelectAllLabels();
+                unitStatusWithAssignedIncMenu.revalidate();
+                unitStatusWithAssignedIncMenu.repaint();
+                unitStatusWithAssignedIncMenu.setVisible(false);
+            }
+
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+        });
+    }
+
+    /*
+     * Displays the menu where the right click occurred.
+     */
+    public void openDropDownMenu(MouseEvent e) {
+        unitStatusMenu.setLocation(e.getX() + this.getX(),
+                e.getY() + this.getY());
+        unitStatusMenu.setVisible(true);
+    }
+
+    /*
+     * Displays the menu where the right click occurred.
+     */
+    public void openDropDownWithAssignedIncMenu(MouseEvent e) {
+        unitStatusWithAssignedIncMenu.setLocation(e.getX() + this.getX(),
+                e.getY() + this.getY());
+        unitStatusWithAssignedIncMenu.setVisible(true);
+    }
+
+    /*
+     * Hides the menu.
+     */
+    public void closeDropDownMenu() {
+        unSelectAllLabels();
+        unitStatusMenu.revalidate();
+        unitStatusMenu.repaint();
+        unitStatusMenu.setVisible(false);
+    }
+
+    /*
+     * Hides the menu.
+     */
+    public void closeDropDownWithAssignedIncMenu() {
+        unSelectAllLabels();
+        unitStatusWithAssignedIncMenu.revalidate();
+        unitStatusWithAssignedIncMenu.repaint();
+        unitStatusWithAssignedIncMenu.setVisible(false);
+    }
+
+    /*
+     * Refreshes the data in the table by updating all data and repainting the
+     * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 
+     * and applies them to the updated model it receives from the server.
+     */
+    public void refreshTable() {
+        if(unitStatusTable.getTableHeader().getResizingColumn() == null){//only update info if resize not in progress
+              try {
+                int index = unitStatusTable.getSelectedRow();
+                List<? extends SortKey> keys = unitStatusTable.getRowSorter().getSortKeys();
+                int[] columnWidths = new int[20];
+                for(int i = 0; i < unitStatusTable.getColumnCount(); i++){
+                    columnWidths[i] = unitStatusTable.getColumnModel().getColumn(i).getWidth();
+                }
+                
+                unitStatusTable.setModel(ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.UNIT_STATUS));
+                
+                for(int i = 0; i < unitStatusTable.getColumnCount(); i++){
+                    unitStatusTable.getColumnModel().getColumn(i).setPreferredWidth(columnWidths[i]);
+                }
+                unitStatusTable.getRowSorter().setSortKeys(keys);
+                unitStatusTable.getSelectionModel().setSelectionInterval(index, index);
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                revalidate();
+                repaint();
+          }
+    }
+
+    /*
+     * Makes screen visible.
+     */
+    public void open() {
+        setVisible(true);
+    }
+
+    /*
+     * Hides screen.
+     */
+    public void close() {
+        setVisible(false);
+    }
+
+    /**
+     * This method is called every second in ScreenManger to update the display
+     * time every second.
+     */
+    public void handleUpdateTime() {
+        int timerColumn = 13;
+        int unitColumn = 2;
+        for (int i = 0; i < unitStatusTable.getModel().getRowCount(); i++) {
+            try {
+                unitStatusTable.getModel().setValueAt(
+                        ScreenManager.theCoordinator.getCadDataUnitValue(
+                                (String) unitStatusTable.getModel().getValueAt(
+                                        i, unitColumn), UNIT_TAGS.TIMER), i,
+                        timerColumn);
+            } catch (RemoteException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * Removes drag and drop feature/button clicking.
+     */
+    public void removeDispatcherAuthority() {
+        unitStatusTable.setTransferHandler(new TransferHandler(""));
+        buttonEnrt.setEnabled(false);
+        buttonStage.setEnabled(false);
+        button1097.setEnabled(false);
+        buttonCode4.setEnabled(false);
+        buttonDash1.setEnabled(false);
+        buttonDash2.setEnabled(false);
+        buttonDash3.setEnabled(false);
+        button108.setEnabled(false);
+        buttonOFC.setEnabled(false);
+        buttonOOS.setEnabled(false);
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/PendingIncidents.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/PendingIncidents.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/PendingIncidents.java	(revision 3)
@@ -0,0 +1,442 @@
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.rmi.RemoteException;
+import java.util.List;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingUtilities;
+import javax.swing.TransferHandler;
+import javax.swing.RowSorter.SortKey;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableCellRenderer;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+import tmcsim.client.cadclientgui.enums.IncidentEnums;
+import tmcsim.client.cadclientgui.enums.TableHeaders;
+import tmcsim.client.cadclientgui.enums.UnitStatusEnums;
+import tmcsim.client.cadclientgui.enums.CADDataEnums.INC_VAL;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS;
+
+/**
+ * This class contains the view and controller for the PendingIncidents screen. The view was not built using a GUI builder plug-in
+ * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 
+ * 
+ * @author Vincent
+ */
+
+public class PendingIncidents extends JFrame {
+    
+    private final String SCREEN_TITLE = "(Shift + F2) Pending Incidents";
+    
+    private final Dimension SCREEN_DIMENSIONS = new Dimension(1400,250);
+    
+    private final Dimension DROP_DOWN_MENU_LABEL_DIMENSIONS = new Dimension(170,20);
+    
+    private final Dimension DROP_DOWN_MENU_DIMENSIONS = new Dimension(170,180);
+    
+    private final int COLUMN_WIDTH = 120;
+    
+    private final String[] LABELS = {"Recommend...", "Add Resources...", "Open", "Recall Incident",
+            "Cancel", "Link/Append", "Map", "Recall Linked Incidents", "Read Notes", "Mail...", "Fax..."};
+    
+    private final String LABEL_SPACING = "     ";
+    
+    private JTable pendingIncidentsTable;
+    private JFrame pendingIncidentsMenu;
+    
+    //labels for the drop down menu
+    private JLabel[] dropDownLabels = new JLabel[LABELS.length];
+    
+    private long lastLeftClick;//used for double clicking feature
+    
+    public PendingIncidents(){
+        initComponents();
+    }
+        
+    private void initComponents() {
+        initializeTable();
+        initControllers();
+        initializeDropDownMenu();
+        
+        JScrollPane scrollpane = new JScrollPane(pendingIncidentsTable );
+        scrollpane.getViewport().setBackground(Color.WHITE);
+        
+        setTitle(SCREEN_TITLE);
+        setPreferredSize(SCREEN_DIMENSIONS);
+        getContentPane().add(scrollpane);
+        setResizable(true);
+        pack();
+        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+        setLocation(0, (int) (dim.getHeight()*3/4));
+        setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
+        setVisible(false);      
+    }
+    
+    /*
+     * Initializes the table and prepares the cell renderer for color management. It initializes the default settings
+     * and handles the drag and drop feature.
+     */
+    private void initializeTable(){
+        pendingIncidentsTable = new JTable(){
+            /*
+             * Custom renderer to set different background/foreground colors
+             * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, int, int)
+             */
+            public Component prepareRenderer(TableCellRenderer renderer, int row, int column){
+                Component comp = super.prepareRenderer(renderer, row, column);
+                
+                comp.setForeground(Color.BLACK);
+                comp.setBackground(Color.CYAN);
+                
+                if (getSelectedRow() == row){
+                    comp.setForeground(Color.WHITE);
+                    comp.setBackground(Color.BLUE);
+                }
+                
+                return comp;
+            }
+            
+            public Class getColumnClass(int c) {
+                return getValueAt(0, c).getClass();
+            }
+        };
+        
+        pendingIncidentsTable.setOpaque(true);
+        pendingIncidentsTable.setIntercellSpacing(new Dimension(1, 0));
+        pendingIncidentsTable.setGridColor(Color.WHITE);
+        pendingIncidentsTable.getTableHeader().setReorderingAllowed(false);
+        pendingIncidentsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        pendingIncidentsTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+        pendingIncidentsTable.setAutoCreateRowSorter(true);
+        
+        pendingIncidentsTable.setModel(new DefaultTableModel());
+        ((DefaultTableModel) pendingIncidentsTable.getModel()).setColumnIdentifiers(TableHeaders.PENDING_INCIDENTS_HEADERS);
+        
+        pendingIncidentsTable.setTransferHandler(new TransferHandler(){
+            
+            public boolean canImport(TransferHandler.TransferSupport info) {
+                // Check for String flavor
+                if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) {
+                    return false;
+                }
+                return true;
+           }
+            
+            public boolean importData(TransferHandler.TransferSupport info) {
+                if (!info.isDrop()) {
+                    return false;
+                }
+         
+                DefaultTableModel tableModel = (DefaultTableModel)pendingIncidentsTable.getModel();
+                JTable.DropLocation dl = (JTable.DropLocation)info.getDropLocation();
+                int index = dl.getRow();
+         
+                // Get the string that is being dropped.
+                Transferable t = info.getTransferable();
+                String data;
+                try {
+                    data = (String)t.getTransferData(DataFlavor.stringFlavor);
+                }
+                catch (Exception e) { return false; }
+                                         
+                // Perform the actual import
+                // TODO
+                int incidentId = (Integer)pendingIncidentsTable.getValueAt(dl.getRow(), 0);
+                try {
+                String masterInc = (String) ScreenManager.theCoordinator.
+                        getCadDataIncVal(INC_VAL.MASTER_INC, incidentId);
+                ScreenManager.theCoordinator.setCadDataUnitValue(data,
+                          UNIT_TAGS.MASTER_INC_NUM, masterInc);
+                
+                        ScreenManager.theCoordinator.setCadDataUnitAssignedId(data, incidentId);
+                        ScreenManager.theCoordinator.setCadDataUnitValue(data,
+                      UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived);
+                     ScreenManager.theCoordinator.addCadDataIncidentAssignedUnitNum(incidentId, data);
+                     ScreenManager.theCoordinator.setCadDataIncidentStatus(incidentId, IncidentEnums.Assigned);
+                     } catch (RemoteException e) {
+                        e.printStackTrace();
+                     }
+                return true;
+            }
+        });
+        for(int i = 0; i < pendingIncidentsTable.getColumnCount(); i++){
+            pendingIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(120);
+        }
+    }
+    
+    /* 
+     * Adds the key and mouse listeners for the table and component listener for screen.
+     */
+    private void initControllers(){
+        pendingIncidentsTable.addMouseListener(new MouseListener(){
+            public void mouseClicked(MouseEvent e) {
+                if(SwingUtilities.isLeftMouseButton(e)){
+                    if(System.currentTimeMillis() - lastLeftClick < 1000){
+                        int idColumn = 0;
+                        ScreenManager.openIncidentViewer((Integer) pendingIncidentsTable.getValueAt(pendingIncidentsTable.getSelectedRow(),idColumn));
+                    }else{
+                        lastLeftClick = System.currentTimeMillis();
+                    }
+                }
+                if(SwingUtilities.isRightMouseButton(e)){
+                    openDropDownMenu(e);
+                }else{
+                    closeDropDownMenu();
+                }
+            }
+            public void mouseEntered(MouseEvent e) {}
+            public void mouseExited(MouseEvent e) {}
+            public void mousePressed(MouseEvent e) {}
+            public void mouseReleased(MouseEvent e) {}
+        });
+        
+        addComponentListener( new ComponentListener(){
+            public void componentHidden(ComponentEvent e) {}
+            public void componentMoved(ComponentEvent e) {
+                closeDropDownMenu();
+            }
+            public void componentResized(ComponentEvent e) {}
+            public void componentShown(ComponentEvent e) {}
+        });
+    }
+    
+    /*
+     * Creates the drop down menu that appears when a right click is performed on the table.
+     */
+    private void initializeDropDownMenu(){
+        Box menu = new Box(BoxLayout.Y_AXIS);
+        initializeDropDownLabels();
+        addLabelsToBox(menu);
+    
+        //Sets the highlighted background color, note that it does not become "Highlighted" until opaque(true) is called
+        setMenuHighlightedBackground(Color.BLUE);
+        
+        pendingIncidentsMenu = new JFrame();
+        pendingIncidentsMenu.getContentPane().add(menu);
+        pendingIncidentsMenu.setPreferredSize(DROP_DOWN_MENU_DIMENSIONS);
+        pendingIncidentsMenu.setUndecorated(true);
+        pendingIncidentsMenu.pack();
+        pendingIncidentsMenu.setVisible(false);
+    }
+    
+    /*
+     * Sets the text and size and adds a listener to each label.
+     */
+    private void initializeDropDownLabels(){ 
+        for(int i = 0; i < dropDownLabels.length; i++){
+            dropDownLabels[i] = new JLabel(LABEL_SPACING + LABELS[i]);
+            dropDownLabels[i].setMaximumSize(DROP_DOWN_MENU_LABEL_DIMENSIONS);
+            dropDownLabels[i].setForeground(Color.GRAY);
+        }
+        dropDownLabels[2].setForeground(Color.BLACK);
+        addMouseListenersToLabel(dropDownLabels[2]);
+        dropDownLabels[8].setForeground(Color.BLACK);
+        addMouseListenersToLabel(dropDownLabels[8]);
+    }
+    
+    /*
+     * Add the labels to the box in order with separators and spacings in between. 
+     */
+    private void addLabelsToBox(Box menu){
+        menu.add(dropDownLabels[0]);
+        menu.add(dropDownLabels[1]);
+        
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+        
+        menu.add(dropDownLabels[2]);
+        menu.add(dropDownLabels[3]);
+        menu.add(dropDownLabels[4]);
+        menu.add(dropDownLabels[5]);
+        
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+        
+        menu.add(dropDownLabels[6]);
+        menu.add(dropDownLabels[7]);
+        menu.add(dropDownLabels[8]);
+        
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+        
+        menu.add(dropDownLabels[9]);
+        menu.add(dropDownLabels[10]);
+        
+        menu.add(Box.createVerticalStrut(5));
+    }
+    
+    /*
+     * Sets the highlighted color(when the mouse is over it) of the JLabels.
+     * Note: the color is not shown until .setOpaque(true) is called.
+     * @param color the highlighted color
+     */
+    public void setMenuHighlightedBackground(Color color){
+        for(int i = 0; i < dropDownLabels.length; i++){
+            dropDownLabels[i].setBackground(color);
+        }
+    }
+    
+    /*
+     * Sets all JLabels to not display a highlighted background
+     */
+    public void unSelectAllLabels(){
+        for(int i = 0; i < dropDownLabels.length; i++){
+            dropDownLabels[i].setOpaque(false);
+        }
+    }
+
+    /*
+     * Sets the label to have a highlighted background.
+     * @param label the label that is selected/highlighted
+     */
+    public void selectLabel(Object label){
+        ((JLabel)label).setOpaque(true);
+    }
+    
+    /*
+     * Performs the label action depending on which label was clicked.
+     */
+    public void performLabelAction(Object label){
+        if(label.equals(dropDownLabels[0])){//Recommend
+            
+        }else if(label.equals(dropDownLabels[1])){//Add Resources
+            
+        }else if(label.equals(dropDownLabels[2])){//Open
+          int idColumn = 0;
+            ScreenManager.openIncidentViewer((Integer) pendingIncidentsTable.getValueAt(
+                pendingIncidentsTable.getSelectedRow(),idColumn));
+        }else if(label.equals(dropDownLabels[3])){//Recall Incident
+            
+        }else if(label.equals(dropDownLabels[4])){//Cancel
+        }else if(label.equals(dropDownLabels[5])){//Link Append
+            
+        }else if(label.equals(dropDownLabels[6])){//Map
+            
+        }else if(label.equals(dropDownLabels[7])){//Recall Linked Incidents
+          
+        }else if(label.equals(dropDownLabels[8])){//Read Notes
+          int idColumn = 0;
+            ScreenManager.openIncidentViewer((Integer) pendingIncidentsTable.getValueAt(
+            pendingIncidentsTable.getSelectedRow(),idColumn));
+        }else if(label.equals(dropDownLabels[9])){//Mail
+            
+        }else if(label.equals(dropDownLabels[10])){//Fax
+            
+        }
+    }
+    
+    /*
+     * Factory method. Adds a mouse listeners to the label. The MouseMotionListener detects 
+     * the mouse's location to highlight the label. The MouseListener detects
+     * for clicks and performs the action of the label designates.
+     */
+    public void addMouseListenersToLabel(JLabel label){
+        label.addMouseMotionListener(new MouseMotionListener(){
+            public void mouseDragged(MouseEvent e) {}
+            public void mouseMoved(MouseEvent e) {
+                unSelectAllLabels();
+                selectLabel(e.getSource());
+                pendingIncidentsMenu.revalidate();
+                pendingIncidentsMenu.repaint();
+            }
+        });
+        label.addMouseListener(new MouseListener() {
+            public void mouseClicked(MouseEvent e) {
+                performLabelAction(e.getSource());
+                unSelectAllLabels();
+                pendingIncidentsMenu.revalidate();
+                pendingIncidentsMenu.repaint();
+                pendingIncidentsMenu.setVisible(false);
+            }
+            public void mouseEntered(MouseEvent e) {}           
+            public void mouseExited(MouseEvent e) {}            
+            public void mousePressed(MouseEvent e) {}           
+            public void mouseReleased(MouseEvent e)  {}         
+        });
+    }
+    
+    /*
+     * Displays the menu where the right click occurred.
+     */
+    public void openDropDownMenu(MouseEvent e){
+        pendingIncidentsMenu.setLocation(e.getX() + this.getX(), e.getY() + this.getY());
+        pendingIncidentsMenu.setVisible(true);
+    }
+    
+    /*
+     * Hides the menu.
+     */
+    public void closeDropDownMenu(){
+        unSelectAllLabels();
+        pendingIncidentsMenu.revalidate();
+        pendingIncidentsMenu.repaint();
+        pendingIncidentsMenu.setVisible(false);
+    }
+    
+    /*
+     * Refreshes the data in the table by updating all data and repainting the
+     * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 
+     * and applies them to the updated model it receives from the server.
+     */
+    public void refreshTable(){
+    
+      if(pendingIncidentsTable.getTableHeader().getResizingColumn() == null){//only update info if resize not in progress
+          try {
+            int index = pendingIncidentsTable.getSelectedRow();
+            int[] columnWidths = new int[20];
+            List<? extends SortKey> keys = pendingIncidentsTable.getRowSorter().getSortKeys();
+            for(int i = 0; i < pendingIncidentsTable.getColumnCount(); i++){
+                columnWidths[i] = pendingIncidentsTable.getColumnModel().getColumn(i).getWidth();
+            }
+            
+            pendingIncidentsTable.setModel(ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.PENDING_INCIDENTS));
+            
+            for(int i = 0; i < pendingIncidentsTable.getColumnCount(); i++){
+                pendingIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(columnWidths[i]);
+            }
+            pendingIncidentsTable.getRowSorter().setSortKeys(keys);
+            pendingIncidentsTable.getSelectionModel().setSelectionInterval(index, index);
+            } catch (RemoteException e) {
+                e.printStackTrace();
+            }
+            revalidate();
+            repaint();
+      }
+    }
+    
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+        
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/IncidentSupplementPersonForm.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/IncidentSupplementPersonForm.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/IncidentSupplementPersonForm.java	(revision 3)
@@ -0,0 +1,829 @@
+package tmcsim.client.cadclientgui.screens;
+
+import javax.swing.JComponent;
+
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ * CURRENTLY NOT IN USE
+ * @author Stuart
+ */
+public class IncidentSupplementPersonForm extends javax.swing.JFrame {
+
+    /**
+     * Creates new form incidentSupplementPersonForm
+     */
+    public IncidentSupplementPersonForm() {
+        declareComponents();
+        initComponents();
+        initLayout();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void declareComponents() {
+
+        incidentNumberLabel = new javax.swing.JLabel();
+        incidentNumberField = new javax.swing.JTextField();
+        involvementTypeLabel = new javax.swing.JLabel();
+        involvementTypeCombo = new javax.swing.JComboBox();
+        lastNameLabel = new javax.swing.JLabel();
+        lastNameField = new javax.swing.JTextField();
+        firstNameLabel = new javax.swing.JLabel();
+        firstNameField = new javax.swing.JTextField();
+        middleNameLabel = new javax.swing.JLabel();
+        middleNameField = new javax.swing.JTextField();
+        dobLabel = new javax.swing.JLabel();
+        dobCombo = new javax.swing.JComboBox();
+        physicalCharacteristicsPane = new javax.swing.JPanel();
+        ageLabel = new javax.swing.JLabel();
+        minimumAge = new javax.swing.JLabel();
+        maximumAgeLabel = new javax.swing.JLabel();
+        ageField = new javax.swing.JTextField();
+        minimumAgeField = new javax.swing.JTextField();
+        maximumAgeField = new javax.swing.JTextField();
+        maximumWeightLabel = new javax.swing.JLabel();
+        minimumWeightLabel = new javax.swing.JLabel();
+        weightLabel = new javax.swing.JLabel();
+        weightField = new javax.swing.JTextField();
+        minimumWeightField = new javax.swing.JTextField();
+        maximumWeightField = new javax.swing.JTextField();
+        heightLabel = new javax.swing.JLabel();
+        minimumHeightLabel = new javax.swing.JLabel();
+        maximumHeightLabel = new javax.swing.JLabel();
+        heightField = new javax.swing.JTextField();
+        minimumHeightField = new javax.swing.JTextField();
+        maximumHeightField = new javax.swing.JTextField();
+        genderLabel = new javax.swing.JLabel();
+        buildLabel = new javax.swing.JLabel();
+        raceLabel = new javax.swing.JLabel();
+        raceCombo = new javax.swing.JComboBox();
+        genderCombo = new javax.swing.JComboBox();
+        buildField = new javax.swing.JTextField();
+        facialLabel = new javax.swing.JLabel();
+        eyesLabel = new javax.swing.JLabel();
+        hairLabel = new javax.swing.JLabel();
+        hairCombo = new javax.swing.JComboBox();
+        eyesCombo = new javax.swing.JComboBox();
+        facialField = new javax.swing.JTextField();
+        descriptionPane = new javax.swing.JPanel();
+        shirtLabel = new javax.swing.JLabel();
+        jLabel26 = new javax.swing.JLabel();
+        pantsLabel = new javax.swing.JLabel();
+        shoesLabel = new javax.swing.JLabel();
+        shirtField = new javax.swing.JTextField();
+        pantsField = new javax.swing.JTextField();
+        shoesField = new javax.swing.JTextField();
+        glassesLabel = new javax.swing.JLabel();
+        glassesField = new javax.swing.JTextField();
+        hatLabel = new javax.swing.JLabel();
+        hatField = new javax.swing.JTextField();
+        jacketLabel = new javax.swing.JLabel();
+        jacketField = new javax.swing.JTextField();
+        flightDirectionLabel = new javax.swing.JLabel();
+        flightDirectionField = new javax.swing.JTextField();
+        flightModeLabel = new javax.swing.JLabel();
+        flightModeField = new javax.swing.JTextField();
+        weaponLabel = new javax.swing.JLabel();
+        weaponField = new javax.swing.JTextField();
+        addressAndPhonePane = new javax.swing.JPanel();
+        streetLabel = new javax.swing.JLabel();
+        apartmentLabel = new javax.swing.JLabel();
+        cityLabel = new javax.swing.JLabel();
+        stateLabel = new javax.swing.JLabel();
+        zipLabel = new javax.swing.JLabel();
+        phoneLabel = new javax.swing.JLabel();
+        streetField = new javax.swing.JTextField();
+        apartmentField = new javax.swing.JTextField();
+        cityField = new javax.swing.JTextField();
+        stateCombo = new javax.swing.JComboBox();
+        zipField = new javax.swing.JTextField();
+        phoneField = new javax.swing.JTextField();
+        characteristicsLabel = new javax.swing.JLabel();
+        characteristicsScrollPane = new javax.swing.JScrollPane();
+        characteristicsField = new javax.swing.JTextField();
+        commentsLabel = new javax.swing.JLabel();
+        commentsScrollPane = new javax.swing.JScrollPane();
+        commentsField = new javax.swing.JTextField();
+        cancelButton = new javax.swing.JButton();
+        saveButton = new javax.swing.JButton();
+        saveWithRecordsButton = new javax.swing.JButton();
+        personalDataPane = new javax.swing.JPanel();
+        olnLabel = new javax.swing.JLabel();
+        olsLabel = new javax.swing.JLabel();
+        ssnLabel = new javax.swing.JLabel();
+        olnField = new javax.swing.JTextField();
+        olsCombo = new javax.swing.JComboBox();
+        ssnField = new javax.swing.JTextField();
+    }
+    
+    private void initComponents() {
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+
+        incidentNumberLabel.setText("Incident No:");
+
+        incidentNumberField.setText("jTextField1");
+
+        involvementTypeLabel.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
+        involvementTypeLabel.setText("<html>\nInvolvement<br>Type:\n</html>");
+
+        involvementTypeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        lastNameLabel.setText("Last Name:");
+
+        lastNameField.setText("jTextField2");
+
+        firstNameLabel.setText("First Name:");
+
+        firstNameField.setText("jTextField3");
+
+        middleNameLabel.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
+        middleNameLabel.setText("<html>\nMiddle<br>Name:\n</html>");
+
+        middleNameField.setText("jTextField4");
+
+        dobLabel.setText("DOB:");
+
+        dobCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        ageLabel.setText("Age:");
+
+        minimumAge.setText("Age Min:");
+
+        maximumAgeLabel.setText("Age Max:");
+
+        ageField.setText("jTextField5");
+
+        minimumAgeField.setText("jTextField6");
+
+        maximumAgeField.setText("jTextField7");
+
+        maximumWeightLabel.setText("Weight Max:");
+
+        minimumWeightLabel.setText("Weight Min:");
+
+        weightLabel.setText("Weight:");
+
+        weightField.setText("jTextField8");
+
+        minimumWeightField.setText("jTextField9");
+
+        maximumWeightField.setText("jTextField10");
+
+        heightLabel.setText("Height:");
+
+        minimumHeightLabel.setText("Height Min:");
+
+        maximumHeightLabel.setText("Height Max:");
+
+        heightField.setText("jTextField11");
+
+        minimumHeightField.setText("jTextField12");
+
+        maximumHeightField.setText("jTextField13");
+
+        genderLabel.setText("Gender:");
+
+        buildLabel.setText("Build:");
+
+        raceLabel.setText("Race:");
+
+        raceCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        genderCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        buildField.setText("jTextField14");
+
+        facialLabel.setText("Facial:");
+
+        eyesLabel.setText("Eyes:");
+
+        hairLabel.setText("Hair:");
+
+        hairCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        eyesCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        facialField.setText("jTextField15");
+
+        shirtLabel.setText("Shirt:");
+
+        pantsLabel.setText("Pants:");
+
+        shoesLabel.setText("Shoes:");
+
+        shirtField.setText("jTextField18");
+        shirtField.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                shirtFieldActionPerformed(evt);
+            }
+        });
+
+        pantsField.setText("jTextField19");
+
+        shoesField.setText("jTextField20");
+
+        glassesLabel.setText("Glasses:");
+
+        glassesField.setText("jTextField21");
+
+        hatLabel.setText("Hat:");
+
+        hatField.setText("jTextField22");
+
+        jacketLabel.setText("Jacket:");
+
+        jacketField.setText("jTextField23");
+
+        flightDirectionLabel.setText("Flight Direction:");
+
+        flightDirectionField.setText("jTextField24");
+
+        flightModeLabel.setText("Flight Mode:");
+
+        flightModeField.setText("jTextField25");
+
+        weaponLabel.setText("Weapon:");
+
+        weaponField.setText("jTextField26");
+
+        streetLabel.setText("Street:");
+
+        apartmentLabel.setText("Apt:");
+
+        cityLabel.setText("City:");
+
+        stateLabel.setText("State:");
+
+        zipLabel.setText("Zip:");
+
+        phoneLabel.setText("Phone:");
+
+        streetField.setText("jTextField27");
+
+        apartmentField.setText("jTextField28");
+
+        cityField.setText("jTextField29");
+
+        stateCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        zipField.setText("jTextField30");
+
+        phoneField.setText("jTextField31");
+        
+
+        characteristicsLabel.setText("Characteristics:");
+
+        characteristicsField.setText("jTextField32");
+        characteristicsScrollPane.setViewportView(characteristicsField);
+
+        commentsLabel.setText("Comments:");
+
+        commentsField.setText("jTextField33");
+        commentsScrollPane.setViewportView(commentsField);
+
+        cancelButton.setText("Cancel");
+
+        saveButton.setText("Save");
+
+        saveWithRecordsButton.setText("Save with Records Check");
+        saveWithRecordsButton.setMargin(new java.awt.Insets(2, 5, 2, 5));
+
+        olnLabel.setText("OLN:");
+
+        olsLabel.setText("OLS:");
+
+        ssnLabel.setText("SSN:");
+
+        olnField.setText("jTextField16");
+
+        olsCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        ssnField.setText("jTextField17");
+    }
+    
+    private void initLayout(){    
+        javax.swing.GroupLayout physicalCharacteristicsPaneLayout = new javax.swing.GroupLayout(physicalCharacteristicsPane);
+        physicalCharacteristicsPane.setLayout(physicalCharacteristicsPaneLayout);
+        physicalCharacteristicsPaneLayout.setHorizontalGroup(
+            physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(physicalCharacteristicsPaneLayout.createSequentialGroup()
+                .addGap(15, 15, 15)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(maximumAgeLabel)
+                    .addComponent(minimumAge)
+                    .addComponent(ageLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(ageField, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
+                    .addComponent(minimumAgeField, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
+                    .addComponent(maximumAgeField, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
+                .addGap(18, 18, 18)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(maximumWeightLabel)
+                    .addComponent(minimumWeightLabel)
+                    .addComponent(weightLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(weightField, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
+                    .addComponent(minimumWeightField, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
+                    .addComponent(maximumWeightField, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
+                .addGap(18, 18, 18)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(heightLabel)
+                    .addComponent(minimumHeightLabel)
+                    .addComponent(maximumHeightLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(physicalCharacteristicsPaneLayout.createSequentialGroup()
+                        .addComponent(heightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(raceLabel))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, physicalCharacteristicsPaneLayout.createSequentialGroup()
+                        .addComponent(maximumHeightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(buildLabel))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, physicalCharacteristicsPaneLayout.createSequentialGroup()
+                        .addComponent(minimumHeightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(genderLabel)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(buildField)
+                    .addComponent(genderCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(raceCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGap(30, 30, 30)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(facialLabel)
+                    .addComponent(eyesLabel)
+                    .addComponent(hairLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(facialField)
+                    .addComponent(eyesCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(hairCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        physicalCharacteristicsPaneLayout.setVerticalGroup(
+            physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(physicalCharacteristicsPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(ageLabel)
+                    .addComponent(ageField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(weightLabel)
+                    .addComponent(weightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(heightLabel)
+                    .addComponent(heightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(raceLabel)
+                    .addComponent(raceCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(hairLabel)
+                    .addComponent(hairCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(minimumAge)
+                    .addComponent(minimumAgeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(minimumWeightLabel)
+                    .addComponent(minimumWeightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(minimumHeightLabel)
+                    .addComponent(minimumHeightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(genderLabel)
+                    .addComponent(genderCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(eyesLabel)
+                    .addComponent(eyesCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(physicalCharacteristicsPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(maximumAgeLabel)
+                    .addComponent(maximumAgeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(maximumWeightLabel)
+                    .addComponent(maximumWeightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(maximumHeightLabel)
+                    .addComponent(maximumHeightField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(buildLabel)
+                    .addComponent(buildField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(facialLabel)
+                    .addComponent(facialField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout descriptionPaneLayout = new javax.swing.GroupLayout(descriptionPane);
+        descriptionPane.setLayout(descriptionPaneLayout);
+        descriptionPaneLayout.setHorizontalGroup(
+            descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(descriptionPaneLayout.createSequentialGroup()
+                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(descriptionPaneLayout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(jLabel26))
+                    .addGroup(descriptionPaneLayout.createSequentialGroup()
+                        .addGap(30, 30, 30)
+                        .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                .addComponent(pantsLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                                .addComponent(shoesLabel, javax.swing.GroupLayout.Alignment.TRAILING))
+                            .addGroup(descriptionPaneLayout.createSequentialGroup()
+                                .addGap(7, 7, 7)
+                                .addComponent(shirtLabel)))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(descriptionPaneLayout.createSequentialGroup()
+                                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                                    .addComponent(pantsField, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)
+                                    .addComponent(shoesField)
+                                    .addComponent(shirtField))
+                                .addGap(30, 30, 30)
+                                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(glassesLabel)
+                                    .addComponent(hatLabel)
+                                    .addComponent(jacketLabel))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addComponent(glassesField, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)
+                                    .addComponent(hatField)
+                                    .addComponent(jacketField)))
+                            .addGroup(descriptionPaneLayout.createSequentialGroup()
+                                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                    .addComponent(flightModeLabel)
+                                    .addComponent(flightDirectionLabel)
+                                    .addComponent(weaponLabel))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addComponent(flightDirectionField, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
+                                    .addComponent(flightModeField)
+                                    .addComponent(weaponField))))))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        descriptionPaneLayout.setVerticalGroup(
+            descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(descriptionPaneLayout.createSequentialGroup()
+                .addGap(9, 9, 9)
+                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(shirtLabel)
+                    .addComponent(shirtField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(hatLabel)
+                    .addComponent(hatField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(pantsLabel)
+                    .addComponent(pantsField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(glassesLabel)
+                    .addComponent(glassesField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(shoesLabel)
+                    .addComponent(shoesField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(jacketLabel)
+                    .addComponent(jacketField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jLabel26)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(flightDirectionLabel)
+                    .addComponent(flightDirectionField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(flightModeLabel)
+                    .addComponent(flightModeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(descriptionPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(weaponLabel)
+                    .addComponent(weaponField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout addressAndPhonePaneLayout = new javax.swing.GroupLayout(addressAndPhonePane);
+        addressAndPhonePane.setLayout(addressAndPhonePaneLayout);
+        addressAndPhonePaneLayout.setHorizontalGroup(
+            addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(addressAndPhonePaneLayout.createSequentialGroup()
+                .addGap(23, 23, 23)
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(phoneLabel)
+                    .addComponent(zipLabel)
+                    .addComponent(stateLabel)
+                    .addComponent(cityLabel)
+                    .addComponent(streetLabel)
+                    .addComponent(apartmentLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(streetField)
+                    .addGroup(addressAndPhonePaneLayout.createSequentialGroup()
+                        .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(apartmentField, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(stateCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(cityField, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                                .addComponent(phoneField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 150, Short.MAX_VALUE)
+                                .addComponent(zipField, javax.swing.GroupLayout.Alignment.LEADING)))
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        addressAndPhonePaneLayout.setVerticalGroup(
+            addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(addressAndPhonePaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(streetLabel)
+                    .addComponent(streetField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(apartmentLabel)
+                    .addComponent(apartmentField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(cityLabel)
+                    .addComponent(cityField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(stateLabel)
+                    .addComponent(stateCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(11, 11, 11)
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(zipLabel)
+                    .addComponent(zipField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(addressAndPhonePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(phoneLabel)
+                    .addComponent(phoneField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(15, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout personalDataPaneLayout = new javax.swing.GroupLayout(personalDataPane);
+        personalDataPane.setLayout(personalDataPaneLayout);
+        personalDataPaneLayout.setHorizontalGroup(
+            personalDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(personalDataPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(personalDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(personalDataPaneLayout.createSequentialGroup()
+                        .addComponent(olnLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(olnField, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE))
+                    .addGroup(personalDataPaneLayout.createSequentialGroup()
+                        .addComponent(ssnLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(ssnField))
+                    .addGroup(personalDataPaneLayout.createSequentialGroup()
+                        .addComponent(olsLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(olsCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        personalDataPaneLayout.setVerticalGroup(
+            personalDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(personalDataPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(personalDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(olnLabel)
+                    .addComponent(olnField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(personalDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(olsLabel)
+                    .addComponent(olsCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(personalDataPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(ssnLabel)
+                    .addComponent(ssnField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(physicalCharacteristicsPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(personalDataPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(descriptionPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(addressAndPhonePane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                                            .addComponent(lastNameLabel)
+                                            .addComponent(incidentNumberLabel))
+                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
+                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                                        .addComponent(involvementTypeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                        .addGap(7, 7, 7)))
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                    .addComponent(involvementTypeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                    .addComponent(lastNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+                                .addGap(25, 25, 25)
+                                .addComponent(firstNameLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(firstNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(25, 25, 25)
+                                .addComponent(middleNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(middleNameField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(45, 45, 45)
+                                .addComponent(dobLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(dobCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(characteristicsLabel)
+                                .addGap(342, 342, 342)
+                                .addComponent(commentsLabel)))
+                        .addGap(0, 0, Short.MAX_VALUE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(characteristicsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 399, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(commentsScrollPane))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addGap(0, 0, Short.MAX_VALUE)
+                        .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(saveWithRecordsButton)
+                        .addGap(8, 8, 8)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(incidentNumberLabel)
+                            .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(involvementTypeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGroup(layout.createSequentialGroup()
+                                .addGap(1, 1, 1)
+                                .addComponent(involvementTypeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(lastNameLabel)
+                            .addComponent(lastNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(firstNameLabel)
+                            .addComponent(firstNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(57, 57, 57)
+                        .addComponent(middleNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(60, 60, 60)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(middleNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(dobLabel)
+                            .addComponent(dobCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(physicalCharacteristicsPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(personalDataPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(descriptionPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(addressAndPhonePane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(characteristicsLabel)
+                    .addComponent(commentsLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(commentsScrollPane)
+                    .addComponent(characteristicsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(saveWithRecordsButton)
+                    .addComponent(saveButton)
+                    .addComponent(cancelButton))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void shirtFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shirtFieldActionPerformed
+        // TODO add your handling code here:
+    }//GEN-LAST:event_shirtFieldActionPerformed
+    
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JPanel addressAndPhonePane;
+    private javax.swing.JTextField ageField;
+    private javax.swing.JLabel ageLabel;
+    private javax.swing.JTextField apartmentField;
+    private javax.swing.JLabel apartmentLabel;
+    private javax.swing.JTextField buildField;
+    private javax.swing.JLabel buildLabel;
+    private javax.swing.JButton cancelButton;
+    private javax.swing.JTextField characteristicsField;
+    private javax.swing.JLabel characteristicsLabel;
+    private javax.swing.JScrollPane characteristicsScrollPane;
+    private javax.swing.JTextField cityField;
+    private javax.swing.JLabel cityLabel;
+    private javax.swing.JTextField commentsField;
+    private javax.swing.JLabel commentsLabel;
+    private javax.swing.JScrollPane commentsScrollPane;
+    private javax.swing.JPanel descriptionPane;
+    private javax.swing.JComboBox dobCombo;
+    private javax.swing.JLabel dobLabel;
+    private javax.swing.JComboBox eyesCombo;
+    private javax.swing.JLabel eyesLabel;
+    private javax.swing.JTextField facialField;
+    private javax.swing.JLabel facialLabel;
+    private javax.swing.JTextField firstNameField;
+    private javax.swing.JLabel firstNameLabel;
+    private javax.swing.JTextField flightDirectionField;
+    private javax.swing.JLabel flightDirectionLabel;
+    private javax.swing.JTextField flightModeField;
+    private javax.swing.JLabel flightModeLabel;
+    private javax.swing.JComboBox genderCombo;
+    private javax.swing.JLabel genderLabel;
+    private javax.swing.JTextField glassesField;
+    private javax.swing.JLabel glassesLabel;
+    private javax.swing.JComboBox hairCombo;
+    private javax.swing.JLabel hairLabel;
+    private javax.swing.JTextField hatField;
+    private javax.swing.JLabel hatLabel;
+    private javax.swing.JTextField heightField;
+    private javax.swing.JLabel heightLabel;
+    private javax.swing.JTextField incidentNumberField;
+    private javax.swing.JLabel incidentNumberLabel;
+    private javax.swing.JComboBox involvementTypeCombo;
+    private javax.swing.JLabel involvementTypeLabel;
+    private javax.swing.JLabel jLabel26;
+    private javax.swing.JTextField jacketField;
+    private javax.swing.JLabel jacketLabel;
+    private javax.swing.JTextField lastNameField;
+    private javax.swing.JLabel lastNameLabel;
+    private javax.swing.JTextField maximumAgeField;
+    private javax.swing.JLabel maximumAgeLabel;
+    private javax.swing.JTextField maximumHeightField;
+    private javax.swing.JLabel maximumHeightLabel;
+    private javax.swing.JTextField maximumWeightField;
+    private javax.swing.JLabel maximumWeightLabel;
+    private javax.swing.JTextField middleNameField;
+    private javax.swing.JLabel middleNameLabel;
+    private javax.swing.JLabel minimumAge;
+    private javax.swing.JTextField minimumAgeField;
+    private javax.swing.JTextField minimumHeightField;
+    private javax.swing.JLabel minimumHeightLabel;
+    private javax.swing.JTextField minimumWeightField;
+    private javax.swing.JLabel minimumWeightLabel;
+    private javax.swing.JTextField olnField;
+    private javax.swing.JLabel olnLabel;
+    private javax.swing.JComboBox olsCombo;
+    private javax.swing.JLabel olsLabel;
+    private javax.swing.JTextField pantsField;
+    private javax.swing.JLabel pantsLabel;
+    private javax.swing.JPanel personalDataPane;
+    private javax.swing.JTextField phoneField;
+    private javax.swing.JLabel phoneLabel;
+    private javax.swing.JPanel physicalCharacteristicsPane;
+    private javax.swing.JComboBox raceCombo;
+    private javax.swing.JLabel raceLabel;
+    private javax.swing.JButton saveButton;
+    private javax.swing.JButton saveWithRecordsButton;
+    private javax.swing.JTextField shirtField;
+    private javax.swing.JLabel shirtLabel;
+    private javax.swing.JTextField shoesField;
+    private javax.swing.JLabel shoesLabel;
+    private javax.swing.JTextField ssnField;
+    private javax.swing.JLabel ssnLabel;
+    private javax.swing.JComboBox stateCombo;
+    private javax.swing.JLabel stateLabel;
+    private javax.swing.JTextField streetField;
+    private javax.swing.JLabel streetLabel;
+    private javax.swing.JTextField weaponField;
+    private javax.swing.JLabel weaponLabel;
+    private javax.swing.JTextField weightField;
+    private javax.swing.JLabel weightLabel;
+    private javax.swing.JTextField zipField;
+    private javax.swing.JLabel zipLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/SearchEntry.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/SearchEntry.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/SearchEntry.java	(revision 3)
@@ -0,0 +1,258 @@
+package tmcsim.client.cadclientgui.screens;
+
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ *
+ * @author Stuart
+ */
+public class SearchEntry extends javax.swing.JFrame {
+
+    /**
+     * Creates new form SearchEntry
+     */
+    public SearchEntry() {
+        initComponents();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        entryPanel = new javax.swing.JPanel();
+        categoryLabel = new javax.swing.JLabel();
+        addressLabel = new javax.swing.JLabel();
+        phone1Label = new javax.swing.JLabel();
+        commentLabel = new javax.swing.JLabel();
+        categoryField = new javax.swing.JTextField();
+        addressField = new javax.swing.JTextField();
+        phone1Field = new javax.swing.JTextField();
+        commentField = new javax.swing.JTextField();
+        cityLabel = new javax.swing.JLabel();
+        phone2Label = new javax.swing.JLabel();
+        phone2Field = new javax.swing.JTextField();
+        cityField = new javax.swing.JTextField();
+        nameField = new javax.swing.JTextField();
+        nameLabel = new javax.swing.JLabel();
+        stateLabel = new javax.swing.JLabel();
+        faxNumberLabel = new javax.swing.JLabel();
+        faxNumberField = new javax.swing.JTextField();
+        stateField = new javax.swing.JTextField();
+        zipLabel = new javax.swing.JLabel();
+        zipField = new javax.swing.JTextField();
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+
+        categoryLabel.setText("Category:");
+
+        addressLabel.setText("Address:");
+
+        phone1Label.setText("Phone 1:");
+
+        commentLabel.setText("Comment:");
+
+        categoryField.setText("jTextField1");
+
+        addressField.setText("jTextField1");
+
+        phone1Field.setText("jTextField1");
+
+        commentField.setText("jTextField1");
+
+        cityLabel.setText("City:");
+
+        phone2Label.setText("Phone 2:");
+
+        phone2Field.setText("jTextField1");
+
+        cityField.setText("jTextField1");
+
+        nameField.setText("jTextField1");
+        nameField.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                nameFieldActionPerformed(evt);
+            }
+        });
+
+        nameLabel.setText("Name:");
+
+        stateLabel.setText("State:");
+
+        faxNumberLabel.setText("FaxNumber:");
+
+        faxNumberField.setText("jTextField1");
+
+        stateField.setText("jTextField1");
+
+        zipLabel.setText("Zip:");
+
+        zipField.setText("jTextField1");
+
+        javax.swing.GroupLayout entryPanelLayout = new javax.swing.GroupLayout(entryPanel);
+        entryPanel.setLayout(entryPanelLayout);
+        entryPanelLayout.setHorizontalGroup(
+            entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(entryPanelLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(categoryLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(categoryField, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(addressLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(addressField))
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(phone1Label)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(phone1Field))
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(commentLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(commentField)))
+                .addGap(30, 30, 30)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(phone2Label)
+                    .addComponent(cityLabel)
+                    .addComponent(nameLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(cityField, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
+                            .addComponent(phone2Field))
+                        .addGap(30, 30, 30)
+                        .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(faxNumberLabel)
+                            .addComponent(stateLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(faxNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGroup(entryPanelLayout.createSequentialGroup()
+                                .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(63, 63, 63)
+                                .addComponent(zipLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(zipField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                    .addComponent(nameField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        entryPanelLayout.setVerticalGroup(
+            entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(entryPanelLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(categoryLabel)
+                    .addComponent(categoryField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(nameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(nameLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(addressLabel)
+                    .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(cityLabel)
+                    .addComponent(cityField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(stateLabel)
+                    .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(zipLabel)
+                    .addComponent(zipField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(phone1Label)
+                    .addComponent(phone1Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(phone2Label)
+                    .addComponent(phone2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(faxNumberLabel)
+                    .addComponent(faxNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(commentLabel)
+                    .addComponent(commentField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap())
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(entryPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(entryPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void nameFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nameFieldActionPerformed
+        // TODO add your handling code here:
+    }//GEN-LAST:event_nameFieldActionPerformed
+
+    /**
+     * @param args the command line arguments
+     */
+    public static void main(String args[]) {
+        /* Set the Nimbus look and feel */
+        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
+        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
+         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
+         */
+        try {
+            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
+                if ("Nimbus".equals(info.getName())) {
+                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
+                    break;
+                }
+            }
+        } catch (ClassNotFoundException ex) {
+            java.util.logging.Logger.getLogger(SearchEntry.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        } catch (InstantiationException ex) {
+            java.util.logging.Logger.getLogger(SearchEntry.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        } catch (IllegalAccessException ex) {
+            java.util.logging.Logger.getLogger(SearchEntry.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
+            java.util.logging.Logger.getLogger(SearchEntry.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+        }
+        //</editor-fold>
+
+        /* Create and display the form */
+        java.awt.EventQueue.invokeLater(new Runnable() {
+            public void run() {
+                new SearchEntry().setVisible(true);
+            }
+        });
+    }
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JTextField addressField;
+    private javax.swing.JLabel addressLabel;
+    private javax.swing.JTextField categoryField;
+    private javax.swing.JLabel categoryLabel;
+    private javax.swing.JTextField cityField;
+    private javax.swing.JLabel cityLabel;
+    private javax.swing.JTextField commentField;
+    private javax.swing.JLabel commentLabel;
+    private javax.swing.JPanel entryPanel;
+    private javax.swing.JTextField faxNumberField;
+    private javax.swing.JLabel faxNumberLabel;
+    private javax.swing.JTextField nameField;
+    private javax.swing.JLabel nameLabel;
+    private javax.swing.JTextField phone1Field;
+    private javax.swing.JLabel phone1Label;
+    private javax.swing.JTextField phone2Field;
+    private javax.swing.JLabel phone2Label;
+    private javax.swing.JTextField stateField;
+    private javax.swing.JLabel stateLabel;
+    private javax.swing.JTextField zipField;
+    private javax.swing.JLabel zipLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/RotationServiceRequest.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/RotationServiceRequest.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/RotationServiceRequest.java	(revision 3)
@@ -0,0 +1,780 @@
+package tmcsim.client.cadclientgui.screens;
+
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ * CURRENTLY NOT IN USE.
+ * @author Stuart
+ */
+public class RotationServiceRequest extends javax.swing.JFrame {
+
+    /**
+     * Creates new form RotationServiceRequest
+     */
+    public RotationServiceRequest() {
+        initComponents();
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
+    private void initComponents() {
+
+        jTabbedPane1 = new javax.swing.JTabbedPane();
+        pendingRequestsScroll = new javax.swing.JScrollPane();
+        pendingRequestsTable = new javax.swing.JTable();
+        activeRequestsScroll = new javax.swing.JScrollPane();
+        activeRequestsTable = new javax.swing.JTable();
+        requestInformationPane = new javax.swing.JPanel();
+        rotationProviderAreaCombo = new javax.swing.JComboBox();
+        rotationProviderAreaLabel = new javax.swing.JLabel();
+        rotationCategoryCombo = new javax.swing.JComboBox();
+        rotationCategoryLabel = new javax.swing.JLabel();
+        locationLabel = new javax.swing.JLabel();
+        incidentNumberField = new javax.swing.JTextField();
+        incidentNumberLabel = new javax.swing.JLabel();
+        requestNumberField = new javax.swing.JTextField();
+        requestNumberLabel = new javax.swing.JLabel();
+        enteredDateTimeCombo = new javax.swing.JComboBox();
+        enteredDateTimeLabel = new javax.swing.JLabel();
+        requestDateTimeCombo = new javax.swing.JComboBox();
+        requestDateTimeLabel = new javax.swing.JLabel();
+        onSceneDateTimeCombo = new javax.swing.JComboBox();
+        onSceneDateTimeLabel = new javax.swing.JLabel();
+        completedDateTimeCombo = new javax.swing.JComboBox();
+        completedDateTimeLabel = new javax.swing.JLabel();
+        locationCombo = new javax.swing.JComboBox();
+        caseNumberField = new javax.swing.JTextField();
+        caseNumberLabel = new javax.swing.JLabel();
+        cancelDateTimeCombo = new javax.swing.JComboBox();
+        cancelDateTimeLabel = new javax.swing.JLabel();
+        unitLabel = new javax.swing.JLabel();
+        unitField = new javax.swing.JTextField();
+        requestedByField = new javax.swing.JTextField();
+        requestedByLabel = new javax.swing.JLabel();
+        enteredByField = new javax.swing.JTextField();
+        enteredByLabel = new javax.swing.JLabel();
+        vehicleInformationPane = new javax.swing.JPanel();
+        yearField = new javax.swing.JTextField();
+        yearLabel = new javax.swing.JLabel();
+        makeLabel = new javax.swing.JLabel();
+        makeField = new javax.swing.JTextField();
+        modelField = new javax.swing.JTextField();
+        modelLabel = new javax.swing.JLabel();
+        styleField = new javax.swing.JTextField();
+        styleLabel = new javax.swing.JLabel();
+        colorField = new javax.swing.JTextField();
+        colorLabel = new javax.swing.JLabel();
+        licensePlateNumberLabel = new javax.swing.JLabel();
+        licensePlateNumberField = new javax.swing.JTextField();
+        licensePlateStateLabel = new javax.swing.JLabel();
+        licensePlateStateField = new javax.swing.JTextField();
+        licensePlateYearLabel = new javax.swing.JLabel();
+        licensePlateYearField = new javax.swing.JTextField();
+        releaseDateLabel = new javax.swing.JLabel();
+        releaseDateCombo = new javax.swing.JComboBox();
+        vinField = new javax.swing.JTextField();
+        vinLabel = new javax.swing.JLabel();
+        holdForEvidenceCheckBox = new javax.swing.JCheckBox();
+        rotationProviderInformation = new javax.swing.JPanel();
+        companyNameLabel = new javax.swing.JLabel();
+        companyNameField = new javax.swing.JTextField();
+        contactNameLabel = new javax.swing.JLabel();
+        contactNameField = new javax.swing.JTextField();
+        phone1Label = new javax.swing.JLabel();
+        phone1Field = new javax.swing.JTextField();
+        phone2Label = new javax.swing.JLabel();
+        phone2Field = new javax.swing.JTextField();
+        pagerLabel = new javax.swing.JLabel();
+        pagingProviderLabel = new javax.swing.JLabel();
+        pagerField = new javax.swing.JTextField();
+        pagingProviderCombo = new javax.swing.JComboBox();
+        overrideButton = new javax.swing.JButton();
+        skipButton = new javax.swing.JButton();
+        assignProviderButton = new javax.swing.JButton();
+        cancelRequestButton = new javax.swing.JButton();
+        providerOnSceneButton = new javax.swing.JButton();
+        providerCompleteButton = new javax.swing.JButton();
+        jPanel1 = new javax.swing.JPanel();
+        commentsTableScroll = new javax.swing.JScrollPane();
+        commentsTable = new javax.swing.JTable();
+        commentsFieldScroll = new javax.swing.JScrollPane();
+        commentsField = new javax.swing.JTextField();
+        addCommentButton = new javax.swing.JButton();
+        saveCommentButton = new javax.swing.JButton();
+        cancelCommentButton = new javax.swing.JButton();
+        searchButton = new javax.swing.JButton();
+        saveButton = new javax.swing.JButton();
+        cancelButton = new javax.swing.JButton();
+        exitButton = new javax.swing.JButton();
+        
+        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+
+        pendingRequestsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null, null, null, null, null, null, null},
+                {null, null, null, null, null, null, null},
+                {null, null, null, null, null, null, null},
+                {null, null, null, null, null, null, null}
+            },
+            new String [] {
+                "Entered", "Incident Number", "Unit", "Rotation Category", "Service Area", "Location", "Entered By"
+            }
+        ));
+        pendingRequestsScroll.setViewportView(pendingRequestsTable);
+
+        jTabbedPane1.addTab("Pending Requests", pendingRequestsScroll);
+
+        activeRequestsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null, null, null, null, null, null},
+                {null, null, null, null, null, null},
+                {null, null, null, null, null, null},
+                {null, null, null, null, null, null}
+            },
+            new String [] {
+                "Requested", "Incident Number", "Unit", "Location", "Provider Name", "Entered By"
+            }
+        ));
+        activeRequestsScroll.setViewportView(activeRequestsTable);
+
+        jTabbedPane1.addTab("Active Requests", activeRequestsScroll);
+
+        rotationProviderAreaCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        rotationProviderAreaLabel.setText("Rotation Provider Area:");
+
+        rotationCategoryCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        rotationCategoryLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
+        rotationCategoryLabel.setText("Rotation Category:");
+
+        locationLabel.setText("Location:");
+
+        incidentNumberField.setText("jTextField2");
+
+        incidentNumberLabel.setText("Incident Number:");
+
+        requestNumberField.setText("jTextField3");
+
+        requestNumberLabel.setText("Request Number:");
+
+        enteredDateTimeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        enteredDateTimeLabel.setText("Entered Date/Time:");
+
+        requestDateTimeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        requestDateTimeLabel.setText("Request Date/Time:");
+
+        onSceneDateTimeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        onSceneDateTimeLabel.setText("OnScene Date/Time:");
+
+        completedDateTimeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        completedDateTimeLabel.setText("Completed Date/Time");
+
+        locationCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        caseNumberField.setText("jTextField1");
+
+        caseNumberLabel.setText("Case Number:");
+
+        cancelDateTimeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        cancelDateTimeLabel.setText("Cancel Date/Time");
+
+        unitLabel.setText("Unit:");
+
+        unitField.setText("jTextField4");
+
+        requestedByField.setText("jTextField5");
+
+        requestedByLabel.setText("Requested By:");
+
+        enteredByField.setText("jTextField6");
+        enteredByField.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                enteredByFieldActionPerformed(evt);
+            }
+        });
+
+        enteredByLabel.setText("Entered By:");
+
+        javax.swing.GroupLayout requestInformationPaneLayout = new javax.swing.GroupLayout(requestInformationPane);
+        requestInformationPane.setLayout(requestInformationPaneLayout);
+        requestInformationPaneLayout.setHorizontalGroup(
+            requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(requestInformationPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(rotationProviderAreaLabel)
+                    .addComponent(rotationCategoryLabel)
+                    .addComponent(locationLabel)
+                    .addComponent(incidentNumberLabel)
+                    .addComponent(requestNumberLabel)
+                    .addComponent(enteredDateTimeLabel)
+                    .addComponent(requestDateTimeLabel)
+                    .addComponent(onSceneDateTimeLabel)
+                    .addComponent(completedDateTimeLabel)
+                    .addComponent(caseNumberLabel)
+                    .addComponent(cancelDateTimeLabel)
+                    .addComponent(unitLabel)
+                    .addComponent(requestedByLabel)
+                    .addComponent(enteredByLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(enteredByField)
+                    .addComponent(cancelDateTimeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(caseNumberField)
+                    .addComponent(completedDateTimeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(onSceneDateTimeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(requestDateTimeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(enteredDateTimeCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(requestNumberField)
+                    .addComponent(incidentNumberField)
+                    .addComponent(rotationCategoryCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(locationCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(unitField)
+                    .addGroup(requestInformationPaneLayout.createSequentialGroup()
+                        .addComponent(rotationProviderAreaCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(0, 0, Short.MAX_VALUE))
+                    .addComponent(requestedByField))
+                .addContainerGap())
+        );
+        requestInformationPaneLayout.setVerticalGroup(
+            requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(requestInformationPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(rotationProviderAreaCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(rotationProviderAreaLabel))
+                .addGap(6, 6, 6)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(rotationCategoryCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(rotationCategoryLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(locationCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(locationLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(incidentNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(incidentNumberLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(requestNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(requestNumberLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(caseNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(caseNumberLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(enteredDateTimeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(enteredDateTimeLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(requestDateTimeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(requestDateTimeLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(onSceneDateTimeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(onSceneDateTimeLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(completedDateTimeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(completedDateTimeLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(cancelDateTimeCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(cancelDateTimeLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(unitLabel)
+                    .addComponent(unitField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(requestedByField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(requestedByLabel))
+                .addGap(0, 0, 0)
+                .addGroup(requestInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(enteredByField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(enteredByLabel))
+                .addContainerGap(14, Short.MAX_VALUE))
+        );
+
+        yearField.setText("jTextField7");
+
+        yearLabel.setText("Year:");
+
+        makeLabel.setText("Make:");
+
+        makeField.setText("jTextField8");
+
+        modelField.setText("jTextField9");
+
+        modelLabel.setText("Model:");
+
+        styleField.setText("jTextField10");
+
+        styleLabel.setText("Style:");
+
+        colorField.setText("jTextField11");
+
+        colorLabel.setText("Color:");
+
+        licensePlateNumberLabel.setText("Lisence Plate Number:");
+
+        licensePlateNumberField.setText("jTextField12");
+
+        licensePlateStateLabel.setText("License Plate State:");
+
+        licensePlateStateField.setText("jTextField13");
+
+        licensePlateYearLabel.setText("License Plate Year:");
+
+        licensePlateYearField.setText("jTextField14");
+
+        releaseDateLabel.setText("Release Date:");
+
+        releaseDateCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        vinField.setText("jTextField15");
+
+        vinLabel.setText("VIN:");
+
+        holdForEvidenceCheckBox.setText("Hold for Evidence");
+
+        javax.swing.GroupLayout vehicleInformationPaneLayout = new javax.swing.GroupLayout(vehicleInformationPane);
+        vehicleInformationPane.setLayout(vehicleInformationPaneLayout);
+        vehicleInformationPaneLayout.setHorizontalGroup(
+            vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(makeLabel)
+                    .addComponent(yearLabel)
+                    .addComponent(modelLabel)
+                    .addComponent(styleLabel)
+                    .addComponent(colorLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                        .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(modelField)
+                            .addComponent(makeField)
+                            .addComponent(styleField, javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
+                            .addComponent(yearField, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(40, 40, 40)
+                        .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(licensePlateNumberLabel)
+                            .addComponent(licensePlateStateLabel)
+                            .addComponent(licensePlateYearLabel)
+                            .addComponent(releaseDateLabel)))
+                    .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                        .addComponent(colorField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addComponent(vinLabel)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(vinField)
+                    .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                        .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(holdForEvidenceCheckBox)
+                            .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                .addComponent(licensePlateNumberField, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
+                                .addComponent(licensePlateStateField)
+                                .addComponent(licensePlateYearField, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addComponent(releaseDateCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        vehicleInformationPaneLayout.setVerticalGroup(
+            vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(vehicleInformationPaneLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(yearField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(yearLabel)
+                    .addComponent(licensePlateNumberLabel)
+                    .addComponent(licensePlateNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(makeLabel)
+                    .addComponent(makeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(licensePlateStateLabel)
+                    .addComponent(licensePlateStateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(modelField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(modelLabel)
+                    .addComponent(licensePlateYearLabel)
+                    .addComponent(licensePlateYearField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(styleField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(styleLabel)
+                    .addComponent(releaseDateLabel)
+                    .addComponent(releaseDateCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(vehicleInformationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(colorField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(colorLabel)
+                    .addComponent(vinField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(vinLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(holdForEvidenceCheckBox)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        companyNameLabel.setText("Company Name:");
+
+        companyNameField.setText("jTextField16");
+
+        contactNameLabel.setText("Contact Name:");
+
+        contactNameField.setText("jTextField17");
+
+        phone1Label.setText("Phone 1:");
+
+        phone1Field.setText("jTextField18");
+
+        phone2Label.setText("Phone 2:");
+
+        phone2Field.setText("jTextField19");
+
+        pagerLabel.setText("Pager:");
+
+        pagingProviderLabel.setText("Paging Provider:");
+
+        pagerField.setText("jTextField20");
+
+        pagingProviderCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+
+        overrideButton.setText("Override");
+        overrideButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        skipButton.setText("Skip");
+
+        assignProviderButton.setText("<html>Assign<br>Provider </html>");
+        assignProviderButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
+        assignProviderButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        cancelRequestButton.setText("<html>Cancel<br>Request</html>");
+
+        providerOnSceneButton.setText("<html>Provider On<br>Scene</html>");
+        providerOnSceneButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        providerCompleteButton.setText("<html>Provider<br>Complete</html>");
+        providerCompleteButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        javax.swing.GroupLayout rotationProviderInformationLayout = new javax.swing.GroupLayout(rotationProviderInformation);
+        rotationProviderInformation.setLayout(rotationProviderInformationLayout);
+        rotationProviderInformationLayout.setHorizontalGroup(
+            rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(rotationProviderInformationLayout.createSequentialGroup()
+                .addGap(19, 19, 19)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(phone2Label)
+                    .addComponent(phone1Label)
+                    .addComponent(contactNameLabel)
+                    .addComponent(companyNameLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(companyNameField, javax.swing.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE)
+                    .addComponent(contactNameField)
+                    .addComponent(phone1Field)
+                    .addComponent(phone2Field))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(pagingProviderLabel)
+                    .addComponent(pagerLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(pagerField)
+                    .addComponent(pagingProviderCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap())
+            .addGroup(rotationProviderInformationLayout.createSequentialGroup()
+                .addGap(30, 30, 30)
+                .addComponent(overrideButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(skipButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(assignProviderButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(cancelRequestButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(providerOnSceneButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(providerCompleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(46, Short.MAX_VALUE))
+        );
+        rotationProviderInformationLayout.setVerticalGroup(
+            rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(rotationProviderInformationLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(companyNameLabel)
+                    .addComponent(companyNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(pagerLabel)
+                    .addComponent(pagerField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(contactNameLabel)
+                    .addComponent(contactNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(pagingProviderLabel)
+                    .addComponent(pagingProviderCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(phone1Label)
+                    .addComponent(phone1Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(phone2Label)
+                    .addComponent(phone2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(rotationProviderInformationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(skipButton, javax.swing.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE)
+                    .addComponent(assignProviderButton, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+                    .addComponent(overrideButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(cancelRequestButton, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+                    .addComponent(providerOnSceneButton, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+                    .addComponent(providerCompleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
+                .addContainerGap())
+        );
+
+        commentsTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+                {null, null, null, null},
+                {null, null, null, null},
+                {null, null, null, null},
+                {null, null, null, null}
+            },
+            new String [] {
+                "Date", "Time", "Dispatcher", "Comment"
+            }
+        ));
+        commentsTableScroll.setViewportView(commentsTable);
+
+        commentsField.setText("jTextField21");
+        commentsFieldScroll.setViewportView(commentsField);
+
+        addCommentButton.setText("Add Comment");
+        addCommentButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
+
+        saveCommentButton.setText("Save");
+
+        cancelCommentButton.setText("Cancel");
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(commentsTableScroll)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(commentsFieldScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 392, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(addCommentButton, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE)
+                            .addComponent(saveCommentButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(cancelCommentButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                .addContainerGap())
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(commentsTableScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(commentsFieldScroll)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(addCommentButton)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(saveCommentButton)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(cancelCommentButton)
+                        .addGap(0, 0, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+
+        searchButton.setText("Search");
+
+        saveButton.setText("Save");
+
+        cancelButton.setText("Cancel");
+
+        exitButton.setText("Exit");
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(jTabbedPane1)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(requestInformationPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(vehicleInformationPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addComponent(rotationProviderInformation, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addContainerGap())))
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(searchButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap())
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(0, 0, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(vehicleInformationPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(rotationProviderInformation, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(requestInformationPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(exitButton)
+                    .addComponent(cancelButton)
+                    .addComponent(saveButton)
+                    .addComponent(searchButton))
+                .addGap(5, 5, 5))
+        );
+
+        pack();
+    }// </editor-fold>                        
+
+    private void enteredByFieldActionPerformed(java.awt.event.ActionEvent evt) {                                               
+        // TODO add your handling code here:
+    }                                              
+    
+    /* 
+     * Makes screen visible.
+     */
+    public void open(){
+        setVisible(true);
+    }
+    
+    /*
+     * Hides screen.
+     */
+    public void close(){
+        setVisible(false);
+    }
+    
+    // Variables declaration - do not modify                     
+    private javax.swing.JScrollPane activeRequestsScroll;
+    private javax.swing.JTable activeRequestsTable;
+    private javax.swing.JButton addCommentButton;
+    private javax.swing.JButton assignProviderButton;
+    private javax.swing.JButton cancelButton;
+    private javax.swing.JButton cancelCommentButton;
+    private javax.swing.JComboBox cancelDateTimeCombo;
+    private javax.swing.JLabel cancelDateTimeLabel;
+    private javax.swing.JButton cancelRequestButton;
+    private javax.swing.JTextField caseNumberField;
+    private javax.swing.JLabel caseNumberLabel;
+    private javax.swing.JTextField colorField;
+    private javax.swing.JLabel colorLabel;
+    private javax.swing.JTextField commentsField;
+    private javax.swing.JScrollPane commentsFieldScroll;
+    private javax.swing.JTable commentsTable;
+    private javax.swing.JScrollPane commentsTableScroll;
+    private javax.swing.JTextField companyNameField;
+    private javax.swing.JLabel companyNameLabel;
+    private javax.swing.JComboBox completedDateTimeCombo;
+    private javax.swing.JLabel completedDateTimeLabel;
+    private javax.swing.JTextField contactNameField;
+    private javax.swing.JLabel contactNameLabel;
+    private javax.swing.JTextField enteredByField;
+    private javax.swing.JLabel enteredByLabel;
+    private javax.swing.JComboBox enteredDateTimeCombo;
+    private javax.swing.JLabel enteredDateTimeLabel;
+    private javax.swing.JButton exitButton;
+    private javax.swing.JCheckBox holdForEvidenceCheckBox;
+    private javax.swing.JTextField incidentNumberField;
+    private javax.swing.JLabel incidentNumberLabel;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JTabbedPane jTabbedPane1;
+    private javax.swing.JTextField licensePlateNumberField;
+    private javax.swing.JLabel licensePlateNumberLabel;
+    private javax.swing.JTextField licensePlateStateField;
+    private javax.swing.JLabel licensePlateStateLabel;
+    private javax.swing.JTextField licensePlateYearField;
+    private javax.swing.JLabel licensePlateYearLabel;
+    private javax.swing.JComboBox locationCombo;
+    private javax.swing.JLabel locationLabel;
+    private javax.swing.JTextField makeField;
+    private javax.swing.JLabel makeLabel;
+    private javax.swing.JTextField modelField;
+    private javax.swing.JLabel modelLabel;
+    private javax.swing.JComboBox onSceneDateTimeCombo;
+    private javax.swing.JLabel onSceneDateTimeLabel;
+    private javax.swing.JButton overrideButton;
+    private javax.swing.JTextField pagerField;
+    private javax.swing.JLabel pagerLabel;
+    private javax.swing.JComboBox pagingProviderCombo;
+    private javax.swing.JLabel pagingProviderLabel;
+    private javax.swing.JScrollPane pendingRequestsScroll;
+    private javax.swing.JTable pendingRequestsTable;
+    private javax.swing.JTextField phone1Field;
+    private javax.swing.JLabel phone1Label;
+    private javax.swing.JTextField phone2Field;
+    private javax.swing.JLabel phone2Label;
+    private javax.swing.JButton providerCompleteButton;
+    private javax.swing.JButton providerOnSceneButton;
+    private javax.swing.JComboBox releaseDateCombo;
+    private javax.swing.JLabel releaseDateLabel;
+    private javax.swing.JComboBox requestDateTimeCombo;
+    private javax.swing.JLabel requestDateTimeLabel;
+    private javax.swing.JPanel requestInformationPane;
+    private javax.swing.JTextField requestNumberField;
+    private javax.swing.JLabel requestNumberLabel;
+    private javax.swing.JTextField requestedByField;
+    private javax.swing.JLabel requestedByLabel;
+    private javax.swing.JComboBox rotationCategoryCombo;
+    private javax.swing.JLabel rotationCategoryLabel;
+    private javax.swing.JComboBox rotationProviderAreaCombo;
+    private javax.swing.JLabel rotationProviderAreaLabel;
+    private javax.swing.JPanel rotationProviderInformation;
+    private javax.swing.JButton saveButton;
+    private javax.swing.JButton saveCommentButton;
+    private javax.swing.JButton searchButton;
+    private javax.swing.JButton skipButton;
+    private javax.swing.JTextField styleField;
+    private javax.swing.JLabel styleLabel;
+    private javax.swing.JTextField unitField;
+    private javax.swing.JLabel unitLabel;
+    private javax.swing.JPanel vehicleInformationPane;
+    private javax.swing.JTextField vinField;
+    private javax.swing.JLabel vinLabel;
+    private javax.swing.JTextField yearField;
+    private javax.swing.JLabel yearLabel;
+    // End of variables declaration                   
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/PowerlineSearch.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/PowerlineSearch.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/PowerlineSearch.java	(revision 3)
@@ -0,0 +1,300 @@
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.rmi.RemoteException;
+import java.util.LinkedList;
+
+import javax.swing.BoxLayout;
+import javax.swing.GroupLayout;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JSeparator;
+import javax.swing.JTextField;
+
+import tmcsim.client.cadclientgui.data.CardfileDataObject;
+
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ * CURRENTLY NOT IN USE.
+ * @author Stuart
+ */
+public class PowerlineSearch extends javax.swing.JFrame {
+    
+    /**
+     * Creates new form PowerlineSearch
+     */
+    public PowerlineSearch(String search) {
+        initComponents();
+        populateEntries(search);
+        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
+        setVisible(true);
+    }
+
+    /**
+     * 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.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jScrollPane1 = new javax.swing.JScrollPane();
+        mainPanel = new javax.swing.Box(BoxLayout.Y_AXIS);
+        cardfileSearchLabel = new javax.swing.JLabel();
+        entryPanel = new javax.swing.JPanel();
+        categoryLabel = new javax.swing.JLabel();
+        addressLabel = new javax.swing.JLabel();
+        phone1Label = new javax.swing.JLabel();
+        commentLabel = new javax.swing.JLabel();
+        categoryField = new javax.swing.JTextField();
+        addressField = new javax.swing.JTextField();
+        phone1Field = new javax.swing.JTextField();
+        commentField = new javax.swing.JTextField();
+        cityLabel = new javax.swing.JLabel();
+        phone2Label = new javax.swing.JLabel();
+        phone2Field = new javax.swing.JTextField();
+        cityField = new javax.swing.JTextField();
+        nameField = new javax.swing.JTextField();
+        nameLabel = new javax.swing.JLabel();
+        stateLabel = new javax.swing.JLabel();
+        faxNumberLabel = new javax.swing.JLabel();
+        faxNumberField = new javax.swing.JTextField();
+        stateField = new javax.swing.JTextField();
+        zipLabel = new javax.swing.JLabel();
+        zipField = new javax.swing.JTextField();
+        printButton = new javax.swing.JButton();
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+
+        cardfileSearchLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
+        cardfileSearchLabel.setText("Cardfile Search");
+        cardfileSearchLabel.setHorizontalAlignment(JLabel.CENTER);
+        createLabels();
+
+        mainPanel.add(cardfileSearchLabel);
+
+        jScrollPane1.setViewportView(mainPanel);
+
+        printButton.setText("Print");
+        printButton.setEnabled(false);
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 792, Short.MAX_VALUE)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addGap(0, 0, Short.MAX_VALUE)
+                .addComponent(printButton, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 364, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(5, 5, 5)
+                .addComponent(printButton, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(0, 5, Short.MAX_VALUE))
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    public void addEntry(CardfileDataObject cfdo){
+        createLabels();
+        categoryField = new JTextField(cfdo.getCategory());
+        addressField = new JTextField(cfdo.getAddress());
+        phone1Field = new JTextField(cfdo.getPhone1());
+        if(cfdo.getCommentsTableFields().size() > 0){
+            String[] firstComment = cfdo.getCommentsTableFields().get(0);
+            commentField = new JTextField(firstComment[3]);
+        }
+        else{
+            commentField = new JTextField("");
+        }
+        phone2Field = new JTextField(cfdo.getPhone2());
+        cityField = new JTextField(cfdo.getCity());
+        nameField = new JTextField(cfdo.getName());
+        faxNumberField = new JTextField(cfdo.getFax());
+        stateField = new JTextField(cfdo.getState());
+        zipField = new JTextField(cfdo.getZip());
+        
+        entryPanel = new JPanel();
+        javax.swing.GroupLayout entryPanelLayout = new javax.swing.GroupLayout(entryPanel);
+        entryPanel.setLayout(entryPanelLayout);
+        entryPanelLayout.setHorizontalGroup(
+            entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(entryPanelLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(categoryLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(categoryField, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(addressLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(addressField))
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(phone1Label)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(phone1Field))
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addComponent(commentLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(commentField)))
+                .addGap(30, 30, 30)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(phone2Label)
+                    .addComponent(cityLabel)
+                    .addComponent(nameLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(entryPanelLayout.createSequentialGroup()
+                        .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(cityField, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
+                            .addComponent(phone2Field))
+                        .addGap(30, 30, 30)
+                        .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(faxNumberLabel)
+                            .addComponent(stateLabel))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(faxNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGroup(entryPanelLayout.createSequentialGroup()
+                                .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addGap(63, 63, 63)
+                                .addComponent(zipLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(zipField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
+                    .addComponent(nameField, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(56, Short.MAX_VALUE))
+        );
+        entryPanelLayout.setVerticalGroup(
+            entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(entryPanelLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(categoryLabel)
+                    .addComponent(categoryField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(nameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(nameLabel))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(addressLabel)
+                    .addComponent(addressField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(cityLabel)
+                    .addComponent(cityField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(stateLabel)
+                    .addComponent(stateField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(zipLabel)
+                    .addComponent(zipField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(phone1Label)
+                    .addComponent(phone1Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(phone2Label)
+                    .addComponent(phone2Field, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(faxNumberLabel)
+                    .addComponent(faxNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(entryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(commentLabel)
+                    .addComponent(commentField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap())
+        );
+        
+        javax.swing.JPanel jPanel1 = new javax.swing.JPanel();
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(entryPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(entryPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(1, Short.MAX_VALUE))
+        );
+        
+        mainPanel.add(new JSeparator());
+        mainPanel.add(jPanel1);
+        
+    }
+    
+    public void createLabels(){
+        categoryLabel = new JLabel("Category:");
+
+        addressLabel = new JLabel("Address:");
+
+        phone1Label = new JLabel("Phone 1:");
+
+        commentLabel = new JLabel("Comment:");
+
+        cityLabel = new JLabel("City:");
+
+        phone2Label = new JLabel("Phone 2:");
+
+        nameLabel = new JLabel("Name:");
+
+        stateLabel = new JLabel("State:");
+
+        faxNumberLabel = new JLabel("FaxNumber:");
+
+        zipLabel = new JLabel("Zip:");
+    }
+    
+    /**
+     * Populates the screen with search entries.
+     */
+    public void populateEntries(String search) {
+        mainPanel.removeAll();
+        mainPanel.add(cardfileSearchLabel);
+        try {
+            LinkedList<CardfileDataObject> list = ScreenManager.theCoordinator.getSearchList(search);
+            for(int i = 0; i < list.size(); i++){
+                addEntry(list.get(i));
+            }
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+    }
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JTextField addressField;
+    private javax.swing.JLabel addressLabel;
+    private javax.swing.JLabel cardfileSearchLabel;
+    private javax.swing.JTextField categoryField;
+    private javax.swing.JLabel categoryLabel;
+    private javax.swing.JTextField cityField;
+    private javax.swing.JLabel cityLabel;
+    private javax.swing.JTextField commentField;
+    private javax.swing.JLabel commentLabel;
+    private javax.swing.JPanel entryPanel;
+    private javax.swing.JTextField faxNumberField;
+    private javax.swing.JLabel faxNumberLabel;
+    private javax.swing.Box mainPanel;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JTextField nameField;
+    private javax.swing.JLabel nameLabel;
+    private javax.swing.JTextField phone1Field;
+    private javax.swing.JLabel phone1Label;
+    private javax.swing.JTextField phone2Field;
+    private javax.swing.JLabel phone2Label;
+    private javax.swing.JButton printButton;
+    private javax.swing.JTextField stateField;
+    private javax.swing.JLabel stateLabel;
+    private javax.swing.JTextField zipField;
+    private javax.swing.JLabel zipLabel;
+    // End of variables declaration//GEN-END:variables
+}
Index: trunk/src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/screens/AssignedIncidents.java	(revision 3)
@@ -0,0 +1,510 @@
+package tmcsim.client.cadclientgui.screens;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.rmi.RemoteException;
+import java.util.List;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import javax.swing.SwingUtilities;
+import javax.swing.TransferHandler;
+import javax.swing.RowSorter.SortKey;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableCellRenderer;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS;
+import tmcsim.client.cadclientgui.enums.IncidentEnums;
+import tmcsim.client.cadclientgui.enums.TableHeaders;
+import tmcsim.client.cadclientgui.enums.UnitStatusEnums;
+
+/**
+ * This class contains the view and controller for the AssignedIncidents screen. The view was not built using a GUI builder plug-in
+ * (but may want to consider doing so in the future), and the controller uses listeners to control how the view and data act. 
+ * 
+ * @author Vincent
+ */
+
+public class AssignedIncidents extends JFrame {
+
+    private final String SCREEN_TITLE = "(Shift + F3)  Assigned Incidents";
+
+    private final Dimension SCREEN_DIMENSIONS = new Dimension(1400, 250);
+
+    private final Dimension DROP_DOWN_MENU_LABEL_DIMENSIONS = new Dimension(
+            170, 20);
+
+    private final Dimension DROP_DOWN_MENU_DIMENSIONS = new Dimension(170, 230);
+
+    private final int COLUMN_WIDTH = 120;
+
+    private final String[] LABELS = { "Add Resources...", "Greater Alarm...",
+            "Reconfigure", "Open", "Recall Incident", "Cancel", "Reassign",
+            "Link/Append", "Map", "Recall Linked Incidents", "Read Notes",
+            "Page...", "Mail...", "Fax..." };
+
+    private final String LABEL_SPACING = "     ";
+
+    private JTable assignedIncidentsTable;
+    private JFrame assignedIncidentsMenu;
+
+    // labels for the drop down menu
+    private JLabel[] dropDownLabels = new JLabel[LABELS.length];
+
+    private long lastLeftClick;// used for double clicking feature
+
+    public AssignedIncidents() {
+        initComponents();
+    }
+
+    private void initComponents() {
+        initializeTable();
+        initController();
+        initializeDropDownMenu();
+
+        JScrollPane scrollpane = new JScrollPane(assignedIncidentsTable);
+        scrollpane.getViewport().setBackground(Color.WHITE);
+
+        setTitle(SCREEN_TITLE);
+        setPreferredSize(SCREEN_DIMENSIONS);
+        getContentPane().add(scrollpane);
+        setResizable(true);
+        pack();
+        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+        setLocation(0, (int) (dim.getHeight() / 4));
+        setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
+        setVisible(false);
+    }
+
+    /*
+     * Initializes the table and prepares the cell renderer for color
+     * management. It initializes the default settings and handles the drag and
+     * drop feature.
+     */
+    private void initializeTable() {
+        assignedIncidentsTable = new JTable(){
+            /*
+             * Custom renderer to set different background/foreground colors
+             * @see javax.swing.JTable#prepareRenderer(javax.swing.table.TableCellRenderer, int, int)
+             */
+            public Component prepareRenderer(TableCellRenderer renderer, int row, int column){
+                Component comp = super.prepareRenderer(renderer, row, column);
+                
+                comp.setForeground(Color.BLACK);
+                comp.setBackground(Color.CYAN);
+                if(assignedIncidentsTable.getModel().getColumnName(column).equals("Unit/s")){//4 is the column for "Unit/s"
+                  System.out.println("Commenting this line breaks the client");
+                    comp.setBackground(Color.BLACK);
+                    int primaryColumn = 3;
+                    try {
+                        switch(ScreenManager.theCoordinator.getCadDataUnitStatus(
+                               (String) assignedIncidentsTable.getValueAt(row,primaryColumn))){
+                            case Assignable:
+                                comp.setForeground(Color.GREEN);
+                                break;
+                            case Arrived:
+                                comp.setForeground(Color.YELLOW);
+                                break;
+                            case Enroute:
+                                comp.setForeground(Color.CYAN);
+                                break;
+                        } 
+                    }catch (RemoteException e){
+                      e.printStackTrace();
+                    }
+                }
+                
+                if (getSelectedRow() == row){
+                    comp.setForeground(Color.WHITE);
+                    comp.setBackground(Color.BLUE);
+                }
+                
+                return comp;
+            }
+            
+            public Class getColumnClass(int c) {
+                return getValueAt(0, c).getClass();
+            }
+            
+        };
+        
+        assignedIncidentsTable.setOpaque(true);
+        assignedIncidentsTable.setIntercellSpacing(new Dimension(1, 0));
+        assignedIncidentsTable.setGridColor(Color.WHITE);
+        assignedIncidentsTable.getTableHeader().setReorderingAllowed(false);
+        assignedIncidentsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        assignedIncidentsTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+        assignedIncidentsTable.setAutoCreateRowSorter(true);
+        assignedIncidentsTable.setModel(new DefaultTableModel());
+        
+        ((DefaultTableModel) assignedIncidentsTable.getModel()).setColumnIdentifiers(TableHeaders.ASSIGNED_INCIDENTS_HEADERS);
+        
+        assignedIncidentsTable.setTransferHandler(new TransferHandler(){
+            
+            public boolean canImport(TransferHandler.TransferSupport info) {
+                // Check for String flavor
+                if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) {
+                    return false;
+                }
+                return true;
+           }
+            
+            public boolean importData(TransferHandler.TransferSupport info) {
+                if (!info.isDrop()) {
+                    return false;
+                }
+         
+                DefaultTableModel tableModel = (DefaultTableModel)assignedIncidentsTable.getModel();
+                JTable.DropLocation dl = (JTable.DropLocation)info.getDropLocation();
+                int index = dl.getRow();
+         
+                // Get the string that is being dropped.
+                Transferable t = info.getTransferable();
+                String data;
+                try {
+                    data = (String)t.getTransferData(DataFlavor.stringFlavor);
+                }
+                catch (Exception e) { return false; }
+                                         
+                // Perform the actual import
+                int incidentId = (Integer)assignedIncidentsTable.getValueAt(dl.getRow(), 0);
+                try {
+                        ScreenManager.theCoordinator.setCadDataUnitAssignedId(data, incidentId);
+                        ScreenManager.theCoordinator.setCadDataUnitValue(data,
+                      UNIT_TAGS.UNIT_STATUS, UnitStatusEnums.Arrived);
+                     ScreenManager.theCoordinator.addCadDataIncidentAssignedUnitNum(incidentId, data);
+                     ScreenManager.theCoordinator.setCadDataIncidentStatus(incidentId, IncidentEnums.Assigned);
+                     } catch (RemoteException e) {
+                        e.printStackTrace();
+                     }
+                ScreenManager.refreshScreens();
+                return true;
+            }
+        });
+        
+        for(int i = 0; i < assignedIncidentsTable.getColumnCount(); i++){
+            assignedIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(120);
+        }
+    }
+    
+    /*
+     * Adds the key and mouse listeners for the table and component listener for
+     * screen.
+     */
+    private void initController() {
+        assignedIncidentsTable.addMouseListener(new MouseListener() {
+            public void mouseClicked(MouseEvent e) {
+                if (SwingUtilities.isLeftMouseButton(e)) {
+                    if (System.currentTimeMillis() - lastLeftClick < 1000) {
+                        int idColumn = 0;
+                        ScreenManager
+                                .openIncidentViewer((Integer) assignedIncidentsTable
+                                        .getValueAt(assignedIncidentsTable
+                                                .getSelectedRow(), idColumn));
+                    } else {
+                        lastLeftClick = System.currentTimeMillis();
+                    }
+                }
+                if (SwingUtilities.isRightMouseButton(e)) {
+                    openDropDownMenu(e);
+                } else {
+                    closeDropDownMenu();
+                }
+            }
+
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+        });
+
+        addComponentListener(new ComponentListener() {
+            public void componentHidden(ComponentEvent e) {
+            }
+
+            public void componentMoved(ComponentEvent e) {
+                closeDropDownMenu();
+            }
+
+            public void componentResized(ComponentEvent e) {
+            }
+
+            public void componentShown(ComponentEvent e) {
+            }
+        });
+    }
+
+    /*
+     * Creates the drop down menu that appears when a right click is performed
+     * on the table.
+     */
+    private void initializeDropDownMenu() {
+        Box menu = new Box(BoxLayout.Y_AXIS);
+        initializeDropDownLabels();
+        addLabelsToBox(menu);
+
+        // Sets the highlighted background color, note that it does not become
+        // "Highlighted" until opaque(true) is called
+        setMenuHighlightedBackground(Color.BLUE);
+
+        assignedIncidentsMenu = new JFrame();
+        assignedIncidentsMenu.getContentPane().add(menu);
+        assignedIncidentsMenu.setPreferredSize(DROP_DOWN_MENU_DIMENSIONS);
+        assignedIncidentsMenu.setUndecorated(true);
+        assignedIncidentsMenu.pack();
+        assignedIncidentsMenu.setVisible(false);
+    }
+
+    /*
+     * Sets the text and size and adds a listener to each activated label.
+     */
+    private void initializeDropDownLabels() {
+        for (int i = 0; i < dropDownLabels.length; i++) {
+            dropDownLabels[i] = new JLabel(LABEL_SPACING + LABELS[i]);
+            dropDownLabels[i].setMaximumSize(DROP_DOWN_MENU_LABEL_DIMENSIONS);
+            dropDownLabels[i].setForeground(Color.GRAY);
+        }
+        dropDownLabels[3].setForeground(Color.BLACK);
+        addMouseListenersToLabel(dropDownLabels[3]);
+        dropDownLabels[10].setForeground(Color.BLACK);
+        addMouseListenersToLabel(dropDownLabels[10]);
+    }
+
+    /*
+     * Add the labels to the box in order with separators and spacings in
+     * between.
+     */
+    private void addLabelsToBox(Box menu) {
+        menu.add(dropDownLabels[0]);
+        menu.add(dropDownLabels[1]);
+        menu.add(dropDownLabels[2]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[3]);
+        menu.add(dropDownLabels[4]);
+        menu.add(dropDownLabels[5]);
+        menu.add(dropDownLabels[6]);
+        menu.add(dropDownLabels[7]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[8]);
+        menu.add(dropDownLabels[9]);
+        menu.add(dropDownLabels[10]);
+
+        menu.add(Box.createVerticalStrut(5));
+        menu.add(new JSeparator());
+        menu.add(Box.createVerticalStrut(5));
+
+        menu.add(dropDownLabels[11]);
+        menu.add(dropDownLabels[12]);
+        menu.add(dropDownLabels[13]);
+
+        menu.add(Box.createVerticalStrut(5));
+    }
+
+    /*
+     * Sets the highlighted color(when the mouse is over it) of the JLabels.
+     * Note: the color is not shown until .setOpaque(true) is called.
+     * 
+     * @param color the highlighted color
+     */
+    public void setMenuHighlightedBackground(Color color) {
+        for (int i = 0; i < dropDownLabels.length; i++) {
+            dropDownLabels[i].setBackground(color);
+        }
+    }
+
+    /*
+     * Sets all JLabels to not display a highlighted background
+     */
+    public void unSelectAllLabels() {
+        for (int i = 0; i < dropDownLabels.length; i++) {
+            dropDownLabels[i].setOpaque(false);
+        }
+    }
+
+    /*
+     * Sets the label to have a highlighted background.
+     * 
+     * @param label the label that is selected/highlighted
+     */
+    public void selectLabel(Object label) {
+        ((JLabel) label).setOpaque(true);
+    }
+
+    /*
+     * Performs the label action depending on which label was clicked.
+     */
+    public void performLabelAction(Object label) {
+        if (label.equals(dropDownLabels[0])) {// Add Resources
+
+        } else if (label.equals(dropDownLabels[1])) {// Greater Alarm
+
+        } else if (label.equals(dropDownLabels[2])) {// Reconfigure
+
+        } else if (label.equals(dropDownLabels[3])) {// Open
+            int idColumn = 0;
+            ScreenManager.openIncidentViewer((Integer) assignedIncidentsTable
+                    .getValueAt(assignedIncidentsTable.getSelectedRow(),
+                            idColumn));
+        } else if (label.equals(dropDownLabels[4])) {// Recall Incident
+
+        } else if (label.equals(dropDownLabels[5])) {// Cancel
+
+        } else if (label.equals(dropDownLabels[6])) {// Reassign
+
+        } else if (label.equals(dropDownLabels[7])) {// Link append
+
+        } else if (label.equals(dropDownLabels[8])) {// Map
+
+        } else if (label.equals(dropDownLabels[9])) {// Recall Linked Incidents
+
+        } else if (label.equals(dropDownLabels[10])) {// Read Notes
+            int idColumn = 0;
+            ScreenManager.openIncidentViewer((Integer) assignedIncidentsTable
+                    .getValueAt(assignedIncidentsTable.getSelectedRow(),
+                            idColumn));
+        } else if (label.equals(dropDownLabels[11])) {// Page
+
+        } else if (label.equals(dropDownLabels[12])) {// Mail
+
+        } else if (label.equals(dropDownLabels[13])) {// Fax
+
+        }
+    }
+
+    /*
+     * Factory method. Adds a mouse listeners to the label. The
+     * MouseMotionListener detects the mouse's location to highlight the label.
+     * The MouseListener detects for clicks and performs the action of the label
+     * designates.
+     */
+    public void addMouseListenersToLabel(JLabel label) {
+        label.addMouseMotionListener(new MouseMotionListener() {
+            public void mouseDragged(MouseEvent e) {
+            }
+
+            public void mouseMoved(MouseEvent e) {
+                unSelectAllLabels();
+                selectLabel(e.getSource());
+                assignedIncidentsMenu.revalidate();
+                assignedIncidentsMenu.repaint();
+            }
+        });
+        label.addMouseListener(new MouseListener() {
+            public void mouseClicked(MouseEvent e) {
+                performLabelAction(e.getSource());
+                unSelectAllLabels();
+                assignedIncidentsMenu.revalidate();
+                assignedIncidentsMenu.repaint();
+                assignedIncidentsMenu.setVisible(false);
+            }
+
+            public void mouseEntered(MouseEvent e) {
+            }
+
+            public void mouseExited(MouseEvent e) {
+            }
+
+            public void mousePressed(MouseEvent e) {
+            }
+
+            public void mouseReleased(MouseEvent e) {
+            }
+        });
+    }
+
+    /*
+     * Displays the menu where the right click occurred.
+     */
+    public void openDropDownMenu(MouseEvent e) {
+        assignedIncidentsMenu.setLocation(e.getX() + this.getX(), e.getY()
+                + this.getY());
+        assignedIncidentsMenu.setVisible(true);
+    }
+
+    /*
+     * Hides the menu.
+     */
+    public void closeDropDownMenu() {
+        unSelectAllLabels();
+        assignedIncidentsMenu.revalidate();
+        assignedIncidentsMenu.repaint();
+        assignedIncidentsMenu.setVisible(false);
+    }
+
+    /*
+     * Refreshes the data in the table by updating all data and repainting the
+     * screen. It saves user preferences(like column sizes, selected row, sorted preferences) 
+     * and applies them to the updated model it receives from the server.
+     */
+    public void refreshTable() {
+        
+        if(assignedIncidentsTable.getTableHeader().getResizingColumn() == null){//only update info if resize not in progress
+              try {
+                int index = assignedIncidentsTable.getSelectedRow();
+                int[] columnWidths = new int[20];
+                List<? extends SortKey> keys = assignedIncidentsTable.getRowSorter().getSortKeys();
+                for(int i = 0; i < assignedIncidentsTable.getColumnCount(); i++){
+                    columnWidths[i] = assignedIncidentsTable.getColumnModel().getColumn(i).getWidth();
+                }
+                
+                assignedIncidentsTable.setModel(ScreenManager.theCoordinator.getCadDataTable(CADDataEnums.TABLE.ASSIGNED_INCIDENTS));
+                
+                for(int i = 0; i < assignedIncidentsTable.getColumnCount(); i++){
+                    assignedIncidentsTable.getColumnModel().getColumn(i).setPreferredWidth(columnWidths[i]);
+                }
+                assignedIncidentsTable.getRowSorter().setSortKeys(keys);
+                assignedIncidentsTable.getSelectionModel().setSelectionInterval(index, index);
+                } catch (RemoteException e) {
+                    e.printStackTrace();
+                }
+                revalidate();
+                repaint();
+          }
+    }
+
+    /*
+     * Makes screen visible.
+     */
+    public void open() {
+        setVisible(true);
+    }
+
+    /*
+     * Hides screen.
+     */
+    public void close() {
+        setVisible(false);
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/CardfileHandler.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/CardfileHandler.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/CardfileHandler.java	(revision 3)
@@ -0,0 +1,193 @@
+package tmcsim.client.cadclientgui;
+
+import java.awt.List;
+import java.io.File;
+import java.util.LinkedList;
+import java.util.TreeMap;
+import java.util.Vector;
+
+import javax.swing.DefaultListModel;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.helpers.DefaultHandler;
+
+import tmcsim.client.cadclientgui.data.CardfileData;
+import tmcsim.client.cadclientgui.data.CardfileDataObject;
+import tmcsim.client.cadclientgui.data.CardfileList;
+import tmcsim.client.cadclientgui.enums.CADDataEnums.CARDFILE;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.CARDFILE_TAGS;
+import tmcsim.client.cadclientgui.screens.ScreenManager;
+
+/**
+ * This class is handles the XML script reading for Cardfile. It reads tags and
+ * assigns data accordingly.
+ * 
+ * @author Vincent
+ * 
+ */
+public class CardfileHandler extends DefaultHandler {
+
+    private static enum LEVEL {
+        CARDFILE, TITLE, NAME
+    };
+
+    private StringBuffer parsedValue = new StringBuffer();
+
+    private String currentTitle;
+
+    private CardfileDataObject cfdObj;
+
+    private CardfileData cardfileData;
+
+    private CardfileList cfdList;
+
+    public CardfileHandler(CardfileData cfd) {
+        cardfileData = cfd;
+        currentTitle = "";
+        cfdList = new CardfileList();
+    }
+
+    /*
+     * Performs action based on the start tag encountered
+     * 
+     * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String,
+     * java.lang.String, java.lang.String, org.xml.sax.Attributes)
+     */
+    public void startElement(String uri, String localName, String qName,
+            Attributes attributes) {
+
+        try {
+            if (qName.equals(CARDFILE_TAGS.TAB.tag)) {
+                currentTitle = attributes.getValue(CARDFILE_TAGS.TITLE.tag);
+            } else if (qName.equals(CARDFILE_TAGS.CARDFILE_OBJ.tag)) {
+                cfdObj = new CardfileDataObject(currentTitle,
+                        attributes.getValue(CARDFILE_TAGS.NAME.tag),
+                        cardfileData.obtainNewUniqueId());
+            }
+
+        } catch (Exception e) {
+            System.out
+                    .println("startElement error: " + e.getLocalizedMessage());
+        }
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
+     */
+    public void characters(char[] ch, int start, int length) {
+        parsedValue.append(new String(ch, start, length).trim());
+    }
+
+    /*
+     * Performs the action based on the end tag encountered
+     * 
+     * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String,
+     * java.lang.String, java.lang.String)
+     */
+    public void endElement(String uri, String localName, String qName) {
+
+        try {
+            if (qName.equals(CARDFILE_TAGS.ADDRESS.tag)) {
+                cfdObj.setAddress(parsedValue.toString());
+            } else if (qName.equals(CARDFILE_TAGS.CITY.tag)) {
+                cfdObj.setCity(parsedValue.toString());
+            } else if (qName.equals(CARDFILE_TAGS.STATE.tag)) {
+                cfdObj.setState(parsedValue.toString());
+            } else if (qName.equals(CARDFILE_TAGS.ZIP.tag)) {
+                cfdObj.setZip(parsedValue.toString());
+            } else if (qName.equals(CARDFILE_TAGS.PHONE1.tag)) {
+                cfdObj.setPhone1(parsedValue.toString());
+            } else if (qName.equals(CARDFILE_TAGS.PHONE2.tag)) {
+                cfdObj.setPhone2(parsedValue.toString());
+            } else if (qName.equals(CARDFILE_TAGS.FAX.tag)) {
+                cfdObj.setFax(parsedValue.toString());
+            } else if (qName.equals(CARDFILE_TAGS.CARDFILE_OBJ.tag)) {
+                cfdList.addDataObject(cfdObj);
+            } else if (qName.equals(CARDFILE_TAGS.TAB.tag)) {
+                addToCardfileData();
+                cfdList = new CardfileList();
+            }
+        } catch (Exception e) {
+            System.out.println("endElement error" + e.getLocalizedMessage());
+        }
+        parsedValue.setLength(0);
+    }
+
+    private void addToCardfileData() {
+        if (currentTitle.equals(CARDFILE.COASTAL_DIVISION_UNITS.tag)) {
+            cardfileData.setCoastalDivisionUnitsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.POLICE_SHERIFF_CORONER.tag)) {
+            cardfileData.setPoliceSheriffCoronerList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.COURTS.tag)) {
+            cardfileData.setCourtsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.PUBLIC_TRANSPORTATION.tag)) {
+            cardfileData.setPublicTransportationList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.GG_OTHER.tag)) {
+            cardfileData.setGgOtherList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.MY_MISC.tag)) {
+            cardfileData.setMyMiscList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.SL_MISC.tag)) {
+            cardfileData.setSlMiscList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.VT_MISC.tag)) {
+            cardfileData.setVlMiscList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.CHP_OFFICES.tag)) {
+            cardfileData.setChpOfficesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.STATE_AGENCIES_FACILITIES.tag)) {
+            cardfileData.setStateAgenciesFacilitiesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.GOVERNMENT_OFFICIALS.tag)) {
+            cardfileData.setGovernmentOfficialsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.FEDERAL_AGENCIES.tag)) {
+            cardfileData.setFederalAgenciesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.FIRE_EMS.tag)) {
+            cardfileData.setFireEmsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.JAILS.tag)) {
+            cardfileData.setJailsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.HOSPITALS_MED_CENTERS.tag)) {
+            cardfileData.setHospitalsMedCentersList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.TOW_COMPANIES.tag)) {
+            cardfileData.setTowCompaniesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.CALTRANS.tag)) {
+            cardfileData.setCalTransList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.COUNTY_ROADS.tag)) {
+            cardfileData.setCountyRoadsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.UTILITIES.tag)) {
+            cardfileData.setUtilitiesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.ANIMAL_CONTROL.tag)) {
+            cardfileData.setAnimalControlList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.AIRPORTS.tag)) {
+            cardfileData.setAirportsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.CREDIT_CARDS.tag)) {
+            cardfileData.setCreditCardsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.GG_CRISIS_SHELTERS.tag)) {
+            cardfileData.setGgCrisisSheltersList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.RANGES.tag)) {
+            cardfileData.setRangesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.HOTLINES.tag)) {
+            cardfileData.setHotlinesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.HWY_PATROLS_OOS.tag)) {
+            cardfileData.setHwyPatrolsOosList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.PARKS_RECREATION.tag)) {
+            cardfileData.setParksRecreationList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.SHELTERS)) {
+            cardfileData.setSheltersList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.SL_COUNTY_SERVICES.tag)) {
+            cardfileData.setSlCountyServicesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.SL_RESOURCES.tag)) {
+            cardfileData.setSlResourcesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.TRUCK_TIRE_REPAIR.tag)) {
+            cardfileData.setTruckTireRepairList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.MCC_EMPLOYEES.tag)) {
+            cardfileData.setMccEmployeesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.GATE_ACCESS_CODES.tag)) {
+            cardfileData.setGateAccessCodesList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.VT_CALL_SIGNS.tag)) {
+            cardfileData.setVtCallSignsList(cfdList);
+        } else if (currentTitle.equals(CARDFILE.SLCC_EMPLOYEES.tag)) {
+            cardfileData.setSlccEmployeesList(cfdList);
+        }
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/enums/CADDataEnums.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/enums/CADDataEnums.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/enums/CADDataEnums.java	(revision 3)
@@ -0,0 +1,301 @@
+package tmcsim.client.cadclientgui.enums;
+
+public class CADDataEnums {
+    
+    public static enum TABLE
+    {
+        ASSIGNED_INCIDENTS  ("ASSIGNED_INCIDENTS"),
+        UNIT_STATUS             ("UNIT_STATUS"),
+        PENDING_INCIDENTS       ("PENDING_INCIDENTS"),
+        INCIDENT_EDITOR     ("INCIDENT_EDITOR");
+        
+        public String tag;
+        
+        private TABLE(String t) {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_TABLE
+    {
+        COMMENTS_NOTES          ("COMMENTS_NOTES");
+        
+        public String tag;
+        
+        private INC_TABLE(String t) {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_VAL
+    {
+        LOG_NUM                 ("LOG_NUM"),
+        MASTER_INC              ("MASTER_INC"),
+        ALERT                       ("ALERT"),
+        OAU                     ("OAU"),
+        P                           ("P"),
+        DESCRIPTION             ("DESCRIPTION"),
+        RP                          ("RP"),
+        ALI                     ("ALI"),
+        RP_TYPE                 ("RP_TYPE"),
+        MEDIA                       ("MEDIA");
+        
+        public String tag;
+        
+        private INC_VAL(String t) {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_LOC
+    {
+        ADDRESS                 ("ADDRESS"),
+        LOC                     ("LOC"),
+        CITY                        ("CITY"),
+        COUNTY                  ("COUNTY"),
+        STATE                       ("STATE"),
+        ZIP                     ("ZIP"),
+        BEAT                        ("BEAT"),
+        AREA                        ("AREA"),
+        SECTOR                  ("SECTOR"),
+        SECTOR_CODE             ("SECTOR_CODE"),
+        DIVISION                    ("DIVISION"),
+        APT                     ("APT"),
+        BUILDING                    ("BUILDING"),
+        CROSS_ST                    ("CROSS_ST"),
+        LAW                     ("LAW"),
+        FIRE                        ("FIRE"),
+        EMS                     ("EMS");
+        
+        public String tag;
+        
+        private INC_LOC(String t) {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_CALLER
+    {
+        TYPE                        ("TYPE"),
+        NAME                        ("NAME"),
+        PHONE                       ("PHONE"),
+        EXT                     ("EXT");
+        
+        public String tag;
+        
+        private INC_CALLER(String t) {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_PROBLEM
+    {
+       PROBLEM                  ("PROBLEM"),
+        CODE                    ("CODE"), 
+        PRIORITY                ("PRIORITY");
+        
+        public String tag;
+        
+        private INC_PROBLEM(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_GEN_INFO
+    {
+        ID                      ("ID"),
+        MASTER_INC_NUM          ("MASTER_INC_NUM"),
+        JURISDICTION            ("JURISDICTION"), 
+        ALARM                       ("ALARM"),
+        AGY                         ("AGY");
+        
+        public String tag;
+        
+        private INC_GEN_INFO(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_RESP
+    {
+        PLAN                    ("PLAN"),
+        AREA                    ("AREA");
+        
+        public String tag;
+        
+        private INC_RESP(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_ADD_INFO
+    {
+        TYPE                        ("TYPE"),
+        TYPE_CODE                   ("TYPE_CODE"),
+        MACHINE                     ("MACHINE"), 
+        CALL_STATUS                 ("CALL_STATUS"),
+        CALL_TAKER_EXT              ("CALL_TAKER_EXT"),
+        ALARM_LEVEL                 ("ALARM_LEVEL"),
+        ROTATION_PROVIDER_AREA  ("ROTATION_PROVIDER_AREA"),
+        COMMENT                     ("COMMENT");
+        
+        public String tag;
+        
+        private INC_ADD_INFO(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_ACTIVITIES
+    {
+        VEHICLE                 ("VEHICLE"),
+        ACTIVITY                ("ACTIVITY"),
+        LOCATION                ("LOCATION"), 
+        COMMENT                 ("COMMENT"),
+        DISP                    ("DISP");
+        
+        public String tag;
+        
+        private INC_ACTIVITIES(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_CALLBACK
+    {
+        INITIAL                 ("INITIAL"),
+        COMMENT                 ("COMMENT");
+        
+        public String tag;
+        
+        private INC_CALLBACK(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_EDIT_LOG
+    {
+        EDIT                    ("EDIT"),
+        REASON                      ("REASON"),
+        CHANGE_BY               ("CHANGE_BY"), 
+        TERMINAL                ("TERMINAL");
+        
+        public String tag;
+        
+        private INC_EDIT_LOG(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_INFO
+    {
+        CALL_INITIATED    ("CALL_INITIATED"),
+        CALL_TAKEN          ("CALL_TAKEN"),
+        TIME_IN_Q           ("TIME_IN_Q"), 
+        LAST_UPDATED        ("LAST_UPDATED");
+        
+        public String tag;
+        
+        private INC_INFO(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INC_TIMES
+    {
+        UNIT                ("UNIT"),
+        ALARM               ("ALARM"),
+        ASSIGNED            ("ASSIGNED"), 
+        ENROUTE             ("ENROUTE"),
+        STAGED              ("STAGED"),
+        ARRIVAL             ("ARRIVAL"),
+        ACCESS                  ("ACCESS"),
+        DEPART              ("DEPART"), 
+        AT_DEST             ("AT_DEST"),
+        STATUS_5            ("STATUS_5"),
+        AVAILABLE           ("AVAILABLE"),
+        RESP_NUM            ("RESP_NUM"),
+        
+        RING                    ("RING"),
+        IN_QUEUE                ("IN_QUEUE"),
+        ALL_AVAILABLE       ("ALL_AVAILABLE"),
+        CALL_CLOSED         ("CALL_CLOSED");
+        
+        public String tag;
+        
+        private INC_TIMES(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum CARDFILE
+    {
+        COASTAL_DIVISION_UNITS  ("Coastal Division Units"),
+        POLICE_SHERIFF_CORONER  ("Police/Sheriff/Coroner"),
+        COURTS                      ("Courts"),
+        PUBLIC_TRANSPORTATION   ("Public Transportation"),
+        GG_OTHER                        ("GG Other"),
+        MY_MISC                     ("MY Misc"),
+        SL_MISC                     ("SL Misc"),
+        VT_MISC                     ("VT Misc"),
+        CHP_OFFICES                 ("CHP Offices"),
+        STATE_AGENCIES_FACILITIES   ("State Agencies/Facilities"),
+        GOVERNMENT_OFFICIALS        ("Government Officials"),
+        FEDERAL_AGENCIES            ("Federal Agencies"),
+        RANCHES_LIVESTOCK           ("Ranches/Livestock"),
+        FIRE_EMS                        ("Fire/EMS"),
+        JAILS                           ("Jails"),
+        HOSPITALS_MED_CENTERS   ("Hospitals/Med Centers"),
+        TOW_COMPANIES               ("Tow Companies"),
+        CALTRANS                        ("CalTrans"),
+        COUNTY_ROADS                ("County Roads"),
+        UTILITIES                   ("Utilities"),
+        ANIMAL_CONTROL              ("Animal Control"),
+        AIRPORTS                        ("Airports"),
+        CREDIT_CARDS                ("Credit Cards"),
+        GG_CRISIS_SHELTERS      ("GG Crisis Shelters"),
+        RANGES                      ("Ranges"),
+        HOTLINES                        ("Hotlines"),
+        HWY_PATROLS_OOS         ("Hwy Patrols OOS"),
+        PARKS_RECREATION            ("Parks/Recreation"),
+        SHELTERS                        ("Shelters"),
+        SL_COUNTY_SERVICES      ("SL County Services"),
+        SL_RESOURCES                ("SL Resources"),
+        TRUCK_TIRE_REPAIR           ("Truck/Tire Repair"),
+        MCC_EMPLOYEES               ("MCC Employees"),
+        GATE_ACCESS_CODES           ("Gate Access Codes"),
+        VT_CALL_SIGNS               ("VT Call Signs"),
+        SLCC_EMPLOYEES              ("SLCC Employees");
+        
+        public String tag;
+        
+        private CARDFILE(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public enum EditCommand{
+         OBJECT_ADD,
+         OBJECT_DELETE,
+         TABLE_ADD,
+         TABLE_DELETE,
+         NAME,
+         ADDRESS,
+         CITY,
+         STATE,
+         ZIP,
+         PHONE1,
+         PHONE2,
+         FAX,
+     }
+}
Index: trunk/src/tmcsim/client/cadclientgui/enums/CADScriptTags.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/enums/CADScriptTags.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/enums/CADScriptTags.java	(revision 3)
@@ -0,0 +1,158 @@
+package tmcsim.client.cadclientgui.enums;
+
+public class CADScriptTags {
+
+    public static enum SCRIPT_LEVEL_TAGS 
+    {
+        TMC_SCRIPT         ("TMC_SCRIPT"),
+        SCRIPT_DATA        ("SCRIPT_DATA"),
+        CAD_DATA           ("CAD_DATA"),
+        SCRIPT_EVENT       ("SCRIPT_EVENT"),
+        NEW_UNIT            ("NEW_UNIT"),
+        HEADER_INFO         ("HEADER_INFO"),
+        LOCATION_INFO       ("LOCATION_INFO"),
+        CAD_INCIDENT_EVENT  ("CAD_INCIDENT_EVENT"), 
+        PARAMICS            ("PARAMICS");
+        
+        public String tag;
+        
+        private SCRIPT_LEVEL_TAGS(String t) {
+            tag = t;
+        }
+    }
+    
+    public static enum UNIT_TAGS
+    {
+        UNIT_NUM       ("UnitNum"),
+        ID             ("ID"),
+        MASTER_INC_NUM ("MASTER_INC_NUM"),
+        STATUS         ("STATUS"),
+        OOS            ("OOS"),
+        TYPE           ("TYPE"),
+        CURR_LOC       ("CURR_LOC"),
+        DESTINATION    ("DESTINATION"),
+        MISC_INFO      ("MISC_INFO"),
+        STACK          ("STACK"),
+        AREA           ("AREA"),
+        OFFICER        ("OFFICER"),
+        BADGE_NUM      ("BADGE_NUM"),
+        TIMER          ("TIMER"),
+        OFFICE         ("OFFICE"),
+        P              ("P"),
+        AGY            ("AGY"),
+        ALIAS          ("ALIAS"),
+        UNIT_STATUS    ("UNIT_STATUS");
+        
+        
+        public String tag;
+        
+        private UNIT_TAGS(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum SCRIPT_EVENT_TAGS
+    {
+        TIME_INDEX     ("TIME_INDEX"), 
+        INCIDENT       ("INCIDENT"), 
+        LOG_NUMBER     ("LogNum"),
+        LOCATION_INFO  ("LOCATION_INFO"),
+        ASSIGN         ("ASSIGN"),
+        UNIT_NUM       ("UnitNum"),
+        CAD_DATA       ("CAD_DATA");
+        
+        public String tag;
+        
+        private SCRIPT_EVENT_TAGS(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum CAD_DATA_TAGS
+    {
+        MASTER_INC_NUM    ("MASTER_INC_NUM"),
+        LOCATION    ("LOCATION"),
+        CALLER     ("CALLER"), 
+        PROBLEM       ("PROBLEM"), 
+        GENERAL  ("GENERAL"),
+        RESPONSE   ("RESPONSE"),
+        ADDITIONAL_INFO  ("ADDITIONAL_INFO"),
+        ACTIVITIES     ("ACTIVITIES"),
+        CALL_BACKS    ("CALL_BACKS"),
+        EDIT_LOG      ("EDIT_LOG"),
+        INFO        ("INFO"),
+        TIMES       ("TIMES"),
+        TRANSPORT_INFO  ("TRANSPORT_INFO"),
+        USER_DATA    ("USER_DATA"),
+        ATTACHMENTS   ("ATTACHMENTS"),
+        RP  ("RP"),
+        ALI ("ALI"),
+        RP_TYPE ("RP_TYPE"),
+        PRI ("PRI"),
+        MEDIA   ("MEDIA"),
+        TYPE_CODE ("TYPE_CODE"), 
+        P   ("P");
+        
+        
+        public String tag;
+        
+        private CAD_DATA_TAGS(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum INCIDENT_LOCATION_TAGS
+    {
+        ADDRESS       ("ADDRESS"),
+        LOC           ("LOC"),
+        CITY          ("CITY"),
+        COUNTY        ("COUNTY"),
+        STATE         ("STATE"),
+        ZIP           ("ZIP"),
+        BEAT          ("BEAT"),
+        AREA          ("AREA"),
+        SECTOR        ("SECTOR"),
+        SECTOR_CODE   ("SECTOR_CODE"),
+        DIVISION      ("DIVISION"),
+        APT           ("APT"),
+        BUILDING      ("BUILDING"),
+        CROSS_STREET  ("CROSS_STREET"),
+        LAW           ("LAW"),
+        FIRE              ("FIRE"),
+        EMS           ("EMS");
+        
+        public String tag;
+        
+        private INCIDENT_LOCATION_TAGS(String t)
+        {
+            tag = t;
+        }
+    }
+    
+    public static enum CARDFILE_TAGS
+    {
+        CARDFILE            ("CARDFILE"),
+        TAB             ("TAB"),
+        TITLE               ("title"),//this is lowercase on purpose to match XML
+        CARDFILE_OBJ    ("CARDFILE_OBJ"),
+        NAME                ("name"),
+        ADDRESS         ("ADDRESS"),
+        CITY                ("CITY"),
+        STATE               ("STATE"),
+        ZIP             ("ZIP"),
+        PHONE1          ("PHONE1"),
+        PHONE2          ("PHONE2"),
+        FAX             ("FAX");
+        
+        public String tag;
+        
+        private CARDFILE_TAGS(String t)
+        {
+            tag = t;
+        }
+    }
+    
+}
Index: trunk/src/tmcsim/client/cadclientgui/enums/UnitStatusEnums.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/enums/UnitStatusEnums.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/enums/UnitStatusEnums.java	(revision 3)
@@ -0,0 +1,9 @@
+package tmcsim.client.cadclientgui.enums;
+
+public enum UnitStatusEnums {
+
+    Assignable, // green
+    Arrived, //yellow
+    NotAssignable, //grey
+    Enroute, //LightBlue
+}
Index: trunk/src/tmcsim/client/cadclientgui/enums/TableHeaders.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/enums/TableHeaders.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/enums/TableHeaders.java	(revision 3)
@@ -0,0 +1,22 @@
+package tmcsim.client.cadclientgui.enums;
+
+public class TableHeaders {
+    
+    public static final String[] ASSIGNED_INCIDENTS_HEADERS = { "ID", "Master Inc #",
+            "Alerts    (Hub 2)", "Primary", "Unit/s", "Type", "Address",
+            "Location", "Beat", "Area", "OAU", "Time", "Log Time", "Type Code",
+            "P", "AGY" };
+
+    public static final String[] UNIT_STATUS_HEADERS = { "ID", "Master Inc #",
+            "Unit", "Status", "OOS", "Type", "Current Location", "Destination",
+            "Misc", "Stack", "Area", "Badge Number", "Officer", "Timer",
+            "Office", "P" };
+
+    public static final String[] PENDING_INCIDENTS_HEADERS = { "ID", "Master Inc #",
+            "Alerts    (Hub 2)", "P", "Type", "Address", "Location", "City",
+            "Beat", "Area", "OAU", "Timer", "Log Time", "Type Code", "AGY" };
+
+    public static final String[] INCIDENT_EDITOR_HEADERS = { "Date", "Type",
+            "Address", "Location", "City", "Incident #", "CC", "Area", "Units",
+            "Dispo" };
+}
Index: trunk/src/tmcsim/client/cadclientgui/enums/ComboBoxConstants.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/enums/ComboBoxConstants.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/enums/ComboBoxConstants.java	(revision 3)
@@ -0,0 +1,261 @@
+package tmcsim.client.cadclientgui.enums;
+
+public class ComboBoxConstants {
+
+    public static final String[] AGENCY = {"CHP"};
+    
+    public static final String[] MEDIA = { " ", "BLOCK"};
+    
+    public static final String[] PRI = { "0", "1", "2", "3", "4", "5", "6", "7", "8" };
+    
+    public static final String[] RP_TYPE = { "", "Allied Agency", "Anonmymous",
+            "Cal Trans", "Freeway Service Patrol", "Involved Party",
+            "Passing Motorist", "Victim", "Witness"};
+    
+    public static final String[] TYPE = { "", "1031", "1179", "BOL", "INFO"};
+    
+    public static final String[] BEATS = { "", "9-9", "9-22", "14-13", "14-14", "17-14", "28-24"};
+    
+    public static final String[] LIST_OF_CA_CITIES = { "", "ACTON", "ADELANTO", "AGOURA HILLS",
+            "ALAMEDA", "ALAMO", "ALBANY", "ALHAMBRA", "ALISO VIEJO", "ALMANOR",
+            "ALONDRA PARK", "ALPAUGH", "ALPINE", "ALPINE VILLAGE", "ALTADENA",
+            "ALTA SIERRA", "ALTURAS", "ALUM ROCK", "AMADOR CITY",
+            "AMERICAN CANYON", "AMESTI", "ANAHEIM", "ANDERSON", "ANGELS CITY",
+            "ANGWIN", "ANTIOCH", "APPLE VALLEY", "APTOS",
+            "APTOS HILLS-LARKIN VALLEY", "ARBUCKLE", "ARCADIA", "ARCATA",
+            "ARDEN-ARCADE", "ARMONA", "ARNOLD", "AROMAS", "ARROYO GRANDE",
+            "ARTESIA", "ARVIN", "ASHLAND", "ATASCADERO", "ATHERTON", "ATWATER",
+            "AUBERRY", "AUBURN", "AUGUST", "AVALON", "AVENAL", "AVERY",
+            "AVOCADO HEIGHTS", "AZUSA", "BAKERSFIELD", "BALDWIN PARK", "BANNING",
+            "BARSTOW", "BAY POINT", "BAYVIEW", "BAYVIEW-MONTALVIN",
+            "BAYWOOD-LOS OSOS", "BEALE AFB", "BEAR VALLEY", "BEAR VALLEY SPRINGS",
+            "BEAUMONT", "BECKWOURTH", "BELDEN", "BELL", "BELLFLOWER",
+            "BELL GARDENS", "BELMONT", "BELVEDERE", "BENICIA", "BEN LOMOND",
+            "BERKELEY", "BERMUDA DUNES", "BERTSCH-OCEANVIEW", "BETHEL ISLAND",
+            "BEVERLY HILLS", "BIG BEAR CITY", "BIG BEAR LAKE", "BIG BEND",
+            "BIGGS", "BIG PINE", "BIG RIVER", "BIOLA", "BISHOP",
+            "BLACKHAWK-CAMINO TASSAJARA", "BLACK POINT-GREEN POINT", "BLAIRSDEN",
+            "BLOOMINGTON", "BLUE LAKE", "BLUEWATER", "BLYTHE", "BODEGA BAY",
+            "BODFISH", "BOLINAS", "BOMBAY BEACH",
+            "BONADELLE RANCHOS-MADERA RANCHOS", "BONITA", "BONSALL", "BOOTJACK",
+            "BORON", "BORONDA", "BORREGO SPRINGS", "BOSTONIA", "BOULDER CREEK",
+            "BOWLES", "BOYES HOT SPRINGS", "BRADBURY", "BRADLEY", "BRAWLEY",
+            "BREA", "BRENTWOOD", "BRET HARTE", "BRISBANE", "BROADMOOR",
+            "BUCKS LAKE", "BUELLTON", "BUENA PARK", "BUENA VISTA", "BURBANK",
+            "BURBANK", "BURLINGAME", "BURNEY", "BUTTONWILLOW", "BYRON", "BYSTROM",
+            "CABAZON", "CALABASAS", "CALEXICO", "CALIFORNIA CITY", "CALIMESA",
+            "CALIPATRIA", "CALISTOGA", "CALWA", "CAMARILLO", "CAMBRIA",
+            "CAMBRIAN PARK", "CAMERON PARK", "CAMPBELL", "CAMP PENDLETON NORTH",
+            "CAMP PENDLETON SOUTH", "CANTUA CREEK", "CANYONDAM", "CANYON LAKE",
+            "CAPITOLA", "CARIBOU", "CARLSBAD", "CARMEL-BY-THE-SEA",
+            "CARMEL VALLEY VILLAGE", "CARMICHAEL", "CARPINTERIA", "CARRICK",
+            "CARSON", "CARTAGO", "CARUTHERS", "CASA CONEJO",
+            "CASA DE ORO-MOUNT HELIX", "CASTRO VALLEY", "CASTROVILLE",
+            "CATHEDRAL CITY", "CAYUCOS", "CERES", "CERRITOS",
+            "CHALLENGE-BROWNSVILLE", "CHANNEL ISLANDS BEACH", "CHARTER OAK",
+            "CHERRYLAND", "CHERRY VALLEY", "CHESTER", "CHICO", "CHILCOOT-VINTON",
+            "CHINA LAKE ACRES", "CHINESE CAMP", "CHINO", "CHINO HILLS",
+            "CHOWCHILLA", "CHUALAR", "CHULA VISTA", "CITRUS", "CITRUS HEIGHTS",
+            "CLAREMONT", "CLAYTON", "CLEARLAKE", "CLEARLAKE OAKS", "CLIO",
+            "CLOVERDALE", "CLOVIS", "CLYDE", "COACHELLA", "COALINGA", "COBB",
+            "COLFAX", "COLMA", "COLTON", "COLUMBIA", "COLUSA", "COMMERCE",
+            "COMPTON", "CONCORD", "CONCOW", "COPPEROPOLIS", "CORCORAN", "CORNING",
+            "CORONA", "CORONADO", "CORRALITOS", "CORTE MADERA", "COSTA MESA",
+            "COTATI", "COTO DE CAZA", "COTTONWOOD", "COUNTRY CLUB", "COVELO",
+            "COVINA", "CRESCENT CITY", "CRESCENT CITY NORTH", "CRESCENT MILLS",
+            "CREST", "CRESTLINE", "C-ROAD", "CROCKETT", "CROMBERG", "CUDAHY",
+            "CULVER CITY", "CUPERTINO", "CUTLER", "CUTTEN", "CYPRESS",
+            "DALY CITY", "DANA POINT", "DANVILLE", "DARWIN", "DAVIS",
+            "DAY VALLEY", "DEER PARK", "DEL AIRE", "DELANO", "DELHI", "DELLEKER",
+            "DEL MAR", "DEL MONTE FOREST", "DEL REY", "DEL REY OAKS", "DEL RIO",
+            "DENAIR", "DERBY ACRES", "DESERT HOT SPRINGS", "DESERT SHORES",
+            "DESERT VIEW HIGHLANDS", "DIABLO", "DIAMOND BAR", "DIAMOND SPRINGS",
+            "DILLON BEACH", "DINUBA", "DISCOVERY BAY", "DIXON",
+            "DIXON LANE-MEADOW CREEK", "DOLLAR POINT", "DORRINGTON", "DORRIS",
+            "DOS PALOS", "DOWNEY", "DUARTE", "DUBLIN", "DUCOR", "DUNSMUIR",
+            "DURHAM", "DUSTIN ACRES", "EARLIMART", "EAST BLYTHE", "EAST COMPTON",
+            "EAST FOOTHILLS", "EAST HEMET", "EAST LA MIRADA", "EAST LOS ANGELES",
+            "EAST OAKDALE", "EASTON", "EAST OROSI", "EAST PALO ALTO",
+            "EAST PASADENA", "EAST PORTERVILLE", "EAST QUINCY",
+            "EAST RICHMOND HEIGHTS", "EAST SAN GABRIEL", "EAST SHORE",
+            "EAST SONORA", "EDGEWOOD", "EDWARDS AFB", "EL CAJON", "EL CENTRO",
+            "EL CERRITO", "EL CERRITO", "EL DORADO HILLS", "ELDRIDGE",
+            "EL GRANADA", "ELK GROVE", "ELKHORN", "ELMIRA", "EL MONTE",
+            "EL PASO DE ROBLES (PASO ROBLES)", "EL RIO", "EL SEGUNDO",
+            "EL SOBRANTE", "EL VERANO", "EMERALD LAKE HILLS", "EMERYVILLE",
+            "EMPIRE", "ENCINITAS", "ESCALON", "ESCONDIDO", "ESPARTO", "ETNA",
+            "EUREKA", "EXETER", "FAIRBANKS RANCH", "FAIRFAX", "FAIRFIELD",
+            "FAIR OAKS", "FAIRVIEW", "FALLBROOK", "FALL RIVER MILLS",
+            "FARMERSVILLE", "FARMINGTON", "FELLOWS", "FELTON", "FERNDALE",
+            "FETTERS HOT SPRINGS-AGUA CALIENTE", "FILLMORE", "FIREBAUGH",
+            "FLORENCE-GRAHAM", "FLORIN", "FOLSOM", "FONTANA", "FOOTHILL FARMS",
+            "FOOTHILL RANCH", "FORD CITY", "FORESTHILL", "FOREST MEADOWS",
+            "FORESTVILLE", "FORT BRAGG", "FORT JONES", "FORTUNA", "FOSTER CITY",
+            "FOUNTAIN VALLEY", "FOWLER", "FRAZIER PARK", "FREEDOM", "FREMONT",
+            "FRENCH CAMP", "FRENCH GULCH", "FRESNO", "FRIANT", "FRUITDALE",
+            "FULLERTON", "FURNACE CREEK", "GALT", "GARDENA", "GARDEN ACRES",
+            "GARDEN GROVE", "GAZELLE", "GEORGETOWN", "GERBER-LAS FLORES",
+            "GILROY", "GLEN AVON", "GLENDALE", "GLENDORA", "GLEN ELLEN",
+            "GOLDEN HILLS", "GOLD RIVER", "GOLETA", "GONZALES", "GOSHEN",
+            "GRAEAGLE", "GRAND TERRACE", "GRANITE BAY", "GRANITE HILLS",
+            "GRASS VALLEY", "GRATON", "GRAYSON", "GREENFIELD", "GREENHORN",
+            "GREEN VALLEY", "GREENVIEW", "GREENVILLE", "GRENADA", "GRIDLEY",
+            "GROVELAND-BIG OAK FLAT", "GROVER BEACH", "GUADALUPE", "GUERNEVILLE",
+            "GUSTINE", "HACIENDA HEIGHTS", "HALF MOON BAY", "HAMILTON BRANCH",
+            "HAMILTON CITY", "HANFORD", "HARBISON CANYON", "HAWAIIAN GARDENS",
+            "HAWTHORNE", "HAYFORK", "HAYWARD", "HEALDSBURG", "HEBER", "HEMET",
+            "HERCULES", "HERMOSA BEACH", "HESPERIA", "HICKMAN", "HIDDEN HILLS",
+            "HIDDEN MEADOWS", "HIDDEN VALLEY LAKE", "HIGHGROVE", "HIGHLAND",
+            "HIGHLANDS-BAYWOOD PARK", "HILLSBOROUGH", "HILMAR-IRWIN", "HOLLISTER",
+            "HOLTVILLE", "HOME GARDEN", "HOME GARDENS", "HOMELAND",
+            "HOMEWOOD CANYON-VALLEY WELLS", "HORNBROOK", "HUGHSON",
+            "HUMBOLDT HILL", "HUNTINGTON BEACH", "HUNTINGTON PARK", "HURON",
+            "HYDESVILLE", "IDYLLWILD-PINE COVE", "IMPERIAL", "IMPERIAL BEACH",
+            "INDEPENDENCE", "INDIAN FALLS", "INDIAN WELLS", "INDIO", "INDUSTRY",
+            "INGLEWOOD", "INTERLAKEN", "INVERNESS", "INYOKERN", "IONE",
+            "IRON HORSE", "IRVINE", "IRWINDALE", "ISLA VISTA", "ISLETON",
+            "IVANHOE", "JACKSON", "JAMESTOWN", "JAMUL", "JOHANNESBURG",
+            "JOHNSVILLE", "JOSHUA TREE", "JULIAN", "KEDDIE", "KEELER", "KEENE",
+            "KELSEYVILLE", "KENNEDY", "KENSINGTON", "KENTFIELD", "KERMAN",
+            "KERNVILLE", "KETTLEMAN CITY", "KEYES", "KING CITY", "KINGS BEACH",
+            "KINGSBURG", "KIRKWOOD", "KLAMATH", "KNIGHTSEN",
+            "LA CANADA FLINTRIDGE", "LA CRESCENTA-MONTROSE", "LADERA HEIGHTS",
+            "LAFAYETTE", "LAGUNA", "LAGUNA BEACH", "LAGUNA HILLS",
+            "LAGUNA NIGUEL", "LAGUNA WEST-LAKESIDE", "LAGUNA WOODS",
+            "LAGUNITAS-FOREST KNOLLS", "LA HABRA", "LA HABRA HEIGHTS",
+            "LAKE ALMANOR COUNTRY CLUB", "LAKE ALMANOR PENINSULA",
+            "LAKE ALMANOR WEST", "LAKE ARROWHEAD", "LAKE DAVIS", "LAKE ELSINORE",
+            "LAKE FOREST", "LAKEHEAD-LAKESHORE", "LAKE ISABELLA",
+            "LAKELAND VILLAGE", "LAKE LOS ANGELES", "LAKE NACIMIENTO",
+            "LAKE OF THE PINES", "LAKE OF THE WOODS", "LAKEPORT",
+            "LAKE SAN MARCOS", "LAKESIDE", "LAKEVIEW", "LAKE WILDWOOD",
+            "LAKEWOOD", "LA MESA", "LA MIRADA", "LAMONT", "LANARE", "LANCASTER",
+            "LA PALMA", "LA PORTE", "LA PRESA", "LA PUENTE", "LA QUINTA",
+            "LA RIVIERA", "LARKFIELD-WIKIUP", "LARKSPUR", "LAS FLORES",
+            "LAS LOMAS", "LATHROP", "LATON", "LA VERNE", "LAWNDALE",
+            "LAYTONVILLE", "LEBEC", "LE GRAND", "LEMON COVE", "LEMON GROVE",
+            "LEMOORE", "LEMOORE STATION", "LENNOX", "LENWOOD", "LEWISTON",
+            "LEXINGTON HILLS", "LINCOLN", "LINCOLN VILLAGE", "LINDA", "LINDEN",
+            "LINDSAY", "LITTLE GRASS VALLEY", "LITTLEROCK", "LIVE OAK",
+            "LIVE OAK", "LIVERMORE", "LIVINGSTON", "LOCKEFORD", "LODI",
+            "LOMA LINDA", "LOMA RICA", "LOMITA", "LOMPOC", "LONDON", "LONE PINE",
+            "LONG BEACH", "LOOMIS", "LOS ALAMITOS", "LOS ALAMOS", "LOS ALTOS",
+            "LOS ALTOS HILLS", "LOS ANGELES", "LOS BANOS", "LOS GATOS",
+            "LOS MOLINOS", "LOST HILLS", "LOWER LAKE", "LOYALTON", "LOYOLA",
+            "LUCAS VALLEY-MARINWOOD", "LUCERNE", "LYNWOOD", "MCARTHUR", "MCCLOUD",
+            "MACDOEL", "MCFARLAND", "MCKINLEYVILLE", "MCKITTRICK", "MADERA",
+            "MADERA ACRES", "MAGALIA", "MALIBU", "MAMMOTH LAKES",
+            "MANHATTAN BEACH", "MANTECA", "MANTON", "MARCH AFB", "MARICOPA",
+            "MARINA", "MARINA DEL REY", "MARIPOSA", "MARKLEEVILLE", "MARTINEZ",
+            "MARYSVILLE", "MAYFLOWER VILLAGE", "MAYWOOD", "MEADOW VALLEY",
+            "MEADOW VISTA", "MECCA", "MEINERS OAKS", "MENDOCINO", "MENDOTA",
+            "MENLO PARK", "MENTONE", "MERCED", "MESA", "MESA VISTA", "METTLER",
+            "MIDDLETOWN", "MILLBRAE", "MILL VALLEY", "MILLVILLE", "MILPITAS",
+            "MINERAL", "MIRA LOMA", "MIRA MONTE", "MISSION CANYON",
+            "MISSION HILLS", "MISSION VIEJO", "MI-WUK VILLAGE", "MODESTO",
+            "MOHAWK VISTA", "MOJAVE", "MOKELUMNE HILL", "MONO VISTA", "MONROVIA",
+            "MONTAGUE", "MONTARA", "MONTCLAIR", "MONTEBELLO", "MONTECITO",
+            "MONTEREY", "MONTEREY PARK", "MONTE RIO", "MONTE SERENO",
+            "MONTGOMERY CREEK", "MOORPARK", "MORADA", "MORAGA", "MORENO VALLEY",
+            "MORGAN HILL", "MORONGO VALLEY", "MORRO BAY", "MOSS BEACH",
+            "MOSS LANDING", "MOUNTAIN MESA", "MOUNTAIN RANCH", "MOUNTAIN VIEW",
+            "MOUNTAIN VIEW", "MOUNTAIN VIEW ACRES", "MOUNT HEBRON",
+            "MOUNT SHASTA", "MUIR BEACH", "MURPHYS", "MURRIETA",
+            "MURRIETA HOT SPRINGS", "MUSCOY", "MYRTLETOWN", "NAPA",
+            "NATIONAL CITY", "NEBO CENTER", "NEEDLES", "NEVADA CITY", "NEWARK",
+            "NEWMAN", "NEWPORT BEACH", "NEWPORT COAST", "NICE", "NILAND",
+            "NIPOMO", "NORCO", "NORTH AUBURN", "NORTH EDWARDS", "NORTH EL MONTE",
+            "NORTH FAIR OAKS", "NORTH HIGHLANDS", "NORTH LAKEPORT",
+            "NORTH WOODBRIDGE", "NORWALK", "NOVATO", "NUEVO", "OAKDALE",
+            "OAKHURST", "OAKLAND", "OAKLEY", "OAK PARK", "OAK VIEW", "OCCIDENTAL",
+            "OCEANO", "OCEANSIDE", "OCOTILLO", "OILDALE", "OJAI", "OLANCHA",
+            "OLIVEHURST", "ONTARIO", "ONYX", "OPAL CLIFFS", "ORANGE",
+            "ORANGE COVE", "ORANGEVALE", "ORCUTT", "ORINDA", "ORLAND", "OROSI",
+            "OROVILLE", "OROVILLE EAST", "OXNARD", "PACHECO", "PACIFICA",
+            "PACIFIC GROVE", "PAJARO", "PALERMO", "PALMDALE", "PALM DESERT",
+            "PALM SPRINGS", "PALO ALTO", "PALO CEDRO", "PALOS VERDES ESTATES",
+            "PALO VERDE", "PARADISE", "PARAMOUNT", "PARKSDALE",
+            "PARKWAY-SOUTH SACRAMENTO", "PARKWOOD", "PARLIER", "PASADENA",
+            "PATTERSON", "PAXTON", "PEARSONVILLE", "PEDLEY", "PENN VALLEY",
+            "PERRIS", "PETALUMA", "PHOENIX LAKE-CEDAR RIDGE", "PICO RIVERA",
+            "PIEDMONT", "PINE HILLS", "PINE MOUNTAIN CLUB", "PINE VALLEY",
+            "PINOLE", "PIRU", "PISMO BEACH", "PITTSBURG", "PIXLEY", "PLACENTIA",
+            "PLACERVILLE", "PLANADA", "PLEASANT HILL", "PLEASANTON",
+            "PLUMAS EUREKA", "PLYMOUTH", "POINT ARENA", "POINT REYES STATION",
+            "POLLOCK PINES", "POMONA", "POPLAR-COTTON CENTER", "PORT COSTA",
+            "PORTERVILLE", "PORT HUENEME", "PORTOLA", "PORTOLA HILLS",
+            "PORTOLA VALLEY", "POWAY", "PRATTVILLE", "PRUNEDALE", "QUAIL VALLEY",
+            "QUARTZ HILL", "QUINCY", "RAIL ROAD FLAT", "RAINBOW", "RAISIN CITY",
+            "RAMONA", "RANCHO CALAVERAS", "RANCHO CORDOVA", "RANCHO CUCAMONGA",
+            "RANCHO MIRAGE", "RANCHO MURIETA", "RANCHO PALOS VERDES",
+            "RANCHO SAN DIEGO", "RANCHO SANTA FE", "RANCHO SANTA MARGARITA",
+            "RANCHO TEHAMA RESERVE", "RANDSBURG", "RED BLUFF", "REDDING",
+            "REDLANDS", "REDONDO BEACH", "REDWAY", "REDWOOD CITY", "REEDLEY",
+            "RIALTO", "RICHGROVE", "RICHMOND", "RIDGECREST", "RIDGEMARK",
+            "RIO DELL", "RIO DEL MAR", "RIO LINDA", "RIO VISTA", "RIPON",
+            "RIVERBANK", "RIVERDALE", "RIVERDALE PARK", "RIVERSIDE", "ROCKLIN",
+            "RODEO", "ROHNERT PARK", "ROLLING HILLS", "ROLLING HILLS ESTATES",
+            "ROLLINGWOOD", "ROMOLAND", "ROSAMOND", "ROSEDALE", "ROSELAND",
+            "ROSEMEAD", "ROSEMONT", "ROSEVILLE", "ROSS", "ROSSMOOR",
+            "ROUND MOUNTAIN", "ROUND VALLEY", "ROWLAND HEIGHTS", "RUBIDOUX",
+            "RUNNING SPRINGS", "SACRAMENTO", "ST. HELENA", "SALIDA", "SALINAS",
+            "SALTON CITY", "SALTON SEA BEACH", "SAN ANDREAS", "SAN ANSELMO",
+            "SAN ANTONIO HEIGHTS", "SAN ARDO", "SAN BERNARDINO", "SAN BRUNO",
+            "SAN BUENAVENTURA (VENTURA)", "SAN CARLOS", "SAN CLEMENTE",
+            "SAND CITY", "SAN DIEGO", "SAN DIEGO COUNTRY ESTATES", "SAN DIMAS",
+            "SAN FERNANDO", "SAN FRANCISCO", "SAN GABRIEL", "SANGER",
+            "SAN GERONIMO", "SAN JACINTO", "SAN JOAQUIN", "SAN JOAQUIN HILLS",
+            "SAN JOSE", "SAN JUAN BAUTISTA", "SAN JUAN CAPISTRANO", "SAN LEANDRO",
+            "SAN LORENZO", "SAN LUCAS", "SAN LUIS OBISPO", "SAN MARCOS",
+            "SAN MARINO", "SAN MARTIN", "SAN MATEO", "SAN MIGUEL", "SAN PABLO",
+            "SAN RAFAEL", "SAN RAMON", "SANTA ANA", "SANTA BARBARA",
+            "SANTA CLARA", "SANTA CLARITA", "SANTA CRUZ", "SANTA FE SPRINGS",
+            "SANTA MARIA", "SANTA MONICA", "SANTA PAULA", "SANTA ROSA",
+            "SANTA VENETIA", "SANTA YNEZ", "SANTEE", "SARATOGA", "SAUSALITO",
+            "SCOTTS VALLEY", "SEAL BEACH", "SEARLES VALLEY", "SEASIDE",
+            "SEBASTOPOL", "SEDCO HILLS", "SEELEY", "SELMA", "SEVEN TREES",
+            "SHACKELFORD", "SHAFTER", "SHANDON", "SHASTA LAKE", "SHAVER LAKE",
+            "SHINGLE SPRINGS", "SHINGLETOWN", "SHOSHONE", "SIERRA MADRE",
+            "SIGNAL HILL", "SIMI VALLEY", "SOLANA BEACH", "SOLEDAD", "SOLVANG",
+            "SONOMA", "SONORA", "SOQUEL", "SOULSBYVILLE", "SOUTH DOS PALOS",
+            "SOUTH EL MONTE", "SOUTH GATE", "SOUTH LAKE TAHOE", "SOUTH OROVILLE",
+            "SOUTH PASADENA", "SOUTH SAN FRANCISCO", "SOUTH SAN GABRIEL",
+            "SOUTH SAN JOSE HILLS", "SOUTH TAFT", "SOUTH WHITTIER",
+            "SOUTH WOODBRIDGE", "SOUTH YUBA CITY", "SPRECKELS", "SPRING GARDEN",
+            "SPRING VALLEY", "SPRINGVILLE", "SQUAW VALLEY",
+            "SQUIRREL MOUNTAIN VALLEY", "STALLION SPRINGS", "STANFORD", "STANTON",
+            "STINSON BEACH", "STOCKTON", "STORRIE", "STRATFORD", "STRATHMORE",
+            "STRAWBERRY", "SUISUN CITY", "SUMMERLAND", "SUN CITY",
+            "SUNNYSIDE-TAHOE CITY", "SUNNYSLOPE", "SUNNYVALE", "SUNOL",
+            "SUNOL-MIDTOWN", "SUSANVILLE", "SUTTER", "SUTTER CREEK", "TAFT",
+            "TAFT HEIGHTS", "TAFT MOSSWOOD", "TAHOE VISTA", "TALMAGE",
+            "TAMALPAIS-HOMESTEAD VALLEY", "TARA HILLS", "TAYLORSVILLE", "TECOPA",
+            "TEHACHAPI", "TEHAMA", "TEMECULA", "TEMELEC", "TEMPLE CITY",
+            "TEMPLETON", "TENNANT", "TERRA BELLA", "THERMALITO", "THOUSAND OAKS",
+            "THOUSAND PALMS", "THREE RIVERS", "TIBURON", "TIERRA BUENA", "TIPTON",
+            "TOBIN", "TOMALES", "TORO CANYON", "TORRANCE", "TRACY",
+            "TRANQUILLITY", "TRAVER", "TRINIDAD", "TRUCKEE", "TULARE", "TULELAKE",
+            "TUOLUMNE CITY", "TUPMAN", "TURLOCK", "TUSTIN", "TUSTIN FOOTHILLS",
+            "TWAIN", "TWAIN HARTE", "TWENTYNINE PALMS", "TWENTYNINE PALMS BASE",
+            "TWIN LAKES", "UKIAH", "UNION CITY", "UPLAND", "UPPER LAKE",
+            "VACAVILLE", "VALINDA", "VALLECITO", "VALLEJO", "VALLE VISTA",
+            "VALLEY ACRES", "VALLEY CENTER", "VALLEY RANCH", "VALLEY SPRINGS",
+            "VAL VERDE", "VANDENBERG AFB", "VANDENBERG VILLAGE", "VERNON",
+            "VICTORVILLE", "VIEW PARK-WINDSOR HILLS", "VILLA PARK", "VINCENT",
+            "VINE HILL", "VINEYARD", "VISALIA", "VISTA", "WALDON", "WALLACE",
+            "WALNUT", "WALNUT CREEK", "WALNUT GROVE", "WALNUT PARK", "WASCO",
+            "WATERFORD", "WATSONVILLE", "WEAVERVILLE", "WEED", "WEEDPATCH",
+            "WELDON", "WEST ATHENS", "WEST BISHOP", "WEST CARSON", "WEST COMPTON",
+            "WEST COVINA", "WESTHAVEN-MOONSTONE", "WEST HOLLYWOOD",
+            "WESTLAKE VILLAGE", "WESTLEY", "WEST MENLO PARK", "WESTMINSTER",
+            "WEST MODESTO", "WESTMONT", "WESTMORLAND", "WEST POINT",
+            "WEST PUENTE VALLEY", "WEST SACRAMENTO", "WEST WHITTIER-LOS NIETOS",
+            "WESTWOOD", "WHEATLAND", "WHITEHAWK", "WHITTIER", "WILDOMAR",
+            "WILKERSON", "WILLIAMS", "WILLITS", "WILLOWBROOK", "WILLOW CREEK",
+            "WILLOWS", "WILTON", "WINCHESTER", "WINDSOR", "WINTER GARDENS",
+            "WINTERHAVEN", "WINTERS", "WINTON", "WOFFORD HEIGHTS", "WOODACRE",
+            "WOODCREST", "WOODLAKE", "WOODLAND", "WOODSIDE", "WOODVILLE",
+            "WRIGHTWOOD", "YORBA LINDA", "YOSEMITE LAKES", "YOSEMITE VALLEY",
+            "YOUNTVILLE", "YREKA", "YUBA CITY", "YUCAIPA", "YUCCA VALLEY" };
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/enums/IncidentEnums.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/enums/IncidentEnums.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/enums/IncidentEnums.java	(revision 3)
@@ -0,0 +1,9 @@
+package tmcsim.client.cadclientgui.enums;
+
+public enum IncidentEnums {
+
+    Not_Started,
+    Pending,
+    Assigned,
+    Closed,
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentVehicle.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentVehicle.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentVehicle.java	(revision 3)
@@ -0,0 +1,90 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+import java.util.LinkedList;
+
+import javax.swing.table.DefaultTableModel;
+
+/**
+ * NOTE THIS CLASS IS CURRENTLY UNUSED. This class is a
+ * further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentVehicle implements Serializable {
+
+    private LinkedList<String> plate;
+    private LinkedList<String> state;
+    private LinkedList<String> type;
+    private LinkedList<String> year;
+    private DefaultTableModel licenseTable;
+
+    private static enum RESPONSE_ENUMS {
+        PLATE("PLATE"), STATE("STATE"), TYPE("TYPE"), YEAR("YEAR");
+
+        public String tag;
+
+        private RESPONSE_ENUMS(String t) {
+            tag = t;
+        }
+    }
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentVehicle() {
+        plate = new LinkedList<String>();
+        state = new LinkedList<String>();
+        type = new LinkedList<String>();
+        year = new LinkedList<String>();
+        licenseTable = new DefaultTableModel();
+        licenseTable.setColumnIdentifiers(new String[] { "Plate", "State" });
+    }
+
+    public LinkedList<String> getPlate() {
+        return plate;
+    }
+
+    /*
+     * public void addPlate(String plate) { this.plate.add(plate); }
+     */
+
+    public LinkedList<String> getState() {
+        return state;
+    }
+
+    /*
+     * public void addState(String state) { this.state.add(state); }
+     */
+
+    public LinkedList<String> getType() {
+        return type;
+    }
+
+    /*
+     * public void addType(String type){ this.type.add(type); }
+     */
+
+    public LinkedList<String> getYear() {
+        return year;
+    }
+
+    /*
+     * public void addYear(String year){ this.year.add(year); }
+     */
+
+    public DefaultTableModel getLicenseTable() {
+        return licenseTable;
+    }
+
+    public void addVehicleInformation(String plate, String state, String type,
+            String year) {
+        this.plate.add(plate);
+        this.state.add(state);
+        this.type.add(type);
+        this.year.add(year);
+        licenseTable.addRow(new String[] { plate, state });
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/Incident.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/Incident.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/Incident.java	(revision 3)
@@ -0,0 +1,677 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.util.LinkedList;
+import java.util.TreeMap;
+import java.util.Vector;
+
+import java.io.Serializable;
+
+import javax.swing.ImageIcon;
+import javax.swing.table.DefaultTableModel;
+
+import tmcsim.cadmodels.IncidentEditLog;
+import tmcsim.cadmodels.IncidentInquiryHeader;
+import tmcsim.client.cadclientgui.data.IncidentEvent.EVENT_STATUS;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.CAD_DATA_TAGS;
+import tmcsim.client.cadclientgui.enums.IncidentEnums;
+import tmcsim.common.ParamicsLocation;
+
+/**
+ * This class holds for the data for an incident.
+ * 
+ * @author Vincent
+ * 
+ */
+public class Incident implements Serializable {
+    
+    public Integer logNum;
+    private String masterInc;
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_oau = "";
+    private String init_logTime = "";
+    private String init_p = "";
+    private String init_userData = "";
+    private String init_attachments = "";
+    private String init_rp = "";
+    private String init_ali = "";
+    private String init_rpType = "";
+    private String init_media = "";
+    
+    private ImageIcon alert;
+    private String oau;
+    private String logTime;
+    private String p;
+    private LinkedList<String> assignedUnitNums;
+    private String userData;
+    private String attachments;
+    private String rp;
+    private String ali;
+    private String rpType;
+    private String media;
+    private DefaultTableModel commentsNotesTable;
+    
+    private long startTime;
+    private long secondsIncidentStarted = 0;
+    private boolean incidentOccured = false;
+    public TreeMap<String, ParamicsLocation> locationMap;
+    private Vector<IncidentEvent> eventList = null;
+    public String description;
+    
+    private IncidentLocation incidentLocation;
+    private IncidentCaller incidentCaller;
+    private IncidentProblem problem;
+    private IncidentGeneralInfo genInfo;
+    private IncidentResponse response;
+    private IncidentAdditionalInfo additionalInfo;
+    private IncidentActivities activities;
+    private IncidentCallBacks callBacks;
+    private IncidentEditLog editLog;
+    private IncidentInfo info;
+    private IncidentTimes times;
+    private IncidentTransportInfo transpInfo;
+    private IncidentVehicle incidentVehicle;
+    private IncidentEnums status;
+
+    private Vector<Object> toTableVector;
+
+    public IncidentInquiryHeader header = new IncidentInquiryHeader();
+
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    /*public Incident(int logNum) {
+        masterInc = "";
+        alert = new ImageIcon("images/IncidentPanelsImages/blank.png");
+        oau = "";
+        p = "";
+        description = "";
+        incidentLocation = new IncidentLocation();
+        incidentCaller = new IncidentCaller();
+        problem = new IncidentProblem();
+        genInfo = new IncidentGeneralInfo();
+        assignedUnitNums = new LinkedList<String>();
+        response = new IncidentResponse();
+        additionalInfo = new IncidentAdditionalInfo();
+        activities = new IncidentActivities();
+        callBacks = new IncidentCallBacks();
+        editLog = new IncidentEditLog();
+        info = new IncidentInfo();
+        times = new IncidentTimes();
+        transpInfo = new IncidentTransportInfo();
+        incidentVehicle = new IncidentVehicle();
+        userData = "";
+        attachments = "";
+        status = IncidentEnums.Pending;
+        assignedUnitNums = new LinkedList<String>();
+        rp = "";
+        ali = "";
+        rpType = "";
+        media = "";
+        eventList = new Vector<IncidentEvent>();
+
+        toTableVector = new Vector<Object>();
+
+        commentsNotesTable = new DefaultTableModel() {
+            public boolean isCellEditable(int row, int column) {
+                return false;// This causes all cells to be not editable
+            }
+        };
+        commentsNotesTable.setColumnIdentifiers(new String[] { "Date", "Time",
+                "Initial", "Block", "Comment" });
+
+        setLogNum(logNum);
+    }*/
+
+    public Incident(Integer log, String desc, long start) {
+        logNum = log;
+        description = desc;
+        startTime = start;
+        header      = new IncidentInquiryHeader();      
+        locationMap = new TreeMap<String, ParamicsLocation>();
+        eventList    = new Vector<IncidentEvent>();
+        
+        masterInc = "";
+        alert = new ImageIcon("images/IncidentPanelsImages/blank.png");
+        oau = "";
+        p = "";
+        incidentLocation = new IncidentLocation();
+        incidentCaller = new IncidentCaller();
+        problem = new IncidentProblem();
+        genInfo = new IncidentGeneralInfo();
+        assignedUnitNums = new LinkedList<String>();
+        response = new IncidentResponse();
+        additionalInfo = new IncidentAdditionalInfo();
+        activities = new IncidentActivities();
+        callBacks = new IncidentCallBacks();
+        editLog = new IncidentEditLog();
+        info = new IncidentInfo();
+        times = new IncidentTimes();
+        transpInfo = new IncidentTransportInfo();
+        userData = "";
+        attachments = "";
+        status = IncidentEnums.Pending;
+        assignedUnitNums = new LinkedList();
+        rp = "";
+        ali = "";
+        rpType = "";
+        media = "";
+        eventList = new Vector<IncidentEvent>();
+
+        toTableVector = new Vector<Object>();
+        
+        commentsNotesTable = new DefaultTableModel() {
+            public boolean isCellEditable(int row, int column) {
+                return false;// This causes all cells to be not editable
+            }
+        };
+        commentsNotesTable.setColumnIdentifiers(new String[] { "Date", "Time",
+                "Initial", "Block", "Comment" });
+    }
+
+    /*This method is to be called alongside resetSimulation for true reset.
+     * resetSimulation handles the variables from prior version, while this method resets all the variables
+     * specific to the CADData version. This method is called in the Coordinator following resetSimulation.
+     */
+    public void resetCADDataSimulation(){
+        oau = init_oau;
+        logTime = init_logTime;
+        p = init_p;
+        userData = init_userData;
+        attachments = init_attachments;
+        rp = init_rp;
+        ali = init_ali;
+        rpType = init_rpType;
+        media = init_media;
+        assignedUnitNums.clear();
+        while(commentsNotesTable.getRowCount() > 0){
+            commentsNotesTable.removeRow(0);
+        }
+        
+        incidentLocation.resetCADDataSimulation();
+        incidentCaller.resetCADDataSimulation();
+        problem.resetCADDataSimulation();
+        genInfo.resetCADDataSimulation();
+        response.resetCADDataSimulation();
+        additionalInfo.resetCADDataSimulation();
+        activities.resetCADDataSimulation();
+        callBacks.resetCADDataSimulation();
+        //editLog.resetCADDataSimulation();
+        info.resetCADDataSimulation();
+        //times.resetCADDataSimulation();
+        //transpInfo.resetCADDataSimulation();
+    }
+    
+    public boolean tick(long scriptSeconds) {
+
+        if (scriptSeconds >= startTime && !incidentOccured) {
+            incidentOccured = true;
+            secondsIncidentStarted = scriptSeconds;
+
+            return true;
+        } else
+            return false;
+    }
+
+    public Vector<IncidentEvent> getTriggeredEvents(long simTime) {
+
+        Vector<IncidentEvent> triggered = new Vector<IncidentEvent>();
+
+        if (incidentOccured) {
+            for (IncidentEvent evt : eventList) {
+                if (evt.triggerEvent(secondsIncidentStarted, simTime)) {
+                    triggered.add(evt);
+                }
+            }
+        }
+
+        return triggered;
+    }
+
+    public Vector<IncidentEvent> getCompletedEvents() {
+
+        Vector<IncidentEvent> completed = new Vector<IncidentEvent>();
+
+        for (IncidentEvent evt : eventList) {
+            if (evt.eventStatus == EVENT_STATUS.COMPLETED) {
+                completed.add(evt);
+            }
+        }
+
+        return completed;
+    }
+
+    public Integer getLogNumber() {
+        return logNum;
+    }
+
+    public void manualTrigger(long newtime) {
+        secondsIncidentStarted = newtime;
+        incidentOccured = true;
+    }
+
+    public long getSecondsToStart() {
+        return startTime;
+    }
+
+    public void setSecondsToStart(long newStartTime) {
+        startTime = newStartTime;
+    }
+
+    public Long getIncidentLength() {
+        return eventList.lastElement().secondsToOccurInIncident
+                - eventList.firstElement().secondsToOccurInIncident;
+    }
+
+    public boolean hasOccured() {
+        return incidentOccured;
+    }
+
+    public void resetSimulation() {
+        secondsIncidentStarted = 0;
+        incidentOccured = false;
+
+        for (IncidentEvent ie : eventList)
+            ie.resetSimulation();
+
+    }
+
+    public void addEvent(IncidentEvent newEvent) {
+        newEvent.eventInfo.setHeader(header);
+        eventList.add(newEvent);
+    }
+    
+    public String getMasterInc() {
+        return masterInc;
+    }
+
+    public void setMasterInc(String masterInc) {
+        this.masterInc = masterInc;
+    }
+
+    public int getLogNum() {
+        return logNum;
+    }
+
+    public void setLogNum(int logNum) {
+        this.logNum = logNum;
+    }
+
+    public String getOau() {
+        return oau;
+    }
+
+    public void setOau(String oau) {
+        this.oau = oau;
+    }
+
+    public long getTime() {
+        return startTime;
+    }
+
+    public void setTime(long time) {
+        this.startTime = time;
+    }
+
+    public String getLogTime() {
+        return logTime;
+    }
+
+    public void setLogTime(String logTime) {
+        this.logTime = logTime;
+    }
+    
+    public String getP() {
+        return p;
+    }
+
+    public void setP(String p) {
+        this.p = p;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public IncidentCaller getIncidentCaller() {
+        return incidentCaller;
+    }
+
+    public void setIncidentCaller(IncidentCaller incidentCaller) {
+        this.incidentCaller = incidentCaller;
+    }
+
+    public IncidentLocation getIncidentLocation() {
+        return incidentLocation;
+    }
+
+    public void setIncidentLocation(IncidentLocation incidentLocation) {
+        this.incidentLocation = incidentLocation;
+    }
+
+    public IncidentProblem getProblem() {
+        return problem;
+    }
+
+    public void setProblem(IncidentProblem problem) {
+        this.problem = problem;
+    }
+
+    public IncidentGeneralInfo getGenInfo() {
+        return genInfo;
+    }
+
+    public void setGenInfo(IncidentGeneralInfo genInfo) {
+        this.genInfo = genInfo;
+    }
+
+    public LinkedList<String> getAssignedUnitNums() {
+        return assignedUnitNums;
+    }
+
+    public void setPrimaryAssignedUnitNum(String assignedUnitNum) {
+        assignedUnitNums.remove(assignedUnitNum);
+        assignedUnitNums.addFirst(assignedUnitNum);
+    }
+
+    public void addAssignedUnitNum(String assignedUnitNum) {
+        assignedUnitNums.addLast(assignedUnitNum);
+    }
+    
+    public void removeAssignedUnitNum(String assignedUnitNum){
+        assignedUnitNums.remove(assignedUnitNum);
+        if(assignedUnitNums.size() == 0){
+            status = IncidentEnums.Closed;
+        }
+    }
+
+    public IncidentResponse getResponse() {
+        return response;
+    }
+
+    public void setResponse(IncidentResponse response) {
+        this.response = response;
+    }
+
+    public IncidentAdditionalInfo getAdditionalInfo() {
+        return additionalInfo;
+    }
+
+    public void setAdditionalInfo(IncidentAdditionalInfo additionalInfo) {
+        this.additionalInfo = additionalInfo;
+    }
+
+    public IncidentActivities getActivities() {
+        return activities;
+    }
+
+    public void setActivities(IncidentActivities activities) {
+        this.activities = activities;
+    }
+
+    public IncidentCallBacks getCallBacks() {
+        return callBacks;
+    }
+
+    public void setCallBacks(IncidentCallBacks callBacks) {
+        this.callBacks = callBacks;
+    }
+
+    public IncidentEditLog getEditLog() {
+        return editLog;
+    }
+
+    public void setEditLog(IncidentEditLog editLog) {
+        this.editLog = editLog;
+    }
+
+    public IncidentInfo getInfo() {
+        return info;
+    }
+
+    public void setInfo(IncidentInfo info) {
+        this.info = info;
+    }
+
+    public IncidentTimes getTimes() {
+        return times;
+    }
+
+    public void setTimes(IncidentTimes times) {
+        this.times = times;
+    }
+
+    public IncidentTransportInfo getTranspInfo() {
+        return transpInfo;
+    }
+
+    public void setTranspInfo(IncidentTransportInfo transpInfo) {
+        this.transpInfo = transpInfo;
+    }
+
+    public IncidentVehicle getIncidentVehicle() {
+        return incidentVehicle;
+    }
+
+    public void setIncidentVehicle(IncidentVehicle incidentVehicle) {
+        this.incidentVehicle = incidentVehicle;
+    }
+
+    public String getUserData() {
+        return userData;
+    }
+
+    public void setUserData(String userData) {
+        this.userData = userData;
+    }
+
+    public String getAttachments() {
+        return attachments;
+    }
+
+    public void setAttachments(String attachments) {
+        this.attachments = attachments;
+    }
+
+    public IncidentEnums getIncidentStatus() {
+        return status;
+    }
+
+    public void setIncidentStatus(IncidentEnums status) {
+        this.status = status;
+    }
+
+    public String getRp() {
+        return rp;
+    }
+
+    public void setRp(String rp) {
+        this.rp = rp;
+    }
+
+    public String getAli() {
+        return ali;
+    }
+
+    public void setAli(String ali) {
+        this.ali = ali;
+    }
+
+    public String getRpType() {
+        return rpType;
+    }
+
+    public void setRpType(String rpType) {
+        this.rpType = rpType;
+    }
+
+    public String getMedia() {
+        return media;
+    }
+
+    public void setMedia(String media) {
+        this.media = media;
+    }
+
+    public DefaultTableModel getCommentsNotesTable() {
+        return commentsNotesTable;
+    }
+
+    public void addToCommentsNotesTable(String[] fields) {
+        this.commentsNotesTable.addRow(fields);
+    }
+
+    /*
+     * Stores the data needed to be displayed in the AssignedIncidents panel and
+     * sends it out as a toTableVector.
+     */
+    public Vector<Object> toVectorForAssignedIncidents() {
+        Vector<Object> vector = new Vector<Object>();
+
+        toTableVector.clear();
+        toTableVector.add(logNum);
+        toTableVector.add(masterInc);
+        toTableVector.add(alert);
+        if (assignedUnitNums.size() != 0) {
+            toTableVector.add(assignedUnitNums.getFirst());
+        } else {
+            toTableVector.add("");
+        }
+
+        String unitNums = "";
+        for (int i = 0; i < assignedUnitNums.size(); i++) {
+            unitNums = unitNums.concat((String) assignedUnitNums.get(i));
+            if (i == assignedUnitNums.size() - 1) {
+                break;
+            }
+            unitNums = unitNums.concat(", ");
+        }
+        toTableVector.add(unitNums);
+        toTableVector.add(additionalInfo.getType());
+        toTableVector.add(incidentLocation.getAddress());
+        toTableVector.add(incidentLocation.getLoc());
+        toTableVector.add(incidentLocation.getBeat());
+        toTableVector.add(incidentLocation.getArea());
+        toTableVector.add(oau);
+        toTableVector.add(startTime);
+        toTableVector.add(logTime);
+        toTableVector.add(additionalInfo.getTypeCode());
+        toTableVector.add(p);
+        toTableVector.add(genInfo.getAgy());
+        return toTableVector;
+    }
+
+    /*
+     * Stores the data needed to be displayed in the PendingIncidents panel and
+     * sends it out as a toTableVector.
+     */
+    public Vector<Object> toVectorForPendingIncidents() {
+        Vector<Object> vector = new Vector<Object>();
+        vector.add(logNum);
+        vector.add(masterInc);
+        vector.add(alert);
+        vector.add(p);
+        vector.add(additionalInfo.getType());
+        vector.add(incidentLocation.getAddress());
+        vector.add(incidentLocation.getLoc());
+        vector.add(incidentLocation.getCity());
+        vector.add(incidentLocation.getBeat());
+        vector.add(incidentLocation.getArea());
+        vector.add(oau);
+        vector.add(startTime);
+        vector.add(logTime);
+        vector.add(additionalInfo.getTypeCode());
+        vector.add(genInfo.getAgy());
+
+        return vector;
+    }
+
+    public Vector<Object> toVectorForIncidentEditor() {
+        toTableVector.clear();
+        toTableVector.add(logTime);
+        toTableVector.add(additionalInfo.getTypeCode());
+        toTableVector.add(incidentLocation.getAddress());
+        toTableVector.add(incidentLocation.getLoc());
+        toTableVector.add(incidentLocation.getCity());
+        toTableVector.add(masterInc);
+        toTableVector.add("GG");
+        toTableVector.add(incidentLocation.getArea());
+        
+        String unitNums = "";
+        for (int i = 0; i < assignedUnitNums.size(); i++) {
+            unitNums = unitNums.concat((String) assignedUnitNums.get(i));
+            if (i == assignedUnitNums.size() - 1) {
+                break;
+            }
+            unitNums = unitNums.concat(", ");
+        }
+        
+        toTableVector.add("F-File");
+        return toTableVector;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.ScriptHandler.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String outer_tag_name, String inner_tag_name,
+            String value) {
+        if (outer_tag_name.equals(CAD_DATA_TAGS.LOCATION.tag)) {
+            incidentLocation.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.CALLER.tag)) {
+            incidentCaller.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.PROBLEM.tag)) {
+            problem.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.GENERAL.tag)) {
+            genInfo.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.RESPONSE.tag)) {
+            response.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.ADDITIONAL_INFO.tag)) {
+            additionalInfo.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.ACTIVITIES.tag)) {
+            activities.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.CALL_BACKS.tag)) {
+            callBacks.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.EDIT_LOG.tag)) {
+            editLog.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.INFO.tag)) {
+            info.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.TIMES.tag)) {
+            times.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.TRANSPORT_INFO.tag)) {
+            transpInfo.readXMLNode(inner_tag_name, value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.USER_DATA.tag)) {
+            init_userData = value;
+            setUserData(value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.ATTACHMENTS.tag)) {
+            init_attachments = value;
+            setAttachments(value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.RP.tag)) {
+            init_rp = value;
+            setRp(value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.ALI.tag)) {
+            init_ali = value;
+            setAli(value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.RP_TYPE.tag)) {
+            init_rpType = value;
+            setRpType(value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.MEDIA.tag)) {
+            init_media = value;
+            setMedia(value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.MASTER_INC_NUM.tag)) {
+            //masterInc should be unchanged,no init
+            setMasterInc(value);
+        } else if (outer_tag_name.equals(CAD_DATA_TAGS.P.tag)) {
+            init_p = value;
+            setP(value);
+        } 
+
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentCallBacks.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentCallBacks.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentCallBacks.java	(revision 3)
@@ -0,0 +1,67 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentCallBacks implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_initial = "";
+    private String init_comment = "";
+    
+    private String initial;
+    private String comment;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentCallBacks() {
+        initial = "";
+        comment = "";
+    }
+    
+    public void resetCADDataSimulation(){
+        initial = init_initial;
+        comment = init_comment;
+    }
+
+    public String getInitial() {
+        return initial;
+    }
+
+    public void setInitial(String initial) {
+        this.initial = initial;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_CALLBACK.INITIAL.tag)) {
+            init_initial = value;
+            setInitial(value);
+        } else if (tag_name.equals(CADDataEnums.INC_CALLBACK.COMMENT.tag)) {
+            init_comment = value;
+            setComment(value);
+        }
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentTimes.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentTimes.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentTimes.java	(revision 3)
@@ -0,0 +1,218 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * NOT IN USE. Originally meant for Times Tab in IncidentViewer.
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentTimes implements Serializable {
+    private String unit;
+    private String alarm;
+    private String assigned;
+    private String enroute;
+    private String staged;
+    private String arrival;
+    private String access;
+    private String depart;
+    private String atDest;
+    private String status5;
+    private String available;
+    private String respNum;
+
+    private String ring;
+    private String inQueue;
+    private String allAvailable;
+    private String callClosed;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentTimes() {
+        unit = "";
+        alarm = "";
+        assigned = "";
+        enroute = "";
+        staged = "";
+        arrival = "";
+        access = "";
+        depart = "";
+        atDest = "";
+        status5 = "";
+        available = "";
+        respNum = "";
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public String getAlarm() {
+        return alarm;
+    }
+
+    public void setAlarm(String alarm) {
+        this.alarm = alarm;
+    }
+
+    public String getAssigned() {
+        return assigned;
+    }
+
+    public void setAssigned(String assigned) {
+        this.assigned = assigned;
+    }
+
+    public String getEnroute() {
+        return enroute;
+    }
+
+    public void setEnroute(String enroute) {
+        this.enroute = enroute;
+    }
+
+    public String getStaged() {
+        return staged;
+    }
+
+    public void setStaged(String staged) {
+        this.staged = staged;
+    }
+
+    public String getArrival() {
+        return arrival;
+    }
+
+    public void setArrival(String arrival) {
+        this.arrival = arrival;
+    }
+
+    public String getAccess() {
+        return access;
+    }
+
+    public void setAccess(String access) {
+        this.access = access;
+    }
+
+    public String getDepart() {
+        return depart;
+    }
+
+    public void setDepart(String depart) {
+        this.depart = depart;
+    }
+
+    public String getAtDest() {
+        return atDest;
+    }
+
+    public void setAtDest(String atDest) {
+        this.atDest = atDest;
+    }
+
+    public String getStatus5() {
+        return status5;
+    }
+
+    public void setStatus5(String status5) {
+        this.status5 = status5;
+    }
+
+    public String getAvailable() {
+        return available;
+    }
+
+    public void setAvailable(String available) {
+        this.available = available;
+    }
+
+    public String getRespNum() {
+        return respNum;
+    }
+
+    public void setRespNum(String respNum) {
+        this.respNum = respNum;
+    }
+
+    public String getRing() {
+        return ring;
+    }
+
+    public void setRing(String ring) {
+        this.ring = ring;
+    }
+
+    public String getInQueue() {
+        return inQueue;
+    }
+
+    public void setInQueue(String inQueue) {
+        this.inQueue = inQueue;
+    }
+
+    public String getAllAvailable() {
+        return allAvailable;
+    }
+
+    public void setAllAvailable(String allAvailable) {
+        this.allAvailable = allAvailable;
+    }
+
+    public String getCallClosed() {
+        return callClosed;
+    }
+
+    public void setCallClosed(String callClosed) {
+        this.callClosed = callClosed;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_TIMES.UNIT.tag)) {
+            setUnit(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.ALARM.tag)) {
+            setAlarm(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.ASSIGNED.tag)) {
+            setAssigned(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.ENROUTE.tag)) {
+            setEnroute(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.STAGED.tag)) {
+            setStaged(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.ARRIVAL.tag)) {
+            setArrival(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.ACCESS.tag)) {
+            setAccess(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.DEPART.tag)) {
+            setDepart(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.AT_DEST.tag)) {
+            setAtDest(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.STATUS_5.tag)) {
+            setStatus5(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.AVAILABLE.tag)) {
+            setAvailable(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.RESP_NUM.tag)) {
+            setRespNum(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.RING.tag)) {
+            setRing(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.IN_QUEUE.tag)) {
+            setInQueue(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.ALL_AVAILABLE.tag)) {
+            setAllAvailable(value);
+        } else if (tag_name.equals(CADDataEnums.INC_TIMES.CALL_CLOSED.tag)) {
+            setCallClosed(value);
+        }
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentEvent.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentEvent.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentEvent.java	(revision 3)
@@ -0,0 +1,241 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+import java.util.Vector;
+
+import tmcsim.cadmodels.IncidentInquiryModel_obj;
+import tmcsim.common.CCTVInfo;
+import tmcsim.common.XMLIncident;
+
+/**
+ * IncidentEvent class contains data for an event that occurs during a 
+ * simulation.  Incident event information includes the following:<br/>
+ * <ul>
+ * <li>Second after Incident begins Event is schedule to occur.</li>
+ * <li>Simulation time Event occurs.</li>
+ * <li>IncidentInquiry model data.</li>
+ * <li>Audio file name and duration.</li>
+ * <li>XMLIncident Objects</li>
+ * <li>CCTVInfo Objects</li>
+ * <li>Current Event status.</li>
+ * </ul>
+ * <br/>
+ * <br/>
+ * The EVENT_STATUS is used to keep track of what state this event is in.  An 
+ * event is WAITING until its time to occur is reached in the simulation.  The 
+ * event will then enter the TRIGGERED state if it has a wave file length 
+ * greater than 0, otherwise it will enter the COMPLETED state.  When an 
+ * audio file is completed, the wavePlayed() method is called, and the Event 
+ * enters the COMPLETED state.  The finalizeEvent method finalizes the Event by
+ * timestamping the model data and setting the number of seconds the event 
+ * occured in the simulation.  The EVENT_STATUS is then set to FINALIZED.
+ *
+ * @author Matthew Cechini (mcechini@calpoly.edu)
+ * @version $Date: 2006/06/06 20:46:40 $ $Revision: 1.4 $
+ */
+@SuppressWarnings("serial")
+public class IncidentEvent implements Comparable<IncidentEvent>, Serializable {
+    
+    /**
+     * Enumeration
+     * @author Matthew Cechini
+     */
+    public static enum EVENT_STATUS {
+        /** Waiting to be triggered. */
+        WAITING,
+        /** Event has been triggered. */
+        TRIGGERED,  
+        /** Completed audio playing, if necessary. */
+        COMPLETED,   
+        /** 
+         * Incident has been triggered, audio file has been played, 
+         * and model data timestamped. 
+         */
+        FINALIZED
+    };
+
+    /** Number of seconds after the incident begins that this event will trigger. */    
+    public long secondsToOccurInIncident;
+    
+    /** Number of seconds after the simulation started that this event occured. */  
+    public long secondsOccuredInSimulation;
+    
+    /** Model object containing the data that will be added to the incident when this event occurs. */  
+    public IncidentInquiryModel_obj eventInfo = null;
+    
+    /** Audio wav file associated with this event. */   
+    public String waveFile;
+    
+    /** Duration(in seconds) of the waveFile. */    
+    public int waveLength;
+            
+    /** Vector of XMLIncident objects which are associated with this incident event. */
+    public Vector<XMLIncident> XMLIncidents;
+    
+    /** Vector of CCTV objects which are associated with this incident event. */
+    public Vector<CCTVInfo> cctvInfos;
+    
+    /** Current Incident Event status. */
+    public EVENT_STATUS eventStatus;
+    
+
+    /**  
+     * Constructor.
+     *
+     * @param timeToOccur Time (in seconds) in simulation for this incident event to occur.
+     */
+    public IncidentEvent(long timeToOccur) {
+            
+        eventInfo       = new IncidentInquiryModel_obj();   
+        waveFile        = "";
+        waveLength      = 0;
+        eventStatus     = EVENT_STATUS.WAITING;
+        XMLIncidents    = new Vector<XMLIncident>();
+        cctvInfos       = new Vector<CCTVInfo>();
+
+        secondsToOccurInIncident   = timeToOccur;
+        secondsOccuredInSimulation = 0;   
+            
+    }    
+     
+   /**
+    * Constructor.
+    *
+    * @param timeToOccur      Time (in seconds) in simulation for this incident event to occur.
+    * @param info             IncidentInquiry model data.
+    * @param newWaveFile      Filename of audio wav file to be played with this event.
+    * @param newWaveLength    Duration (in seconds) of audio wav file
+    * @param newXMLIncidents  List of XMLIncidents for this event.
+    * @param newCCTVInfos     List of CCTVInfos for this event.
+    */
+    public IncidentEvent(long timeToOccur, 
+                         IncidentInquiryModel_obj info, 
+                         String newWaveFile, 
+                         int newWaveLength,
+                         Vector<XMLIncident> newXMLIncidents,
+                         Vector<CCTVInfo> newCCTVInfos){
+        
+        eventInfo       = info;
+        eventStatus     = EVENT_STATUS.WAITING;
+        waveFile        = newWaveFile;
+        waveLength      = newWaveLength;
+
+        XMLIncidents    = new Vector<XMLIncident>();
+        XMLIncidents.addAll(newXMLIncidents);
+        
+        cctvInfos       = new Vector<CCTVInfo>();
+        cctvInfos.addAll(newCCTVInfos);     
+        
+        secondsToOccurInIncident   = timeToOccur;
+        secondsOccuredInSimulation = 0;     
+    }
+    
+    /**
+     * Copy Constructor.
+     *
+     * @param timeToOccur      Time (in seconds) in simulation for this incident event to occur.
+     * @param info             IncidentInquiry model data.
+     * @param newWaveFile      Filename of audio wav file to be played with this event.
+     * @param newWaveLength    Duration (in seconds) of audio wav file
+     * @param newXMLIncidents  List of XMLIncidents for this event.
+     * @param newCCTVInfos     List of CCTVInfos for this event.
+     */
+     public IncidentEvent(final IncidentEvent copyEvent){
+        
+        eventInfo       = copyEvent.eventInfo;
+        eventStatus     = copyEvent.eventStatus;
+        waveFile        = copyEvent.waveFile;
+        waveLength      = copyEvent.waveLength;
+
+        XMLIncidents    = new Vector<XMLIncident>();
+        XMLIncidents.addAll(copyEvent.XMLIncidents);
+        
+        cctvInfos       = new Vector<CCTVInfo>();
+        cctvInfos.addAll(copyEvent.cctvInfos);      
+        
+        secondsToOccurInIncident   = copyEvent.secondsToOccurInIncident;
+        secondsOccuredInSimulation = copyEvent.secondsOccuredInSimulation;      
+     }    
+    
+    /** Compare objects according o comparison of secondsToOccurInIncident member data. */
+    public int compareTo(IncidentEvent o) {
+        if(secondsToOccurInIncident < o.secondsToOccurInIncident)
+            return -1;
+            
+        else if(secondsToOccurInIncident > o.secondsToOccurInIncident)
+            return 1;
+        
+        else 
+            return 0;
+    }
+    
+    /**
+     * Method determines if the Event is ready to be triggered.  This is 
+     * determined by assessing the current Event status and simulation
+     * time.  The Event will be triggered if the Event is WAITING and the
+     * Event's time to start has been reached.  The Event's relative start 
+     * time is added to the Incident start time parameter and compared
+     * against the current simulation time parameter.  If the audio file 
+     * duration is greater than  zero seconds, then the Event status is set to 
+     * TRIGGERED, and true is returned.  If the audio file is zero, the status 
+     * is set to COMPLETED and false is returned.
+     *
+     * @param incidentStartTime Simulation time that Event's Incident began (in seconds).
+     * @param simulationTime Current simulation time (in seconds).
+     * @return true if incident enters the TRIGGERED state, false if it is not 
+     * ready to be triggered or has entered the COMPLETED state.
+     */
+    public boolean triggerEvent(long incidentStartTime, long simulationTime) {
+        boolean retVal = false;
+        
+        if(eventStatus == EVENT_STATUS.WAITING &&
+           simulationTime > (incidentStartTime + secondsToOccurInIncident) )
+        {               
+            if(waveLength == 0) {
+                eventStatus = EVENT_STATUS.COMPLETED;
+            }
+            else {
+                retVal = true;
+                eventStatus = EVENT_STATUS.TRIGGERED;
+            }
+        }
+        
+        return retVal;
+    }        
+    
+  
+    /**
+     * Method is called when the Event's audio file completes.  The Event 
+     * status is set to COMPLETED.
+     */
+    public void wavePlayed() {
+        eventStatus = EVENT_STATUS.COMPLETED;
+    }
+    
+    /**
+     * Method is called to finalize and Event.  The Event info
+     * is timestamped with the parameter and the  secondsInSimulationOccured
+     * member is set to the current time in the simulation.  The Event
+     * status is set to FINALIZED.
+     *
+     * @param occured Current simulation time (in seconds). 
+     * @param timestamp CAD time stamp for model data. 
+     */
+    public void finalizeEvent(long occured, String timestamp) {
+        //set time stamp
+        eventInfo.timeStamp(timestamp);     
+        secondsOccuredInSimulation = occured;
+        
+        eventStatus = EVENT_STATUS.FINALIZED;
+    }
+    
+    /**
+     * Called to reset the simulation.  The Event status is set to WAITING and
+     * the secondsOccuredinSimulation is reset to 0.
+     */
+    public void resetSimulation() {
+        eventStatus = EVENT_STATUS.WAITING;
+        secondsOccuredInSimulation = 0;
+    }
+
+} 
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentAdditionalInfo.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentAdditionalInfo.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentAdditionalInfo.java	(revision 3)
@@ -0,0 +1,157 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentAdditionalInfo implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_type = "";
+    private String init_typeCode = "";
+    private String init_machine = "";
+    private String init_callStatus = "";
+    private String init_callTakerExt = "";
+    private String init_alarmLevel = "";
+    private String init_rotationProviderArea = "";
+    private String init_comment = "";
+    
+    private String type;
+    private String typeCode;
+    private String machine;
+    private String callStatus;
+    private String callTakerExt;
+    private String alarmLevel;
+    private String rotationProviderArea;
+    private String comment;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentAdditionalInfo() {
+        type = "";
+        typeCode = "";
+        machine = "";
+        callStatus = "";
+        callTakerExt = "";
+        alarmLevel = "";
+        rotationProviderArea = "";
+        comment = "";
+    }
+
+    public void resetCADDataSimulation(){
+        type = init_type;
+        typeCode = init_typeCode;
+        machine = init_machine;
+        callStatus = init_callStatus;
+        callTakerExt = init_callTakerExt;
+        alarmLevel = init_alarmLevel;
+        rotationProviderArea = init_rotationProviderArea;
+        comment = init_comment;
+    }
+    
+    public String getMachine() {
+        return machine;
+    }
+
+    public void setMachine(String machine) {
+        this.machine = machine;
+    }
+
+    public String getCallStatus() {
+        return callStatus;
+    }
+
+    public void setCallStatus(String callStatus) {
+        this.callStatus = callStatus;
+    }
+
+    public String getCallTakerExt() {
+        return callTakerExt;
+    }
+
+    public void setCallTakerExt(String callTakerExt) {
+        this.callTakerExt = callTakerExt;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+    
+    public String getTypeCode() {
+        return typeCode;
+    }
+
+    public void setTypeCode(String type) {
+        this.typeCode = type;
+    }
+
+    public String getAlarmLevel() {
+        return alarmLevel;
+    }
+
+    public void setAlarmLevel(String alarmLevel) {
+        this.alarmLevel = alarmLevel;
+    }
+
+    public String getRotationProviderArea() {
+        return rotationProviderArea;
+    }
+
+    public void setRotationProviderArea(String rotationProviderArea) {
+        this.rotationProviderArea = rotationProviderArea;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_ADD_INFO.TYPE.tag)) {
+            init_type = value;
+            setType(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ADD_INFO.TYPE_CODE.tag)) {
+            init_typeCode = value;
+            setTypeCode(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ADD_INFO.MACHINE.tag)) {
+            init_machine = value;
+            setMachine(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ADD_INFO.CALL_STATUS.tag)) {
+            init_callStatus = value;
+            setCallStatus(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ADD_INFO.CALL_TAKER_EXT.tag)) {
+            init_callTakerExt = value;
+            setCallTakerExt(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ADD_INFO.ALARM_LEVEL.tag)) {
+            init_alarmLevel = value;
+            setAlarmLevel(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ADD_INFO.ROTATION_PROVIDER_AREA.tag)) {
+            init_rotationProviderArea = value;
+            setRotationProviderArea(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ADD_INFO.COMMENT.tag)) {
+            init_comment = value;
+            setComment(value);
+        }
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/CardfileData.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/CardfileData.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/CardfileData.java	(revision 3)
@@ -0,0 +1,566 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+import java.util.LinkedList;
+
+/**
+ * This class holds all the necessarily data for the Cardfile. It contains a
+ * CardfileList for each tabbed panel in Cardfile.
+ * 
+ * @author Vincent
+ * 
+ */
+public class CardfileData implements Serializable {
+
+    private int newestId = 0;
+
+    private static CardfileList coastalDivisionUnitsList;
+    private static CardfileList policeSheriffCoronerList;
+    private static CardfileList courtsList;
+    private static CardfileList publicTransportationList;
+    private static CardfileList ggOtherList;
+    private static CardfileList myMiscList;
+    private static CardfileList slMiscList;
+    private static CardfileList vtMiscList;
+    private static CardfileList chpOfficesList;
+    private static CardfileList stateAgenciesFacilitiesList;
+    private static CardfileList governmentOfficialsList;
+    private static CardfileList federalAgenciesList;
+    private static CardfileList ranchesLivestockList;
+    private static CardfileList fireEmsList;
+    private static CardfileList jailsList;
+    private static CardfileList hospitalsMedCentersList;
+    private static CardfileList towCompaniesList;
+    private static CardfileList calTransList;
+    private static CardfileList countyRoadsList;
+    private static CardfileList utilitiesList;
+    private static CardfileList animalControlList;
+    private static CardfileList airportsList;
+    private static CardfileList creditCardsList;
+    private static CardfileList ggCrisisSheltersList;
+    private static CardfileList rangesList;
+    private static CardfileList hotlinesList;
+    private static CardfileList hwyPatrolsOosList;
+    private static CardfileList parksRecreationList;
+    private static CardfileList sheltersList;
+    private static CardfileList slCountyServicesList;
+    private static CardfileList slResourcesList;
+    private static CardfileList truckTireRepairList;
+    private static CardfileList mccEmployeesList;
+    private static CardfileList gateAccessCodesList;
+    private static CardfileList vtCallSignsList;
+    private static CardfileList slccEmployeesList;
+
+    public CardfileData() {
+        coastalDivisionUnitsList = new CardfileList();
+        policeSheriffCoronerList = new CardfileList();
+        courtsList = new CardfileList();
+        publicTransportationList = new CardfileList();
+        ggOtherList = new CardfileList();
+        myMiscList = new CardfileList();
+        slMiscList = new CardfileList();
+        vtMiscList = new CardfileList();
+        chpOfficesList = new CardfileList();
+        stateAgenciesFacilitiesList = new CardfileList();
+        governmentOfficialsList = new CardfileList();
+        federalAgenciesList = new CardfileList();
+        ranchesLivestockList = new CardfileList();
+        fireEmsList = new CardfileList();
+        jailsList = new CardfileList();
+        hospitalsMedCentersList = new CardfileList();
+        towCompaniesList = new CardfileList();
+        calTransList = new CardfileList();
+        countyRoadsList = new CardfileList();
+        utilitiesList = new CardfileList();
+        animalControlList = new CardfileList();
+        airportsList = new CardfileList();
+        creditCardsList = new CardfileList();
+        ggCrisisSheltersList = new CardfileList();
+        rangesList = new CardfileList();
+        hotlinesList = new CardfileList();
+        hwyPatrolsOosList = new CardfileList();
+        parksRecreationList = new CardfileList();
+        sheltersList = new CardfileList();
+        slCountyServicesList = new CardfileList();
+        slResourcesList = new CardfileList();
+        truckTireRepairList = new CardfileList();
+        mccEmployeesList = new CardfileList();
+        gateAccessCodesList = new CardfileList();
+        vtCallSignsList = new CardfileList();
+        slccEmployeesList = new CardfileList();
+    }
+
+    public int obtainNewUniqueId() {
+        int temp = newestId;
+        newestId++;
+        return temp;
+    }
+
+    public CardfileList getCoastalDivisionUnitList() {
+        return coastalDivisionUnitsList;
+    }
+
+    public void setCoastalDivisionUnitsList(CardfileList objList) {
+        coastalDivisionUnitsList = objList;
+    }
+
+    public CardfileList getPoliceSheriffCoronerList() {
+        return policeSheriffCoronerList;
+    }
+
+    public void setPoliceSheriffCoronerList(CardfileList objList) {
+        policeSheriffCoronerList = objList;
+    }
+
+    public CardfileList getCourtsList() {
+        return courtsList;
+    }
+
+    public void setCourtsList(CardfileList objList) {
+        courtsList = objList;
+    }
+
+    public CardfileList getPublicTransportationList() {
+        return publicTransportationList;
+    }
+
+    public void setPublicTransportationList(CardfileList objList) {
+        publicTransportationList = objList;
+    }
+
+    public CardfileList getGgOtherList() {
+        return ggOtherList;
+    }
+
+    public void setGgOtherList(CardfileList objList) {
+        ggOtherList = objList;
+    }
+
+    public CardfileList getMyMiscList() {
+        return myMiscList;
+    }
+
+    public void setMyMiscList(CardfileList objList) {
+        myMiscList = objList;
+    }
+
+    public CardfileList getSlMiscList() {
+        return slMiscList;
+    }
+
+    public void setSlMiscList(CardfileList objList) {
+        slMiscList = objList;
+    }
+
+    public CardfileList getVlMiscList() {
+        return vtMiscList;
+    }
+
+    public void setVlMiscList(CardfileList objList) {
+        vtMiscList = objList;
+    }
+
+    public CardfileList getChpOfficesList() {
+        return chpOfficesList;
+    }
+
+    public void setChpOfficesList(CardfileList objList) {
+        chpOfficesList = objList;
+    }
+
+    public CardfileList getStateAgenciesFacilitiesList() {
+        return stateAgenciesFacilitiesList;
+    }
+
+    public void setStateAgenciesFacilitiesList(CardfileList objList) {
+        stateAgenciesFacilitiesList = objList;
+    }
+
+    public CardfileList getGovernmentOfficialsList() {
+        return governmentOfficialsList;
+    }
+
+    public void setGovernmentOfficialsList(CardfileList objList) {
+        governmentOfficialsList = objList;
+    }
+
+    public CardfileList getFederalAgenciesList() {
+        return federalAgenciesList;
+    }
+
+    public void setFederalAgenciesList(CardfileList objList) {
+        federalAgenciesList = objList;
+    }
+
+    public CardfileList getRanchesLivestockList() {
+        return ranchesLivestockList;
+    }
+
+    public void setRanchesLivestockList(CardfileList objList) {
+        ranchesLivestockList = objList;
+    }
+
+    public CardfileList getFireEmsList() {
+        return fireEmsList;
+    }
+
+    public void setFireEmsList(CardfileList objList) {
+        fireEmsList = objList;
+    }
+
+    public CardfileList getJailsList() {
+        return jailsList;
+    }
+
+    public void setJailsList(CardfileList objList) {
+        jailsList = objList;
+    }
+
+    public CardfileList getHospitalsMedCentersList() {
+        return hospitalsMedCentersList;
+    }
+
+    public void setHospitalsMedCentersList(CardfileList objList) {
+        hospitalsMedCentersList = objList;
+    }
+
+    public CardfileList getTowCompaniesList() {
+        return towCompaniesList;
+    }
+
+    public void setTowCompaniesList(CardfileList objList) {
+        towCompaniesList = objList;
+    }
+
+    public CardfileList getCalTransList() {
+        return calTransList;
+    }
+
+    public void setCalTransList(CardfileList objList) {
+        calTransList = objList;
+    }
+
+    public CardfileList getCountyRoadsList() {
+        return countyRoadsList;
+    }
+
+    public void setCountyRoadsList(CardfileList objList) {
+        countyRoadsList = objList;
+    }
+
+    public CardfileList getUtilitiesList() {
+        return utilitiesList;
+    }
+
+    public void setUtilitiesList(CardfileList objList) {
+        utilitiesList = objList;
+    }
+
+    public CardfileList getAnimalControlList() {
+        return animalControlList;
+    }
+
+    public void setAnimalControlList(CardfileList objList) {
+        animalControlList = objList;
+    }
+
+    public CardfileList getAirportsList() {
+        return airportsList;
+    }
+
+    public void setAirportsList(CardfileList objList) {
+        airportsList = objList;
+    }
+
+    public CardfileList getCreditCardsList() {
+        return creditCardsList;
+    }
+
+    public void setCreditCardsList(CardfileList objList) {
+        creditCardsList = objList;
+    }
+
+    public CardfileList getGgCrisisSheltersList() {
+        return ggCrisisSheltersList;
+    }
+
+    public void setGgCrisisSheltersList(CardfileList objList) {
+        ggCrisisSheltersList = objList;
+    }
+
+    public CardfileList getRangesList() {
+        return rangesList;
+    }
+
+    public void setRangesList(CardfileList objList) {
+        rangesList = objList;
+    }
+
+    public CardfileList getHotlinesList() {
+        return hotlinesList;
+    }
+
+    public void setHotlinesList(CardfileList objList) {
+        hotlinesList = objList;
+    }
+
+    public CardfileList getHwyPatrolsOosList() {
+        return hwyPatrolsOosList;
+    }
+
+    public void setHwyPatrolsOosList(CardfileList objList) {
+        hwyPatrolsOosList = objList;
+    }
+
+    public CardfileList getParksRecreationList() {
+        return parksRecreationList;
+    }
+
+    public void setParksRecreationList(CardfileList objList) {
+        parksRecreationList = objList;
+    }
+
+    public CardfileList getSheltersList() {
+        return sheltersList;
+    }
+
+    public void setSheltersList(CardfileList objList) {
+        sheltersList = objList;
+    }
+
+    public CardfileList getSlCountyServicesList() {
+        return slCountyServicesList;
+    }
+
+    public void setSlCountyServicesList(CardfileList objList) {
+        slCountyServicesList = objList;
+    }
+
+    public CardfileList getSlResourcesList() {
+        return slResourcesList;
+    }
+
+    public void setSlResourcesList(CardfileList objList) {
+        slResourcesList = objList;
+    }
+
+    public CardfileList getTruckTireRepairList() {
+        return truckTireRepairList;
+    }
+
+    public void setTruckTireRepairList(CardfileList objList) {
+        truckTireRepairList = objList;
+    }
+
+    public CardfileList getMccEmployeesList() {
+        return mccEmployeesList;
+    }
+
+    public void setMccEmployeesList(CardfileList objList) {
+        mccEmployeesList = objList;
+    }
+
+    public CardfileList getGateAccessCodesList() {
+        return gateAccessCodesList;
+    }
+
+    public void setGateAccessCodesList(CardfileList objList) {
+        gateAccessCodesList = objList;
+    }
+
+    public CardfileList getVtCallSignsList() {
+        return vtCallSignsList;
+    }
+
+    public void setVtCallSignsList(CardfileList objList) {
+        vtCallSignsList = objList;
+    }
+
+    public CardfileList getSlccEmployeesList() {
+        return slccEmployeesList;
+    }
+
+    public void setSlccEmployeesList(CardfileList objList) {
+        slccEmployeesList = objList;
+    }
+
+    /**
+     * Loops through the list until it finds a matching object with the
+     * specified id.
+     * 
+     * @returns the CardfileDataObject with the specified id.
+     */
+    public CardfileDataObject getCardfileDataObject(CardfileList list, int id) {
+        for (int i = 0; i < list.getItemCount(); i++) {
+            if (list.getCFDO(i).getId() == id) {
+                return list.getCFDO(i);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Loops through the list until it finds a matching object with the
+     * specified id.
+     * 
+     * @returns the index of CardfileDataObject with the specified id.
+     */
+    public int getCardfileDataIndex(CardfileList list, int id) {
+        for (int i = 0; i < list.getItemCount(); i++) {
+            if (list.getCFDO(i).getId() == id) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    public LinkedList<CardfileDataObject> getSearchList(String search){
+        LinkedList<CardfileDataObject> returnList = new LinkedList<CardfileDataObject>();
+        LinkedList<CardfileDataObject> tempList = coastalDivisionUnitsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = policeSheriffCoronerList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = courtsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = publicTransportationList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = ggOtherList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = myMiscList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = slMiscList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = vtMiscList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = chpOfficesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = stateAgenciesFacilitiesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = governmentOfficialsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = federalAgenciesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = ranchesLivestockList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = fireEmsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = jailsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = hospitalsMedCentersList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = towCompaniesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = calTransList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = countyRoadsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = utilitiesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = animalControlList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = airportsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = creditCardsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = ggCrisisSheltersList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = rangesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = hotlinesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = hwyPatrolsOosList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = parksRecreationList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = sheltersList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = slCountyServicesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = slResourcesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = truckTireRepairList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = mccEmployeesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = gateAccessCodesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = vtCallSignsList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        tempList = slccEmployeesList.search(search);
+        for(int i = 0; i < tempList.size(); i++){
+            returnList.add(tempList.get(i));
+        }
+        return returnList;
+    }
+    
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/CardfileList.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/CardfileList.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/CardfileList.java	(revision 3)
@@ -0,0 +1,114 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.awt.List;
+import java.io.Serializable;
+import java.util.LinkedList;
+
+/**
+ * This class extends a list and holds a list of CardfileDataObject alongside a
+ * list of CardfileDataObject's Name Field. The index of the CFDO and Name field
+ * should match at all times. Each instance of this class is meant to display
+ * any one list in the Cardfile's tabbed panel.
+ * 
+ * @author Vincent
+ * 
+ */
+
+public class CardfileList extends List implements Serializable {
+
+    LinkedList<CardfileDataObject> list;
+
+    public CardfileList() {
+        super();
+        list = new LinkedList<CardfileDataObject>();
+    }
+
+    /**
+     * Inserts the object so it remains in sorted order lexicographically.
+     * 
+     * @param cfdo
+     *            the object to be inserted
+     * @return the inserted position
+     */
+    public int addDataObject(CardfileDataObject cfdo) {
+        int insertPosition = 0;
+        if (list.size() == 0) {
+            super.add(cfdo.getName());
+            list.add(cfdo);
+            return 0;
+        }
+        if (cfdo.getName().compareTo(list.get(insertPosition).getName()) < 0) {
+            super.add(cfdo.getName(), insertPosition);
+            list.add(insertPosition, cfdo);
+            return insertPosition;
+        }
+        while (insertPosition < list.size()
+                && cfdo.getName().compareTo(list.get(insertPosition).getName()) > 0) {
+            insertPosition++;
+        }
+        if (insertPosition < list.size()) {
+            super.add(cfdo.getName(), insertPosition);
+            list.add(insertPosition, cfdo);
+        } else {
+            super.add(cfdo.getName());
+            list.add(cfdo);
+        }
+        return insertPosition;
+    }
+
+    /**
+     * Removes the CFDO and name field from both lists at the specified index.
+     * 
+     * @param index
+     */
+    public void removeDataObject(int index) {
+        if (index >= 0 && index < list.size()) {
+            super.remove(index);
+            list.remove(index);
+        }
+    }
+
+    /**
+     * returns the CFDO as the specified index, null if a bad index was sent.
+     * 
+     * @param index
+     * @return the CFDO at the given index, or null if a bad index.
+     */
+    public CardfileDataObject getCFDO(int index) {
+        if (!(index < 0)) {
+            return list.get(index);
+        }
+        return null;
+    }
+
+    /**
+     * Removes the object at the specified index to be reinserted and sorted
+     * into the list.
+     */
+    public int resort(int index) {
+        CardfileDataObject cfdoToInsert = list.remove(index);
+        super.remove(index);
+        return addDataObject(cfdoToInsert);
+    }
+    
+    /**
+     * Returns a LinkedList of CFDO that contain the search string.
+     */
+    public LinkedList<CardfileDataObject> search(String search){
+        LinkedList<CardfileDataObject> returnList = new LinkedList<CardfileDataObject>();
+        for(int i = 0; i < list.size(); i++){
+            if(search.toLowerCase().equals(list.get(i).getCategory().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getName().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getAddress().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getCity().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getState().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getZip().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getPhone1().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getPhone2().toLowerCase()) ||
+               search.toLowerCase().equals(list.get(i).getFax().toLowerCase())){
+                returnList.add(list.get(i));
+               }
+        }
+        return returnList;
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentEditLog.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentEditLog.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentEditLog.java	(revision 3)
@@ -0,0 +1,82 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * Originally meant for Edit Log Tab in IncidentViewer, not really in use at the moment.
+ * If this is used, this class 
+ * @author Vincent
+ * 
+ */
+public class IncidentEditLog implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    
+    private String edit;
+    private String reason;
+    private String changeBy;
+    private String terminal;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentEditLog() {
+        edit = "";
+        reason = "";
+        changeBy = "";
+        terminal = "";
+    }
+
+    public String getEdit() {
+        return edit;
+    }
+
+    public void setEdit(String edit) {
+        this.edit = edit;
+    }
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+
+    public String getChangeBy() {
+        return changeBy;
+    }
+
+    public void setChangeBy(String changeBy) {
+        this.changeBy = changeBy;
+    }
+
+    public String getTerminal() {
+        return terminal;
+    }
+
+    public void setTerminal(String terminal) {
+        this.terminal = terminal;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_EDIT_LOG.EDIT.tag)) {
+            setEdit(value);
+        } else if (tag_name.equals(CADDataEnums.INC_EDIT_LOG.REASON.tag)) {
+            setReason(value);
+        } else if (tag_name.equals(CADDataEnums.INC_EDIT_LOG.CHANGE_BY.tag)) {
+            setChangeBy(value);
+        } else if (tag_name.equals(CADDataEnums.INC_EDIT_LOG.TERMINAL.tag)) {
+            setTerminal(value);
+        }
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentGeneralInfo.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentGeneralInfo.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentGeneralInfo.java	(revision 3)
@@ -0,0 +1,82 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentGeneralInfo implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_jurisdiction = "";
+    private String init_alarm = "";
+    private String init_agy = "";
+    
+    private String jurisdiction;
+    private String alarm;
+    private String agy;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentGeneralInfo() {
+        jurisdiction = "";
+        alarm = "";
+        agy = "";
+    }
+
+    public void resetCADDataSimulation(){
+        jurisdiction = init_jurisdiction;
+        alarm = init_alarm;
+        agy = init_agy;
+    }
+    
+    public String getJurisdiction() {
+        return jurisdiction;
+    }
+
+    public void setJurisdiction(String jurisdiction) {
+        this.jurisdiction = jurisdiction;
+    }
+
+    public String getAlarm() {
+        return alarm;
+    }
+
+    public void setAlarm(String alarm) {
+        this.alarm = alarm;
+    }
+
+    public String getAgy() {
+        return agy;
+    }
+
+    public void setAgy(String agy) {
+        this.agy = agy;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_GEN_INFO.JURISDICTION.tag)) {
+            init_jurisdiction = value;
+            setJurisdiction(value);
+        } else if (tag_name.equals(CADDataEnums.INC_GEN_INFO.ALARM.tag)) {
+            init_alarm = value;
+            setAlarm(value);
+        } else if (tag_name.equals(CADDataEnums.INC_GEN_INFO.AGY.tag)) {
+            init_agy = value;
+            setAgy(value);
+        }
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentInfo.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentInfo.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentInfo.java	(revision 3)
@@ -0,0 +1,91 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+public class IncidentInfo implements Serializable {
+
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_callInit = "";
+    private String init_callTaken = "";
+    private String init_timeInQ = "";
+    private String init_lastUpdated = "";
+    
+    
+    private String callInit;
+    private String callTaken;
+    private String timeInQ;
+    private String lastUpdated;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentInfo() {
+        callInit = "";
+        callTaken = "";
+        timeInQ = "";
+        lastUpdated = "";
+    }
+    
+    public void resetCADDataSimulation(){
+        callInit = init_callInit;
+        callTaken = init_callTaken;
+        timeInQ = init_timeInQ;
+        lastUpdated = init_lastUpdated;
+    }
+
+    public String getCallInit() {
+        return callInit;
+    }
+
+    public void setCallInit(String callInit) {
+        this.callInit = callInit;
+    }
+
+    public String getCallTaken() {
+        return callTaken;
+    }
+
+    public void setCallTaken(String callTaken) {
+        this.callTaken = callTaken;
+    }
+
+    public String getTimeInQ() {
+        return timeInQ;
+    }
+
+    public void setTimeInQ(String timeInQ) {
+        this.timeInQ = timeInQ;
+    }
+
+    public String getLastUpdated() {
+        return lastUpdated;
+    }
+
+    public void setLastUpdated(String lastUpdated) {
+        this.lastUpdated = lastUpdated;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_INFO.CALL_INITIATED.tag)) {
+            init_callInit = value;
+            setCallInit(value);
+        } else if (tag_name.equals(CADDataEnums.INC_INFO.CALL_TAKEN.tag)) {
+            init_callTaken = value;
+            setCallTaken(value);
+        } else if (tag_name.equals(CADDataEnums.INC_INFO.TIME_IN_Q.tag)) {
+            init_timeInQ = value;
+            setTimeInQ(value);
+        } else if (tag_name.equals(CADDataEnums.INC_INFO.LAST_UPDATED.tag)) {
+            init_lastUpdated = value;
+            setLastUpdated(value);
+        }
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentResponse.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentResponse.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentResponse.java	(revision 3)
@@ -0,0 +1,68 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentResponse implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_plan = "";
+    private String init_area = "";
+    
+    private String plan;
+    private String area;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentResponse() {
+        plan = "";
+        area = "";
+    }
+
+    public void resetCADDataSimulation(){
+        plan = init_plan;
+        area = init_area;
+    }
+    
+    public String getPlan() {
+        return plan;
+    }
+
+    public void setPlan(String plan) {
+        this.plan = plan;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_RESP.PLAN.tag)) {
+            init_plan = value;
+            setPlan(value);
+        } else if (tag_name.equals(CADDataEnums.INC_RESP.AREA.tag)) {
+            init_area = value;
+            setArea(value);
+        }
+
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentProblem.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentProblem.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentProblem.java	(revision 3)
@@ -0,0 +1,88 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentProblem implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_problem = "";
+    private String init_problemCode = "";
+    private String init_priority = "";
+    
+    private String problem;
+    private String problemCode;
+    private String priority;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentProblem(String code, String prio) {
+        problem = "";
+        setProblemCode(code);
+        setPriority(prio);
+    }
+
+    public IncidentProblem() {
+        problem = "";
+        problemCode = "";
+        priority = "";
+    }
+    
+    public void resetCADDataSimulation(){
+        problem = init_problem;
+        problemCode = init_problemCode;
+        priority = init_priority;
+    }
+
+    public String getProblem() {
+        return problem;
+    }
+
+    public void setProblem(String problem) {
+        this.problem = problem;
+    }
+
+    public String getProblemCode() {
+        return problemCode;
+    }
+
+    public void setProblemCode(String problemCode) {
+        this.problemCode = problemCode;
+    }
+
+    public String getPriority() {
+        return priority;
+    }
+
+    public void setPriority(String priority) {
+        this.priority = priority;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_PROBLEM.PROBLEM.tag)) {
+            init_problem = value;
+            setProblem(value);
+        } else if (tag_name.equals(CADDataEnums.INC_PROBLEM.CODE.tag)) {
+            init_problemCode = value;
+            setProblemCode(value);
+        } else if (tag_name.equals(CADDataEnums.INC_PROBLEM.PRIORITY.tag)) {
+            init_priority = value;
+            setPriority(value);
+        }
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/Unit.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/Unit.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/Unit.java	(revision 3)
@@ -0,0 +1,400 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.text.SimpleDateFormat;
+import java.util.Vector;
+
+import tmcsim.client.cadclientgui.enums.UnitStatusEnums;
+import tmcsim.client.cadclientgui.enums.CADScriptTags.UNIT_TAGS;
+import tmcsim.client.cadclientgui.screens.ScreenManager;
+
+/**
+ * This class holds all the data for a unit Object.
+ * 
+ * @author Vincent
+ * 
+ */
+public class Unit {
+
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_id = "";
+    private String init_masterInc = "";
+    private String init_status  = "";
+    private String init_oos  = "";
+    private String init_type  = "";
+    private String init_currentLocation  = "";
+    private String init_destination  = "";
+    private String init_misc  = "";
+    private String init_stack  = "";
+    private String init_area  = "";
+    private String init_badge  = "";
+    private String init_officer  = "";
+    private int init_timer  = 0;
+    private String init_office  = "";
+    private String init_p  = "";
+    private String init_agy  = "";
+    private String init_alias  = "";
+    private UnitStatusEnums init_unitStatus = null;
+    
+    private String id;
+    private String masterInc;
+    private String unitNum;
+    private String status;
+    private String oos;
+    private String type;
+    private String currentLocation;
+    private String destination;
+    private String misc;
+    private String stack;
+    private String area;
+    private String badge;
+    private String officer;
+    private int timer;
+    private String office;
+    private String p;
+    private String agy;
+    private String alias;
+    private UnitStatusEnums unitStatus;
+    private int assignedIncidentId; // -1 means not assigned
+
+    private Vector<Object> toTableVector;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public Unit(String unitNum) {
+        this.unitNum = unitNum;
+        id = "";
+        masterInc = "";
+        status = "";
+        oos = "";
+        type = "";
+        currentLocation = "";
+        destination = "";
+        misc = "";
+        stack = "";
+        area = "";
+        badge = "";
+        officer = "";
+        timer = 0;
+        office = "";
+        p = "";
+        agy = "";
+        alias = "";
+        unitStatus = UnitStatusEnums.Assignable;
+        assignedIncidentId = -1; // Negative means not assigned
+
+        toTableVector = new Vector<Object>();
+    }
+
+    public void resetCADDataSimulation(){
+        id = init_id;
+        masterInc = init_masterInc;
+        status = init_status;
+        oos = init_oos;
+        type = init_type;
+        currentLocation = init_currentLocation;
+        destination = init_destination;
+        misc = init_misc;
+        stack = init_stack;
+        area = init_area;
+        badge = init_badge;
+        officer = init_officer;
+        timer = init_timer;
+        office = init_office;
+        p = init_p;
+        agy = init_agy;
+        alias = init_alias;
+        if(init_unitStatus == null){
+            unitStatus = UnitStatusEnums.Assignable;
+        }else{
+            unitStatus = init_unitStatus;
+        }
+        assignedIncidentId = -1; // Negative means not assigned
+    }
+    
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getMasterInc() {
+        return masterInc;
+    }
+
+    public void setMasterInc(String masterInc) {
+        this.masterInc = masterInc;
+    }
+
+    public String getUnitNum() {
+        return unitNum;
+    }
+
+    public void setUnitNum(String unitNum) {
+        this.unitNum = unitNum;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getOos() {
+        return oos;
+    }
+
+    public void setOos(String oos) {
+        this.oos = oos;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getCurrentLocation() {
+        return currentLocation;
+    }
+
+    public void setCurrentLocation(String currentLocation) {
+        this.currentLocation = currentLocation;
+    }
+
+    public String getDestination() {
+        return destination;
+    }
+
+    public void setDestination(String destination) {
+        this.destination = destination;
+    }
+
+    public String getMisc() {
+        return misc;
+    }
+
+    public void setMisc(String misc) {
+        this.misc = misc;
+    }
+
+    public String getStack() {
+        return stack;
+    }
+
+    public void setStack(String stack) {
+        this.stack = stack;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    public String getBadge() {
+        return badge;
+    }
+
+    public void setBadge(String badge) {
+        this.badge = badge;
+    }
+
+    public String getOfficer() {
+        return officer;
+    }
+
+    public void setOfficer(String officer) {
+        this.officer = officer;
+    }
+
+    public int getTimer() {
+        return timer;
+    }
+
+    public void setTimer(int timer) {
+        this.timer = timer;
+    }
+
+    public String getOffice() {
+        return office;
+    }
+
+    public void setOffice(String office) {
+        this.office = office;
+    }
+
+    public String getP() {
+        return p;
+    }
+
+    public void setP(String p) {
+        this.p = p;
+    }
+
+    public String getAgy() {
+        return agy;
+    }
+
+    public void setAgy(String agy) {
+        this.agy = agy;
+    }
+
+    public String getAlias() {
+        return alias;
+    }
+
+    public void setAlias(String alias) {
+        this.alias = alias;
+    }
+
+    public UnitStatusEnums getUnitStatus() {
+        return unitStatus;
+    }
+
+    public void setUnitStatus(UnitStatusEnums unitStatus) {
+        this.unitStatus = unitStatus;
+    }
+
+    public int getAssignedIncidentId() {
+        return assignedIncidentId;
+    }
+
+    public void setAssignedIncidentId(int id) {
+        this.assignedIncidentId = id;
+    }
+
+    public void resetAssignedIncidentId() {
+        id = "";
+        unitStatus = UnitStatusEnums.Assignable;
+        this.assignedIncidentId = -1; // represents not assigned
+    }
+
+    public Vector<Object> toVector() {
+        toTableVector.clear();
+
+        if (assignedIncidentId >= 0) {
+            id = ((Integer) assignedIncidentId).toString();
+        }
+        toTableVector.add(id);
+        toTableVector.add(masterInc);
+        toTableVector.add(unitNum);
+        toTableVector.add(status);
+        toTableVector.add(oos);
+        toTableVector.add(type);
+        toTableVector.add(currentLocation);
+        toTableVector.add(destination);
+        toTableVector.add(misc);
+        toTableVector.add(stack);
+        toTableVector.add(area);
+        toTableVector.add(badge);
+        toTableVector.add(officer);
+        toTableVector.add(intToHHMMSS(timer));
+        toTableVector.add(office);
+        toTableVector.add(p);
+        toTableVector.add(agy);
+        toTableVector.add(alias);
+        toTableVector.add(unitStatus);
+        return toTableVector;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.ScriptHandler.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(UNIT_TAGS.ID.tag)) {
+            init_id = value;
+            setId(value);
+        }
+        if (tag_name.equals(UNIT_TAGS.STATUS.tag)) {
+            init_status = value;
+            setStatus(value);
+        } else if (tag_name.equals(UNIT_TAGS.MASTER_INC_NUM.tag)) {
+            init_masterInc = value;
+            setMasterInc(value);
+        } else if (tag_name.equals(UNIT_TAGS.OOS.tag)) {
+            init_oos = value;
+            setOos(value);
+        } else if (tag_name.equals(UNIT_TAGS.TYPE.tag)) {
+            init_type = value;
+            setType(value);
+        } else if (tag_name.equals(UNIT_TAGS.CURR_LOC.tag)) {
+            init_currentLocation = value;
+            setCurrentLocation(value);
+        } else if (tag_name.equals(UNIT_TAGS.DESTINATION.tag)) {
+            init_destination = value;
+            setDestination(value);
+        } else if (tag_name.equals(UNIT_TAGS.MISC_INFO.tag)) {
+            init_misc = value;
+            setMisc(value);
+        } else if (tag_name.equals(UNIT_TAGS.STACK.tag)) {
+            init_stack = value;
+            setStack(value);
+        } else if (tag_name.equals(UNIT_TAGS.AREA.tag)) {
+            init_area = value;
+            setArea(value);
+        } else if (tag_name.equals(UNIT_TAGS.OFFICER.tag)) {
+            init_officer = value;
+            setOfficer(value);
+        } else if (tag_name.equals(UNIT_TAGS.BADGE_NUM.tag)) {
+            init_badge = value;
+            setBadge(value);
+        } else if (tag_name.equals(UNIT_TAGS.TIMER.tag)) {
+            init_timer = Integer.parseInt(value);
+            setTimer(Integer.parseInt(value));
+        } else if (tag_name.equals(UNIT_TAGS.OFFICE.tag)) {
+            init_office = value;
+            setOffice(value);
+        } else if (tag_name.equals(UNIT_TAGS.P.tag)) {
+            init_p = value;
+            setP(value);
+        } else if (tag_name.equals(UNIT_TAGS.AGY.tag)) {
+            init_agy = value;
+            setAgy(value);
+        } else if (tag_name.equals(UNIT_TAGS.ALIAS.tag)) {
+            init_alias = value;
+            setAlias(value);
+        } else if (tag_name.equals(UNIT_TAGS.UNIT_STATUS.tag)) {
+            init_unitStatus = UnitStatusEnums.valueOf(value);
+            setUnitStatus(UnitStatusEnums.valueOf(value));
+        }
+
+    }
+
+    public String intToHHMMSS(int time) {
+        String hhmmss = "";
+        int hms;
+
+        hms = time / 3600;
+        time = time % 3600;
+        hhmmss = hhmmss.concat(((Integer) hms).toString() + ":");
+
+        hms = time / 60;
+        time = time % 60;
+        hhmmss = hhmmss.concat(((Integer) hms).toString() + ":"
+                + ((Integer) time).toString());
+
+        return hhmmss;
+    }
+
+    public void TimerMinusSecond() {
+        if (timer > 0) {
+            this.timer--;
+        }
+    }
+
+    public String getTimerInString() {
+        return intToHHMMSS(timer);
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentCaller.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentCaller.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentCaller.java	(revision 3)
@@ -0,0 +1,99 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentCaller implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_callerType = "";
+    private String init_callerName = "";
+    private String init_phone = "";
+    private String init_ext = "";
+    
+    private String callerType;
+    private String callerName;
+    private String phone;
+    private String ext;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentCaller(String type, String name) {
+        setCallerType(type);
+        setCallerName(name);
+    }
+
+    public IncidentCaller() {
+        callerType = "";
+        callerName = "";
+    }
+    
+    public void resetCADDataSimulation(){
+        callerType = init_callerType;
+        callerName = init_callerName;
+        phone = init_phone;
+        ext = init_ext;
+    }
+
+    public String getCallerType() {
+        return callerType;
+    }
+
+    public void setCallerType(String callerType) {
+        this.callerType = callerType;
+    }
+
+    public String getCallerName() {
+        return callerName;
+    }
+
+    public void setCallerName(String callerName) {
+        this.callerName = callerName;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getExt() {
+        return ext;
+    }
+
+    public void setExt(String ext) {
+        this.ext = ext;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_CALLER.TYPE.tag)) {
+            init_callerType = value;
+            setCallerType(value);
+        } else if (tag_name.equals(CADDataEnums.INC_CALLER.NAME.tag)) {
+            init_callerName = value;
+            setCallerName(value);
+        } else if (tag_name.equals(CADDataEnums.INC_CALLER.PHONE.tag)) {
+            init_phone = value;
+            setPhone(value);
+        } else if (tag_name.equals(CADDataEnums.INC_CALLER.EXT.tag)) {
+            init_ext = value;
+            setExt(value);
+        }
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/CADData.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/CADData.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/CADData.java	(revision 3)
@@ -0,0 +1,350 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.Serializable;
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+import java.util.Collections;
+import java.util.Vector;
+
+import javax.swing.Timer;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+
+import tmcsim.client.cadclientgui.enums.IncidentEnums;
+import tmcsim.client.cadclientgui.enums.TableHeaders;
+import tmcsim.client.cadclientgui.enums.UnitStatusEnums;
+import tmcsim.interfaces.CADClientInterface;
+
+/**
+ * This class holds the data for all the units and incidents. It is responsible
+ * for sending out data to all the screens.
+ * 
+ * @author Vincent
+ * 
+ */
+public class CADData implements Serializable {
+
+    private final int ONE_SECOND = 1000;
+
+    private static Vector<Unit> units;
+    private static Vector<Incident> incidents;
+    private static Vector<String> assignedIncidentsHeaders;
+    private static Vector<String> unitStatusHeaders;
+    private static Vector<String> pendingIncidentsHeaders;
+    private static Vector<String> incidentEditorHeaders;
+    private static Vector<Object> toUnitTableVector;
+    private static Vector<Object> toPendingTableVector;
+    private static Vector<Object> toAssignedTableVector;
+    private static Vector<Object> toIncidentEditorVector;
+    private static Vector<Object> toCommentsNotesVector;
+    private static DefaultTableModel pendingIncidentsTableModel;
+    private static DefaultTableModel unitStatusTableModel;
+    private static DefaultTableModel assignedIncidentsTableModel;
+    private static DefaultTableModel incidentEditorModel;
+
+    public CADData() {
+        units = new Vector<Unit>();
+        incidents = new Vector<Incident>();
+
+        toUnitTableVector = new Vector<Object>();
+        toPendingTableVector = new Vector<Object>();
+        toAssignedTableVector = new Vector<Object>();
+        toIncidentEditorVector = new Vector<Object>();
+        toCommentsNotesVector = new Vector<Object>();
+        assignedIncidentsHeaders = new Vector<String>();
+        pendingIncidentsHeaders = new Vector<String>();
+        unitStatusHeaders = new Vector<String>();
+        incidentEditorHeaders = new Vector<String>();
+        initializeAssignedIncidentsSettings();
+        initializeUnitStatusSettings();
+        initializePendingIncidentsSettings();
+        initializeIncidentEditorSettings();
+
+        handleUpdateTimes();
+    }
+    
+    public void clearData(){
+        units = new Vector<Unit>();
+        incidents = new Vector<Incident>();
+    }
+    
+    public void resetSimulation(){
+        for(Incident inc : incidents){
+            inc.resetCADDataSimulation();
+        }
+        for(Unit unit : units){
+            unit.resetCADDataSimulation();
+        }
+    }
+
+    private void initializeAssignedIncidentsSettings() {
+        Collections
+                .addAll(assignedIncidentsHeaders, TableHeaders.ASSIGNED_INCIDENTS_HEADERS);
+        assignedIncidentsTableModel = new DefaultTableModel() {
+            public boolean isCellEditable(int row, int column) {
+                return false;// This causes all cells to be not editable
+            }
+        };
+        assignedIncidentsTableModel
+                .setColumnIdentifiers(TableHeaders.ASSIGNED_INCIDENTS_HEADERS);
+    }
+
+    private void initializeUnitStatusSettings() {
+        Collections.addAll(unitStatusHeaders, TableHeaders.UNIT_STATUS_HEADERS);
+        unitStatusTableModel = new DefaultTableModel() {
+            public boolean isCellEditable(int row, int column) {
+                return false;// This causes all cells to be not editable
+            }
+        };
+        unitStatusTableModel.setColumnIdentifiers(TableHeaders.UNIT_STATUS_HEADERS);
+    }
+
+    private void initializeIncidentEditorSettings() {
+        Collections.addAll(incidentEditorHeaders, TableHeaders.INCIDENT_EDITOR_HEADERS);
+        incidentEditorModel = new DefaultTableModel() {
+            public boolean isCellEditable(int row, int column) {
+                return false;// This causes all cells to be not editable
+            }
+        };
+        incidentEditorModel.setColumnIdentifiers(TableHeaders.INCIDENT_EDITOR_HEADERS);
+    }
+
+    private void initializePendingIncidentsSettings() {
+        Collections.addAll(pendingIncidentsHeaders, TableHeaders.PENDING_INCIDENTS_HEADERS);
+        pendingIncidentsTableModel = new DefaultTableModel() {
+            public boolean isCellEditable(int row, int column) {
+                return false;// This causes all cells to be not editable
+            }
+        };
+        pendingIncidentsTableModel
+                .setColumnIdentifiers(TableHeaders.PENDING_INCIDENTS_HEADERS);
+    }
+
+    /**
+     * Obtains the list of units from the XML.
+     * 
+     * @param unit
+     *            the new list of units.
+     */
+    public void setUnitsFromXML(Vector<Unit> unit) {
+        units = unit;
+    }
+
+    /**
+     * Obtains the list of incidents from the XML.
+     * 
+     * @param incident
+     *            the new list of incidents.
+     */
+    public void setIncidentsFromXML(Vector<Incident> incident) {
+        incidents = incident;
+    }
+
+    /**
+     * Returns the specified unitNum
+     */
+    public Unit getUnit(String unitNum) {
+        for (int i = 0; i < units.size(); i++) {
+            if (units.get(i).getUnitNum().equals(unitNum)) {
+                return units.get(i);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Check if it contains an incident with the specified Id.
+     */
+    public boolean checkForValidId(int incidentId) {
+        for (int i = 0; i < incidents.size(); i++) {
+            if (incidents.get(i).getLogNum() == incidentId) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Uses an Incident's masterInc to look up its corresponding ID.
+     * 
+     * @param masterInc
+     *            the Incident's masterInc
+     * @return the Incident's ID, -1 if invalid masterInc
+     */
+    public int getIncidentId(String masterInc) {
+        for (int i = 0; i < incidents.size(); i++) {
+            if (incidents.get(i).getMasterInc().equals(masterInc)) {
+                return incidents.get(i).getLogNum();
+            }
+        }
+        return -1;
+    }
+
+    /**
+     * Returns the specified incident
+     */
+    public Incident getIncident(int incidentId) {
+        for (int i = 0; i < incidents.size(); i++) {
+            if (incidents.get(i).getLogNum() == incidentId) {
+                return incidents.get(i);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Sends all the objects for UnitStatus
+     * 
+     * @return DefaultTableModel for UnitStatus
+     */
+    public DefaultTableModel tableForUnitStatus() {
+        toUnitTableVector.clear();
+        for (int i = 0; i < units.size(); i++) {
+            toUnitTableVector.add(units.get(i).toVector());
+        }
+        unitStatusTableModel
+                .setDataVector(toUnitTableVector, unitStatusHeaders);
+        return unitStatusTableModel;
+    }
+
+    /**
+     * Sends all the objects for AssignedIncidents
+     * 
+     * @return DefaultTableModel for AssignedIncidents
+     */
+    public DefaultTableModel tableForAssignedIncidents() {
+        toAssignedTableVector.clear();
+        for (int i = 0; i < incidents.size(); i++) {
+            if (incidents.get(i).hasOccured()
+                    && incidents.get(i).getIncidentStatus() == IncidentEnums.Assigned) {
+                toAssignedTableVector.add(incidents.get(i)
+                        .toVectorForAssignedIncidents());
+            }
+        }
+        assignedIncidentsTableModel.setDataVector(toAssignedTableVector,
+                assignedIncidentsHeaders);
+        return assignedIncidentsTableModel;
+    }
+
+    /**
+     * Sends all the objects for PendingIncidents
+     * 
+     * @return DefaultTableModel for PendingIncidents
+     */
+    public DefaultTableModel tableForPendingIncidents() {
+        toPendingTableVector.clear();
+        for (int i = 0; i < incidents.size(); i++) {
+            if (incidents.get(i).hasOccured()
+                    && incidents.get(i).getIncidentStatus() == IncidentEnums.Pending) {
+                toPendingTableVector.add(incidents.get(i)
+                        .toVectorForPendingIncidents());
+            }
+        }
+        pendingIncidentsTableModel.setDataVector(toPendingTableVector,
+                pendingIncidentsHeaders);
+        return pendingIncidentsTableModel;
+    }
+
+    /**
+     * Sends all the objects for IncidentEditor
+     * 
+     * @return DefaultTableModel for IncidentEditor
+     */
+    public DefaultTableModel tableForIncidentEditor() {
+        toIncidentEditorVector.clear();
+        for (int i = 0; i < incidents.size(); i++) {
+            if (incidents.get(i).hasOccured()) {
+                toIncidentEditorVector.add(incidents.get(i)
+                        .toVectorForIncidentEditor());
+            }
+        }
+        incidentEditorModel.setDataVector(toIncidentEditorVector,
+                incidentEditorHeaders);
+        return incidentEditorModel;
+    }
+
+    /**
+     * Sets up a timer to subtract one from the unit's timer every second.
+     */
+    public void handleUpdateTimes() {
+        Timer timer = new Timer(ONE_SECOND, new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                for (int i = 0; i < units.size(); i++) {
+                    units.get(i).TimerMinusSecond();
+                }
+            }
+        });
+        timer.start();
+    }
+    
+    /**
+     * Assigns the specified unit to the specified incident and updates information in both screens
+     * @param unitNum the unit being assigned
+     * @param incidentNum the incident being assigned to
+     * @param primary whether or not the assigned unit is the primary unit
+     */
+    
+    public void unitAssignedToIncident(String unitNum, int incidentNum, boolean primary){
+        if(primary){
+            getIncident(incidentNum).setPrimaryAssignedUnitNum(unitNum);
+            getIncident(incidentNum).setIncidentStatus(IncidentEnums.Assigned);
+        }else{
+            getIncident(incidentNum).addAssignedUnitNum(unitNum);
+        }
+            
+        getUnit(unitNum).setAssignedIncidentId(incidentNum);
+        getUnit(unitNum).setMasterInc(getIncident(incidentNum).getMasterInc());
+        getUnit(unitNum).setStatus("ENRT");
+        getUnit(unitNum).setUnitStatus(UnitStatusEnums.Enroute);
+        getUnit(unitNum).setType(getIncident(incidentNum).getAdditionalInfo().getType());
+        getUnit(unitNum).setDestination(getIncident(incidentNum).getIncidentLocation().getAddress());
+        getUnit(unitNum).setArea(getIncident(incidentNum).getIncidentLocation().getArea()); 
+        getUnit(unitNum).setP(getIncident(incidentNum).getP());
+    }
+    
+    /**
+     * Updates information in both incident and unit screens for when a unit has arrived at scene
+     * aka that the unit status is "10-97"
+     * @param unitNum the unit which arrived at the scene
+     */
+    public void unitArrivedAtIncidentScene(String unitNum, int incidentNum, boolean primary){
+        if(getUnit(unitNum).getAssignedIncidentId() != incidentNum){
+            if(primary){
+                getIncident(incidentNum).setPrimaryAssignedUnitNum(unitNum);
+                getIncident(incidentNum).setIncidentStatus(IncidentEnums.Assigned);
+            }else{
+                getIncident(incidentNum).addAssignedUnitNum(unitNum);
+            }
+            getUnit(unitNum).setAssignedIncidentId(incidentNum);
+            getUnit(unitNum).setMasterInc(getIncident(incidentNum).getMasterInc());
+            getUnit(unitNum).setType(getIncident(incidentNum).getAdditionalInfo().getType());
+            getUnit(unitNum).setDestination(getIncident(incidentNum).getIncidentLocation().getAddress());
+            getUnit(unitNum).setArea(getIncident(incidentNum).getIncidentLocation().getArea()); 
+            getUnit(unitNum).setP(getIncident(incidentNum).getP());
+        }
+        getUnit(unitNum).setStatus("10-97");
+        getUnit(unitNum).setUnitStatus(UnitStatusEnums.Arrived);
+        getUnit(unitNum).setCurrentLocation(getUnit(unitNum).getDestination());
+    }
+    
+    /**
+     * Updates information in both incident and unit screens for when a unit has become available again
+     * aka that the unit status is "10-98"
+     * @param unitNum the unit which arrived at the scene
+     */
+    public void unitAvailable(String unitNum){
+        getIncident(getUnit(unitNum).getAssignedIncidentId()).removeAssignedUnitNum(unitNum);
+        
+        getUnit(unitNum).setStatus("10-98");
+        getUnit(unitNum).setUnitStatus(UnitStatusEnums.Assignable);
+        getUnit(unitNum).setAssignedIncidentId(-1);
+        getUnit(unitNum).setMasterInc("");
+        getUnit(unitNum).setType("");
+        getUnit(unitNum).setDestination("");
+        getUnit(unitNum).setP("");
+        
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentActivities.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentActivities.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentActivities.java	(revision 3)
@@ -0,0 +1,112 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentActivities implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_vehicle = "";
+    private String init_activity = "";
+    private String init_location = "";
+    private String init_comment = "";
+    private String init_disp = "";
+    
+    private String vehicle;
+    private String activity;
+    private String location;
+    private String comment;
+    private String disp;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentActivities() {
+        vehicle = "";
+        activity = "";
+        location = "";
+        comment = "";
+        disp = "";
+    }
+    
+    public void resetCADDataSimulation(){
+        vehicle = init_vehicle;
+        activity = init_activity;
+        location = init_location;
+        comment = init_comment;
+        disp = init_disp;
+    }
+
+    public String getVehicle() {
+        return vehicle;
+    }
+
+    public void setVehicle(String vehicle) {
+        this.vehicle = vehicle;
+    }
+
+    public String getActivity() {
+        return activity;
+    }
+
+    public void setActivity(String activity) {
+        this.activity = activity;
+    }
+
+    public String getLocation() {
+        return location;
+    }
+
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    public String getDisp() {
+        return disp;
+    }
+
+    public void setDisp(String disp) {
+        this.disp = disp;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(CADDataEnums.INC_ACTIVITIES.VEHICLE.tag)) {
+            init_vehicle = value;
+            setVehicle(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ACTIVITIES.ACTIVITY.tag)) {
+            init_activity = value;
+            setActivity(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ACTIVITIES.LOCATION.tag)) {
+            init_location = value;
+            setLocation(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ACTIVITIES.COMMENT.tag)) {
+            init_comment = value;
+            setComment(value);
+        } else if (tag_name.equals(CADDataEnums.INC_ACTIVITIES.DISP.tag)) {
+            init_disp = value;
+            setDisp(value);
+        }
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentLocation.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentLocation.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentLocation.java	(revision 3)
@@ -0,0 +1,292 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADScriptTags.INCIDENT_LOCATION_TAGS;
+
+/**
+ * This class is a further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentLocation implements Serializable {
+    
+    /* The init variables are set only from the XML script (readXMLNode method)
+     * and are only used for resetCADDataSimulation purposes
+     */
+    private String init_address = "";
+    private String init_loc = "";
+    private String init_city = "";
+    private String init_county = "";
+    private String init_state = "";
+    private String init_zip = "";
+    private String init_beat = "";
+    private String init_area = "";
+    private String init_sector = "";
+    private String init_sectorCode = "";
+    private String init_division = "";
+    private String init_apt = "";
+    private String init_building = "";
+    private String init_crossSt = "";
+    private String init_law = "";
+    private String init_fire = "";
+    private String init_ems = "";
+    
+    private String address;
+    private String loc;
+    private String city;
+    private String county;
+    private String state;
+    private String zip;
+    private String beat;
+    private String area;
+    private String sector;
+    private String sectorCode;
+    private String division;
+    private String apt;
+    private String building;
+    private String crossSt;
+    private String law;
+    private String fire;
+    private String ems;
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentLocation() {
+        address = "";
+        loc = "";
+        city = "";
+        county = "";
+        state = "";
+        zip = "";
+        beat = "";
+        area = "";
+        sector = "";
+        sectorCode = "";
+        division = "";
+        apt = "";
+        building = "";
+        crossSt = "";
+        law = "";
+        fire = "";
+        ems = "";
+    }
+
+    public void resetCADDataSimulation(){
+        address = init_address;
+        loc = init_loc;
+        city = init_city;
+        county = init_county;
+        state = init_state;
+        zip = init_zip;
+        beat = init_beat;
+        area = init_area;
+        sector = init_sector;
+        sectorCode = init_sectorCode;
+        division = init_division;
+        apt = init_apt;
+        building = init_building;
+        crossSt = init_crossSt;
+        law = init_law;
+        fire = init_fire;
+        ems = init_ems;
+    }
+    
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getLoc() {
+        return loc;
+    }
+
+    public void setLoc(String loc) {
+        this.loc = loc;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getCounty() {
+        return county;
+    }
+
+    public void setCounty(String county) {
+        this.county = county;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public String getZip() {
+        return zip;
+    }
+
+    public void setZip(String zip) {
+        this.zip = zip;
+    }
+
+    public String getBeat() {
+        return beat;
+    }
+
+    public void setBeat(String beat) {
+        this.beat = beat;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    public String getSector() {
+        return sector;
+    }
+
+    public void setSector(String sector) {
+        this.sector = sector;
+    }
+
+    public String getSectorCode() {
+        return sectorCode;
+    }
+
+    public void setSectorCode(String sectorCode) {
+        this.sectorCode = sectorCode;
+    }
+
+    public String getDivision() {
+        return division;
+    }
+
+    public void setDivision(String division) {
+        this.division = division;
+    }
+
+    public String getApt() {
+        return apt;
+    }
+
+    public void setApt(String apt) {
+        this.apt = apt;
+    }
+
+    public String getBuilding() {
+        return building;
+    }
+
+    public void setBuilding(String building) {
+        this.building = building;
+    }
+
+    public String getCrossSt() {
+        return crossSt;
+    }
+
+    public void setCrossSt(String crossSt) {
+        this.crossSt = crossSt;
+    }
+
+    public String getLaw() {
+        return law;
+    }
+
+    public void setLaw(String law) {
+        this.law = law;
+    }
+
+    public String getFire() {
+        return fire;
+    }
+
+    public void setFire(String fire) {
+        this.fire = fire;
+    }
+
+    public String getEms() {
+        return ems;
+    }
+
+    public void setEms(String ems) {
+        this.ems = ems;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(INCIDENT_LOCATION_TAGS.ADDRESS.tag)) {
+            init_address = value;
+            setAddress(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.LOC.tag)) {
+            init_loc = value;
+            setLoc(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.CITY.tag)) {
+            init_city = value;
+            setCity(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.COUNTY.tag)) {
+            init_county = value;
+            setCounty(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.STATE.tag)) {
+            init_state = value;
+            setState(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.ZIP.tag)) {
+            init_zip = value;
+            setZip(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.BEAT.tag)) {
+            init_beat = value;
+            setBeat(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.AREA.tag)) {
+            init_area = value;
+            setArea(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.SECTOR.tag)) {
+            init_sector = value;
+            setSector(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.SECTOR_CODE.tag)) {
+            init_sectorCode = value;
+            setSectorCode(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.DIVISION.tag)) {
+            init_division = value;
+            setDivision(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.APT.tag)) {
+            init_apt = value;
+            setApt(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.BUILDING.tag)) {
+            init_building = value;
+            setBuilding(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.CROSS_STREET.tag)) {
+            init_crossSt = value;
+            setCrossSt(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.LAW.tag)) {
+            init_law = value;
+            setLaw(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.FIRE.tag)) {
+            init_fire = value;
+            setFire(value);
+        } else if (tag_name.equals(INCIDENT_LOCATION_TAGS.EMS.tag)) {
+            init_ems = value;
+            setEms(value);
+        }
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/IncidentTransportInfo.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/IncidentTransportInfo.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/IncidentTransportInfo.java	(revision 3)
@@ -0,0 +1,87 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+/**
+ * NOT IN USE. Originally meant for TransportInfo Tab in IncidentViewer.
+ * This class is a
+ * further subdivision of Incident to hold data.
+ * 
+ * @author Vincent
+ * 
+ */
+public class IncidentTransportInfo implements Serializable {
+    private String name;
+    private String toCity;
+    private String toLocation;
+    private String toState;
+
+    private static enum TRANSPORT_INFO_ENUMS {
+        NAME("NAME"), TO_CITY("TO_CITY"), TO_LOCATION("TO_LOCATION"), TO_STATE(
+                "TO_STATE");
+
+        public String tag;
+
+        private TRANSPORT_INFO_ENUMS(String t) {
+            tag = t;
+        }
+    }
+
+    /*
+     * Constructor. Initializes all objects to avoid null pointers.
+     */
+    public IncidentTransportInfo() {
+        name = "";
+        toCity = "";
+        toLocation = "";
+        toState = "";
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getToCity() {
+        return toCity;
+    }
+
+    public void setToCity(String toCity) {
+        this.toCity = toCity;
+    }
+
+    public String getToLocation() {
+        return toLocation;
+    }
+
+    public void setToLocation(String toLocation) {
+        this.toLocation = toLocation;
+    }
+
+    public String getToState() {
+        return toState;
+    }
+
+    public void setToState(String toState) {
+        this.toState = toState;
+    }
+
+    /*
+     * Called from the tmc.simulator.cadclient.data.Incident.java. Handles
+     * storing data based on script tag.
+     */
+    public void readXMLNode(String tag_name, String value) {
+        if (tag_name.equals(TRANSPORT_INFO_ENUMS.NAME.tag)) {
+            setName(value);
+        } else if (tag_name.equals(TRANSPORT_INFO_ENUMS.TO_CITY.tag)) {
+            setToCity(value);
+        } else if (tag_name.equals(TRANSPORT_INFO_ENUMS.TO_LOCATION.tag)) {
+            setToLocation(value);
+        } else if (tag_name.equals(TRANSPORT_INFO_ENUMS.TO_STATE.tag)) {
+            setToState(value);
+        }
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/ChangeLog.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/ChangeLog.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/ChangeLog.java	(revision 3)
@@ -0,0 +1,66 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+
+import tmcsim.client.cadclientgui.enums.CADDataEnums.EditCommand;
+
+/**
+ * Each changelog holds enough data to remember which object was changed and
+ * what was changed, so that upon close, the user can choose to keep or forget
+ * the changes.
+ * 
+ * @author Vincent
+ * 
+ */
+public class ChangeLog implements Serializable {
+
+    public EditCommand command;
+    public String listTitle;
+    public int id;
+    public String newValue;
+    public CardfileDataObject newCardfileObject;
+    public String[] tableFields = new String[4];
+    public String timeStamp;
+
+    // creates an edit log to modify any one field of a CardfileDataObject
+    public ChangeLog(EditCommand command, String listTitle, int id,
+            String newValue) {
+        this.command = command;
+        this.listTitle = listTitle;
+        this.id = id;
+        this.newValue = newValue;
+    }
+
+    // creates an add log for a CardfileDataObject
+    public ChangeLog(EditCommand command, String listTitle,
+            CardfileDataObject newObj) {
+        this.command = command;
+        this.listTitle = listTitle;
+        this.newCardfileObject = newObj;
+    }
+
+    // create a delete log for a CardfileDataObject
+    public ChangeLog(EditCommand command, String listTitle, int id) {
+        this.command = command;
+        this.listTitle = listTitle;
+        this.id = id;
+    }
+
+    // create an add log for a CardfileDataObject's table
+    public ChangeLog(EditCommand command, String listTitle, int id,
+            String[] tableFields) {
+        this.command = command;
+        this.listTitle = listTitle;
+        this.id = id;
+        this.tableFields = tableFields;
+    }
+
+    // create a delete log for a CardfileDataObject's table
+    public ChangeLog(EditCommand command, String listTitle, String timeStamp,
+            int id) {
+        this.command = command;
+        this.listTitle = listTitle;
+        this.timeStamp = timeStamp;
+        this.id = id;
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/data/CardfileDataObject.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/data/CardfileDataObject.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/data/CardfileDataObject.java	(revision 3)
@@ -0,0 +1,137 @@
+package tmcsim.client.cadclientgui.data;
+
+import java.io.Serializable;
+import java.util.LinkedList;
+
+import javax.swing.table.DefaultTableModel;
+
+public class CardfileDataObject implements Serializable {
+
+    private int idTag;
+
+    private String category;
+    private String name;
+    private String address;
+    private String city;
+    private String state;
+    private String zip;
+    private String phone1;
+    private String phone2;
+    private String fax;
+    private LinkedList<String[]> commentsTableFields;
+
+    public CardfileDataObject(String category, String name, int idTag) {
+        this.idTag = idTag;
+        this.category = category;
+        this.name = name;
+        address = "";
+        city = "";
+        state = "";
+        zip = "";
+        phone1 = "";
+        phone2 = "";
+        fax = "";
+        commentsTableFields = new LinkedList<String[]>();
+    }
+
+    public int getId() {
+        return idTag;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+    
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setZip(String zip) {
+        this.zip = zip;
+    }
+
+    public String getZip() {
+        return zip;
+    }
+
+    public void setPhone1(String phone1) {
+        this.phone1 = phone1;
+    }
+
+    public String getPhone1() {
+        return phone1;
+    }
+
+    public void setPhone2(String phone2) {
+        this.phone2 = phone2;
+    }
+
+    public String getPhone2() {
+        return phone2;
+    }
+
+    public void setFax(String fax) {
+        this.fax = fax;
+    }
+
+    public String getFax() {
+        return fax;
+    }
+
+    public LinkedList<String[]> getCommentsTableFields() {
+        return commentsTableFields;
+    }
+
+    public void addComment(String[] fields) {
+        commentsTableFields.add(fields);
+    }
+
+    public void removeComment(String timeStamp) {
+        for (int i = 0; i < commentsTableFields.size(); i++) {
+            String[] temp = commentsTableFields.get(i);
+            if (temp[1].equals(timeStamp)) {
+                commentsTableFields.remove(i);
+                return;
+            }
+        }
+    }
+
+    public boolean equals(Object obj) {
+        if (obj.getClass() != getClass()) {
+            return false;
+        }
+        if (idTag != ((CardfileDataObject) obj).idTag) {
+            return false;
+        }
+        return true;
+    }
+
+}
Index: trunk/src/tmcsim/client/cadclientgui/CADClientGUI.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/CADClientGUI.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/CADClientGUI.java	(revision 3)
@@ -0,0 +1,48 @@
+package tmcsim.client.cadclientgui;
+
+import java.rmi.RemoteException;
+
+import tmcsim.client.cadclientgui.data.CADData;
+import tmcsim.client.cadclientgui.data.CardfileData;
+import tmcsim.client.cadclientgui.screens.Login;
+import tmcsim.client.cadclientgui.screens.ScreenManager;
+import tmcsim.client.CADClient;
+
+/**
+ * Main class to run CADClient.
+ * @author Nicholas
+ *
+ */
+
+
+public class CADClientGUI {
+
+    private CADData cadData;
+    private CardfileData cardfileData;
+    public static ScreenManager screen;
+    public static Login login;
+    public static CADClient client;
+    
+    public CADClientGUI(){
+        //cadData = new CADData();
+        cardfileData = new CardfileData();
+    }
+    
+    public CADData getCadData(){
+        return this.cadData;
+    }
+    
+    public void setCadData(CADData cadData){
+        this.cadData = cadData;
+    }
+    
+    public CardfileData getCardfileData(){
+        return this.cardfileData;
+    }
+    
+    public void setCardfileData(CardfileData cardfileData){
+        this.cardfileData = cardfileData;
+    }
+
+    
+}
Index: trunk/src/tmcsim/client/cadclientgui/CardfileReader.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/CardfileReader.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/CardfileReader.java	(revision 3)
@@ -0,0 +1,34 @@
+package tmcsim.client.cadclientgui;
+
+import java.io.File;
+import java.io.IOException;
+import java.rmi.RemoteException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.xml.sax.SAXException;
+
+import tmcsim.client.cadclientgui.data.CardfileData;
+
+public class CardfileReader {
+
+    public CardfileReader(String filePath, CardfileData cfd)
+            throws RemoteException {
+        CardfileHandler ch = new CardfileHandler(cfd);
+        try {
+            SAXParserFactory.newInstance().newSAXParser()
+                    .parse(new File(filePath), ch);
+        } catch (SAXException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        } catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        } catch (ParserConfigurationException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+
+    }
+}
Index: trunk/src/tmcsim/client/cadclientgui/GUIScriptReader.java
===================================================================
--- trunk/src/tmcsim/client/cadclientgui/GUIScriptReader.java	(revision 3)
+++ trunk/src/tmcsim/client/cadclientgui/GUIScriptReader.java	(revision 3)
@@ -0,0 +1,37 @@
+package tmcsim.client.cadclientgui;
+
+import java.io.File;
+import java.rmi.RemoteException;
+
+import javax.xml.parsers.SAXParserFactory;
+
+import tmcsim.client.cadclientgui.data.CADData;
+
+/**
+ * This class loads the XML script and parses through it in the ScriptHandler. Finally it stores the data from the XML 
+ * into the CADData.
+ * @author Nicholas
+ *
+ */
+public class GUIScriptReader {
+    
+    public GUIScriptReader(String fp, CADData cadData) throws RemoteException
+    {
+        loadScriptFile(new File(fp),cadData);
+    }
+    
+    /*
+     * loads the script from the XML and stores the data in the CADData class.
+     */
+    public static void loadScriptFile(File scriptFile,CADData cadData) throws RemoteException {     
+        try {
+                
+            ScriptHandler sh = new ScriptHandler();
+            SAXParserFactory.newInstance().newSAXParser().parse(scriptFile, sh);
+            //cadData.setUnitsFromXML(sh.getUnits());
+            cadData.setIncidentsFromXML(sh.getIncidents());
+               
+        }
+        catch (Exception e) {e.printStackTrace();}
+    }   
+}
