Index: trunk/src/scriptbuilder/structures/ScriptIncident.java
===================================================================
--- trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 116)
+++ trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 117)
@@ -188,42 +188,32 @@
     public void addNewEvent(I_ScriptEvent ev, int start)
     {
-        //The first event in the incident defines its start point, so it should
-        //be placed at time 0
-        if (start != 0 && slices.size() == 0)
-        {
-            addNewEvent(ev, 0);
-        }
-
+        //Check to see if there's already a timeslice here
+        TimeSlice t = slices.get(start);
+        //If not, make one; then, add the event to it
+        if (t == null)
+        {
+            t = new TimeSlice(start, this);
+            t.addEvent(ev);
+            slices.put(start, t);
+        }
         else
         {
-            //Check to see if there's already a timeslice here
-            TimeSlice t = slices.get(start);
-            //If not, make one; then, add the event to it
-            if (t == null)
-            {
-                t = new TimeSlice(start, this);
-                t.addEvent(ev);
-                slices.put(start, t);
-            }
-            else
-            {
-                t.addEvent(ev);
-            }
-            eventCount++;
-
-            //If this is the latest start time in the incident, update that number
-            if (start > latestStart)
-            {
-                latestStart = start;
-            }
+            t.addEvent(ev);
+        }
+        eventCount++;
+
+        //If this is the latest start time in the incident, update that number
+        if (start > latestStart)
+        {
+            latestStart = start;
+        }
             //If this event is earlier than all previous events, or if there are 
-            //no other events, the offset is equal to this event's start time
-            if (start < offset || eventCount == 1)
-            {
-                offset = start;
-                //System.out.println("Offset: " + offset);
-            }
-            updateLength();
-        }
+        //no other events, the offset is equal to this event's start time
+        if (start < offset || eventCount == 1)
+        {
+            offset = start;
+            //System.out.println("Offset: " + offset);
+        }
+        updateLength();
     }
 
Index: trunk/src/scriptbuilder/gui/IncidentEditorFrame.java
===================================================================
--- trunk/src/scriptbuilder/gui/IncidentEditorFrame.java	(revision 113)
+++ trunk/src/scriptbuilder/gui/IncidentEditorFrame.java	(revision 117)
@@ -89,4 +89,6 @@
             {
                 timeStampScrollPane.getHorizontalScrollBar()
+                        .setValue(timelinesScrollPane.getHorizontalScrollBar().getValue());
+                timeStampScrollPane1.getHorizontalScrollBar()
                         .setValue(timelinesScrollPane.getHorizontalScrollBar().getValue());
             }
@@ -249,7 +251,9 @@
         initComponents();
 
+        absoluteTimeStampPanel.setOffset(savedOffset);
+        absoluteTimeStampPanel.setAbsolute(true);
         timelineTickPanel.update(theIncident, incidentTimelinePanel1);
-        timeStampPanel.update(theIncident, incidentTimelinePanel1);
-
+        absoluteTimeStampPanel.update(theIncident, incidentTimelinePanel1);
+        relativeTimeStampPanel.update(theIncident, incidentTimelinePanel1);
         incidentTimelinePanel1.timelinePanelUpdate(theIncident);
 
@@ -344,5 +348,6 @@
             //Update the appropriate panels
             timelineTickPanel.update(theIncident, incidentTimelinePanel1);
-            timeStampPanel.update(theIncident, incidentTimelinePanel1);
+            absoluteTimeStampPanel.update(theIncident, incidentTimelinePanel1);
+            relativeTimeStampPanel.update(theIncident, incidentTimelinePanel1);
 
             incidentTimelinePanel1.timelinePanelUpdate(theIncident);
@@ -384,7 +389,6 @@
             //gotoIncident.setSelectedItem(i);
         }
-        
+
         //Regardless of update type, do these things to refresh the window
-        
         //Resize the zoom slider scale so that the most zoomed-out state displays
         //the entire incident on the window
@@ -480,6 +484,8 @@
         zoomOutIcon = new javax.swing.JLabel();
         timeStampScrollPane = new javax.swing.JScrollPane();
-        timeStampPanel = new scriptbuilder.gui.panels.TimeStampPanel();
+        absoluteTimeStampPanel = new scriptbuilder.gui.panels.TimeStampPanel();
         btnAddTime = new javax.swing.JButton();
