Index: trunk/src/scriptbuilder/structures/TimeSlice.java
===================================================================
--- trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 46)
+++ trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 47)
@@ -223,29 +223,31 @@
         output += thisIncident.name + XMLWriter.closeTag(ELEMENT.INCIDENT.tag);
 
-        output += XMLWriter.openTag(ELEMENT.CAD_DATA.tag);
-        output += cadData.toXML();
-        output += XMLWriter.openTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
-        if (containsCADIncidentEvent())
-        {
-
-            for (I_ScriptEvent ev : eventsCopy)
-            {
-                if (ev instanceof I_XML_Writable && isCADIncidentEvent(ev))
+        if (cadData.hasCadData() || containsCADIncidentEvent())
+        {
+            output += XMLWriter.openTag(ELEMENT.CAD_DATA.tag);
+            output += cadData.toXML();
+
+            if (containsCADIncidentEvent())
+            {
+                output += XMLWriter.openTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
+                for (I_ScriptEvent ev : eventsCopy)
                 {
-                    I_XML_Writable ex = (I_XML_Writable) ev;
-                    output += ex.toXML();
+                    if (ev instanceof I_XML_Writable && isCADIncidentEvent(ev))
+                    {
+                        I_XML_Writable ex = (I_XML_Writable) ev;
+                        output += ex.toXML();
+                    }
+                    else
+                    {
+                        eventsCopy2.add(ev);
+                    }
                 }
-                else
-                {
-                    eventsCopy2.add(ev);
-                }
-            }
-
-            eventsCopy = eventsCopy2;
-
-        }
-        output += XMLWriter.closeTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
-
-        output += XMLWriter.closeTag(ELEMENT.CAD_DATA.tag);
+
+                eventsCopy = eventsCopy2;
+                output += XMLWriter.closeTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
+            }
+
+            output += XMLWriter.closeTag(ELEMENT.CAD_DATA.tag);
+        }
 
         if (cadData.hasGeneralInfo())
Index: trunk/src/scriptbuilder/structures/CadData.java
===================================================================
--- trunk/src/scriptbuilder/structures/CadData.java	(revision 46)
+++ trunk/src/scriptbuilder/structures/CadData.java	(revision 47)
@@ -141,7 +141,7 @@
 
             output += XMLWriter.simpleTag(Header_Beat, ELEMENT.Beat);
-            
+
             output += XMLWriter.simpleTag(Header_TruncLoc, ELEMENT.TruncLoc);
-            
+
             output += XMLWriter.simpleTag(Header_FullLoc, ELEMENT.FullLoc);
 
@@ -184,3 +184,9 @@
     }
 
+    public boolean hasCadData()
+    {
+        return hasHeaderInfo() || hasLocation() || hasAdditionalInfo()
+                || !Master_Inc_Num.equals("") || !P.equals("") || !Agy.equals("")
+                || locInfo.size() > 0;
+    }
 }
Index: trunk/src/scriptbuilder/structures/ScriptIncident.java
===================================================================
--- trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 46)
+++ trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 47)
@@ -240,5 +240,5 @@
     {
         String output = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
-        output += "<!DOCTYPE TMC_SCRIPT SYSTEM \"script.dtd\">";
+        output += "<!DOCTYPE TMC_SCRIPT SYSTEM \"script.dtd\">\n";
         output += XMLWriter.openTag(ELEMENT.TMC_SCRIPT.tag + " title=\"" + this.script.title + "\"");
 
Index: trunk/src/scriptbuilder/structures/events/ParamicsEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/ParamicsEvent.java	(revision 46)
+++ trunk/src/scriptbuilder/structures/events/ParamicsEvent.java	(revision 47)
@@ -33,4 +33,5 @@
 
     public String locationID = "";
+
     @Override
     public String toXML()
@@ -40,9 +41,12 @@
         output += XMLWriter.simpleTag(status, ELEMENT.Status);
 
-        output += XMLWriter.simpleTag(type, ELEMENT.Incident_type);
+        if (!type.equals(""))
+        {
+            output += XMLWriter.simpleTag(type, ELEMENT.Incident_type);
+        }
 
         for (Integer lane : laneNums)
         {
-            output += XMLWriter.simpleTag(""+lane, ELEMENT.Lane_number);
+            output += XMLWriter.simpleTag("" + lane, ELEMENT.Lane_number);
         }
         output += XMLWriter.closeTag(ELEMENT.PARAMICS.tag);
Index: trunk/src/scriptbuilder/structures/events/CADEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/CADEvent.java	(revision 46)
+++ trunk/src/scriptbuilder/structures/events/CADEvent.java	(revision 47)
@@ -6,4 +6,5 @@
 package scriptbuilder.structures.events;
 
+import java.util.StringTokenizer;
 import scriptbuilder.structures.ELEMENT;
 import scriptbuilder.structures.I_XML_Writable;
@@ -32,5 +33,10 @@
     public String toXML()
     {
-        String output = XMLWriter.simpleTag(detail, ELEMENT.DETAIL);
+        StringTokenizer tok = new StringTokenizer(detail, "\n");
+        String output = "";
+        while (tok.hasMoreTokens())
+        {
+            output += XMLWriter.simpleTag(tok.nextToken(), ELEMENT.DETAIL);
+        }
         return output;
     }
Index: trunk/src/scriptbuilder/structures/ScriptEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/ScriptEvent.java	(revision 46)
+++ trunk/src/scriptbuilder/structures/ScriptEvent.java	(revision 47)
@@ -28,5 +28,5 @@
         return this.type.compareTo(o.type);
     }
-    
+
     @Override
     public int getLength()
@@ -42,15 +42,14 @@
     public static enum ScriptEventType
     {
+
         CAD_EVENT("CAD"),
         UNIT_EVENT("Unit"),
+        TOW_EVENT("Tow"),
+        WITNESS_EVENT("Witness"),
         AUDIO_EVENT("Audio"),
         CCTV_EVENT("CCTV"),
         CHP_RADIO_EVENT("CHPRadio"),
         PARAMICS_EVENT("Paramics"),
-        TOW_EVENT("Tow"),
-        WITNESS_EVENT("Witness"),
         TELEPHONE_EVENT("Telephone"),
-        MAINTENANCE_RADIO_EVENT("MaintenanceRadio"),
-        TMT_RADIO_EVENT("TMTRadio"),
         CAD_EVAL_EVENT("CADEval"),
         ATMS_EVAL_EVENT("ATMSEval"),
@@ -58,5 +57,7 @@
         ACTIVITY_LOG_EVAL_EVENT("ActivityLogEval"),
         FACILITATOR_EVAL_EVENT("FacilitatorEval"),
-        RADIO_EVAL_EVENT("RadioEval");
+        RADIO_EVAL_EVENT("RadioEval"),
+        MAINTENANCE_RADIO_EVENT("MaintenanceRadio"),
+        TMT_RADIO_EVENT("TMTRadio");
 
         /**
@@ -128,8 +129,8 @@
         return this.type.toString() + " - [Event Description]";
     }
-    
+
     public static I_ScriptEvent factoryByType(ScriptEventType t)
     {
-        switch(t)
+        switch (t)
         {
             case AUDIO_EVENT:
@@ -169,5 +170,5 @@
             default:
                 return new TelephoneEvent();
-        }            
+        }
     }
 }
