Index: /trunk/htdocs2/Classes/Model/Observation.php
===================================================================
--- /trunk/htdocs2/Classes/Model/Observation.php	(revision 318)
+++ /trunk/htdocs2/Classes/Model/Observation.php	(revision 319)
@@ -27,5 +27,4 @@
     $this->scal_len = null;
     $this->calibrations = Array();
-    $this->observation_data = null;
   }
 
@@ -105,7 +104,4 @@
   public function GetScanLen() { return $this->scan_len; }
   
-  public function SetObservationData( ObservationData $s_observation_data ) { $this->observation_data = $s_observation_data; }
-  public function GetObservationData() { return $this->observation_data; }
-  
   public function GetCoordinates() { return $this->coordinates; }
   public function SetCoordinates( $s_coordinates ) { $this->coordinates = $s_coordinates; }
@@ -125,5 +121,4 @@
   private $obs_freq;
   private $scan_len;
-  private $observation_data;
   private $coordinates;
 
Index: /trunk/htdocs2/Classes/Model/ObservationSet.php
===================================================================
--- /trunk/htdocs2/Classes/Model/ObservationSet.php	(revision 318)
+++ /trunk/htdocs2/Classes/Model/ObservationSet.php	(revision 319)
@@ -21,4 +21,6 @@
     $this->observation = null;
     $this->calibrations = null;
+    $this->observation_data = null;
+    $this->scrunching_parameters = null;
   }
 
@@ -26,6 +28,30 @@
   public function GetObservation() { return $this->observation; }
 
+  //public function SetupObservationData( $s_obervation_data ) { $this->obsevation_data = $s_observation_data; }
+  //public function GetObservationData() { return $this->observation_data; }
+
   public function SetCalibrations( $s_calibrations ) { $this->calibrations = $s_calibrations; }
   public function GetCalibrations() { return $this->calibrations; }
+  
+  public function SetScrunchingParameters( $s_scrunching_parameters ) { $this->scrunching_parameters = $s_scrunching_parameters; }
+  public function GetScrunchingParameters() { return $this->scrunching_parameters; }
+  
+  //! This function creates the observation_data object and sets it up
+  public function SetupObservationData()
+  {
+    $this->observation_data = new ObservationData();
+    
+    $this->observation_data->SetPath( $this->observation->GetFile()->GetFullPath() );
+    $this->observation_data->SetScrunchingParameters( $this->scrunching_parameters );
+  }
+  
+  public function EstimateDownloadableSize()
+  {
+    $dl_size = $this->observation_data->EstimateDownloadableSize();
+    
+    // TODO add the sizes of each of the calibration files
+        
+    return $dl_size;
+  }
 
   // PRIVATE
@@ -33,4 +59,6 @@
   private $observation;
   private $calibrations;
+  private $observation_data;
+  private $scrunching_parameters;
 };
 
Index: /trunk/htdocs2/Classes/Pulsar/ObservationData.php
===================================================================
--- /trunk/htdocs2/Classes/Pulsar/ObservationData.php	(revision 318)
+++ /trunk/htdocs2/Classes/Pulsar/ObservationData.php	(revision 319)
@@ -89,4 +89,6 @@
   }
   
+
+  
   // PRIVATE
   
@@ -113,5 +115,5 @@
       foreach( $dir->ListFiles() as $next_filename )
       {
-        $new_archive = new Archive( $dir_path, $next_filename);
+        $new_archive = new File( $dir_path, $next_filename);
         $this->archives[] = $new_archive;
       }
@@ -119,5 +121,5 @@
     else
     {
-      $new_archive = new Archive( $this->path );
+      $new_archive = new File( $this->path );
       $this->archives[] = $new_archive;
     }
Index: /trunk/htdocs2/Forms/QueryResultsForm.php
===================================================================
--- /trunk/htdocs2/Forms/QueryResultsForm.php	(revision 318)
+++ /trunk/htdocs2/Forms/QueryResultsForm.php	(revision 319)
@@ -54,4 +54,6 @@
   public function Display()
   {
+    $this->UpdateDownloadSizeEstimate();
+    
     $smarty = $this->gz->CreateSmarty();
     $this->gz->smarty_assign( $smarty, 'cart_size', count( $this->cart_contents ) );
@@ -226,4 +228,5 @@
 	  !in_array( $next_id, $cart_ids ) )
       {
+        $next_result->SetupObservationData();
 	$this->cart_contents[] = $next_result;
       }
@@ -238,4 +241,13 @@
   private function ViewProfilesAndCals()
   {
+  }
+  
+  private function UpdateDownloadSizeEstimate()
+  {
+    $this->download_size = 0;
+    foreach( $this->cart_contents as $next_set )
+    {
+      $this->download_size += $next_set->EstimateDownloadableSize();
+    }
   }
   
