diff --git a/calendar/inc/class.sbox.inc.php b/calendar/inc/class.sbox.inc.php
new file mode 100644
index 0000000000..58038b6c40
--- /dev/null
+++ b/calendar/inc/class.sbox.inc.php
@@ -0,0 +1,407 @@
+ *
+ * Class for creating predefines select boxes *
+ * Copyright (C) 2000, 2001 Dan Kuykendall *
+ * -------------------------------------------------------------------------*
+ * This library is part of the eGroupWare API *
+ * ------------------------------------------------------------------------ *
+ * This library is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as published by *
+ * the Free Software Foundation; either version 2.1 of the License, *
+ * or any later version. *
+ * This library is distributed in the hope that it will be useful, but *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
+ * See the GNU Lesser General Public License for more details. *
+ * You should have received a copy of the GNU Lesser General Public License *
+ * along with this library; if not, write to the Free Software Foundation, *
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ \**************************************************************************/
+ /* $Id: class.sbox.inc.php 15449 2004-06-15 08:16:07Z ralfbecker $ */
+
+ class sbox
+ {
+ var $monthnames = array(
+ '',
+ 'January',
+ 'February',
+ 'March',
+ 'April',
+ 'May',
+ 'June',
+ 'July',
+ 'August',
+ 'September',
+ 'October',
+ 'November',
+ 'December'
+ );
+
+ var $weekdays = array(
+ '',
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday',
+ 'Sunday'
+ );
+
+ function sbox()
+ {
+ if (!$this->country_array)
+ {
+ $country = CreateObject('phpgwapi.country');
+ $this->country_array = &$country->country_array;
+ unset($country);
+ unset($this->country_array[' ']);
+ // try to translate them and sort alphabetic
+ foreach($this->country_array as $k => $name)
+ {
+ if (($translated = lang($name)) != $name.'*')
+ {
+ $this->country_array[$k] = $translated;
+ }
+ }
+ asort($this->country_array);
+ }
+ }
+
+ function hour_formated_text($name, $selected = 0)
+ {
+ $s = '";
+
+ return $s;
+ }
+
+ function hour_text($name, $selected = 0)
+ {
+ $s = '";
+
+ return $s;
+ }
+
+ // I would like to add a increment feature
+ function sec_minute_text($name, $selected = 0)
+ {
+ $s = '";
+ return $s;
+ }
+
+ function ap_text($name,$selected)
+ {
+ $selected = strtolower($selected);
+ $t[$selected] = " selected";
+ $s = '';
+ return $s;
+ }
+
+ function full_time($hour_name,$hour_selected,$min_name,$min_selected,$sec_name,$sec_selected,$ap_name,$ap_selected)
+ {
+ // This needs to be changed to support there time format preferences
+ $s = $this->hour_text($hour_name,$hour_selected)
+ . $this->sec_minute_text($min_name,$min_selected)
+ . $this->sec_minute_text($sec_name,$sec_selected)
+ . $this->ap_text($ap_name,$ap_selected);
+ return $s;
+ }
+
+ function getWeekdays($name, $selected=0)
+ {
+ $out = '';
+ for($i=0;$iweekdays);$i++)
+ {
+ $out .= ''."\n";
+ }
+ return ''."\n";
+ }
+
+ function nr2weekday($selected = 0)
+ {
+ for($i=0;$iweekdays);$i++)
+ {
+ if ($selected > 0 && $selected == $i)
+ {
+ return lang($this->weekdays[$i]);
+ }
+ }
+ }
+
+ function getMonthText($name, $selected=0)
+ {
+ $out = '';
+ $c_monthnames = count($this->monthnames);
+ for($i=0;$i<$c_monthnames;$i++)
+ {
+ $out .= ''."\n";
+ }
+ return ''."\n";
+ }
+
+ function getDays($name, $selected=0)
+ {
+ $out = '';
+
+ for($i=0;$i<32;$i++)
+ {
+ $out .= ''."\n";
+ }
+ return ''."\n";
+ }
+
+ function getYears($name, $selected = 0, $startYear = 0, $endyear = 0)
+ {
+ if (!$startYear)
+ {
+ $startYear = date('Y') - 5;
+ }
+ if ($selected && $startYear > $selected) $startYear = $selected;
+
+ if (!$endyear)
+ {
+ $endyear = date('Y') + 6;
+ }
+ if ($selected && $endYear < $selected) $endYear = $selected;
+
+ $out = ''."\n";
+
+ return $out;
+ }
+
+ function getPercentage($name, $selected=0)
+ {
+ $out = "