Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1683)
+++ branches/2.8.x/CHANGELOG	(revision 1684)
@@ -11,7 +11,16 @@
 ! = Update/Change
 ===============================================================================
 
-03 May-2012 Build 1682 Werner v.d.Decken(DarkViper)
+03 May-2012 Build 1684 Dietmar Woellbrink (Luisehahne)
+! update upgrade-script, now don't overwrite existings values in settings
++ add field tooltip to table pages in installer
+! change some module tool_icon.png (Tks to Stefek) 
+! add date_time string to backup_droplets.zip
+- search and comment out founded require_once(WB_PATH."/framework/class.database.php"); 
+- this will be never needed anymore and produce errors
+! rename class.msg_queue.php in msgQueue.php to work with autokoader
++ add function format_message to class.wb.php 
+03 May-2012 Build 1683 Werner v.d.Decken(DarkViper)
 ! changed class Database into a Singleton-Class
 # added forgotten 'static' keyword in ModLanguage
 # removed version control from sm2 - include.php
Index: branches/2.8.x/wb/upgrade-script.php
===================================================================
--- branches/2.8.x/wb/upgrade-script.php	(revision 1683)
+++ branches/2.8.x/wb/upgrade-script.php	(revision 1684)
@@ -4,8 +4,8 @@
  * @category        backend
  * @package         installation
  * @author          WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
+ * @copyright       2009-2012, Website Baker Org. e.V.
+ * @link            http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
  * @requirements    PHP 5.2.2 and higher
@@ -19,7 +19,7 @@
 
 require_once(WB_PATH.'/framework/functions.php');
 require_once(WB_PATH.'/framework/class.admin.php');
-require_once(WB_PATH.'/framework/class.database.php');
+// require_once(WB_PATH.'/framework/Database.php');
 $admin = new admin('Addons', 'modules', false, false);
 
 $oldVersion  = 'Version '.WB_VERSION;
@@ -62,11 +62,14 @@
 			'[ADMIN]/preferences/details.php',
 			'[ADMIN]/preferences/email.php',
 			'[ADMIN]/preferences/password.php',
-			'[ADMIN]/pages/settings2.php'
+			'[ADMIN]/pages/settings2.php',
 
+			'[FRAMEWORK]/class.msg_queue.php',
+			'[FRAMEWORK]/class.database.php',
+
 		 );
 