+        timeStampScrollPane1 = new javax.swing.JScrollPane();
+        relativeTimeStampPanel = new scriptbuilder.gui.panels.TimeStampPanel();
 
         cadEvent.setText("CAD Event");
@@ -1285,16 +1291,16 @@
         timeStampScrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
 
-        javax.swing.GroupLayout timeStampPanelLayout = new javax.swing.GroupLayout(timeStampPanel);
-        timeStampPanel.setLayout(timeStampPanelLayout);
-        timeStampPanelLayout.setHorizontalGroup(
-            timeStampPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+        javax.swing.GroupLayout absoluteTimeStampPanelLayout = new javax.swing.GroupLayout(absoluteTimeStampPanel);
+        absoluteTimeStampPanel.setLayout(absoluteTimeStampPanelLayout);
+        absoluteTimeStampPanelLayout.setHorizontalGroup(
+            absoluteTimeStampPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGap(0, 1036, Short.MAX_VALUE)
         );
-        timeStampPanelLayout.setVerticalGroup(
-            timeStampPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+        absoluteTimeStampPanelLayout.setVerticalGroup(
+            absoluteTimeStampPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGap(0, 100, Short.MAX_VALUE)
         );
 
-        timeStampScrollPane.setViewportView(timeStampPanel);
+        timeStampScrollPane.setViewportView(absoluteTimeStampPanel);
 
         btnAddTime.setText("+15:00");
@@ -1306,4 +1312,21 @@
             }
         });
+
+        timeStampScrollPane1.setBorder(null);
+        timeStampScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+        timeStampScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
+
+        javax.swing.GroupLayout relativeTimeStampPanelLayout = new javax.swing.GroupLayout(relativeTimeStampPanel);
+        relativeTimeStampPanel.setLayout(relativeTimeStampPanelLayout);
+        relativeTimeStampPanelLayout.setHorizontalGroup(
+            relativeTimeStampPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 1036, Short.MAX_VALUE)
+        );
+        relativeTimeStampPanelLayout.setVerticalGroup(
+            relativeTimeStampPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 100, Short.MAX_VALUE)
+        );
+
+        timeStampScrollPane1.setViewportView(relativeTimeStampPanel);
 
         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
