Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAVView.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAVView.cs	(revision 1067)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAVView.cs	(revision 1068)
@@ -490,7 +490,7 @@
             this.calendarGrid1.TabIndex = 2;
             this.calendarGrid1.TimeScale = 20;
-            this.calendarGrid1.CGAppointmentAdded += new IndianHealthService.ClinicalScheduling.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentAdded);
-            this.calendarGrid1.CGAppointmentChanged += new IndianHealthService.ClinicalScheduling.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentChanged);
-            this.calendarGrid1.CGSelectionChanged += new IndianHealthService.ClinicalScheduling.CGSelectionChangedHandler(this.calendarGrid1_CGSelectionChanged);
+            this.calendarGrid1.CGAppointmentAdded += new CalendarGrid.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentAdded);
+            this.calendarGrid1.CGAppointmentChanged += new CalendarGrid.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentChanged);
+            this.calendarGrid1.CGSelectionChanged += new CalendarGrid.CGSelectionChangedHandler(this.calendarGrid1_CGSelectionChanged);
             this.calendarGrid1.DoubleClick += new System.EventHandler(this.calendarGrid1_DoubleClick);
             // 
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAppointmentChangedArgs.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAppointmentChangedArgs.cs	(revision 1067)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAppointmentChangedArgs.cs	(revision 1068)
@@ -3,101 +3,24 @@
     using System;
     /// <summary>
-    /// This class was regenerated from Calendargrid.dll using Reflector.exe
-    /// by Sam Habiel for WorldVista. The original source code is lost.
+    /// Custom event args for CGAppointment events when changing appointments.
+    /// More documentation when I totally understand it.
+    /// I changed it to automatic properties.
     /// </summary>
     [Serializable]
     public class CGAppointmentChangedArgs : EventArgs
     {
-        private DateTime m_dEnd;
-        private DateTime m_dStart;
-        private int m_nAccessTypeID;
-        private int m_nSlots;
-        private CGAppointment m_pAppt;
-        private string m_sOldResource;
-        private string m_sResource;
+        public int AccessTypeID {get; set;}
 
-        public int AccessTypeID
-        {
-            get
-            {
-                return this.m_nAccessTypeID;
-            }
-            set
-            {
-                this.m_nAccessTypeID = value;
-            }
-        }
+        public CGAppointment Appointment {get; set;}
 
-        public CGAppointment Appointment
-        {
-            get
-            {
-                return this.m_pAppt;
-            }
-            set
-            {
-                this.m_pAppt = value;
-            }
-        }
+        public DateTime EndTime {get; set;}
 
-        public DateTime EndTime
-        {
-            get
-            {
-                return this.m_dEnd;
-            }
-            set
-            {
-                this.m_dEnd = value;
-            }
-        }
+        public string OldResource {get; set;}
 
-        public string OldResource
-        {
-            get
-            {
-                return this.m_sOldResource;
-            }
-            set
-            {
-                this.m_sOldResource = value;
-            }
-        }
+        public string Resource {get; set;}
 
-        public string Resource
-        {
-            get
-            {
-                return this.m_sResource;
-            }
-            set
-            {
-                this.m_sResource = value;
-            }
-        }
+        public int Slots {get; set;}
 
-        public int Slots
-        {
-            get
-            {
-                return this.m_nSlots;
-            }
-            set
-            {
-                this.m_nSlots = value;
-            }
-        }
-
-        public DateTime StartTime
-        {
-            get
-            {
-                return this.m_dStart;
-            }
-            set
-            {
-                this.m_dStart = value;
-            }
-        }
+        public DateTime StartTime {get; set;}
     }
 }
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAvailability.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAvailability.cs	(revision 1067)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAvailability.cs	(revision 1068)
@@ -214,4 +214,9 @@
             }
         }
+
+        public override string ToString()
+        {
+            return ResourceList + " (" + Slots + ") @ " + StartTime;
+        }
     }
 }
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGSelectionChangedArgs.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGSelectionChangedArgs.cs	(revision 1067)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGSelectionChangedArgs.cs	(revision 1068)
@@ -3,49 +3,15 @@
     using System;
     /// <summary>
-    /// This class was regenerated from Calendargrid.dll using Reflector.exe
-    /// by Sam Habiel for WorldVista. The original source code is lost.
+    /// Custom Event Args for SelectionChange. Don't know totally what it does yet.
+    /// Changed to automatic properties.
     /// </summary>
     [Serializable]
     public class CGSelectionChangedArgs : EventArgs
     {
-        private DateTime m_dEnd;
-        private DateTime m_dStart;
-        private string m_sResource;
+        public DateTime EndTime {get; set;}
 
-        public DateTime EndTime
-        {
-            get
-            {
-                return this.m_dEnd;
-            }
-            set
-            {
-                this.m_dEnd = value;
-            }
-        }
+        public string Resource {get; set;}
 
-        public string Resource
-        {
-            get
-            {
-                return this.m_sResource;
-            }
-            set
-            {
-                this.m_sResource = value;
-            }
-        }
-
-        public DateTime StartTime
-        {
-            get
-            {
-                return this.m_dStart;
-            }
-            set
-            {
-                this.m_dStart = value;
-            }
-        }
+        public DateTime StartTime {get; set;}
     }
 }
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CalendarGrid.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CalendarGrid.cs	(revision 1067)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CalendarGrid.cs	(revision 1068)
@@ -54,8 +54,9 @@
         private const int WM_VSCROLL = 0x115;   // Vertical Scrolling Windows Message
 
+        public delegate void CGAppointmentChangedHandler(object sender, CGAppointmentChangedArgs e);
+        public event CGAppointmentChangedHandler CGAppointmentChanged;
         public event CGAppointmentChangedHandler CGAppointmentAdded;
 
-        public event CGAppointmentChangedHandler CGAppointmentChanged;
-
+        public delegate void CGSelectionChangedHandler(object sender, CGSelectionChangedArgs e);
         public event CGSelectionChangedHandler CGSelectionChanged;
 
@@ -1172,4 +1173,18 @@
         }
 
+        public void PositionGrid(int nHour)
+        {
+            //Position grid to nHour
+            int nRow = 0, nCol = 0;
+            DateTime dStart = DateTime.Today;
+            dStart = dStart.AddHours(nHour);
+            this.GetCellFromTime(dStart, ref nRow, ref nCol, false, "");
+            int nHeight = this.CellHeight + 10;
+            nHeight *= nRow;
+            this.AutoScrollPosition = new Point(50, nHeight);
+            this.Invalidate();
+        }
+
+
         /// <summary>
         /// The purpose of this is to properly draw the date boxes at the top of the calendar grid.