-if(version_compare(WB_REVISION, '1671', '<'))
+if(version_compare(WB_REVISION, '1681', '<'))
 {
 	$filesRemove['1'] = array(
 
@@ -218,7 +221,7 @@
 <title>Upgrade script</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <style type="text/css">
-html { overflow: -moz-scrollbars-vertical; /* Force firefox to always show room for a vertical scrollbar */ }
+html { overflow-y: scroll; /* Force firefox to always show room for a vertical scrollbar */ }
 
 body {
 	margin:0;
@@ -385,7 +388,7 @@
  */
 echo "<br />Adding sec_anchor to settings table";
 $cfg = array(
-	'sec_anchor' => 'wb_'
+	'sec_anchor' => defined('SEC_ANCHOR') ? SEC_ANCHOR : 'wb_'
 );
 
 echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
@@ -396,7 +399,7 @@
  */
 echo "Adding redirect timer to settings table";
 $cfg = array(
-	'redirect_timer' => '1500'
+	'redirect_timer' => defined('Redirect_Timer') ? Redirect_Timer : '1500'
 );
 echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
 
@@ -405,7 +408,7 @@
  */
 echo "Updating rename_files_on_upload to settings table";
 $cfg = array(
-	'rename_files_on_upload' => 'ph.*?,cgi,pl,pm,exe,com,bat,pif,cmd,src,asp,aspx,js'
+	'rename_files_on_upload' => (defined('RENAME_FILES_ON_UPLOAD') ? RENAME_FILES_ON_UPLOAD : 'ph.*?,cgi,pl,pm,exe,com,bat,pif,cmd,src,asp,aspx,js')
 );
 echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
 
@@ -414,7 +417,7 @@
  */
 echo "Adding mediasettings to settings table";
 $cfg = array(
-	'mediasettings' => '',
+	'mediasettings' => (defined('MEDIASETTINGS') ? MEDIASETTINGS : ''),
 );
 
 echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
@@ -424,8 +427,8 @@
  */
 echo "Adding fingerprint_with_ip_octets to settings table";
 $cfg = array(
-	'fingerprint_with_ip_octets' => '2',
-	'secure_form_module' => ''
+	'fingerprint_with_ip_octets' => (defined('FINGERPRINT_WITH_IP_OCTETS') ? FINGERPRINT_WITH_IP_OCTETS : '2'),
+	'secure_form_module' => (defined('SECURE_FORM_MODULE') ? SECURE_FORM_MODULE : '')
 );
 
 echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
@@ -435,7 +438,7 @@
  */
 echo "Adding page_icon_dir to settings table";
 $cfg = array(
-	'page_icon_dir' => '/templates/*/title_images',
+	'page_icon_dir' => (defined('PAGE_ICON_DIR') ? PAGE_ICON_DIR : '/templates/*/title_images'),
 );
 
 echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
@@ -445,12 +448,12 @@
  */
 echo "Adding dev_infos to settings table";
 $cfg = array(
-	'dev_infos' => 'true',
+	'dev_infos' => (defined('DEV_INFOS') ? DEV_INFOS : 'false')
 );
 
 echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
 
-if(version_compare(WB_REVISION, '1675', '<'))
+if(version_compare(WB_REVISION, '1680', '<'))
 {
 	echo '<h3>Step '.(++$stepID).': Updating core tables</h3>';
 
@@ -495,7 +498,7 @@
  */
 	$table_name = TABLE_PREFIX.'pages';
 	$field_name = 'page_icon';
-	$description = "VARCHAR( 255 ) NOT NULL DEFAULT '' AFTER `page_title`";
+	$description = "VARCHAR( 512 ) NOT NULL DEFAULT '' AFTER `page_title`";
 	if(!$database->field_exists($table_name,$field_name)) {
 		echo "Adding field page_icon to pages table";
 		echo ($database->field_add($table_name, $field_name, $description) ? " $OK<br />" : " $FAIL!<br />");
@@ -523,7 +526,7 @@
  */
 	$table_name = TABLE_PREFIX.'pages';
 	$field_name = 'menu_icon_0';
-	$description = "VARCHAR( 255 ) NOT NULL DEFAULT '' AFTER `menu_title`";
+	$description = "VARCHAR( 512 ) NOT NULL DEFAULT '' AFTER `menu_title`";
 	if(!$database->field_exists($table_name,$field_name)) {
 		echo "Adding field menu_icon_0 to pages table";
 		echo ($database->field_add($table_name, $field_name, $description) ? " $OK<br />" : " $FAIL!<br />");
@@ -537,7 +540,7 @@
  */
 	$table_name = TABLE_PREFIX.'pages';
 	$field_name = 'menu_icon_1';
-	$description = "VARCHAR( 255 ) NOT NULL DEFAULT '' AFTER `menu_icon_0`";
+	$description = "VARCHAR( 512 ) NOT NULL DEFAULT '' AFTER `menu_icon_0`";
 	if(!$database->field_exists($table_name,$field_name)) {
 		echo "Adding field menu_icon_1 to pages table";
 		echo ($database->field_add($table_name, $field_name, $description) ? " $OK<br />" : " $FAIL!<br />");
@@ -547,6 +550,20 @@
 	}
 
 	/**********************************************************
+	 *  - Add field "tooltip" to table "pages"
+ */
+	$table_name = TABLE_PREFIX.'pages';
+	$field_name = 'tooltip';
+	$description = "VARCHAR( 512 ) NOT NULL DEFAULT '' AFTER `menu_icon_1`";
+	if(!$database->field_exists($table_name,$field_name)) {
+		echo "Adding field tooltip to pages table";
+		echo ($database->field_add($table_name, $field_name, $description) ? " $OK<br />" : " $FAIL!<br />");
+	} else {
+		echo "Modify field tooltip to pages table";
+		echo ($database->field_modify($table_name, $field_name, $description) ? " $OK<br />" : " $FAIL!<br />");
+	}
+
+	/**********************************************************
 	 *  - Add field "admin_groups" to table "pages"
  */
 	$table_name = TABLE_PREFIX.'pages';
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1683)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1684)
@@ -51,5 +51,5 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) define('VERSION', '2.8.3');
-if(!defined('REVISION')) define('REVISION', '1683');
+if(!defined('REVISION')) define('REVISION', '1684');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/framework/class.msg_queue.php
===================================================================
--- branches/2.8.x/wb/framework/class.msg_queue.php	(revision 1683)
+++ branches/2.8.x/wb/framework/class.msg_queue.php	(nonexistent)
@@ -1,84 +0,0 @@
-<?php
-/**
- * Description of class
- *
- * @author wkl
- */
-class msgQueue {
-
-	const RETVAL_ARRAY  = 0;
-	const RETVAL_STRING = 1; // (default)
-
-	private static $_instance;
-
-	private $_error = array();
-	private $_success = array();
-
-	protected function __construct() {
-		$this->_error = array();
-		$this->_success = array();
-	}
-	private function __clone() { throw new Exception('cloning Class '.__CLASS__.' is illegal'); }
-
-    public static function handle()
-    {
-        if (!isset(self::$_instance)) {
-            $c = __CLASS__;
-            self::$_instance = new $c;
-        }
-        return self::$_instance;
-	}
-
-	public static function add($message = '', $type = false)
-	{
-		if($type)
-		{
-			self::handle()->_success[] = $message;
-		}else
-		{
-			self::handle()->_error[] = $message;
-		}
-	}
-
-	public static function clear()
-	{
-		self::handle()->_error = array();
-		self::handle()->_success = array();
-	}
-
-	public static function isEmpty()
-	{
-		return (sizeof(self::handle()->_success) == 0 && sizeof(self::handle()->_error) == 0 );
-	}
-	
-	public static function getError($retval_type = self::RETVAL_STRING)
-	{
-		if(sizeof(self::handle()->_error))
-		{
-			if($retval_type == self::RETVAL_STRING)
-			{
-				return implode('<br />', self::handle()->_error);
-			}else
-			{
-				return self::handle()->_error;
-			}
-		}
-	}
-
-	public static function getSuccess($retval_type = self::RETVAL_STRING)
-	{
-		if(sizeof(self::handle()->_success))
-		{
-			if($retval_type == self::RETVAL_STRING)
-			{
-				return implode('<br />', self::handle()->_success);
-			}else
-			{
-				return self::handle()->_success;
-			}
-		}
-	}
-
-
-}
-?>

Property changes on: branches/2.8.x/wb/framework/class.msg_queue.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/framework/msgQueue.php
===================================================================
--- branches/2.8.x/wb/framework/msgQueue.php	(nonexistent)
+++ branches/2.8.x/wb/framework/msgQueue.php	(revision 1684)
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Description of class
+ *
+ * @author wkl
+ */
+class msgQueue {
+
+	const RETVAL_ARRAY  = 0;
+	const RETVAL_STRING = 1; // (default)
+
+	private static $_instance;
+
+	private $_error = array();
+	private $_success = array();
+
+	protected function __construct() {
+		$this->_error = array();
+		$this->_success = array();
+	}
+	private function __clone() { throw new Exception('cloning Class '.__CLASS__.' is illegal'); }
+
+    public static function handle()
+    {
+        if (!isset(self::$_instance)) {
+            $c = __CLASS__;
+            self::$_instance = new $c;
+        }
+        return self::$_instance;
+	}
+
+	public static function add($message = '', $type = false)
+	{
+		if($type)
+		{
+			self::handle()->_success[] = $message;
+		}else
+		{
+			self::handle()->_error[] = $message;
+		}
+	}
+
+	public static function clear()
+	{
+		self::handle()->_error = array();
+		self::handle()->_success = array();
+	}
+
+	public static function isEmpty()
+	{
+		return (sizeof(self::handle()->_success) == 0 && sizeof(self::handle()->_error) == 0 );
+	}
+	
+	public static function getError($retval_type = self::RETVAL_STRING)
+	{
+		if(sizeof(self::handle()->_error))
+		{
+			if($retval_type == self::RETVAL_STRING)
+			{
+				return implode('<br />', self::handle()->_error);
+			}else
+			{
+				return self::handle()->_error;
+			}
+		}
+	}
+
+	public static function getSuccess($retval_type = self::RETVAL_STRING)
+	{
+		if(sizeof(self::handle()->_success))
+		{
+			if($retval_type == self::RETVAL_STRING)
+			{
+				return implode('<br />', self::handle()->_success);
+			}else
+			{
+				return self::handle()->_success;
+			}
+		}
+	}
+
+
+}
+?>

Property changes on: branches/2.8.x/wb/framework/msgQueue.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/framework/class.admin.php
===================================================================
--- branches/2.8.x/wb/framework/class.admin.php	(revision 1683)
+++ branches/2.8.x/wb/framework/class.admin.php	(revision 1684)
@@ -4,7 +4,7 @@
  * @category        framewotk
  * @package         backend admin
  * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @copyright       2009-2012, Website Baker Org. e.V.
  * @link			http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
@@ -31,8 +31,25 @@
 //require_once(WB_PATH . '/framework/SecureForm.php');
 
 
+/**
+ * admin
+ *
+ * @package
+ * @copyright
+ * @version 2012
+ * @access public
+ */
 class admin extends wb {
 	// Authenticate user then auto print the header
+	/**
+	 * admin::__construct()
+	 *
+	 * @param string $section_name
+	 * @param string $section_permission
+	 * @param bool $auto_header
+	 * @param bool $auto_auth
+	 * @return void
+	 */
 	public function __construct($section_name= '##skip##', $section_permission = 'start', $auto_header = true, $auto_auth = true)
 	{
 		parent::__construct(SecureForm::BACKEND);
@@ -88,7 +105,14 @@
 	}
 
 	// Print the admin header
-	function print_header($body_tags = '') {
+	/**
+	 * admin::print_header()
+	 *
+	 * @param string $body_tags
+	 * @return void
+	 */
+	function print_header($body_tags = '')
+	{
 		// Get vars from the language file
 		global $MENU, $MESSAGE, $TEXT;
 		// Connect to database and get website title
@@ -99,7 +123,7 @@
 		$get_title = $database->query($sql);
 		$title = $get_title->fetchRow();
 		// Setup template object, parse vars to it, then parse it
-		$header_template = new Template(dirname($this->correct_theme_source('header.htt')),'keep');
+		$header_template = new Template(dirname($this->correct_theme_source('header.htt')) );
 		$header_template->set_file('page', 'header.htt');
 		$header_template->set_block('page', 'header_block', 'header');
 		if(defined('DEFAULT_CHARSET')) {
@@ -121,7 +145,8 @@
 		}
 
 		$header_template->set_var(	array(
-							'SECTION_NAME' => $MENU[strtoupper($this->section_name)],
+							'SECTION_FORGOT' => $MENU['FORGOT'],
+							'SECTION_NAME' => $MENU['LOGIN'],
 							'BODY_TAGS' => $body_tags,
 							'WEBSITE_TITLE' => ($title['value']),
 							'TEXT_ADMINISTRATION' => $TEXT['ADMINISTRATION'],
@@ -136,12 +161,18 @@
 							'WB_URL' => WB_URL,
 							'ADMIN_URL' => ADMIN_URL,
 							'THEME_URL' => THEME_URL,
-							'TITLE_START' => $MENU['START'],
-							'TITLE_VIEW' => $MENU['VIEW'],
+							'START_URL' => ADMIN_URL.'/index.php',
+							'START_CLASS' => 'start',
+							'TITLE_START' => $TEXT['READ_MORE'],
+							'TITLE_VIEW' => $TEXT['WEBSITE'],
 							'TITLE_HELP' => $MENU['HELP'],
-							'TITLE_LOGOUT' =>  $MENU['LOGOUT'],
 							'URL_VIEW' => $view_url,
-							'URL_HELP' => 'http://www.websitebaker2.org/',
+							'TITLE_LOGOUT' => $MENU['LOGIN'],
+							'LOGIN_DISPLAY_NONE' => ' display: none; ',
+							'LOGIN_LINK' => $_SERVER['SCRIPT_NAME'],
+							'LOGIN_ICON' => 'login',
+							'START_ICON' => 'blank',
+							'URL_HELP' => 'http://www.websitebaker.org/',
 							'BACKEND_MODULE_CSS' => $this->register_backend_modfiles('css'),	// adds backend.css
 							'BACKEND_MODULE_JS'  => $this->register_backend_modfiles('js')		// adds backend.js
 						)
@@ -148,15 +179,41 @@
 					);
 
 		// Create the menu
+		if(!$this->is_authenticated())
+		{
 		$menu = array(
+//						array('http://www.websitebaker.org/', '_blank', 'WebsiteBaker Home', 'help', 0),
+//						array($view_url, '_blank', $TEXT['FRONTEND'], '', 0),
+//						array(ADMIN_URL.'/login/index.php', '', $MENU['LOGIN'], '', 0)
+						);
+		} else {
+			$header_template->set_var(	array(
+						'SECTION_NAME' => $MENU[strtoupper($this->section_name)],
+						'TITLE_LOGOUT' => $MENU['LOGOUT'],
+						'LOGIN_DISPLAY_NONE' => '',
+						'START_ICON' => 'home',
+						'LOGIN_ICON' => 'logout',
+						'LOGIN_LINK' => ADMIN_URL.'/logout/index.php',
+						'TITLE_START' => $MENU['START']
+						)
+					);
+			// @array ( $url, $target, $title, $page_permission, $ppermission_required )
+			$menu = array(
+//					array(ADMIN_URL.'/index.php', '', $MENU['START'], 'start', 1 ),
 					array(ADMIN_URL.'/pages/index.php', '', $MENU['PAGES'], 'pages', 1),
+// 					array($view_url, '_blank', $MENU['FRONTEND'], 'pages', 1),
 					array(ADMIN_URL.'/media/index.php', '', $MENU['MEDIA'], 'media', 1),
 					array(ADMIN_URL.'/addons/index.php', '', $MENU['ADDONS'], 'addons', 1),
 					array(ADMIN_URL.'/preferences/index.php', '', $MENU['PREFERENCES'], 'preferences', 0),
 					array(ADMIN_URL.'/settings/index.php', '', $MENU['SETTINGS'], 'settings', 1),
 					array(ADMIN_URL.'/admintools/index.php', '', $MENU['ADMINTOOLS'], 'admintools', 1),
-					array(ADMIN_URL.'/access/index.php', '', $MENU['ACCESS'], 'access', 1)
+					array(ADMIN_URL.'/access/index.php', '', $MENU['ACCESS'], 'access', 1),
+//					array('http://www.websitebaker.org/', '_blank', 'WebsiteBaker Home', '', 0),
+//					array(ADMIN_URL.'/logout/index.php', '', $MENU['LOGOUT'], '', 0)
+
 					);
+		}
+
 		$header_template->set_block('header_block', 'linkBlock', 'link');
 		foreach($menu AS $menu_item) {
 			$link = $menu_item[0];
@@ -165,7 +222,8 @@
 			$permission_title = $menu_item[3];
 			$required = $menu_item[4];
 			$replace_old = array(ADMIN_URL, WB_URL, '/', 'index.php');
-			if($required == false OR $this->get_link_permission($permission_title)) {
+			if($required == false || ($this->is_authenticated() && $this->get_link_permission($permission_title)) )
+			{
 				$header_template->set_var('LINK', $link);
 				$header_template->set_var('TARGET', $target);
 				// If link is the current section apply a class name
@@ -182,10 +240,10 @@
 		$header_template->parse('header', 'header_block', false);
 		$header_template->pparse('output', 'page');
 	}
-	
+
 	// Print the admin footer
 		function print_footer($activateJsAdmin = false) {
-		global $database;
+		global $database,$starttime;
 		// include the required file for Javascript admin
 		if($activateJsAdmin != false) {
 			if(file_exists(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php')){
@@ -211,6 +269,7 @@
 //         if( $debug && (1 == $this->get_user_id()))
         if( $bDevInfo )
 		{
+
 			$footer_template->set_var('MEMORY', number_format(memory_get_peak_usage(), 0, ',', '.').'&nbsp;Byte' );
 			$footer_template->set_var('QUERIES', $database->getQueryCount );
 			// $footer_template->set_var('QUERIES', 'disabled' );
@@ -220,7 +279,7 @@
 			$sum_filesize = 0;
 			$footer_template->set_block('show_debug_block', 'show_block_list', 'show_list');
 			$footer_template->set_block('show_block_list', 'include_block_list', 'include_list');
-			// $debug = true;
+			// $bDebug = true;  for testing
 			foreach($included_files as $filename)
 			{
 				if(!is_readable($filename)) { continue; }
@@ -234,23 +293,30 @@
 			}
 			$footer_template->parse('show_list', 'show_block_list', true);
 
+			$endtime = array_sum(explode(" ",microtime()));
+			$iEndTime = $endtime;
+			$iStartTime = $starttime;
 			if(!$bDebug)
 			{
+				$footer_template->parse('show_list', '');
 				$footer_template->parse('include_list', '');
-				$footer_template->parse('show_list', '');
 			}
 
 			$footer_template->set_var('FILESIZE', ini_get('memory_limit'));
 			$footer_template->set_var('TXT_SUM_FILESIZE', 'Summary size of included files:&nbsp;');
 			$footer_template->set_var('SUM_FILESIZE', number_format($sum_filesize, 0, ',', '.').'&nbsp;Byte');
+			$footer_template->set_var('PAGE_LOAD_TIME', round($iEndTime-$iStartTime,3 ));
+
 			$footer_template->parse('show_debug', 'show_debug_block', true);
         } else {
 			$footer_template->parse('show_debug', '');
+			$footer_template->parse('show_list', '');
+
         }
 		$footer_template->parse('header', 'footer_block', false);
 		$footer_template->pparse('output', 'page');
 	}
-	
+
 	// Return a system permission
 	function get_permission($name, $type = 'system') {
 		// Append to permission type
@@ -509,5 +575,3 @@
 		}
 	}
 }
-
-?>
Index: branches/2.8.x/wb/framework/class.wb.php
===================================================================
--- branches/2.8.x/wb/framework/class.wb.php	(revision 1683)
+++ branches/2.8.x/wb/framework/class.wb.php	(revision 1684)
@@ -383,6 +383,57 @@
 		}
 		exit();
 	}
+/*
+ * @param string $message: the message to format
+ * @param string $status:  ('ok' / 'error' / '') status defines the apereance of the box
+ * @return string: the html-formatted message (using template 'message.htt')
+ */
+	public function format_message($message, $status = 'ok')
+	{
+		$id = uniqid('x');
+		$tpl = new Template(dirname($this->correct_theme_source('message.htt')));
+		$tpl->set_file('page', 'message.htt');
+		$tpl->set_block('page', 'main_block', 'main');
+		$tpl->set_var('MESSAGE', $message);
+ 	    $tpl->set_var( 'THEME_URL', THEME_URL );
+		$tpl->set_var( 'ID', $id );
+		if($status == 'ok' || $status == 'error' || $status = 'warning')
+		{
+			$tpl->set_var('BOX_STATUS', ' box-'.$status);
+		}else
+		{
+			$tpl->set_var('BOX_STATUS', '');
+		}
+		$tpl->set_var('STATUS', $status);
+		if(!defined('REDIRECT_TIMER') ) { define('REDIRECT_TIMER', -1); }
+		$retval = '';
+		if( $status != 'error' )
+		{
+			switch(REDIRECT_TIMER):
+				case 0: // do not show message
+					unset($tpl);
+					break;
+				case -1: // show message permanently
+					$tpl->parse('main', 'main_block', false);
+					$retval = $tpl->finish($tpl->parse('output', 'page', false));
+					unset($tpl);
+					break;
+				default: // hide message after REDIRECTOR_TIMER milliseconds
+					$retval = '<script type="text/javascript">/* <![CDATA[ */ function '.$id.'_hide() {'.
+							  'document.getElementById(\''.$id.'\').style.display = \'none\';}'.
+							  'window.setTimeout(\''.$id.'_hide()\', '.REDIRECT_TIMER.');/* ]]> */ </script>';
+					$tpl->parse('main', 'main_block', false);
+					$retval = $tpl->finish($tpl->parse('output', 'page', false)).$retval;
+					unset($tpl);
+			endswitch;
+		}else
+		{
+			$tpl->parse('main', 'main_block', false);
+			$retval = $tpl->finish($tpl->parse('output', 'page', false)).$retval;
+			unset($tpl);
+		}
+		return $retval;
+	}
 
 	// Validate send email
 	function mail($fromaddress, $toaddress, $subject, $message, $fromname='', $replyTo='') {
Index: branches/2.8.x/wb/framework/class.order.php
===================================================================
--- branches/2.8.x/wb/framework/class.order.php	(revision 1683)
+++ branches/2.8.x/wb/framework/class.order.php	(revision 1684)
@@ -24,7 +24,7 @@
 /* -------------------------------------------------------- */
 	define('ORDERING_CLASS_LOADED', true);
 // Load the other required class files if they are not already loaded
-	require_once(WB_PATH."/framework/class.database.php");
+//	require_once(WB_PATH."/framework/class.database.php");
 
 class order {
 
@@ -118,7 +118,7 @@
 		// Get current order
 		return $this->move($id, self::MOVE_DOWN);
 	}
-	
+
 	/**
 	 * Get next free number for order
 	 * @param string|int $group
@@ -131,7 +131,7 @@
 		$max = intval($this->_DB->get_one($sql)) + 1;
 		return $max;
 	}
-	
+
 	/**
 	 * Renumbering a group from 1 to n (should be called if a row in the middle has been deleted)
 	 * @param string|int $group
Index: branches/2.8.x/wb/templates/wb_theme/images/dl.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/2.8.x/wb/templates/wb_theme/images/dl.png
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: branches/2.8.x/wb/templates/wb_theme/images/exit.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/2.8.x/wb/templates/wb_theme/images/exit.png
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: branches/2.8.x/wb/templates/wb_theme/images/login.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/2.8.x/wb/templates/wb_theme/images/login.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/2.8.x/wb/templates/wb_theme/images/logout.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/2.8.x/wb/templates/wb_theme/images/logout.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/2.8.x/wb/templates/wb_theme/images/view.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/2.8.x/wb/templates/wb_theme/images/help.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/2.8.x/wb/templates/wb_theme/images/blank.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/2.8.x/wb/templates/wb_theme/images/blank.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/2.8.x/wb/templates/wb_theme/icons/admintools.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/2.8.x/wb/templates/wb_theme/templates/header.htt
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/templates/header.htt	(revision 1683)
+++ branches/2.8.x/wb/templates/wb_theme/templates/header.htt	(revision 1684)
@@ -40,10 +40,10 @@
 		<a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /></a>
 	</td>
 	<td class="topnav">
-         <a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/home.png" border="0" alt="{TITLE_START}" /></a>
-         &nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" border="0" alt="{WB_URL}" /></a>
-	&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" border="0" alt="{TITLE_HELP}" /></a>
-         &nbsp; <a href="{ADMIN_URL}/logout" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/dl.png" border="0" alt="{TITLE_LOGOUT}" /></a>
+		<span><a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/{START_ICON}.png" border="0" alt="{TITLE_START}" /></a></span>
+		&nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" border="0" alt="{WB_URL}" /></a>
+		&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" border="0" alt="{TITLE_HELP}" /></a>
+		&nbsp; <a href="{LOGIN_LINK}" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/{LOGIN_ICON}.png" border="0" alt="{TITLE_LOGOUT}" /></a>
 </td>
 	<td class="version">
 	Version {VERSION} {SP}<br />
Index: branches/2.8.x/wb/templates/wb_theme/templates/footer.htt
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/templates/footer.htt	(revision 1683)
+++ branches/2.8.x/wb/templates/wb_theme/templates/footer.htt	(revision 1684)
@@ -17,6 +17,7 @@
 <div class="mbox dev-info">
 	<div style="text-align:left; width: auto;">
 		<span class="">Memory Limit: {FILESIZE}&nbsp;|&nbsp;</span>
+		<span class="">Script load: {PAGE_LOAD_TIME} Sec&nbsp;|&nbsp;</span>
 		<span class="">Used Memory: {MEMORY}&nbsp;|&nbsp;</span>
 		<span class="">SQL-Queries executed: {QUERIES}&nbsp;|&nbsp;</span>
 		<span class="">Summary size of {INCLUDES} included files: {SUM_FILESIZE}</span>
Index: branches/2.8.x/wb/templates/argos_theme/templates/footer.htt
===================================================================
--- branches/2.8.x/wb/templates/argos_theme/templates/footer.htt	(revision 1683)
+++ branches/2.8.x/wb/templates/argos_theme/templates/footer.htt	(revision 1684)
@@ -17,10 +17,11 @@
 <!-- BEGIN show_debug_block -->
 <div style="position: relative; width:998px;margin:15px auto;" class="shadow">
 	<div style="padding:10px;left:0; margin-bottom:25px; z-index:10; background-color:#dddddd;color:#dd0000;">
-		Memory Limit: {FILESIZE}&nbsp;|&nbsp;
-		Used Memory: {MEMORY}&nbsp;|&nbsp;
+		<span class="">Memory Limit: {FILESIZE}&nbsp;|&nbsp;</span>
+		<span class="">Script load: {PAGE_LOAD_TIME} Sec&nbsp;|&nbsp;</span>
+		<span class="">Used Memory: {MEMORY}&nbsp;|&nbsp;</span>
 		<span class="">SQL-Queries executed: {QUERIES}&nbsp;|&nbsp;</span>
-		Included&nbsp;{INCLUDES}&nbsp;files &nbsp;|&nbsp;{TXT_SUM_FILESIZE}{SUM_FILESIZE}
+		<span class="">Summary size of {INCLUDES} included files: {SUM_FILESIZE}</span>
 	<!-- BEGIN show_block_list -->
 		<ul style="margin-left: 27px; margin-top: 0;">
 		<!-- BEGIN include_block_list -->
Index: branches/2.8.x/wb/install/save.php
===================================================================
--- branches/2.8.x/wb/install/save.php	(revision 1683)
+++ branches/2.8.x/wb/install/save.php	(revision 1684)
@@ -332,7 +332,7 @@
 	set_error('It appears the Absolute path that you entered is incorrect');
 }
 
-// Try connecting to database	
+// Try connecting to database
 if(!@mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD)) {
 	set_error('Database host name, username and/or password incorrect. MySQL Error:<br />'.mysql_error());
 }
@@ -393,42 +393,43 @@
 	// Addons table
 	$addons = "DROP TABLE IF EXISTS `".TABLE_PREFIX."addons`";
 	$database->query($addons);
-				
+
 	// Try installing tables
-	
+
 	// Pages table
 	$pages = 'CREATE TABLE `'.TABLE_PREFIX.'pages` ( `page_id` INT NOT NULL auto_increment,'
-	       . ' `parent` INT NOT NULL DEFAULT \'0\','
-	       . ' `root_parent` INT NOT NULL DEFAULT \'0\','
-	       . ' `level` INT NOT NULL DEFAULT \'0\','
-	       . ' `link` VARCHAR( 255 ) NOT NULL,'
-	       . ' `target` VARCHAR( 7 ) NOT NULL DEFAULT \'\' ,'
-	       . ' `page_title` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
-		   . ' `page_icon` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
-	       . ' `menu_title` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
-		   . ' `menu_icon_0` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
-		   . ' `menu_icon_1` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
-	       . ' `description` TEXT NOT NULL ,'
-	       . ' `keywords` TEXT NOT NULL ,'
-	       . ' `page_trail` VARCHAR( 255 ) NOT NULL  ,'
-	       . ' `template` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
-	       . ' `visibility` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
-	       . ' `position` INT NOT NULL DEFAULT \'0\','
-	       . ' `menu` INT NOT NULL DEFAULT \'0\','
-	       . ' `language` VARCHAR( 5 ) NOT NULL DEFAULT \'\' ,'
-	       . ' `page_code` INT NOT NULL DEFAULT \'0\','
-	       . ' `searching` INT NOT NULL DEFAULT \'0\','
-	       . ' `admin_groups` VARCHAR( 512 ) NOT NULL DEFAULT \'1\' ,'
-	       . ' `admin_users` VARCHAR( 512 ) NOT NULL ,'
-	       . ' `viewing_groups` VARCHAR( 512 ) NOT NULL DEFAULT \'1\' ,'
-	       . ' `viewing_users` VARCHAR( 512 ) NOT NULL ,'
-	       . ' `modified_when` INT NOT NULL DEFAULT \'0\','
-	       . ' `modified_by` INT NOT NULL  DEFAULT \'0\','
-	       . ' PRIMARY KEY ( `page_id` ) '
-	       . ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci';
+				. ' `parent` INT NOT NULL DEFAULT \'0\','
+				. ' `root_parent` INT NOT NULL DEFAULT \'0\','
+				. ' `level` INT NOT NULL DEFAULT \'0\','
+				. ' `link` VARCHAR( 255 ) NOT NULL,'
+				. ' `target` VARCHAR( 7 ) NOT NULL DEFAULT \'\' ,'
+				. ' `page_title` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+				. ' `page_icon` VARCHAR( 512 ) NOT NULL DEFAULT \'\' ,'
+				. ' `menu_title` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+				. ' `menu_icon_0` VARCHAR( 512 ) NOT NULL DEFAULT \'\' ,'
+				. ' `menu_icon_1` VARCHAR( 512 ) NOT NULL DEFAULT \'\' ,'
+				. ' `tooltip` VARCHAR( 512 ) NOT NULL DEFAULT \'\' ,'
+				. ' `description` TEXT NOT NULL ,'
+				. ' `keywords` TEXT NOT NULL ,'
+				. ' `page_trail` VARCHAR( 255 ) NOT NULL  ,'
+				. ' `template` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+				. ' `visibility` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
+				. ' `position` INT NOT NULL DEFAULT \'0\','
+				. ' `menu` INT NOT NULL DEFAULT \'0\','
+				. ' `language` VARCHAR( 5 ) NOT NULL DEFAULT \'\' ,'
+				. ' `page_code` INT NOT NULL DEFAULT \'0\','
+				. ' `searching` INT NOT NULL DEFAULT \'0\','
+				. ' `admin_groups` VARCHAR( 512 ) NOT NULL DEFAULT \'1\' ,'
+				. ' `admin_users` VARCHAR( 512 ) NOT NULL ,'
+				. ' `viewing_groups` VARCHAR( 512 ) NOT NULL DEFAULT \'1\' ,'
+				. ' `viewing_users` VARCHAR( 512 ) NOT NULL ,'
+				. ' `modified_when` INT NOT NULL DEFAULT \'0\','
+				. ' `modified_by` INT NOT NULL  DEFAULT \'0\','
+				. ' PRIMARY KEY ( `page_id` ) '
+				. ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci';
 	if(!$database->query($pages)) {
 	}
-	
+
 	// Sections table
 	$pages = 'CREATE TABLE `'.TABLE_PREFIX.'sections` ( `section_id` INT NOT NULL auto_increment,'
 	       . ' `page_id` INT NOT NULL DEFAULT \'0\','
@@ -436,13 +437,13 @@
 	       . ' `module` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
 	       . ' `block` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
 	       . ' `publ_start` VARCHAR( 255 ) NOT NULL DEFAULT \'0\' ,'
-	       . ' `publ_end` VARCHAR( 255 ) NOT NULL DEFAULT \'0\' ,' 
+	       . ' `publ_end` VARCHAR( 255 ) NOT NULL DEFAULT \'0\' ,'
 	       . ' PRIMARY KEY ( `section_id` ) '
 	       . ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci';
 	$database->query($pages);
 
 	require(ADMIN_PATH.'/interface/version.php');
-	
+
 	// Settings table
 	$settings='CREATE TABLE `'.TABLE_PREFIX.'settings` ( `setting_id` INT NOT NULL auto_increment,'
 		. ' `name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
@@ -490,7 +491,7 @@
 	." ('search', 'public'),"
 	." ('page_extension', '.php'),"
 	." ('page_spacer', '-'),"
-	." ('dev_infos', 'true'),"
+	." ('dev_infos', 'false'),"
 	." ('pages_directory', '/pages'),"
 	." ('page_icon_dir', '/templates/*/title_images'),"
 	." ('rename_files_on_upload', 'ph.*?,cgi,pl,pm,exe,com,bat,pif,cmd,src,asp,aspx'),"
@@ -509,7 +510,7 @@
 	." ('secure_form_module', ''),"
 	." ('mediasettings', '')";
 	$database->query($settings_rows);
-	
+
 	// Users table
 	$users = 'CREATE TABLE `'.TABLE_PREFIX.'users` ( `user_id` INT NOT NULL auto_increment,'
 	       . ' `group_id` INT NOT NULL DEFAULT \'0\','
@@ -531,7 +532,7 @@
 	       . ' PRIMARY KEY ( `user_id` ) '
 	       . ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci';
 	$database->query($users);
-	
+
 	// Groups table
 	$groups = 'CREATE TABLE `'.TABLE_PREFIX.'groups` ( `group_id` INT NOT NULL auto_increment,'
 	        . ' `name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
@@ -541,7 +542,7 @@
 	        . ' PRIMARY KEY ( `group_id` ) '
 	        . ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci';
 	$database->query($groups);
-	
+
 	// Search settings table
 	$search = 'CREATE TABLE `'.TABLE_PREFIX.'search` ( `search_id` INT NOT NULL auto_increment,'
 	        . ' `name` VARCHAR( 255 ) NOT NULL DEFAULT \'\' ,'
@@ -550,7 +551,7 @@
 	        . ' PRIMARY KEY ( `search_id` ) '
 	        . ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci';
 	$database->query($search);
-	
+
 	// Addons table
 	$addons = 'CREATE TABLE `'.TABLE_PREFIX.'addons` ( '
 			.'`addon_id` INT NOT NULL auto_increment ,'
@@ -568,7 +569,7 @@
 	$database->query($addons);
 
 	// Insert default data
-	
+
 	// Admin group
 	$full_system_permissions = 'pages,pages_view,pages_add,pages_add_l0,pages_settings,pages_modify,pages_intro,pages_delete,media,media_view,media_upload,media_rename,media_delete,media_create,addons,modules,modules_view,modules_install,modules_uninstall,templates,templates_view,templates_install,templates_uninstall,languages,languages_view,languages_install,languages_uninstall,settings,settings_basic,settings_advanced,access,users,users_view,users_add,users_modify,users_delete,groups,groups_view,groups_add,groups_modify,groups_delete,admintools';
 	$insert_admin_group = "INSERT INTO `".TABLE_PREFIX."groups` VALUES ('1', 'Administrators', '$full_system_permissions', '', '')";
@@ -576,7 +577,7 @@
 	// Admin user
 	$insert_admin_user = "INSERT INTO `".TABLE_PREFIX."users` (user_id,group_id,groups_id,active,username,password,email,display_name) VALUES ('1','1','1','1','$admin_username','".md5($admin_password)."','$admin_email','Administrator')";
 	$database->query($insert_admin_user);
-	
+
 	// Search header
 	$search_header = addslashes('
 <h1>[TEXT_SEARCH]</h1>
@@ -668,15 +669,15 @@
 	// Install add-ons
 	if(file_exists(WB_PATH.'/install/modules')) {
 		// Unpack pre-packaged modules
-			
+
 	}
 	if(file_exists(WB_PATH.'/install/templates')) {
 		// Unpack pre-packaged templates
-		
+
 	}
 	if(file_exists(WB_PATH.'/install/languages')) {
 		// Unpack pre-packaged languages
-		
+
 	}
 
 	$admin=new admin_dummy('Start','',false,false);
@@ -708,13 +709,13 @@
 		closedir($handle);
 		}
 	}
-	
+
 	// Check if there was a database error
 	if($database->is_error()) {
 		set_error($database->get_error());
 	}
 
-// end of if install_tables	
+// end of if install_tables
 } else {
 	/**
 	 *	DB - Exists
@@ -723,7 +724,7 @@
 	 */
 	$requested_tables = array("pages","sections","settings","users","groups","search","addons");
 	for($i=0;$i<count($requested_tables);$i++) $requested_tables[$i] = $table_prefix.$requested_tables[$i];
-	
+
 	$result = mysql_list_tables( DB_NAME );
 	$all_tables = array();
 	for($i=0; $i < mysql_num_rows($result); $i++) $all_tables[] = mysql_table_name($result, $i);
@@ -734,9 +735,9 @@
 			$missing_tables[] = $temp_table;
 		}
 	}
-	
+
 	/**
-	 *	If one or more needed tables are missing, so 
+	 *	If one or more needed tables are missing, so
 	 *	we can't go on and have to display an error
 	 */
 	if ( count($missing_tables) > 0 ) {
@@ -743,10 +744,10 @@
 		$error_message  = "One or more tables are missing in the selected database <b><font color='#990000'>".DB_NAME."</font></b>.<br />";
 		$error_message .= "Please install the missing tables or choose 'install tables' as recommend.<br />";
 		$error_message .= "Missing tables are: <b>".implode(", ", $missing_tables)."</b>";
-		
+
 		set_error( $error_message );
 	}
-	
+
 	/**
 	 *	Try to get some default settings ...
 	 */
@@ -759,9 +760,9 @@
 		'SMART_LOGIN'	=> false
 	);
 	foreach($vars as $k => $v) if (!defined($k)) define($k, $v);
-	
+
 	if (!isset($MESSAGE)) include (WB_PATH."/languages/".LANGUAGE.".php");
-	
+
 	/**
 	 *	The important part ...
 	 *	Is there an valid user?
@@ -776,7 +777,7 @@
 	 	 */
 	 	set_error ("Unkown user. Please use a valid username.");
 	} else {
-	 	
+
 		$data = $result->fetchRow();
 	 	/**
 	 	 *	Does the password match
Index: branches/2.8.x/wb/modules/SecureFormSwitcher/uninstall.php
===================================================================
--- branches/2.8.x/wb/modules/SecureFormSwitcher/uninstall.php	(revision 1683)
+++ branches/2.8.x/wb/modules/SecureFormSwitcher/uninstall.php	(revision 1684)
@@ -24,7 +24,7 @@
 }
 /* -------------------------------------------------------- */
 
-require_once(WB_PATH.'/framework/class.database.php');
+// require_once(WB_PATH.'/framework/class.database.php');
 require_once(WB_PATH.'/framework/functions.php');
 
 $sql  = 'DELETE FROM `'.TABLE_PREFIX.'settings` ';
Index: branches/2.8.x/wb/modules/SecureFormSwitcher/tool.php
===================================================================
--- branches/2.8.x/wb/modules/SecureFormSwitcher/tool.php	(revision 1683)
+++ branches/2.8.x/wb/modules/SecureFormSwitcher/tool.php	(revision 1684)
@@ -96,7 +96,7 @@
 	case 'save_settings_default':
 		if (!$admin->checkFTAN())
 		{
-			if(!$admin_header) { $admin->print_header(); }
+// 			if(!$admin_header) { $admin->print_header(); }
 			$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$_SERVER['REQUEST_URI']);
 		}
 		if(file_exists($MultitabTarget)) {
@@ -119,10 +119,11 @@
 endswitch;
 
 // set template file and assign module and template block
-$tpl = new Template(WB_PATH.'/modules/SecureFormSwitcher/htt','keep');
-$tpl->set_file('page', 'switchform.htt');
-$tpl->debug = false; // false, true
-$tpl->set_block('page', 'main_block', 'main');
+$oSecureTpl = new Template(WB_PATH.'/modules/SecureFormSwitcher/htt','keep');
+// $tpl = new Template(dirname($admin->correct_theme_source('switchform.htt')),'keep');
+$oSecureTpl->set_file('page', 'switchform.htt');
+$oSecureTpl->debug = false; // false, true
+$oSecureTpl->set_block('page', 'main_block', 'main');
 
 $checked = ($setting['secure_form_module']!='');
 
@@ -144,8 +145,8 @@
 // convert settings name to upper
 array_walk($setting,'converttoupper', array(&$search, &$replace ));
 
-$tpl->set_var($replace);
-$tpl->set_var(array(
+$oSecureTpl->set_var($replace);
+$oSecureTpl->set_var(array(
 	'FTAN' => $admin->getFTAN(),
 	'SERVER_REQUEST_URI' => $_SERVER['REQUEST_URI'],
 	'TEXT_CANCEL' => $TEXT['CANCEL'],
@@ -167,7 +168,7 @@
 	)
 );
 
-$tpl->set_var(array(
+$oSecureTpl->set_var(array(
 		'USEIP_SELECTED' => '',
 		'TXT_SECFORM_USEIP' => $SFS_TEXT['WB_SECFORM_USEIP'],
         'TXT_SECFORM_USEIP_TOOLTIP' => $SFS_TEXT['WB_SECFORM_USEIP_TOOLTIP'], // Tooltip
@@ -179,11 +180,11 @@
 	)
 );
 
-$tpl->set_block('main_block', 'useip_mtab_loop', 'mtab_loop');
+$oSecureTpl->set_block('main_block', 'useip_mtab_loop', 'mtab_loop');
 	for($x=0; $x < 5; $x++) {
 		// iu value == default set first option with standardtext
 		if(intval($default_cfg['fingerprint_with_ip_octets'])==$x ) {
-			$tpl->set_var(array(
+			$oSecureTpl->set_var(array(
 					'USEIP_VALUE' => $x,
 					'USEIP_DEFAULT_SELECTED' => ((intval($setting['fingerprint_with_ip_octets'])==$x) ? ' selected="selected"' : ''),
 					'USEIP_SELECTED' => '',
@@ -190,19 +191,19 @@
 					)
 			);
 		} else {
-			$tpl->set_var(array(
+			$oSecureTpl->set_var(array(
 					'USEIP_VALUE' => $x,
 					'USEIP_SELECTED' => ((intval($setting['fingerprint_with_ip_octets'])==$x) && (intval($setting['fingerprint_with_ip_octets'])!=intval($default_cfg['fingerprint_with_ip_octets'])) ? ' selected="selected"' : ''),
 				)
 			);
 		}
-		$tpl->parse('mtab_loop','useip_mtab_loop', true);
+		$oSecureTpl->parse('mtab_loop','useip_mtab_loop', true);
 	}
 
-$tpl->set_block('main_block', 'show_mtab_block', 'show_mtab');
-$tpl->set_block('main_block', 'mtab_block', 'mtab');
+$oSecureTpl->set_block('main_block', 'show_mtab_block', 'show_mtab');
+$oSecureTpl->set_block('main_block', 'mtab_block', 'mtab');
 if($checked) {
-	$tpl->set_var(array(
+	$oSecureTpl->set_var(array(
 			'TEXT_ENABLED' => $SFS_TEXT['ON_OFF'],
 			'TXT_SECFORM_TOKENNAME' => $SFS_TEXT['WB_SECFORM_TOKENNAME'],
             'TXT_SECFORM_TOKENNAME_TOOLTIP' => $SFS_TEXT['WB_SECFORM_TOKENNAME_TOOLTIP'],
@@ -217,16 +218,16 @@
             'TXT_SECFORM_USEFP_TOOLTIP' => $SFS_TEXT['WB_SECFORM_USEFP_TOOLTIP'],
 		)
 	);
-	$tpl->parse('mtab','mtab_block', true);
-	$tpl->parse('show_mtab','show_mtab_block', true);
+	$oSecureTpl->parse('mtab','mtab_block', true);
+	$oSecureTpl->parse('show_mtab','show_mtab_block', true);
 } else  {
-	$tpl->parse('mtab', '');
-	$tpl->parse('show_mtab', '');
+	$oSecureTpl->parse('mtab', '');
+	$oSecureTpl->parse('show_mtab', '');
 }
 
 // Parse template object
-$tpl->parse('main', 'main_block', false);
-$output = $tpl->finish($tpl->parse('output', 'page'));
-unset($tpl);
+$oSecureTpl->parse('main', 'main_block', false);
+$output = $oSecureTpl->finish($oSecureTpl->parse('output', 'page'));
+unset($oSecureTpl);
 print $output;
 
Index: branches/2.8.x/wb/modules/SecureFormSwitcher/overlib_mini.js
===================================================================
--- branches/2.8.x/wb/modules/SecureFormSwitcher/overlib_mini.js	(nonexistent)
+++ branches/2.8.x/wb/modules/SecureFormSwitcher/overlib_mini.js	(revision 1684)
@@ -0,0 +1,322 @@
+//\/////
+//\  overLIB 4.22 - You may not remove or change this notice.
+//\  Copyright Erik Bosrup 1998-2004. All rights reserved.
+//\
+//\  Contributors are listed on the homepage.
+//\  This file might be old, always check for the latest version at:
+//\  http://www.bosrup.com/web/overlib/
+//\
+//\  Please read the license agreement (available through the link above)
+//\  before using overLIB. Direct any licensing questions to erik@bosrup.com.
+//\
+//\  Do not sell this as your own work or remove this copyright notice. 
+//\  For full details on copying or changing this script please read the
+//\  license agreement at the link above. Please give credit on sites that
+//\  use overLIB and submit changes of the script so other people can use
+//\  them as well.
+//\/////
+//\  THIS IS A VERY MODIFIED VERSION. DO NOT EDIT OR PUBLISH. GET THE ORIGINAL!
+var olLoaded=0,pmStart=10000000,pmUpper=10001000,pmCount=pmStart+1,pmt='',pms=new Array(),olInfo=new Info('4.22',0),FREPLACE=0,FBEFORE=1,FAFTER=2,FALTERNATE=3,FCHAIN=4,olHideForm=0,olHautoFlag=0,olVautoFlag=0,hookPts=new Array(),postParse=new Array(),cmdLine=new Array(),runTime=new Array();
+registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,compatmode,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass');
+if(typeof ol_fgcolor=='undefined')var ol_fgcolor="#CCCCFF";if(typeof ol_bgcolor=='undefined')var ol_bgcolor="#333399";if(typeof ol_textcolor=='undefined')var ol_textcolor="#000000";if(typeof ol_capcolor=='undefined')var ol_capcolor="#FFFFFF";if(typeof ol_closecolor=='undefined')var ol_closecolor="#9999FF";if(typeof ol_textfont=='undefined')var ol_textfont="Verdana,Arial,Helvetica";if(typeof ol_captionfont=='undefined')var ol_captionfont="Verdana,Arial,Helvetica";if(typeof ol_closefont=='undefined')var ol_closefont="Verdana,Arial,Helvetica";if(typeof ol_textsize=='undefined')var ol_textsize="1";if(typeof ol_captionsize=='undefined')var ol_captionsize="1";if(typeof ol_closesize=='undefined')var ol_closesize="1";if(typeof ol_width=='undefined')var ol_width="200";if(typeof ol_border=='undefined')var ol_border="1";if(typeof ol_cellpad=='undefined')var ol_cellpad=2;if(typeof ol_offsetx=='undefined')var ol_offsetx=10;if(typeof ol_offsety=='undefined')var ol_offsety=10;if(typeof ol_text=='undefined')var ol_text="Default Text";if(typeof ol_cap=='undefined')var ol_cap="";if(typeof ol_sticky=='undefined')var ol_sticky=0;if(typeof ol_background=='undefined')var ol_background="";if(typeof ol_close=='undefined')var ol_close="Close";if(typeof ol_hpos=='undefined')var ol_hpos=RIGHT;if(typeof ol_status=='undefined')var ol_status="";if(typeof ol_autostatus=='undefined')var ol_autostatus=0;if(typeof ol_height=='undefined')var ol_height=-1;if(typeof ol_snapx=='undefined')var ol_snapx=0;if(typeof ol_snapy=='undefined')var ol_snapy=0;if(typeof ol_fixx=='undefined')var ol_fixx=-1;if(typeof ol_fixy=='undefined')var ol_fixy=-1;if(typeof ol_relx=='undefined')var ol_relx=null;if(typeof ol_rely=='undefined')var ol_rely=null;if(typeof ol_fgbackground=='undefined')var ol_fgbackground="";if(typeof ol_bgbackground=='undefined')var ol_bgbackground="";if(typeof ol_padxl=='undefined')var ol_padxl=1;if(typeof ol_padxr=='undefined')var ol_padxr=1;if(typeof ol_padyt=='undefined')var ol_padyt=1;if(typeof ol_padyb=='undefined')var ol_padyb=1;if(typeof ol_fullhtml=='undefined')var ol_fullhtml=0;if(typeof ol_vpos=='undefined')var ol_vpos=BELOW;if(typeof ol_aboveheight=='undefined')var ol_aboveheight=0;if(typeof ol_capicon=='undefined')var ol_capicon="";if(typeof ol_frame=='undefined')var ol_frame=self;if(typeof ol_timeout=='undefined')var ol_timeout=0;if(typeof ol_function=='undefined')var ol_function=null;if(typeof ol_delay=='undefined')var ol_delay=0;if(typeof ol_hauto=='undefined')var ol_hauto=0;if(typeof ol_vauto=='undefined')var ol_vauto=0;if(typeof ol_closeclick=='undefined')var ol_closeclick=0;if(typeof ol_wrap=='undefined')var ol_wrap=0;if(typeof ol_followmouse=='undefined')var ol_followmouse=1;if(typeof ol_mouseoff=='undefined')var ol_mouseoff=0;if(typeof ol_closetitle=='undefined')var ol_closetitle='Close';if(typeof ol_compatmode=='undefined')var ol_compatmode=0;if(typeof ol_css=='undefined')var ol_css=CSSOFF;if(typeof ol_fgclass=='undefined')var ol_fgclass="";if(typeof ol_bgclass=='undefined')var ol_bgclass="";if(typeof ol_textfontclass=='undefined')var ol_textfontclass="";if(typeof ol_captionfontclass=='undefined')var ol_captionfontclass="";if(typeof ol_closefontclass=='undefined')var ol_closefontclass="";
+if(typeof ol_texts=='undefined')var ol_texts=new Array("Text 0","Text 1");if(typeof ol_caps=='undefined')var ol_caps=new Array("Caption 0","Caption 1");
+var o3_text="",o3_cap="",o3_sticky=0,o3_background="",o3_close="Close",o3_hpos=RIGHT,o3_offsetx=2,o3_offsety=2,o3_fgcolor="",o3_bgcolor="",o3_textcolor="",o3_capcolor="",o3_closecolor="",o3_width=100,o3_border=1,o3_cellpad=2,o3_status="",o3_autostatus=0,o3_height=-1,o3_snapx=0,o3_snapy=0,o3_fixx=-1,o3_fixy=-1,o3_relx=null,o3_rely=null,o3_fgbackground="",o3_bgbackground="",o3_padxl=0,o3_padxr=0,o3_padyt=0,o3_padyb=0,o3_fullhtml=0,o3_vpos=BELOW,o3_aboveheight=0,o3_capicon="",o3_textfont="Verdana,Arial,Helvetica",o3_captionfont="Verdana,Arial,Helvetica",o3_closefont="Verdana,Arial,Helvetica",o3_textsize="1",o3_captionsize="1",o3_closesize="1",o3_frame=self,o3_timeout=0,o3_timerid=0,o3_allowmove=0,o3_function=null,o3_delay=0,o3_delayid=0,o3_hauto=0,o3_vauto=0,o3_closeclick=0,o3_wrap=0,o3_followmouse=1,o3_mouseoff=0,o3_closetitle='',o3_compatmode=0,o3_css=CSSOFF,o3_fgclass="",o3_bgclass="",o3_textfontclass="",o3_captionfontclass="",o3_closefontclass="";
+var o3_x=0,o3_y=0,o3_showingsticky=0,o3_removecounter=0;
+var over=null,fnRef,hoveringSwitch=false,olHideDelay;
+var isMac=(navigator.userAgent.indexOf("Mac")!=-1),olOp=(navigator.userAgent.toLowerCase().indexOf('opera')>-1&&document.createTextNode),olNs4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4),olNs6=(document.getElementById)?true:false,olKq=(olNs6&&/konqueror/i.test(navigator.userAgent)),olIe4=(document.all)?true:false,olIe5=false,olIe55=false,docRoot='document.body';
+if(olNs4){var oW=window.innerWidth;var oH=window.innerHeight;window.onresize=function(){if(oW!=window.innerWidth||oH!=window.innerHeight)location.reload();}}
+if(olIe4){var agent=navigator.userAgent;if(/MSIE/.test(agent)){var versNum=parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]);if(versNum>=5){olIe5=true;olIe55=(versNum>=5.5&&!olOp)?true:false;if(olNs6)olNs6=false;}}
+if(olNs6)olIe4=false;}
+if(document.compatMode&&document.compatMode=='CSS1Compat'){docRoot=((olIe4&&!olOp)?'document.documentElement':docRoot);}
+if(window.addEventListener)window.addEventListener("load",OLonLoad_handler,false);else if(window.attachEvent)window.attachEvent("onload",OLonLoad_handler);
+var capExtent;
+function overlib(){if(!olLoaded||isExclusive(overlib.arguments))return true;if(olCheckMouseCapture)olMouseCapture();if(over){over=(typeof over.id!='string')?o3_frame.document.all['overDiv']:over;cClick();}
+olHideDelay=0;o3_text=ol_text;o3_cap=ol_cap;o3_sticky=ol_sticky;o3_background=ol_background;o3_close=ol_close;o3_hpos=ol_hpos;o3_offsetx=ol_offsetx;o3_offsety=ol_offsety;o3_fgcolor=ol_fgcolor;o3_bgcolor=ol_bgcolor;o3_textcolor=ol_textcolor;o3_capcolor=ol_capcolor;o3_closecolor=ol_closecolor;o3_width=ol_width;o3_border=ol_border;o3_cellpad=ol_cellpad;o3_status=ol_status;o3_autostatus=ol_autostatus;o3_height=ol_height;o3_snapx=ol_snapx;o3_snapy=ol_snapy;o3_fixx=ol_fixx;o3_fixy=ol_fixy;o3_relx=ol_relx;o3_rely=ol_rely;o3_fgbackground=ol_fgbackground;o3_bgbackground=ol_bgbackground;o3_padxl=ol_padxl;o3_padxr=ol_padxr;o3_padyt=ol_padyt;o3_padyb=ol_padyb;o3_fullhtml=ol_fullhtml;o3_vpos=ol_vpos;o3_aboveheight=ol_aboveheight;o3_capicon=ol_capicon;o3_textfont=ol_textfont;o3_captionfont=ol_captionfont;o3_closefont=ol_closefont;o3_textsize=ol_textsize;o3_captionsize=ol_captionsize;o3_closesize=ol_closesize;o3_timeout=ol_timeout;o3_function=ol_function;o3_delay=ol_delay;o3_hauto=ol_hauto;o3_vauto=ol_vauto;o3_closeclick=ol_closeclick;o3_wrap=ol_wrap;o3_followmouse=ol_followmouse;o3_mouseoff=ol_mouseoff;o3_closetitle=ol_closetitle;o3_css=ol_css;o3_compatmode=ol_compatmode;o3_fgclass=ol_fgclass;o3_bgclass=ol_bgclass;o3_textfontclass=ol_textfontclass;o3_captionfontclass=ol_captionfontclass;o3_closefontclass=ol_closefontclass;
+setRunTimeVariables();
+fnRef='';
+o3_frame=ol_frame;
+if(!(over=createDivContainer()))return false;
+parseTokens('o3_',overlib.arguments);if(!postParseChecks('o3_',overlib.arguments))return false;
+if(o3_delay==0){return runHook("olMain",FREPLACE);}else{o3_delayid=setTimeout("runHook('olMain',FREPLACE)",o3_delay);return false;}}
+function nd(time){if(olLoaded&&!isExclusive()){hideDelay(time);
+if(o3_removecounter>=1){o3_showingsticky=0 };
+if(o3_showingsticky==0){o3_allowmove=0;if(over!=null&&(o3_compatmode?1:o3_timerid==0))runHook("hideObject",FREPLACE,over);}else{o3_removecounter++;}}
+return true;}
+function cClick(){if(olLoaded){runHook("hideObject",FREPLACE,over);o3_showingsticky=0;}
+return false;}
+function overlib_pagedefaults(){parseTokens('ol_',overlib_pagedefaults.arguments);}
+function olMain(){var layerhtml,styleType;runHook("olMain",FBEFORE);
+if(o3_background!=""||o3_fullhtml){
+layerhtml=runHook('ol_content_background',FALTERNATE,o3_css,o3_text,o3_background,o3_fullhtml);}else{
+styleType=(pms[o3_css-1-pmStart]=="cssoff"||pms[o3_css-1-pmStart]=="cssclass");
+if(o3_fgbackground!="")o3_fgbackground="background=\""+o3_fgbackground+"\"";if(o3_bgbackground!="")o3_bgbackground=(styleType?"background=\""+o3_bgbackground+"\"":o3_bgbackground);
+if(o3_fgcolor!="")o3_fgcolor=(styleType?"bgcolor=\""+o3_fgcolor+"\"":o3_fgcolor);if(o3_bgcolor!="")o3_bgcolor=(styleType?"bgcolor=\""+o3_bgcolor+"\"":o3_bgcolor);
+if(o3_height>0)o3_height=(styleType?"height=\""+o3_height+"\"":o3_height);else o3_height="";
+if(o3_cap==""){
+layerhtml=runHook('ol_content_simple',FALTERNATE,o3_css,o3_text);}else{
+if(o3_sticky){
+layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,o3_close);}else{
+layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,"");}}}
+if(o3_sticky){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;}
+o3_showingsticky=1;o3_removecounter=0;}
+if(!runHook("olCreatePopup",FREPLACE,layerhtml))return false;
+if(o3_autostatus>0){o3_status=o3_text;if(o3_autostatus>1)o3_status=o3_cap;if(o3_wrap)o3_status=o3_status.replace(/&nbsp;/g,' ');}
+o3_allowmove=0;
+if(o3_timeout>0){if(o3_timerid>0)clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()",o3_timeout);}
+runHook("disp",FREPLACE,o3_status);runHook("olMain",FAFTER);
+return(olOp&&event&&event.type=='mouseover'&&!o3_status)?'':(o3_status!='');}
+function ol_content_simple(text){var cpIsMultiple=/,/.test(o3_cellpad);var txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_height)+'><tr><td><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">':((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
+set_background("");return txt;}
+function ol_content_caption(text,title,close){var nameId,txt,cpIsMultiple=/,/.test(o3_cellpad);var closing,closeevent;
+closing="";closeevent="onmouseover";if(o3_closeclick==1)closeevent=(o3_closetitle?"title='"+o3_closetitle+"'":"")+" onclick";if(o3_capicon!=""){nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';if(typeof o3_dragimg!='undefined'&&o3_dragimg)nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';o3_capicon='<img src=\"'+o3_capicon+'\"'+nameId+' />';}
+if(close!="")
+closing='<td '+(!o3_compatmode&&o3_closefontclass?'class="'+o3_closefontclass:'align="RIGHT')+'"><a href="javascript:return '+fnRef+'cClick();"'+((o3_compatmode&&o3_closefontclass)?' class="'+o3_closefontclass+'" ':' ')+closeevent+'="return '+fnRef+'cClick();">'+(o3_closefontclass?'':wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass?'':wrapStr(1,o3_closesize,'close'))+'</a></td>';txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_bgbackground+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="2" cellspacing="0"><tr><td'+(o3_captionfontclass?' class="'+o3_captionfontclass+'">':'>')+(o3_captionfontclass?'':'<b>'+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass?'':wrapStr(1,o3_captionsize)+'</b>')+'</td>'+closing+'</tr></table><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">' :((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
+set_background("");return txt;}
+function ol_content_background(text,picture,hasfullhtml){var txt;if(hasfullhtml){txt=text;}else{txt='<table width="'+o3_width+'" border="0" cellpadding="0" cellspacing="0" height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="TOP" width="'+(o3_width-o3_padxl-o3_padxr)+(o3_textfontclass?'" class="'+o3_textfontclass:'')+'">'+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>';}
+set_background(picture);return txt;}
+function set_background(pic){if(pic==""){if(olNs4){over.background.src=null;}else if(over.style){over.style.backgroundImage="none";}
+}else{if(olNs4){over.background.src=pic;}else if(over.style){over.style.width=o3_width+'px';over.style.backgroundImage="url("+pic+")";}}}
+var olShowId=-1;
+function disp(statustext){runHook("disp",FBEFORE,statustext);
+if(o3_allowmove==0){runHook("placeLayer",FREPLACE);(olNs6&&olShowId<0)?olShowId=setTimeout("runHook('showObject',FREPLACE,over)",1):runHook("showObject",FREPLACE,over);o3_allowmove=(o3_sticky||o3_followmouse==0)?0:1;}
+runHook("disp",FAFTER,statustext);
+if(statustext!="")self.status=statustext;}
+function olCreatePopup(lyrContent){runHook("olCreatePopup",FBEFORE,lyrContent);
+if(o3_wrap){var wd,ww,theObj=(olNs4?over:over.style);theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);layerWrite(lyrContent);wd=(olNs4?over.clip.width:over.offsetWidth);if(wd>(ww=windowWidth())){lyrContent=lyrContent.replace(/\&nbsp;/g,' ');o3_width=ww;o3_wrap=0;}}
+layerWrite(lyrContent);
+if(o3_wrap)o3_width=(olNs4?over.clip.width:over.offsetWidth);
+runHook("olCreatePopup",FAFTER,lyrContent);
+return true;}
+function placeLayer(){var placeX,placeY,widthFix=0;
+if(o3_frame.innerWidth)widthFix=18;iwidth=windowWidth();
+winoffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset;
+placeX=runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix);
+if(o3_frame.innerHeight){iheight=o3_frame.innerHeight;}else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')){iheight=eval('o3_frame.'+docRoot+'.clientHeight');}
+scrolloffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;placeY=runHook('verticalPlacement',FCHAIN,iheight,scrolloffset);
+repositionTo(over,placeX,placeY);}
+function olMouseMove(e){var e=(e)?e:event;
+if(e.pageX){o3_x=e.pageX;o3_y=e.pageY;}else if(e.clientX){o3_x=eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');}
+if(o3_allowmove==1)runHook("placeLayer",FREPLACE);
+if(hoveringSwitch&&!olNs4&&runHook("cursorOff",FREPLACE)){(olHideDelay?hideDelay(olHideDelay):cClick());hoveringSwitch=!hoveringSwitch;}}
+function no_overlib(){return ver3fix;}
+function olMouseCapture(){capExtent=document;var fN,str='',l,k,f,wMv,sS,mseHandler=olMouseMove;var re=/function[ ]*(\w*)\(/;
+wMv=(!olIe4&&window.onmousemove);if(document.onmousemove||wMv){if(wMv)capExtent=window;f=capExtent.onmousemove.toString();fN=f.match(re);if(fN==null){str=f+'(e);';}else if(fN[1]=='anonymous'||fN[1]=='olMouseMove'||(wMv&&fN[1]=='onmousemove')){if(!olOp&&wMv){l=f.indexOf('{')+1;k=f.lastIndexOf('}');sS=f.substring(l,k);if((l=sS.indexOf('('))!=-1){sS=sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,'');if(eval("typeof "+sS+"=='undefined'"))window.onmousemove=null;else str=sS+'(e);';}}
+if(!str){olCheckMouseCapture=false;return;}
+}else{if(fN[1])str=fN[1]+'(e);';else{l=f.indexOf('{')+1;k=f.lastIndexOf('}');str=f.substring(l,k)+'\n';}}
+str+='olMouseMove(e);';mseHandler=new Function('e',str);}
+capExtent.onmousemove=mseHandler;if(olNs4)capExtent.captureEvents(Event.MOUSEMOVE);}
+function parseTokens(pf,ar){
+var v,i,mode=-1,par=(pf!='ol_'),fnMark=(par&&!ar.length?1:0);
+for(i=0;i<ar.length;i++){if(mode<0){
+if(typeof ar[i]=='number'&&ar[i]>pmStart&&ar[i]<pmUpper){fnMark=(par?1:0);i--;}else{switch(pf){case 'ol_':
+ol_text=ar[i].toString();break;default:
+o3_text=ar[i].toString();}}
+mode=0;}else{
+if(ar[i]>=pmCount||ar[i]==DONOTHING){continue;}
+if(ar[i]==INARRAY){fnMark=0;eval(pf+'text=ol_texts['+ar[++i]+'].toString()');continue;}
+if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+'].toString()');continue;}
+if(ar[i]==STICKY){if(pf!='ol_')eval(pf+'sticky=1');continue;}
+if(ar[i]==BACKGROUND){eval(pf+'background="'+ar[++i]+'"');continue;}
+if(ar[i]==NOCLOSE){if(pf!='ol_')opt_NOCLOSE();continue;}
+if(ar[i]==CAPTION){eval(pf+"cap='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CENTER||ar[i]==LEFT||ar[i]==RIGHT){eval(pf+'hpos='+ar[i]);if(pf!='ol_')olHautoFlag=1;continue;}
+if(ar[i]==OFFSETX){eval(pf+'offsetx='+ar[++i]);continue;}
+if(ar[i]==OFFSETY){eval(pf+'offsety='+ar[++i]);continue;}
+if(ar[i]==FGCOLOR){eval(pf+'fgcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==BGCOLOR){eval(pf+'bgcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==TEXTCOLOR){eval(pf+'textcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==CAPCOLOR){eval(pf+'capcolor="'+ar[++i]+'"');continue;}
+if(ar[i]==CLOSECOLOR){eval(pf+'closecolor="'+ar[++i]+'"');continue;}
+if(ar[i]==WIDTH){eval(pf+'width='+ar[++i]);continue;}
+if(ar[i]==BORDER){eval(pf+'border='+ar[++i]);continue;}
+if(ar[i]==CELLPAD){i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad'));continue;}
+if(ar[i]==STATUS){eval(pf+"status='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==AUTOSTATUS){eval(pf+'autostatus=('+pf+'autostatus==1)?0:1');continue;}
+if(ar[i]==AUTOSTATUSCAP){eval(pf+'autostatus=('+pf+'autostatus==2)?0:2');continue;}
+if(ar[i]==HEIGHT){eval(pf+'height='+pf+'aboveheight='+ar[++i]);continue;}
+if(ar[i]==CLOSETEXT){eval(pf+"close='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==SNAPX){eval(pf+'snapx='+ar[++i]);continue;}
+if(ar[i]==SNAPY){eval(pf+'snapy='+ar[++i]);continue;}
+if(ar[i]==FIXX){eval(pf+'fixx='+ar[++i]);continue;}
+if(ar[i]==FIXY){eval(pf+'fixy='+ar[++i]);continue;}
+if(ar[i]==RELX){eval(pf+'relx='+ar[++i]);continue;}
+if(ar[i]==RELY){eval(pf+'rely='+ar[++i]);continue;}
+if(ar[i]==FGBACKGROUND){eval(pf+'fgbackground="'+ar[++i]+'"');continue;}
+if(ar[i]==BGBACKGROUND){eval(pf+'bgbackground="'+ar[++i]+'"');continue;}
+if(ar[i]==PADX){eval(pf+'padxl='+ar[++i]);eval(pf+'padxr='+ar[++i]);continue;}
+if(ar[i]==PADY){eval(pf+'padyt='+ar[++i]);eval(pf+'padyb='+ar[++i]);continue;}
+if(ar[i]==FULLHTML){if(pf!='ol_')eval(pf+'fullhtml=1');continue;}
+if(ar[i]==BELOW||ar[i]==ABOVE){eval(pf+'vpos='+ar[i]);if(pf!='ol_')olVautoFlag=1;continue;}
+if(ar[i]==CAPICON){eval(pf+'capicon="'+ar[++i]+'"');continue;}
+if(ar[i]==TEXTFONT){eval(pf+"textfont='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CAPTIONFONT){eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CLOSEFONT){eval(pf+"closefont='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==TEXTSIZE){eval(pf+'textsize="'+ar[++i]+'"');continue;}
+if(ar[i]==CAPTIONSIZE){eval(pf+'captionsize="'+ar[++i]+'"');continue;}
+if(ar[i]==CLOSESIZE){eval(pf+'closesize="'+ar[++i]+'"');continue;}
+if(ar[i]==TIMEOUT){eval(pf+'timeout='+ar[++i]);continue;}
+if(ar[i]==FUNCTION){if(pf=='ol_'){if(typeof ar[i+1]!='number'){v=ar[++i];ol_function=(typeof v=='function'?v:null);}}else{fnMark=0;v=null;if(typeof ar[i+1]!='number')v=ar[++i]; opt_FUNCTION(v);} continue;}
+if(ar[i]==DELAY){eval(pf+'delay='+ar[++i]);continue;}
+if(ar[i]==HAUTO){eval(pf+'hauto=('+pf+'hauto==0)?1:0');continue;}
+if(ar[i]==VAUTO){eval(pf+'vauto=('+pf+'vauto==0)?1:0');continue;}
+if(ar[i]==CLOSECLICK){eval(pf+'closeclick=('+pf+'closeclick==0)?1:0');continue;}
+if(ar[i]==WRAP){eval(pf+'wrap=('+pf+'wrap==0)?1:0');continue;}
+if(ar[i]==FOLLOWMOUSE){eval(pf+'followmouse=('+pf+'followmouse==1)?0:1');continue;}
+if(ar[i]==MOUSEOFF){eval(pf+'mouseoff=('+pf+'mouseoff==0)?1:0');v=ar[i+1];if(pf!='ol_'&&eval(pf+'mouseoff')&&typeof v=='number'&&(v<pmStart||v>pmUpper))olHideDelay=ar[++i];continue;}
+if(ar[i]==CLOSETITLE){eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'");continue;}
+if(ar[i]==CSSOFF||ar[i]==CSSCLASS){eval(pf+'css='+ar[i]);continue;}
+if(ar[i]==COMPATMODE){eval(pf+'compatmode=('+pf+'compatmode==0)?1:0');continue;}
+if(ar[i]==FGCLASS){eval(pf+'fgclass="'+ar[++i]+'"');continue;}
+if(ar[i]==BGCLASS){eval(pf+'bgclass="'+ar[++i]+'"');continue;}
+if(ar[i]==TEXTFONTCLASS){eval(pf+'textfontclass="'+ar[++i]+'"');continue;}
+if(ar[i]==CAPTIONFONTCLASS){eval(pf+'captionfontclass="'+ar[++i]+'"');continue;}
+if(ar[i]==CLOSEFONTCLASS){eval(pf+'closefontclass="'+ar[++i]+'"');continue;}
+i=parseCmdLine(pf,i,ar);}}
+if(fnMark&&o3_function)o3_text=o3_function();
+if((pf=='o3_')&&o3_wrap){o3_width=0;
+var tReg=/<.*\n*>/ig;if(!tReg.test(o3_text))o3_text=o3_text.replace(/[ ]+/g,'&nbsp;');if(!tReg.test(o3_cap))o3_cap=o3_cap.replace(/[ ]+/g,'&nbsp;');}
+if((pf=='o3_')&&o3_sticky){if(!o3_close&&(o3_frame!=ol_frame))o3_close=ol_close;if(o3_mouseoff&&(o3_frame==ol_frame))opt_NOCLOSE(' ');}}
+function layerWrite(txt){txt+="\n";if(olNs4){var lyr=o3_frame.document.layers['overDiv'].document
+lyr.write(txt)
+lyr.close()
+}else if(typeof over.innerHTML!='undefined'){if(olIe5&&isMac)over.innerHTML='';over.innerHTML=txt;}else{range=o3_frame.document.createRange();range.setStartAfter(over);domfrag=range.createContextualFragment(txt);
+while(over.hasChildNodes()){over.removeChild(over.lastChild);}
+over.appendChild(domfrag);}}
+function showObject(obj){runHook("showObject",FBEFORE,obj);
+var theObj=(olNs4?obj:obj.style);theObj.visibility='visible';
+runHook("showObject",FAFTER,obj);}
+function hideObject(obj){runHook("hideObject",FBEFORE,obj);
+var theObj=(olNs4?obj:obj.style);if(olNs6&&olShowId>0){clearTimeout(olShowId);olShowId=0;}
+theObj.visibility='hidden';theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);
+if(o3_timerid>0)clearTimeout(o3_timerid);if(o3_delayid>0)clearTimeout(o3_delayid);
+o3_timerid=0;o3_delayid=0;self.status="";
+if(obj.onmouseout||obj.onmouseover){if(olNs4)obj.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);obj.onmouseout=obj.onmouseover=null;}
+runHook("hideObject",FAFTER,obj);}
+function repositionTo(obj,xL,yL){var theObj=(olNs4?obj:obj.style);theObj.left=xL+(!olNs4?'px':0);theObj.top=yL+(!olNs4?'px':0);}
+function cursorOff(){var left=parseInt(over.style.left);var top=parseInt(over.style.top);var right=left+(over.offsetWidth>=parseInt(o3_width)?over.offsetWidth:parseInt(o3_width));var bottom=top+(over.offsetHeight>=o3_aboveheight?over.offsetHeight:o3_aboveheight);
+if(o3_x<left||o3_x>right||o3_y<top||o3_y>bottom)return true;
+return false;}
+function opt_FUNCTION(callme){o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):callme):callme()):(o3_function?o3_function():'No Function'));
+return 0;}
+function opt_NOCLOSE(unused){if(!unused)o3_close="";
+if(olNs4){over.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseover=function(){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }
+over.onmouseout=function(e){if(olHideDelay)hideDelay(olHideDelay);else cClick(e);}
+}else{over.onmouseover=function(){hoveringSwitch=true;if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }}
+return 0;}
+function opt_MULTIPLEARGS(i,args,parameter){var k=i,re,pV,str='';
+for(k=i;k<args.length;k++){if(typeof args[k]=='number'&&args[k]>pmStart)break;str+=args[k]+',';}
+if(str)str=str.substring(0,--str.length);
+k--;pV=(olNs4&&/cellpad/i.test(parameter))?str.split(',')[0]:str;eval(parameter+'="'+pV+'"');
+return k;}
+function nbspCleanup(){if(o3_wrap){o3_text=o3_text.replace(/\&nbsp;/g,' ');o3_cap=o3_cap.replace(/\&nbsp;/g,' ');}}
+function escSglQuote(str){return str.toString().replace(/'/g,"\\'");}
+function OLonLoad_handler(e){var re=/\w+\(.*\)[;\s]+/g,olre=/overlib\(|nd\(|cClick\(/,fn,l,i;
+if(!olLoaded)olLoaded=1;
+if(window.removeEventListener&&e.eventPhase==3)window.removeEventListener("load",OLonLoad_handler,false);else if(window.detachEvent){window.detachEvent("onload",OLonLoad_handler);var fN=document.body.getAttribute('onload');if(fN){fN=fN.toString().match(re);if(fN&&fN.length){for(i=0;i<fN.length;i++){if(/anonymous/.test(fN[i]))continue;while((l=fN[i].search(/\)[;\s]+/))!=-1){fn=fN[i].substring(0,l+1);fN[i]=fN[i].substring(l+2);if(olre.test(fn))eval(fn);}}}}}}
+function wrapStr(endWrap,fontSizeStr,whichString){var fontStr,fontColor,isClose=((whichString=='close')?1:0),hasDims=/[%\-a-z]+$/.test(fontSizeStr);fontSizeStr=(olNs4)?(!hasDims?fontSizeStr:'1'):fontSizeStr;if(endWrap)return(hasDims&&!olNs4)?(isClose?'</span>':'</div>'):'</font>';else{fontStr='o3_'+whichString+'font';fontColor='o3_'+((whichString=='caption')? 'cap':whichString)+'color';return(hasDims&&!olNs4)?(isClose?'<span style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">':'<div style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">'):'<font face="'+eval(fontStr)+'" color="'+eval(fontColor)+'" size="'+(parseInt(fontSizeStr)>7?'7':fontSizeStr)+'">';}}
+function quoteMultiNameFonts(theFont){var v,pM=theFont.split(',');for(var i=0;i<pM.length;i++){v=pM[i];v=v.replace(/^\s+/,'').replace(/\s+$/,'');if(/\s/.test(v)&&!/['"]/.test(v)){v="\'"+v+"\'";pM[i]=v;}}
+return pM.join();}
+function isExclusive(args){return false;}
+function setCellPadStr(parameter){var Str='',j=0,ary=new Array(),top,bottom,left,right;
+Str+='padding: ';ary=parameter.replace(/\s+/g,'').split(',');
+switch(ary.length){case 2:
+top=bottom=ary[j];left=right=ary[++j];break;case 3:
+top=ary[j];left=right=ary[++j];bottom=ary[++j];break;case 4:
+top=ary[j];right=ary[++j];bottom=ary[++j];left=ary[++j];break;}
+Str+=((ary.length==1)?ary[0]+'px;':top+'px '+right+'px '+bottom+'px '+left+'px;');
+return Str;}
+function hideDelay(time){if(time&&!o3_delay){if(o3_timerid>0)clearTimeout(o3_timerid);
+o3_timerid=setTimeout("cClick()",(o3_timeout=time));}}
+function horizontalPlacement(browserWidth,horizontalScrollAmount,widthFix){var placeX,iwidth=browserWidth,winoffset=horizontalScrollAmount;var parsedWidth=parseInt(o3_width);
+if(o3_fixx>-1||o3_relx!=null){
+placeX=(o3_relx!=null?( o3_relx<0?winoffset+o3_relx+iwidth-parsedWidth-widthFix:winoffset+o3_relx):o3_fixx);}else{
+if(o3_hauto==1){if((o3_x-winoffset)>(iwidth/2)&&o3_hpos==RIGHT&&((o3_x-winoffset)-(parsedWidth+o3_offsetx-iwidth>(iwidth-widthFix)))){o3_hpos=LEFT;}else if(o3_hpos==LEFT&&((o3_x-o3_offsetx-parsedWidth)<winoffset)){o3_hpos=RIGHT;}}
+if(o3_hpos==CENTER){placeX=o3_x+o3_offsetx-(parsedWidth/2);
+if(placeX<winoffset)placeX=winoffset;}
+if(o3_hpos==RIGHT){placeX=o3_x+o3_offsetx;
+if((placeX+parsedWidth)>(winoffset+iwidth-widthFix)){placeX=iwidth+winoffset-parsedWidth-widthFix;if(placeX<0)placeX=0;}}
+if(o3_hpos==LEFT){placeX=o3_x-o3_offsetx-parsedWidth;if(placeX<winoffset)placeX=winoffset;}
+if(o3_snapx>1){var snapping=placeX % o3_snapx;
+if(o3_hpos==LEFT){placeX=placeX-(o3_snapx+snapping);}else{
+placeX=placeX+(o3_snapx-snapping);}
+if(placeX<winoffset)placeX=winoffset;}}
+return placeX;}
+function verticalPlacement(browserHeight,verticalScrollAmount){var placeY,iheight=browserHeight,scrolloffset=verticalScrollAmount;var parsedHeight=(o3_aboveheight?parseInt(o3_aboveheight):(olNs4?over.clip.height:over.offsetHeight));
+if(o3_fixy>-1||o3_rely!=null){
+placeY=(o3_rely!=null?(o3_rely<0?scrolloffset+o3_rely+iheight-parsedHeight:scrolloffset+o3_rely):o3_fixy);}else{
+if(o3_vauto==1){if((o3_y-scrolloffset)>(iheight/2)&&o3_vpos==BELOW&&(o3_y+parsedHeight+o3_offsety-(scrolloffset+iheight)>0)){o3_vpos=ABOVE;}else if(o3_vpos==ABOVE&&(o3_y-(parsedHeight+o3_offsety)-scrolloffset<0)){o3_vpos=BELOW;}}
+if(o3_vpos==ABOVE){if(o3_aboveheight==0)o3_aboveheight=parsedHeight;
+placeY=o3_y-(o3_aboveheight+o3_offsety);if(placeY<scrolloffset)placeY=scrolloffset;}else{
+placeY=o3_y+o3_offsety;}
+if(o3_snapy>1){var snapping=placeY % o3_snapy;
+if(o3_aboveheight>0&&o3_vpos==ABOVE){placeY=placeY-(o3_snapy+snapping);}else{placeY=placeY+(o3_snapy-snapping);}
+if(placeY<scrolloffset)placeY=scrolloffset;}}
+return placeY;}
+function checkPositionFlags(){if(olHautoFlag)olHautoFlag=o3_hauto=0;if(olVautoFlag)olVautoFlag=o3_vauto=0;return true;}
+function windowWidth(){var w;if(o3_frame.innerWidth)w=o3_frame.innerWidth;else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth'))
+w=eval('o3_frame.'+docRoot+'.clientWidth');return w;}
+function createDivContainer(id,frm,zValue){id=(id||'overDiv'),frm=(frm||o3_frame),zValue=(zValue||1000);var objRef,divContainer=layerReference(id);
+if(divContainer==null){if(olNs4){divContainer=frm.document.layers[id]=new Layer(window.innerWidth,frm);objRef=divContainer;}else{var body=(olIe4?frm.document.all.tags('BODY')[0]:frm.document.getElementsByTagName("BODY")[0]);if(olIe4&&!document.getElementById){body.insertAdjacentHTML("beforeEnd",'<div id="'+id+'"></div>');divContainer=layerReference(id);}else{divContainer=frm.document.createElement("DIV");divContainer.id=id;body.appendChild(divContainer);}
+objRef=divContainer.style;}
+objRef.position='absolute';objRef.visibility='hidden';objRef.zIndex=zValue;if(olIe4&&!olOp)objRef.left=objRef.top='0px';else objRef.left=objRef.top=-10000+(!olNs4?'px':0);}
+return divContainer;}
+function layerReference(id){return(olNs4?o3_frame.document.layers[id]:(document.all?o3_frame.document.all[id]:o3_frame.document.getElementById(id)));}
+function isFunction(fnRef){var rtn=true;
+if(typeof fnRef=='object'){for(var i=0;i<fnRef.length;i++){if(typeof fnRef[i]=='function')continue;rtn=false;break;}
+}else if(typeof fnRef!='function'){rtn=false;}
+return rtn;}
+function argToString(array,strtInd,argName){var jS=strtInd,aS='',ar=array;argName=(argName?argName:'ar');
+if(ar.length>jS){for(var k=jS;k<ar.length;k++)aS+=argName+'['+k+'], ';aS=aS.substring(0,aS.length-2);}
+return aS;}
+function reOrder(hookPt,fnRef,order){var newPt=new Array(),match,i,j;
+if(!order||typeof order=='undefined'||typeof order=='number')return hookPt;
+if(typeof order=='function'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
+for(i=0;i<hookPt.length;i++){match=false;if(typeof fnRef=='function'&&hookPt[i]==fnRef){continue;}else{for(j=0;j<fnRef.length;j++)if(hookPt[i]==fnRef[j]){match=true;break;}}
+if(!match)newPt[newPt.length++]=hookPt[i];}
+newPt[newPt.length++]=order;
+}else if(typeof order=='object'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
+for(j=0;j<hookPt.length;j++){match=false;if(typeof fnRef=='function'&&hookPt[j]==fnRef){continue;}else{for(i=0;i<fnRef.length;i++)if(hookPt[j]==fnRef[i]){match=true;break;}}
+if(!match)newPt[newPt.length++]=hookPt[j];}
+for(i=0;i<newPt.length;i++)hookPt[i]=newPt[i];newPt.length=0;
+for(j=0;j<hookPt.length;j++){match=false;for(i=0;i<order.length;i++){if(hookPt[j]==order[i]){match=true;break;}}
+if(!match)newPt[newPt.length++]=hookPt[j];}
+newPt=newPt.concat(order);}
+hookPt=newPt;
+return hookPt;}
+function setRunTimeVariables(){if(typeof runTime!='undefined'&&runTime.length){for(var k=0;k<runTime.length;k++){runTime[k]();}}}
+function parseCmdLine(pf,i,args){if(typeof cmdLine!='undefined'&&cmdLine.length){for(var k=0;k<cmdLine.length;k++){var j=cmdLine[k](pf,i,args);if(j >-1){i=j;break;}}}
+return i;}
+function postParseChecks(pf,args){if(typeof postParse!='undefined'&&postParse.length){for(var k=0;k<postParse.length;k++){if(postParse[k](pf,args))continue;return false;}}
+return true;}
+function registerCommands(cmdStr){if(typeof cmdStr!='string')return;
+var pM=cmdStr.split(',');pms=pms.concat(pM);
+for(var i=0;i< pM.length;i++){eval(pM[i].toUpperCase()+'='+pmCount++);}}
+function registerNoParameterCommands(cmdStr){if(!cmdStr&&typeof cmdStr!='string')return;pmt=(!pmt)?cmdStr:pmt+','+cmdStr;}
+function registerHook(fnHookTo,fnRef,hookType,optPm){var hookPt,last=typeof optPm;
+if(fnHookTo=='plgIn'||fnHookTo=='postParse')return;if(typeof hookPts[fnHookTo]=='undefined')hookPts[fnHookTo]=new FunctionReference();
+hookPt=hookPts[fnHookTo];
+if(hookType!=null){if(hookType==FREPLACE){hookPt.ovload=fnRef;if(fnHookTo.indexOf('ol_content_')>-1)hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef;
+}else if(hookType==FBEFORE||hookType==FAFTER){var hookPt=(hookType==1?hookPt.before:hookPt.after);
+if(typeof fnRef=='object'){hookPt=hookPt.concat(fnRef);}else{hookPt[hookPt.length++]=fnRef;}
+if(optPm)hookPt=reOrder(hookPt,fnRef,optPm);
+}else if(hookType==FALTERNATE){if(last=='number')hookPt.alt[pms[optPm-1-pmStart]]=fnRef;}else if(hookType==FCHAIN){hookPt=hookPt.chain;if(typeof fnRef=='object')hookPt=hookPt.concat(fnRef);else hookPt[hookPt.length++]=fnRef;}
+return;}}
+function registerRunTimeFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){runTime=runTime.concat(fn);}else{runTime[runTime.length++]=fn;}}}
+function registerCmdLineFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){cmdLine=cmdLine.concat(fn);}else{cmdLine[cmdLine.length++]=fn;}}}
+function registerPostParseFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){postParse=postParse.concat(fn);}else{postParse[postParse.length++]=fn;}}}
+function runHook(fnHookTo,hookType){var l=hookPts[fnHookTo],k,rtnVal=null,optPm,arS,ar=runHook.arguments;
+if(hookType==FREPLACE){arS=argToString(ar,2);
+if(typeof l=='undefined'||!(l=l.ovload))rtnVal=eval(fnHookTo+'('+arS+')');else rtnVal=eval('l('+arS+')');
+}else if(hookType==FBEFORE||hookType==FAFTER){if(typeof l!='undefined'){l=(hookType==1?l.before:l.after);
+if(l.length){arS=argToString(ar,2);for(var k=0;k<l.length;k++)eval('l[k]('+arS+')');}}
+}else if(hookType==FALTERNATE){optPm=ar[2];arS=argToString(ar,3);
+if(typeof l=='undefined'||(l=l.alt[pms[optPm-1-pmStart]])=='undefined'){rtnVal=eval(fnHookTo+'('+arS+')');}else{rtnVal=eval('l('+arS+')');}
+}else if(hookType==FCHAIN){arS=argToString(ar,2);l=l.chain;
+for(k=l.length;k>0;k--)if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0))break;}
+return rtnVal;}
+function FunctionReference(){this.ovload=null;this.before=new Array();this.after=new Array();this.alt=new Array();this.chain=new Array();}
+function Info(version,prerelease){this.version=version;this.prerelease=prerelease;
+this.simpleversion=Math.round(this.version*100);this.major=parseInt(this.simpleversion/100);this.minor=parseInt(this.simpleversion/10)-this.major * 10;this.revision=parseInt(this.simpleversion)-this.major * 100-this.minor * 10;this.meets=meets;}
+function meets(reqdVersion){return(!reqdVersion)?false:this.simpleversion>=Math.round(100*parseFloat(reqdVersion));}
+registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSOFF);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSOFF);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSOFF);registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSCLASS);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSCLASS);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSCLASS);registerPostParseFunction(checkPositionFlags);registerHook("hideObject",nbspCleanup,FAFTER);registerHook("horizontalPlacement",horizontalPlacement,FCHAIN);registerHook("verticalPlacement",verticalPlacement,FCHAIN);if(olNs4||(olIe5&&isMac)||olKq)olLoaded=1;registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode');
+var olCheckMouseCapture=true;if((olNs4||olNs6||olIe4)){olMouseCapture();}else{overlib=no_overlib;nd=no_overlib;ver3fix=true;}

Property changes on: branches/2.8.x/wb/modules/SecureFormSwitcher/overlib_mini.js
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/modules/SecureFormSwitcher/install.php
===================================================================
--- branches/2.8.x/wb/modules/SecureFormSwitcher/install.php	(revision 1683)
+++ branches/2.8.x/wb/modules/SecureFormSwitcher/install.php	(revision 1684)
@@ -24,7 +24,7 @@
 }
 /* -------------------------------------------------------- */
 
-require_once(WB_PATH.'/framework/class.database.php');
+// require_once(WB_PATH.'/framework/class.database.php');
 require_once(WB_PATH.'/framework/functions.php');
 
 $mod_path = (dirname(__FILE__));
Index: branches/2.8.x/wb/modules/SecureFormSwitcher/backend.css
===================================================================
--- branches/2.8.x/wb/modules/SecureFormSwitcher/backend.css	(revision 1683)
+++ branches/2.8.x/wb/modules/SecureFormSwitcher/backend.css	(revision 1684)
@@ -26,7 +26,7 @@
 .check { color:#555; }
 
 .module-info { padding :10px; margin :0px auto; background :transparent; color :#000000; font-size :1.0em; }
-.module-info p { margin :0.2em auto; }
+.module-info p { margin :0.2em auto; font-size :100%; }
 .warning { border-radius :10px; -khtml-border-radius :10px; -webkit-border-radius :10px; -moz-border-radius :10px; background :#fee; border :0.2em #844 solid; color :#990000; margin :0.2em auto; padding :0.63em; width :60%; text-align :center; }
 .warning strong { font-size :1.2em; }
 .warning span { font-size :1.2em; line-height :1.5em; color :#333333; }
Index: branches/2.8.x/wb/modules/jsadmin/index.php
===================================================================
--- branches/2.8.x/wb/modules/jsadmin/index.php	(revision 1683)
+++ branches/2.8.x/wb/modules/jsadmin/index.php	(revision 1684)
@@ -4,8 +4,7 @@
  * @category        modules
  * @package         JsAdmin
  * @author          WebsiteBaker Project, modified by Swen Uth for Website Baker 2.7
- * @copyright       (C) 2006, Stepan Riha
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @copyright       (C) 2006, Stepan Riha, 2009-2012, Website Baker Org. e.V.
  * @link			http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
@@ -17,5 +16,3 @@
 */
 
 header('Location: ../index.php');
-
-?>
\ No newline at end of file
Index: branches/2.8.x/wb/modules/jsadmin/tool.php
===================================================================
--- branches/2.8.x/wb/modules/jsadmin/tool.php	(revision 1683)
+++ branches/2.8.x/wb/modules/jsadmin/tool.php	(revision 1684)
@@ -101,7 +101,7 @@
 <div  id="jsadmin_form"></div>
    <form name="store_settings" style="margin-top: 1em; display: true;" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
 	<?php echo $admin->getFTAN(); ?>
-   <table summary="" cellpadding="4" cellspacing="0" border="0">
+   <table class="jsadmin_drag_area" summary="" cellpadding="4" cellspacing="0" border="0">
    <tr>
 	     <td colspan="2"><?php echo $MOD_JSADMIN['TXT_HEADING_B']; ?>:</td>
    </tr>
Index: branches/2.8.x/wb/modules/jsadmin/tool_icon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/2.8.x/wb/modules/droplets/modify_droplet.php
===================================================================
--- branches/2.8.x/wb/modules/droplets/modify_droplet.php	(revision 1683)
+++ branches/2.8.x/wb/modules/droplets/modify_droplet.php	(revision 1684)
@@ -51,7 +51,7 @@
 echo registerEditArea ('contentedit','php',true,'both',true,true,600,450,'search, fullscreen, |, undo, redo, |, select_font,|, highlight, reset_highlight, |, help');
 
 $modified_when = time();
-$modified_by = ($admin->ami_group_member('1') ? 1 : $admin->user_id());
+$modified_by = ($admin->ami_group_member('1') ? 1 : $admin->get_user_id());
 $sOverviewDroplets = $TEXT['LIST_OPTIONS'].' '.$DR_TEXT['DROPLETS'];
 
 // Get header and footer
Index: branches/2.8.x/wb/modules/droplets/backup_droplets.php
===================================================================
--- branches/2.8.x/wb/modules/droplets/backup_droplets.php	(revision 1683)
+++ branches/2.8.x/wb/modules/droplets/backup_droplets.php	(revision 1684)
@@ -3,10 +3,9 @@
  *
  * @category        module
  * @package         droplet
- * @author          Ruud Eisinga (Ruud) John (PCWacht)
- * @author          WebsiteBaker Project
- * @copyright       2009-2012, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
+ * @author          Ruud Eisinga (Ruud) John (PCWacht), WebsiteBaker Project
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
+ * @link			http://www.websitebaker.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
  * @requirements    PHP 5.2.2 and higher
@@ -16,6 +15,8 @@
  *
  */
 
+
+
 // tool_edit.php
 require_once('../../config.php');
 require_once(WB_PATH.'/framework/class.admin.php');
@@ -43,14 +44,21 @@
 
 $OK  = ' <span style="color:#006400; font-weight:bold;">OK</span> ';
 $FAIL = ' <span style="color:#ff0000; font-weight:bold;">FAILED</span> ';
-
+$sBackupName = strftime('%Y%m%d_%H%M%S', time()+ TIMEZONE ).'_droplets.zip';
 $temp_dir = '/temp/droplets/';
-$temp_file = $temp_dir.'backup-droplets.zip';
+$temp_file = $temp_dir.$sBackupName;
 
 if(is_writeable(dirname(WB_PATH.$temp_dir))) {
  	rm_full_dir ( WB_PATH.$temp_dir );
 }
 
+/*
+// make the temporary working directory
+if(!make_dir(WB_PATH.$temp_dir, octdec('0777') )){
+//  $admin->print_error($MESSAGE['MEDIA_DIR_NOT_MADE'], $module_edit_link);
+}
+*/
+
 $msg = createFolderProtectFile(rtrim( WB_PATH.$temp_dir,'/') );
 if(sizeof($msg)) {
 	print '<h4 class="warning">';
@@ -80,7 +88,7 @@
 
 $sFilesToZip = rtrim($sFilesToZip,',');
 
-echo '<br />Create archive: backup-droplets.zip<br />';
+echo '<br />Create archive: <strong>'.$sBackupName.'</strong><br />';
 
 require_once(WB_PATH.'/include/pclzip/pclzip.lib.php');
 $archive = new PclZip(WB_PATH.$temp_file);
Index: branches/2.8.x/wb/modules/droplets/tool_icon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/2.8.x/wb/modules/droplets/tool_icon.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/2.8.x/wb/modules/captcha_control/tool.php
===================================================================
--- branches/2.8.x/wb/modules/captcha_control/tool.php	(revision 1683)
+++ branches/2.8.x/wb/modules/captcha_control/tool.php	(revision 1684)
@@ -143,7 +143,7 @@
 	echo '<h2>' .$MOD_CAPTCHA_CONTROL['HEADING'] .'</h2>';
 
 	// output the form with values from the database
-	echo '<p>' .$MOD_CAPTCHA_CONTROL['HOWTO'] .'</p>';
+	echo '<p class="info big120">' .$MOD_CAPTCHA_CONTROL['HOWTO'] .'</p>';
 ?>
 <form name="store_settings" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
 	<?php echo $admin->getFTAN(); ?>
@@ -180,7 +180,7 @@
 				name="enabled_captcha" value="0" /><?php echo $MOD_CAPTCHA_CONTROL['DISABLED'];?>
 		</td>
 	</tr>
-	<tr><td>&nbsp;</td><td style="font-size:smaller;"><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_EXP'];?></td></tr>
+	<tr><td>&nbsp;</td><td><?php echo $MOD_CAPTCHA_CONTROL['CAPTCHA_EXP'];?></td></tr>
 	<tr><td colspan="2"><br /><strong><?php echo $MOD_CAPTCHA_CONTROL['ASP_CONF'];?>:</strong></td></tr>
 	<tr>
 		<td><?php echo $MOD_CAPTCHA_CONTROL['ASP_TEXT'];?>:</td>
@@ -193,7 +193,7 @@
 	</tr>
 	<tr>
         <td>&nbsp;</td>
-        <td style="font-size:smaller;"><?php echo $MOD_CAPTCHA_CONTROL['ASP_EXP'];?></td>
+        <td ><?php echo $MOD_CAPTCHA_CONTROL['ASP_EXP'];?></td>
     </tr>
 	</table>
 	<input type="submit" name="save_settings" style="margin-top:10px; width:140px;" value="<?php echo $TEXT['SAVE']; ?>" />
Index: branches/2.8.x/wb/modules/captcha_control/tool_icon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/2.8.x/wb/modules/output_filter/tool.php
===================================================================
--- branches/2.8.x/wb/modules/output_filter/tool.php	(revision 1683)
+++ branches/2.8.x/wb/modules/output_filter/tool.php	(revision 1684)
@@ -79,12 +79,12 @@
 	}  else {
 }
 	// read settings from the database to show
-		require_once($modPath.'filter-routines.php');
-		$data = getOutputFilterSettings();
+	require_once($modPath.'filter-routines.php');
+	$data = getOutputFilterSettings();
 ?>
 <h2><?php echo $MOD_MAIL_FILTER['HEADING']; ?></h2>
-<p><?php echo $MOD_MAIL_FILTER['HOWTO']; ?></p>
-<p><?php echo $MOD_MAIL_FILTER['HOWTOTIP']; ?></p>
+<p class=" big120"><?php echo $MOD_MAIL_FILTER['HOWTO']; ?></p>
+<p class="info normal"><?php echo $MOD_MAIL_FILTER['HOWTOTIP']; ?></p>
 <form name="store_settings" action="<?php echo $_SERVER['REQUEST_URI'];?>" method="post">
 	<?php echo $admin->getFTAN(); ?>
 	<input type="hidden" name="save_settings" value="save" />