@@ -1323,12 +1346,12 @@
                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                             .addGroup(layout.createSequentialGroup()
+                                .addComponent(zoomSlider, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(btnAddTime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                            .addGroup(layout.createSequentialGroup()
                                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                     .addComponent(zoomInIcon)
                                     .addComponent(zoomOutIcon))
-                                .addGap(0, 0, Short.MAX_VALUE))
-                            .addGroup(layout.createSequentialGroup()
-                                .addComponent(zoomSlider, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
-                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                                .addComponent(btnAddTime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                                .addGap(0, 0, Short.MAX_VALUE))))
                     .addComponent(timelinesScrollPane, 0, 0, Short.MAX_VALUE)
                     .addComponent(timeStampScrollPane)
@@ -1336,5 +1359,6 @@
                         .addComponent(scriptEventsPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(scriptEventsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                        .addComponent(scriptEventsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                    .addComponent(timeStampScrollPane1))
                 .addContainerGap())
         );
@@ -1342,5 +1366,5 @@
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
-                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                     .addGroup(layout.createSequentialGroup()
                         .addContainerGap()
@@ -1352,17 +1376,19 @@
                                 .addComponent(selectButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))))
                     .addGroup(layout.createSequentialGroup()
-                        .addGap(20, 20, 20)
-                        .addComponent(zoomInIcon)
-                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                             .addGroup(layout.createSequentialGroup()
-                                .addGap(1, 1, 1)
+                                .addGap(9, 9, 9)
+                                .addComponent(zoomInIcon)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                 .addComponent(zoomSlider, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE))
                             .addGroup(layout.createSequentialGroup()
-                                .addGap(17, 17, 17)
+                                .addGap(61, 61, 61)
                                 .addComponent(btnAddTime, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)))
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                         .addComponent(zoomOutIcon)))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(timeStampScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(timeStampScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(timelinesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 324, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -1760,5 +1786,5 @@
      * Add 15 minutes to the end of the timeline. This allows the user to add
      * new events past the current end of the incident
-     * 
+     *
      * @param evt the button press event
      */
@@ -1802,6 +1828,7 @@
         return version;
     }
-    
+
     // Variables declaration - do not modify//GEN-BEGIN:variables
+    private scriptbuilder.gui.panels.TimeStampPanel absoluteTimeStampPanel;
     private javax.swing.JButton activityLogEvalButton;
     private javax.swing.JFrame addNoiseFrame;
@@ -1859,4 +1886,5 @@
     private javax.swing.JComboBox radioTypeComboBox;
     private javax.swing.JLabel radioTypeLabel;
+    private scriptbuilder.gui.panels.TimeStampPanel relativeTimeStampPanel;
     private javax.swing.JList scriptEventsList;
     private javax.swing.JScrollPane scriptEventsPane;
@@ -1870,6 +1898,6 @@
     private javax.swing.JSlider sliderTMCAL;
     private javax.swing.JButton telephoneButton;
-    private scriptbuilder.gui.panels.TimeStampPanel timeStampPanel;
     private javax.swing.JScrollPane timeStampScrollPane;
+    private javax.swing.JScrollPane timeStampScrollPane1;
     private scriptbuilder.gui.panels.TimelineTickPanel timelineTickPanel;
     private javax.swing.JScrollPane timelinesScrollPane;
Index: trunk/src/scriptbuilder/gui/IncidentEditorFrame.form
===================================================================
--- trunk/src/scriptbuilder/gui/IncidentEditorFrame.form	(revision 113)
+++ trunk/src/scriptbuilder/gui/IncidentEditorFrame.form	(revision 117)
@@ -456,14 +456,14 @@
                       <Group type="103" groupAlignment="0" attributes="0">
                           <Group type="102" alignment="0" attributes="0">
-                              <Group type="103" groupAlignment="0" attributes="0">
-                                  <Component id="zoomInIcon" alignment="0" min="-2" max="-2" attributes="0"/>
-                                  <Component id="zoomOutIcon" alignment="0" min="-2" max="-2" attributes="0"/>
-                              </Group>
-                              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
-                          </Group>
-                          <Group type="102" alignment="0" attributes="0">
                               <Component id="zoomSlider" min="-2" pref="31" max="-2" attributes="0"/>
                               <EmptySpace max="-2" attributes="0"/>
                               <Component id="btnAddTime" max="32767" attributes="0"/>
+                          </Group>
+                          <Group type="102" attributes="0">
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="zoomInIcon" min="-2" max="-2" attributes="0"/>
+                                  <Component id="zoomOutIcon" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
                           </Group>
                       </Group>
@@ -476,4 +476,5 @@
                       <Component id="scriptEventsPanel" max="32767" attributes="0"/>
                   </Group>
+                  <Component id="timeStampScrollPane1" alignment="0" max="32767" attributes="0"/>
               </Group>
               <EmptySpace max="-2" attributes="0"/>
@@ -484,5 +485,5 @@
       <Group type="103" groupAlignment="0" attributes="0">
           <Group type="102" alignment="1" attributes="0">
-              <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
                   <Group type="102" attributes="0">
                       <EmptySpace max="-2" attributes="0"/>
@@ -496,18 +497,18 @@
                       </Group>
                   </Group>
-                  <Group type="102" alignment="0" attributes="0">
-                      <EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
-                      <Component id="zoomInIcon" min="-2" max="-2" attributes="0"/>
-                      <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
                           <Group type="102" attributes="0">
-                              <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                              <EmptySpace min="-2" pref="9" max="-2" attributes="0"/>
+                              <Component id="zoomInIcon" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace max="32767" attributes="0"/>
                               <Component id="zoomSlider" min="-2" pref="69" max="-2" attributes="1"/>
                           </Group>
-                          <Group type="102" alignment="0" attributes="0">
-                              <EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
+                          <Group type="102" attributes="0">
+                              <EmptySpace min="-2" pref="61" max="-2" attributes="0"/>
                               <Component id="btnAddTime" min="-2" pref="44" max="-2" attributes="0"/>
                           </Group>
                       </Group>
-                      <EmptySpace max="-2" attributes="0"/>
+                      <EmptySpace max="32767" attributes="0"/>
                       <Component id="zoomOutIcon" min="-2" max="-2" attributes="0"/>
                   </Group>
@@ -516,4 +517,6 @@
               <Component id="timeStampScrollPane" min="-2" pref="20" max="-2" attributes="0"/>
               <EmptySpace max="-2" attributes="0"/>
+              <Component id="timeStampScrollPane1" min="-2" pref="20" max="-2" attributes="0"/>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
               <Component id="timelinesScrollPane" min="-2" pref="324" max="-2" attributes="0"/>
               <EmptySpace max="-2" attributes="0"/>
@@ -1286,5 +1289,5 @@
       <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
       <SubComponents>
-        <Container class="scriptbuilder.gui.panels.TimeStampPanel" name="timeStampPanel">
+        <Container class="scriptbuilder.gui.panels.TimeStampPanel" name="absoluteTimeStampPanel">
 
           <Layout>
@@ -1311,4 +1314,32 @@
       </Events>
     </Component>
+    <Container class="javax.swing.JScrollPane" name="timeStampScrollPane1">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="null"/>
+        </Property>
+        <Property name="horizontalScrollBarPolicy" type="int" value="31"/>
+        <Property name="verticalScrollBarPolicy" type="int" value="21"/>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Container class="scriptbuilder.gui.panels.TimeStampPanel" name="relativeTimeStampPanel">
+
+          <Layout>
+            <DimensionLayout dim="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <EmptySpace min="0" pref="1036" max="32767" attributes="0"/>
+              </Group>
+            </DimensionLayout>
+            <DimensionLayout dim="1">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <EmptySpace min="0" pref="100" max="32767" attributes="0"/>
+              </Group>
+            </DimensionLayout>
+          </Layout>
+        </Container>
+      </SubComponents>
+    </Container>
   </SubComponents>
 </Form>
Index: trunk/src/scriptbuilder/gui/panels/TimeStampPanel.java
===================================================================
--- trunk/src/scriptbuilder/gui/panels/TimeStampPanel.java	(revision 115)
+++ trunk/src/scriptbuilder/gui/panels/TimeStampPanel.java	(revision 117)
@@ -1,4 +1,5 @@
 package scriptbuilder.gui.panels;
 
+import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.Graphics;
@@ -20,4 +21,8 @@
 {
 
+    private int offset = 0;
+
+    private boolean isAbsolute = false;
+
     private int longestLength = ScriptBuilderGuiConstants.TICK_TIMELINE_SMALLEST_LENGTH;
 
@@ -38,4 +43,14 @@
     {
         super();
+    }
+
+    public void setOffset(int newOffset)
+    {
+        offset = newOffset;
+    }
+
+    public void setAbsolute(boolean abs)
+    {
+        isAbsolute = abs;
     }
 
@@ -144,9 +159,15 @@
                 * ScriptBuilderGuiConstants.PIXEL_WIDTH_PER_HORIZONTAL_TICK
                 + ScriptBuilderGuiConstants.TICK_TIMELINE_LEFT_MARGIN;
-        int seconds = 0;
+        int seconds = offset;
 
         // Major Ticks
-        g2d.setColor(ScriptBuilderGuiConstants.TIMELINE_TICK_COLOR);
-        seconds = 0;
+        if (isAbsolute)
+        {
+            g2d.setColor(Color.red);
+        }
+        else
+        {
+            g2d.setColor(ScriptBuilderGuiConstants.TIMELINE_TICK_COLOR);
+        }
         for (int i = ScriptBuilderGuiConstants.TICK_TIMELINE_LEFT_MARGIN;
                 i <= longestLengthPlusMargin;
Index: trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java
===================================================================
--- trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 113)
+++ trunk/src/scriptbuilder/gui/panels/IncidentTimelinePanel.java	(revision 117)
@@ -243,4 +243,8 @@
                 if (getTopLevelAncestor() instanceof IncidentEditorFrame)
                 {
+                    if (incident.slices.size() == 0)
+                    {
+                        newSlice = 0;
+                    }
                     if (g.currentEventType != null)
                     {
Index: trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java
===================================================================
--- trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 114)
+++ trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 117)
@@ -1543,5 +1543,7 @@
             script.incidents.get(indx).setOffset((Integer) addIncidentStart.getValue() * 60);
             script.numberOfIncidents++;
-            new IncidentEditorFrame(script.incidents.get(indx), this).setVisible(true);
+            IncidentEditorFrame editor = new IncidentEditorFrame(script.incidents.get(indx), this);
+            
+            editor.setVisible(true);
         }
         else//editing existing incident
