From: Alan Jack Pippin <ajp@pippin.(none)>
Date: Sat, 19 Nov 2005 06:27:49 +0000 (-0700)
Subject: Initial commit
X-Git-Tag: release_0_1_0~73
X-Git-Url: http://git.pippins.net/%27%20%20%20%20.%20%24GLOBALS%5B%27phpgw%27%5D-%3Elink%28%27inc/jquery/static/images/x.gif?a=commitdiff_plain;h=5be4f84484b7a86269ae91194950a4f9c3a7550e;p=eq%2F.git

Initial commit
---

5be4f84484b7a86269ae91194950a4f9c3a7550e
diff --git a/checkmark.gif b/checkmark.gif
new file mode 100644
index 0000000..ae70f59
Binary files /dev/null and b/checkmark.gif differ
diff --git a/doc b/doc
new file mode 120000
index 0000000..01b66f7
--- /dev/null
+++ b/doc
@@ -0,0 +1 @@
+../../doc/phpgroupware-skel
\ No newline at end of file
diff --git a/eq.spec b/eq.spec
new file mode 100644
index 0000000..40621d6
--- /dev/null
+++ b/eq.spec
@@ -0,0 +1,57 @@
+%define packagename eq
+%define phpgwdirname eq
+%define version 0.0.1.000
+
+# This is for Mandrake RPMS 
+# (move these below the RedHat ones for Mandrake RPMs)
+%define httpdroot  /var/www/html/phpgroupware
+%define packaging 1mdk
+
+# This is for RedHat RPMS
+# (move these below the Mandrake ones for RedHat RPMs)
+%define httpdroot  /home/httpd/html/phpgroupware
+%define packaging 1
+
+Summary: Skeleton App for phpGroupWare. 
+Name: %{packagename}
+Version: %{version}
+Release: %{packaging}
+Copyright: GPL
+Group: Web/Database
+URL: http://www.phpgroupware.org/apps/eq/
+Source0: ftp://ftp.sourceforge.net/pub/sourceforge/phpgroupware/%{packagename}-%{version}.tar.bz2
+BuildRoot: %{_tmppath}/%{packagename}-buildroot
+Prefix: %{httpdroot}
+Buildarch: noarch
+requires: phpgroupware >= 0.9.10
+AutoReq: 0
+
+%description
+This is an Elder's Quorum Presidency Application.
+
+%prep
+%setup -n %{phpgwdirname}
+
+%build
+# no build required
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{prefix}/%{phpgwdirname}
+cp -aRf * $RPM_BUILD_ROOT%{prefix}/%{phpgwdirname}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+
+%postun
+
+%files
+%{prefix}/%{phpgwdirname}
+
+%changelog
+* Sat May 19 2001 Dan Kuykendall <seek3r@phpgroupware.org> 0.0.1.00
+- Created eq app
+
+# end of file
diff --git a/help/index.php b/help/index.php
new file mode 100644
index 0000000..b13caa4
--- /dev/null
+++ b/help/index.php
@@ -0,0 +1,26 @@
+<?php
+    /**************************************************************************\
+    * phpGroupWare - User manual                                               *
+    * http://www.phpgroupware.org                                              *
+    * --------------------------------------------                             *
+    *  This program is free software; you can redistribute it and/or modify it *
+    *  under the terms of the GNU General Public License as published by the   *
+    *  Free Software Foundation; either version 2 of the License, or (at your  *
+    *  option) any later version.                                              *
+    \**************************************************************************/
+    /* $Id: index.php,v 1.2 2001/06/09 02:43:01 skeeter Exp $ */
+
+    $phpgw_flags = Array('currentapp' => 'manual');
+	
+    $phpgw_info['flags'] = $phpgw_flags;
+    include('../../header.inc.php');
+    $appname = 'eq';
+    include(PHPGW_SERVER_ROOT.'/'.$appname.'/setup/setup.inc.php');
+?>
+
+    <img src="<?php echo $phpgw->common->image($appname,'navbar.gif'); ?>" border="0"><p/>
+    <font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2">
+    Version: <b><?php echo $setup_info[$appname]['version']; ?></b>
+    </font>
+
+    <?php $phpgw->common->phpgw_footer(); ?>
diff --git a/inc/class.eq.inc.php b/inc/class.eq.inc.php
new file mode 100644
index 0000000..dd3343c
--- /dev/null
+++ b/inc/class.eq.inc.php
@@ -0,0 +1,1644 @@
+<?php
+  /**************************************************************************\
+  * phpGroupWare - eq                                                        *
+  * http://www.phpgroupware.org                                              *
+  * -----------------------------------------------                          *
+  *  This program is free software; you can redistribute it and/or modify it *
+  *  under the terms of the GNU General Public License as published by the   *
+  *  Free Software Foundation; either version 2 of the License, or (at your  *
+  *  option) any later version.                                              *
+  \**************************************************************************/
+	/* $Id: class.eq.inc.php,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ */
+
+class eq
+{
+  var $db;
+  var $db2;
+  var $t;
+  var $nextmatchs;
+  var $grants;
+  var $jscal;
+  var $cal_options;  
+  var $default_ht_num_months;
+  var $default_ppi_num_months;
+  var $default_ppi_num_years;
+  var $default_att_num_months;
+  
+  var $public_functions = array
+    (
+     'ht_view'    => True,
+     'ht_update'  => True,
+     'act_list'	  => True,
+     'act_view'   => True,
+     'act_update' => True,
+     'par_view'   => True,
+     'ppi_view'   => True,
+     'ppi_update' => True,
+     'vis_view'   => True,
+     'vis_update' => True,
+     'att_view'   => True,
+     'att_update' => True
+     );
+ 
+  function eq()
+    {
+      $this->default_ht_num_months = 1;
+      $this->default_ppi_num_months = 1;
+      $this->default_ppi_num_years = 0;
+      $this->default_att_num_months = 1;
+      
+      $this->db		= $GLOBALS['phpgw']->db;
+      $this->db2	= $this->db;
+      $this->nextmatchs = CreateObject('phpgwapi.nextmatchs');
+      $this->t          = $GLOBALS['phpgw']->template;
+      $this->account    = $GLOBALS['phpgw_info']['user']['account_id'];
+      $this->grants     = $GLOBALS['phpgw']->acl->get_grants('eq');
+      $this->grants[$this->account] = PHPGW_ACL_READ + PHPGW_ACL_ADD + PHPGW_ACL_EDIT + PHPGW_ACL_DELETE;
+       
+      $this->jscal = CreateObject('phpgwapi.jscalendar');   // before phpgw_header() !!!
+      $this->cal_options = 'daFormat    : "%Y-%m-%d",
+                                ifFormat    : "%Y-%m-%d",
+                                mondayFirst : false,
+                                weekNumbers : false';
+       
+      $GLOBALS['phpgw_info']['flags']['app_header'] = 'Elders Quorum Tools';
+      $GLOBALS['phpgw']->common->phpgw_header();
+      echo parse_navbar();
+      $this->display_app_header();	
+    }
+  
+  function save_sessiondata()
+    {
+      
+    }
+
+  function display_app_header()
+    {
+      $this->t->set_file(array('eq_header' => 'header.tpl'));
+      
+      if (isset($phpgw_info['user']['preferences']['eq']['eq_font']))
+	{
+	  $font = $phpgw_info['user']['preferences']['eq']['eq_font'];
+	}
+      else
+	{
+	  $font = 'Arial';
+	}
+      
+      $this->t->set_var('bg_color',$phpgw_info['theme']['th_bg']);
+      $this->t->set_var('font',$font);
+      $link_data['menuaction'] = 'eq.eq.ht_view';
+      $this->t->set_var('link_hometeaching',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+      $this->t->set_var('lang_hometeaching','HomeTeaching');
+      $link_data['menuaction'] = 'eq.eq.act_list';
+      $this->t->set_var('link_activity',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+      $this->t->set_var('lang_activity','Activities');
+      $link_data['menuaction'] = 'eq.eq.par_view';
+      $this->t->set_var('link_participation',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+      $this->t->set_var('lang_participation','Participation');
+      $link_data['menuaction'] = 'eq.eq.ppi_view';
+      $this->t->set_var('link_ppi',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+      $this->t->set_var('lang_ppi','PPIs');
+      $link_data['menuaction'] = 'eq.eq.vis_view';
+      $this->t->set_var('link_visit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+      $this->t->set_var('lang_visit','Visits');
+      $link_data['menuaction'] = 'eq.eq.att_view';	
+      $this->t->set_var('link_attendance',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+      $this->t->set_var('lang_attendance','Attendance');
+		
+      $this->t->pparse('out','eq_header');
+    }
+
+  function ht_view()
+    {
+      $this->t->set_file(array('ht_view_t' => 'ht_view.tpl'));
+      $this->t->set_block('ht_view_t','district_list','list');
+   
+      $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_view'));
+      $num_months = get_var('num_months',array('GET','POST'));
+      if($num_months == '') { $num_months = $this->default_ht_num_months; }
+      $this->t->set_var('num_months',$num_months);
+      $this->t->set_var('lang_filter','Filter');
+      if($num_months == 1) { $this->t->set_var('lang_num_months','Month of History'); }
+      else {  $this->t->set_var('lang_num_months','Months of History'); }
+      
+      $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_view'));
+      $this->t->set_var('title','Hometeaching'); 
+
+      $sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $districts[$i]['district'] = $this->db->f('district');
+	  $districts[$i]['name'] = $this->db->f('name');
+	  $districts[$i]['supervisor'] = $this->db->f('supervisor');
+	  $i++;
+	}
+
+      $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $elder_id[$i] = $this->db->f('elder');
+	  $elder_name[$i] = $this->db->f('name');
+	  $i++;
+	}
+      array_multisort($elder_name, $elder_id);
+
+      // Make an array mapping elder_ids to elder_names
+      for($i=0; $i < count($elder_id); $i++) {
+          $id = $elder_id[$i];
+          $elders[$id] = $elder_name[$i];
+      }      
+
+      $sql = "SELECT * FROM eq_aaronic where valid=1 ORDER BY aaronic ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      while ($this->db->next_record())
+	{
+	  $aaronic_id = $this->db->f('aaronic');
+	  $aaronic[$aaronic_id]['name'] = $this->db->f('name');
+	}
+      
+      $total_families = 0;
+      $this->nextmatchs->template_alternate_row_color(&$this->t);
+      for ($i=0; $i < count($districts); $i++) {
+	$this->t->set_var('district_number',$districts[$i]['district']);
+	$this->t->set_var('district_name',$districts[$i]['name']);	
+	$supervisor = $districts[$i]['supervisor'];
+	$unique_companionships='';
+		
+	// Select all the unique companionship numbers for this district
+	$sql = "SELECT distinct companionship FROM eq_companionship where district=". $districts[$i]['district'];
+	$this->db->query($sql,__LINE__,__FILE__);
+	$j=0;
+	while ($this->db->next_record())
+	  {
+	    $unique_companionships[$j]['companionship'] = $this->db->f('companionship');
+	    $j++;
+	  }
+
+	$comp_width=450; $visit_width=25; $table_width=$comp_width + $num_months*$visit_width;
+	$table_data=""; $num_companionships = 0; $num_families = 0;
+	for($m=$num_months; $m >= 0; $m--) { $visits[$m] = 0; }
+	for ($j=0; $j < count($unique_companionships); $j++) {
+	  $companion_table_entry = "";
+	  // Select all the companions in each companionship
+	  $sql = "SELECT * FROM eq_companionship where valid=1 and ".
+	         "companionship=". $unique_companionships[$j]['companionship'];
+	  $this->db->query($sql,__LINE__,__FILE__);
+
+	  while ($this->db->next_record())
+	    {
+	      // Get this companions information
+	      if($companion_table_entry != "") { $companion_table_entry .= "&nbsp;/&nbsp;"; }
+	      $companionship = $this->db->f('companionship');
+	      $elder_id = $this->db->f('elder');
+	      $aaronic_id = $this->db->f('aaronic');
+	      if($elder_id) { $name = $elders[$elder_id]; }
+	      else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; }
+	      $companion_table_entry .= "$name";
+	    }
+	  $table_data.= "<tr bgcolor=#d3dce3><td colspan=20><b>$companion_table_entry<hr></td></tr>";
+	  
+	  // Get the names of the families assigned this home teaching companionship
+	  $sql = "SELECT * from eq_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship'];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $k=0;
+	  while ($this->db->next_record())
+	    {
+	      $num_families++; $total_families++;
+	      $family_name = $this->db->f('name');
+	      $family_id = $this->db->f('family');
+	      $this->nextmatchs->template_alternate_row_color(&$this->t);
+	      $table_data.="<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$family_name Family</td>";
+	      // Find out how many times Visits were performed by this companionship
+	      // in the past $num_months for this Family
+	      $header_row="<th width=$comp_width><font size=-2>Families</th>";
+	      for($m=$num_months; $m >= 0; $m--) {
+		$month = date('m/Y', strtotime('-'.$m.' month'));
+		$month_start = date('Y-m', strtotime('-'.$m.' month')); $month_start .= "-01";
+		$month_end = date('Y-m', strtotime('-'.$m.' month')); $month_end .= "-31";
+		$sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ".
+		       " AND companionship=" . $unique_companionships[$j]['companionship'].
+ 		       " AND family=". $family_id;
+		$this->db2->query($sql,__LINE__,__FILE__);
+		$link_data['menuaction'] = 'eq.eq.ht_update';
+		$link_data['date'] = $month_start;
+		$link_data['month_start'] = $month_start;
+		$link_data['month_end'] = $month_end;
+		$link_data['month'] = $month;
+		$link_data['district'] = $districts[$i]['district'];
+		$link_data['district_name'] = $districts[$i]['name'];
+		$link_data['action'] = 'view';
+		$link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+		$header_row .= "<th width=$visit_width><font size=-2><a href=$link>$month</a></th>";
+		if(!$total_visits[$m]) { $total_visits[$m] = 0; }
+		if($this->db2->next_record()) {
+		  if($this->db2->f('visited') == 'y') {
+		    $visits[$m]++; $total_visits[$m]++;		  
+		    $table_data .= '<td align=center><a href="'.$link.'"><img src="checkmark.gif"></a></td>';
+		  }
+		  else if($this->db2->f('visited') == 'n') {
+		    $table_data .= '<td align=center><a href="'.$link.'"><img src="x.gif"></a></td>';
+		  }
+		  else { $table_data .= "<td>&nbsp;</td>"; }
+		}
+		else { $table_data .= "<td>&nbsp;</td>"; }
+	      }
+	      $table_data .= "</tr>"; 
+	      $k++;
+	    }
+	  $table_data .= "<tr><td colspan=20></td></tr>";
+	}
+	$table_data .= "<tr><td colspan=20><hr></td></tr>";
+	$stat_data = "<tr><td><b><font size=-2>$num_families Families<br>Visit Totals:</font></b></td>";
+
+	for($m=$num_months; $m >=0; $m--) {
+	  $percent = ceil(($visits[$m] / $num_families)*100);
+	  $stat_data .= "<td align=center><font size=-2><b>$visits[$m]<br>$percent%</font></b></td>";
+	}
+	$stat_data .= "</tr>";
+
+	$this->t->set_var('table_width',$table_width);
+	$this->t->set_var('header_row',$header_row);
+	$this->t->set_var('table_data',$table_data);
+	$this->t->set_var('stat_data',$stat_data);
+	$this->t->fp('list','district_list',True);
+      }
+
+      $totals = "<tr><td><b><font size=-2>$total_families Total Families<br>Visit Totals:</font></b></td>";
+      for($m=$num_months; $m >=0; $m--) {
+	$percent = ceil(($total_visits[$m] / $total_families)*100);
+	$totals .= "<td align=center><font size=-2><b>$total_visits[$m]<br>$percent%</font></b></td>";
+      }
+      $totals .= "</tr>";
+      
+      $this->t->set_var('totals',$totals);
+      
+      $this->t->pfp('out','ht_view_t');
+      $this->save_sessiondata();
+    }
+      
+
+  function ht_update()
+    {
+      $this->t->set_file(array('ht_update_t' => 'ht_update.tpl'));
+      $this->t->set_block('ht_update_t','district_list','list');
+      $this->t->set_block('ht_update_t','save','savehandle');
+      
+      $district = get_var('district',array('GET','POST'));
+      $district_name = get_var('district_name',array('GET','POST'));
+      $date = get_var('date',array('GET','POST'));
+      $month = get_var('month',array('GET','POST'));
+      $month_start = get_var('month_start',array('GET','POST'));
+      $month_end = get_var('month_end',array('GET','POST'));
+      $action = get_var('action',array('GET','POST'));
+      
+      $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_view'));
+      $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ht_update&action=save'));
+      $this->t->set_var('lang_done','Cancel');
+      $this->t->set_var('district_name',$district_name);
+      $this->t->set_var('district_number',$district);
+      $this->t->set_var('title','Hometeaching Update ' . $month);
+      $this->t->set_var('date',$date);
+      
+      if($action == 'save')
+	{
+	  // Get a list of all the companionships in this district
+	  $sql = "SELECT distinct companionship FROM eq_companionship where district=". $district;
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $j=0;
+	  while ($this->db->next_record())
+	    {
+	      $unique_companionships[$j]['companionship'] = $this->db->f('companionship');
+	      $j++;
+	    }
+	  for ($j=0; $j < count($unique_companionships); $j++)
+	    {
+	      // Delete all the visits that have taken place for all families for this month
+	      $this->db->query("DELETE from eq_visit where companionship=" . $unique_companionships[$j]['companionship'] .
+			       " AND " . "date='" . $date . "'",__LINE__,__FILE__);
+	    }
+
+	  // Now, add the visits that are checked for this month
+	  $new_data = get_var('family_visited',array('POST'));
+	  foreach ($new_data as $family)
+	   {
+	     foreach ($family as $data)
+	       {
+		 //print "family_visited: $data <br>";
+		 $data_array = explode("/",$data);
+		 $family_id = $data_array[0];
+		 $companionship = $data_array[1];
+		 $date = $data_array[2];
+		 $visited = $data_array[3];
+		 if($visited == "") { $visited = $data_array[4]; }
+		 //print "family_id: $family_id companionship: $companionship date: $date visited: $visited<br>";
+		 $this->db->query("INSERT INTO eq_visit (family,companionship,date,notes,visited) "
+		 		  . "VALUES (" . $family_id .",". $companionship .",'". $date ."','','". $visited ."')",__LINE__,__FILE__);
+	       }
+	   }
+	  $this->ht_view();
+	  return false;
+	}
+      
+      $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $elder_id[$i] = $this->db->f('elder');
+	  $elder_name[$i] = $this->db->f('name');
+	  $i++;
+	}
+      array_multisort($elder_name, $elder_id);
+
+      // Make an array mapping elder_ids to elder_names
+      for($i=0; $i < count($elder_id); $i++) {
+          $id = $elder_id[$i];
+          $elders[$id] = $elder_name[$i];
+      }      
+
+      $sql = "SELECT * FROM eq_aaronic where valid=1 ORDER BY aaronic ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      while ($this->db->next_record())
+	{
+	  $aaronic_id = $this->db->f('aaronic');
+	  $aaronic[$aaronic_id]['name'] = $this->db->f('name');
+	}
+      
+      // Select all the unique companionship numbers for this district
+      $sql = "SELECT distinct companionship FROM eq_companionship where district=". $district;
+      $this->db->query($sql,__LINE__,__FILE__);
+      $j=0; $unique_companionships='';
+      while ($this->db->next_record())
+	{
+	  $unique_companionships[$j]['companionship'] = $this->db->f('companionship');
+	  $j++;
+	}
+      
+      $comp_width=300; $visit_width=25; $table_width=$comp_width + $num_months*$visit_width;
+      $table_data=""; $num_companionships = 0; $num_families = 0; $visits=0;
+      for ($j=0; $j < count($unique_companionships); $j++) {
+	$companion_table_entry = "";
+	// Select all the companions in each companionship
+	$sql = "SELECT * FROM eq_companionship where valid=1 and ".
+	       "companionship=". $unique_companionships[$j]['companionship'];
+	$this->db->query($sql,__LINE__,__FILE__);
+	
+	while ($this->db->next_record())
+	  {
+	    // Get this companions information
+	    if($companion_table_entry != "") { $companion_table_entry .= "&nbsp;/&nbsp;"; }
+	    $companionship = $this->db->f('companionship');
+	    $elder_id = $this->db->f('elder');
+	    $aaronic_id = $this->db->f('aaronic');
+	    if($elder_id) { $name = $elders[$elder_id]; }
+	    else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; }
+	    $companion_table_entry .= "$name";
+	  }
+	$table_data.= "<tr bgcolor=#d3dce3><td colspan=20><b>$companion_table_entry</b><hr></td></tr>";
+	
+	// Get the names of the families assigned this home teaching companionship
+	$sql = "SELECT * from eq_family where valid=1 AND companionship=".$unique_companionships[$j]['companionship'];
+	$this->db->query($sql,__LINE__,__FILE__);
+	while ($this->db->next_record())
+	  {
+	    $num_families++; $total_families++;
+	    $family_name = $this->db->f('name');
+	    $family_id = $this->db->f('family');
+	    $this->nextmatchs->template_alternate_row_color(&$this->t);
+	    $table_data.="<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$family_name Family</td>";
+	    
+	    $header_row="<th width=$comp_width><font size=-2>Families</th>";
+	    $sql = "SELECT * FROM eq_visit WHERE date >= '$month_start' AND date <= '$month_end' ".
+	           " AND companionship=" . $unique_companionships[$j]['companionship'] .
+	           " AND family=". $family_id;
+	    $this->db2->query($sql,__LINE__,__FILE__);
+	    $value = $family_id . "/" . $unique_companionships[$j]['companionship'] . "/" . $date;
+	    $header_row .= "<th width=$visit_width><font size=-2><a href=$link>$month</a></th>";
+	    if(!$total_visits) { $total_visits = 0; }
+	    if($this->db2->next_record()) {
+	      if($this->db2->f('visited') == 'y') {
+		$visits++; $total_visits++;
+		$table_data .= '<td width=100 align=center>';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y" checked>Y';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n">N';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/"> ';
+		$table_data .= '</td>';
+	      } else if($this->db2->f('visited') == 'n') {
+		$table_data .= '<td width=100 align=center>';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y">Y';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n" checked>N';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/">';
+		$table_data .= '</td>';
+	      } else {
+		$table_data .= '<td width=100 align=center>';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y">Y';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n">N';
+		$table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/" checked> ';
+		$table_data .= '</td>';
+	      }
+	    }
+	    else {
+	      $value .= "/";
+	      $table_data .= '<td width=100 align=center>';
+	      $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/y">Y';
+	      $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/n">N';
+	      $table_data .= '<input type="radio" name="family_visited['.$family_id.'][]" value="'.$value.'/" checked> ';
+	      $table_data .= '</td>';	      
+	    }
+	  }
+	$table_data .= "</tr>"; 
+	$table_data .= "<tr><td colspan=20></td></tr>";
+      }
+      $table_data .= "<tr><td colspan=20><hr></td></tr>";
+      $stat_data = "<tr><td><b><font size=-2>$num_families Families<br>Visit Totals:</font></b></td>";
+      
+      $percent = ceil(($visits / $num_families)*100);
+      $stat_data .= "<td align=center><font size=-2><b>$visits<br>$percent%</font></b></td>";
+      $stat_data .= "</tr>";
+      
+      $this->t->set_var('table_width',$table_width);
+      $this->t->set_var('header_row',$header_row);
+      $this->t->set_var('table_data',$table_data);
+      $this->t->set_var('stat_data',$stat_data);
+      $this->t->fp('list','district_list',True);
+
+      $this->t->set_var('lang_reset','Clear Form');
+      $this->t->set_var('lang_save','Save Changes');
+      $this->t->set_var('savehandle','');
+      
+      $this->t->pfp('out','ht_update_t');
+      $this->t->pfp('addhandle','save');
+      
+      $this->save_sessiondata();
+    }
+
+  function act_list()
+    {
+      $this->t->set_file(array('act_list_t' => 'act_list.tpl'));
+      $this->t->set_block('act_list_t','act_list','list');
+      
+      $this->t->set_var('lang_name','Activity Name');
+      $this->t->set_var('lang_date','Date');
+      
+      $sql = "SELECT * FROM eq_activity ORDER BY date DESC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $total_records = $this->db->num_rows();
+
+      $i = 0;
+      while ($this->db->next_record())
+	{
+	  $activity_list[$i]['name'] = $this->db->f('name');
+	  $activity_list[$i]['date']  = $this->db->f('date');
+	  $activity_list[$i]['activity']  = $this->db->f('activity');
+	  $i++;
+	}
+            
+      for ($i=0; $i < count($activity_list); $i++)
+	{	  
+	  $this->nextmatchs->template_alternate_row_color(&$this->t);
+	  $this->t->set_var('name',$activity_list[$i]['name']);
+	  $this->t->set_var('date',$activity_list[$i]['date']);
+	  
+	  $link_data['menuaction'] = 'eq.eq.act_view';
+	  $link_data['activity'] = $activity_list[$i]['activity'];
+	  $link_data['action'] = 'view';
+	  $this->t->set_var('view',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+	  $this->t->set_var('lang_view','View');
+
+	  $link_data['menuaction'] = 'eq.eq.act_update';
+	  $link_data['activity'] = $activity_list[$i]['activity'];
+	  $link_data['action'] = 'edit';
+	  $this->t->set_var('edit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+	  $this->t->set_var('lang_edit','Edit');
+
+	  $link_data['menuaction'] = 'eq.eq.act_update';
+	  $link_data['activity'] = '0';
+	  $link_data['action'] = 'add';
+	  $this->t->set_var('add','<form method="POST" action="' . $GLOBALS['phpgw']->link('/eq/index.php',$link_data)
+                           . '"><input type="submit" name="Add" value="' . 'Add Activity' .'"></font></form>');
+
+	  $this->t->fp('list','act_list',True);
+	}
+
+      $this->t->pfp('out','act_list_t');
+      $this->save_sessiondata();
+    }
+
+  function act_view()
+    {
+      $this->t->set_file(array('act_view_t' => 'act_view.tpl'));
+      $this->t->set_block('act_view_t','part_list','list');
+      
+      $sql = "SELECT * FROM eq_activity WHERE activity=" . intval(get_var('activity',array('GET','POST')));
+      $this->db->query($sql,__LINE__,__FILE__);
+      $this->db->next_record();
+      $this->t->set_var('name', $this->db->f('name'));
+      $this->t->set_var('date', $this->db->f('date'));
+      $this->t->set_var('notes', $this->db->f('notes'));
+            
+      $this->t->set_var('lang_name','Activity Name');
+      $this->t->set_var('lang_date','Date');
+      $this->t->set_var('lang_notes','Notes');
+      $this->t->set_var('lang_done','Done');
+      $this->t->set_var('lang_action','View');
+
+      $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
+      $this->t->set_var('tr_color',$tr_color);
+            
+      $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_list'));
+
+      $link_data['menuaction'] = 'eq.eq.act_update';
+      $link_data['activity'] = get_var('activity',array('GET','POST'));
+      $link_data['action'] = 'edit';
+      $this->t->set_var('edit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+      $this->t->set_var('lang_edit','Edit');
+      $this->t->set_var('cal_date',$this->db->f('date'));
+
+      // Now find out which elders participated in this activity
+      $sql = "SELECT * FROM eq_participation WHERE activity=" . intval(get_var('activity',array('GET','POST')));
+      $this->db->query($sql,__LINE__,__FILE__);
+      $total_records = $this->db->num_rows();
+
+      $i = 0;
+      while ($this->db->next_record())
+	{
+	  $part_list[$i]['elder']  = $this->db->f('elder');
+	  $i++;
+	}
+      
+      for ($i=0; $i < count($part_list); $i++)
+	{
+	  $sql = "SELECT * FROM eq_elder WHERE elder=" . $part_list[$i]['elder'];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $this->db->next_record();
+	  $names[$i] = $this->db->f('name');
+	} sort($names);
+      
+      for ($i=0; $i < count($names); $i++)
+	{
+          //$this->nextmatchs->template_alternate_row_color(&$this->t);
+	  $this->t->set_var('elder_name',$names[$i]);
+	  if(($i+1) % 3 == 0) { $this->t->set_var('table_sep',"</td></tr><tr>"); }
+	  else { $this->t->set_var('table_sep',"</td>"); }
+	  if(($i) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); }
+	  $this->t->fp('list','part_list',True);
+	}
+      
+      $this->t->pfp('out','act_view_t');
+      $this->save_sessiondata();
+    }
+
+  function act_update()
+    {
+      $this->t->set_file(array('form' => 'act_update.tpl'));
+      $this->t->set_block('form','elder_list','list');
+      $this->t->set_block('form','add','addhandle');
+      $this->t->set_block('form','edit','edithandle');
+      $this->t->set_var('lang_done','Done');
+
+      $action = get_var('action',array('GET','POST'));
+      $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_list'));
+      $activity['activity'] = intval(get_var('activity',array('GET','POST')));
+
+      if($action == 'save')
+	{
+	  $activity['name'] = $this->db->db_addslashes(get_var('name',array('POST')));
+	  $activity['date'] = $this->db->db_addslashes(get_var('date',array('POST')));
+	  $activity['notes']= $this->db->db_addslashes(get_var('notes',array('POST')));
+	  $this->db->query("UPDATE eq_activity set " .
+			   "   name='" . $activity['name'] .
+			   "', date='" . $activity['date'] . "'" .
+			   ", notes='" . $activity['notes'] . "'" .
+			   " WHERE activity=" . $activity['activity'],__LINE__,__FILE__);
+
+	  // Delete all the elders who have particiapted in this activity
+	  $this->db->query("DELETE from eq_participation where activity=".$activity['activity'],__LINE__,__FILE__);
+	  
+	  // Re-add the elders who are checked as having participated in this activity
+	  $elders = get_var('elder_name',array('POST'));
+	  foreach ($elders as $elder)
+	    {
+	      $this->db->query("INSERT INTO eq_participation (elder,activity) "
+			       . "VALUES (" . $elder . ",". $activity['activity'] . ")",__LINE__,__FILE__);
+	    }
+
+	  $this->act_list();
+	  return false;
+	}
+
+      if($action == 'insert')
+	{
+	  $activity['name'] = $this->db->db_addslashes(get_var('name',array('POST')));
+	  $activity['date'] = $this->db->db_addslashes(get_var('date',array('POST')));
+	  $activity['notes']= $this->db->db_addslashes(get_var('notes',array('POST')));
+	  $this->db->query("INSERT INTO eq_activity (name,date,notes) "
+			   . "VALUES ('" . $activity['name'] . "','"
+			   . $activity['date'] . "','" . $activity['notes'] . "')",__LINE__,__FILE__);
+	  $this->act_list();
+	  return false;
+	}
+      
+      if($action == 'add')
+	{
+	  $activity['activity'] = 0;
+	  $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options));
+	  $this->t->set_var('name','');
+	  $this->t->set_var('date','');
+	  $this->t->set_var('notes','');
+	  $this->t->set_var('lang_done','Cancel');
+	  $this->t->set_var('lang_action','Adding New Activity');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_update&activity='
+								. $activity['activity'] . '&action=' . 'insert'));
+	}
+
+      if($action == 'edit')
+	{
+	  $sql = "SELECT * FROM eq_activity WHERE activity=" . $activity['activity'];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $this->db->next_record();
+	  $this->t->set_var('cal_date',$this->jscal->input('date',$this->db->f('date'),'','','','','',$this->cal_options));
+	  $this->t->set_var('name', $this->db->f('name'));
+	  $this->t->set_var('date', $this->db->f('date'));
+	  $this->t->set_var('notes', $this->db->f('notes'));
+	  $this->t->set_var('lang_done','Cancel');
+	  $this->t->set_var('lang_action','Editing Activity');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.act_update&activity='
+								. $activity['activity'] . '&action=' . 'save'));
+
+	}
+
+      $sql = "SELECT * FROM eq_elder";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  if($this->db->f('valid') == 1 || $action != 'add') {
+	    $elder_name[$i] = $this->db->f('name');
+	    $elder_id[$i] = $this->db->f('elder');
+	    $elder_valid[$i] = $this->db->f('valid');
+	    $i++;
+	  }
+	}
+      array_multisort($elder_name, $elder_id, $elder_valid);
+
+      $j=0;
+      for ($i=0; $i < count($elder_id); $i++)
+	{
+	  //$this->nextmatchs->template_alternate_row_color(&$this->t);
+	  $sql = "SELECT * FROM eq_participation where activity=". $activity['activity'] . " AND elder=" . $elder_id[$i];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  if($this->db->next_record()) { $this->t->set_var('checked','checked'); $checked=1; }
+	  else { $this->t->set_var('checked',''); $checked=0; }
+	  if($checked || $elder_valid[$i] == 1) {
+	    $this->t->set_var('elder_name',$elder_name[$i]);
+	    $this->t->set_var('elder',$elder_id[$i]);
+	    if(($j+1) % 3 == 0) { $this->t->set_var('table_sep',"</td></tr><tr>"); }
+	    else { $this->t->set_var('table_sep',"</td>"); }
+	    if(($j) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); }
+	    $this->t->fp('list','elder_list',True);
+	    $j++;
+	  }
+	}
+      
+      $this->t->set_var('lang_reset','Clear Form');
+      $this->t->set_var('lang_add','Add Activity');
+      $this->t->set_var('lang_save','Save Changes');
+      $this->t->set_var('edithandle','');
+      $this->t->set_var('addhandle','');
+      
+      $this->t->pfp('out','form');
+      if($action == 'edit') { $this->t->pfp('addhandle','edit'); }
+      if($action == 'add') { $this->t->pfp('addhandle','add'); }
+      
+      $this->save_sessiondata();
+    }
+
+  function par_view()
+    {
+      $this->t->set_file(array('par_view_t' => 'par_view.tpl'));
+      $this->t->set_block('par_view_t','header_list','list1');
+      $this->t->set_block('par_view_t','elder_list','list2');
+
+      $sql = "SELECT * FROM eq_elder where valid=1";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $elder_name[$i] = $this->db->f('name');
+	  $elder_id[$i] = $this->db->f('elder');
+	  $i++;
+	}
+      array_multisort($elder_name, $elder_id);
+
+      $sql = "SELECT * FROM eq_activity ORDER BY date DESC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $total_records = $this->db->num_rows();
+
+      $i = 0;
+      while ($this->db->next_record())
+	{
+	  $activity_list[$i]['name'] = $this->db->f('name');
+	  $activity_list[$i]['date'] = $this->db->f('date');
+	  $activity_list[$i]['activity']  = $this->db->f('activity');
+	  if($activity_list[$i]['date'] == '0000-00-00') { $activity_list[$i]['date']=""; }
+	  $i++;
+	}
+
+      $elder_width=250; $part_width=25; $act_width=50;
+      $total_width=$elder_width+$part_width;
+      for ($i=0; $i < count($activity_list); $i++) {
+	$this->t->set_var('activity_name',$activity_list[$i]['name']);
+	$this->t->set_var('activity_date',$activity_list[$i]['date']);
+	$this->t->fp('list1','header_list',True);
+	$total_width += $act_width;
+      }
+
+      for ($i=0; $i < count($elder_id); $i++) {
+	$participated=0; $part_table = ''; 
+	$this->nextmatchs->template_alternate_row_color(&$this->t);
+	$this->t->set_var('elder_name',$elder_name[$i]);
+	for ($j=0; $j < count($activity_list); $j++) {
+	  $sql = "SELECT * FROM eq_participation where activity="
+	     . $activity_list[$j]['activity'] . " AND elder=" . $elder_id[$i];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  if($this->db->next_record()) {
+	    $part_table .= '<td align=center><img src="checkmark.gif"></td>';
+	    $participated++;
+	  } else {
+	    $part_table .= '<td>&nbsp;</td>';
+	  }
+	}
+	if($participated) { $part_table .= '<td align=center><img src="checkmark.gif">'.$participated.'</td>'; }
+	else { $part_table .= '<td>&nbsp;</td>'; }
+	$this->t->set_var('part_table',$part_table);
+	$this->t->fp('list2','elder_list',True);
+      }
+      $this->t->set_var('total_width',$total_width);
+      $this->t->set_var('elder_width',$elder_width);
+      $this->t->set_var('part_width',$part_width);
+      $this->t->set_var('act_width',$act_width);
+      $this->t->pfp('out','par_view_t');
+      $this->save_sessiondata(); 
+    }
+
+  function ppi_view()
+    {
+      $this->t->set_file(array('ppi_view_t' => 'ppi_view.tpl'));
+      $this->t->set_block('ppi_view_t','district_list','list');
+
+      $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+      $num_months = get_var('num_months',array('GET','POST'));
+      if($num_months == '') { $num_months = $this->default_ppi_num_months; }
+      $this->t->set_var('num_months',$num_months);
+      if($num_months == 1) { $this->t->set_var('lang_num_months','Month of History'); }
+      else {  $this->t->set_var('lang_num_months','Months of History'); }
+      $this->t->set_var('lang_filter','Filter');
+      
+      $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+      $this->t->set_var('eqpres_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view&eqpresppi=1'));
+      $eqpresppi = get_var('eqpresppi',array('GET','POST'));
+      
+      if($eqpresppi == 1) {
+	$num_months = get_var('num_months',array('GET','POST'));
+	if($num_months == '') { $num_months = $this->default_ppi_num_years; }
+	$this->t->set_var('num_months',$num_months);
+        $this->t->set_var('ppi_link_title','PPIs');
+        $this->t->set_var('title','EQ President Yearly PPIs');
+	if($num_months == 1) { $this->t->set_var('lang_num_months','Year of History'); }
+	else { $this->t->set_var('lang_num_months','Years of History'); }
+	$this->t->set_var('eqpres_ppi_link',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+      }
+      else { 
+        $this->t->set_var('ppi_link_title','EQ President Yearly PPIs'); 
+        $this->t->set_var('title','PPIs'); 
+      }
+
+      $sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $districts[$i]['district'] = $this->db->f('district');
+	  $districts[$i]['name'] = $this->db->f('name');
+	  $districts[$i]['supervisor'] = $this->db->f('supervisor');
+	  if($eqpresppi == 0) { $i++; }
+	}
+
+      $sql = "SELECT * FROM eq_elder where valid=1 ORDER BY elder ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $elder_id[$i] = $this->db->f('elder');
+	  $elder_name[$i] = $this->db->f('name');
+	  $i++;
+	}
+      array_multisort($elder_name, $elder_id);
+      for($i=0; $i < count($elder_id); $i++) {
+          $id = $elder_id[$i];
+          $elders[$id] = $elder_name[$i];
+      }      
+
+      $sql = "SELECT * FROM eq_aaronic where valid=1 ORDER BY aaronic ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      while ($this->db->next_record())
+	{
+	  $aaronic_id = $this->db->f('aaronic');
+	  $aaronic[$aaronic_id]['name'] = $this->db->f('name');
+	}
+      
+      $total_companionships = 0;
+      $this->nextmatchs->template_alternate_row_color(&$this->t);
+      for ($i=0; $i < count($districts); $i++) {
+	if($eqpresppi == 1) { 
+	  $this->t->set_var('district_number','*');
+	  $this->t->set_var('district_name','EQ President');
+	} else {
+	  $this->t->set_var('district_number',$districts[$i]['district']);
+	  $this->t->set_var('district_name',$districts[$i]['name']);	
+	}
+	$supervisor = $districts[$i]['supervisor'];
+	$unique_companionships='';
+		
+	// Select all the unique companionship numbers for this district
+	if($eqpresppi == 1) { 
+	  $sql = "SELECT distinct companionship FROM eq_companionship";
+	} 
+	else {
+	  $sql = "SELECT distinct companionship FROM eq_companionship where district=". $districts[$i]['district'];
+	}
+	$this->db->query($sql,__LINE__,__FILE__);
+	$j=0;
+	while ($this->db->next_record())
+	  {
+	    $unique_companionships[$j]['companionship'] = $this->db->f('companionship');
+	    $j++;
+	  }
+
+	$comp_width=400; $ppi_width=25; $table_width=$comp_width + $num_months*$ppi_width;
+	$table_data=""; $num_companionships = 0; $num_elders = 0;
+	for($m=$num_months; $m >= 0; $m--) { $ppis[$m] = 0; }
+	for ($j=0; $j < count($unique_companionships); $j++) {
+	  // Select all the companions in each companionship
+	  if($eqpresppi) {
+ 	    $sql = "SELECT * FROM eq_companionship where valid=1 and aaronic=0 and ".
+	           "companionship=". $unique_companionships[$j]['companionship'];  
+	  }
+          else {
+	    $sql = "SELECT * FROM eq_companionship where valid=1 and ".
+	           "companionship=". $unique_companionships[$j]['companionship'];
+          }
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $k=0;
+	  while ($this->db->next_record())
+	    {
+	      // Get this companions information
+	      $num_elders++; $num_companionships++;
+	      $companionship = $this->db->f('companionship');
+	      $elder_id = $this->db->f('elder');
+	      $aaronic_id = $this->db->f('aaronic');
+	      if($elder_id) { $name = $elders[$elder_id]; }
+	      else if($aaronic_id) { $name = $aaronic[$aaronic_id]['name']; }
+	      $link_data['menuaction'] = 'eq.eq.ppi_update';
+	      $link_data['companionship'] = $companionship;
+	      $link_data['interviewer'] = $supervisor;
+	      $link_data['elder'] = $elder_id;
+	      $link_data['name'] = $name;
+	      $link_data['ppi'] = '';
+	      $link_data['eqpresppi'] = $eqpresppi;
+	      $link_data['action'] = 'add';
+	      $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+	      if($aaronic_id == 0) {
+		$table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td><a href=$link>$name</a></td>";
+	      } else {
+		$table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td>$name</td>";
+	      }
+	      
+	      // Find out how many times PPIs were performed in the past $num_months for this Elder
+	      $header_row="<th width=$comp_width><font size=-2>Companionship</th>";
+	      for($m=$num_months; $m >= 0; $m--) {
+	        if($eqpresppi == 1) {
+		  $year = date('Y') - $m;
+		  $year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01";
+		  $sql = "SELECT * FROM eq_ppi WHERE date > '$year_start' AND date < '$year_end' ".
+		         "AND elder=" . $elder_id . " AND eqpresppi=1";
+	          $this->db2->query($sql,__LINE__,__FILE__);
+		  $header_row .= "<th width=150><font size=-2>$year</th>"; 
+	        }
+	        else {
+		  $month = date('m/Y', strtotime('-'.$m.' month'));
+		  $month_start = date('Y-m', strtotime('-'.$m.' month')); $month_start .= "-01";
+		  $month_end = date('Y-m', strtotime('-'.$m.' month')); $month_end .= "-31";
+		  $sql = "SELECT * FROM eq_ppi WHERE date >= '$month_start' AND date <= '$month_end' ".
+		         "AND elder=" . $elder_id . " AND eqpresppi=0";
+		  $this->db2->query($sql,__LINE__,__FILE__);
+		  $header_row .= "<th width=$ppi_width><font size=-2>$month</th>";
+		}
+		if(!$total_ppis[$m]) { $total_ppis[$m] = 0; }
+		if($this->db2->next_record()) {
+		  $ppis[$m]++; $total_ppis[$m]++;
+		  $link_data['menuaction'] = 'eq.eq.ppi_update';
+		  $link_data['companionship'] = $companionship;
+		  $link_data['interviewer'] = $supervisor;
+		  $link_data['elder'] = $elder_id;
+		  $link_data['name'] = $name;
+		  $link_data['ppi'] = $this->db2->f('ppi');
+		  $link_data['eqpresppi'] = $eqpresppi;
+		  $link_data['action'] = 'view';
+		  $date = $this->db2->f('date');
+		  $date_array = explode("-",$date);
+		  $month = $date_array[1];
+		  $day   = $date_array[2];
+		  $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+
+		  if($aaronic_id == 0) {
+		    $table_data .= '<td align=center><a href='.$link.'><img src="checkmark.gif"><br>'.$month.'-'.$day.'</a></td>';
+		  } else {
+		    $table_data .= '<td align=center><img src="checkmark.gif"></td>';
+		  }
+		}
+		else { $table_data .= "<td>&nbsp;</td>"; }
+	      }
+	      $table_data .= "</tr>"; 
+	      $k++;
+	    }
+	  if($num_companionships % 2 != 0) { $num_companionships++; }
+	  $table_data .= "<tr><td colspan=20><hr></td></tr>";
+	}
+	// Now add Elders not assigned to any companionship to the table if we are in eqpresppi mode
+	if($eqpresppi == 1) {
+	  $table_data .= "<tr bgcolor=\"#c9c9c9\"><hr><td colspan=20><b>Unassigned Potential Home Teachers</b><hr></td></tr>";
+	  foreach($elders as $elder_id => $value) {
+	    $sql = "SELECT * FROM eq_companionship where valid=1 and elder=".$elder_id;
+	    $this->db->query($sql,__LINE__,__FILE__);
+	    if(!$this->db->next_record()) {
+	      // We found an Elder not in a companionship, add them to the table
+	      $num_elders++; $num_companionships++;
+	      $companionship=0;
+	      $name = $elders[$elder_id];
+	      $link_data['menuaction'] = 'eq.eq.ppi_update';
+	      $link_data['companionship'] = $companionship;
+	      $link_data['interviewer'] = $supervisor;
+	      $link_data['elder'] = $elder_id;
+	      $link_data['name'] = $name;
+	      $link_data['ppi'] = '';
+	      $link_data['eqpresppi'] = $eqpresppi;
+	      $link_data['action'] = 'add';
+	      $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+	      $table_data.= "<tr bgcolor=". $this->t->get_var('tr_color') ."><td><a href=$link>$name</a></td>";
+	      for($m=$num_months; $m >= 0; $m--) {
+		$year = date('Y') - $m;
+		$year_start = $year - 1 . "-12-31"; $year_end = $year + 1 . "-01-01";
+		$sql = "SELECT * FROM eq_ppi WHERE date > '$year_start' AND date < '$year_end' ".
+	               "AND elder=" . $elder_id . " AND eqpresppi=1";
+	        $this->db2->query($sql,__LINE__,__FILE__);
+		if(!$total_ppis[$m]) { $total_ppis[$m] = 0; }
+		if($this->db2->next_record()) {
+		  $ppis[$m]++; $total_ppis[$m]++;
+		  $link_data['menuaction'] = 'eq.eq.ppi_update';
+		  $link_data['companionship'] = $companionship;
+		  $link_data['interviewer'] = $supervisor;
+		  $link_data['elder'] = $elder_id;
+		  $link_data['name'] = $name;
+		  $link_data['ppi'] = $this->db2->f('ppi');
+		  $link_data['eqpresppi'] = $eqpresppi;
+		  $link_data['action'] = 'view';
+		  $date = $this->db2->f('date');
+		  $link = $GLOBALS['phpgw']->link('/eq/index.php',$link_data);
+		  $table_data .= '<td align=center><a href='.$link.'><img src="checkmark.gif"><br>'.$date.'</a></td>';
+		}
+		else { $table_data .= "<td>&nbsp;</td>"; }
+	      }
+	      $table_data .= "</tr>"; 
+	    }
+	  }
+	}
+	$num_companionships = ceil($num_companionships/2);
+	$total_companionships += $num_companionships;
+	if($eqpresppi == 1) {
+	  $stat_data = "<tr><td><b><font size=-2>$num_elders Elders<br>PPI Totals:</font></b></td>";
+	} else {
+	  $stat_data = "<tr><td><b><font size=-2>$num_companionships Companionships<br>PPI Totals:</font></b></td>";
+        }
+	for($m=$num_months; $m >=0; $m--) {
+	  if($eqpresppi == 1) { $percent = ceil(($ppis[$m] / $num_elders)*100); }
+	  else { $percent = ceil(($ppis[$m] / $num_companionships)*100); }
+	  $stat_data .= "<td align=center><font size=-2><b>$ppis[$m]<br>$percent%</font></b></td>";
+	}
+	$stat_data .= "</tr>";
+
+	$this->t->set_var('table_width',$table_width);
+	$this->t->set_var('header_row',$header_row);
+	$this->t->set_var('table_data',$table_data);
+	$this->t->set_var('stat_data',$stat_data);
+	$this->t->fp('list','district_list',True);
+      }
+
+      $totals = "<tr><td><b><font size=-2>$total_companionships Total Comps<br>PPI Totals:</font></b></td>";
+      for($m=$num_months; $m >=0; $m--) {
+	$percent = ceil(($total_ppis[$m] / $total_companionships)*100);
+	$totals .= "<td align=center><font size=-2><b>$total_ppis[$m]<br>$percent%</font></b></td>";
+      }
+      $totals .= "</tr>";
+      
+      $this->t->set_var('totals',$totals);
+      $this->t->pfp('out','ppi_view_t');
+      $this->save_sessiondata(); 
+    }
+
+  function ppi_update()
+    {
+      $this->t->set_file(array('form' => 'ppi_update.tpl'));
+      $this->t->set_block('form','interviewer_list','int_list');
+      $this->t->set_block('form','add','addhandle');
+      $this->t->set_block('form','edit','edithandle');
+      
+      $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_view'));
+      $this->t->set_var('readonly','');
+      $this->t->set_var('disabled','');
+      
+      $action = get_var('action',array('GET','POST'));
+      $companionship = get_var('companionship',array('GET','POST'));
+      $interviewer = get_var('interviewer',array('GET','POST'));      
+      $name = get_var('name',array('GET','POST'));
+      $ppi = get_var('ppi',array('GET','POST'));
+      $elder = get_var('elder',array('GET','POST'));
+      $date = get_var('date',array('GET','POST'));
+      $notes = get_var('notes',array('GET','POST'));
+      $eqpresppi = get_var('eqpresppi',array('GET','POST'));
+
+      $sql = "SELECT * FROM eq_district where valid=1 ORDER BY district ASC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      while ($this->db->next_record())
+	{
+	  $supervisor = $this->db->f('supervisor');
+	  $sql = "SELECT * FROM eq_elder WHERE elder=" . $supervisor;
+	  $this->db2->query($sql,__LINE__,__FILE__);
+	  $this->db2->next_record();
+	  $interviewer_name = $this->db2->f('name');
+	  
+	  if($supervisor == $interviewer) { 
+	    $this->t->set_var('interviewer',$supervisor . ' selected');
+	  } else {
+	    $this->t->set_var('interviewer',$interviewer);
+	  }
+	  $this->t->set_var('interviewer_name',$interviewer_name);
+	  $this->t->fp('int_list','interviewer_list',True);
+	}
+      
+      if($action == 'save')
+	{
+	  $notes = $this->db->db_addslashes(get_var('notes',array('POST')));
+	  $this->db->query("UPDATE eq_ppi set " .
+			   "   ppi='" . $ppi . "'" .
+		    ", interviewer='" . $interviewer . "'" .
+			  ", elder='" . $elder . "'" .
+			   ", date='" . $date . "'" .
+			  ", notes='" . $notes . "'" .
+	              ", eqpresppi='" . $eqpresppi . "'" .
+			   " WHERE ppi=" . $ppi,__LINE__,__FILE__);
+	  $this->ppi_view();
+	  return false;
+	}
+
+      if($action == 'insert')
+	{
+	  $notes = $this->db->db_addslashes(get_var('notes',array('POST')));
+	  $this->db->query("INSERT INTO eq_ppi (interviewer,elder,date,notes,eqpresppi) "
+			   . "VALUES ('" . $interviewer . "','" . $elder . "','"
+			   . $date . "','" . $notes . "','" . $eqpresppi  ."')",__LINE__,__FILE__);
+	  $this->ppi_view();
+	  return false;
+	}
+      
+      if($action == 'add')
+	{
+	  $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options));
+	  $this->t->set_var('ppi', '');
+	  $this->t->set_var('interviewer', $interviewer);
+	  $this->t->set_var('name',$name);
+	  $this->t->set_var('elder',$elder);
+	  $this->t->set_var('date','');
+	  $this->t->set_var('notes','');
+	  $this->t->set_var('eqpresppi',$eqpresppi);
+	  $this->t->set_var('lang_done','Cancel');
+	  $this->t->set_var('lang_action','Adding New PPI');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi='
+								. $ppi . '&action=' . 'insert'));
+	}
+
+      if($action == 'edit' || $action == 'view')
+	{
+	  $sql = "SELECT * FROM eq_ppi WHERE ppi=".$ppi;
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $this->db->next_record();
+	  $this->t->set_var('ppi',$ppi);
+	  $this->t->set_var('name',$name);
+	  $this->t->set_var('interviewer', $this->db->f('interviewer'));
+	  $this->t->set_var('elder',$this->db->f('elder'));
+	  $this->t->set_var('date',$this->db->f('date'));
+	  $this->t->set_var('notes',$this->db->f('notes'));
+	  $this->t->set_var('eqpresppi',$this->db->f('eqpresppi'));
+	}
+      
+      if($action == 'edit')
+	{
+	  $this->t->set_var('cal_date',$this->jscal->input('date',$date,'','','','','',$this->cal_options));
+	  $this->t->set_var('lang_done','Cancel');
+	  $this->t->set_var('lang_action','Editing PPI');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi='
+								. $ppi . '&action=' . 'save'));
+	}
+
+      if($action == 'view')
+	{
+	  $date = $this->db->f('date');
+	  $this->t->set_var('cal_date','<input type=text size="10" maxlength="10" name="date" value="'.$date.'" readonly>');
+	  $this->t->set_var('readonly','READONLY');
+	  $this->t->set_var('disabled','DISABLED');
+	  $this->t->set_var('lang_done','Done');
+	  $this->t->set_var('lang_action','Viewing PPI');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_update&ppi='
+								. $ppi . '&action=' . 'edit'));
+	}
+      
+      $this->t->set_var('lang_reset','Clear Form');
+      $this->t->set_var('lang_add','Add PPI');
+      $this->t->set_var('lang_save','Save Changes');
+      $this->t->set_var('edithandle','');
+      $this->t->set_var('addhandle','');
+
+      $this->t->pfp('out','form');
+      
+      if($action == 'view') { $this->t->set_var('lang_save','Edit PPI'); }
+      if($action == 'edit' || $action == 'view') { $this->t->pfp('addhandle','edit'); }
+      if($action == 'add') { $this->t->pfp('addhandle','add'); }
+     
+      $this->save_sessiondata(); 
+    }
+
+  function vis_view()
+    {
+      $this->t->set_file(array('vis_view_t' => 'vis_view.tpl'));
+      $this->t->set_block('vis_view_t','visit_list','list1');
+      $this->t->set_block('vis_view_t','family_list','list2');
+
+      $this->t->set_var('lang_name','Family Name');
+      $this->t->set_var('lang_date','Date');
+      
+      $sql = "SELECT * FROM eq_visit WHERE companionship=0 ORDER BY date DESC";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $total_records = $this->db->num_rows();
+
+      $i = 0;
+      while ($this->db->next_record())
+	{
+	  $visit_list[$i]['visit'] = $this->db->f('visit');
+	  $visit_list[$i]['family'] = $this->db->f('family');
+	  $visit_list[$i]['date']  = $this->db->f('date');
+	  $i++;
+	}
+            
+      for ($i=0; $i < count($visit_list); $i++)
+	{	  
+	  $this->nextmatchs->template_alternate_row_color(&$this->t);
+
+	  $sql = "SELECT * FROM eq_family WHERE valid=1 AND family=".$visit_list[$i]['family'];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $this->db->next_record();
+	  	  
+	  $this->t->set_var('family',$visit_list[$i]['family']);
+	  $this->t->set_var('family_name',$this->db->f('name'));
+	  $this->t->set_var('date',$visit_list[$i]['date']);
+	  
+	  $link_data['menuaction'] = 'eq.eq.vis_update';
+	  $link_data['visit'] = $visit_list[$i]['visit'];
+	  $link_data['name'] = $this->db->f('name');
+	  $link_data['date'] = $visit_list[$i]['date'];
+	  $link_data['action'] = 'view';
+	  $this->t->set_var('view',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+	  $this->t->set_var('lang_view','View');
+
+	  $link_data['menuaction'] = 'eq.eq.vis_update';
+	  $link_data['visit'] = $visit_list[$i]['visit'];
+	  $link_data['name'] = $this->db->f('name');
+	  $link_data['date'] = $visit_list[$i]['date'];
+	  $link_data['action'] = 'edit';
+	  $this->t->set_var('edit',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+	  $this->t->set_var('lang_edit','Edit');
+
+	  $this->t->fp('list1','visit_list',True);
+	}
+
+      // List the families that are available to record a visit against
+      $sql = "SELECT * FROM eq_family WHERE valid=1";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $total_records = $this->db->num_rows();
+
+      $i = 0;
+      while ($this->db->next_record())
+	{
+	  $family_names[$i] = $this->db->f('name');
+	  $family_ids[$i] = $this->db->f('family');
+	  $i++;
+	} array_multisort($family_names, $family_ids);
+      
+      for ($i=0; $i < count($family_names); $i++)
+	{
+	  $link_data['menuaction'] = 'eq.eq.vis_update';
+	  $link_data['visit'] = '';
+	  $link_data['family'] = $family_ids[$i];
+	  $link_data['action'] = 'add';
+	  $link_data['name'] = $family_names[$i];
+	  $this->t->set_var('add',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+
+	  $this->t->set_var('name',$family_names[$i]);
+	  if(($i+1) % 3 == 0) { $this->t->set_var('table_sep',"</td></tr><tr>"); }
+	  else { $this->t->set_var('table_sep',"</td>"); }
+	  if(($i) % 3 == 0) { $this->nextmatchs->template_alternate_row_color(&$this->t); }
+
+	  $this->t->fp('list2','family_list',True);
+	}   
+
+      $this->t->pfp('out','vis_view_t');
+      $this->save_sessiondata(); 
+    }
+
+  function vis_update()
+    {
+      $this->t->set_file(array('form' => 'vis_update.tpl'));
+      $this->t->set_block('form','add','addhandle');
+      $this->t->set_block('form','edit','edithandle');
+      
+      $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_view'));
+      $this->t->set_var('readonly','');
+      $this->t->set_var('disabled','');
+      
+      $action = get_var('action',array('GET','POST'));
+      $visit = get_var('visit',array('GET','POST'));
+      $family = get_var('family',array('GET','POST'));
+      $name = get_var('name',array('GET','POST'));
+      $date = get_var('date',array('GET','POST'));
+      $notes = get_var('notes',array('GET','POST'));
+      $companionship = 0;
+      
+      if($action == 'save')
+	{
+	  $notes = $this->db->db_addslashes(get_var('notes',array('POST')));
+	  $this->db->query("UPDATE eq_visit set " .
+			   "  date='" . $date . "'" .
+			  ", notes='" . $notes . "'" .
+			   " WHERE visit=" . $visit,__LINE__,__FILE__);
+	  $this->vis_view();
+	  return false;
+	}
+
+      if($action == 'insert')
+	{
+	  $notes = $this->db->db_addslashes(get_var('notes',array('POST')));
+	  $this->db->query("INSERT INTO eq_visit (family,companionship,date,notes) "
+			   . "VALUES ('" . $family . "','" . $companionship . "','"
+			   . $date . "','" . $notes . "')",__LINE__,__FILE__);
+	  $this->vis_view();
+	  return false;
+	}
+      
+      if($action == 'add')
+	{
+	  $this->t->set_var('cal_date',$this->jscal->input('date','','','','','','',$this->cal_options));
+	  $this->t->set_var('family', $family);
+	  $this->t->set_var('visit', '');
+	  $this->t->set_var('name', $name);
+	  $this->t->set_var('date','');
+	  $this->t->set_var('notes','');
+	  $this->t->set_var('lang_done','Cancel');
+	  $this->t->set_var('lang_action','Adding New Visit');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_update&family='
+								. $family . '&action=' . 'insert'));
+	}
+
+      if($action == 'edit' || $action == 'view')
+	{
+	  $sql = "SELECT * FROM eq_visit WHERE visit=".$visit;
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $this->db->next_record();
+	  $this->t->set_var('visit',$visit);
+	  $this->t->set_var('name',$name);
+	  $this->t->set_var('family', $family);
+	  $this->t->set_var('date',$this->db->f('date'));
+	  $this->t->set_var('notes',$this->db->f('notes'));
+	}
+      
+      if($action == 'edit')
+	{
+	  $this->t->set_var('cal_date',$this->jscal->input('date',$date,'','','','','',$this->cal_options));
+	  $this->t->set_var('lang_done','Cancel');
+	  $this->t->set_var('lang_action','Editing Visit');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_update&visit='
+								. $visit . '&action=' . 'save'));
+	}
+
+      if($action == 'view')
+	{
+	  $date = $this->db->f('date');
+	  $this->t->set_var('cal_date','<input type=text size="10" maxlength="10" name="date" value="'.$date.'" readonly>');
+	  $this->t->set_var('readonly','READONLY');
+	  $this->t->set_var('disabled','DISABLED');
+	  $this->t->set_var('lang_done','Done');
+	  $this->t->set_var('lang_action','Viewing Visit');
+	  $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_update&visit='
+								. $visit . '&action=' . 'edit'));
+	}
+      
+      $this->t->set_var('lang_reset','Clear Form');
+      $this->t->set_var('lang_add','Add Visit');
+      $this->t->set_var('lang_save','Save Changes');
+      $this->t->set_var('edithandle','');
+      $this->t->set_var('addhandle','');
+
+      $this->t->pfp('out','form');
+      
+      if($action == 'view') { $this->t->set_var('lang_save','Edit Visit'); }
+      if($action == 'edit' || $action == 'view') { $this->t->pfp('addhandle','edit'); }
+      if($action == 'add') { $this->t->pfp('addhandle','add'); }
+
+      $this->save_sessiondata(); 
+    }
+
+  function att_view()
+    {
+      $this->t->set_file(array('att_view_t' => 'att_view.tpl'));
+      $this->t->set_block('att_view_t','act_list','list');
+
+      $this->t->set_block('att_view_t','month_list','list1');
+      $this->t->set_block('att_view_t','header_list','list2');
+      $this->t->set_block('att_view_t','elder_list','list3');
+      
+      $this->t->set_var('linkurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_view'));
+      $num_months = get_var('num_months',array('GET','POST'));
+      if($num_months == '') { $num_months = $this->default_att_num_months; }
+      $this->t->set_var('num_months',$num_months);
+      $this->t->set_var('lang_filter','Filter');
+      if($num_months == 1) { $this->t->set_var('lang_num_months','Month of History'); }
+      else {  $this->t->set_var('lang_num_months','Months of History'); }
+         
+      $sql = "SELECT * FROM eq_elder where valid=1";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $elder_name[$i] = $this->db->f('name');
+	  $elder_id[$i] = $this->db->f('elder');
+	  $i++;
+	}
+      array_multisort($elder_name, $elder_id);
+
+      
+      // Create a list of sunday dates for a window of 3 months back and current month
+      $i=0; 
+      $last_time = 0; 
+      $found_sunday = 0;
+      $sunday_list[0]['date'] = date("Y-m-d", mktime(0, 0, 0, date("m")-$num_months, 1, date("y")));
+      $last_date = explode("-",$sunday_list[0]['date']);
+      $last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]);
+      $time_limit = mktime(0, 0, 0, date("m"), date("t"), date("y"));
+      while($last_time < $time_limit)
+      {
+        $day = date("w",$last_time);
+        if(date("w",$last_time) == 0) {
+  	  $sunday_list[$i]['date'] = date("Y-m-d", $last_time); 
+	  $last_date = explode("-",$sunday_list[$i]['date']);
+	  $last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]);
+	  $sunday_list[$i]['day'] = $last_date[2];
+	  $sunday_list[$i]['month'] = date("M",$last_time);
+	  $sunday_list[$i]['year'] = $last_date[0];
+	  $found_sunday = 1; 
+	}
+	$last_time += 90000;
+	if($found_sunday) { $i++; $found_sunday=0; }
+      }
+      
+      $old_month=$sunday_list[0]['month']; $span=0;
+      for ($i=0; $i < count($sunday_list); $i++) {
+        $date = $sunday_list[$i]['date'];
+        $this->t->set_var('date',$sunday_list[$i]['date']);
+	$this->t->set_var('day',$sunday_list[$i]['day']);
+	if(($old_month != $sunday_list[$i]['month']) || $i == count($sunday_list)-1) {
+	  if($i == count($sunday_list)-1) { $span++; }
+	  $cur_month = $sunday_list[$i]['month'];
+	  $old_month = $sunday_list[$i]['month'];	  
+	  $link_data['menuaction'] = 'eq.eq.att_update';
+	  $link_data['month'] = $sunday_list[$i-1]['month'];
+	  $link_data['year'] = $sunday_list[$i-1]['year'];
+	  $link_data['action'] = 'update_month';
+	  $this->t->set_var('update_month',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+	  $this->t->set_var('month',$sunday_list[$i-1]['month']);
+	  $this->t->set_var('year',$sunday_list[$i-1]['year']);
+	  $this->t->set_var('span',$span); $span=0;
+	  $this->t->fp('list1','month_list',True);
+	} $span++;
+      }
+
+      $elder_width=200; $att_width=25; $total_width=$elder_width; 
+      for ($i=0; $i < count($sunday_list); $i++) {
+      	$link_data['menuaction'] = 'eq.eq.att_update';
+	$link_data['month'] = $sunday_list[$i]['month'];
+	$link_data['year'] = $sunday_list[$i]['year'];
+	$link_data['day'] = $sunday_list[$i]['day'];
+	$link_data['date'] = $sunday_list[$i]['date'];
+	$link_data['action'] = 'update_day';
+	$this->t->set_var('update_day',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+        $this->t->set_var('date',$sunday_list[$i]['date']);
+	$this->t->set_var('day',$sunday_list[$i]['day']);
+        $this->t->set_var('month',$sunday_list[$i]['month']);
+	$this->t->set_var('year',$sunday_list[$i]['year']);
+	$this->t->fp('list2','header_list',True);
+	$total_width += $att_width;
+      }
+
+      for ($i=0; $i < count($elder_id); $i++) {
+        $att_table = "";
+	$this->nextmatchs->template_alternate_row_color(&$this->t);
+	$this->t->set_var('elder_name',$elder_name[$i]);
+	#print "checking for elder: " . $elder_id[$i] . "<br>";
+	for ($j=0; $j < count($sunday_list); $j++) {
+	  #print "checking for date: " .  $sunday_list[$j]['date'] . "<br>";
+	  #print "SELECT * FROM eq_attendance WHERE date='"
+	  #  . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i] . "<br>";
+	  $sql = "SELECT * FROM eq_attendance WHERE date='"
+	     . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  if($this->db->next_record()) {
+	    $att_table .= '<td align=center><img src="checkmark.gif"></td>';
+	  } else {
+	    $att_table .= '<td>&nbsp;</td>';
+	  }
+	}
+	$this->t->set_var('att_table',$att_table);
+	$this->t->fp('list3','elder_list',True);
+      }
+      $this->t->set_var('total_width',$total_width);
+      $this->t->set_var('elder_width',$elder_width);
+      $this->t->set_var('att_width',$att_width);
+
+      $this->t->pfp('out','att_view_t');
+      $this->save_sessiondata(); 
+    }
+
+  function att_update()
+    {
+      $monthnum['Jan']=1; $monthnum['Feb']=2; $monthnum['Mar']=3; $monthnum['Apr']=4;
+      $monthnum['May']=5; $monthnum['Jun']=6; $monthnum['Jul']=7; $monthnum['Aug']=8;
+      $monthnum['Sep']=9; $monthnum['Oct']=10; $monthnum['Nov']=11; $monthnum['Dec']=12;
+
+      $this->t->set_file(array('form' => 'att_update.tpl'));
+      $this->t->set_block('form','edit','edithandle');
+      
+      $this->t->set_block('form','month_list','list1');
+      $this->t->set_block('form','header_list','list2');
+      $this->t->set_block('form','elder_list','list3');
+
+      $this->t->set_var('done_action',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_view'));
+
+      $action = get_var('action',array('GET','POST'));
+      $month = get_var('month',array('GET','POST'));
+      $year = get_var('year',array('GET','POST'));
+      $day = get_var('day',array('GET','POST'));
+      $date = get_var('date',array('GET','POST'));
+
+      if($action == 'save_month' || $action == 'save_day')
+	{
+	   $new_data = get_var('elders_attended',array('POST'));
+	   $month = $monthnum[$month]; if($month < 10) { $month = "0" . $month; }
+
+	   if($action == 'save_month') {	
+             $this->db->query("DELETE from eq_attendance where date LIKE '".$year."-".$month."-%'",__LINE__,__FILE__);
+	   }
+
+	   if($action == 'save_day') {	      
+             $this->db->query("DELETE from eq_attendance where date LIKE '".$year."-".$month."-".$day."'",__LINE__,__FILE__);
+	   }   
+
+	   foreach ($new_data as $data)
+	   {
+	      $data_array = explode("-",$data);
+	      $elder = $data_array[0];
+	      $date  = "$data_array[1]-$data_array[2]-$data_array[3]";	      
+	      $this->db->query("INSERT INTO eq_attendance (elder,date) "
+	      		       . "VALUES (" . $elder . ",'". $date . "')",__LINE__,__FILE__);
+	   }
+	
+	 $this->att_view();
+	 return false;    
+	}
+
+      $sql = "SELECT * FROM eq_elder where valid=1";
+      $this->db->query($sql,__LINE__,__FILE__);
+      $i=0;
+      while ($this->db->next_record())
+	{
+	  $elder_name[$i] = $this->db->f('name');
+	  $elder_id[$i] = $this->db->f('elder');
+	  $i++;
+	}
+      array_multisort($elder_name, $elder_id);
+      
+      if($action == 'update_month')
+      {
+        $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_update&action=save_month'));
+        $i=0; 
+	$last_time = 0; 
+	$found_sunday = 0;
+	$sunday_list[0]['date'] = date("Y-m-d", mktime(0, 0, 0, $monthnum[$month], 1, $year));
+	$last_date = explode("-",$sunday_list[0]['date']);
+	$last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]);
+	$time_limit = mktime(0, 0, 0, $monthnum[$month], 31, $year);
+	while($last_time <= $time_limit)
+	{
+          $day = date("w",$last_time);
+          if(date("w",$last_time) == 0) { 
+  	    $sunday_list[$i]['date'] = date("Y-m-d", $last_time); 
+	    $last_date = explode("-",$sunday_list[$i]['date']);
+	    $last_time = mktime(0, 0, 0, $last_date[1], $last_date[2], $last_date[0]);
+	    $sunday_list[$i]['day'] = $last_date[2];
+	    $sunday_list[$i]['month'] = date("M",$last_time);
+	    $sunday_list[$i]['year'] = $last_date[0];
+	    $found_sunday = 1; 
+	  }
+	  $last_time += 90000;
+	  if($found_sunday) { $i++; $found_sunday=0; }
+        }
+
+	$this->t->set_var('span', $i);
+	$this->t->set_var('month',$sunday_list[$i-1]['month']);
+	$this->t->set_var('year',$sunday_list[$i-1]['year']);
+	$this->t->fp('list1','month_list',True);
+	$elder_width=200; $att_width=25; $total_width=$elder_width;
+	for ($i=0; $i < count($sunday_list); $i++) {
+	  $link_data['menuaction'] = 'eq.eq.att_update';
+	  $link_data['month'] = $sunday_list[$i]['month'];
+	  $link_data['year'] = $sunday_list[$i]['year'];
+	  $link_data['day'] = $sunday_list[$i]['day'];
+	  $link_data['date'] = $sunday_list[$i]['date'];
+	  $link_data['action'] = 'update_day';
+	  $this->t->set_var('update_day',$GLOBALS['phpgw']->link('/eq/index.php',$link_data));
+	  $this->t->set_var('date',$sunday_list[$i]['date']);
+	  $this->t->set_var('day',$sunday_list[$i]['day']);
+	  $this->t->set_var('month',$sunday_list[$i]['month']);
+	  $this->t->set_var('year',$sunday_list[$i]['year']);
+	  $this->t->fp('list2','header_list',True);
+	  $total_width += $att_width;
+	}     
+      }
+
+      if($action == 'update_day')
+      {
+        $this->t->set_var('actionurl',$GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.att_update&action=save_day'));
+        $sunday_list[0]['date'] = date("Y-m-d", mktime(0, 0, 0, $monthnum[$month], $day, $year));
+        $this->t->set_var('month',$month);
+	$this->t->set_var('year',$year);
+	$this->t->fp('list1','month_list',True);
+	$this->t->set_var('date',$date);
+	$this->t->set_var('day',$day);
+	$this->t->set_var('month',$month);
+	$this->t->set_var('year',$year);
+	$this->t->fp('list2','header_list',True);
+      }           
+            
+      for ($i=0; $i < count($elder_id); $i++) {
+        $att_table = "";
+	$this->nextmatchs->template_alternate_row_color(&$this->t);
+	$this->t->set_var('elder_name',$elder_name[$i]);
+	for ($j=0; $j < count($sunday_list); $j++) {
+	  $sql = "SELECT * FROM eq_attendance WHERE date='"
+	     . $sunday_list[$j]['date'] . "' AND elder=" . $elder_id[$i];
+	  $this->db->query($sql,__LINE__,__FILE__);
+	  $value = $elder_id[$i] . "-" . $sunday_list[$j]['date'];
+	  if($this->db->next_record()) {
+	    $att_table .= '<td align=center><input type="checkbox" name="elders_attended[]" value="'.$value.'" checked></td>';
+	  } else {
+	    $att_table .= '<td align=center><input type="checkbox" name="elders_attended[]" value="'.$value.'"></td>';
+	  }
+	}
+	$this->t->set_var('att_table',$att_table);
+	$this->t->fp('list3','elder_list',True);
+      } 
+           
+      $this->t->set_var('lang_done', 'Cancel');
+      $this->t->set_var('lang_reset','Clear Form');
+      $this->t->set_var('lang_save','Save Changes');
+
+      $this->t->pfp('out','form');
+      $this->t->pfp('addhandle','edit');
+
+      $this->save_sessiondata();       
+    }
+
+}
+
+?>
diff --git a/inc/functions.inc.php b/inc/functions.inc.php
new file mode 100644
index 0000000..525213b
--- /dev/null
+++ b/inc/functions.inc.php
@@ -0,0 +1,14 @@
+<?php
+  /**************************************************************************\
+  * phpGroupWare - eq                                                        *
+  * http://www.phpgroupware.org                                              *
+  * -----------------------------------------------                          *
+  *  This program is free software; you can redistribute it and/or modify it *
+  *  under the terms of the GNU General Public License as published by the   *
+  *  Free Software Foundation; either version 2 of the License, or (at your  *
+  *  option) any later version.                                              *
+  \**************************************************************************/
+	/* $Id: functions.inc.php,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ */
+
+
+?>
diff --git a/inc/hook_add_def_pref.inc.php b/inc/hook_add_def_pref.inc.php
new file mode 100644
index 0000000..e31a265
--- /dev/null
+++ b/inc/hook_add_def_pref.inc.php
@@ -0,0 +1,16 @@
+<?php
+  /**************************************************************************\
+  * phpGroupWare - eq                                                        *
+  * http://www.phpgroupware.org                                              *
+  * -----------------------------------------------                          *
+  *  This program is free software; you can redistribute it and/or modify it *
+  *  under the terms of the GNU General Public License as published by the   *
+  *  Free Software Foundation; either version 2 of the License, or (at your  *
+  *  option) any later version.                                              *
+  \**************************************************************************/
+	/* $Id: hook_add_def_pref.inc.php,v 1.1 2001/06/09 02:43:01 skeeter Exp $ */
+
+	global $pref;
+	$pref->change('notes','notes_font','Verdana,Arial,Helvetica,sans-serif');
+	$pref->change('notes','notes_font_size','3');
+?>
diff --git a/inc/hook_admin.inc.php b/inc/hook_admin.inc.php
new file mode 100644
index 0000000..1c8e3ba
--- /dev/null
+++ b/inc/hook_admin.inc.php
@@ -0,0 +1,21 @@
+<?php
+  /**************************************************************************\
+  * phpGroupWare - eq                                                        *
+  * http://www.phpgroupware.org                                              *
+  * -----------------------------------------------                          *
+  *  This program is free software; you can redistribute it and/or modify it *
+  *  under the terms of the GNU General Public License as published by the   *
+  *  Free Software Foundation; either version 2 of the License, or (at your  *
+  *  option) any later version.                                              *
+  \**************************************************************************/
+
+	/* $Id: hook_admin.inc.php,v 1.3.4.1 2003/03/27 18:10:15 ralfbecker Exp $ */
+{
+// Only Modify the $file and $title variables.....
+	$file = Array(
+//		'Administrate'	=> $GLOBALS['phpgw']->link('/eq/admin.php'),
+	);
+//Do not modify below this line
+	display_section($appname,$file);
+}
+?>
diff --git a/inc/hook_manual.inc.php b/inc/hook_manual.inc.php
new file mode 100644
index 0000000..50a6275
--- /dev/null
+++ b/inc/hook_manual.inc.php
@@ -0,0 +1,18 @@
+<?php
+    /**************************************************************************\
+    * phpGroupWare - Manual						     *
+    * http://www.phpgroupware.org                                              *
+    * Written by Mark Peters <skeeter@phpgroupware.org>                        *
+    * --------------------------------------------                             *
+    *  This program is free software; you can redistribute it and/or modify it *
+    *  under the terms of the GNU General Public License as published by the   *
+    *  Free Software Foundation; either version 2 of the License, or (at your  *
+    *  option) any later version.                                              *
+    \**************************************************************************/
+	/* $Id: hook_manual.inc.php,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ */
+
+	// Only Modify the $file variable.....
+	$file = Array();
+//Do not modify below this line
+	display_manual_section($appname,$file);
+?>
diff --git a/inc/hook_preferences.inc.php b/inc/hook_preferences.inc.php
new file mode 100644
index 0000000..09305d4
--- /dev/null
+++ b/inc/hook_preferences.inc.php
@@ -0,0 +1,22 @@
+<?php
+  /**************************************************************************\
+  * phpGroupWare - eq                                                        *
+  * http://www.phpgroupware.org                                              *
+  * -----------------------------------------------                          *
+  *  This program is free software; you can redistribute it and/or modify it *
+  *  under the terms of the GNU General Public License as published by the   *
+  *  Free Software Foundation; either version 2 of the License, or (at your  *
+  *  option) any later version.                                              *
+  \**************************************************************************/
+
+{
+// Only Modify the $file and $title variables.....
+	$file = Array(
+//		'Preferences'     => $GLOBALS['phpgw']->link('/eq/preferences.php'),
+//		'Grant Access'    => $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname),
+//		'Edit categories' => $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app=' . $appname . '&cats_level=True&global_cats=True')
+	);
+//Do not modify below this line
+	display_section($appname,$file);
+}
+?>
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..cd7662c
--- /dev/null
+++ b/index.php
@@ -0,0 +1,79 @@
+<?php
+	/**************************************************************************\
+	* phpGroupWare - Notes                                                     *
+	* http://www.phpgroupware.org                                              *
+	* Written by Bettina Gille [ceb@phpgroupware.org]                          *
+	* -----------------------------------------------                          *
+	*  This program is free software; you can redistribute it and/or modify it *
+	*  under the terms of the GNU General Public License as published by the   *
+	*  Free Software Foundation; either version 2 of the License, or (at your  *
+	*  option) any later version.                                              *
+	\**************************************************************************/
+	/* $Id: index.php,v 1.48.4.1 2003/11/04 15:06:35 ceb Exp $ */
+
+	$GLOBALS['phpgw_info']['flags'] = array
+	(
+		'currentapp' => 'eq',
+		'noheader'   => True,
+		'nonavbar'   => True 
+	);
+	include('../header.inc.php');
+
+	if (@isset($_GET['menuaction']))
+	{
+		list($app,$class,$method) = explode('.',$_GET['menuaction']);
+		if (! $app || ! $class || ! $method)
+		{
+			$invalid_data = True;
+		}
+	}
+	else
+	{
+		$app = 'eq';
+		$class = 'eq';
+		$invalid_data = True;
+	}
+
+	$GLOBALS['obj'] = CreateObject(sprintf('%s.%s',$app,$class));
+	$GLOBALS[$class] = $GLOBALS['obj'];
+	if ((is_array($GLOBALS[$class]->public_functions) && $GLOBALS[$class]->public_functions[$method]) && ! $invalid_data)
+	{
+		execmethod($_GET['menuaction']);
+		unset($app);
+		unset($obj);
+		unset($class);
+		unset($method);
+		unset($invalid_data);
+		unset($api_requested);
+	}
+	else
+	{
+		if (! $app || ! $class || ! $method)
+		{
+			$GLOBALS['phpgw']->log->message(array(
+				'text' => 'W-BadmenuactionVariable, menuaction missing or corrupt: %1',
+				'p1'   => $menuaction,
+				'line' => __LINE__,
+				'file' => __FILE__
+			));
+		}
+
+		if (! is_array($obj->public_functions) || ! $obj->public_functions[$method] && $method)
+		{
+			$GLOBALS['phpgw']->log->message(array(
+				'text' => 'W-BadmenuactionVariable, attempted to access private method: %1',
+				'p1'   => $method,
+				'line' => __LINE__,
+				'file' => __FILE__
+			));
+		}
+		//$GLOBALS['phpgw']->log->commit();
+		
+		//$GLOBALS['phpgw']->redirect_link('/eq/index.php?menuaction=eq.eq.ht_view');
+	} 
+
+//$obj = CreateObject('eq.eq');
+//$obj->ht_view();
+//$GLOBALS['phpgw']->common->phpgw_footer();
+
+?>
diff --git a/setup/phpgw_en.lang b/setup/phpgw_en.lang
new file mode 100644
index 0000000..41a5875
--- /dev/null
+++ b/setup/phpgw_en.lang
@@ -0,0 +1 @@
+eq		common	en	EQ
diff --git a/setup/phpgw_fr.lang b/setup/phpgw_fr.lang
new file mode 100644
index 0000000..7cc3ceb
--- /dev/null
+++ b/setup/phpgw_fr.lang
@@ -0,0 +1 @@
+eq		common	fr	EQ
diff --git a/setup/phpgw_sv.lang b/setup/phpgw_sv.lang
new file mode 100644
index 0000000..1b63b18
--- /dev/null
+++ b/setup/phpgw_sv.lang
@@ -0,0 +1 @@
+eq		common	sv	EQ
diff --git a/setup/setup.inc.php b/setup/setup.inc.php
new file mode 100644
index 0000000..a144ba4
--- /dev/null
+++ b/setup/setup.inc.php
@@ -0,0 +1,46 @@
+<?php
+	/**************************************************************************\
+	* phpGroupWare                                                             *
+	* http://www.phpgroupware.org                                              *
+	* --------------------------------------------                             *
+	*  This program is free software; you can redistribute it and/or modify it *
+	*  under the terms of the GNU General Public License as published by the   *
+	*  Free Software Foundation; either version 2 of the License, or (at your  *
+	*  option) any later version.                                              *
+	\**************************************************************************/
+
+	/* $Id: setup.inc.php,v 1.9.4.2 2004/03/07 02:14:23 skwashd Exp $ */
+
+	/* Basic information about this app */
+	$setup_info['eq']['name']      = 'eq';
+	$setup_info['eq']['title']     = 'Elders Quorum Tools';
+	$setup_info['eq']['version']   = '0.0.1.001';
+	$setup_info['eq']['app_order'] = 8;
+	$setup_info['eq']['enable']    = 1;
+	
+	/* some info's for about.php and apps.phpgroupware.org */
+	$setup_info['eq']['author']    = 'Alan J. Pippin';
+	$setup_info['eq']['license']   = 'GPL';
+	$setup_info['eq']['description'] =
+		'This app provides tools to help manage an Elders Quorum';
+	$setup_info['eq']['note'] =
+		'This was created for the Miramont Ward.';
+	$setup_info['eq']['maintainer'] = 'Alan J. Pippin';
+	$setup_info['eq']['maintainer_email'] = 'apippin@pippins.net';
+	
+	/* The tables this app creates */
+	/* $setup_info['eq']['tables']    = Array('eq'); */
+
+	/* The hooks this app includes, needed for hooks registration */
+	$setup_info['eq']['hooks'] = Array(
+		'preferences',
+		'manual',
+		'add_def_prefs'
+	);
+
+	/* Dependacies for this app to work */
+	$setup_info['eq']['depends'][] = array(
+			 'appname' => 'phpgwapi',
+			 'versions' => Array('0.9.10', '0.9.11' , '0.9.12', '0.9.13', '0.9.14', '0.9.16')
+		);
+?>
diff --git a/templates/default/act_list.tpl b/templates/default/act_list.tpl
new file mode 100644
index 0000000..3b6eb21
--- /dev/null
+++ b/templates/default/act_list.tpl
@@ -0,0 +1,27 @@
+<hr>
+<br>
+<center>
+        <table border="0" cellspacing="2" cellpadding="2">
+                <tr>
+                        <td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_date}</b></font></td>
+			<td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_name}</b></font></td>
+                </tr>
+
+<!-- BEGIN act_list -->
+
+                <tr bgcolor="{tr_color}">
+                        <td><font face="{font}">{date}</font></td>
+                        <td width=60%><font face="{font}" size="{font_size}">
+                        <a href="{view}">{name}</a></font></td>
+                        <td align="center"><font face="{font}"><a href="{view}">{lang_view}</a></font></td>
+                        <td align="center"><font face="{font}"><a href="{edit}">{lang_edit}</a></font></td>
+                </tr>
+
+<!-- END act_list -->
+
+                <tr valign="bottom">
+                        <td colspan="5"><font face="{font}">{add}</font></td>
+                </tr>
+        </table>
+</center>
+
diff --git a/templates/default/act_update.tpl b/templates/default/act_update.tpl
new file mode 100644
index 0000000..96b4ed7
--- /dev/null
+++ b/templates/default/act_update.tpl
@@ -0,0 +1,64 @@
+<!-- BEGIN form -->
+
+{app_header}
+
+<center>
+	<form action="{actionurl}" method="POST">
+	<table border="0" width="60%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}:&nbsp;{name}</b></font></td>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Name:</b>&nbsp;<input type=text size="30" name="name" value="{name}"</input></td>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Date:</b>&nbsp;{cal_date}</td>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Notes:</b></font></td>
+		</tr>
+		<tr>	
+			<td align="left"><font face="{font}" size="{font_size}"><textarea cols="60" rows="10" name="notes" wrap="virtual">{notes}</textarea></font></td>
+		</tr>
+	</table>
+
+	<table border="0" width="70%" cellspacing="2" cellpadding="2">
+                <tr bgcolor="#c9c9c9" align=center><td colspan=3><font face="{font}"><b>Elders Attending</b></font></td></tr>
+	        <tr>
+<!-- BEGIN elder_list -->
+		<td width=25% bgcolor={tr_color}><font face="{font}"><input type="checkbox" name="elder_name[]" value="{elder}" {checked}>{elder_name}</font>{table_sep}
+<!-- END elder_list -->
+		</tr>
+        </table>
+
+<!-- BEGIN add -->
+	<table width="70%" border="0" cellspacing="2" cellpadding="2" align=left>
+		<tr valign="bottom">
+			<td height="50" align="right">
+				<font face="{font}"><input type="submit" name="addnote" value="{lang_save}"></font></td>
+			<td height="50" align="center">
+				<font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td>
+			<td height="50" align="center">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+</center>
+<!-- END add -->
+
+<!-- BEGIN edit -->
+	<table width="50%" border="0" cellspacing="2" cellpadding="2" align=left>
+		<tr valign="bottom" align="left">
+			<td height="50" align="right" valign="middle">
+				<font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font>
+				</form></td>
+			<td height="50" align="center" valign="middle">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+</center>
+
+<!-- END edit -->
+
+<!-- END form -->
diff --git a/templates/default/act_view.tpl b/templates/default/act_view.tpl
new file mode 100644
index 0000000..fe91407
--- /dev/null
+++ b/templates/default/act_view.tpl
@@ -0,0 +1,53 @@
+
+<!-- BEGIN view -->
+
+{app_header}
+
+<center>
+        <table border="0" width="70%" cellspacing="2" cellpadding="2">
+                <tr>
+                        <td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}:&nbsp;{name}</b></font></td>
+                </tr>
+                <tr>
+                        <td>&nbsp;</td>
+                </tr>
+                <tr>
+                        <td><b>{lang_name}:</b>&nbsp;{name}</font></td>
+                </tr>
+                <tr>
+                        <td><b>{lang_date}:</b>&nbsp;{cal_date}</font></td>
+                </tr>
+	        <tr>
+  			<td><b>{lang_notes}:</b></font></td>
+		</tr>
+                <tr>
+                        <td bgcolor="{tr_color}"><font face="{font}" size="{font_size}">{notes}</font></td>
+                </tr>
+	</table>
+	
+	<table border="0" width="70%" cellspacing="2" cellpadding="2">
+                <tr bgcolor="#c9c9c9" align=center><td colspan=3><font face="{font}"><b>Elders Attending</b></font></td></tr>
+	        <tr>
+<!-- BEGIN part_list -->
+		<td width=25% bgcolor={tr_color}><font face="{font}">{elder_name}</font>{table_sep}
+<!-- END part_list -->
+		</tr>
+        </table>
+
+	<table border="0" width="70%" cellspacing="2" cellpadding="2">
+                <tr>
+                        <td height="50" valign="bottom" width=20%>
+                                <form action="{done_action}" method="POST">
+                                <font face="{font}"><input type="submit" name="done" value="{lang_done}"></font>
+                                </form>
+                        </td>
+			<td height="50" valign="bottom">
+			<a href={edit}>Edit</a>
+			</td>
+                </tr>
+	</table>
+</center>
+
+<!-- END view -->
+
+
diff --git a/templates/default/att_update.tpl b/templates/default/att_update.tpl
new file mode 100644
index 0000000..8f98998
--- /dev/null
+++ b/templates/default/att_update.tpl
@@ -0,0 +1,46 @@
+<center>
+	<form action="{actionurl}" method="POST">
+	<input type=hidden name=year value={year}>
+	<input type=hidden name=month value={month}>
+	<input type=hidden name=day value={day}>
+
+	<table border="0" width="80%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>Elder Attendance Table</b></font></td>
+		</tr>
+	</table>
+	<br><br>
+	<table border="0" width="{total_width}" cellspacing="2" cellpadding="2">
+	<tr bgcolor="#c9c9c9">
+		<th>&nbsp;</th>
+<!-- BEGIN month_list -->
+		<th colspan={span}><font size=-3>{month}&nbsp;{year}</font></th>
+<!-- END month_list -->
+	</tr>
+	<tr bgcolor="#c9c9c9">
+		<th width={elder_width}>Elder</th>
+<!-- BEGIN header_list -->
+		<th width={act_width}><font size=-3><a href="{update_day}">{day}</a></font></th>
+<!-- END header_list -->
+	</tr>
+
+<!-- BEGIN elder_list -->
+	<tr bgcolor="{tr_color}"><td>{elder_name}</td>{att_table}</tr>
+<!-- END elder_list -->
+
+	</table>
+
+<!-- BEGIN edit -->
+	<table width="50%" border="0" cellspacing="2" cellpadding="2" align=center>
+		<tr valign="bottom" align="left">
+			<td height="50" align="center" valign="middle">
+				<font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font>
+				</form></td>
+			<td height="50" align="left" valign="middle">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+<!-- END edit -->
+
+</center>
diff --git a/templates/default/att_view.tpl b/templates/default/att_view.tpl
new file mode 100644
index 0000000..7912c7f
--- /dev/null
+++ b/templates/default/att_view.tpl
@@ -0,0 +1,44 @@
+<center>
+	<form action="{actionurl}" method="POST">
+	<table border="0" width="80%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>Elder Attendance Table</b></font></td>
+		</tr>
+	</table>
+	<br>
+
+	<form action="{filterurl}" method="POST">
+	<table width="70%" border="0" cellspacing="2" cellpadding="2" align=center>
+	<tr>
+		<td align=center>
+		Showing <input type=text size="2" name="num_months" value="{num_months}">
+		{lang_num_months}
+		</td>
+		<td align=center>	
+		<font face="{font}"><input type="submit" name="filter" value="{lang_filter}"></font>
+		</td>
+	</tr>
+	</table>
+	</form>
+
+	<table border="0" width="{total_width}" cellspacing="2" cellpadding="2">
+	<tr bgcolor="#c9c9c9">
+		<th>&nbsp;</th>
+<!-- BEGIN month_list -->
+		<th colspan={span}><font size=-3>
+		<a href="{update_month}">{month}&nbsp;{year}</a></font></th>
+<!-- END month_list -->
+	</tr>
+	<tr bgcolor="#c9c9c9">
+		<th width={elder_width}>Elder</th>
+<!-- BEGIN header_list -->
+		<th width={act_width}><font size=-3><a href="{update_day}">{day}</a></font></th>
+<!-- END header_list -->
+	</tr>
+
+<!-- BEGIN elder_list -->
+	<tr bgcolor="{tr_color}"><td>{elder_name}</td>{att_table}</tr>
+<!-- END elder_list -->
+
+	</table>
+</center>
diff --git a/templates/default/header.tpl b/templates/default/header.tpl
new file mode 100644
index 0000000..ca6d7cd
--- /dev/null
+++ b/templates/default/header.tpl
@@ -0,0 +1,28 @@
+<!-- $Id: header.tpl,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ -->
+
+<p>
+	<center>
+		<table border="0" width=70% cellpadding="2" cellspacing="2">
+			<tr>
+				<td width=100% align="center" bgcolor="{bg_color}"><font face="{font}"><b>
+					<a href="{link_hometeaching}">{lang_hometeaching}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_activity}">{lang_activity}</a>
+					&nbsp;
+					&nbsp;
+					<a href="{link_participation}">{lang_participation}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_ppi}">{lang_ppi}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_visit}">{lang_visit}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_attendance}">{lang_attendance}</a>
+					</b></font></td>
+
+			</tr>
+		</table>
+	</center>
diff --git a/templates/default/ht_update.tpl b/templates/default/ht_update.tpl
new file mode 100644
index 0000000..91db64a
--- /dev/null
+++ b/templates/default/ht_update.tpl
@@ -0,0 +1,41 @@
+<center>
+	<form action="{actionurl}" method="POST">
+	<input type=hidden name=district value={district_number}>
+	<input type=hidden name=date value={date}>
+
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td>
+		</tr>
+	</table>
+
+<!-- BEGIN district_list -->
+	<br><br>
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9" colspan=20>
+				<font face="{font}"><b>District {district_number}: {district_name}</b></font>
+			</td>
+		</tr>
+		<tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr>
+		{table_data}
+		{stat_data}
+	</table>
+<!-- END district_list -->
+
+<!-- BEGIN save -->
+	<table width="70%" border="0" cellspacing="2" cellpadding="2" align=center>
+		<tr valign="bottom">
+			<td height="50" align="right">
+				<font face="{font}"><input type="submit" name="save" value="{lang_save}"></font></td>
+			<td height="50" align="center">
+				<font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td>
+			<td height="50" align="left">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+</center>
+<!-- END save -->
+
+</center>
diff --git a/templates/default/ht_view.tpl b/templates/default/ht_view.tpl
new file mode 100644
index 0000000..56b34ee
--- /dev/null
+++ b/templates/default/ht_view.tpl
@@ -0,0 +1,48 @@
+<center>
+
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td>
+		</tr>
+	</table>
+	<br>
+
+	<form action="{linkurl}" method="POST">
+	<table width="70%" border="0" cellspacing="2" cellpadding="2" align=center>
+	<tr>
+		<td align=center>
+		Showing <input type=text size="2" name="num_months" value="{num_months}">
+		{lang_num_months}
+		</td>
+		<td align=center>	
+		<font face="{font}"><input type="submit" name="filter" value="{lang_filter}"></font>
+		</td>
+	</tr>
+	</table>
+	</form>
+
+	<form action="{actionurl}" method="POST">
+
+<!-- BEGIN district_list -->
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9" colspan=20>
+				<font face="{font}"><b>District {district_number}: {district_name}</b></font>
+			</td>
+		</tr>
+		<tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr>
+		{table_data}
+		{stat_data}
+	</table>
+	<br><br>
+<!-- END district_list -->
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9" colspan=20>
+			<font face="{font}"><b>Total Visits</b></font>
+			</td>
+		</tr>
+		<tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr>
+		{totals}
+	</table>
+</center>
diff --git a/templates/default/images/navbar.gif b/templates/default/images/navbar.gif
new file mode 100644
index 0000000..2042bea
Binary files /dev/null and b/templates/default/images/navbar.gif differ
diff --git a/templates/default/images/navbar.gif.old b/templates/default/images/navbar.gif.old
new file mode 100644
index 0000000..8f380ab
Binary files /dev/null and b/templates/default/images/navbar.gif.old differ
diff --git a/templates/default/images/navbar.png b/templates/default/images/navbar.png
new file mode 100644
index 0000000..72ff1a8
Binary files /dev/null and b/templates/default/images/navbar.png differ
diff --git a/templates/default/images/navbar.png.old b/templates/default/images/navbar.png.old
new file mode 100644
index 0000000..01e5d13
Binary files /dev/null and b/templates/default/images/navbar.png.old differ
diff --git a/templates/default/par_update.tpl b/templates/default/par_update.tpl
new file mode 100644
index 0000000..e69de29
diff --git a/templates/default/par_view.tpl b/templates/default/par_view.tpl
new file mode 100644
index 0000000..53d7b46
--- /dev/null
+++ b/templates/default/par_view.tpl
@@ -0,0 +1,23 @@
+<center>
+	<form action="{actionurl}" method="POST">
+	<table border="0" width="80%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>Elder Participation Table</b></font></td>
+		</tr>
+	</table>
+	<br><br>
+	<table border="0" width="{total_width}" cellspacing="2" cellpadding="2">
+	<tr bgcolor="#c9c9c9">
+		<th width={elder_width}>Elder</th>
+<!-- BEGIN header_list -->
+		<th width={act_width}><font size=-3>{activity_name}<br>{activity_date}</font></th>
+<!-- END header_list -->
+		<th width={part_width}><font size=-3>Participated</font></th>
+	</tr>
+
+<!-- BEGIN elder_list -->
+	<tr bgcolor="{tr_color}"><td>{elder_name}</td>{part_table}</tr>
+<!-- END elder_list -->
+
+	</table>
+</center>
diff --git a/templates/default/ppi_update.tpl b/templates/default/ppi_update.tpl
new file mode 100644
index 0000000..66c08a6
--- /dev/null
+++ b/templates/default/ppi_update.tpl
@@ -0,0 +1,71 @@
+{app_header}
+
+<center>
+	<form action="{actionurl}" method="POST">
+	<input type=hidden name=interviewer value={interviewer}>
+	<input type=hidden name=elder value={elder}>
+	<input type=hidden name=companionship value={companionship}>
+	<input type=hidden name=eqpresppi value={eqpresppi}>
+	<table border="0" width="60%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}:&nbsp;{name}</b></font></td>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Name:</b>&nbsp;
+			<input type=text size="30" name="name" value="{name}" READONLY></td>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Interviewer:</b>&nbsp;
+			<select name="interviewer" disabled>
+<!-- BEGIN interviewer_list -->
+			<option value={interviewer}>{interviewer_name}</option>
+<!-- END interviewer_list -->
+			</select>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Date:</b>&nbsp;
+			{cal_date}
+			</td>
+		</tr>
+		<tr> 
+			<td align="left"><font face="{font}"><b>Notes:</b></font></td>
+		</tr>
+		<tr>	
+			<td align="left"><font face="{font}" size="{font_size}">
+			<textarea cols="60" rows="10" name="notes" wrap="virtual" {readonly}>{notes}</textarea></font></td>
+		</tr>
+	</table>
+
+<!-- BEGIN add -->
+	<table width="70%" border="0" cellspacing="2" cellpadding="2" align=left>
+		<tr valign="bottom">
+			<td height="50" align="right">
+				<font face="{font}"><input type="submit" name="addnote" value="{lang_save}"></font></td>
+			<td height="50" align="center">
+				<font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td>
+			<td height="50" align="center">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+</center>
+<!-- END add -->
+
+<!-- BEGIN edit -->
+	<table width="50%" border="0" cellspacing="2" cellpadding="2" align=left>
+		<tr valign="bottom" align="left">
+			<td height="50" align="right" valign="middle">
+				<font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font>
+				</form></td>
+			<td height="50" align="center" valign="middle">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+</center>
+
+<!-- END edit -->
+
+<!-- END form -->
+
+
diff --git a/templates/default/ppi_view.tpl b/templates/default/ppi_view.tpl
new file mode 100644
index 0000000..0a1c64a
--- /dev/null
+++ b/templates/default/ppi_view.tpl
@@ -0,0 +1,49 @@
+<center>
+
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title}</b></font></td>
+		</tr>
+	</table>
+
+	<a href="{eqpres_ppi_link}">{ppi_link_title}</a><br>
+
+	<form action="{filterurl}" method="POST">
+	<table width="70%" border="0" cellspacing="2" cellpadding="2" align=center>
+	<tr>
+		<td align=center>
+		Showing <input type=text size="2" name="num_months" value="{num_months}">
+		{lang_num_months}
+		</td>
+		<td align=center>	
+		<font face="{font}"><input type="submit" name="filter" value="{lang_filter}"></font>
+		</td>
+	</tr>
+	</table>
+	</form>
+
+	<form action="{actionurl}" method="POST">
+
+<!-- BEGIN district_list -->
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9" colspan=20>
+				<font face="{font}"><b>District {district_number}: {district_name}</b></font>
+			</td>
+		</tr>
+		<tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr>
+		{table_data}
+		{stat_data}
+	</table>
+	<br><br>
+<!-- END district_list -->
+	<table border="0" width="{table_width}" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9" colspan=20>
+			<font face="{font}"><b>Total PPIs</b></font>
+			</td>
+		</tr>
+		<tr bgcolor="#c9c9c9"><font face="{font}">{header_row}</tr>
+		{totals}
+	</table>
+</center>
diff --git a/templates/default/skel/delete.tpl b/templates/default/skel/delete.tpl
new file mode 100644
index 0000000..ff650a0
--- /dev/null
+++ b/templates/default/skel/delete.tpl
@@ -0,0 +1,24 @@
+<!-- $Id: delete.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ -->
+
+<br /><br /><br />
+
+<center>
+	<table border="0" width="50%" cellpadding="2" cellspacing="2">
+		<form method="post" action="{action_url}">
+		<tr>
+			<td align="center"><font face="{font}">{deleteheader}</font></td>
+		</tr>
+		<tr>
+			<td>
+				<table border="0" width="30%" align="center">
+					<tr>
+						<td align="center">
+							{hidden_vars}
+							<input type="submit" name="confirm" value="{lang_yes}"></form></td>
+						<td align="center"><a href="{nolink}">{lang_no}</a></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</center>
\ No newline at end of file
diff --git a/templates/default/skel/form.tpl b/templates/default/skel/form.tpl
new file mode 100644
index 0000000..28582b5
--- /dev/null
+++ b/templates/default/skel/form.tpl
@@ -0,0 +1,64 @@
+<!-- $Id: form.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ -->
+
+<!-- BEGIN form -->
+
+<center>
+	<form action="{actionurl}" method="post">
+	{hidden_vars}
+	<table border="0" width="60%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}:&nbsp;{name}</b></font></td>
+		</tr>
+		<tr>
+			<td align="center"><font face="{font}">{message}</font></td>
+		</tr>
+		<tr>
+			<td align="center"><font face="{font}"><select name="new_cat"><option value="">{lang_choose}</option>{main_cat_list}</select></font></td>
+		</tr>
+		<tr>
+			<td align="center"><font face="{font}" size="{font_size}"><textarea cols="60" rows="10" name="note">{note}</textarea></font></td>
+		</tr>
+		<tr>
+			<td align="center"><font face="{font}">{lang_access}:</font>&nbsp;&nbsp;{access}</td>
+		</tr>
+	</table>
+
+<!-- BEGIN add -->
+
+	<table width="40%" border="0" cellspacing="2" cellpadding="2">
+		<tr valign="bottom">
+			<td height="50" align="center">
+				{hidden_vars}
+				<font face="{font}"><input type="submit" name="addnote" value="{lang_add}"></font></td>
+			<td height="50" align="center">
+				<font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td>
+			<td height="50" align="center" valign="middle">
+				{hidden_vars}
+				<font face="{font}"><a href="{done_action}">{lang_done}</a></font></td>
+		</tr>
+	</table>
+</center>
+
+<!-- END add -->
+
+<!-- BEGIN edit -->
+	
+	<table width="40%" border="0" cellspacing="2" cellpadding="2">
+		<tr valign="bottom">
+			<td height="50" align="center">
+				{hidden_vars}
+				<font face="{font}"><input type="submit" name="editnote" value="{lang_edit}"></font>
+				</form></td>
+			<td height="50" align="center">
+				{hidden_vars}
+				<font face="{font}">{delete}</font></td>
+			<td height="50" align="center" valign="middle">
+				{hidden_vars}
+				<font face="{font}"><a href="{done_action}">{lang_done}</a></font></td>
+		</tr>
+	</table>
+</center>
+
+<!-- END edit -->
+
+<!-- END form -->
diff --git a/templates/default/skel/header.tpl b/templates/default/skel/header.tpl
new file mode 100644
index 0000000..ca6d7cd
--- /dev/null
+++ b/templates/default/skel/header.tpl
@@ -0,0 +1,28 @@
+<!-- $Id: header.tpl,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ -->
+
+<p>
+	<center>
+		<table border="0" width=70% cellpadding="2" cellspacing="2">
+			<tr>
+				<td width=100% align="center" bgcolor="{bg_color}"><font face="{font}"><b>
+					<a href="{link_hometeaching}">{lang_hometeaching}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_activity}">{lang_activity}</a>
+					&nbsp;
+					&nbsp;
+					<a href="{link_participation}">{lang_participation}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_ppi}">{lang_ppi}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_visit}">{lang_visit}</a>
+					&nbsp;
+                                        &nbsp;
+                                        <a href="{link_attendance}">{lang_attendance}</a>
+					</b></font></td>
+
+			</tr>
+		</table>
+	</center>
diff --git a/templates/default/skel/list.tpl b/templates/default/skel/list.tpl
new file mode 100644
index 0000000..dd42a16
--- /dev/null
+++ b/templates/default/skel/list.tpl
@@ -0,0 +1,50 @@
+<!-- $Id: list.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ -->
+
+<center>
+	<table border="0" cellspacing="2" cellpadding="2">
+		<tr>
+			<td colspan="5" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{title_notes}:&nbsp;{name}<b/></font></td>
+		</tr>
+		<tr>
+			<td colspan="5" align=left>
+				<table border="0" width="100%">
+					<tr>
+					{left}
+						<td align="center"><font face="{font}">{search_message}</font></td>
+					{right}
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr>
+			<td><font face="{font}">
+    			<form action="{cat_action}" name="form" method="post">
+    			{lang_category}&nbsp;&nbsp;<select name="cat_id" onchange="this.form.submit();"><option value="">{lang_all}</option>{category_list}</select>
+    			<noscript>&nbsp;<input type="submit" name="submit" value="{lang_submit}"></noscript></form></font>
+			</td>
+			<td colspan="5" align=right>
+				<form method="post" action={actionurl}><font face="{font}">
+				{hidden_vars}
+				<input type="text" name="search" />&nbsp;<input type="submit" name="submit" value="{lang_search}" />
+				</font></form></td>
+		</tr>
+
+<!-- BEGIN notes_list -->
+
+		<tr bgcolor="{tr_color}">
+			<td><font face="{font}">{new_date}</font></td>
+			<td><font face="{font}" size="{font_size}">{first}</font></td>
+			<td align="center"><font face="{font}"><a href="{view}">{lang_view}</a></font></td>
+			<td align="center"><font face="{font}"><a href="{edit}">{lang_edit}</a></font></td>
+			<td align="center"><font face="{font}"><a href="{delete}">{lang_delete}</a></font></td>
+		</tr>
+
+<!-- END notes_list -->
+
+		<tr valign="bottom">
+			<td colspan="5"><form method="post" action="{addurl}"><font face="{font}">
+				{hidden_vars}
+				<input type="submit" name="add" value="{lang_add}" /></font></form></td>
+		</tr>
+	</table>
+</center>
\ No newline at end of file
diff --git a/templates/default/skel/preference_acl.tpl b/templates/default/skel/preference_acl.tpl
new file mode 100644
index 0000000..d005033
--- /dev/null
+++ b/templates/default/skel/preference_acl.tpl
@@ -0,0 +1,25 @@
+{errors}
+{title}
+<table border="0" align="center" width="70%">
+	<tr>
+	{nml}
+		<td width="40%">
+		<div align="center">
+		<form method="post" action="{action_url}">
+		{common_hidden_vars}
+		<input type="text" name="query" value="{search_value}" />
+		<input type="submit" name="search" value="{search}" />
+		</form>
+		</div>
+		</td>
+	{nmr}
+	</tr>
+</table>
+<form method="post" action="{action_url}">
+<table border="0" align="center" width="50%">
+	{row}
+</table>
+{common_hidden_vars_form}
+<input type="hidden" name="processed" value="{processed}" />
+<center><input type="submit" name="submit" value="{submit_lang}" /></center>
+</form>
diff --git a/templates/default/skel/preference_acl_row.tpl b/templates/default/skel/preference_acl_row.tpl
new file mode 100644
index 0000000..be03ce5
--- /dev/null
+++ b/templates/default/skel/preference_acl_row.tpl
@@ -0,0 +1,9 @@
+<!-- $Id: preference_acl_row.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ -->
+	<tr bgcolor="{row_color}">
+		<td>{user}</td>
+		<td align="center"><input type="checkbox" name="{read}" value="Y"{read_selected} /></td>
+		<td align="center"><input type="checkbox" name="{add}" value="Y"{add_selected} /></td>
+		<td align="center"><input type="checkbox" name="{edit}" value="Y"{edit_selected} /></td>
+		<td align="center"><input type="checkbox" name="{delete}" value="Y"{delete_selected} /></td>
+		<td align="center"><input type="checkbox" name="{private}" value="Y"{private_selected} /></td>
+	</tr>
diff --git a/templates/default/skel/preference_colspan.tpl b/templates/default/skel/preference_colspan.tpl
new file mode 100644
index 0000000..b22fba6
--- /dev/null
+++ b/templates/default/skel/preference_colspan.tpl
@@ -0,0 +1,8 @@
+<tr bgcolor="{bg_color}">
+	<td>{string}</td>
+	<td align="center">{read_lang}</td>
+	<td align="center">{add_lang}</td>
+	<td align="center">{edit_lang}</td>
+	<td align="center">{delete_lang}</td>
+	<td align="center">{private_lang}</td>
+</tr>
diff --git a/templates/default/skel/preferences.tpl b/templates/default/skel/preferences.tpl
new file mode 100644
index 0000000..8bb144a
--- /dev/null
+++ b/templates/default/skel/preferences.tpl
@@ -0,0 +1,24 @@
+<!-- $Id: preferences.tpl,v 1.1.1.1.6.1 2004/11/06 15:41:41 powerstat Exp $ -->
+<br /><br />
+<center>
+	<form method="post" name="prefs_form" action="{actionurl}">
+	<table width="70%" border="0" cellspacing="2" cellpadding="2">
+		<tr>
+			<td colspan="2" bgcolor="#c0c0c0" align="center"><font face="{font}"><b>{lang_action}</b></font></td>
+		</tr>
+		<tr>
+			<td align="right"><font face="{font}">{lang_select_font}:</font></td>
+			<td><font face="{font}" size="{font_size}"><select name="notes_font">{notes_font}</select></font></td>
+		</tr>
+		<tr>
+			<td align="right"><font face="{font}">{lang_select_size}:</font></td>
+			<td><font face="{font}" size="{font_size}"><select name="notes_font_size">{notes_font_size}</select></font></td>
+		</tr>
+		<tr valign="bottom">
+			<td height="50"><font face="{font}">
+			<input type="submit" name="submit" value="{lang_edit}" /></font>
+			</form></td>
+			<td>&nbsp;</td>
+		</tr>
+	</table>
+</center>
\ No newline at end of file
diff --git a/templates/default/skel/view.tpl b/templates/default/skel/view.tpl
new file mode 100644
index 0000000..aedd820
--- /dev/null
+++ b/templates/default/skel/view.tpl
@@ -0,0 +1,27 @@
+<!-- $Id: view.tpl,v 1.1.1.1 2001/05/20 07:40:32 seek3r Exp $ -->
+
+<!-- BEGIN view -->
+
+<center>
+	<table border="0" width="70%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}:&nbsp;{name}</b></font></td>
+		</tr>
+		<tr>
+			<td>&nbsp;</td>
+		</tr>
+		<tr>
+			<td><font face="{font}"><b>{lang_time}:</b>&nbsp;{new_date}</font></td>
+		</tr>
+		<tr>
+			<td bgcolor="{tr_color}"><font face="{font}" size="{font_size}">{fnote}</font></td>
+		</tr>
+		<tr>
+			<td height="50" valign="bottom">
+				{hidden_vars} 
+				<font face="{font}"><a href="{done_action}">{lang_done}</a></font></td>
+		</tr>
+	</table>
+</center>
+
+<!-- END view -->
\ No newline at end of file
diff --git a/templates/default/vis_update.tpl b/templates/default/vis_update.tpl
new file mode 100644
index 0000000..1d39257
--- /dev/null
+++ b/templates/default/vis_update.tpl
@@ -0,0 +1,67 @@
+{app_header}
+
+<center>
+	<form action="{actionurl}" method="POST">
+	<input type=hidden name=family value={family}>
+	<input type=hidden name=name value={name}>
+
+	<table border="0" width="60%" cellspacing="2" cellpadding="2">
+		<tr>
+			<td align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_action}:&nbsp;{name} Family</b></font></td>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Family Name:</b>&nbsp;
+			<input type=text size="30" name="name" value="{name}" READONLY></td>
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Companionship: </b>&nbsp;
+			<input type=text size="30" name="companionship" value="EQ Presidency" READONLY></td>
+	
+		</tr>
+		<tr>
+			<td align="left"><font face="{font}"><b>Date:</b>&nbsp;
+			{cal_date}
+			</td>
+		</tr>
+		<tr> 
+			<td align="left"><font face="{font}"><b>Notes:</b></font></td>
+		</tr>
+		<tr>	
+			<td align="left"><font face="{font}" size="{font_size}">
+			<textarea cols="60" rows="10" name="notes" wrap="virtual" {readonly}>{notes}</textarea></font></td>
+		</tr>
+	</table>
+
+<!-- BEGIN add -->
+	<table width="70%" border="0" cellspacing="2" cellpadding="2" align=left>
+		<tr valign="bottom">
+			<td height="50" align="right">
+				<font face="{font}"><input type="submit" name="addnote" value="{lang_save}"></font></td>
+			<td height="50" align="center">
+				<font face="{font}"><input type="reset" name="reset" value="{lang_reset}"></font></form></td>
+			<td height="50" align="center">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+</center>
+<!-- END add -->
+
+<!-- BEGIN edit -->
+	<table width="50%" border="0" cellspacing="2" cellpadding="2" align=left>
+		<tr valign="bottom" align="left">
+			<td height="50" align="right" valign="middle">
+				<font face="{font}"><input type="submit" name="editnote" value="{lang_save}"></font>
+				</form></td>
+			<td height="50" align="center" valign="middle">
+				<form action="{done_action}" method="POST">
+				<font face="{font}"><input type="submit" name="done" value="{lang_done}"></font></form></td>
+		</tr>
+	</table>
+</center>
+
+<!-- END edit -->
+
+<!-- END form -->
+
+
diff --git a/templates/default/vis_view.tpl b/templates/default/vis_view.tpl
new file mode 100644
index 0000000..4cffa74
--- /dev/null
+++ b/templates/default/vis_view.tpl
@@ -0,0 +1,37 @@
+<hr>
+
+<center>
+	<h3>Presidency Visits</h3>
+        <table border="0" cellspacing="2" cellpadding="2">
+                <tr>
+			<td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_name}</b></font></td>
+                        <td colspan="1" align="center" bgcolor="#c9c9c9"><font face="{font}"><b>{lang_date}</b></font></td>
+                </tr>
+
+<!-- BEGIN visit_list -->
+
+                <tr bgcolor="{tr_color}">
+                        <td width=60%><font face="{font}" size="{font_size}">
+                        <a href="{view}">{family_name} Family</a></font></td>
+                        <td><font face="{font}">{date}</font></td>
+                        <td align="center"><font face="{font}"><a href="{view}">{lang_view}</a></font></td>
+                        <td align="center"><font face="{font}"><a href="{edit}">{lang_edit}</a></font></td>
+                </tr>
+
+<!-- END visit_list -->
+
+        </table>
+	
+	<br><br>
+
+	<table border="0" width="70%" cellspacing="2" cellpadding="2">
+                <tr bgcolor="#c9c9c9" align=center><td colspan=3><font face="{font}">
+		<b>Ward Families Available to Visit</b></font></td></tr>
+	        <tr>
+<!-- BEGIN family_list -->
+		<td width=25% bgcolor={tr_color}><font face="{font}"><a href="{add}">{name} Family</a></font>{table_sep}
+<!-- END family_list -->
+		</tr>
+        </table>
+</center>
+
diff --git a/templates/idots/images/navbar.gif b/templates/idots/images/navbar.gif
new file mode 100644
index 0000000..2042bea
Binary files /dev/null and b/templates/idots/images/navbar.gif differ
diff --git a/templates/idots/images/navbar.old.png b/templates/idots/images/navbar.old.png
new file mode 100644
index 0000000..0746cdc
Binary files /dev/null and b/templates/idots/images/navbar.old.png differ
diff --git a/templates/idots/images/navbar.png b/templates/idots/images/navbar.png
new file mode 100644
index 0000000..fd5ec98
Binary files /dev/null and b/templates/idots/images/navbar.png differ
diff --git a/templates/idots/images/unit.jpg b/templates/idots/images/unit.jpg
new file mode 100755
index 0000000..cf2adca
Binary files /dev/null and b/templates/idots/images/unit.jpg differ
diff --git a/templates/idsociety/images/navbar-over.gif b/templates/idsociety/images/navbar-over.gif
new file mode 100644
index 0000000..c11d1f9
Binary files /dev/null and b/templates/idsociety/images/navbar-over.gif differ
diff --git a/templates/idsociety/images/navbar-over.png b/templates/idsociety/images/navbar-over.png
new file mode 100644
index 0000000..7ad9961
Binary files /dev/null and b/templates/idsociety/images/navbar-over.png differ
diff --git a/templates/idsociety/images/navbar.gif b/templates/idsociety/images/navbar.gif
new file mode 100644
index 0000000..d51c4a8
Binary files /dev/null and b/templates/idsociety/images/navbar.gif differ
diff --git a/templates/idsociety/images/navbar.png b/templates/idsociety/images/navbar.png
new file mode 100644
index 0000000..9b430ee
Binary files /dev/null and b/templates/idsociety/images/navbar.png differ
diff --git a/x.gif b/x.gif
new file mode 100755
index 0000000..12ed1d5
Binary files /dev/null and b/x.gif differ
diff --git a/x.psd b/x.psd
new file mode 100755
index 0000000..8353958
Binary files /dev/null and b/x.psd differ