Index: trunk/src/scriptbuilder/structures/ScriptIncident.java
===================================================================
--- trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 145)
+++ trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 150)
@@ -205,5 +205,56 @@
         script.update();
     }
-
+    /**
+     * shifts all timeslices over by timeAdd amount starting at offset
+     * @param offset amount of time preceding where we want to move all of the following events.
+     * @param timeAdd amount of time added after offset 
+     */
+    public void moveAllFollowingEvents(int offset, int timeAdd)
+    {
+        //int old = this.offset;
+        TreeMap<Integer, TimeSlice> newSlices = new TreeMap<Integer, TimeSlice>();
+
+        
+
+        for (Integer k : slices.keySet())
+        {
+            if(k<offset)
+            {
+                newSlices.put(k, slices.get(k));
+            }else
+            {
+                if(k+timeAdd >0)
+                {
+                    newSlices.put(k+timeAdd, slices.get(k));
+                }else
+                {
+                    newSlices.put(0, slices.get(k));
+                }
+                
+            }
+            
+            
+        }
+        for (TimeSlice ts : newSlices.values())
+        {
+            if(ts.getTime()>offset )
+            {
+                if( ts.getTime()+timeAdd>=0)
+                {
+                    ts.shift(timeAdd);
+                }
+                else
+                {
+                    ts.shift(-ts.getTime());
+                }
+                
+            }
+            
+        }
+        latestStart = (latestStart + timeAdd>0) ? latestStart + timeAdd: 0;
+        slices = newSlices;
+        updateLength();
+        script.update();
+    }
     /**
      * Add a new script event to this incident.
