diff --git a/index.php b/index.php
index 8d7a302..0386ed6 100644
--- a/index.php
+++ b/index.php
@@ -17,7 +17,7 @@
 |---------------------------------------------------------------
 |
 | This variable must contain the name of your "system" folder.
-| Include the path if the folder is not in the same  directory 
+| Include the path if the folder is not in the same  directory
 | as this file.
 |
 | NO TRAILING SLASH!
@@ -31,7 +31,7 @@
 | APPLICATION FOLDER NAME
 |---------------------------------------------------------------
 |
-| If you want this front controller to use a different "application" 
+| If you want this front controller to use a different "application"
 | folder then the default one you can set its name here.
 |
 | NO TRAILING SLASH!
@@ -59,7 +59,7 @@
 	$application_folder = 'application';
 }
 
-// Some versions of PHP don't support the E_STRICT constant so we'll 
+// Some versions of PHP don't support the E_STRICT constant so we'll
 // explicitly define it so that it will be available to the Exception class
 if ( ! defined('E_STRICT'))
 {
@@ -69,7 +69,7 @@
 // Define a few constants that we use througout the framework.
 // EXT		- contains the file extension.  Typically ".php"
 // FCPATH	- contains the full server path to THIS file.
-// SELF		- contains the name of THIS file.  
+// SELF		- contains the name of THIS file.
 // BASEPATH	- contains the full server path to the "system" folder
 // APPPATH	- contains the full server path to the "application" folder
 
diff --git a/license.txt b/license.txt
index cd77997..4476208 100644
--- a/license.txt
+++ b/license.txt
@@ -18,7 +18,7 @@
 3. Redistributions in binary form must reproduce the above copyright notice
    in the documentation and/or other materials provided with the distribution.
 
-4. Any files that have been modified must carry notices stating the nature 
+4. Any files that have been modified must carry notices stating the nature
    of the change and the names of those who changed them.
 
 5. Products derived from the Software must include an acknowledgment that
@@ -26,27 +26,27 @@
    materials provided with the distribution.
 
 6. Products derived from the Software may not be called "Code Igniter",
-   nor may "Code Igniter" appear in their name, without prior written 
+   nor may "Code Igniter" appear in their name, without prior written
    permission from pMachine, Inc.
 
 
 INDEMNITY
-You agree to indemnify and hold harmless the authors of the Software and 
-any contributors for any direct, indirect, incidental, or consequential 
-third-party claims, actions or suits, as well as any related expenses, 
-liabilities, damages, settlements or fees arising from your use or misuse 
+You agree to indemnify and hold harmless the authors of the Software and
+any contributors for any direct, indirect, incidental, or consequential
+third-party claims, actions or suits, as well as any related expenses,
+liabilities, damages, settlements or fees arising from your use or misuse
 of the Software, or a violation of any terms of this license.
 
 DISCLAIMER OF WARRANTY
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR 
-IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF QUALITY, PERFORMANCE, 
-NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. 
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR
+IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF QUALITY, PERFORMANCE,
+NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
 
 LIMITATIONS OF LIABILITY
-YOU ASSUME ALL RISK ASSOCIATED WITH THE INSTALLATION AND USE OF THE SOFTWARE. 
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS OF THE SOFTWARE BE LIABLE 
-FOR CLAIMS, DAMAGES OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION 
-WITH THE SOFTWARE. LICENSE HOLDERS ARE SOLELY RESPONSIBLE FOR DETERMINING THE 
+YOU ASSUME ALL RISK ASSOCIATED WITH THE INSTALLATION AND USE OF THE SOFTWARE.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS OF THE SOFTWARE BE LIABLE
+FOR CLAIMS, DAMAGES OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION
+WITH THE SOFTWARE. LICENSE HOLDERS ARE SOLELY RESPONSIBLE FOR DETERMINING THE
 APPROPRIATENESS OF USE AND ASSUME ALL RISKS ASSOCIATED WITH ITS USE, INCLUDING
-BUT NOT LIMITED TO THE RISKS OF PROGRAM ERRORS, DAMAGE TO EQUIPMENT, LOSS OF 
+BUT NOT LIMITED TO THE RISKS OF PROGRAM ERRORS, DAMAGE TO EQUIPMENT, LOSS OF
 DATA OR SOFTWARE PROGRAMS, OR UNAVAILABILITY OR INTERRUPTION OF OPERATIONS.
diff --git a/system/application/config/config.php b/system/application/config/config.php
index ab4f445..0ed58d9 100644
--- a/system/application/config/config.php
+++ b/system/application/config/config.php
@@ -5,7 +5,7 @@
 | Base Site URL
 |--------------------------------------------------------------------------
 |
-| URL to your Code Igniter root. Typically this will be your base URL, 
+| URL to your Code Igniter root. Typically this will be your base URL,
 | WITH a trailing slash:
 |
 |	http://www.your-site.com/
@@ -18,8 +18,8 @@
 | Index File
 |--------------------------------------------------------------------------
 |
-| Typically this will be your index.php file, unless you've renamed it to 
-| something else. If you are using mod_rewrite to remove the page set this 
+| Typically this will be your index.php file, unless you've renamed it to
+| something else. If you are using mod_rewrite to remove the page set this
 | variable so that it is blank.
 |
 */
@@ -30,15 +30,15 @@
 | URI PROTOCOL
 |--------------------------------------------------------------------------
 |
-| This item determines which server global should be used to retrieve the 
+| This item determines which server global should be used to retrieve the
 | URI string.  The default setting of "AUTO" works for most servers.
 | If your links do not seem to work, try one of the other delicious flavors:
-| 
+|
 | 'AUTO'			Default - auto detects
-| 'PATH_INFO'		Uses the PATH_INFO 
+| 'PATH_INFO'		Uses the PATH_INFO
 | 'QUERY_STRING'	Uses the QUERY_STRING
 | 'REQUEST_URI'		Uses the REQUEST_URI
-| 'ORIG_PATH_INFO'	Uses the ORIG_PATH_INFO 
+| 'ORIG_PATH_INFO'	Uses the ORIG_PATH_INFO
 |
 */
 $config['uri_protocol']	= "AUTO";
@@ -50,7 +50,7 @@
 |
 | This option allows you to add a suffix to all URLs generated by Code Igniter.
 | For more information please see the user guide:
-| 
+|
 | http://www.codeigniter.com/user_guide/general/urls.html
 */
 
@@ -61,7 +61,7 @@
 | Default Language
 |--------------------------------------------------------------------------
 |
-| This determines which set of language files should be used. Make sure 
+| This determines which set of language files should be used. Make sure
 | there is an available translation if you intend to use something other
 | than english.
 |
@@ -88,7 +88,7 @@
 |
 | This item allows you to set the filename/classname prefix when extending
 | native libraries.  For more information please see the user guide:
-| 
+|
 | http://www.codeigniter.com/user_guide/general/core_classes.html
 | http://www.codeigniter.com/user_guide/general/creating_libraries.html
 |
@@ -109,7 +109,7 @@
 | as few characters as possible.  By default only these are allowed: a-z 0-9~%.:_-
 |
 | Leave blank to allow all characters -- but only if you are insane.
-| 
+|
 | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
 |
 */
@@ -147,7 +147,7 @@
 | Error Logging
 |--------------------------------------------------------------------------
 |
-| You can enable error logging by setting a threshold over zero. The 
+| You can enable error logging by setting a threshold over zero. The
 | threshold determines what gets logged. Threshold options are:
 | 	
 | 	0 = Error logging TURNED OFF
@@ -156,7 +156,7 @@
 |	3 = Informational Messages
 |	4 = All Messages
 |
-| For a live site you'll usually only enable Errors (1) to be logged otherwise 
+| For a live site you'll usually only enable Errors (1) to be logged otherwise
 | your log files will fill up very fast.
 |
 */
@@ -200,7 +200,7 @@
 | Encryption Key
 |--------------------------------------------------------------------------
 |
-| If you use the Encryption class or the Sessions class with encryption 
+| If you use the Encryption class or the Sessions class with encryption
 | enabled you MUST set an encryption key.  See the user guide for info.
 |
 */
@@ -229,14 +229,14 @@
 |--------------------------------------------------------------------------
 | Cookie Related Variables
 |--------------------------------------------------------------------------
-| 
+|
 | 'cookie_prefix' = Set a prefix if you need to avoid collisions
 | 'cookie_domain' = Set to .your-domain.com for site-wide cookies
 | 'cookie_path'   =  Typically will be a forward slash
 |
 */
 $config['cookie_prefix']	= "";
-$config['cookie_domain']	= ""; 
+$config['cookie_domain']	= "";
 $config['cookie_path']		= "/";
 
 /*
@@ -244,7 +244,7 @@
 | Global XSS Filtering
 |--------------------------------------------------------------------------
 |
-| Determines whether the XSS filter is always active when GET, POST or 
+| Determines whether the XSS filter is always active when GET, POST or
 | COOKIE data is encountered
 |
 */
@@ -256,13 +256,13 @@
 |--------------------------------------------------------------------------
 |
 | Enables Gzip output compression for faster page loads.  When enabled,
-| the output class will test whether your server supports Gzip. 
+| the output class will test whether your server supports Gzip.
 | Even if it does, however, not all browsers support compression
 | so enable only if you are reasonably sure your visitors can handle it.
 |
 | VERY IMPORTANT:  If you are getting a blank page when compression is enabled it
 | means you are prematurely outputting something to your browser. It could
-| even be a line of whitespace at the end of one of your scripts.  For 
+| even be a line of whitespace at the end of one of your scripts.  For
 | compression to work, nothing can be sent before the output buffer is called
 | by the output class.  Do not "echo" any values with compression enabled.
 |
@@ -274,9 +274,9 @@
 | Master Time Reference
 |--------------------------------------------------------------------------
 |
-| Options are "local" or "gmt".  This pref tells the system whether to use 
-| your server's local time as the master "now" reference, or convert it to 
-| GMT.  See the "date helper" page of the user guide for information 
+| Options are "local" or "gmt".  This pref tells the system whether to use
+| your server's local time as the master "now" reference, or convert it to
+| GMT.  See the "date helper" page of the user guide for information
 | regarding date handling.
 |
 */
diff --git a/system/application/config/database.php b/system/application/config/database.php
index 9d8c778..b3246b6 100644
--- a/system/application/config/database.php
+++ b/system/application/config/database.php
@@ -13,12 +13,12 @@
 | -------------------------------------------------------------------
 |
 |	['hostname'] The hostname of your database server.
-|	['username'] The username used to connect to the database 
-|	['password'] The password used to connect to the database 
+|	['username'] The username used to connect to the database
+|	['password'] The password used to connect to the database
 |	['database'] The name of the database you want to connect to
 |	['dbdriver'] The database type. ie: mysql.  Currently supported:
 				 mysql, mysqli, postgre, odbc, mssql
-|	['dbprefix'] You can add an optional prefix, which will be added 
+|	['dbprefix'] You can add an optional prefix, which will be added
 |				 to the table name when using the  Active Record class
 |	['pconnect'] TRUE/FALSE - Whether to use a persistent connection
 |	['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
diff --git a/system/application/config/routes.php b/system/application/config/routes.php
index 8fa1678..1702e4f 100644
--- a/system/application/config/routes.php
+++ b/system/application/config/routes.php
@@ -3,9 +3,9 @@
 | -------------------------------------------------------------------------
 | URI ROUTING
 | -------------------------------------------------------------------------
-| This file lets you re-map URI requests to specific controller functions. 
+| This file lets you re-map URI requests to specific controller functions.
 |
-| Typically there is a one-to-one relationship between a URL string 
+| Typically there is a one-to-one relationship between a URL string
 | and its corresponding controller class/method. The segments in a
 | URL normally follow this pattern:
 |
@@ -13,7 +13,7 @@
 |
 | In some instances, however, you may want to remap this relationship
 | so that a different class/function is called than the one
-| corresponding to the URL. 
+| corresponding to the URL.
 |
 | Please see the user guide for complete details:
 |
@@ -33,8 +33,8 @@
 |
 |	$route['scaffolding_trigger'] = 'scaffolding';
 |
-| This route lets you se t a "secret" word that will trigger the 
-| scaffolding feature for added security. Note: Scaffolding must be 
+| This route lets you se t a "secret" word that will trigger the
+| scaffolding feature for added security. Note: Scaffolding must be
 | enabled in the controller in which you intend to use it.
 |
 */
diff --git a/system/application/config/user_agents.php b/system/application/config/user_agents.php
index a799f06..6fa7b4a 100644
--- a/system/application/config/user_agents.php
+++ b/system/application/config/user_agents.php
@@ -4,7 +4,7 @@
 | USER AGENT TYPES
 | -------------------------------------------------------------------
 | This file contains four arrays of user agent data.  It is used by the
-| User Agent Class to help identify browser, platform, robot, and 
+| User Agent Class to help identify browser, platform, robot, and
 | mobile device data.  The array keys are used to identify the device
 | and the array values are used to set the actual name of the item.
 |
diff --git a/system/application/errors/error_404.php b/system/application/errors/error_404.php
index e5fa8f9..bfe9444 100644
--- a/system/application/errors/error_404.php
+++ b/system/application/errors/error_404.php
@@ -4,9 +4,9 @@
 <title>404 Page Not Found</title>
 <style type="text/css">
 
-body { 
-background-color:	#fff; 
-margin:				40px; 
+body {
+background-color:	#fff;
+margin:				40px;
 font-family:		Lucida Grande, Verdana, Sans-serif;
 font-size:			12px;
 color:				#000;
diff --git a/system/application/errors/error_db.php b/system/application/errors/error_db.php
index 5aab890..1ce52df 100644
--- a/system/application/errors/error_db.php
+++ b/system/application/errors/error_db.php
@@ -3,9 +3,9 @@
 <title>Database Error</title>
 <style type="text/css">
 
-body { 
-background-color:	#fff; 
-margin:				40px; 
+body {
+background-color:	#fff;
+margin:				40px;
 font-family:		Lucida Grande, Verdana, Sans-serif;
 font-size:			12px;
 color:				#000;
diff --git a/system/application/errors/error_general.php b/system/application/errors/error_general.php
index 213b835..d861070 100644
--- a/system/application/errors/error_general.php
+++ b/system/application/errors/error_general.php
@@ -3,9 +3,9 @@
 <title>Error</title>
 <style type="text/css">
 
-body { 
-background-color:	#fff; 
-margin:				40px; 
+body {
+background-color:	#fff;
+margin:				40px;
 font-family:		Lucida Grande, Verdana, Sans-serif;
 font-size:			12px;
 color:				#000;
diff --git a/system/application/views/welcome_message.php b/system/application/views/welcome_message.php
index 815bef4..393fb56 100644
--- a/system/application/views/welcome_message.php
+++ b/system/application/views/welcome_message.php
@@ -4,9 +4,9 @@
 
 <style type="text/css">
 
-body { 
- background-color: #fff; 
- margin: 40px; 
+body {
+ background-color: #fff;
+ margin: 40px;
  font-family: Lucida Grande, Verdana, Sans-serif;
  font-size: 14px;
  color: #4F5155;
diff --git a/system/codeigniter/Base4.php b/system/codeigniter/Base4.php
index 2793317..b2713b6 100644
--- a/system/codeigniter/Base4.php
+++ b/system/codeigniter/Base4.php
@@ -7,31 +7,31 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.3
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * CI_BASE - For PHP 4
- * 
+ *
  * This file is used only when Code Igniter is being run under PHP 4.
- * 
- * In order to allow CI to work under PHP 4 we had to make the Loader class 
+ *
+ * In order to allow CI to work under PHP 4 we had to make the Loader class
  * the parent of the Controller Base class.  It's the only way we can
- * enable functions like $this->load->library('email') to instantiate 
+ * enable functions like $this->load->library('email') to instantiate
  * classes that can then be used within controllers as $this->email->send()
  *
- * PHP 4 also has trouble referencing the CI super object within application 
+ * PHP 4 also has trouble referencing the CI super object within application
  * constructors since objects do not exist until the class is fully
  * instantiated.  Basically PHP 4 sucks...
  *
- * Since PHP 5 doesn't suffer from this problem so we load one of 
+ * Since PHP 5 doesn't suffer from this problem so we load one of
  * two files based on the version of PHP being run.
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	codeigniter
  * @category	front-controller
@@ -56,7 +56,7 @@
 {
 	global $CI, $OBJ;
 	
-	if (is_object($CI)) 
+	if (is_object($CI))
 	{
 		return $CI;
 	}
diff --git a/system/codeigniter/Base5.php b/system/codeigniter/Base5.php
index e37c257..0d036fa 100644
--- a/system/codeigniter/Base5.php
+++ b/system/codeigniter/Base5.php
@@ -7,22 +7,22 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.3
  * @filesource
  */
- 
- 
+
+
 // ------------------------------------------------------------------------
 
 /**
  * CI_BASE - For PHP 5
- * 
+ *
  * This file contains some code used only when Code Igniter is being
  * run under PHP 5.  It allows us to manage the CI super object more
  * gracefully than what is possible with PHP 4.
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	codeigniter
  * @category	front-controller
@@ -32,22 +32,22 @@
 
 class CI_Base {
 
-    private static $instance;
+	private static $instance;
 
-    public function CI_Base()
-    {
-        self::$instance =& $this;
-    }
-    
-    public static function &get_instance()
-    {
-        return self::$instance;
-    }
+	public function CI_Base()
+	{
+		self::$instance =& $this;
+	}
+
+	public static function &get_instance()
+	{
+		return self::$instance;
+	}
 }
 
 function &get_instance()
 {
-    return CI_Base::get_instance();    
+	return CI_Base::get_instance();
 }
 
 
diff --git a/system/codeigniter/CodeIgniter.php b/system/codeigniter/CodeIgniter.php
index 409cf77..fb27191 100644
--- a/system/codeigniter/CodeIgniter.php
+++ b/system/codeigniter/CodeIgniter.php
@@ -7,26 +7,26 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * System Front Controller
  *
- * Loads the base classes and executes the request. 
- * 
+ * Loads the base classes and executes the request.
+ *
  * @package		CodeIgniter
  * @subpackage	codeigniter
  * @category	Front-controller
  * @author		Rick Ellis
  * @link		http://www.codeigniter.com/user_guide/
  */
- 
+
 define('APPVER', '1.5.0');
 
 /*
@@ -84,7 +84,7 @@
  *	Is there a valid cache file?  If so, we're done...
  * ------------------------------------------------------
  */
- 
+
 if ($EXT->_call_hook('cache_override') === FALSE)
 {
 	if ($OUT->_display_cache($CFG, $RTR) == TRUE)
@@ -107,17 +107,17 @@
  * ------------------------------------------------------
  *  Load the app controller and local controller
  * ------------------------------------------------------
- * 
+ *
  *  Note: Due to the poor object handling in PHP 4 we'll
  *  conditionally load different versions of the base
  *  class.  Retaining PHP 4 compatibility requires a bit of a hack.
  *
  *  Note: The Loader class needs to be included first
- * 
+ *
  */
- 
-load_class('Loader', FALSE); 
-  
+
+load_class('Loader', FALSE);
+
 if (floor(phpversion()) < 5)
 {
 	require(BASEPATH.'codeigniter/Base4'.EXT);
@@ -127,7 +127,7 @@
 	require(BASEPATH.'codeigniter/Base5'.EXT);
 }
 
-load_class('Controller', FALSE); 
+load_class('Controller', FALSE);
 
 require(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().EXT);
 
@@ -139,9 +139,9 @@
  * ------------------------------------------------------
  *  Security check
  * ------------------------------------------------------
- * 
+ *
  *  None of the functions in the app controller or the
- *  loader class can be called via the URI, nor can 
+ *  loader class can be called via the URI, nor can
  *  controller functions that begin with an underscore
  */
 $class  = $RTR->fetch_class();
@@ -150,7 +150,7 @@
 
 if ( ! class_exists($class)
 	OR $method == 'controller'
-	OR substr($method, 0, 1) == '_' 
+	OR substr($method, 0, 1) == '_'
 	OR in_array($method, get_class_methods('Controller'), TRUE)
 	)
 {
@@ -205,7 +205,7 @@
 			show_404();
 		}
 
-		// Call the requested method.  
+		// Call the requested method.
 		// Any URI segments present (besides the class/function) will be passed to the method for convenience		
 		call_user_func_array(array(&$CI, $method), array_slice($RTR->rsegments, (($RTR->fetch_directory() == '') ? 2 : 3)));		
 	}
@@ -226,7 +226,7 @@
  *  Send the final rendered output to the browser
  * ------------------------------------------------------
  */
- 
+
 if ($EXT->_call_hook('display_override') === FALSE)
 {
 	$OUT->_display();
diff --git a/system/codeigniter/Common.php b/system/codeigniter/Common.php
index a82d486..c8078bf 100644
--- a/system/codeigniter/Common.php
+++ b/system/codeigniter/Common.php
@@ -7,26 +7,26 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Common Functions
  *
- * Loads the base classes and executes the request. 
- * 
+ * Loads the base classes and executes the request.
+ *
  * @package		CodeIgniter
  * @subpackage	codeigniter
  * @category	Common Functions
  * @author		Rick Ellis
  * @link		http://www.codeigniter.com/user_guide/
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -35,7 +35,7 @@
 * This function acts as a singleton.  If the requested class does not
 * exist it is instantiated and set to a static variable.  If it has
 * previously been instantiated the variable is returned.
-* 
+*
 * @access	public
 * @param	string	the class name being requested
 * @param	bool	optional flag that lets classes get loaded but not instantiated
@@ -150,9 +150,9 @@
 * Error Handler
 *
 * This function lets us invoke the exception class and
-* display errors using the standard error template located 
+* display errors using the standard error template located
 * in application/errors/errors.php
-* This function will send the error page directly to the 
+* This function will send the error page directly to the
 * browser and exit.
 *
 * @access	public
@@ -185,7 +185,7 @@
 
 
 /**
-* Error Logging Interface 
+* Error Logging Interface
 *
 * We use this as a simple mechanism to access the logging
 * class and send messages to be logged.
@@ -212,8 +212,8 @@
 * Exception Handler
 *
 * This is the custom exception handler we defined at the
-* top of this file. The main reason we use this is permit 
-* PHP errors to be logged in our own log files since we may 
+* top of this file. The main reason we use this is permit
+* PHP errors to be logged in our own log files since we may
 * not have access to server logs. Since this function
 * effectively intercepts PHP errors, however, we also need
 * to display errors based on the current error_reporting level.
@@ -230,7 +230,7 @@
 	 // use version 4 style class functions (without prefixes
 	 // like "public", "private", etc.) you'll get notices telling
 	 // you that these have been deprecated.
-	 
+	
 	if ($severity == E_STRICT)
 	{
 		return;
@@ -238,7 +238,7 @@
 
 	$error =& load_class('Exceptions');
 
-	// Should we display the error?  
+	// Should we display the error?
 	// We'll get the current error_reporting level and add its bits
 	// with the severity bits to find out.
 	
diff --git a/system/database/DB.php b/system/database/DB.php
index d2afce9..c6bd365 100644
--- a/system/database/DB.php
+++ b/system/database/DB.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -46,7 +46,7 @@
 	}
 
 	// Load the DB classes.  Note: Since the active record class is optional
-	// we need to dynamically create a class that extends proper parent class 
+	// we need to dynamically create a class that extends proper parent class
 	// based on whether we're using the active record class or not.
 	// Kudos to Paul for discovering this clever use of eval()
 	
@@ -57,7 +57,7 @@
 	
 	require_once(BASEPATH.'database/DB_driver'.EXT);
 
-	if ( ! isset($params['active_r']) OR $params['active_r'] == TRUE) 
+	if ( ! isset($params['active_r']) OR $params['active_r'] == TRUE)
 	{
 		require_once(BASEPATH.'database/DB_active_rec'.EXT);
 		
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index 8db6161..b41b929 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Active Record Class
- * 
+ *
  * This is the platform-independent base Active Record implementation class.
  *
  * @package		CodeIgniter
@@ -547,11 +547,11 @@
 	
 		if (count($this->ar_set) == 0)
 		{
-            if ($this->db_debug)
-            {
+			if ($this->db_debug)
+			{
 				return $this->display_error('db_must_use_set');
-            }
-            return FALSE;        
+			}
+			return FALSE;
 		}
 
 		if ($table == '')
@@ -596,11 +596,11 @@
 	
 		if (count($this->ar_set) == 0)
 		{
-            if ($this->db_debug)
-            {
+			if ($this->db_debug)
+			{
 				return $this->display_error('db_must_use_set');
-            }
-            return FALSE;        
+			}
+			return FALSE;
 		}
 
 		if ($table == '')
@@ -663,11 +663,11 @@
 
 		if (count($this->ar_where) == 0)
 		{
-            if ($this->db_debug)
-            {
+			if ($this->db_debug)
+			{
 				return $this->display_error('db_del_must_use_where');
-            }
-            return FALSE;        
+			}
+			return FALSE;
 		}		
 		
 		$sql = $this->_delete($this->dbprefix.$table, $this->ar_where);
@@ -679,7 +679,7 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Use Table - DEPRECATED 
+	 * Use Table - DEPRECATED
 	 *
 	 * @deprecated	use $this->db->from instead
 	 */
@@ -726,7 +726,7 @@
 	/**
 	 * Compile the SELECT statement
 	 *
-	 * Generates a query string based on which functions were used. 
+	 * Generates a query string based on which functions were used.
 	 * Should not be called directly.  The get() function calls it.
 	 *
 	 * @access	private
diff --git a/system/database/DB_cache.php b/system/database/DB_cache.php
index b469b0e..53425d1 100644
--- a/system/database/DB_cache.php
+++ b/system/database/DB_cache.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 8a7b88f..ab8a6a8 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Database Driver Class
- * 
+ *
  * This is the platform-independent base DB implementation class.
  * This class will not be called directly. Rather, the adapter
  * class for the specific database will extend and instantiate it.
@@ -64,10 +64,10 @@
 	
 	/**
 	 * Constructor.  Accepts one parameter containing the database
-	 * connection settings. 
+	 * connection settings.
 	 *
-	 * Database settings can be passed as discreet 
-	 * parameters or as a data source name in the first 
+	 * Database settings can be passed as discreet
+	 * parameters or as a data source name in the first
 	 * parameter. DSNs must have this prototype:
 	 * $dsn = 'driver://username:password@hostname/database';
 	 *
@@ -93,16 +93,16 @@
 		if (is_array($params))
 		{
 			$defaults = array(
-								'hostname'	=> '', 
-								'username'	=> '', 
-								'password'	=> '', 
-								'database'	=> '', 
-								'dbdriver'	=> 'mysql', 
-								'dbprefix'	=> '', 
-								'port'		=> '', 
-								'pconnect'	=> FALSE, 
-								'db_debug'	=> FALSE, 
-								'cachedir'	=> '', 
+								'hostname'	=> '',
+								'username'	=> '',
+								'password'	=> '',
+								'database'	=> '',
+								'dbdriver'	=> 'mysql',
+								'dbprefix'	=> '',
+								'port'		=> '',
+								'pconnect'	=> FALSE,
+								'db_debug'	=> FALSE,
+								'cachedir'	=> '',
 								'cache_on'	=> FALSE
 							);
 		
@@ -132,9 +132,9 @@
 		
 		// Connect to the database
 		$this->conn_id = ($this->pconnect == FALSE) ? $this->db_connect() : $this->db_pconnect();
-	   
+	
 		if ( ! $this->conn_id)
-		{ 
+		{
 			log_message('error', 'Unable to connect to the database');
 			
 			if ($this->db_debug)
@@ -162,7 +162,7 @@
 	 * The name of the platform in use (mysql, mssql, etc...)
 	 *
 	 * @access	public
-	 * @return	string		 
+	 * @return	string		
 	 */	
 	function platform()
 	{
@@ -172,7 +172,7 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Database Version Number.  Returns a string containing the 
+	 * Database Version Number.  Returns a string containing the
 	 * version of the database being used
 	 *
 	 * @access	public
@@ -204,16 +204,16 @@
 	/**
 	 * Execute the query
 	 *
-	 * Accepts an SQL string as input and returns a result object upon 
-	 * successful execution of a "read" type query.  Returns boolean TRUE 
-	 * upon successful execution of a "write" type query. Returns boolean 
-	 * FALSE upon failure, and if the $db_debug variable is set to TRUE 
+	 * Accepts an SQL string as input and returns a result object upon
+	 * successful execution of a "read" type query.  Returns boolean TRUE
+	 * upon successful execution of a "write" type query. Returns boolean
+	 * FALSE upon failure, and if the $db_debug variable is set to TRUE
 	 * will raise an error.
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	An SQL query string
 	 * @param	array	An array of binding data
-	 * @return	mixed		 
+	 * @return	mixed		
 	 */	
 	function query($sql, $binds = FALSE, $return_object = TRUE)
 	{
@@ -227,8 +227,8 @@
 			return FALSE;		
 		}
 		
-		// Is query caching enabled?  If the query is a "read type" 
-		// we will load the caching class and return the previously 
+		// Is query caching enabled?  If the query is a "read type"
+		// we will load the caching class and return the previously
 		// cached query if it exists
 		if ($this->cache_on == TRUE AND stristr($sql, 'SELECT'))
 		{
@@ -253,10 +253,10 @@
 
 		// Start the Query Timer
 		$time_start = list($sm, $ss) = explode(' ', microtime());
-	  
+	
 		// Run the Query
 		if (FALSE === ($this->result_id = $this->simple_query($sql)))
-		{ 
+		{
 			// This will trigger a rollback if transactions are being used
 			$this->_trans_failure = TRUE;
 			
@@ -265,13 +265,13 @@
 				log_message('error', 'Query error: '.$this->_error_message());
 				return $this->display_error(
 										array(
-												'Error Number: '.$this->_error_number(), 
+												'Error Number: '.$this->_error_number(),
 												$this->_error_message(),
 												$sql
 											)
 										);
 			}
-		  
+		
 		  return FALSE;
 		}
 		
@@ -296,7 +296,7 @@
 			return TRUE;
 		}
 		
-		// Return TRUE if we don't need to create a result object 
+		// Return TRUE if we don't need to create a result object
 		// Currently only the Oracle driver uses this when stored
 		// procedures are used
 		if ($return_object !== TRUE)
@@ -318,7 +318,7 @@
 			$RES->limit_used	= $this->limit_used;
 		}
 		
-		// Is query caching enabled?  If so, we'll serialize the 
+		// Is query caching enabled?  If so, we'll serialize the
 		// result object and save it to a cache file.
 		if ($this->cache_on == TRUE AND $this->_cache_init())
 		{
@@ -347,9 +347,9 @@
 
 	/**
 	 * Load the result drivers
-	 * 
+	 *
 	 * @access	public
-	 * @return	string 	the name of the result class		 
+	 * @return	string 	the name of the result class		
 	 */		
 	function load_rdriver()
 	{
@@ -367,14 +367,14 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Simple Query  
+	 * Simple Query
 	 * This is a simplified version of the query() function.  Internally
 	 * we only use it when running transaction commands since they do
 	 * not require all the features of the main query() function.
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the sql query
-	 * @return	mixed		 
+	 * @return	mixed		
 	 */	
 	function simple_query($sql)
 	{
@@ -391,9 +391,9 @@
 	/**
 	 * Disable Transactions
 	 * This permits transactions to be disabled at run-time.
-	 * 
+	 *
 	 * @access	public
-	 * @return	void		 
+	 * @return	void		
 	 */	
 	function trans_off()
 	{
@@ -404,9 +404,9 @@
 
 	/**
 	 * Start Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	void		 
+	 * @return	void		
 	 */	
 	function trans_start($test_mode = FALSE)
 	{	
@@ -429,9 +429,9 @@
 
 	/**
 	 * Complete Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_complete()
 	{
@@ -467,9 +467,9 @@
 
 	/**
 	 * Lets you retrieve the transaction flag to determine if it has failed
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_status()
 	{
@@ -480,11 +480,11 @@
 
 	/**
 	 * Compile Bindings
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the sql statement
 	 * @param	array	an array of bind data
-	 * @return	string		 
+	 * @return	string		
 	 */	
 	function compile_binds($sql, $binds)
 	{	
@@ -514,15 +514,15 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Determines if a query is a "write" type. 
-	 * 
+	 * Determines if a query is a "write" type.
+	 *
 	 * @access	public
 	 * @param	string	An SQL query string
-	 * @return	boolean		 
+	 * @return	boolean		
 	 */	
 	function is_write_type($sql)
 	{
-		if ( ! preg_match('/^\s*"?(INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|LOAD DATA|COPY|ALTER|GRANT|REVOKE|LOCK|UNLOCK)\s+/i', $sql)) 
+		if ( ! preg_match('/^\s*"?(INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|LOAD DATA|COPY|ALTER|GRANT|REVOKE|LOCK|UNLOCK)\s+/i', $sql))
 		{
 			return FALSE;
 		}
@@ -532,11 +532,11 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * Calculate the aggregate query elapsed time 
-	 * 
+	 * Calculate the aggregate query elapsed time
+	 *
 	 * @access	public
 	 * @param	integer	The number of decimal places
-	 * @return	integer		 
+	 * @return	integer		
 	 */	
 	function elapsed_time($decimals = 6)
 	{
@@ -547,9 +547,9 @@
 
 	/**
 	 * Returns the total number of queries
-	 * 
+	 *
 	 * @access	public
-	 * @return	integer		 
+	 * @return	integer		
 	 */	
 	function total_queries()
 	{
@@ -560,9 +560,9 @@
 
 	/**
 	 * Returns the last query that was executed
-	 * 
+	 *
 	 * @access	public
-	 * @return	void		 
+	 * @return	void		
 	 */	
 	function last_query()
 	{
@@ -576,10 +576,10 @@
 	 *
 	 * Escapes data based on type
 	 * Sets boolean and null types
-	 * 
+	 *
 	 * @access	public
 	 * @param	string
-	 * @return	integer		 
+	 * @return	integer		
 	 */	
 	function escape($str)
 	{	
@@ -605,10 +605,10 @@
 	 *
 	 * Retrieves the primary key.  It assumes that the row in the first
 	 * position is the primary key
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the table name
-	 * @return	string		 
+	 * @return	string		
 	 */	
 	function primary($table = '')
 	{	
@@ -626,9 +626,9 @@
 
 	/**
 	 * Returns an array of table names
-	 * 
+	 *
 	 * @access	public
-	 * @return	array		 
+	 * @return	array		
 	 */	
 	function list_tables()
 	{
@@ -688,7 +688,7 @@
 	 *
 	 * @access	public
 	 * @param	string	the table name
-	 * @return	array		 
+	 * @return	array		
 	 */
 	function list_fields($table = '')
 	{
@@ -754,7 +754,7 @@
 	/**
 	 * DEPRECATED - use list_fields()
 	 */
-	function field_names($table = '') 
+	function field_names($table = '')
 	{
 		return $this->list_fields($table);
 	}
@@ -763,10 +763,10 @@
 
 	/**
 	 * Returns an object with field data
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the table name
-	 * @return	object		 
+	 * @return	object		
 	 */	
 	function field_data($table = '')
 	{
@@ -787,18 +787,18 @@
 	
 	/**
 	 * Generate an insert string
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the table upon which the query will be performed
 	 * @param	array	an associative array data of key/values
-	 * @return	string		 
+	 * @return	string		
 	 */	
 	function insert_string($table, $data)
 	{
-		$fields = array();	  
+		$fields = array();	
 		$values = array();
 		
-		foreach($data as $key => $val) 
+		foreach($data as $key => $val)
 		{
 			$fields[] = $key;
 			$values[] = $this->escape($val);
@@ -811,12 +811,12 @@
 
 	/**
 	 * Generate an update string
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the table upon which the query will be performed
 	 * @param	array	an associative array data of key/values
 	 * @param	mixed	the "where" statement
-	 * @return	string		 
+	 * @return	string		
 	 */	
 	function update_string($table, $data, $where)
 	{
@@ -824,7 +824,7 @@
 			return false;
 					
 		$fields = array();
-		foreach($data as $key => $val) 
+		foreach($data as $key => $val)
 		{
 			$fields[$key] = $this->escape($val);
 		}
@@ -861,11 +861,11 @@
 
 	/**
 	 * Enables a native PHP function to be run, using a platform agnostic wrapper.
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the function name
 	 * @param	mixed	any parameters needed by the function
-	 * @return	mixed		 
+	 * @return	mixed		
 	 */	
 	function call_function($function)
 	{
@@ -877,7 +877,7 @@
 		}
 		
 		if ( ! function_exists($function))
-		{ 
+		{
 			if ($this->db_debug)
 			{
 				return $this->display_error('db_unsupported_function');
@@ -888,7 +888,7 @@
 		{
 			$args = (func_num_args() > 1) ? array_splice(func_get_args(), 1) : null;
 
-			return call_user_func_array($function, $args); 
+			return call_user_func_array($function, $args);
 		}
 	}
 
@@ -999,16 +999,16 @@
 
 	/**
 	 * Close DB Connection
-	 * 
+	 *
 	 * @access	public
-	 * @return	void		 
+	 * @return	void		
 	 */	
 	function close()
 	{
 		if (is_resource($this->conn_id))
 		{
 			$this->_close($this->conn_id);
-		}   
+		}
 		$this->conn_id = FALSE;
 	}
 	
@@ -1016,14 +1016,14 @@
 
 	/**
 	 * Display an error message
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	the error message
 	 * @param	string	any "swap" values
 	 * @param	boolean	whether to localize the message
-	 * @return	string	sends the application/error_db.php template		 
+	 * @return	string	sends the application/error_db.php template		
 	 */	
-	function display_error($error = '', $swap = '', $native = FALSE) 
+	function display_error($error = '', $swap = '', $native = FALSE)
 	{
 		$LANG = new CI_Language();
 		$LANG->load('db');
@@ -1048,7 +1048,7 @@
 		echo $error->show_error('An Error Was Encountered', $message, 'error_db');
 		exit;
 
-	}  
+	}
 	
 }
 
diff --git a/system/database/DB_result.php b/system/database/DB_result.php
index d02bfb9..44f166d 100644
--- a/system/database/DB_result.php
+++ b/system/database/DB_result.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Database Result Class
- * 
+ *
  * This is the platform-independent result class.
  * This class will not be called directly. Rather, the adapter
  * class for the specific database will extend and instantiate it.
@@ -38,10 +38,10 @@
 
 	/**
 	 * Query result.  Acts as a wrapper function for the following functions.
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	can be "object" or "array"
-	 * @return	mixed	either a result object or array	 
+	 * @return	mixed	either a result object or array	
 	 */	
 	function result($type = 'object')
 	{	
@@ -52,9 +52,9 @@
 
 	/**
 	 * Query result.  "object" version.
-	 * 
+	 *
 	 * @access	public
-	 * @return	object 
+	 * @return	object
 	 */	
 	function result_object()
 	{
@@ -70,7 +70,7 @@
 		
 		$this->_data_seek(0);
 		while ($row = $this->_fetch_object())
-		{ 
+		{
 			$this->result_object[] = $row;
 		}
 		
@@ -81,9 +81,9 @@
 
 	/**
 	 * Query result.  "array" version.
-	 * 
+	 *
 	 * @access	public
-	 * @return	array 
+	 * @return	array
 	 */	
 	function result_array()
 	{
@@ -110,10 +110,10 @@
 
 	/**
 	 * Query result.  Acts as a wrapper function for the following functions.
-	 * 
+	 *
 	 * @access	public
 	 * @param	string	can be "object" or "array"
-	 * @return	mixed	either a result object or array	 
+	 * @return	mixed	either a result object or array	
 	 */	
 	function row($n = 0, $type = 'object')
 	{
@@ -124,9 +124,9 @@
 
 	/**
 	 * Returns a single result row - object version
-	 * 
+	 *
 	 * @access	public
-	 * @return	object 
+	 * @return	object
 	 */	
 	function row_object($n = 0)
 	{
@@ -149,9 +149,9 @@
 
 	/**
 	 * Returns a single result row - array version
-	 * 
+	 *
 	 * @access	public
-	 * @return	array 
+	 * @return	array
 	 */	
 	function row_array($n = 0)
 	{
@@ -175,9 +175,9 @@
 
 	/**
 	 * Returns the "first" row
-	 * 
+	 *
 	 * @access	public
-	 * @return	object 
+	 * @return	object
 	 */	
 	function first_row($type = 'object')
 	{
@@ -194,9 +194,9 @@
 
 	/**
 	 * Returns the "last" row
-	 * 
+	 *
 	 * @access	public
-	 * @return	object 
+	 * @return	object
 	 */	
 	function last_row($type = 'object')
 	{
@@ -213,9 +213,9 @@
 
 	/**
 	 * Returns the "next" row
-	 * 
+	 *
 	 * @access	public
-	 * @return	object 
+	 * @return	object
 	 */	
 	function next_row($type = 'object')
 	{
@@ -238,9 +238,9 @@
 
 	/**
 	 * Returns the "previous" row
-	 * 
+	 *
 	 * @access	public
-	 * @return	object 
+	 * @return	object
 	 */	
 	function previous_row($type = 'object')
 	{
@@ -261,11 +261,11 @@
 	// --------------------------------------------------------------------
 
 	/**
-	 * The following functions are normally overloaded by the identically named 
+	 * The following functions are normally overloaded by the identically named
 	 * methods in the platform-specific driver -- except when query caching
 	 * is used.  When caching is enabled we do not load the other driver.
 	 * These functions are primarily here to prevent undefined function errors
-	 * when a cached result object is in use.  They are not otherwise fully 
+	 * when a cached result object is in use.  They are not otherwise fully
 	 * operational due to the unavailability of the database resource IDs with
 	 * cached results.
 	 */
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index 13fcaa5..e64e008 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -302,7 +302,7 @@
 			}
 			$xml .= $tab."</{$element}>".$newline;
 		}
-		$xml .= "</$root>".$newline;  
+		$xml .= "</$root>".$newline;
 		
 		return $xml;
 	}
@@ -371,13 +371,13 @@
 
 		// Is the encoder supported?  If not, we'll either issue an
 		// error or use plain text depending on the debug settings
-		if (($prefs['format'] == 'gzip' AND ! @function_exists('gzencode')) 
-		 OR ($prefs['format'] == 'zip'  AND ! @function_exists('gzcompress'))) 
+		if (($prefs['format'] == 'gzip' AND ! @function_exists('gzencode'))
+		 OR ($prefs['format'] == 'zip'  AND ! @function_exists('gzcompress')))
 		{
-            if ($this->db->db_debug)
-            {
+			if ($this->db->db_debug)
+			{
 				return $this->db->display_error('db_unsuported_compression');
-            }
+			}
 		
 			$prefs['format'] = 'txt';
 		}
diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index 4dc8792..a1d7d29 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -106,18 +106,18 @@
 	 * @param	string	an SQL query
 	 * @return	string
 	 */	
-    function _prep_query($sql)
-    {
+	function _prep_query($sql)
+	{
 		return $sql;
-    }
+	}
 
 	// --------------------------------------------------------------------
 
 	/**
 	 * Begin Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
@@ -133,8 +133,8 @@
 		}
 
 		// Reset the transaction failure flag.
-		// If the $test_mode flag is set to TRUE transactions will be rolled back 
-		// even if the queries produce a successful result. 
+		// If the $test_mode flag is set to TRUE transactions will be rolled back
+		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 
 		$this->simple_query('BEGIN TRAN');
@@ -145,9 +145,9 @@
 
 	/**
 	 * Commit Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_commit()
 	{
@@ -170,9 +170,9 @@
 
 	/**
 	 * Rollback Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_rollback()
 	{
diff --git a/system/database/drivers/mssql/mssql_result.php b/system/database/drivers/mssql/mssql_result.php
index 0ba0b8c..230c1b5 100644
--- a/system/database/drivers/mssql/mssql_result.php
+++ b/system/database/drivers/mssql/mssql_result.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -65,7 +65,7 @@
 		$field_names = array();
 		while ($field = mssql_fetch_field($this->result_id))
 		{
-			$field_names[] = $field->name;       
+			$field_names[] = $field->name;
 		}
 		
 		return $field_names;
@@ -116,8 +116,8 @@
 	{
 		if (is_resource($this->result_id))
 		{
-        	mssql_free_result($this->result_id);
-        	$this->result_id = FALSE;
+			mssql_free_result($this->result_id);
+			$this->result_id = FALSE;
 		}
 	}
 
diff --git a/system/database/drivers/mssql/mssql_utility.php b/system/database/drivers/mssql/mssql_utility.php
index 24ff1e1..4a49f53 100644
--- a/system/database/drivers/mssql/mssql_utility.php
+++ b/system/database/drivers/mssql/mssql_utility.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -74,7 +74,7 @@
 	 */
 	function _list_databases()
 	{
-		return "EXEC sp_helpdb"; // Can also be: EXEC sp_databases 
+		return "EXEC sp_helpdb"; // Can also be: EXEC sp_databases
 	}
 
 	// --------------------------------------------------------------------
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index 20311ff..be7c672 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -32,10 +32,10 @@
 
 	/**
 	 * Whether to use the MySQL "delete hack" which allows the number
-	 * of affected rows to be shown. Uses a preg_replace when enabled, 
+	 * of affected rows to be shown. Uses a preg_replace when enabled,
 	 * adding a bit more processing to all queries.
 	 */	
-	var $delete_hack = TRUE; 
+	var $delete_hack = TRUE;
 
 	/**
 	 * Non-persistent database connection
@@ -113,28 +113,28 @@
 	 * @param	string	an SQL query
 	 * @return	string
 	 */	
-    function _prep_query($sql)
-    {
-		// "DELETE FROM TABLE" returns 0 affected rows This hack modifies 
+	function _prep_query($sql)
+	{
+		// "DELETE FROM TABLE" returns 0 affected rows This hack modifies
 		// the query so that it returns the number of affected rows
 		if ($this->delete_hack === TRUE)
 		{
-			if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $sql)) 
+			if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $sql))
 			{
 				$sql = preg_replace("/^\s*DELETE\s+FROM\s+(\S+)\s*$/", "DELETE FROM \\1 WHERE 1=1", $sql);
 			}
 		}
 		
 		return $sql;
-    }
-    
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
 	 * Begin Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
@@ -150,8 +150,8 @@
 		}
 
 		// Reset the transaction failure flag.
-		// If the $test_mode flag is set to TRUE transactions will be rolled back 
-		// even if the queries produce a successful result. 
+		// If the $test_mode flag is set to TRUE transactions will be rolled back
+		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 		
 		$this->simple_query('SET AUTOCOMMIT=0');
@@ -163,9 +163,9 @@
 
 	/**
 	 * Commit Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_commit()
 	{
@@ -189,9 +189,9 @@
 
 	/**
 	 * Rollback Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_rollback()
 	{
@@ -227,8 +227,8 @@
 			return $str;
 		}
 
-    	if (function_exists('mysql_real_escape_string'))
-    	{
+		if (function_exists('mysql_real_escape_string'))
+		{
 			return mysql_real_escape_string($str, $this->conn_id);
 		}
 		elseif (function_exists('mysql_escape_string'))
@@ -237,8 +237,8 @@
 		}
 		else
 		{
-        	return addslashes($str);
-    	}
+			return addslashes($str);
+		}
 	}
 		
 	// --------------------------------------------------------------------
diff --git a/system/database/drivers/mysql/mysql_result.php b/system/database/drivers/mysql/mysql_result.php
index 1cf6ff1..4bfaf54 100644
--- a/system/database/drivers/mysql/mysql_result.php
+++ b/system/database/drivers/mysql/mysql_result.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -65,7 +65,7 @@
 		$field_names = array();
 		while ($field = mysql_fetch_field($this->result_id))
 		{
-			$field_names[] = $field->name;       
+			$field_names[] = $field->name;
 		}
 		
 		return $field_names;
@@ -116,8 +116,8 @@
 	{
 		if (is_resource($this->result_id))
 		{
-        	mysql_free_result($this->result_id);
-        	$this->result_id = FALSE;
+			mysql_free_result($this->result_id);
+			$this->result_id = FALSE;
 		}
 	}
 
diff --git a/system/database/drivers/mysql/mysql_utility.php b/system/database/drivers/mysql/mysql_utility.php
index b387ace..b0a7dfe 100644
--- a/system/database/drivers/mysql/mysql_utility.php
+++ b/system/database/drivers/mysql/mysql_utility.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -129,39 +129,39 @@
 	
 		// Build the output
 		$output = '';
-        foreach ((array)$tables as $table)
-        { 
-        	// Is the table in the "ignore" list?
+		foreach ((array)$tables as $table)
+		{
+			// Is the table in the "ignore" list?
 			if (in_array($table, (array)$ignore, TRUE))
 			{
-        		continue;
-        	}
+				continue;
+			}
 
-        	// Get the table schema
+			// Get the table schema
 			$query = $this->db->query("SHOW CREATE TABLE `".$this->db->database.'`.'.$table);
 			
 			// No result means the table name was invalid
-        	if ($query === FALSE)
-        	{
-        		continue;
-        	}
-        	
-        	// Write out the table schema
-            $output .= '#'.$newline.'# TABLE STRUCTURE FOR: '.$table.$newline.'#'.$newline.$newline;
-                
+			if ($query === FALSE)
+			{
+				continue;
+			}
+			
+			// Write out the table schema
+			$output .= '#'.$newline.'# TABLE STRUCTURE FOR: '.$table.$newline.'#'.$newline.$newline;
+
  			if ($add_drop == TRUE)
  			{
-            	$output .= 'DROP TABLE IF EXISTS '.$table.';'.$newline.$newline;
+				$output .= 'DROP TABLE IF EXISTS '.$table.';'.$newline.$newline;
 			}
 			
 			$i = 0;
 			$result = $query->result_array();
 			foreach ($result[0] as $val)
 			{
-			    if ($i++ % 2)
-			    { 			    	
-			    	$output .= $val.';'.$newline.$newline;
-			    }
+				if ($i++ % 2)
+				{ 					
+					$output .= $val.';'.$newline.$newline;
+				}
 			}
 			
 			// If inserts are not needed we're done...
@@ -179,7 +179,7 @@
 			}
 		
 			// Fetch the field names and determine if the field is an
-			// integer type.  We use this info to decide whether to 
+			// integer type.  We use this info to decide whether to
 			// surround the data with quotes or not
 			
 			$i = 0;
@@ -188,13 +188,13 @@
 			while ($field = mysql_fetch_field($query->result_id))
 			{
 				$is_int[$i] = (in_array(
-										strtolower(mysql_field_type($query->result_id, $i)), 
-										array('tinyint', 'smallint', 'mediumint', 'int', 'bigint', 'timestamp'), 
+										strtolower(mysql_field_type($query->result_id, $i)),
+										array('tinyint', 'smallint', 'mediumint', 'int', 'bigint', 'timestamp'),
 										TRUE)
 										) ? TRUE : FALSE;
 										
 				// Create a string of field names
-				$field_str .= $field->name.', ';     
+				$field_str .= $field->name.', ';
 				$i++;
 			}
 			
@@ -211,8 +211,8 @@
 				foreach ($row as $v)
 				{
 					// Do a little formatting...
-					$v = str_replace(array("\x00", "\x0a", "\x0d", "\x1a"), array('\0', '\n', '\r', '\Z'), $v);   
-					$v = str_replace(array("\n", "\r", "\t"), array('\n', '\r', '\t'), $v);   
+					$v = str_replace(array("\x00", "\x0a", "\x0d", "\x1a"), array('\0', '\n', '\r', '\Z'), $v);
+					$v = str_replace(array("\n", "\r", "\t"), array('\n', '\r', '\t'), $v);
 					$v = str_replace('\\', '\\\\',	$v);
 					$v = str_replace('\'', '\\\'',	$v);
 					$v = str_replace('\\\n', '\n',	$v);
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index ea2adbe..5942091 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -32,10 +32,10 @@
 
 	/**
 	 * Whether to use the MySQL "delete hack" which allows the number
-	 * of affected rows to be shown. Uses a preg_replace when enabled, 
+	 * of affected rows to be shown. Uses a preg_replace when enabled,
 	 * adding a bit more processing to all queries.
 	 */	
-	var $delete_hack = TRUE; 
+	var $delete_hack = TRUE;
 
 	// --------------------------------------------------------------------
 
@@ -116,28 +116,28 @@
 	 * @param	string	an SQL query
 	 * @return	string
 	 */	
-    function _prep_query($sql)
-    {
-		// "DELETE FROM TABLE" returns 0 affected rows This hack modifies 
+	function _prep_query($sql)
+	{
+		// "DELETE FROM TABLE" returns 0 affected rows This hack modifies
 		// the query so that it returns the number of affected rows
 		if ($this->delete_hack === TRUE)
 		{
-			if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $sql)) 
+			if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $sql))
 			{
 				$sql = preg_replace("/^\s*DELETE\s+FROM\s+(\S+)\s*$/", "DELETE FROM \\1 WHERE 1=1", $sql);
 			}
 		}
 		
 		return $sql;
-    }
+	}
 
 	// --------------------------------------------------------------------
 
 	/**
 	 * Begin Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
@@ -153,8 +153,8 @@
 		}
 
 		// Reset the transaction failure flag.
-		// If the $test_mode flag is set to TRUE transactions will be rolled back 
-		// even if the queries produce a successful result. 
+		// If the $test_mode flag is set to TRUE transactions will be rolled back
+		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 
 		$this->simple_query('SET AUTOCOMMIT=0');
@@ -166,9 +166,9 @@
 
 	/**
 	 * Commit Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_commit()
 	{
@@ -192,9 +192,9 @@
 
 	/**
 	 * Rollback Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_rollback()
 	{
diff --git a/system/database/drivers/mysqli/mysqli_result.php b/system/database/drivers/mysqli/mysqli_result.php
index 215403e..5e4e65f 100644
--- a/system/database/drivers/mysqli/mysqli_result.php
+++ b/system/database/drivers/mysqli/mysqli_result.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -65,7 +65,7 @@
 		$field_names = array();
 		while ($field = mysql_fetch_field($this->result_id))
 		{
-			$field_names[] = $field->name;       
+			$field_names[] = $field->name;
 		}
 		
 		return $field_names;
@@ -116,8 +116,8 @@
 	{
 		if (is_resource($this->result_id))
 		{
-        	mysqli_free_result($this->result_id);
-        	$this->result_id = FALSE;
+			mysqli_free_result($this->result_id);
+			$this->result_id = FALSE;
 		}
 	}
 
diff --git a/system/database/drivers/mysqli/mysqli_utility.php b/system/database/drivers/mysqli/mysqli_utility.php
index 17af40b..a7bdb70 100644
--- a/system/database/drivers/mysqli/mysqli_utility.php
+++ b/system/database/drivers/mysqli/mysqli_utility.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -129,39 +129,39 @@
 	
 		// Build the output
 		$output = '';
-        foreach ((array)$tables as $table)
-        { 
-        	// Is the table in the "ignore" list?
+		foreach ((array)$tables as $table)
+		{
+			// Is the table in the "ignore" list?
 			if (in_array($table, (array)$ignore, TRUE))
 			{
-        		continue;
-        	}
+				continue;
+			}
 
-        	// Get the table schema
+			// Get the table schema
 			$query = $this->db->query("SHOW CREATE TABLE `".$this->db->database.'`.'.$table);
 			
 			// No result means the table name was invalid
-        	if ($query === FALSE)
-        	{
-        		continue;
-        	}
-        	
-        	// Write out the table schema
-            $output .= '#'.$newline.'# TABLE STRUCTURE FOR: '.$table.$newline.'#'.$newline.$newline;
-                
+			if ($query === FALSE)
+			{
+				continue;
+			}
+			
+			// Write out the table schema
+			$output .= '#'.$newline.'# TABLE STRUCTURE FOR: '.$table.$newline.'#'.$newline.$newline;
+
  			if ($add_drop == TRUE)
  			{
-            	$output .= 'DROP TABLE IF EXISTS '.$table.';'.$newline.$newline;
+				$output .= 'DROP TABLE IF EXISTS '.$table.';'.$newline.$newline;
 			}
 			
 			$i = 0;
 			$result = $query->result_array();
 			foreach ($result[0] as $val)
 			{
-			    if ($i++ % 2)
-			    { 			    	
-			    	$output .= $val.';'.$newline.$newline;
-			    }
+				if ($i++ % 2)
+				{ 					
+					$output .= $val.';'.$newline.$newline;
+				}
 			}
 			
 			// If inserts are not needed we're done...
@@ -179,7 +179,7 @@
 			}
 		
 			// Fetch the field names and determine if the field is an
-			// integer type.  We use this info to decide whether to 
+			// integer type.  We use this info to decide whether to
 			// surround the data with quotes or not
 			
 			$i = 0;
@@ -188,13 +188,13 @@
 			while ($field = mysqli_fetch_field($query->result_id))
 			{
 				$is_int[$i] = (in_array(
-										strtolower(mysql_field_type($query->result_id, $i)), 
-										array('tinyint', 'smallint', 'mediumint', 'int', 'bigint', 'timestamp'), 
+										strtolower(mysql_field_type($query->result_id, $i)),
+										array('tinyint', 'smallint', 'mediumint', 'int', 'bigint', 'timestamp'),
 										TRUE)
 										) ? TRUE : FALSE;
 										
 				// Create a string of field names
-				$field_str .= $field->name.', ';     
+				$field_str .= $field->name.', ';
 				$i++;
 			}
 			
@@ -211,8 +211,8 @@
 				foreach ($row as $v)
 				{
 					// Do a little formatting...
-					$v = str_replace(array("\x00", "\x0a", "\x0d", "\x1a"), array('\0', '\n', '\r', '\Z'), $v);   
-					$v = str_replace(array("\n", "\r", "\t"), array('\n', '\r', '\t'), $v);   
+					$v = str_replace(array("\x00", "\x0a", "\x0d", "\x1a"), array('\0', '\n', '\r', '\Z'), $v);
+					$v = str_replace(array("\n", "\r", "\t"), array('\n', '\r', '\t'), $v);
 					$v = str_replace('\\', '\\\\',	$v);
 					$v = str_replace('\'', '\\\'',	$v);
 					$v = str_replace('\\\n', '\n',	$v);
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php
index 4f5470c..c091edf 100644
--- a/system/database/drivers/oci8/oci8_driver.php
+++ b/system/database/drivers/oci8/oci8_driver.php
@@ -4,12 +4,12 @@
  *
  * An open source application development framework for PHP 4.3.2 or newer
  *
- * @package     CodeIgniter
- * @author      Rick Ellis
+ * @package	 CodeIgniter
+ * @author	  Rick Ellis
  * @copyright   Copyright (c) 2006, pMachine, Inc.
- * @license     http://www.codeignitor.com/user_guide/license.html 
- * @link        http://www.codeigniter.com
- * @since       Version 1.0
+ * @license	 http://www.codeignitor.com/user_guide/license.html
+ * @link		http://www.codeigniter.com
+ * @since	   Version 1.0
  * @filesource
  */
 
@@ -22,182 +22,182 @@
  * creates dynamically based on whether the active record
  * class is being used or not.
  *
- * @package     CodeIgniter
+ * @package	 CodeIgniter
  * @subpackage  Drivers
- * @category    Database
- * @author      Rick Ellis
- * @link        http://www.codeigniter.com/user_guide/database/
+ * @category	Database
+ * @author	  Rick Ellis
+ * @link		http://www.codeigniter.com/user_guide/database/
  */
 
 /**
  * oci8 Database Adapter Class
  *
- * This is a modification of the DB_driver class to 
+ * This is a modification of the DB_driver class to
  * permit access to oracle databases
  *
  * NOTE: this uses the PHP 4 oci methods
  *
- * @author      Kelly McArdle
+ * @author	  Kelly McArdle
  *
  */
 
 class CI_DB_oci8_driver extends CI_DB {
 
 	// Set "auto commit" by default
-    var $_commit = OCI_COMMIT_ON_SUCCESS;
+	var $_commit = OCI_COMMIT_ON_SUCCESS;
 
-    // need to track statement id and cursor id
-    var $stmt_id;
-    var $curs_id;
+	// need to track statement id and cursor id
+	var $stmt_id;
+	var $curs_id;
 
-    // if we use a limit, we will add a field that will
-    // throw off num_fields later
-    var $limit_used;
-    
-    /**
-     * Non-persistent database connection
-     *
-     * @access  private called by the base class
-     * @return  resource
-     */
-    function db_connect()
-    {
-        return ocilogon($this->username, $this->password, $this->hostname);
-    }
+	// if we use a limit, we will add a field that will
+	// throw off num_fields later
+	var $limit_used;
 
-    // --------------------------------------------------------------------
-
-    /**
-     * Persistent database connection
-     *
-     * @access  private called by the base class
-     * @return  resource
-     */
-    function db_pconnect()
-    {
-        return ociplogon($this->username, $this->password, $this->hostname);
-    }
-
-    // --------------------------------------------------------------------
-
-    /**
-     * Select the database
-     *
-     * @access  private called by the base class
-     * @return  resource
-     */
-    function db_select()
-    {
-        return TRUE;
-    }
+	/**
+	 * Non-persistent database connection
+	 *
+	 * @access  private called by the base class
+	 * @return  resource
+	 */
+	function db_connect()
+	{
+		return ocilogon($this->username, $this->password, $this->hostname);
+	}
 
 	// --------------------------------------------------------------------
 
-    /**
-     * Version number query string
-     *
-     * @access  public
-     * @return  string
-     */
-    function _version()
-    {
-        return ociserverversion($this->conn_id);
-    }
+	/**
+	 * Persistent database connection
+	 *
+	 * @access  private called by the base class
+	 * @return  resource
+	 */
+	function db_pconnect()
+	{
+		return ociplogon($this->username, $this->password, $this->hostname);
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Execute the query
-     *
-     * @access  private called by the base class
-     * @param   string  an SQL query
-     * @return  resource
-     */
-    function _execute($sql)
-    {
-        // oracle must parse the query before it is run. All of the actions with
-        // the query are based on the statement id returned by ociparse        
-        $this->_set_stmt_id($sql);
-        ocisetprefetch($this->stmt_id, 1000);
-        return @ociexecute($this->stmt_id, $this->_commit);
-    }
-    
-    /**
-     * Generate a statement ID
-     *
-     * @access  private
-     * @param   string  an SQL query
-     * @return  none
-     */
-    function _set_stmt_id($sql)
-    {
-        if ( ! is_resource($this->stmt_id))
-        {
+	/**
+	 * Select the database
+	 *
+	 * @access  private called by the base class
+	 * @return  resource
+	 */
+	function db_select()
+	{
+		return TRUE;
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Version number query string
+	 *
+	 * @access  public
+	 * @return  string
+	 */
+	function _version()
+	{
+		return ociserverversion($this->conn_id);
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Execute the query
+	 *
+	 * @access  private called by the base class
+	 * @param   string  an SQL query
+	 * @return  resource
+	 */
+	function _execute($sql)
+	{
+		// oracle must parse the query before it is run. All of the actions with
+		// the query are based on the statement id returned by ociparse
+		$this->_set_stmt_id($sql);
+		ocisetprefetch($this->stmt_id, 1000);
+		return @ociexecute($this->stmt_id, $this->_commit);
+	}
+
+	/**
+	 * Generate a statement ID
+	 *
+	 * @access  private
+	 * @param   string  an SQL query
+	 * @return  none
+	 */
+	function _set_stmt_id($sql)
+	{
+		if ( ! is_resource($this->stmt_id))
+		{
 			$this->stmt_id = ociparse($this->conn_id, $this->_prep_query($sql));
-        }
-    }
+		}
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Prep the query
-     *
-     * If needed, each database adapter can prep the query string
-     *
-     * @access  private called by execute()
-     * @param   string  an SQL query
-     * @return  string
-     */
-    function _prep_query($sql)
-    {
-        return $sql;
-    }
+	/**
+	 * Prep the query
+	 *
+	 * If needed, each database adapter can prep the query string
+	 *
+	 * @access  private called by execute()
+	 * @param   string  an SQL query
+	 * @return  string
+	 */
+	function _prep_query($sql)
+	{
+		return $sql;
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * getCursor.  Returns a cursor from the datbase
-     *
-     * @access  public
-     * @return  cursor id
-     */
-    function get_cursor()
-    {
+	/**
+	 * getCursor.  Returns a cursor from the datbase
+	 *
+	 * @access  public
+	 * @return  cursor id
+	 */
+	function get_cursor()
+	{
 		$this->curs_id = ocinewcursor($this->conn_id);
 		return $this->curs_id;
-    }
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Stored Procedure.  Executes a stored procedure
-     *
-     * @access  public
-     * @param   package     package stored procedure is in
-     * @param   procedure   stored procedure to execute
-     * @param   params      array of parameters
-     * @return  array
-     *
-     * params array keys
-     *
-     * KEY      OPTIONAL    NOTES
-     * name     no          the name of the parameter should be in :<param_name> format
-     * value    no          the value of the parameter.  If this is an OUT or IN OUT parameter,
-     *                      this should be a reference to a variable
-     * type     yes         the type of the parameter
-     * length   yes         the max size of the parameter
-     */
-    function stored_procedure($package, $procedure, $params)
-    {
-        if ($package == '' OR $procedure == '' OR ! is_array($params))
-        {
-            if ($this->db_debug)
-            {
-                log_message('error', 'Invalid query: '.$package.'.'.$procedure);
-                return $this->display_error('db_invalid_query');
-            }
-            return FALSE;
-        }
+	/**
+	 * Stored Procedure.  Executes a stored procedure
+	 *
+	 * @access  public
+	 * @param   package	 package stored procedure is in
+	 * @param   procedure   stored procedure to execute
+	 * @param   params	  array of parameters
+	 * @return  array
+	 *
+	 * params array keys
+	 *
+	 * KEY	  OPTIONAL	NOTES
+	 * name	 no		  the name of the parameter should be in :<param_name> format
+	 * value	no		  the value of the parameter.  If this is an OUT or IN OUT parameter,
+	 *					  this should be a reference to a variable
+	 * type	 yes		 the type of the parameter
+	 * length   yes		 the max size of the parameter
+	 */
+	function stored_procedure($package, $procedure, $params)
+	{
+		if ($package == '' OR $procedure == '' OR ! is_array($params))
+		{
+			if ($this->db_debug)
+			{
+				log_message('error', 'Invalid query: '.$package.'.'.$procedure);
+				return $this->display_error('db_invalid_query');
+			}
+			return FALSE;
+		}
 		
 		// build the query string
 		$sql = "begin $package.$procedure(";
@@ -216,18 +216,18 @@
 				
 		$this->stmt_id = FALSE;
 		$this->_set_stmt_id($sql);
-		$this->_bind_params($params); 
+		$this->_bind_params($params);
 		$this->query($sql, FALSE, $have_cursor);
 	}
 	
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Bind parameters
-     *
-     * @access  private
-     * @return  none
-     */
+	/**
+	 * Bind parameters
+	 *
+	 * @access  private
+	 * @return  none
+	 */
 	function _bind_params($params)
 	{
 		if ( ! is_array($params) OR ! is_resource($this->stmt_id))
@@ -235,27 +235,27 @@
 			return;
 		}
 		
-        foreach ($params as $param)
-        {
+		foreach ($params as $param)
+		{
  			foreach (array('name', 'value', 'type', 'length') as $val)
-        	{
-        		if ( ! isset($param[$val]))
-        		{
-        			$param[$val] = '';
-        		}
-        	}
- 
+			{
+				if ( ! isset($param[$val]))
+				{
+					$param[$val] = '';
+				}
+			}
+
 			ocibindbyname($this->stmt_id, $param['name'], $param['value'], $param['length'], $param['type']);
-        }
+		}
 	}
 
 	// --------------------------------------------------------------------
 
 	/**
 	 * Begin Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
@@ -271,8 +271,8 @@
 		}
 		
 		// Reset the transaction failure flag.
-		// If the $test_mode flag is set to TRUE transactions will be rolled back 
-		// even if the queries produce a successful result. 
+		// If the $test_mode flag is set to TRUE transactions will be rolled back
+		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 		
 		$this->_commit = OCI_DEFAULT;
@@ -283,9 +283,9 @@
 
 	/**
 	 * Commit Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_commit()
 	{
@@ -309,9 +309,9 @@
 
 	/**
 	 * Rollback Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_rollback()
 	{
@@ -331,272 +331,272 @@
 		return $ret;
 	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Escape String
-     *
-     * @access  public
-     * @param   string
-     * @return  string
-     */
-    function escape_str($str)
-    {
-        return $str;
-    }
+	/**
+	 * Escape String
+	 *
+	 * @access  public
+	 * @param   string
+	 * @return  string
+	 */
+	function escape_str($str)
+	{
+		return $str;
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Affected Rows
-     *
-     * @access  public
-     * @return  integer
-     */
-    function affected_rows()
-    {
-        return @ocirowcount($this->stmt_id);
-    }
+	/**
+	 * Affected Rows
+	 *
+	 * @access  public
+	 * @return  integer
+	 */
+	function affected_rows()
+	{
+		return @ocirowcount($this->stmt_id);
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Insert ID
-     *
-     * @access  public
-     * @return  integer
-     */
-    function insert_id()
-    {
-        // not supported in oracle
-        return 0;
-    }
+	/**
+	 * Insert ID
+	 *
+	 * @access  public
+	 * @return  integer
+	 */
+	function insert_id()
+	{
+		// not supported in oracle
+		return 0;
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * "Count All" query
-     *
-     * Generates a platform-specific query string that counts all records in
-     * the specified database
-     *
-     * @access  public
-     * @param   string
-     * @return  string
-     */
-    function count_all($table = '')
-    {
-        if ($table == '')
-            return '0';
+	/**
+	 * "Count All" query
+	 *
+	 * Generates a platform-specific query string that counts all records in
+	 * the specified database
+	 *
+	 * @access  public
+	 * @param   string
+	 * @return  string
+	 */
+	function count_all($table = '')
+	{
+		if ($table == '')
+			return '0';
 
-        $query = $this->query("SELECT COUNT(1) AS numrows FROM ".$table);
+		$query = $this->query("SELECT COUNT(1) AS numrows FROM ".$table);
 
-        if ($query == FALSE)
-            {
-            return 0;
-            }
+		if ($query == FALSE)
+			{
+			return 0;
+			}
 
-        $row = $query->row();
-        return $row->NUMROWS;
-    }
+		$row = $query->row();
+		return $row->NUMROWS;
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Show table query
-     *
-     * Generates a platform-specific query string so that the table names can be fetched
-     *
-     * @access  private
-     * @return  string
-     */
-    function _list_tables()
-    {
-        return "SELECT TABLE_NAME FROM ALL_TABLES";
-    }
+	/**
+	 * Show table query
+	 *
+	 * Generates a platform-specific query string so that the table names can be fetched
+	 *
+	 * @access  private
+	 * @return  string
+	 */
+	function _list_tables()
+	{
+		return "SELECT TABLE_NAME FROM ALL_TABLES";
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Show column query
-     *
-     * Generates a platform-specific query string so that the column names can be fetched
-     *
-     * @access  public
-     * @param   string  the table name
-     * @return  string
-     */
-    function _list_columns($table = '')
-    {
-        return "SELECT COLUMN_NAME FROM all_tab_columns WHERE table_name = '$table'";
-    }
+	/**
+	 * Show column query
+	 *
+	 * Generates a platform-specific query string so that the column names can be fetched
+	 *
+	 * @access  public
+	 * @param   string  the table name
+	 * @return  string
+	 */
+	function _list_columns($table = '')
+	{
+		return "SELECT COLUMN_NAME FROM all_tab_columns WHERE table_name = '$table'";
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Field data query
-     *
-     * Generates a platform-specific query so that the column data can be retrieved
-     *
-     * @access  public
-     * @param   string  the table name
-     * @return  object
-     */
-    function _field_data($table)
-    {
+	/**
+	 * Field data query
+	 *
+	 * Generates a platform-specific query so that the column data can be retrieved
+	 *
+	 * @access  public
+	 * @param   string  the table name
+	 * @return  object
+	 */
+	function _field_data($table)
+	{
 		return "SELECT * FROM ".$this->_escape_table($table)." where rownum = 1";
-    }
-    
-    // --------------------------------------------------------------------
+	}
 
-    /**
-     * The error message string
-     *
-     * @access  private
-     * @return  string
-     */
-    function _error_message()
-    {
-        $error = ocierror($this->conn_id);
-        return $error['message'];
-    }
+	// --------------------------------------------------------------------
 
-    // --------------------------------------------------------------------
+	/**
+	 * The error message string
+	 *
+	 * @access  private
+	 * @return  string
+	 */
+	function _error_message()
+	{
+		$error = ocierror($this->conn_id);
+		return $error['message'];
+	}
 
-    /**
-     * The error message number
-     *
-     * @access  private
-     * @return  integer
-     */
-    function _error_number()
-    {
-        $error = ocierror($this->conn_id);
-        return $error['code'];
-    }
+	// --------------------------------------------------------------------
 
-    // --------------------------------------------------------------------
+	/**
+	 * The error message number
+	 *
+	 * @access  private
+	 * @return  integer
+	 */
+	function _error_number()
+	{
+		$error = ocierror($this->conn_id);
+		return $error['code'];
+	}
 
-    /**
-     * Escape Table Name
-     *
-     * This function adds backticks if the table name has a period
-     * in it. Some DBs will get cranky unless periods are escaped
-     *
-     * @access  private
-     * @param   string  the table name
-     * @return  string
-     */
-    function _escape_table($table)
-    {
-        if (stristr($table, '.'))
-        {
-            $table = preg_replace("/\./", "`.`", $table);
-        }
+	// --------------------------------------------------------------------
 
-        return $table;
-    }
+	/**
+	 * Escape Table Name
+	 *
+	 * This function adds backticks if the table name has a period
+	 * in it. Some DBs will get cranky unless periods are escaped
+	 *
+	 * @access  private
+	 * @param   string  the table name
+	 * @return  string
+	 */
+	function _escape_table($table)
+	{
+		if (stristr($table, '.'))
+		{
+			$table = preg_replace("/\./", "`.`", $table);
+		}
 
-    // --------------------------------------------------------------------
+		return $table;
+	}
 
-    /**
-     * Insert statement
-     *
-     * Generates a platform-specific insert string from the supplied data
-     *
-     * @access  public
-     * @param   string  the table name
-     * @param   array   the insert keys
-     * @param   array   the insert values
-     * @return  string
-     */
-    function _insert($table, $keys, $values)
-    {
-    return "INSERT INTO ".$this->_escape_table($table)." (".implode(', ', $keys).") VALUES (".implode(', ', $values).")";
-    }
+	// --------------------------------------------------------------------
 
-    // --------------------------------------------------------------------
+	/**
+	 * Insert statement
+	 *
+	 * Generates a platform-specific insert string from the supplied data
+	 *
+	 * @access  public
+	 * @param   string  the table name
+	 * @param   array   the insert keys
+	 * @param   array   the insert values
+	 * @return  string
+	 */
+	function _insert($table, $keys, $values)
+	{
+	return "INSERT INTO ".$this->_escape_table($table)." (".implode(', ', $keys).") VALUES (".implode(', ', $values).")";
+	}
 
-    /**
-     * Update statement
-     *
-     * Generates a platform-specific update string from the supplied data
-     *
-     * @access  public
-     * @param   string  the table name
-     * @param   array   the update data
-     * @param   array   the where clause
-     * @return  string
-     */
-    function _update($table, $values, $where)
-    {
-        foreach($values as $key => $val)
-        {
-            $valstr[] = $key." = ".$val;
-        }
+	// --------------------------------------------------------------------
 
-        return "UPDATE ".$this->_escape_table($table)." SET ".implode(', ', $valstr)." WHERE ".implode(" ", $where);
-    }
+	/**
+	 * Update statement
+	 *
+	 * Generates a platform-specific update string from the supplied data
+	 *
+	 * @access  public
+	 * @param   string  the table name
+	 * @param   array   the update data
+	 * @param   array   the where clause
+	 * @return  string
+	 */
+	function _update($table, $values, $where)
+	{
+		foreach($values as $key => $val)
+		{
+			$valstr[] = $key." = ".$val;
+		}
 
-    // --------------------------------------------------------------------
+		return "UPDATE ".$this->_escape_table($table)." SET ".implode(', ', $valstr)." WHERE ".implode(" ", $where);
+	}
 
-    /**
-     * Delete statement
-     *
-     * Generates a platform-specific delete string from the supplied data
-     *
-     * @access  public
-     * @param   string  the table name
-     * @param   array   the where clause
-     * @return  string
-     */
-    function _delete($table, $where)
-    {
-        return "DELETE FROM ".$this->_escape_table($table)." WHERE ".implode(" ", $where);
-    }
+	// --------------------------------------------------------------------
 
-    // --------------------------------------------------------------------
+	/**
+	 * Delete statement
+	 *
+	 * Generates a platform-specific delete string from the supplied data
+	 *
+	 * @access  public
+	 * @param   string  the table name
+	 * @param   array   the where clause
+	 * @return  string
+	 */
+	function _delete($table, $where)
+	{
+		return "DELETE FROM ".$this->_escape_table($table)." WHERE ".implode(" ", $where);
+	}
 
-    /**
-     * Limit string
-     *
-     * Generates a platform-specific LIMIT clause
-     *
-     * @access  public
-     * @param   string  the sql query string
-     * @param   integer the number of rows to limit the query to
-     * @param   integer the offset value
-     * @return  string
-     */
-    function _limit($sql, $limit, $offset)
-    {
-        $limit = $offset + $limit;
-        $newsql = "SELECT * FROM (select inner_query.*, rownum rnum FROM ($sql) inner_query WHERE rownum < $limit)";
+	// --------------------------------------------------------------------
 
-        if ($offset != 0)
-        {
-            $newsql .= " WHERE rnum >= $offset";
-        }
+	/**
+	 * Limit string
+	 *
+	 * Generates a platform-specific LIMIT clause
+	 *
+	 * @access  public
+	 * @param   string  the sql query string
+	 * @param   integer the number of rows to limit the query to
+	 * @param   integer the offset value
+	 * @return  string
+	 */
+	function _limit($sql, $limit, $offset)
+	{
+		$limit = $offset + $limit;
+		$newsql = "SELECT * FROM (select inner_query.*, rownum rnum FROM ($sql) inner_query WHERE rownum < $limit)";
 
-        // remember that we used limits
-        $this->limit_used = TRUE;
+		if ($offset != 0)
+		{
+			$newsql .= " WHERE rnum >= $offset";
+		}
 
-        return $newsql;
-    }	
+		// remember that we used limits
+		$this->limit_used = TRUE;
 
-    // --------------------------------------------------------------------
+		return $newsql;
+	}	
 
-    /**
-     * Close DB Connection
-     *
-     * @access  public
-     * @param   resource
-     * @return  void
-     */
-    function _close($conn_id)
-    {
-        ocilogoff($conn_id);
-    }
+	// --------------------------------------------------------------------
+
+	/**
+	 * Close DB Connection
+	 *
+	 * @access  public
+	 * @param   resource
+	 * @return  void
+	 */
+	function _close($conn_id)
+	{
+		ocilogoff($conn_id);
+	}
 
 
 }
diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php
index ab13a39..947a761 100644
--- a/system/database/drivers/oci8/oci8_result.php
+++ b/system/database/drivers/oci8/oci8_result.php
@@ -4,12 +4,12 @@
  *
  * An open source application development framework for PHP 4.3.2 or newer
  *
- * @package     CodeIgniter
- * @author      Rick Ellis
+ * @package	 CodeIgniter
+ * @author	  Rick Ellis
  * @copyright   Copyright (c) 2006, pMachine, Inc.
- * @license     http://www.codeignitor.com/user_guide/license.html 
- * @link        http://www.codeigniter.com
- * @since       Version 1.0
+ * @license	 http://www.codeignitor.com/user_guide/license.html
+ * @link		http://www.codeigniter.com
+ * @since	   Version 1.0
  * @filesource
  */
 
@@ -20,59 +20,59 @@
  *
  * This class extends the parent result class: CI_DB_result
  *
- * @category    Database
- * @author      Rick Ellis
- * @link        http://www.codeigniter.com/user_guide/database/
+ * @category	Database
+ * @author	  Rick Ellis
+ * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_oci8_result extends CI_DB_result {
 
-    var $stmt_id;
-    var $curs_id;
-    var $limit_used;
+	var $stmt_id;
+	var $curs_id;
+	var $limit_used;
 
-    /**
-     * Number of rows in the result set
-     *
-     * @access  public
-     * @return  integer
-     */
-    function num_rows()
-    {
-        // get the results, count them,
-        // rerun query - otherwise we
-        // won't have data after calling 
-        // num_rows()
-        $this->result_array();
-        $rowcount = count($this->result_array);
-        @ociexecute($this->stmt_id);
-        if ($this->curs_id)
+	/**
+	 * Number of rows in the result set
+	 *
+	 * @access  public
+	 * @return  integer
+	 */
+	function num_rows()
+	{
+		// get the results, count them,
+		// rerun query - otherwise we
+		// won't have data after calling
+		// num_rows()
+		$this->result_array();
+		$rowcount = count($this->result_array);
+		@ociexecute($this->stmt_id);
+		if ($this->curs_id)
 		{
 			@ociexecute($this->curs_id);
 		}
-        return $rowcount;
-    }
+		return $rowcount;
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Number of fields in the result set
-     *
-     * @access  public
-     * @return  integer
-     */
-    function num_fields()
-    {
-        $count = @ocinumcols($this->stmt_id);
+	/**
+	 * Number of fields in the result set
+	 *
+	 * @access  public
+	 * @return  integer
+	 */
+	function num_fields()
+	{
+		$count = @ocinumcols($this->stmt_id);
 
-        // if we used a limit, we added a field,
-        // subtract it out
-        if ($this->limit_used)
-        {
-            $count = $count - 1;
-        }
+		// if we used a limit, we added a field,
+		// subtract it out
+		if ($this->limit_used)
+		{
+			$count = $count - 1;
+		}
 
-        return $count;
-    }
+		return $count;
+	}
 
 	// --------------------------------------------------------------------
 
@@ -87,11 +87,11 @@
 	function list_fields()
 	{
 		$field_names = array();
-        $fieldCount = $this->num_fields();
-        for ($c = 1; $c <= $fieldCount; $c++)
-        {
-            $field_names[] = ocicolumnname($this->stmt_id, $c);
-        }
+		$fieldCount = $this->num_fields();
+		for ($c = 1; $c <= $fieldCount; $c++)
+		{
+			$field_names[] = ocicolumnname($this->stmt_id, $c);
+		}
 		return $field_names;
 	}
 
@@ -101,32 +101,32 @@
 		return $this->list_fields();
 	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Field data
-     *
-     * Generates an array of objects containing field meta-data
-     *
-     * @access  public
-     * @return  array
-     */
-    function field_data()
-    {
-        $retval = array();
-        $fieldCount = $this->num_fields();
-        for ($c = 1; $c <= $fieldCount; $c++)
-        {
-            $F              = new stdClass();
-            $F->name        = ocicolumnname($this->stmt_id, $c);
-            $F->type        = ocicolumntype($this->stmt_id, $c);
-            $F->max_length  = ocicolumnsize($this->stmt_id, $c);
+	/**
+	 * Field data
+	 *
+	 * Generates an array of objects containing field meta-data
+	 *
+	 * @access  public
+	 * @return  array
+	 */
+	function field_data()
+	{
+		$retval = array();
+		$fieldCount = $this->num_fields();
+		for ($c = 1; $c <= $fieldCount; $c++)
+		{
+			$F			  = new stdClass();
+			$F->name		= ocicolumnname($this->stmt_id, $c);
+			$F->type		= ocicolumntype($this->stmt_id, $c);
+			$F->max_length  = ocicolumnsize($this->stmt_id, $c);
 
-            $retval[] = $F;
-        }
+			$retval[] = $F;
+		}
 
-        return $retval;
-    }
+		return $retval;
+	}
 
 	// --------------------------------------------------------------------
 
@@ -139,25 +139,25 @@
 	{
 		if (is_resource($this->result_id))
 		{
-        	OCIFreeStatement($this->result_id);
-        	$this->result_id = FALSE;
+			OCIFreeStatement($this->result_id);
+			$this->result_id = FALSE;
 		}
 	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Result - associative array
-     *
-     * Returns the result set as an array
-     *
-     * @access  private
-     * @return  array
-     */
-    function _fetch_assoc(&$row)
-    {
-        // if pulling from a cursor, use curs_id
-        if ($this->curs_id)
+	/**
+	 * Result - associative array
+	 *
+	 * Returns the result set as an array
+	 *
+	 * @access  private
+	 * @return  array
+	 */
+	function _fetch_assoc(&$row)
+	{
+		// if pulling from a cursor, use curs_id
+		if ($this->curs_id)
 		{
 			return ocifetchinto($this->curs_id, $row, OCI_ASSOC + OCI_RETURN_NULLS);
 		}
@@ -165,7 +165,7 @@
 		{
 			return ocifetchinto($this->stmt_id, $row, OCI_ASSOC + OCI_RETURN_NULLS);
 		}
-    }
+	}
 
 	// --------------------------------------------------------------------
 
@@ -184,25 +184,25 @@
 		return FALSE;
 	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Result - object
-     *
-     * Returns the result set as an object
-     *
-     * @access  private
-     * @return  object
-     */
-    function _fetch_object()
-    {
-        // the PHP 4 version of the oracle functions do not
-        // have a fetch method so we call the array version
-        // and build an object from that
+	/**
+	 * Result - object
+	 *
+	 * Returns the result set as an object
+	 *
+	 * @access  private
+	 * @return  object
+	 */
+	function _fetch_object()
+	{
+		// the PHP 4 version of the oracle functions do not
+		// have a fetch method so we call the array version
+		// and build an object from that
 
-        $row = array();
-        $res = $this->_fetch_assoc($row);
-        if ($res != FALSE)
+		$row = array();
+		$res = $this->_fetch_assoc($row);
+		if ($res != FALSE)
 		{
 			$obj = new stdClass();
 			foreach ($row as $key => $value)
@@ -212,41 +212,41 @@
 			
 			$res = $obj;
 		}
-        return $res;
-    }
+		return $res;
+	}
 
-    // --------------------------------------------------------------------
+	// --------------------------------------------------------------------
 
-    /**
-     * Query result.  "array" version.
-     *
-     * @access  public
-     * @return  array
-     */
-    function result_array()
-    {
-        if (count($this->result_array) > 0)
-        {
-            return $this->result_array;
-        }
+	/**
+	 * Query result.  "array" version.
+	 *
+	 * @access  public
+	 * @return  array
+	 */
+	function result_array()
+	{
+		if (count($this->result_array) > 0)
+		{
+			return $this->result_array;
+		}
 
-        // oracle's fetch functions do not
-        // return arrays, the information
-        // is returned in reference parameters
-        //
-        $row = NULL;
-        while ($this->_fetch_assoc($row))
-        {
-            $this->result_array[] = $row;
-        }
+		// oracle's fetch functions do not
+		// return arrays, the information
+		// is returned in reference parameters
+		//
+		$row = NULL;
+		while ($this->_fetch_assoc($row))
+		{
+			$this->result_array[] = $row;
+		}
 
-        if (count($this->result_array) == 0)
-        {
-            return FALSE;
-        }
+		if (count($this->result_array) == 0)
+		{
+			return FALSE;
+		}
 
-        return $this->result_array;
-    }
+		return $this->result_array;
+	}
 
 }
 
diff --git a/system/database/drivers/oci8/oci8_utility.php b/system/database/drivers/oci8/oci8_utility.php
index f4e9121..1d83af1 100644
--- a/system/database/drivers/oci8/oci8_utility.php
+++ b/system/database/drivers/oci8/oci8_utility.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php
index 17a6dfb..09ca07e 100644
--- a/system/database/drivers/odbc/odbc_driver.php
+++ b/system/database/drivers/odbc/odbc_driver.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -21,7 +21,7 @@
  * Note: _DB is an extender class that the app controller
  * creates dynamically based on whether the active record
  * class is being used or not.
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
@@ -107,18 +107,18 @@
 	 * @param	string	an SQL query
 	 * @return	string
 	 */	
-    function _prep_query($sql)
-    {
+	function _prep_query($sql)
+	{
 		return $sql;
-    }
+	}
 
 	// --------------------------------------------------------------------
 
 	/**
 	 * Begin Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
@@ -134,8 +134,8 @@
 		}
 
 		// Reset the transaction failure flag.
-		// If the $test_mode flag is set to TRUE transactions will be rolled back 
-		// even if the queries produce a successful result. 
+		// If the $test_mode flag is set to TRUE transactions will be rolled back
+		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 
 		return odbc_autocommit($this->conn_id, FALSE);
@@ -145,9 +145,9 @@
 
 	/**
 	 * Commit Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_commit()
 	{
@@ -171,9 +171,9 @@
 
 	/**
 	 * Rollback Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_rollback()
 	{
diff --git a/system/database/drivers/odbc/odbc_result.php b/system/database/drivers/odbc/odbc_result.php
index ea834f9..47fb103 100644
--- a/system/database/drivers/odbc/odbc_result.php
+++ b/system/database/drivers/odbc/odbc_result.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -116,8 +116,8 @@
 	{
 		if (is_resource($this->result_id))
 		{
-        	odbc_free_result($this->result_id);
-        	$this->result_id = FALSE;
+			odbc_free_result($this->result_id);
+			$this->result_id = FALSE;
 		}
 	}
 
diff --git a/system/database/drivers/odbc/odbc_utility.php b/system/database/drivers/odbc/odbc_utility.php
index dc62df9..8af463b 100644
--- a/system/database/drivers/odbc/odbc_utility.php
+++ b/system/database/drivers/odbc/odbc_utility.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -34,7 +34,7 @@
 	 */
 	function _create_database()
 	{
-		// ODBC has no "create database" command since it's 
+		// ODBC has no "create database" command since it's
 		// designed to connect to an existing database
 		if ($this->db->db_debug)
 		{
@@ -54,7 +54,7 @@
 	 */
 	function _drop_database($name)
 	{
-		// ODBC has no "drop database" command since it's 
+		// ODBC has no "drop database" command since it's
 		// designed to connect to an existing database		
 		if ($this->db->db_debug)
 		{
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index f74e652..81aaafe 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -111,18 +111,18 @@
 	 * @param	string	an SQL query
 	 * @return	string
 	 */	
-    function _prep_query($sql)
-    {
+	function _prep_query($sql)
+	{
 		return $sql;
-    }
+	}
 
 	// --------------------------------------------------------------------
 
 	/**
 	 * Begin Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
@@ -138,8 +138,8 @@
 		}
 
 		// Reset the transaction failure flag.
-		// If the $test_mode flag is set to TRUE transactions will be rolled back 
-		// even if the queries produce a successful result. 
+		// If the $test_mode flag is set to TRUE transactions will be rolled back
+		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 
 		return @pg_exec($this->conn_id, "begin");
@@ -149,9 +149,9 @@
 
 	/**
 	 * Commit Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_commit()
 	{
@@ -173,9 +173,9 @@
 
 	/**
 	 * Rollback Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_rollback()
 	{
@@ -298,7 +298,7 @@
 	 * @return	string
 	 */
 	function _list_tables()
-	{	  
+	{	
 		return "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'";	
 	}
 	
diff --git a/system/database/drivers/postgre/postgre_result.php b/system/database/drivers/postgre/postgre_result.php
index e792544..76bd601 100644
--- a/system/database/drivers/postgre/postgre_result.php
+++ b/system/database/drivers/postgre/postgre_result.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -116,8 +116,8 @@
 	{
 		if (is_resource($this->result_id))
 		{
-        	pg_free_result($this->result_id);
-        	$this->result_id = FALSE;
+			pg_free_result($this->result_id);
+			$this->result_id = FALSE;
 		}
 	}
 
diff --git a/system/database/drivers/postgre/postgre_utility.php b/system/database/drivers/postgre/postgre_utility.php
index b08b879..478e742 100644
--- a/system/database/drivers/postgre/postgre_utility.php
+++ b/system/database/drivers/postgre/postgre_utility.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -90,7 +90,7 @@
 	 */
 	function _optimize_table($table)
 	{
-		return FALSE; 
+		return FALSE;
 	}
 
 	// --------------------------------------------------------------------
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index fd9fd2c..ce3c579 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 
@@ -44,10 +44,10 @@
 		{
 			log_message('error', $error);
 			
-            if ($this->db_debug)
-            {
+			if ($this->db_debug)
+			{
 				$this->display_error($error, '', TRUE);
-            }		
+			}		
 		}
 		
 		return $conn_id;
@@ -67,10 +67,10 @@
 		{
 			log_message('error', $error);
 			
-            if ($this->db_debug)
-            {
+			if ($this->db_debug)
+			{
 				$this->display_error($error, '', TRUE);
-            }		
+			}		
 		}
 		
 		return $conn_id;
@@ -128,18 +128,18 @@
 	 * @param	string	an SQL query
 	 * @return	string
 	 */	
-    function _prep_query($sql)
-    {
+	function _prep_query($sql)
+	{
 		return $sql;
-    }
+	}
 
 	// --------------------------------------------------------------------
 
 	/**
 	 * Begin Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
@@ -155,8 +155,8 @@
 		}
 
 		// Reset the transaction failure flag.
-		// If the $test_mode flag is set to TRUE transactions will be rolled back 
-		// even if the queries produce a successful result. 
+		// If the $test_mode flag is set to TRUE transactions will be rolled back
+		// even if the queries produce a successful result.
 		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
 
 		$this->simple_query('BEGIN TRANSACTION');
@@ -167,9 +167,9 @@
 
 	/**
 	 * Commit Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_commit()
 	{
@@ -192,9 +192,9 @@
 
 	/**
 	 * Rollback Transaction
-	 * 
+	 *
 	 * @access	public
-	 * @return	bool		 
+	 * @return	bool		
 	 */	
 	function trans_rollback()
 	{
diff --git a/system/database/drivers/sqlite/sqlite_result.php b/system/database/drivers/sqlite/sqlite_result.php
index 55364bb..00045d0 100644
--- a/system/database/drivers/sqlite/sqlite_result.php
+++ b/system/database/drivers/sqlite/sqlite_result.php
@@ -7,19 +7,19 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * SQLite Result Class
  *
  * This class extends the parent result class: CI_DB_result
- * 
+ *
  * @category	Database
  * @author		Rick Ellis
  * @link		http://www.codeigniter.com/user_guide/database/
diff --git a/system/database/drivers/sqlite/sqlite_utility.php b/system/database/drivers/sqlite/sqlite_utility.php
index ecce5be..91649c7 100644
--- a/system/database/drivers/sqlite/sqlite_utility.php
+++ b/system/database/drivers/sqlite/sqlite_utility.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -68,7 +68,7 @@
 	 *
 	 * I don't believe you can do a database listing with SQLite
 	 * since each database is its own file.  I suppose we could
-	 * try reading a directory looking for SQLite files, but 
+	 * try reading a directory looking for SQLite files, but
 	 * that doesn't seem like a terribly good idea
 	 *
 	 * @access	private
diff --git a/system/fonts/texb.ttf b/system/fonts/texb.ttf
index 383c88b..a7aa646 100644
--- a/system/fonts/texb.ttf
+++ b/system/fonts/texb.ttf
Binary files differ
diff --git a/system/helpers/array_helper.php b/system/helpers/array_helper.php
index 8adbd85..491c615 100644
--- a/system/helpers/array_helper.php
+++ b/system/helpers/array_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
diff --git a/system/helpers/cookie_helper.php b/system/helpers/cookie_helper.php
index 8985fae..b117816 100644
--- a/system/helpers/cookie_helper.php
+++ b/system/helpers/cookie_helper.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Code Igniter Cookie Helpers
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
@@ -30,7 +30,7 @@
 /**
  * Set cookie
  *
- * Accepts six parameter, or you can submit an associative 
+ * Accepts six parameter, or you can submit an associative
  * array in the first parameter containing all the values.
  *
  * @access	public
@@ -43,7 +43,7 @@
  * @return	void
  */
 function set_cookie($name = '', $value = '', $expire = '', $domain = '', $path = '/', $prefix = '')
-{ 
+{
 	if (is_array($name))
 	{		
 		foreach (array('value', 'expire', 'domain', 'path', 'prefix', 'name') as $item)
diff --git a/system/helpers/date_helper.php b/system/helpers/date_helper.php
index 9118624..b8df03e 100644
--- a/system/helpers/date_helper.php
+++ b/system/helpers/date_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -39,10 +39,10 @@
 {
 	$CI =& get_instance();
 	
-	if (strtolower($CI->config->item('time_reference')) == 'gmt') 
+	if (strtolower($CI->config->item('time_reference')) == 'gmt')
 	{
-		$now = time(); 
-		$system_time = mktime(gmdate("H", $now), gmdate("i", $now), gmdate("s", $now), gmdate("m", $now), gmdate("d", $now), gmdate("Y", $now));   
+		$now = time();
+		$system_time = mktime(gmdate("H", $now), gmdate("i", $now), gmdate("s", $now), gmdate("m", $now), gmdate("d", $now), gmdate("Y", $now));
 	
 		if (strlen($system_time) < 10)
 		{
@@ -130,7 +130,7 @@
 /**
  * Timespan
  *
- * Returns a span of seconds in this format: 
+ * Returns a span of seconds in this format:
  *	10 days 14 hours 36 minutes 47 seconds
  *
  * @access	public
@@ -244,7 +244,7 @@
 /**
  * Number of days in a month
  *
- * Takes a month/year as input and returns the number of days 
+ * Takes a month/year as input and returns the number of days
  * for the given month/year. Takes leap years into consideration.
  *
  * @access	public
@@ -265,7 +265,7 @@
 	}
 	
 	if ($month == 2)
-	{        
+	{
 		if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0))
 		{
 			return 29;
@@ -290,7 +290,7 @@
 	if ($time == '')
 		$time = time();
 	
-	return mktime( gmdate("H", $time), gmdate("i", $time), gmdate("s", $time), gmdate("m", $time), gmdate("d", $time), gmdate("Y", $time));   
+	return mktime( gmdate("H", $time), gmdate("i", $time), gmdate("s", $time), gmdate("m", $time), gmdate("d", $time), gmdate("Y", $time));
 }
 	
 // ------------------------------------------------------------------------
@@ -335,7 +335,7 @@
  * @return	integer
  */	
 function mysql_to_unix($time = '')
-{    
+{
 	// We'll remove certain characters for backward compatibility
 	// since the formatting changed with MySQL 4.1
 	// YYYY-MM-DD HH:MM:SS
@@ -345,7 +345,7 @@
 	$time = str_replace(' ', '', $time);
 	
 	// YYYYMMDDHHMMSS
-	return  mktime( 
+	return  mktime(
 					substr($time, 8, 2),
 					substr($time, 10, 2),
 					substr($time, 12, 2),
@@ -422,13 +422,13 @@
 
 	$split = preg_split("/\040/", $datestr);
 
-	$ex = explode("-", $split['0']);            
+	$ex = explode("-", $split['0']);
 	
 	$year  = (strlen($ex['0']) == 2) ? '20'.$ex['0'] : $ex['0'];
 	$month = (strlen($ex['1']) == 1) ? '0'.$ex['1']  : $ex['1'];
 	$day   = (strlen($ex['2']) == 1) ? '0'.$ex['2']  : $ex['2'];
 
-	$ex = explode(":", $split['1']); 
+	$ex = explode(":", $split['1']);
 	
 	$hour = (strlen($ex['0']) == 1) ? '0'.$ex['0'] : $ex['0'];
 	$min  = (strlen($ex['1']) == 1) ? '0'.$ex['1'] : $ex['1'];
@@ -515,10 +515,10 @@
  */	
 function timezones($tz = '')
 {
-	// Note: Don't change the order of these even though 
+	// Note: Don't change the order of these even though
 	// some items appear to be in the wrong order
 		
-	$zones = array( 
+	$zones = array(
 					'UM12' => -12,
 					'UM11' => -11,
 					'UM10' => -10,
@@ -548,7 +548,7 @@
 					'UP85' => +8.5,
 					'UP10' => +10,
 					'UP11' => +11,
-					'UP12' => +12                    
+					'UP12' => +12
 				);
 				
 	if ($tz == '')
diff --git a/system/helpers/directory_helper.php b/system/helpers/directory_helper.php
index 4b7a383..e6ed47f 100644
--- a/system/helpers/directory_helper.php
+++ b/system/helpers/directory_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -45,14 +45,14 @@
 		$filedata = array();
 	
 	if ($fp = @opendir($source_dir))
-	{ 
+	{
 		while (FALSE !== ($file = readdir($fp)))
 		{
-			if (@is_dir($source_dir.$file) && substr($file, 0, 1) != '.' AND $top_level_only == FALSE) 
-			{       
+			if (@is_dir($source_dir.$file) && substr($file, 0, 1) != '.' AND $top_level_only == FALSE)
+			{
 				$temp_array = array();
-				 
-				$temp_array = directory_map($source_dir.$file."/");   
+				
+				$temp_array = directory_map($source_dir.$file."/");
 				
 				$filedata[$file] = $temp_array;
 			}
@@ -60,9 +60,9 @@
 			{
 				$filedata[] = $file;
 			}
-		}         
-		return $filedata;        
-	} 
+		}
+		return $filedata;
+	}
 }
 
 
diff --git a/system/helpers/download_helper.php b/system/helpers/download_helper.php
index 8d9fee4..dbedd87 100644
--- a/system/helpers/download_helper.php
+++ b/system/helpers/download_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -78,8 +78,8 @@
 		header("Content-Transfer-Encoding: binary");
 		header('Pragma: public');
 		header("Content-Length: ".strlen($data));
-	} 
-	else 
+	}
+	else
 	{
 		header('Content-Type: "'.$mime.'"');
 		header('Content-Disposition: attachment; filename="'.$filename.'"');
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index 7a04324..c9c2138 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -56,13 +56,13 @@
 	flock($fp, LOCK_SH);
 	
 	$data = '';
-	if (filesize($file) > 0) 
+	if (filesize($file) > 0)
 	{
-		$data =& fread($fp, filesize($file)); 
+		$data =& fread($fp, filesize($file));
 	}
 
 	flock($fp, LOCK_UN);
-	fclose($fp); 
+	fclose($fp);
 
 	return $data;
 }
@@ -72,7 +72,7 @@
 /**
  * Write File
  *
- * Writes data to the file specified in the path. 
+ * Writes data to the file specified in the path.
  * Creates a new file if non-existent.
  *
  * @access	public
@@ -119,7 +119,7 @@
 		return;
 	
 	while(FALSE !== ($filename = @readdir($current_dir)))
-	{ 
+	{
 		if ($filename != "." and $filename != "..")
 		{
 			if (is_dir($path.'/'.$filename))
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index e12d893..6d10a98 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -53,7 +53,7 @@
 	{
 		foreach ($attributes as $key => $val)
 		{
-			$form .= ' '.$key.'="'.$val.'"';  
+			$form .= ' '.$key.'="'.$val.'"';
 		}
 	}
 	
@@ -100,7 +100,7 @@
  * @return	string
  */	
 function form_hidden($name, $value = '')
-{        
+{
 	if ( ! is_array($name))
 	{
 		return '<input type="hidden" name="'.$name.'" value="'.form_prep($value).'" />';
@@ -251,7 +251,7 @@
 	{
 		$checked = $data['checked'];
 		
-		if ($checked == FALSE) 
+		if ($checked == FALSE)
 			unset($data['checked']);
 	}
 	
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index 1c97dda..5ba1df9 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
diff --git a/system/helpers/inflector_helper.php b/system/helpers/inflector_helper.php
index 3d8d3e0..666ec40 100644
--- a/system/helpers/inflector_helper.php
+++ b/system/helpers/inflector_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
diff --git a/system/helpers/security_helper.php b/system/helpers/security_helper.php
index 34386ff..0622846 100644
--- a/system/helpers/security_helper.php
+++ b/system/helpers/security_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -60,7 +60,7 @@
 			{	
 				require_once(BASEPATH.'libraries/Sha1'.EXT);
 				$SH = new CI_SHA;
-				return $SH->generate($str);            
+				return $SH->generate($str);
 			}
 			else
 			{
@@ -88,7 +88,7 @@
  * @return	string
  */	
 function strip_image_tags($str)
-{    
+{
 	$str = preg_replace("#<img\s+.*?src\s*=\s*[\"'](.+?)[\"'].*?\>#", "\\1", $str);
 	$str = preg_replace("#<img\s+.*?src\s*=\s*(.+?).*?\>#", "\\1", $str);
 			
diff --git a/system/helpers/string_helper.php b/system/helpers/string_helper.php
index d5a3591..ba704df 100644
--- a/system/helpers/string_helper.php
+++ b/system/helpers/string_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -67,7 +67,7 @@
  */	
 function reduce_double_slashes($str)
 {
-	return preg_replace("#([^:])//+#", "\\1/", $str);  
+	return preg_replace("#([^:])//+#", "\\1/", $str);
 }
 	
 // ------------------------------------------------------------------------
@@ -101,15 +101,15 @@
 				}
 
 				$str = '';
-				for ($i=0; $i < $len; $i++) 
-				{    
-					$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1); 
+				for ($i=0; $i < $len; $i++)
+				{
+					$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
 				}
-				return $str;      
+				return $str;
 		  break;
-		case 'unique' : return md5(uniqid(mt_rand())); 
-		  break; 
-	}        
+		case 'unique' : return md5(uniqid(mt_rand()));
+		  break;
+	}
 }
 // ------------------------------------------------------------------------
 
diff --git a/system/helpers/text_helper.php b/system/helpers/text_helper.php
index e2da327..fbc63a9 100644
--- a/system/helpers/text_helper.php
+++ b/system/helpers/text_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -35,12 +35,12 @@
  * @access	public
  * @param	string
  * @param	integer
- * @param	string	the end character. Usually an ellipsis 
+ * @param	string	the end character. Usually an ellipsis
  * @return	string
  */	
 function word_limiter($str, $n = 100, $end_char = '&#8230;')
 {
-	if (strlen($str) < $n) 
+	if (strlen($str) < $n)
 	{
 		return $str;
 	}
@@ -53,12 +53,12 @@
 	}
 			
 	$str = '';
-	for ($i = 0; $i < $n; $i++) 
+	for ($i = 0; $i < $n; $i++)
 	{
 		$str .= $words[$i].' ';
 	}
 
-	return trim($str).$end_char; 
+	return trim($str).$end_char;
 }
 	
 // ------------------------------------------------------------------------
@@ -72,12 +72,12 @@
  * @access	public
  * @param	string
  * @param	integer
- * @param	string	the end character. Usually an ellipsis 
+ * @param	string	the end character. Usually an ellipsis
  * @return	string
  */	
 function character_limiter($str, $n = 500, $end_char = '&#8230;')
 {
-	if (strlen($str) < $n) 
+	if (strlen($str) < $n)
 	{
 		return $str;
 	}
@@ -95,7 +95,7 @@
 		$out .= $val.' ';			
 		if (strlen($out) >= $n)
 		{
-			return trim($out).$end_char; 
+			return trim($out).$end_char;
 		}		
 	}
 }
@@ -116,14 +116,14 @@
    $count	= 1;
    $out	= '';
    $temp	= array();
-	   
+	
    for ($i = 0, $s = strlen($str); $i < $s; $i++)
    {
 	   $ordinal = ord($str[$i]);
-	   
+	
 	   if ($ordinal < 128)
 	   {
-		   $out .= $str[$i];            
+		   $out .= $str[$i];
 	   }
 	   else
 	   {
@@ -131,9 +131,9 @@
 		   {
 			   $count = ($ordinal < 224) ? 2 : 3;
 		   }
-		   
+		
 		   $temp[] = $ordinal;
-		   
+		
 		   if (count($temp) == $count)
 		   {
 			   $number = ($count == 3) ? (($temp['0'] % 16) * 4096) + (($temp['1'] % 64) * 64) + ($temp['2'] % 64) : (($temp['0'] % 32) * 64) + ($temp['1'] % 64);
@@ -141,10 +141,10 @@
 			   $out .= '&#'.$number.';';
 			   $count = 1;
 			   $temp = array();
-		   }   
-	   }   
+		   }
+	   }
    }
-   
+
    return $out;
 }
 	
@@ -169,35 +169,35 @@
 		   $digits = $matches['1'][$i];
 
 		   $out = '';
-   
+
 		   if ($digits < 128)
 		   {
 			   $out .= chr($digits);
-		   
-		   } 
+		
+		   }
 		   elseif ($digits < 2048)
 		   {
 			   $out .= chr(192 + (($digits - ($digits % 64)) / 64));
 			   $out .= chr(128 + ($digits % 64));
-		   } 
+		   }
 		   else
 		   {
 			   $out .= chr(224 + (($digits - ($digits % 4096)) / 4096));
 			   $out .= chr(128 + ((($digits % 4096) - ($digits % 64)) / 64));
 			   $out .= chr(128 + ($digits % 64));
 		   }
-   
+
 		   $str = str_replace($matches['0'][$i], $out, $str);				
 	   }
    }
-   
+
    if ($all)
    {
 	   $str = str_replace(array("&amp;", "&lt;", "&gt;", "&quot;", "&apos;", "&#45;"),
 						  array("&","<",">","\"", "'", "-"),
 						  $str);
    }
-   
+
    return $str;
 }
 	
@@ -252,8 +252,8 @@
  */	
 function highlight_code($str)
 {		
-	// The highlight string function encodes and highlights 
-	// brackets so we need them to start raw 
+	// The highlight string function encodes and highlights
+	// brackets so we need them to start raw
 	$str = str_replace(array('&lt;', '&gt;'), array('<', '>'), $str);
 	
 	// Replace any existing PHP tags to temporary markers so they don't accidentally
@@ -340,15 +340,15 @@
 	$lines = split("\n", $str);
 	
 	$output = "";
-	while (list(, $thisline) = each($lines)) 
+	while (list(, $thisline) = each($lines))
 	{
 		if (strlen($thisline) > $chars)
 		{
 			$line = "";
 			$words = split(" ", $thisline);
-			while(list(, $thisword) = each($words)) 
+			while(list(, $thisword) = each($words))
 			{
-				while((strlen($thisword)) > $chars) 
+				while((strlen($thisword)) > $chars)
 				{
 					$cur_pos = 0;
 					for($i=0; $i < $chars - 1; $i++)
@@ -361,20 +361,20 @@
 					$thisword = substr($thisword, $cur_pos, (strlen($thisword) - $cur_pos));
 				}
 				
-				if ((strlen($line) + strlen($thisword)) > $chars) 
+				if ((strlen($line) + strlen($thisword)) > $chars)
 				{
 					$output .= $line."\n";
 					$line = $thisword." ";
-				} 
-				else 
+				}
+				else
 				{
 					$line .= $thisword." ";
 				}
 			}
 
 			$output .= $line."\n";
-		} 
-		else 
+		}
+		else
 		{
 			$output .= $thisline."\n";
 		}
diff --git a/system/helpers/typography_helper.php b/system/helpers/typography_helper.php
index fe9e3bb..1681fa3 100644
--- a/system/helpers/typography_helper.php
+++ b/system/helpers/typography_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -46,12 +46,12 @@
 		{
 			$newstr .= nl2br($ex[$i]);
 		}
-		else 
+		else
 		{
 			$newstr .= $ex[$i];
 		}
 		
-		if ($ct - 1 != $i) 
+		if ($ct - 1 != $i)
 			$newstr .= "pre>";
 	}
 	
@@ -62,7 +62,7 @@
 
 /**
  * Auto Typography Wrapper Function
- * 
+ *
  *
  * @access	public
  * @param	string
@@ -78,7 +78,7 @@
 
 /**
  * Auto Typography Class
- * 
+ *
  *
  * @access		private
  * @category	Helpers
@@ -117,7 +117,7 @@
 		/*
 		 * Reduce line breaks
 		 *
-		 * If there are more than two consecutive line 
+		 * If there are more than two consecutive line
 		 * breaks we'll compress them down to a maximum
 		 * of two since there's no benefit to more.
 		 *
@@ -127,8 +127,8 @@
 		/*
 		 * Convert quotes within tags to temporary marker
 		 *
-		 * We don't want quotes converted within 
-		 * tags so we'll temporarily convert them to 
+		 * We don't want quotes converted within
+		 * tags so we'll temporarily convert them to
 		 * {@DQ} and {@SQ}
 		 *
 		 */			
@@ -136,7 +136,7 @@
 		{
 			for ($i = 0; $i < count($matches['0']); $i++)
 			{
-				$str = str_replace($matches['0'][$i], 
+				$str = str_replace($matches['0'][$i],
 									str_replace(array("'",'"'), array('{@SQ}', '{@DQ}'), $matches['0'][$i]),
 									$str);
 			}
@@ -159,7 +159,7 @@
 		 * Convert "ignore" tags to temporary marker
 		 *
 		 * The parser splits out the string at every tag
-		 * it encounters.  Certain inline tags, like image 
+		 * it encounters.  Certain inline tags, like image
 		 * tags, links, span tags, etc. will be adversely
 		 * affected if they are split out so we'll convert
 		 * the opening < temporarily to: {@TAG}
@@ -202,7 +202,7 @@
 			 * to skip <pre> tags and a few other things.
 			 *
 			 */
-			if (preg_match("#<(/*)(".$this->block_elements.").*?\>#", $chunk, $match)) 
+			if (preg_match("#<(/*)(".$this->block_elements.").*?\>#", $chunk, $match))
 			{
 				if (preg_match("#".$this->skip_elements."#", $match['2']))
 				{
@@ -244,7 +244,7 @@
 		// Fix an artifact that happens during the paragraph replacement
 		$str = preg_replace('#(<p>\n*</p>)#', '', $str);
 
-		// If the user submitted their own paragraph tags with class data 
+		// If the user submitted their own paragraph tags with class data
 		// in them we will retain them instead of using our tags.
 		$str = preg_replace('#(<p.*?>)<p>#', "\\1", $str);
 
@@ -444,8 +444,8 @@
 		}
 		
 		// Ellipsis
-		$str = preg_replace("#(\w)\.\.\.(\s|<br />|</p>)#", "\\1&#8230;\\2", $str); 
-		$str = preg_replace("#(\s|<br />|</p>)\.\.\.(\w)#", "\\1&#8230;\\2", $str); 
+		$str = preg_replace("#(\w)\.\.\.(\s|<br />|</p>)#", "\\1&#8230;\\2", $str);
+		$str = preg_replace("#(\s|<br />|</p>)\.\.\.(\w)#", "\\1&#8230;\\2", $str);
 		
 		// Run the translation array we defined above		
 		$str = str_replace(array_keys($table), array_values($table), $str);
@@ -536,5 +536,5 @@
 	}	
 }
 
- 
+
 ?>
\ No newline at end of file
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php
index 2f93bcf..cd628c6 100644
--- a/system/helpers/url_helper.php
+++ b/system/helpers/url_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -30,7 +30,7 @@
 /**
  * Site URL
  *
- * Create a local URL based on your basepath. Segments can be passed via the 
+ * Create a local URL based on your basepath. Segments can be passed via the
  * first parameter either as a string or an array.
  *
  * @access	public
@@ -38,7 +38,7 @@
  * @return	string
  */	
 function site_url($uri = '')
-{ 
+{
 	$CI =& get_instance();
 	return $CI->config->site_url($uri);
 }
@@ -54,7 +54,7 @@
  * @return	string
  */	
 function base_url()
-{ 
+{
 	$CI =& get_instance();
 	return $CI->config->slash_item('base_url');
 }
@@ -70,7 +70,7 @@
  * @return	string
  */	
 function index_page()
-{ 
+{
 	$CI =& get_instance();
 	return $CI->config->item('index_page');
 }
@@ -173,7 +173,7 @@
  */
 function mailto($email, $title = '', $attributes = '')
 {
-	if ($title == "") 
+	if ($title == "")
 	{
 		$title = $email;
 	}
@@ -201,7 +201,7 @@
  */
 function safe_mailto($email, $title = '', $attributes = '')
 {
-	if ($title == "") 
+	if ($title == "")
 	{
 		$title = $email;
 	}
@@ -216,7 +216,7 @@
 		$x[] = "|".ord(substr($email, $i, 1));
 	}
 
-	$x[] = '"'; 
+	$x[] = '"';
 
 	if ($attributes != '')
 	{
@@ -250,7 +250,7 @@
 	
 		if ($ordinal < 128)
 		{
-			$x[] = "|".$ordinal;            
+			$x[] = "|".$ordinal;
 		}
 		else
 		{
@@ -266,7 +266,7 @@
 				$x[] = "|".$number;
 				$count = 1;
 				$temp = array();
-			}   
+			}
 		}
 	}
 	
@@ -282,15 +282,15 @@
 $i = 0;
 foreach ($x as $val){ ?>l[<?php echo $i++; ?>]='<?php echo $val; ?>';<?php } ?>
 
-for (var i = l.length-1; i >= 0; i=i-1){ 
-if (l[i].substring(0, 1) == '|') document.write("&#"+unescape(l[i].substring(1))+";"); 
+for (var i = l.length-1; i >= 0; i=i-1){
+if (l[i].substring(0, 1) == '|') document.write("&#"+unescape(l[i].substring(1))+";");
 else document.write(unescape(l[i]));}
 //]]>
 </script><?php
 
 	$buffer = ob_get_contents();
-	ob_end_clean(); 
-	return $buffer;        
+	ob_end_clean();
+	return $buffer;
 }
 	
 // ------------------------------------------------------------------------
@@ -305,7 +305,7 @@
  *
  * @access	public
  * @param	string	the string
- * @param	string	the type: email, url, or both 
+ * @param	string	the type: email, url, or both
  * @param	bool 	whether to create pop-up links
  * @return	string
  */
@@ -427,7 +427,7 @@
 	foreach ($trans as $key => $val)
 	{
 		$str = preg_replace("#".$key."#", $val, $str);
-	} 
+	}
 	
 	return trim(stripslashes($str));
 }
@@ -445,12 +445,12 @@
  * @return	string
  */
 function redirect($uri = '', $method = 'location')
-{  
+{
 	switch($method)
 	{
 		case 'refresh' : header("Refresh:0;url=".site_url($uri));
 			break;
-		default        : header("location:".site_url($uri));
+		default		: header("location:".site_url($uri));
 			break;
 	}
 	exit;
diff --git a/system/helpers/xml_helper.php b/system/helpers/xml_helper.php
index ee3fc28..4cc91f4 100644
--- a/system/helpers/xml_helper.php
+++ b/system/helpers/xml_helper.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -49,7 +49,7 @@
 	$str = preg_replace("/$temp(\w+);/","&\\1;", $str);
 		
 	return $str;
-}    
+}
 
 
 ?>
\ No newline at end of file
diff --git a/system/libraries/Benchmark.php b/system/libraries/Benchmark.php
index 44c32a8..66e8a24 100644
--- a/system/libraries/Benchmark.php
+++ b/system/libraries/Benchmark.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -43,18 +43,18 @@
 	 * @param	string	$name	name of the marker
 	 * @return	void
 	 */
-    function mark($name)
-    {
-        $this->marker[$name] = microtime();
-    }
+	function mark($name)
+	{
+		$this->marker[$name] = microtime();
+	}
   	
 	// --------------------------------------------------------------------
 
 	/**
 	 * Calculates the time difference between two marked points.
 	 *
-	 * If the first parameter is empty this function instead returns the 
-	 * {elapsed_time} pseudo-variable. This permits the full system 
+	 * If the first parameter is empty this function instead returns the
+	 * {elapsed_time} pseudo-variable. This permits the full system
 	 * execution time to be shown in a template. The output class will
 	 * swap the real value for this variable.
 	 *
@@ -64,28 +64,28 @@
 	 * @param	integer	the number of decimal places
 	 * @return	mixed
 	 */
-    function elapsed_time($point1 = '', $point2 = '', $decimals = 4)
-    {
-    	if ($point1 == '')
-    	{
+	function elapsed_time($point1 = '', $point2 = '', $decimals = 4)
+	{
+		if ($point1 == '')
+		{
 			return '{elapsed_time}';
-    	}
-    	
-    	if ( ! isset($this->marker[$point1]))
-    	{
-    		return '';
-    	}
-    	    
-    	if ( ! isset($this->marker[$point2]))
-    	{
-        	$this->marker[$point2] = microtime();
-        }
-        	    
-        list($sm, $ss) = explode(' ', $this->marker[$point1]);
-        list($em, $es) = explode(' ', $this->marker[$point2]);
-                        
-        return number_format(($em + $es) - ($sm + $ss), $decimals);
-    }
+		}
+		
+		if ( ! isset($this->marker[$point1]))
+		{
+			return '';
+		}
+		
+		if ( ! isset($this->marker[$point2]))
+		{
+			$this->marker[$point2] = microtime();
+		}
+			
+		list($sm, $ss) = explode(' ', $this->marker[$point1]);
+		list($em, $es) = explode(' ', $this->marker[$point2]);
+
+		return number_format(($em + $es) - ($sm + $ss), $decimals);
+	}
  	
 	// --------------------------------------------------------------------
 
@@ -93,8 +93,8 @@
 	 * Memory Usage
 	 *
 	 * This function returns the {memory_usage} pseudo-variable.
-	 * This permits it to be put it anywhere in a template 
-	 * without the memory being calculated until the end. 
+	 * This permits it to be put it anywhere in a template
+	 * without the memory being calculated until the end.
 	 * The output class will swap the real value for this variable.
 	 *
 	 * @access	public
diff --git a/system/libraries/Calendar.php b/system/libraries/Calendar.php
index ec355d2..84b096c 100644
--- a/system/libraries/Calendar.php
+++ b/system/libraries/Calendar.php
@@ -7,25 +7,25 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Code Igniter Calendar Class
  *
- * This class enables the creation of calendars 
+ * This class enables the creation of calendars
  *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
  * @author		Rick Ellis
  * @link		http://www.codeigniter.com/user_guide/libraries/calendar.html
- */ 
+ */
 class CI_Calendar {
 
 	var $CI;
@@ -78,7 +78,7 @@
 				$this->$key = $val;
 			}
 		}
-	} 
+	}
 	
 	// --------------------------------------------------------------------
 
@@ -91,13 +91,13 @@
 	 * @param	array	the data to be shown in the calendar cells
 	 * @return	string
 	 */
-    function generate($year = '', $month = '', $data = array())
-    {
+	function generate($year = '', $month = '', $data = array())
+	{
 		// Set and validate the supplied month/year
-    	if ($year == '')
-    		$year  = date("Y", $this->local_time);
-    		
-    	if ($month == '')
+		if ($year == '')
+			$year  = date("Y", $this->local_time);
+			
+		if ($month == '')
 			$month = date("m", $this->local_time);
 			
  		if (strlen($year) == 1)
@@ -112,10 +112,10 @@
 		$adjusted_date = $this->adjust_date($month, $year);
 		
 		$month	= $adjusted_date['month'];
-		$year	= $adjusted_date['year'];  
+		$year	= $adjusted_date['year'];
 		
 		// Determine the total days in the month
-		$total_days = $this->get_total_days($month, $year); 
+		$total_days = $this->get_total_days($month, $year);
 						
 		// Set the starting day of the week
 		$start_days	= array('sunday' => 0, 'monday' => 1, 'tuesday' => 2, 'wednesday' => 3, 'thursday' => 4, 'friday' => 5, 'saturday' => 6);
@@ -194,7 +194,7 @@
 		$out .= $this->temp['week_row_end'];
 		$out .= "\n";
 
-		// Build the main body of the calendar        
+		// Build the main body of the calendar
 		while ($day <= $total_days)
 		{
 			$out .= "\n";
@@ -202,7 +202,7 @@
 			$out .= "\n";
 
 			for ($i = 0; $i < 7; $i++)
-			{ 
+			{
 				$out .= ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_start_today'] : $this->temp['cal_cell_start'];
 			
 				if ($day > 0 AND $day <= $total_days)
@@ -226,27 +226,27 @@
 					$out .= $this->temp['cal_cell_blank'];
 				}
 				
-				$out .= ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_end_today'] : $this->temp['cal_cell_end'];				      	        
-        	    $day++;
+				$out .= ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_end_today'] : $this->temp['cal_cell_end'];					  	
+				$day++;
 			}
 			
-			$out .= "\n";    	    
+			$out .= "\n";		
 			$out .= $this->temp['cal_row_end'];
-			$out .= "\n";    	    
+			$out .= "\n";		
 		}
 
-		$out .= "\n";    	
+		$out .= "\n";		
 		$out .= $this->temp['table_close'];
 
 		return $out;
-    }
+	}
 	
 	// --------------------------------------------------------------------
 
 	/**
 	 * Get Month Name
 	 *
-	 * Generates a textual month name based on the numeric 
+	 * Generates a textual month name based on the numeric
 	 * month provided.
 	 *
 	 * @access	public
@@ -275,12 +275,12 @@
 	}
 	
 	// --------------------------------------------------------------------
- 
+
 	/**
 	 * Get Day Names
 	 *
 	 * Returns an array of day names (Sunday, Monday, etc.) based
-	 * on the type.  Options: long, short, abrev 
+	 * on the type.  Options: long, short, abrev
 	 *
 	 * @access	public
 	 * @param	string
@@ -327,32 +327,32 @@
 	 * @param	integer	the year
 	 * @return	array
 	 */
-    function adjust_date($month, $year)
-    {
-        $date = array(); 
-                
-        $date['month']	= $month;
-        $date['year']	= $year;
-        
-        while ($date['month'] > 12)
-        {
-            $date['month'] -= 12;
-            $date['year']++;
-        }
-        
-        while ($date['month'] <= 0)
-        {
-            $date['month'] += 12;
-            $date['year']--;
-        }
-        
-        if (strlen($date['month']) == 1)
-        {
-        	$date['month'] = '0'.$date['month'];
-        }
-        
-        return $date;
-    }
+	function adjust_date($month, $year)
+	{
+		$date = array();
+
+		$date['month']	= $month;
+		$date['year']	= $year;
+
+		while ($date['month'] > 12)
+		{
+			$date['month'] -= 12;
+			$date['year']++;
+		}
+
+		while ($date['month'] <= 0)
+		{
+			$date['month'] += 12;
+			$date['year']--;
+		}
+
+		if (strlen($date['month']) == 1)
+		{
+			$date['month'] = '0'.$date['month'];
+		}
+
+		return $date;
+	}
  	
 	// --------------------------------------------------------------------
 
@@ -364,26 +364,26 @@
 	 * @param	integer	the year
 	 * @return	integer
 	 */
-    function get_total_days($month, $year)
-    {
-    	$days_in_month	= array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
-    
-        if ($month < 1 OR $month > 12)
-        {
-            return 0;
-        }
-        
-        // Is the year a leap year?
-        if ($month == 2)
-        {        
+	function get_total_days($month, $year)
+	{
+		$days_in_month	= array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
+
+		if ($month < 1 OR $month > 12)
+		{
+			return 0;
+		}
+
+		// Is the year a leap year?
+		if ($month == 2)
+		{
 			if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0))
 			{
 				return 29;
 			}
-        }
-    
-        return $days_in_month[$month - 1];
-    }
+		}
+
+		return $days_in_month[$month - 1];
+	}
 	
 	// --------------------------------------------------------------------
 
diff --git a/system/libraries/Config.php b/system/libraries/Config.php
index ef6d46a..aa26c92 100644
--- a/system/libraries/Config.php
+++ b/system/libraries/Config.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -36,12 +36,12 @@
 	 *
 	 * Sets the $config data from the primary config.php file as a class variable
 	 *
-     * @access   public
-     * @param   string    the config file name
-     * @param   boolean  if configuration values should be loaded into their own section
-     * @param   boolean  true if errors should just return false, false if an error message should be displayed
-     * @return  boolean  if the file was successfully loaded or not
-     */
+	 * @access   public
+	 * @param   string	the config file name
+	 * @param   boolean  if configuration values should be loaded into their own section
+	 * @param   boolean  true if errors should just return false, false if an error message should be displayed
+	 * @return  boolean  if the file was successfully loaded or not
+	 */
 	function CI_Config()
 	{
 		$this->config = get_config();
@@ -62,7 +62,7 @@
 		$file = ($file == '') ? 'config' : str_replace(EXT, '', $file);
 	
 		if (in_array($file, $this->is_loaded, TRUE))
-		{                
+		{
 			return TRUE;
 		}
 
@@ -125,7 +125,7 @@
 	{			
 		if ($index == '')
 		{	
-			if ( ! isset($this->config[$item])) 
+			if ( ! isset($this->config[$item]))
 			{
 				return FALSE;
 			}
@@ -134,7 +134,7 @@
 		}
 		else
 		{
-			if ( ! isset($this->config[$index])) 
+			if ( ! isset($this->config[$index]))
 			{
 				return FALSE;
 			}
@@ -147,7 +147,7 @@
 			$pref = $this->config[$index][$item];
 		}
 
-        return $pref;
+		return $pref;
 	}
   	
   	// --------------------------------------------------------------------
@@ -165,7 +165,7 @@
 	 */		
 	function slash_item($item)
 	{
-		if ( ! isset($this->config[$item])) 
+		if ( ! isset($this->config[$item]))
 		{
 			return FALSE;
 		}
@@ -179,8 +179,8 @@
 				$pref .= '/';
 			}
 		}
-        
-        return $pref;
+
+		return $pref;
 	}
   	
 	// --------------------------------------------------------------------
@@ -195,7 +195,7 @@
 	function site_url($uri = '')
 	{
 		if (is_array($uri))
-		{ 
+		{
 			$uri = implode('/', $uri);
 		}
 		
diff --git a/system/libraries/Controller.php b/system/libraries/Controller.php
index 3db408b..b1feee8 100644
--- a/system/libraries/Controller.php
+++ b/system/libraries/Controller.php
@@ -7,18 +7,18 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Code Igniter Application Controller Class
  *
- * This class object is the super class the every library in 
+ * This class object is the super class the every library in
  * Code Igniter will be assigned to.
  *
  * @package		CodeIgniter
@@ -45,7 +45,7 @@
 		$this->_ci_initialize();
 		log_message('debug', "Controller Class Initialized");
 	}
-  
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -56,17 +56,17 @@
 	 *
 	 * @access	private
 	 * @return	void
-	 */  
+	 */
 	function _ci_initialize()
 	{
 		// Assign all the class objects that were instantiated by the
-		// front controller to local class variables so that CI can be 
+		// front controller to local class variables so that CI can be
 		// run as one big super object.
 		$classes = array(
-							'config'	=> 'Config', 
-							'input'		=> 'Input', 
-							'benchmark'	=> 'Benchmark', 
-							'uri'		=> 'URI', 
+							'config'	=> 'Config',
+							'input'		=> 'Input',
+							'benchmark'	=> 'Benchmark',
+							'uri'		=> 'URI',
 							'output'	=> 'Output',
 							'lang'		=> 'Language'
 							);
@@ -76,7 +76,7 @@
 			$this->$var =& load_class($class);
 		}
 
-		// In PHP 5 the Controller class is run as a discreet 
+		// In PHP 5 the Controller class is run as a discreet
 		// class.  In PHP 4 it extends the Controller
 		if (floor(phpversion()) >= 5)
 		{
@@ -97,8 +97,8 @@
 	 * @access	private
 	 * @return	void
 	 */	
-    function _ci_scaffolding()
-    {
+	function _ci_scaffolding()
+	{
 		if ($this->_ci_scaffolding === FALSE OR $this->_ci_scaff_table === FALSE)
 		{
 			show_404('Scaffolding unavailable');
@@ -109,8 +109,8 @@
 		require_once(BASEPATH.'scaffolding/Scaffolding'.EXT);
 		$scaff = new Scaffolding($this->_ci_scaff_table);
 		$scaff->$method();
-    }
-    
+	}
+
 
 }
 // END _Controller class
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index eb04ae9..92f2e73 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -87,7 +87,7 @@
 
 		log_message('debug', "Email Class Initialized");
 	}
-  
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -116,7 +116,7 @@
 				}			
 			}
 		}
-        $this->_smtp_auth = ($this->smtp_user == '' AND $this->smtp_pass == '') ? FALSE : TRUE;			
+		$this->_smtp_auth = ($this->smtp_user == '' AND $this->smtp_pass == '') ? FALSE : TRUE;			
 		$this->_safe_mode = (@ini_get("safe_mode") == 0) ? FALSE : TRUE;
 	}
   	
@@ -142,12 +142,12 @@
 		$this->_set_header('User-Agent', $this->useragent);				
 		$this->_set_header('Date', $this->_set_date());
 		
-        if ($clear_attachments !== FALSE) 
-        {
-            $this->_attach_name = array();
-            $this->_attach_type = array();
-            $this->_attach_disp = array();
-        }   		
+		if ($clear_attachments !== FALSE)
+		{
+			$this->_attach_name = array();
+			$this->_attach_type = array();
+			$this->_attach_disp = array();
+		}   		
 	}
   	
 	// --------------------------------------------------------------------
@@ -344,9 +344,9 @@
 	{			
 		$this->_attach_name[] = $filename;
 		$this->_attach_type[] = $this->_mime_types(next(explode('.', basename($filename))));
-		$this->_attach_disp[] = $disposition; // Can also be 'inline'  Not sure if it matters 
+		$this->_attach_disp[] = $disposition; // Can also be 'inline'  Not sure if it matters
 	}
-  
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -450,7 +450,7 @@
 	 * @return	void
 	 */	
 	function set_protocol($protocol = 'mail')
-	{ 
+	{
 		$this->protocol = ( ! in_array($protocol, $this->_protocols, TRUE)) ? 'mail' : strtolower($protocol);
 	}
   	
@@ -528,7 +528,7 @@
 		$from = str_replace(">", "", $from);
 		$from = str_replace("<", "", $from);
 	
-        return  "<".uniqid('').strstr($from, '@').">";	        
+		return  "<".uniqid('').strstr($from, '@').">";	
 	}
   	
 	// --------------------------------------------------------------------
@@ -545,7 +545,7 @@
 		$this->protocol = strtolower($this->protocol);
 		$this->protocol = ( ! in_array($this->protocol, $this->_protocols, TRUE)) ? 'mail' : $this->protocol;
 		
-		if ($return == true) 
+		if ($return == true)
 			return $this->protocol;
 	}
   	
@@ -562,13 +562,13 @@
 	{		
 		$this->_encoding = ( ! in_array($this->_encoding, $this->_bit_depths)) ? '7bit' : $this->_encoding;
 		
-		if ( ! in_array($this->charset, $this->_base_charsets, TRUE)) 
+		if ( ! in_array($this->charset, $this->_base_charsets, TRUE))
 			$this->_encoding = "8bit";
 			
-		if ($return == true) 
+		if ($return == true)
 			return $this->_encoding;
 	}
-  
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -641,7 +641,7 @@
 
 		foreach ($email as $val)
 		{
-			if ( ! $this->valid_email($val)) 
+			if ( ! $this->valid_email($val))
 			{
 				$this->_set_error_message('email_invalid_address', $val);				
 				return FALSE;
@@ -662,7 +662,7 @@
 	{
 		if ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $address))
 			return FALSE;
-		else 
+		else
 			return TRUE;
 	}
   	
@@ -680,19 +680,19 @@
 		if ( ! is_array($email))
 		{
 			if (preg_match('/\<(.*)\>/', $email, $match))
-           		return $match['1'];
-           	else
-           		return $email;
+		   		return $match['1'];
+		   	else
+		   		return $email;
 		}
 			
 		$clean_email = array();
 
-		for ($i=0; $i < count($email); $i++) 
+		for ($i=0; $i < count($email); $i++)
 		{
 			if (preg_match( '/\<(.*)\>/', $email[$i], $match))
-           		$clean_email[] = $match['1'];
-           	else
-           		$clean_email[] = $email[$i];
+		   		$clean_email[] = $match['1'];
+		   	else
+		   		$clean_email[] = $email[$i];
 		}
 		
 		return $clean_email;
@@ -705,7 +705,7 @@
 	 *
 	 * This function provides the raw message for use
 	 * in plain-text headers of HTML-formatted emails.
-	 * If the user hasn't specified his own alternative message  
+	 * If the user hasn't specified his own alternative message
 	 * it creates one by stripping the HTML
 	 *
 	 * @access	private
@@ -764,7 +764,7 @@
 		
 		$output = "";
 
-		while (list(, $thisline) = each($lines)) 
+		while (list(, $thisline) = each($lines))
 		{
 			if (strlen($thisline) > $chars)
 			{
@@ -772,9 +772,9 @@
 				
 				$words = split(" ", $thisline);
 				
-				while(list(, $thisword) = each($words)) 
+				while(list(, $thisword) = each($words))
 				{
-					while((strlen($thisword)) > $chars) 
+					while((strlen($thisword)) > $chars)
 					{
 						if (stristr($thisword, '{unwrap}') !== FALSE OR stristr($thisword, '{/unwrap}') !== FALSE)
 						{
@@ -794,21 +794,21 @@
 						$thisword = substr($thisword, $cur_pos, (strlen($thisword) - $cur_pos));
 					}
 					
-					if ((strlen($line) + strlen($thisword)) > $chars) 
+					if ((strlen($line) + strlen($thisword)) > $chars)
 					{
 						$output .= $line."\n";
 						
 						$line = $thisword." ";
-					} 
-					else 
+					}
+					else
 					{
 						$line .= $thisword." ";
 					}
 				}
 	
 				$output .= $line."\n";
-			} 
-			else 
+			}
+			else
 			{
 				$output .= $thisline."\n";
 			}
@@ -854,7 +854,7 @@
 		reset($this->_headers);
 		$this->_header_str = "";
 				
-		foreach($this->_headers as $key => $val) 
+		foreach($this->_headers as $key => $val)
 		{
 			$val = trim($val);
 		
@@ -972,7 +972,7 @@
 				{
 					$this->_header_str .= $hdr;	
 					
-					$body  = $this->_body . $this->newline . $this->newline; 
+					$body  = $this->_body . $this->newline . $this->newline;
 					$body .= "--" . $this->_alt_boundary . "--" . $this->newline . $this->newline;				
 				}
 				
@@ -995,7 +995,7 @@
 						
 			if ( ! file_exists($filename))
 			{
-				$this->_set_error_message('email_attachment_missing', $filename); 
+				$this->_set_error_message('email_attachment_missing', $filename);
 				return FALSE;
 			}			
 
@@ -1010,7 +1010,7 @@
 			
 			if ( ! $fp = fopen($filename, 'r'))
 			{
-				$this->_set_error_message('email_attachment_unredable', $filename); 
+				$this->_set_error_message('email_attachment_unredable', $filename);
 				return FALSE;
 			}
 			
@@ -1128,10 +1128,10 @@
 	 * @access	private
 	 * @return	void
 	 */	
-    function _unwrap_specials()
-    {
-        $this->_finalbody = preg_replace_callback("/\{unwrap\}(.*?)\{\/unwrap\}/si", array($this, '_remove_nl_callback'), $this->_finalbody);
-    }
+	function _unwrap_specials()
+	{
+		$this->_finalbody = preg_replace_callback("/\{unwrap\}(.*?)\{\/unwrap\}/si", array($this, '_remove_nl_callback'), $this->_finalbody);
+	}
   	
 	// --------------------------------------------------------------------
 
@@ -1141,10 +1141,10 @@
 	 * @access	private
 	 * @return	string
 	 */	
-    function _remove_nl_callback($matches)
-    {
-        return preg_replace("/(\r\n)|(\r)|(\n)/", "", $matches['1']);    
-    }
+	function _remove_nl_callback($matches)
+	{
+		return preg_replace("/(\r\n)|(\r)|(\n)/", "", $matches['1']);
+	}
   	
 	// --------------------------------------------------------------------
 
@@ -1156,7 +1156,7 @@
 	 */	
 	function _spool_email()
 	{
-	    $this->_unwrap_specials();
+		$this->_unwrap_specials();
 
 		switch ($this->_get_protocol())
 		{
@@ -1168,7 +1168,7 @@
 						return FALSE;
 					}
 			break;
-			case 'sendmail'	: 
+			case 'sendmail'	:
 								
 					if ( ! $this->_send_with_sendmail())
 					{
@@ -1176,7 +1176,7 @@
 						return FALSE;
 					}
 			break;
-			case 'smtp'	: 
+			case 'smtp'	:
 								
 					if ( ! $this->_send_with_smtp())
 					{
@@ -1252,8 +1252,8 @@
 	 */	
 	function _send_with_smtp()
 	{	
-	    if ($this->smtp_host == '')
-	    {	
+		if ($this->smtp_host == '')
+		{	
 			$this->_set_error_message('email_no_hostname');		
 			return FALSE;
 		}
@@ -1316,10 +1316,10 @@
 	function _smtp_connect()
 	{
 	
-		$this->_smtp_connect = fsockopen($this->smtp_host, 
+		$this->_smtp_connect = fsockopen($this->smtp_host,
 										$this->smtp_port,
-										$errno, 
-										$errstr, 
+										$errno,
+										$errstr,
 										$this->smtp_timeout);
 
 		if( ! is_resource($this->_smtp_connect))
@@ -1478,17 +1478,17 @@
 	 */	
 	function _get_smtp_data()
 	{
-        $data = "";
-    
-		while ($str = fgets($this->_smtp_connect, 512)) 
-		{            
+		$data = "";
+
+		while ($str = fgets($this->_smtp_connect, 512))
+		{
 			$data .= $str;
 			
 			if (substr($str, 3, 1) == " ")
 				break; 	
-    	}
-    	
-    	return $data;
+		}
+		
+		return $data;
 	}
   	
 	// --------------------------------------------------------------------
@@ -1567,7 +1567,6 @@
 		$msg .= "<pre>".$this->_header_str."\n".$this->_subject."\n".$this->_finalbody.'</pre>';	
 		return $msg;
 	}	
-  	// print_debugger()
   	
 	// --------------------------------------------------------------------
 
diff --git a/system/libraries/Encrypt.php b/system/libraries/Encrypt.php
index b7dba25..0f860a9 100644
--- a/system/libraries/Encrypt.php
+++ b/system/libraries/Encrypt.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -98,12 +98,12 @@
 	/**
 	 * Encode
 	 *
-	 * Encodes the message string using bitwise XOR encoding.  
-	 * The key is combined with a random hash, and then it 
-	 * too gets converted using XOR. The whole thing is then run 
-	 * through mcrypt (if supported) using the randomized key.  
-	 * The end result is a double-encrypted message string 
-	 * that is randomized with each call to this function, 
+	 * Encodes the message string using bitwise XOR encoding.
+	 * The key is combined with a random hash, and then it
+	 * too gets converted using XOR. The whole thing is then run
+	 * through mcrypt (if supported) using the randomized key.
+	 * The end result is a double-encrypted message string
+	 * that is randomized with each call to this function,
 	 * even if the supplied message and key are the same.
 	 *
 	 * @access	public
@@ -169,8 +169,8 @@
 	function _xor_encode($string, $key)
 	{
 		$rand = '';
-		while (strlen($rand) < 32) 
-		{    
+		while (strlen($rand) < 32)
+		{
 			$rand .= mt_rand(0, mt_getrandmax());
 		}
 	
@@ -190,7 +190,7 @@
 	/**
 	 * XOR Decode
 	 *
-	 * Takes an encoded string and key as input and generates the 
+	 * Takes an encoded string and key as input and generates the
 	 * plain-text original message
 	 *
 	 * @access	private
@@ -245,7 +245,7 @@
 	 * @param	string
 	 * @return	string
 	 */
-	function mcrypt_encode($data, $key) 
+	function mcrypt_encode($data, $key)
 	{	
 		$init_size = mcrypt_get_iv_size($this->_get_cipher(), $this->_get_mode());
 		$init_vect = mcrypt_create_iv($init_size, MCRYPT_RAND);
@@ -262,7 +262,7 @@
 	 * @param	string
 	 * @return	string
 	 */	
-	function mcrypt_decode($data, $key) 
+	function mcrypt_decode($data, $key)
 	{
 		$init_size = mcrypt_get_iv_size($this->_get_cipher(), $this->_get_mode());
 		$init_vect = mcrypt_create_iv($init_size, MCRYPT_RAND);
@@ -307,7 +307,7 @@
 	 */	
 	function _get_cipher()
 	{
-		if ($this->_mcrypt_cipher == '') 
+		if ($this->_mcrypt_cipher == '')
 		{
 			$this->_mcrypt_cipher = MCRYPT_RIJNDAEL_256;
 		}
@@ -325,7 +325,7 @@
 	 */	
 	function _get_mode()
 	{
-		if ($this->_mcrypt_mode == '') 
+		if ($this->_mcrypt_mode == '')
 		{
 			$this->_mcrypt_mode = MCRYPT_MODE_ECB;
 		}
@@ -378,7 +378,7 @@
 			{	
 				require_once(BASEPATH.'libraries/Sha1'.EXT);
 				$SH = new CI_SHA;
-				return $SH->generate($str);            
+				return $SH->generate($str);
 			}
 			else
 			{
@@ -389,7 +389,7 @@
 		{
 			return sha1($str);
 		}	
-	}  
+	}
 	
 }
 
diff --git a/system/libraries/Exceptions.php b/system/libraries/Exceptions.php
index a0591e4..6d58ee6 100644
--- a/system/libraries/Exceptions.php
+++ b/system/libraries/Exceptions.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Exceptions Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Exceptions
@@ -48,7 +48,7 @@
 
 
 	/**
-	 * Constructor 
+	 * Constructor
 	 *
 	 */	
 	function CI_Exceptions()
@@ -76,7 +76,7 @@
 		
 		log_message('error', 'Severity: '.$severity.' '.$severity.' --> '.$message. ' '.$filepath.' '.$line, TRUE);
 	}
-  
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -89,7 +89,7 @@
 	function show_404($page = '')
 	{	
 		$heading = "404 Page Not Found";
-		$message = "The page you requested was not found."; 
+		$message = "The page you requested was not found.";
 
 		log_message('error', '404 Page Not Found --> '.$page);
 		echo $this->show_error($heading, $message, 'error_404');
@@ -125,7 +125,7 @@
 		ob_end_clean();
 		return $buffer;
 	}
-  
+
 	// --------------------------------------------------------------------
 
 	/**
diff --git a/system/libraries/Hooks.php b/system/libraries/Hooks.php
index 6f48723..99d2e3e 100644
--- a/system/libraries/Hooks.php
+++ b/system/libraries/Hooks.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -132,7 +132,7 @@
 		// Safety - Prevents run-away loops
 		// -----------------------------------
 	
-		// If the script being called happens to have the same 
+		// If the script being called happens to have the same
 		// hook call within it a loop can happen
 		
 		if ($this->in_progress == TRUE)
@@ -164,17 +164,17 @@
 		$function	= FALSE;
 		$params		= '';
 		
-		if (isset($data['class']) AND $data['class'] != '') 
+		if (isset($data['class']) AND $data['class'] != '')
 		{
 			$class = $data['class'];
 		}
 
-		if (isset($data['function'])) 
+		if (isset($data['function']))
 		{
 			$function = $data['function'];
 		}
 
-		if (isset($data['params'])) 
+		if (isset($data['params']))
 		{
 			$params = $data['params'];
 		}
diff --git a/system/libraries/Image_lib.php b/system/libraries/Image_lib.php
index f8c05f8..561c5c0 100644
--- a/system/libraries/Image_lib.php
+++ b/system/libraries/Image_lib.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Image Manipulation class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Image_lib
@@ -77,7 +77,7 @@
 	var $wm_use_truetype	= FALSE;		
 	
 	/**
-	 * Constructor 
+	 * Constructor
 	 *
 	 * @access	public
 	 * @param	string
@@ -123,7 +123,7 @@
 	 * @return	void
 	 */	
 	function initialize($props = array())
-	{  
+	{
 		/*
 		 * Convert array elements into class variables
 		 */
@@ -144,7 +144,7 @@
 		if ($this->source_image == '')
 		{
 			$this->set_error('imglib_source_image_required');
-			return FALSE;       	
+			return FALSE;	   	
 		}
 		
 		/*
@@ -155,7 +155,7 @@
 		 * properties using ImageMagick and NetPBM
 		 *
 		 */		
-		if ( ! function_exists('getimagesize')) 
+		if ( ! function_exists('getimagesize'))
 		{
 			$this->set_error('imglib_gd_required_for_props');
 			return FALSE;		
@@ -173,7 +173,7 @@
 		 */	
 		if (function_exists('realpath') AND @realpath($this->source_image) !== FALSE)
 		{
-			$full_source_path = str_replace("\\", "/", realpath($this->source_image)); 
+			$full_source_path = str_replace("\\", "/", realpath($this->source_image));
 		}
 		else
 		{
@@ -187,7 +187,7 @@
 		// Set the Image Properties
 		if ( ! $this->get_image_properties($this->source_folder.$this->source_image))
 		{
-			return FALSE;       	
+			return FALSE;	   	
 		}				
 
 		/*
@@ -215,11 +215,11 @@
 			{
 				if (function_exists('realpath') AND @realpath($this->new_image) !== FALSE)
 				{
-					$full_dest_path = str_replace("\\", "/", realpath($this->new_image)); 
+					$full_dest_path = str_replace("\\", "/", realpath($this->new_image));
 				}
 				else
 				{
-					$full_dest_path = $this->new_image; 
+					$full_dest_path = $this->new_image;
 				}
 				
 				// Is there a file name?
@@ -257,7 +257,7 @@
 		$filename = $xp['name'];
 		$file_ext = $xp['ext'];
 				
-		$this->full_src_path = $this->source_folder.$this->source_image;    	
+		$this->full_src_path = $this->source_folder.$this->source_image;		
 		$this->full_dst_path = $this->dest_folder.$filename.$this->thumb_marker.$file_ext;
 
 		/*
@@ -316,7 +316,7 @@
 	
 		if ($this->wm_overlay_path != '')
 		{
-			$this->wm_overlay_path = str_replace("\\", "/", realpath($this->wm_overlay_path)); 
+			$this->wm_overlay_path = str_replace("\\", "/", realpath($this->wm_overlay_path));
 		}
 	
 		if ($this->wm_shadow_color != '')
@@ -330,7 +330,7 @@
 		}
 
 		return TRUE;
-	} 
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -397,7 +397,7 @@
 		if ($this->rotation_angle == '' OR ! in_array($this->rotation_angle, $degs, TRUE))
 		{
 			$this->set_error('imglib_rotation_angle_required');
-			return FALSE;       	
+			return FALSE;	   	
 		}
 	
 		// Reassign the width and height
@@ -454,7 +454,7 @@
 				// We'll return true so the user thinks the process succeeded.
 				// It'll be our little secret...
 	
-				return TRUE; 
+				return TRUE;
 			}
 			
 			//  Reassign the source width/height if cropping
@@ -478,7 +478,7 @@
 				if ( ! @copy($this->full_src_path, $this->full_dst_path))
 				{
 					$this->set_error('imglib_copy_failed');
-					return FALSE; 
+					return FALSE;
 				}
 			
 				@chmod($this->full_dst_path, 0777);
@@ -508,12 +508,12 @@
 			$copy	= 'imagecopyresized';
 		}
 			
-		$dst_img = $create($this->width, $this->height); 
-		$copy($dst_img, $src_img, 0, 0, $this->x_axis, $this->y_axis, $this->width, $this->height, $this->orig_width, $this->orig_height); 
+		$dst_img = $create($this->width, $this->height);
+		$copy($dst_img, $src_img, 0, 0, $this->x_axis, $this->y_axis, $this->width, $this->height, $this->orig_width, $this->orig_height);
 
 		//  Show the image	
 		if ($this->dynamic_output == TRUE)
-		{ 
+		{
 			$this->image_display_gd($dst_img);
 		}
 		else
@@ -526,11 +526,11 @@
 		}
 
 		//  Kill the file handles
-		imagedestroy($dst_img); 
+		imagedestroy($dst_img);
 		imagedestroy($src_img);
 		
 		// Set the file to 777
-		@chmod($this->full_dst_path, 0777);            
+		@chmod($this->full_dst_path, 0777);
 		
 		return TRUE;
 	}
@@ -555,7 +555,7 @@
 			return FALSE;
 		}
 				
-		if ( ! eregi("convert$", $this->library_path)) 
+		if ( ! eregi("convert$", $this->library_path))
 		{
 			if ( ! eregi("/$", $this->library_path)) $this->library_path .= "/";
 		
@@ -593,14 +593,14 @@
 		@exec($cmd, $output, $retval);
 
 		//	Did it work?	
-		if ($retval > 0) 
+		if ($retval > 0)
 		{
 			$this->set_error('imglib_image_process_failed');
 			return FALSE;
 		}
 		
 		// Set the file to 777
-		@chmod($this->full_dst_path, 0777);            
+		@chmod($this->full_dst_path, 0777);
 		
 		return TRUE;
 	}
@@ -675,7 +675,7 @@
 		@exec($cmd, $output, $retval);
 		
 		//  Did it work?
-		if ($retval > 0) 
+		if ($retval > 0)
 		{
 			$this->set_error('imglib_image_process_failed');
 			return FALSE;
@@ -686,7 +686,7 @@
 		// we have to rename the temp file.
 		copy ($this->dest_folder.'netpbm.tmp', $this->full_dst_path);
 		unlink ($this->dest_folder.'netpbm.tmp');
-		@chmod($dst_image, 0777);            
+		@chmod($dst_image, 0777);
 		
 		return TRUE;
 	}
@@ -704,7 +704,7 @@
 		// Is Image Rotation Supported?
 		// this function is only supported as of PHP 4.3
 		if ( ! function_exists('imagerotate'))
-		{ 
+		{
 			$this->set_error('imglib_rotate_unsupported');
 			return FALSE;
 		}
@@ -727,7 +727,7 @@
 	
 		//  Save the Image
 		if ($this->dynamic_output == TRUE)
-		{ 
+		{
 			$this->image_display_gd($dst_img);
 		}
 		else
@@ -740,12 +740,12 @@
 		}
 
 		//  Kill the file handles
-		imagedestroy($dst_img); 
+		imagedestroy($dst_img);
 		imagedestroy($src_img);
 		
 		// Set the file to 777
 		
-		@chmod($this->full_dst_path, 0777);            
+		@chmod($this->full_dst_path, 0777);
 		
 		return true;
 	}
@@ -773,47 +773,47 @@
 		if ($this->rotation_angle == 'hor')
 		{
 			for ($i = 0; $i < $height; $i++)
-			{         
-				$left  = 0; 
-				$right = $width-1; 
+			{
+				$left  = 0;
+				$right = $width-1;
 	
 				while ($left < $right)
-				{ 
-					$cl = imagecolorat($src_img, $left, $i); 
+				{
+					$cl = imagecolorat($src_img, $left, $i);
 					$cr = imagecolorat($src_img, $right, $i);
 					
-					imagesetpixel($src_img, $left, $i, $cr); 
-					imagesetpixel($src_img, $right, $i, $cl); 
+					imagesetpixel($src_img, $left, $i, $cr);
+					imagesetpixel($src_img, $right, $i, $cl);
 					
-					$left++; 
-					$right--; 
-				} 
+					$left++;
+					$right--;
+				}
 			}
 		}
 		else
 		{
 			for ($i = 0; $i < $width; $i++)
-			{         
-				$top = 0; 
-				$bot = $height-1; 
+			{
+				$top = 0;
+				$bot = $height-1;
 	
 				while ($top < $bot)
-				{ 
+				{
 					$ct = imagecolorat($src_img, $i, $top);
 					$cb = imagecolorat($src_img, $i, $bot);
 					
-					imagesetpixel($src_img, $i, $top, $cb); 
-					imagesetpixel($src_img, $i, $bot, $ct); 
+					imagesetpixel($src_img, $i, $top, $cb);
+					imagesetpixel($src_img, $i, $bot, $ct);
 					
-					$top++; 
-					$bot--; 
-				} 
+					$top++;
+					$bot--;
+				}
 			}		
 		}		
 
 		//  Show the image
 		if ($this->dynamic_output == TRUE)
-		{ 
+		{
 			$this->image_display_gd($src_img);
 		}
 		else
@@ -829,7 +829,7 @@
 		imagedestroy($src_img);
 		
 		// Set the file to 777
-		@chmod($this->full_dst_path, 0777);            
+		@chmod($this->full_dst_path, 0777);
 		
 		return TRUE;
 	}
@@ -930,8 +930,8 @@
 		}
 	
 		//  Build the finalized image			
-		if ($wm_img_type == 3 AND function_exists('imagealphablending')) 
-		{ 
+		if ($wm_img_type == 3 AND function_exists('imagealphablending'))
+		{
 			@imagealphablending($src_img, TRUE);
 		} 		
 
@@ -941,7 +941,7 @@
 				
 		//  Output the image
 		if ($this->dynamic_output == TRUE)
-		{ 
+		{
 			$this->image_display_gd($src_img);
 		}
 		else
@@ -966,7 +966,7 @@
 	 * @access	public
 	 * @return	bool
 	 */			
-	function text_watermark() 
+	function text_watermark()
 	{
 		if ( ! ($src_img = $this->image_create_gd()))
 		{		
@@ -1039,7 +1039,7 @@
 		$this->wm_vrt_alignment = strtoupper(substr($this->wm_vrt_alignment, 0, 1));
 		$this->wm_hor_alignment = strtoupper(substr($this->wm_hor_alignment, 0, 1));
 	
-		switch ($this->wm_vrt_alignment) 
+		switch ($this->wm_vrt_alignment)
 		{
 			case	 "T" :
 				break;
@@ -1053,7 +1053,7 @@
 		$y_shad = $y_axis + $this->wm_shadow_distance;
 		
 		// Set horizontal alignment
-		switch ($this->wm_hor_alignment) 
+		switch ($this->wm_hor_alignment)
 		{
 			case "L":
 				break;
@@ -1085,7 +1085,7 @@
 	
 		//  Output the final image
 		if ($this->dynamic_output == TRUE)
-		{ 
+		{
 			$this->image_display_gd($src_img);
 		}
 		else
@@ -1160,7 +1160,7 @@
 	/**
 	 * Write image file to disk - GD
 	 *
-	 * Takes an image resource as input and writes the file 
+	 * Takes an image resource as input and writes the file
 	 * to the specified destination
 	 *
 	 * @access	public
@@ -1226,7 +1226,7 @@
 		header("Content-Disposition: filename={$this->source_image};");
 		header("Content-Type: {$this->mime_type}");
 		header('Content-Transfer-Encoding: binary');
-		header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT'); 
+		header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT');
 	
 		switch ($this->image_type)
 		{
@@ -1247,9 +1247,9 @@
 	 * Re-proportion Image Width/Height
 	 *
 	 * When creating thumbs, the desired width/height
-	 * can end up warping the image due to an incorrect 
-	 * ratio between the full-sized image and the thumb. 
-	 * 
+	 * can end up warping the image due to an incorrect
+	 * ratio between the full-sized image and the thumb.
+	 *
 	 * This function lets us re-proportion the width/height
 	 * if users choose to maintain the aspect ratio when resizing.
 	 *
@@ -1323,7 +1323,7 @@
 			$v['width']			= $vals['0'];
 			$v['height']		= $vals['1'];
 			$v['image_type']	= $vals['2'];
-			$v['size_str']		= $vals['3']; 
+			$v['size_str']		= $vals['3'];
 			$v['mime_type']		= $mime;
 			
 			return $v;
@@ -1332,8 +1332,8 @@
 		$this->orig_width	= $vals['0'];
 		$this->orig_height	= $vals['1'];
 		$this->image_type	= $vals['2'];
-		$this->size_str		= $vals['3']; 
-		$this->mime_type	= $mime; 
+		$this->size_str		= $vals['3'];
+		$this->mime_type	= $mime;
 		
 		return TRUE;
 	}
@@ -1352,7 +1352,7 @@
 	 *					'height' 		=> $height,
 	 *					'new_width'		=> 40,
 	 *					'new_height'	=> ''
-	 *				  );    
+	 *				  );
 	 *
 	 * @access	public
 	 * @param	array
diff --git a/system/libraries/Input.php b/system/libraries/Input.php
index 57696c8..8408b16 100644
--- a/system/libraries/Input.php
+++ b/system/libraries/Input.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Input Class
- * 
+ *
  * Pre-processes global input data for security
  *
  * @package		CodeIgniter
@@ -103,7 +103,7 @@
 		if (is_array($_COOKIE) AND count($_COOKIE) > 0)
 		{
 			foreach($_COOKIE as $key => $val)
-			{			  
+			{			
 				$_COOKIE[$this->_clean_input_keys($key)] = $this->_clean_input_data($val);
 			}	
 		}
@@ -116,7 +116,7 @@
 	/**
 	 * Clean Input Data
 	 *
-	 * This is a helper function. It escapes data and 
+	 * This is a helper function. It escapes data and
 	 * standardizes newline characters to \n
 	 *
 	 * @access	private
@@ -149,8 +149,8 @@
 	/**
 	 * Clean Keys
 	 *
-	 * This is a helper function. To prevent malicious users 
-	 * from trying to exploit keys we make sure that keys are 
+	 * This is a helper function. To prevent malicious users
+	 * from trying to exploit keys we make sure that keys are
 	 * only named with alpha-numeric text and a few other items.
 	 *
 	 * @access	private
@@ -160,7 +160,7 @@
 	function _clean_input_keys($str)
 	{	
 		 if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
-		 { 
+		 {
 			exit('Disallowed Key Characters: '.$str);
 		 }
 	
@@ -378,7 +378,7 @@
 	 * got from Bitflux: http://blog.bitflux.ch/wiki/XSS_Prevention
 	 *
 	 * To help develop this script I used this great list of
-	 * vulnerabilities along with a few other hacks I've 
+	 * vulnerabilities along with a few other hacks I've
 	 * harvested from examining vulnerabilities in other programs:
 	 * http://ha.ckers.org/xss.html
 	 *
@@ -408,7 +408,7 @@
 		$str = preg_replace('#(&\#*\w+)[\x00-\x20]+;#u',"\\1;",$str);
 		
 		/*
-		 * Validate UTF16 two byte encoding (x00) 
+		 * Validate UTF16 two byte encoding (x00)
 		 *
 		 * Just as above, adds a semicolon if missing.
 		 *
@@ -429,20 +429,20 @@
 		$str = preg_replace("/%([a-z0-9]{2})/i", "&#x\\1;", $str);		
 				
 		/*
-		 * Convert character entities to ASCII 
+		 * Convert character entities to ASCII
 		 *
 		 * This permits our tests below to work reliably.
 		 * We only convert entities that are within tags since
 		 * these are the ones that will pose security problems.
 		 *
 		 */
-		 
+		
 		if (preg_match_all("/<(.+?)>/si", $str, $matches))
 		{		
 			for ($i = 0; $i < count($matches['0']); $i++)
 			{
-				$str = str_replace($matches['1'][$i], 
-									$this->_html_entity_decode($matches['1'][$i], $charset), 
+				$str = str_replace($matches['1'][$i],
+									$this->_html_entity_decode($matches['1'][$i], $charset),
 									$str);
 			}
 		}
@@ -500,7 +500,7 @@
 		 * Remove JavaScript Event Handlers
 		 *
 		 * Note: This code is a little blunt.  It removes
-		 * the event handler and anything up to the closing >, 
+		 * the event handler and anything up to the closing >,
 		 * but it's unlikely to be a problem.
 		 *
 		 */		
@@ -509,7 +509,7 @@
 		/*
 		 * Sanitize naughty HTML elements
 		 *
-		 * If a tag containing any of the words in the list 
+		 * If a tag containing any of the words in the list
 		 * below is found, the tag gets converted to entities.
 		 *
 		 * So this: <blink>
@@ -552,7 +552,7 @@
 	
 		foreach ($bad as $key => $val)
 		{
-			$str = preg_replace("#".$key."#i", $val, $str);   
+			$str = preg_replace("#".$key."#i", $val, $str);
 		}
 		
 						
@@ -582,11 +582,11 @@
 	/* -------------------------------------------------*/
 	
 	/*
-	NOTE: html_entity_decode() has a bug in some PHP versions when UTF-8 is the 
+	NOTE: html_entity_decode() has a bug in some PHP versions when UTF-8 is the
 	character set, and the PHP developers said they were not back porting the
 	fix to versions other than PHP 5.x.
 	*/
-	function _html_entity_decode($str, $charset='ISO-8859-1') 
+	function _html_entity_decode($str, $charset='ISO-8859-1')
 	{
 		if (stristr($str, '&') === FALSE) return $str;
 	
diff --git a/system/libraries/Language.php b/system/libraries/Language.php
index 8250807..37a5c7e 100644
--- a/system/libraries/Language.php
+++ b/system/libraries/Language.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Language Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Language
@@ -30,7 +30,7 @@
 	var $is_loaded	= array();
 
 	/**
-	 * Constructor 
+	 * Constructor
 	 *
 	 * @access	public
 	 */	
@@ -83,7 +83,7 @@
 			}
 		}
 
-		            
+		
 		if ( ! isset($lang))
 		{
 			log_message('error', 'Language file contains no data: language/'.$idiom.'/'.$langfile);
diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php
index 849ee73..7a1fd68 100644
--- a/system/libraries/Loader.php
+++ b/system/libraries/Loader.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Loader Class
- * 
+ *
  * Loads views and files
  *
  * @package		CodeIgniter
@@ -192,7 +192,7 @@
 	 * Load the Utilities Class
 	 *
 	 * @access	public
-	 * @return	string		 
+	 * @return	string		
 	 */		
 	function dbutil()
 	{
@@ -550,9 +550,9 @@
 		/*
 		 * Extract and cache variables
 		 *
-		 * You can either set variables using the dedicated $this->load_vars() 
-		 * function or via the second parameter of this function. We'll merge 
-		 * the two types and cache them so that views that are embedded within 
+		 * You can either set variables using the dedicated $this->load_vars()
+		 * function or via the second parameter of this function. We'll merge
+		 * the two types and cache them so that views that are embedded within
 		 * other views can have access to these variables.
 		 */	
 		if (is_array($vars))
@@ -579,9 +579,9 @@
 		 *
 		 * We buffer the output for two reasons:
 		 * 1. Speed. You get a significant speed boost.
-		 * 2. So that the final rendered template can be 
+		 * 2. So that the final rendered template can be
 		 * post-processed by the output class.  Why do we
-		 * need post processing?  For one thing, in order to 
+		 * need post processing?  For one thing, in order to
 		 * show the elapsed page load time.  Unless we
 		 * can intercept the content right before it's sent to
 		 * the browser and then stop the timer it won't be accurate.
@@ -612,7 +612,7 @@
 		if ($return === TRUE)
 		{		
 			$buffer = ob_get_contents();
-			ob_end_clean(); 
+			ob_end_clean();
 			
 			return $buffer;
 		}
@@ -621,9 +621,9 @@
 		 * Flush the buffer... or buff the flusher?
 		 *
 		 * In order to permit views to be nested within
-		 * other views, we need to flush the content back out whenever 
-		 * we are beyond the first level of output buffering so that 
-		 * it can be seen and included properly by the first included 
+		 * other views, we need to flush the content back out whenever
+		 * we are beyond the first level of output buffering so that
+		 * it can be seen and included properly by the first included
 		 * template and any subsequent ones. Oy!
 		 *
 		 */	
@@ -702,7 +702,7 @@
 	{	
 		// Is there an associated config file for this class?
 		if ($config !== NULL)
-		{ 
+		{
 			$cong = NULL;
 			if (file_exists(APPPATH.'config/'.$class.EXT))
 			{
@@ -740,7 +740,7 @@
 	/**
 	 * Autoloader
 	 *
-	 * The config/autoload.php file contains an array that permits sub-systems, 
+	 * The config/autoload.php file contains an array that permits sub-systems,
 	 * libraries, plugins, and helpers to be loaded automatically.
 	 *
 	 * @access	private
@@ -785,14 +785,14 @@
 		// Load libraries
 		if (isset($autoload['libraries']) AND count($autoload['libraries']) > 0)
 		{
-			// Load the database driver.  
+			// Load the database driver.
 			if (in_array('database', $autoload['libraries']))
 			{
 				$this->database();
 				$autoload['libraries'] = array_diff($autoload['libraries'], array('database'));
 			}
 
-			// Load the model class.  
+			// Load the model class.
 			if (in_array('model', $autoload['libraries']))
 			{
 				$this->model();
diff --git a/system/libraries/Log.php b/system/libraries/Log.php
index 09538fa..03dc640 100644
--- a/system/libraries/Log.php
+++ b/system/libraries/Log.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Logging Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Logging
@@ -78,7 +78,7 @@
 	function write_log($level = 'error', $msg, $php_error = FALSE)
 	{		
 		if ($this->_enabled === FALSE)
-		{ 
+		{
 			return FALSE;
 		}
 	
diff --git a/system/libraries/Model.php b/system/libraries/Model.php
index 017a9c6..240db43 100644
--- a/system/libraries/Model.php
+++ b/system/libraries/Model.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -41,7 +41,7 @@
 	 * Assign Libraries
 	 *
 	 * Creates local references to all currently instantiated objects
-	 * so that any syntax that can be legally used in a controller 
+	 * so that any syntax that can be legally used in a controller
 	 * can be used within models.
 	 *
 	 * @access private
diff --git a/system/libraries/Output.php b/system/libraries/Output.php
index 9c48bbb..0c2620d 100644
--- a/system/libraries/Output.php
+++ b/system/libraries/Output.php
@@ -7,19 +7,19 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Output Class
  *
  * Responsible for sending final output to browser
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Output
@@ -42,7 +42,7 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Get Output 
+	 * Get Output
 	 *
 	 * Returns the current output string
 	 *
@@ -57,7 +57,7 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Output 
+	 * Set Output
 	 *
 	 * Sets the output string
 	 *
@@ -73,7 +73,7 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Header 
+	 * Set Header
 	 *
 	 * Lets you set a server header which will be outputted with the final display.
 	 *
@@ -92,7 +92,7 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Enable/disable Profiler 
+	 * Enable/disable Profiler
 	 *
 	 * @access	public
 	 * @param	bool
@@ -106,7 +106,7 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Cache 
+	 * Set Cache
 	 *
 	 * @access	public
 	 * @param	integer
@@ -135,8 +135,8 @@
 	 */		
 	function _display($output = '')
 	{	
-		// Note:  We use globals because we can't use $CI =& get_instance() 
-		// since this function is sometimes called by the caching mechanism, 
+		// Note:  We use globals because we can't use $CI =& get_instance()
+		// since this function is sometimes called by the caching mechanism,
 		// which happens before the CI super object is available.
 		global $BM, $CFG;
 		
@@ -158,7 +158,7 @@
 		
 		// --------------------------------------------------------------------
 
-		// Parse out the elapsed time and memory usage, 
+		// Parse out the elapsed time and memory usage,
 		// then swap the pseudo-variables with the data
 				
 		$elapsed = $BM->elapsed_time('total_execution_time_start', 'total_execution_time_end');		
@@ -249,7 +249,7 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Write a Cache File 
+	 * Write a Cache File
 	 *
 	 * @access	public
 	 * @return	void
@@ -272,19 +272,19 @@
 		
 		$cache_path .= md5($uri);
 
-        if ( ! $fp = @fopen($cache_path, 'wb'))
-        {
+		if ( ! $fp = @fopen($cache_path, 'wb'))
+		{
 			log_message('error', "Unable to write ache file: ".$cache_path);
-            return;
+			return;
 		}
 		
 		$expire = time() + ($this->cache_expiration * 60);
 		
-        flock($fp, LOCK_EX);
-        fwrite($fp, $expire.'TS--->'.$output);
-        flock($fp, LOCK_UN);
-        fclose($fp);
-		@chmod($cache_path, 0777); 
+		flock($fp, LOCK_EX);
+		fwrite($fp, $expire.'TS--->'.$output);
+		flock($fp, LOCK_UN);
+		fclose($fp);
+		@chmod($cache_path, 0777);
 
 		log_message('debug', "Cache file written: ".$cache_path);
 	}
@@ -292,7 +292,7 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Update/serve a cached file 
+	 * Update/serve a cached file
 	 *
 	 * @access	public
 	 * @return	void
@@ -329,13 +329,13 @@
 		flock($fp, LOCK_SH);
 		
 		$cache = '';
-		if (filesize($filepath) > 0) 
+		if (filesize($filepath) > 0)
 		{
-			$cache = fread($fp, filesize($filepath)); 
+			$cache = fread($fp, filesize($filepath));
 		}
 	
 		flock($fp, LOCK_UN);
-		fclose($fp); 
+		fclose($fp);
 					
 		// Strip out the embedded timestamp		
 		if ( ! preg_match("/(\d+TS--->)/", $cache, $match))
diff --git a/system/libraries/Pagination.php b/system/libraries/Pagination.php
index 26fb93e..a004419 100644
--- a/system/libraries/Pagination.php
+++ b/system/libraries/Pagination.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -28,13 +28,13 @@
 
 	var $base_url			= ''; // The page we are linking to
 	var $total_rows  		= ''; // Total number of items (database results)
-	var $per_page     		= 10; // Max number of items you want shown per page
-	var $num_links    		=  2; // Number of "digit" links to show before/after the currently viewed page
-	var $cur_page     		=  0; // The current page being viewed
+	var $per_page	 		= 10; // Max number of items you want shown per page
+	var $num_links			=  2; // Number of "digit" links to show before/after the currently viewed page
+	var $cur_page	 		=  0; // The current page being viewed
 	var $first_link   		= '&lsaquo; First';
 	var $next_link			= '&gt;';
 	var $prev_link			= '&lt;';
-	var $last_link    		= 'Last &rsaquo;';
+	var $last_link			= 'Last &rsaquo;';
 	var $uri_segment		= 3;
 	var $full_tag_open		= '';
 	var $full_tag_close		= '';
@@ -57,15 +57,15 @@
 	 * @access	public
 	 * @param	array	initialization parameters
 	 */
-    function CI_Pagination($params = array())
-    {    
+	function CI_Pagination($params = array())
+	{
 		if (count($params) > 0)
 		{
 			$this->initialize($params);		
 		}
 		
 		log_message('debug', "Pagination Class Initialized");
-    }
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -76,8 +76,8 @@
 	 * @param	array	initialization parameters
 	 * @return	void
 	 */
-    function initialize($params = array())
-    {    
+	function initialize($params = array())
+	{
 		if (count($params) > 0)
 		{
 			foreach ($params as $key => $val)
@@ -88,7 +88,7 @@
 				}
 			}		
 		}
-    }
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -98,34 +98,34 @@
 	 * @access	public
 	 * @return	string
 	 */	
-    function create_links()
-    {  
+	function create_links()
+	{
 		// If our item count or per-page total is zero there is no need to continue.
-        if ($this->total_rows == 0 OR $this->per_page == 0)
-        {
-           return '';
-    	}
+		if ($this->total_rows == 0 OR $this->per_page == 0)
+		{
+		   return '';
+		}
 
 		// Calculate the total number of pages
-        $num_pages = ceil($this->total_rows / $this->per_page);
+		$num_pages = ceil($this->total_rows / $this->per_page);
 
-    	/*
+		/*
 			// Calculate the total number of pages
 			$num_pages = intval($this->total_rows / $this->per_page);
 			
 			// Use modulus to see if our division has a remainder. If so, add one to our page number.
-			if ($this->total_rows % $this->per_page) 
+			if ($this->total_rows % $this->per_page)
 			{
 				$num_pages++;
 			}
 		*/
-        
-		// Is there only one page? Hm... nothing more to do here then. 
-        if ($num_pages == 1)
-        {
-            return '';
-        }
-        
+
+		// Is there only one page? Hm... nothing more to do here then.
+		if ($num_pages == 1)
+		{
+			return '';
+		}
+
 		// Determine the current page number.		
 		$CI =& get_instance();	
 		if ($CI->uri->segment($this->uri_segment) != 0)
@@ -140,35 +140,35 @@
 		
 		$uri_page_number = $this->cur_page;
 		$this->cur_page = floor(($this->cur_page/$this->per_page) + 1);
-   
+
 		// Calculate the start and end numbers. These determine
 		// which number to start and end the digit links with
-        $start = (($this->cur_page - $this->num_links) > 0) ? $this->cur_page - ($this->num_links - 1) : 1;
-        $end   = (($this->cur_page + $this->num_links) < $num_pages) ? $this->cur_page + $this->num_links : $num_pages;
-        
+		$start = (($this->cur_page - $this->num_links) > 0) ? $this->cur_page - ($this->num_links - 1) : 1;
+		$end   = (($this->cur_page + $this->num_links) < $num_pages) ? $this->cur_page + $this->num_links : $num_pages;
+
 		// Add a trailing slash to the base URL if needed
 		$this->base_url = preg_replace("/(.+?)\/*$/", "\\1/",  $this->base_url);
 		
   		// And here we go...
-        $output = '';
- 
+		$output = '';
+
 		// Render the "First" link
-        if  ($this->cur_page > $this->num_links)
-        {
-            $output .= $this->first_tag_open.'<a href="'.$this->base_url.'">'.$this->first_link.'</a>'.$this->first_tag_close;
-        }
- 
+		if  ($this->cur_page > $this->num_links)
+		{
+			$output .= $this->first_tag_open.'<a href="'.$this->base_url.'">'.$this->first_link.'</a>'.$this->first_tag_close;
+		}
+
 		// Render the "previous" link
-        if  (($this->cur_page - $this->num_links) >= 0)
-        {
-        	$i = $uri_page_number - $this->per_page;  
-        	if ($i == 0) $i = '';
-            $output .= $this->prev_tag_open.'<a href="'.$this->base_url.$i.'">'.$this->prev_link.'</a>'.$this->prev_tag_close;
-        }
-        
+		if  (($this->cur_page - $this->num_links) >= 0)
+		{
+			$i = $uri_page_number - $this->per_page;
+			if ($i == 0) $i = '';
+			$output .= $this->prev_tag_open.'<a href="'.$this->base_url.$i.'">'.$this->prev_link.'</a>'.$this->prev_tag_close;
+		}
+
 		// Write the digit links
-        for ($loop = $start -1; $loop <= $end; $loop++) 
-        {
+		for ($loop = $start -1; $loop <= $end; $loop++)
+		{
 			$i = ($loop * $this->per_page) - $this->per_page;
 					
 			if ($i >= 0)
@@ -183,30 +183,30 @@
 					$output .= $this->num_tag_open.'<a href="'.$this->base_url.$n.'">'.$loop.'</a>'.$this->num_tag_close;
 				}
 			}
-        } 
+		}
 
 		// Render the "next" link
-        if ($this->cur_page < $num_pages)
-        {  
-            $output .= $this->next_tag_open.'<a href="'.$this->base_url.($this->cur_page * $this->per_page).'">'.$this->next_link.'</a>'.$this->next_tag_close;        
-        }
+		if ($this->cur_page < $num_pages)
+		{
+			$output .= $this->next_tag_open.'<a href="'.$this->base_url.($this->cur_page * $this->per_page).'">'.$this->next_link.'</a>'.$this->next_tag_close;
+		}
 
 		// Render the "Last" link
-        if (($this->cur_page + $this->num_links) < $num_pages)
-        {
-            $i = (($num_pages * $this->per_page) - $this->per_page);
-            $output .= $this->last_tag_open.'<a href="'.$this->base_url.$i.'">'.$this->last_link.'</a>'.$this->last_tag_close;
-        }
-    
-		// Kill double slashes.  Note: Sometimes we can end up with a double slash 
+		if (($this->cur_page + $this->num_links) < $num_pages)
+		{
+			$i = (($num_pages * $this->per_page) - $this->per_page);
+			$output .= $this->last_tag_open.'<a href="'.$this->base_url.$i.'">'.$this->last_link.'</a>'.$this->last_tag_close;
+		}
+
+		// Kill double slashes.  Note: Sometimes we can end up with a double slash
 		// in the penultimate link so we'll kill all double slashes.
-		$output = preg_replace("#([^:])//+#", "\\1/", $output);  
+		$output = preg_replace("#([^:])//+#", "\\1/", $output);
 
 		// Add the wrapper HTML if exists
 		$output = $this->full_tag_open.$output.$this->full_tag_close;
 		
 		return $output;		
-    }
+	}
 }
 // END Pagination Class
 ?>
\ No newline at end of file
diff --git a/system/libraries/Parser.php b/system/libraries/Parser.php
index ebf7644..760d5d4 100644
--- a/system/libraries/Parser.php
+++ b/system/libraries/Parser.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -17,7 +17,7 @@
 
 /**
  * Parser Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Parser
@@ -33,7 +33,7 @@
 	/**
 	 *  Parse a template
 	 *
-	 * Parses pseudo-variables contained in the specified template, 
+	 * Parses pseudo-variables contained in the specified template,
 	 * replacing them with the data in the second param
 	 *
 	 * @access	public
diff --git a/system/libraries/Profiler.php b/system/libraries/Profiler.php
index 6e6fb67..e03097a 100644
--- a/system/libraries/Profiler.php
+++ b/system/libraries/Profiler.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
diff --git a/system/libraries/Router.php b/system/libraries/Router.php
index 6002027..17a441c 100644
--- a/system/libraries/Router.php
+++ b/system/libraries/Router.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Router Class
- * 
+ *
  * Parses URIs and determines routing
  *
  * @package		CodeIgniter
@@ -44,7 +44,7 @@
 	/**
 	 * Constructor
 	 *
-	 * Runs the route mapping function. 
+	 * Runs the route mapping function.
 	 */
 	function CI_Router()
 	{
@@ -94,7 +94,7 @@
 		
 		// If the URI contains only a slash we'll kill it
 		if ($this->uri_string == '/')
-		{ 
+		{
 			$this->uri_string = '';
 		}
 	
@@ -243,7 +243,7 @@
 	 * Re-index Segments
 	 *
 	 * This function re-indexes the $this->segment array so that it
-	 * starts at 1 rather then 0.  Doing so makes it simpler to 
+	 * starts at 1 rather then 0.  Doing so makes it simpler to
 	 * use functions like $this->uri->segment(n) since there is
 	 * a 1:1 relationship between the segment array and the actual segments.
 	 *
@@ -320,9 +320,9 @@
 				return $path;
 			}
 			
-			// OK, how about REQUEST_URI?  
+			// OK, how about REQUEST_URI?
 			// Note: REQUEST_URI is not supplied in a consistent manner with all platforms so it's
-			// a difficult variable to use.  We'll try to parse it out correctly.  Hopefully one 
+			// a difficult variable to use.  We'll try to parse it out correctly.  Hopefully one
 			// of the other variables above was available.
 			$path = $this->_parse_request_uri();
 			if ($path != "")
@@ -352,7 +352,7 @@
 	 * Parse the REQUEST_URI
 	 *
 	 * Due to the way REQUEST_URI works it usually contains path info
-	 * that makes it unusable as URI data.  We'll trim off the unnecessary 
+	 * that makes it unusable as URI data.  We'll trim off the unnecessary
 	 * data, hopefully arriving at a valid URI that we can use.
 	 *
 	 * @access	private
@@ -413,7 +413,7 @@
 		if ($this->config->item('permitted_uri_chars') != '')
 		{
 			if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
-			{ 
+			{
 				exit('The URI you submitted has disallowed characters: '.$str);
 			}
 		}	
@@ -426,7 +426,7 @@
 	 *  Parse Routes
 	 *
 	 * This function matches any routes that may exist in
-	 * the config/routes.php file against the URI to 
+	 * the config/routes.php file against the URI to
 	 * determine if the class/method need to be remapped.
 	 *
 	 * @access	private
@@ -472,7 +472,7 @@
 			}
 		}
 		
-		// If we got this far it means we didn't encounter a 
+		// If we got this far it means we didn't encounter a
 		// matching route so we'll set the site default route
 		$this->_compile_segments($this->segments);
 	}
diff --git a/system/libraries/Session.php b/system/libraries/Session.php
index a47599d..96a0c43 100644
--- a/system/libraries/Session.php
+++ b/system/libraries/Session.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -17,7 +17,7 @@
 
 /**
  * Session Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Sessions
@@ -26,16 +26,16 @@
  */
 class CI_Session {
 
-    var $CI;
+	var $CI;
 	var $now;
 	var $encryption		= TRUE;
 	var $use_database	= FALSE;
 	var $session_table	= FALSE;
-    var $sess_length	= 7200;
-    var $sess_cookie	= 'ci_session';
+	var $sess_length	= 7200;
+	var $sess_cookie	= 'ci_session';
 	var $userdata		= array();
-    var $gc_probability	= 5;
- 
+	var $gc_probability	= 5;
+
 
 	/**
 	 * Session Constructor
@@ -66,7 +66,7 @@
 		 *
 		 * It can either set to GMT or time(). The pref
 		 * is set in the config file.  If the developer
-		 * is doing any sort of time localization they 
+		 * is doing any sort of time localization they
 		 * might want to set the session time to GMT so
 		 * they can offset the "last_activity" and
 		 * "last_visit" times based on each user's locale.
@@ -75,7 +75,7 @@
 		if (strtolower($this->CI->config->item('time_reference')) == 'gmt')
 		{
 			$now = time();
-			$this->now = mktime(gmdate("H", $now), gmdate("i", $now), gmdate("s", $now), gmdate("m", $now), gmdate("d", $now), gmdate("Y", $now));   
+			$this->now = mktime(gmdate("H", $now), gmdate("i", $now), gmdate("s", $now), gmdate("m", $now), gmdate("d", $now), gmdate("Y", $now));
 	
 			if (strlen($this->now) < 10)
 			{
@@ -92,7 +92,7 @@
 		 *  Set the session length
 		 *
 		 * If the session expiration is set to zero in
-		 * the config file we'll set the expiration 
+		 * the config file we'll set the expiration
 		 * two years from now.
 		 *
 		 */
@@ -191,7 +191,7 @@
 		}
 		
 		// Is the session current?
-		if (($session['last_activity'] + $this->sess_length) < $this->now) 
+		if (($session['last_activity'] + $this->sess_length) < $this->now)
 		{
 			$this->sess_destroy();
 			return FALSE;
@@ -236,7 +236,7 @@
 			else
 			{
 				$row = $query->row();
-				if (($row->last_activity + $this->sess_length) < $this->now) 
+				if (($row->last_activity + $this->sess_length) < $this->now)
 				{
 					$this->CI->db->where('session_id', $session['session_id']);
 					$this->CI->db->delete($this->session_table);
@@ -271,11 +271,11 @@
 		}
 
 		setcookie(
-					$this->sess_cookie, 
-					$cookie_data, 
-					$this->sess_length + $this->now, 
-					$this->CI->config->item('cookie_path'), 
-					$this->CI->config->item('cookie_domain'), 
+					$this->sess_cookie,
+					$cookie_data,
+					$this->sess_length + $this->now,
+					$this->CI->config->item('cookie_path'),
+					$this->CI->config->item('cookie_domain'),
 					0
 				);
 	}
@@ -291,8 +291,8 @@
 	function sess_create()
 	{	
 		$sessid = '';
-		while (strlen($sessid) < 32) 
-		{    
+		while (strlen($sessid) < 32)
+		{
 			$sessid .= mt_rand(0, mt_getrandmax());
 		}
 	
@@ -325,10 +325,10 @@
 	 */
 	function sess_update()
 	{	
-        if (($this->userdata['last_activity'] + $this->sess_length) < $this->now) 
-        {
+		if (($this->userdata['last_activity'] + $this->sess_length) < $this->now)
+		{
 			$this->userdata['last_visit'] = $this->userdata['last_activity'];
-        }
+		}
 	
 		$this->userdata['last_activity'] = $this->now;
 		
@@ -353,11 +353,11 @@
 	function sess_destroy()
 	{
 		setcookie(
-					$this->sess_cookie, 
-					addslashes(serialize(array())), 
-					($this->now - 31500000), 
-					$this->CI->config->item('cookie_path'), 
-					$this->CI->config->item('cookie_domain'), 
+					$this->sess_cookie,
+					addslashes(serialize(array())),
+					($this->now - 31500000),
+					$this->CI->config->item('cookie_path'),
+					$this->CI->config->item('cookie_domain'),
 					0
 				);
 	}
@@ -373,19 +373,19 @@
 	 * @access	public
 	 * @return	void
 	 */
-    function sess_gc()
-    {  
+	function sess_gc()
+	{
 		srand(time());
-		if ((rand() % 100) < $this->gc_probability) 
-		{  
+		if ((rand() % 100) < $this->gc_probability)
+		{
 			$expire = $this->now - $this->sess_length;
 			
 			$this->CI->db->where("last_activity < {$expire}");
 			$this->CI->db->delete($this->session_table);
 
 			log_message('debug', 'Session garbage collection performed.');
-		}    
-    }
+		}
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -398,7 +398,7 @@
 	 */		
 	function userdata($item)
 	{
-    	return ( ! isset($this->userdata[$item])) ? FALSE : $this->userdata[$item];
+		return ( ! isset($this->userdata[$item])) ? FALSE : $this->userdata[$item];
 	}
 	
 	// --------------------------------------------------------------------
@@ -426,7 +426,7 @@
 			}
 		}
 	
-    	$this->sess_write();
+		$this->sess_write();
 	}
 	
 	// --------------------------------------------------------------------
@@ -452,7 +452,7 @@
 			}
 		}
 	
-    	$this->sess_write();
+		$this->sess_write();
 	}
 	
 	// --------------------------------------------------------------------
@@ -464,21 +464,21 @@
 	 * @param	mixed
 	 * @return	mixed
 	 */
-     function strip_slashes($vals)
-     {
-     	if (is_array($vals))
-     	{	
-     		foreach ($vals as $key=>$val)
-     		{
-     			$vals[$key] = $this->strip_slashes($val);
-     		}
-     	}
-     	else
-     	{
-     		$vals = stripslashes($vals);
-     	}
-     	
-     	return $vals;
+	 function strip_slashes($vals)
+	 {
+	 	if (is_array($vals))
+	 	{	
+	 		foreach ($vals as $key=>$val)
+	 		{
+	 			$vals[$key] = $this->strip_slashes($val);
+	 		}
+	 	}
+	 	else
+	 	{
+	 		$vals = stripslashes($vals);
+	 	}
+	 	
+	 	return $vals;
 	}
 
 }
diff --git a/system/libraries/Sha1.php b/system/libraries/Sha1.php
index 971c091..4dde040 100644
--- a/system/libraries/Sha1.php
+++ b/system/libraries/Sha1.php
@@ -7,35 +7,35 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * SHA1 Encoding Class
  *
- * Purpose: Provides 160 bit hashing using The Secure Hash Algorithm 
- * developed at the National Institute of Standards and Technology. The 40 
+ * Purpose: Provides 160 bit hashing using The Secure Hash Algorithm
+ * developed at the National Institute of Standards and Technology. The 40
  * character SHA1 message hash is computationally infeasible to crack.
- * 
- * This class is a fallback for servers that are not running PHP greater than 
+ *
+ * This class is a fallback for servers that are not running PHP greater than
  * 4.3, or do not have the MHASH library.
  *
  * This class is based on two scripts:
- *  
- * Marcus Campbell's PHP implementation (GNU license) 
+ *
+ * Marcus Campbell's PHP implementation (GNU license)
  * http://www.tecknik.net/sha-1/
  *
- * ...which is based on Paul Johnston's JavaScript version 
+ * ...which is based on Paul Johnston's JavaScript version
  * (BSD license). http://pajhome.org.uk/
- * 
+ *
  * I encapsulated the functions and wrote one additional method to fix
  * a hex conversion bug. - Rick Ellis
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Encryption
@@ -56,67 +56,67 @@
 	 * @param	string
 	 * @return	string
 	 */	
-    function generate($str) 
-    {
-        $n = ((strlen($str) + 8) >> 6) + 1;
-        
-        for ($i = 0; $i < $n * 16; $i++)
-        {
-            $x[$i] = 0;
-        }
-        
-        for ($i = 0; $i < strlen($str); $i++)
-        {
-            $x[$i >> 2] |= ord(substr($str, $i, 1)) << (24 - ($i % 4) * 8);
-        }
-        
-        $x[$i >> 2] |= 0x80 << (24 - ($i % 4) * 8);
-        
-        $x[$n * 16 - 1] = strlen($str) * 8;
-        
-        $a =  1732584193;
-        $b = -271733879;
-        $c = -1732584194;
-        $d =  271733878;
-        $e = -1009589776;
-        
-        for ($i = 0; $i < sizeof($x); $i += 16) 
-        {
-            $olda = $a;
-            $oldb = $b;
-            $oldc = $c;
-            $oldd = $d;
-            $olde = $e;
-            
-            for($j = 0; $j < 80; $j++) 
-            {
-                if ($j < 16)
-                {
-                    $w[$j] = $x[$i + $j];
-                }
-                else
-                {
-                    $w[$j] = $this->_rol($w[$j - 3] ^ $w[$j - 8] ^ $w[$j - 14] ^ $w[$j - 16], 1);
-                }
-                
-                $t = $this->_safe_add($this->_safe_add($this->_rol($a, 5), $this->_ft($j, $b, $c, $d)), $this->_safe_add($this->_safe_add($e, $w[$j]), $this->_kt($j)));
-                
-                $e = $d;
-                $d = $c;
-                $c = $this->_rol($b, 30);
-                $b = $a;
-                $a = $t;
-            }
+	function generate($str)
+	{
+		$n = ((strlen($str) + 8) >> 6) + 1;
 
-            $a = $this->_safe_add($a, $olda);
-            $b = $this->_safe_add($b, $oldb);
-            $c = $this->_safe_add($c, $oldc);
-            $d = $this->_safe_add($d, $oldd);
-            $e = $this->_safe_add($e, $olde);
-        }
-        
-        return $this->_hex($a).$this->_hex($b).$this->_hex($c).$this->_hex($d).$this->_hex($e);
-    }
+		for ($i = 0; $i < $n * 16; $i++)
+		{
+			$x[$i] = 0;
+		}
+
+		for ($i = 0; $i < strlen($str); $i++)
+		{
+			$x[$i >> 2] |= ord(substr($str, $i, 1)) << (24 - ($i % 4) * 8);
+		}
+
+		$x[$i >> 2] |= 0x80 << (24 - ($i % 4) * 8);
+
+		$x[$n * 16 - 1] = strlen($str) * 8;
+
+		$a =  1732584193;
+		$b = -271733879;
+		$c = -1732584194;
+		$d =  271733878;
+		$e = -1009589776;
+
+		for ($i = 0; $i < sizeof($x); $i += 16)
+		{
+			$olda = $a;
+			$oldb = $b;
+			$oldc = $c;
+			$oldd = $d;
+			$olde = $e;
+
+			for($j = 0; $j < 80; $j++)
+			{
+				if ($j < 16)
+				{
+					$w[$j] = $x[$i + $j];
+				}
+				else
+				{
+					$w[$j] = $this->_rol($w[$j - 3] ^ $w[$j - 8] ^ $w[$j - 14] ^ $w[$j - 16], 1);
+				}
+
+				$t = $this->_safe_add($this->_safe_add($this->_rol($a, 5), $this->_ft($j, $b, $c, $d)), $this->_safe_add($this->_safe_add($e, $w[$j]), $this->_kt($j)));
+
+				$e = $d;
+				$d = $c;
+				$c = $this->_rol($b, 30);
+				$b = $a;
+				$a = $t;
+			}
+
+			$a = $this->_safe_add($a, $olda);
+			$b = $this->_safe_add($b, $oldb);
+			$c = $this->_safe_add($c, $oldc);
+			$d = $this->_safe_add($d, $oldd);
+			$e = $this->_safe_add($e, $olde);
+		}
+
+		return $this->_hex($a).$this->_hex($b).$this->_hex($c).$this->_hex($d).$this->_hex($e);
+	}
   	
 	// --------------------------------------------------------------------
 
@@ -127,17 +127,17 @@
 	 * @param	string
 	 * @return	string
 	 */	
-    function _hex($str)
-    {
-        $str = dechex($str);
-        
-        if (strlen($str) == 7)
-        {
-            $str = '0'.$str;
-        }
-            
-        return $str;
-    }    
+	function _hex($str)
+	{
+		$str = dechex($str);
+
+		if (strlen($str) == 7)
+		{
+			$str = '0'.$str;
+		}
+
+		return $str;
+	}
   	
 	// --------------------------------------------------------------------
 
@@ -147,18 +147,18 @@
 	 * @access	private
 	 * @return	string
 	 */	
-    function _ft($t, $b, $c, $d) 
-    {
-        if ($t < 20) 
-            return ($b & $c) | ((~$b) & $d);
-        if ($t < 40) 
-            return $b ^ $c ^ $d;
-        if ($t < 60) 
-            return ($b & $c) | ($b & $d) | ($c & $d);
-        
-        return $b ^ $c ^ $d;
-    }
-  
+	function _ft($t, $b, $c, $d)
+	{
+		if ($t < 20)
+			return ($b & $c) | ((~$b) & $d);
+		if ($t < 40)
+			return $b ^ $c ^ $d;
+		if ($t < 60)
+			return ($b & $c) | ($b & $d) | ($c & $d);
+
+		return $b ^ $c ^ $d;
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -167,25 +167,25 @@
 	 * @access	private
 	 * @return	string
 	 */	
-    function _kt($t) 
-    {
-        if ($t < 20) 
-        {
-            return 1518500249;
-        } 
-        else if ($t < 40) 
-        {
-            return 1859775393;
-        } 
-        else if ($t < 60) 
-        {
-            return -1894007588;
-        } 
-        else 
-        {
-            return -899497514;
-        }
-    }
+	function _kt($t)
+	{
+		if ($t < 20)
+		{
+			return 1518500249;
+		}
+		else if ($t < 40)
+		{
+			return 1859775393;
+		}
+		else if ($t < 60)
+		{
+			return -1894007588;
+		}
+		else
+		{
+			return -899497514;
+		}
+	}
   	
 	// --------------------------------------------------------------------
 
@@ -195,13 +195,13 @@
 	 * @access	private
 	 * @return	string
 	 */	
-    function _safe_add($x, $y)
-    {
-        $lsw = ($x & 0xFFFF) + ($y & 0xFFFF);
-        $msw = ($x >> 16) + ($y >> 16) + ($lsw >> 16);
-    
-        return ($msw << 16) | ($lsw & 0xFFFF);
-    }
+	function _safe_add($x, $y)
+	{
+		$lsw = ($x & 0xFFFF) + ($y & 0xFFFF);
+		$msw = ($x >> 16) + ($y >> 16) + ($lsw >> 16);
+
+		return ($msw << 16) | ($lsw & 0xFFFF);
+	}
   	
 	// --------------------------------------------------------------------
 
@@ -211,11 +211,11 @@
 	 * @access	private
 	 * @return	integer
 	 */	
-    function _rol($num, $cnt)
-    {
-        return ($num << $cnt) | $this->_zero_fill($num, 32 - $cnt);
-    }
-  
+	function _rol($num, $cnt)
+	{
+		return ($num << $cnt) | $this->_zero_fill($num, 32 - $cnt);
+	}
+
 	// --------------------------------------------------------------------
 
 	/**
@@ -224,26 +224,26 @@
 	 * @access	private
 	 * @return	string
 	 */	
-    function _zero_fill($a, $b) 
-    {
-        $bin = decbin($a);
-        
-        if (strlen($bin) < $b)
-        {
-            $bin = 0;
-        }
-        else
-        {
-            $bin = substr($bin, 0, strlen($bin) - $b);
-        }
-        
-        for ($i=0; $i < $b; $i++) 
-        {
-            $bin = "0".$bin;
-        }
-        
-        return bindec($bin);
-    }
+	function _zero_fill($a, $b)
+	{
+		$bin = decbin($a);
+
+		if (strlen($bin) < $b)
+		{
+			$bin = 0;
+		}
+		else
+		{
+			$bin = substr($bin, 0, strlen($bin) - $b);
+		}
+
+		for ($i=0; $i < $b; $i++)
+		{
+			$bin = "0".$bin;
+		}
+
+		return bindec($bin);
+	}
 }
 // END CI_SHA
 ?>
\ No newline at end of file
diff --git a/system/libraries/Table.php b/system/libraries/Table.php
index c40c85e..f3f9b32 100644
--- a/system/libraries/Table.php
+++ b/system/libraries/Table.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.3.1
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * HTML Table Generating Class
- * 
+ *
  * Lets you create tables manually or from database result objects, or arrays.
  *
  * @package		CodeIgniter
diff --git a/system/libraries/Trackback.php b/system/libraries/Trackback.php
index 7464915..6d5e206 100644
--- a/system/libraries/Trackback.php
+++ b/system/libraries/Trackback.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -19,7 +19,7 @@
  * Trackback Class
  *
  * Trackback Sending/Receiving Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Trackbacks
@@ -57,7 +57,7 @@
 	function send($tb_data)
 	{		
 		if ( ! is_array($tb_data))
-		{ 
+		{
 			$this->set_error('The send() method must be passed an array');
 			return FALSE;
 		}
@@ -66,7 +66,7 @@
 		foreach (array('url', 'title', 'excerpt', 'blog_name', 'ping_url') as $item)
 		{
 			if ( ! isset($tb_data[$item]))
-			{ 
+			{
 				$this->set_error('Required item missing: '.$item);
 				return FALSE;
 			}
@@ -104,7 +104,7 @@
 		// Build the Trackback data string
 		$charset = ( ! isset($tb_data['charset'])) ? $this->charset : $tb_data['charset'];
 		
-		$data = "url=".rawurlencode($url)."&title=".rawurlencode($title)."&blog_name=".rawurlencode($blog_name)."&excerpt=".rawurlencode($excerpt)."&charset=".rawurlencode($charset); 
+		$data = "url=".rawurlencode($url)."&title=".rawurlencode($title)."&blog_name=".rawurlencode($blog_name)."&excerpt=".rawurlencode($excerpt)."&charset=".rawurlencode($charset);
 				
 		// Send Trackback(s)
 		$return = TRUE;
@@ -170,7 +170,7 @@
 	/**
 	 * Send Trackback Error Message
 	 *
-	 * Allows custom errors to be set.  By default it 
+	 * Allows custom errors to be set.  By default it
 	 * sends the "incomplete information" error, as that's
 	 * the most common one.
 	 *
@@ -220,7 +220,7 @@
 	/**
 	 * Process Trackback
 	 *
-	 * Opens a socket connection and passes the data to 
+	 * Opens a socket connection and passes the data to
 	 * the server.  Returns true on success, false on failure
 	 *
 	 * @access	public
@@ -249,22 +249,22 @@
 		{
 			$data = "tb_id=".$id."&".$data;
 		}
- 
+
 		// Transfer the data
-		fputs ($fp, "POST " . $path . " HTTP/1.0\r\n" ); 
-		fputs ($fp, "Host: " . $target['host'] . "\r\n" ); 
-		fputs ($fp, "Content-type: application/x-www-form-urlencoded\r\n" ); 
-		fputs ($fp, "Content-length: " . strlen($data) . "\r\n" ); 
-		fputs ($fp, "Connection: close\r\n\r\n" ); 
+		fputs ($fp, "POST " . $path . " HTTP/1.0\r\n" );
+		fputs ($fp, "Host: " . $target['host'] . "\r\n" );
+		fputs ($fp, "Content-type: application/x-www-form-urlencoded\r\n" );
+		fputs ($fp, "Content-length: " . strlen($data) . "\r\n" );
+		fputs ($fp, "Connection: close\r\n\r\n" );
 		fputs ($fp, $data);
-   
+
 		// Was it successful?
 		$this->response = "";
 		
 		while(!feof($fp))
 		{
 			$this->response .= fgets($fp, 128);
-		}  
+		}
 		@fclose($fp);
 		
 		if ( ! eregi("<error>0</error>", $this->response))
@@ -297,7 +297,7 @@
 	 * @return	string
 	 */	
 	function extract_urls($urls)
-	{		   
+	{		
 		// Remove the pesky white space and replace with a comma.
 		$urls = preg_replace("/\s*(\S+)\s*/", "\\1,", $urls);
 		
@@ -316,7 +316,7 @@
 		// Removes duplicates
 		$urls = array_unique($urls);
 		
-		array_walk($urls, array($this, 'validate_url')); 
+		array_walk($urls, array($this, 'validate_url'));
 		
 		return $urls;
 	}
@@ -384,7 +384,7 @@
 			}
 		}	
 				
-		if ( ! preg_match ("/^([0-9]+)$/", $tb_id)) 
+		if ( ! preg_match ("/^([0-9]+)$/", $tb_id))
 		{
 			return false;
 		}
@@ -435,7 +435,7 @@
 	 */
 	function limit_characters($str, $n = 500, $end_char = '&#8230;')
 	{
-		if (strlen($str) < $n) 
+		if (strlen($str) < $n)
 		{
 			return $str;
 		}
@@ -453,7 +453,7 @@
 			$out .= $val.' ';			
 			if (strlen($out) >= $n)
 			{
-				return trim($out).$end_char; 
+				return trim($out).$end_char;
 			}		
 		}
 	}
@@ -475,11 +475,11 @@
 	   $count	= 1;
 	   $out	= '';
 	   $temp	= array();
-		   
+		
 	   for ($i = 0, $s = strlen($str); $i < $s; $i++)
 	   {
 		   $ordinal = ord($str[$i]);
-		   
+		
 		   if ($ordinal < 128)
 		   {
 			   $out .= $str[$i];			
@@ -490,9 +490,9 @@
 			   {
 				   $count = ($ordinal < 224) ? 2 : 3;
 			   }
-			   
+			
 			   $temp[] = $ordinal;
-			   
+			
 			   if (count($temp) == $count)
 			   {
 				   $number = ($count == 3) ? (($temp['0'] % 16) * 4096) + (($temp['1'] % 64) * 64) + ($temp['2'] % 64) : (($temp['0'] % 32) * 64) + ($temp['1'] % 64);
@@ -500,10 +500,10 @@
 				   $out .= '&#'.$number.';';
 				   $count = 1;
 				   $temp = array();
-			   }   
-		   }   
+			   }
+		   }
 	   }
-	   
+	
 	   return $out;
 	}
 	
diff --git a/system/libraries/URI.php b/system/libraries/URI.php
index fcf6afe..10654a6 100644
--- a/system/libraries/URI.php
+++ b/system/libraries/URI.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * URI Class
- * 
+ *
  * Parses URIs and determines routing
  *
  * @package		CodeIgniter
@@ -36,7 +36,7 @@
 	 *
 	 * Simply globalizes the $RTR object.  The front
 	 * loads the Router class early on so it's not available
-	 * normally as other classes are. 
+	 * normally as other classes are.
 	 *
 	 * @access	public
 	 */		
@@ -51,7 +51,7 @@
 	/**
 	 * Fetch a URI Segment
 	 *
-	 * This function returns the URI segment based on the number provided.  
+	 * This function returns the URI segment based on the number provided.
 	 *
 	 * @access	public
 	 * @param	integer
@@ -87,7 +87,7 @@
 	/**
 	 * Generate a key value pair from the URI string
 	 *
-	 * This function generates and associative array of URI data starting 
+	 * This function generates and associative array of URI data starting
 	 * at the supplied segment. For example, if this is your URI:
 	 *
 	 *	www.your-site.com/user/search/name/joe/location/UK/gender/male
@@ -99,7 +99,7 @@
 	 *			location => UK
 	 *			gender => male
 	 *		 )
-	 * 
+	 *
 	 * @access	public
 	 * @param	integer	the starting segment number
 	 * @param	array	an array of default values
@@ -122,7 +122,7 @@
 	
 	/**
 	 * Generate a key value pair from the URI string or Re-routed URI string
-	 * 
+	 *
 	 * @access	private
 	 * @param	integer	the starting segment number
 	 * @param	array	an array of default values
@@ -206,7 +206,7 @@
 	/**
 	 * Generate a URI string from an associative array
 	 *
-	 * 
+	 *
 	 * @access	public
 	 * @param	array	an associative array of key/values
 	 * @return	array
diff --git a/system/libraries/Unit_test.php b/system/libraries/Unit_test.php
index 6bfc59d..f68f69e 100644
--- a/system/libraries/Unit_test.php
+++ b/system/libraries/Unit_test.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.3.1
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Unit Testing Class
- * 
+ *
  * Simple testing class
  *
  * @package		CodeIgniter
@@ -148,7 +148,7 @@
 	/**
 	 * Make Unit testing active
 	 *
-	 * Enables/disables unit testing  
+	 * Enables/disables unit testing
 	 *
 	 * @access	public
 	 * @param	bool
@@ -233,14 +233,14 @@
 	/**
 	 * Generate a backtrace
 	 *
-	 * This lets us show file names and line numbers 
+	 * This lets us show file names and line numbers
 	 *
 	 * @access	private
 	 * @return	array
 	 */
-	function _backtrace() 
+	function _backtrace()
 	{
-		if (function_exists('debug_backtrace')) 
+		if (function_exists('debug_backtrace'))
 		{
 			$back = debug_backtrace();
 			
@@ -314,7 +314,7 @@
 
 /**
  * Helper functions to test boolean true/false
- * 
+ *
  *
  * @access	private
  * @return	bool
diff --git a/system/libraries/Upload.php b/system/libraries/Upload.php
index 09a4794..1a0b0fc 100644
--- a/system/libraries/Upload.php
+++ b/system/libraries/Upload.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -17,7 +17,7 @@
 
 /**
  * File Uploading Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Uploads
@@ -43,7 +43,7 @@
 	var $image_width	= '';
 	var $image_height	= '';
 	var $image_type		= '';
-	var $image_size_str	= '';    
+	var $image_size_str	= '';
 	var $error_msg		= array();
 	var $mimes			= array();
 	var $remove_spaces	= TRUE;
@@ -75,7 +75,7 @@
 	 * @return	void
 	 */	
 	function initialize($config = array())
-	{  
+	{
 		foreach ($config as $key => $val)
 		{
 			$method = 'set_'.$key;
@@ -98,41 +98,41 @@
 	 * @access	public
 	 * @return	bool
 	 */	
-    function do_upload($field = 'userfile')
-    {
+	function do_upload($field = 'userfile')
+	{
 		// Is $_FILES[$field] set? If not, no reason to continue.
-    	if ( ! isset($_FILES[$field]))
-    	{
+		if ( ! isset($_FILES[$field]))
+		{
 			$this->set_error('upload_userfile_not_set');
 			return FALSE;
-    	}
-    	
+		}
+		
 		// Is the upload path valid?
 		if ( ! $this->validate_upload_path())
 		{
 			return FALSE;
 		}
-		    	    	
+						
 		// Was the file able to be uploaded? If not, determine the reason why.
-		if ( ! is_uploaded_file($_FILES[$field]['tmp_name'])) 
+		if ( ! is_uploaded_file($_FILES[$field]['tmp_name']))
 		{
-            $error = ( ! isset($_FILES[$field]['error'])) ? 4 : $_FILES[$field]['error'];
+			$error = ( ! isset($_FILES[$field]['error'])) ? 4 : $_FILES[$field]['error'];
 
-            switch($error)
-            { 
-                case 1  :   $this->set_error('upload_file_exceeds_limit');
-                    break;
-                case 3  :   $this->set_error('upload_file_partial');
-                    break;
-                case 4  :   $this->set_error('upload_no_file_selected');
-                    break;
-                default :   $this->set_error('upload_no_file_selected');
-                    break;
-            }
-            
-            return FALSE;
+			switch($error)
+			{
+				case 1  :   $this->set_error('upload_file_exceeds_limit');
+					break;
+				case 3  :   $this->set_error('upload_file_partial');
+					break;
+				case 4  :   $this->set_error('upload_no_file_selected');
+					break;
+				default :   $this->set_error('upload_no_file_selected');
+					break;
+			}
+
+			return FALSE;
 		}
- 
+
 		// Set the uploaded data as class variables
 		$this->file_temp = $_FILES[$field]['tmp_name'];		
 		$this->file_name = $_FILES[$field]['name'];
@@ -148,36 +148,36 @@
 		}
 
 		// Is the file type allowed to be uploaded?
-        if ( ! $this->is_allowed_filetype())
-        {
+		if ( ! $this->is_allowed_filetype())
+		{
 			$this->set_error('upload_invalid_filetype');
 			return FALSE;
-        }
+		}
 
 		// Is the file size within the allowed maximum?
-        if ( ! $this->is_allowed_filesize())
-        {
+		if ( ! $this->is_allowed_filesize())
+		{
 			$this->set_error('upload_invalid_filesize');
-			return FALSE;    
-        }
-        
+			return FALSE;
+		}
+
 		// Are the image dimensions within the allowed size?
 		// Note: This can fail if the server has an open_basdir restriction.
-        if ( ! $this->is_allowed_dimensions())
-        {
+		if ( ! $this->is_allowed_dimensions())
+		{
 			$this->set_error('upload_invalid_dimensions');
-			return FALSE;    
-        }
-        
+			return FALSE;
+		}
+
 		// Sanitize the file name for security
-        $this->file_name = $this->clean_file_name($this->file_name);
-        
+		$this->file_name = $this->clean_file_name($this->file_name);
+
 		// Remove white spaces in the name
-        if ($this->remove_spaces == TRUE)
-        {
-            $this->file_name = preg_replace("/\s+/", "_", $this->file_name);
-        }
-        
+		if ($this->remove_spaces == TRUE)
+		{
+			$this->file_name = preg_replace("/\s+/", "_", $this->file_name);
+		}
+
 		/*
 		 * Validate the file name
 		 * This function appends an number onto the end of
@@ -195,7 +195,7 @@
 				return FALSE;
 			}
 		}
- 
+
 		/*
 		 * Move the file to the final destination
 		 * To deal with different server configurations
@@ -204,42 +204,42 @@
 		 * reliably work in most environments
 		 */
 		if ( ! @copy($this->file_temp, $this->file_path.$this->file_name))
-		{                            
+		{
 			if ( ! @move_uploaded_file($this->file_temp, $this->file_path.$this->file_name))
 			{
 				 $this->set_error('upload_destination_error');
 				 return FALSE;
 			}
-		} 
+		}
 		
 		/*
 		 * Run the file through the XSS hacking filter
 		 * This helps prevent malicious code from being
-		 * embedded within a file.  Scripts can easily 
+		 * embedded within a file.  Scripts can easily
 		 * be disguised as images or other file types.
 		 */
 		if ($this->xss_clean == TRUE)
 		{
 			$this->do_xss_clean();
 		}
- 
+
 		/*
 		 * Set the finalized image dimensions
 		 * This sets the image width/height (assuming the
 		 * file was an image).  We use this information
 		 * in the "data" function.
 		 */
-        $this->set_image_properties($this->file_path.$this->file_name);        
-        
+		$this->set_image_properties($this->file_path.$this->file_name);
+
 		return TRUE;
-    }
+	}
 	
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Finalized Data Array 
+	 * Finalized Data Array
 	 *	
-	 * Returns an associative array containing all of the information 
+	 * Returns an associative array containing all of the information
 	 * related to the upload, allowing the developer easy access in one array.
 	 *
 	 * @access	public
@@ -267,24 +267,24 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Upload Path 
+	 * Set Upload Path
 	 *
 	 * @access	public
 	 * @param	string
 	 * @return	void
 	 */	
-    function set_upload_path($path)
-    {     
+	function set_upload_path($path)
+	{
 		$this->file_path = $path;
 	}
 	
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set the file name 
+	 * Set the file name
 	 *
-	 * This function takes a filename/path as input and looks for the 
-	 * existence of a file with the same name. If found, it will append a 
+	 * This function takes a filename/path as input and looks for the
+	 * existence of a file with the same name. If found, it will append a
 	 * number to the end of the filename to avoid overwriting a pre-existing file.
 	 *
 	 * @access	public
@@ -331,58 +331,58 @@
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Maximum File Size 
+	 * Set Maximum File Size
 	 *
 	 * @access	public
 	 * @param	integer
 	 * @return	void
 	 */	
-    function set_max_filesize($n)
-    {
-        $this->max_size = ( ! eregi("^[[:digit:]]+$", $n)) ? 0 : $n; 
-    }
+	function set_max_filesize($n)
+	{
+		$this->max_size = ( ! eregi("^[[:digit:]]+$", $n)) ? 0 : $n;
+	}
 	
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Maximum Image Width 
+	 * Set Maximum Image Width
 	 *
 	 * @access	public
 	 * @param	integer
 	 * @return	void
 	 */	
-    function set_max_width($n)
-    {    
-        $this->max_width = ( ! eregi("^[[:digit:]]+$", $n)) ? 0 : $n; 
-    }
+	function set_max_width($n)
+	{
+		$this->max_width = ( ! eregi("^[[:digit:]]+$", $n)) ? 0 : $n;
+	}
 	
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Maximum Image Height 
+	 * Set Maximum Image Height
 	 *
 	 * @access	public
 	 * @param	integer
 	 * @return	void
 	 */	
-    function set_max_height($n)
-    {
-        $this->max_height = ( ! eregi("^[[:digit:]]+$", $n)) ? 0 : $n; 
-    }
+	function set_max_height($n)
+	{
+		$this->max_height = ( ! eregi("^[[:digit:]]+$", $n)) ? 0 : $n;
+	}
 	
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Set Allowed File Types 
+	 * Set Allowed File Types
 	 *
 	 * @access	public
 	 * @param	string
 	 * @return	void
 	 */	
-    function set_allowed_types($types)
-    {
-    	$this->allowed_types = explode('|', $types);
-    }
+	function set_allowed_types($types)
+	{
+		$this->allowed_types = explode('|', $types);
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -395,26 +395,26 @@
 	 * @param	string
 	 * @return	void
 	 */	
-    function set_image_properties($path = '')
-    {
-        if ( ! $this->is_image())
-        {
-            return;    
-        }
-            
-        if (function_exists('getimagesize')) 
-        {
-            if (FALSE !== ($D = @getimagesize($path)))
-            {	
+	function set_image_properties($path = '')
+	{
+		if ( ! $this->is_image())
+		{
+			return;
+		}
+
+		if (function_exists('getimagesize'))
+		{
+			if (FALSE !== ($D = @getimagesize($path)))
+			{	
 				$types = array(1 => 'gif', 2 => 'jpeg', 3 => 'png');
-            
+
 				$this->image_width		= $D['0'];
 				$this->image_height		= $D['1'];
 				$this->image_type		= ( ! isset($types[$D['2']])) ? 'unknown' : $types[$D['2']];
 				$this->image_size_str	= $D['3'];  // string containing height and width
 			}
-        }
-    }
+		}
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -441,21 +441,21 @@
 	 * @access	public
 	 * @return	bool
 	 */	
-    function is_image()
-    {
-        $img_mimes = array(
-                            'image/gif',
-                            'image/jpg', 
-                            'image/jpe',
-                            'image/jpeg', 
-                            'image/pjpeg',
-                            'image/png',
-                            'image/x-png'
-                           );
-    
+	function is_image()
+	{
+		$img_mimes = array(
+							'image/gif',
+							'image/jpg',
+							'image/jpe',
+							'image/jpeg',
+							'image/pjpeg',
+							'image/png',
+							'image/x-png'
+						   );
+
 
 		return (in_array($this->file_type, $img_mimes, TRUE)) ? TRUE : FALSE;
-    }
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -465,36 +465,36 @@
 	 * @access	public
 	 * @return	bool
 	 */	
-    function is_allowed_filetype()
-    {
-    	if (count($this->allowed_types) == 0)
-    	{
+	function is_allowed_filetype()
+	{
+		if (count($this->allowed_types) == 0)
+		{
 			$this->set_error('upload_no_file_types');
 			return FALSE;
-    	}
-    	     	 
-    	foreach ($this->allowed_types as $val)
-    	{
-    		$mime = $this->mimes_types(strtolower($val));
-    	
-    		if (is_array($mime))
-    		{
-    			if (in_array($this->file_type, $mime, TRUE))
-    			{
-    				return TRUE;
-    			}
-    		}
-    		else
-    		{
+		}
+			 	
+		foreach ($this->allowed_types as $val)
+		{
+			$mime = $this->mimes_types(strtolower($val));
+		
+			if (is_array($mime))
+			{
+				if (in_array($this->file_type, $mime, TRUE))
+				{
+					return TRUE;
+				}
+			}
+			else
+			{
 				if ($mime == $this->file_type)
 				{
 					return TRUE;
 				}	
-    		}    	
-    	}
-    	
-    	return FALSE;
-    }
+			}		
+		}
+		
+		return FALSE;
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -504,17 +504,17 @@
 	 * @access	public
 	 * @return	bool
 	 */	
-    function is_allowed_filesize()
-    {    
-        if ($this->max_size != 0  AND  $this->file_size > $this->max_size)
-        {
-            return FALSE;
-        }
-        else
-        {
-            return TRUE;
-        }
-    }
+	function is_allowed_filesize()
+	{
+		if ($this->max_size != 0  AND  $this->file_size > $this->max_size)
+		{
+			return FALSE;
+		}
+		else
+		{
+			return TRUE;
+		}
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -524,37 +524,37 @@
 	 * @access	public
 	 * @return	bool
 	 */	
-    function is_allowed_dimensions()
-    {
-        if ( ! $this->is_image())
-        {
-            return TRUE;    
-        }
-    
-        if (function_exists('getimagesize')) 
-        {
-            $D = @getimagesize($this->file_temp);
-            
-            if ($this->max_width > 0 AND $D['0'] > $this->max_width)
-            {
-                return FALSE;
-            }
+	function is_allowed_dimensions()
+	{
+		if ( ! $this->is_image())
+		{
+			return TRUE;
+		}
 
-            if ($this->max_height > 0 AND $D['1'] > $this->max_height)
-            {
-                return FALSE;
-            }
-                       
-            return TRUE;
-        }
+		if (function_exists('getimagesize'))
+		{
+			$D = @getimagesize($this->file_temp);
 
-        return TRUE;
-    }
+			if ($this->max_width > 0 AND $D['0'] > $this->max_width)
+			{
+				return FALSE;
+			}
+
+			if ($this->max_height > 0 AND $D['1'] > $this->max_height)
+			{
+				return FALSE;
+			}
+
+			return TRUE;
+		}
+
+		return TRUE;
+	}
 	
 	// --------------------------------------------------------------------
 	
 	/**
-	 * Validate Upload Path 
+	 * Validate Upload Path
 	 *
 	 * Verifies that it is a valid upload path with proper permissions.
 	 *
@@ -562,34 +562,34 @@
 	 * @access	public
 	 * @return	bool
 	 */	
-    function validate_upload_path()
-    {    
-    	if ($this->file_path == '')
-    	{ 
+	function validate_upload_path()
+	{
+		if ($this->file_path == '')
+		{
 			$this->set_error('upload_no_filepath');
 			return FALSE;
-    	}
-    	
+		}
+		
 		if (function_exists('realpath') AND @realpath($this->file_path) !== FALSE)
 		{
-			$this->file_path = str_replace("\\", "/", realpath($this->file_path)); 
+			$this->file_path = str_replace("\\", "/", realpath($this->file_path));
 		}
-    
-        if ( ! @is_dir($this->file_path))
-        {
+
+		if ( ! @is_dir($this->file_path))
+		{
 			$this->set_error('upload_no_filepath');
 			return FALSE;
-        }
-        
-        if ( ! is_writable($this->file_path))
-        {
+		}
+
+		if ( ! is_writable($this->file_path))
+		{
 			$this->set_error('upload_not_writable');
 			return FALSE;
-        }
-                
+		}
+
 		$this->file_path = preg_replace("/(.+?)\/*$/", "\\1/",  $this->file_path);
 		return TRUE;
-    }
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -617,7 +617,7 @@
 	 */		
 	function clean_file_name($filename)
 	{
-        $bad = array(
+		$bad = array(
 						"<!--",
 						"-->",
 						"'",
@@ -636,21 +636,21 @@
 						"%253c", 	// <
 						"%3e", 		// >
 						"%0e", 		// >
-						"%28", 		// (  
-						"%29", 		// ) 
+						"%28", 		// (
+						"%29", 		// )
 						"%2528", 	// (
 						"%26", 		// &
 						"%24", 		// $
 						"%3f", 		// ?
 						"%3b", 		// ;
 						"%3d"		// =
-        			);
-        			
-        foreach ($bad as $val)
-        {
-			$filename = str_replace($val, '', $filename);   
-        }
-        
+					);
+					
+		foreach ($bad as $val)
+		{
+			$filename = str_replace($val, '', $filename);
+		}
+
 		return $filename;
 	}
 	
@@ -659,7 +659,7 @@
 	/**
 	 * Runs the file through the XSS clean function
 	 *
-	 * This prevents people from embedding malicious code in their files.  
+	 * This prevents people from embedding malicious code in their files.
 	 * I'm not sure that it won't negatively affect certain files in unexpected ways,
 	 * but so far I haven't found that it causes trouble.
 	 *
@@ -670,7 +670,7 @@
 	{		
 		$file = $this->file_path.$this->file_name;
 		
-		if (filesize($file) == 0) 
+		if (filesize($file) == 0)
 		{
 			return FALSE;
 		}
@@ -680,16 +680,16 @@
 			return FALSE;
 		}
 			
-        flock($fp, LOCK_EX);
+		flock($fp, LOCK_EX);
 
-		$data = fread($fp, filesize($file)); 
+		$data = fread($fp, filesize($file));
 		
 		$CI =& get_instance();	
 		$data = $CI->input->xss_clean($data);
 
-        fwrite($fp, $data);
-        flock($fp, LOCK_UN);
-        fclose($fp);
+		fwrite($fp, $data);
+		flock($fp, LOCK_UN);
+		fclose($fp);
 	}
 	
 	// --------------------------------------------------------------------
diff --git a/system/libraries/User_agent.php b/system/libraries/User_agent.php
index 11c2baa..b217367 100644
--- a/system/libraries/User_agent.php
+++ b/system/libraries/User_agent.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * User Agent Class
- * 
+ *
  * Identifies the platform, browser, robot, or mobile devise of the browsing agent
  *
  * @package		CodeIgniter
@@ -155,9 +155,9 @@
 	{
 		if (is_array($this->platforms) AND count($this->platforms) > 0)
 		{
-			foreach ($this->platforms as $key => $val) 
+			foreach ($this->platforms as $key => $val)
 			{
-				if (preg_match("|".preg_quote($key)."|i", $this->agent)) 
+				if (preg_match("|".preg_quote($key)."|i", $this->agent))
 				{
 					$this->platform = $val;
 					return TRUE;
@@ -179,9 +179,9 @@
 	{
 		if (is_array($this->browsers) AND count($this->browsers) > 0)
 		{
-			foreach ($this->browsers as $key => $val) 
+			foreach ($this->browsers as $key => $val)
 			{		
-				if (preg_match("|".preg_quote($key).".*?([0-9\.]+)|i", $this->agent, $match)) 
+				if (preg_match("|".preg_quote($key).".*?([0-9\.]+)|i", $this->agent, $match))
 				{
 					$this->is_browser = TRUE;
 					$this->version = $match[1];
@@ -205,9 +205,9 @@
 	{
 		if (is_array($this->robots) AND count($this->robots) > 0)
 		{		
-			foreach ($this->robots as $key => $val) 
+			foreach ($this->robots as $key => $val)
 			{
-				if (preg_match("|".preg_quote($key)."|i", $this->agent)) 
+				if (preg_match("|".preg_quote($key)."|i", $this->agent))
 				{
 					$this->is_robot = TRUE;
 					$this->robot = $val;
@@ -230,7 +230,7 @@
 	{
 		if (is_array($this->mobiles) AND count($this->mobiles) > 0)
 		{		
-			foreach ($this->mobiles as $key => $val) 
+			foreach ($this->mobiles as $key => $val)
 			{
 				if (FALSE !== (strpos(strtolower($this->agent), $key)))
 				{
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php
index 07ca35a..ec7e412 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -17,7 +17,7 @@
 
 /**
  * Validation Class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Validation
@@ -40,7 +40,7 @@
 	
 
 	/**
-	 * Constructor 
+	 * Constructor
 	 *
 	 */	
 	function CI_Validation()
@@ -102,7 +102,7 @@
 	/**
 	 * Set Rules
 	 *
-	 * This function takes an array of field names and validation 
+	 * This function takes an array of field names and validation
 	 * rules as input ad simply stores is for use later.
 	 *
 	 * @access	public
@@ -131,7 +131,7 @@
 	/**
 	 * Set Error Message
 	 *
-	 * Lets users set their own error messages on the fly.  Note:  The key 
+	 * Lets users set their own error messages on the fly.  Note:  The key
 	 * name has to match the  function name that it corresponds to.
 	 *
 	 * @access	public
@@ -216,7 +216,7 @@
 			{			
 				if (in_array('isset', $ex, TRUE) OR in_array('required', $ex))
 				{
-					if ( ! isset($this->_error_messages['isset'])) 
+					if ( ! isset($this->_error_messages['isset']))
 					{
 						if (FALSE === ($line = $this->CI->lang->line('isset')))
 						{
@@ -308,7 +308,7 @@
 				// Did the rule test negatively?  If so, grab the error.
 				if ($result === FALSE)
 				{
-					if ( ! isset($this->_error_messages[$rule])) 
+					if ( ! isset($this->_error_messages[$rule]))
 					{
 						if (FALSE === ($line = $this->CI->lang->line($rule)))
 						{
@@ -352,7 +352,7 @@
 		}
 		
 		$this->set_fields();
- 
+
 		// Did we end up with any errors?
 		if ($total_errors == 0)
 		{
@@ -653,15 +653,15 @@
 	 * @param	string
 	 * @return	string
 	 */
-    function prep_for_form($str = '')
-    {
-    	if ($this->_safe_form_data == FALSE OR $str == '')
-    	{
-    		return $str;
-    	}
-            
+	function prep_for_form($str = '')
+	{
+		if ($this->_safe_form_data == FALSE OR $str == '')
+		{
+			return $str;
+		}
+
 		return str_replace(array("'", '"', '<', '>'), array("&#39;", "&quot;", '&lt;', '&gt;'), stripslashes($str));
-    }
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -672,8 +672,8 @@
 	 * @param	string
 	 * @return	string
 	 */	
-    function prep_url($str = '')
-    {
+	function prep_url($str = '')
+	{
 		if ($str == 'http://' OR $str == '')
 		{
 			$_POST[$this->_current_field] = '';
@@ -686,7 +686,7 @@
 		}
 		
 		$_POST[$this->_current_field] = $str;
-    }
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -697,10 +697,10 @@
 	 * @param	string
 	 * @return	string
 	 */	
-    function strip_image_tags($str)
-    {                    
-        $_POST[$this->_current_field] = $this->input->strip_image_tags($str);
-    }
+	function strip_image_tags($str)
+	{
+		$_POST[$this->_current_field] = $this->input->strip_image_tags($str);
+	}
 	
 	// --------------------------------------------------------------------
 	
@@ -725,9 +725,9 @@
 	 * @param	string
 	 * @return	string
 	 */	
-    function encode_php_tags($str)
-    { 
-    	$_POST[$this->_current_field] = str_replace(array('<?php', '<?PHP', '<?', '?>'),  array('&lt;?php', '&lt;?PHP', '&lt;?', '?&gt;'), $str);
+	function encode_php_tags($str)
+	{
+		$_POST[$this->_current_field] = str_replace(array('<?php', '<?PHP', '<?', '?>'),  array('&lt;?php', '&lt;?PHP', '&lt;?', '?&gt;'), $str);
 	}
 
 }
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index 0a3deda..2d9a4c1 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -7,15 +7,15 @@
  * @package		CodeIgniter
  * @author		Rick Ellis, Paul Burdick
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 if ( ! function_exists('xml_parser_create'))
 {	
-    show_error('Your PHP installation does not support XML');
+	show_error('Your PHP installation does not support XML');
 }
 
 
@@ -23,7 +23,7 @@
 
 /**
  * XML-RPC request handler class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	XML-RPC
@@ -33,7 +33,7 @@
 class CI_Xmlrpc {
 
 	var $debug			= FALSE; 	// Debugging on or off	
-	var $xmlrpcI4		= 'i4'; 
+	var $xmlrpcI4		= 'i4';
 	var $xmlrpcInt		= 'int';
 	var $xmlrpcBoolean	= 'boolean';
 	var $xmlrpcDouble	= 'double';	
@@ -65,10 +65,10 @@
 
 
 	//-------------------------------------
-    //  VALUES THAT MULTIPLE CLASSES NEED
-    //-------------------------------------   
+	//  VALUES THAT MULTIPLE CLASSES NEED
+	//-------------------------------------
 
-	function CI_Xmlrpc ($config = array()) 
+	function CI_Xmlrpc ($config = array())
 	{
 		
 		$this->xmlrpcName 		= $this->xmlrpcName;
@@ -76,14 +76,14 @@
 		
 		// Types for info sent back and forth
 		$this->xmlrpcTypes = array(
-			$this->xmlrpcI4       => '1',
-			$this->xmlrpcInt      => '1',
+			$this->xmlrpcI4	   => '1',
+			$this->xmlrpcInt	  => '1',
 			$this->xmlrpcBoolean  => '1',
 			$this->xmlrpcString   => '1',
 			$this->xmlrpcDouble   => '1',
 			$this->xmlrpcDateTime => '1',
 			$this->xmlrpcBase64   => '1',
-			$this->xmlrpcArray    => '2',
+			$this->xmlrpcArray	=> '2',
 			$this->xmlrpcStruct   => '3'
 			);
 			
@@ -129,10 +129,10 @@
 	
 	
 	//-------------------------------------
-    //  Initialize Prefs
-    //-------------------------------------   
+	//  Initialize Prefs
+	//-------------------------------------
 
-	function initialize($config = array()) 
+	function initialize($config = array())
 	{
 		if (sizeof($config) > 0)
 		{
@@ -148,10 +148,10 @@
 	// END
 	
 	//-------------------------------------
-    //  Take URL and parse it
-    //-------------------------------------   
+	//  Take URL and parse it
+	//-------------------------------------
 
-	function server($url, $port=80) 
+	function server($url, $port=80)
 	{
 		if (substr($url, 0, 4) != "http")
 		{
@@ -173,9 +173,9 @@
 	
 	//-------------------------------------
 	//  Set Timeout
-	//-------------------------------------   
+	//-------------------------------------
 
-	function timeout($seconds=5) 
+	function timeout($seconds=5)
 	{
 		if ( ! is_null($this->client) && is_int($seconds))
 		{
@@ -186,9 +186,9 @@
 	
 	//-------------------------------------
 	//  Set Methods
-	//-------------------------------------   
+	//-------------------------------------
 
-	function method($function) 
+	function method($function)
 	{
 		$this->method = $function;
 	}
@@ -196,9 +196,9 @@
 	
 	//-------------------------------------
 	//  Take Array of Data and Create Objects
-	//-------------------------------------   
+	//-------------------------------------
 
-	function request($incoming) 
+	function request($incoming)
 	{
 		if ( ! is_array($incoming))
 		{
@@ -215,7 +215,7 @@
 	
 	//-------------------------------------
 	//  Set Debug
-	//-------------------------------------   
+	//-------------------------------------
 
 	function set_debug($flag = TRUE)
 	{
@@ -224,7 +224,7 @@
 	
 	//-------------------------------------
 	//  Values Parsing
-	//-------------------------------------   
+	//-------------------------------------
 
 	function values_parsing($value, $return = FALSE)
 	{
@@ -260,9 +260,9 @@
 
 	//-------------------------------------
 	//  Sends XML-RPC Request
-	//-------------------------------------   
+	//-------------------------------------
 
-	function send_request() 
+	function send_request()
 	{
 		$this->message = new XML_RPC_Message($this->method,$this->data);
 		$this->message->debug = $this->debug;
@@ -286,9 +286,9 @@
 	
 	//-------------------------------------
 	//  Returns Error
-	//-------------------------------------   
+	//-------------------------------------
 
-	function display_error() 
+	function display_error()
 	{
 		return $this->error;
 	}
@@ -296,9 +296,9 @@
 	
 	//-------------------------------------
 	//  Returns Remote Server Response
-	//-------------------------------------   
+	//-------------------------------------
 
-	function display_response() 
+	function display_response()
 	{
 		return $this->response;
 	}
@@ -306,7 +306,7 @@
 	
 	//-------------------------------------
 	//  Sends an Error Message for Server Request
-	//-------------------------------------   
+	//-------------------------------------
 	
 	function send_error_message($number, $message)
 	{
@@ -317,7 +317,7 @@
 	
 	//-------------------------------------
 	//  Send Response for Server Request
-	//-------------------------------------   
+	//-------------------------------------
 	
 	function send_response($response)
 	{
@@ -336,7 +336,7 @@
 	
 /**
  * XML-RPC Client class
- * 
+ *
  * @category	XML-RPC
  * @author		Paul Burdick
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
@@ -355,8 +355,8 @@
 	{
 		parent::CI_Xmlrpc();
 		
-		$this->port = $port; 
-		$this->server = $server; 
+		$this->port = $port;
+		$this->server = $server;
 		$this->path = $path;
 	}
 	
@@ -414,7 +414,7 @@
 
 /**
  * XML-RPC Response class
- * 
+ *
  * @category	XML-RPC
  * @author		Paul Burdick
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
@@ -432,7 +432,7 @@
 		{
 			// error
 			$this->errno = $code;
-			$this->errstr = htmlentities($fstr); 
+			$this->errstr = htmlentities($fstr);
 		}
 		else if (!is_object($val))
 		{
@@ -484,7 +484,7 @@
 		else
 		{
 			$result .= "<params>\n<param>\n" .
-					$this->val->serialize_class() . 
+					$this->val->serialize_class() .
 					"</param>\n</params>";
 		}
 		$result .= "\n</methodResponse>";
@@ -532,7 +532,7 @@
 	
 	//-------------------------------------
 	//  XML-RPC Object to PHP Types
-	//------------------------------------- 
+	//-------------------------------------
 
 	function xmlrpc_decoder($xmlrpc_val)
 	{
@@ -554,7 +554,7 @@
 			{
 				$arr[] = $this->xmlrpc_decoder($xmlrpc_val->me['array'][$i]);
 			}
-			return $arr; 
+			return $arr;
 		}
 		elseif($kind == 'struct')
 		{
@@ -572,7 +572,7 @@
 	
 	//-------------------------------------
 	//  ISO-8601 time to server or UTC time
-	//------------------------------------- 
+	//-------------------------------------
 
 	function iso8601_decode($time, $utc=0)
 	{
@@ -584,7 +584,7 @@
 				$t = gmmktime($regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1]);
 			else
 				$t = mktime($regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1]);
-		} 
+		}
 		return $t;
 	}
 	
@@ -594,7 +594,7 @@
 
 /**
  * XML-RPC Message class
- * 
+ *
  * @category	XML-RPC
  * @author		Paul Burdick
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
@@ -623,7 +623,7 @@
 	
 	//-------------------------------------
 	//  Create Payload to Send
-	//-------------------------------------   
+	//-------------------------------------
 	
 	function createPayload()
 	{
@@ -643,7 +643,7 @@
 	
 	//-------------------------------------
 	//  Parse External XML-RPC Server's Response
-	//-------------------------------------   
+	//-------------------------------------
 	
 	function parseResponse($fp)
 	{
@@ -667,7 +667,7 @@
 		
 		//-------------------------------------
 		//  Check for data
-		//-------------------------------------   
+		//-------------------------------------
 
 		if($data == "")
 		{
@@ -679,7 +679,7 @@
 		
 		//-------------------------------------
 		//  Check for HTTP 200 Response
-		//-------------------------------------  
+		//-------------------------------------
 		
 		if(ereg("^HTTP",$data) && !ereg("^HTTP/[0-9\.]+ 200 ", $data))
 		{
@@ -690,7 +690,7 @@
 		
 		//-------------------------------------
 		//  Create and Set Up XML Parser
-		//------------------------------------- 
+		//-------------------------------------
 	
 		$parser = xml_parser_create($this->xmlrpc_defencoding);
 
@@ -711,7 +711,7 @@
 
 		//-------------------------------------
 		//  GET HEADERS
-		//-------------------------------------  
+		//-------------------------------------
 		
 		$lines = explode("\r\n", $data);
 		while (($line = array_shift($lines)))
@@ -790,7 +790,7 @@
 		
 		//-------------------------------------
 		//  SEND RESPONSE
-		//-------------------------------------  
+		//-------------------------------------
 		
 		$v = $this->xh[$parser]['value'];
 			
@@ -825,7 +825,7 @@
 	//   ac - used to accumulate values
 	//   isf - used to indicate a fault
 	//   lv - used to indicate "looking for a value": implements
-	//        the logic to allow values with no types to be strings
+	//		the logic to allow values with no types to be strings
 	//   params - used to store parameters in method calls
 	//   method - used to store method name
 	//	 stack - array with parent tree of the xml element,
@@ -833,7 +833,7 @@
 
 	//-------------------------------------
 	//  Start Element Handler
-	//------------------------------------- 
+	//-------------------------------------
 
 	function open_tag($the_parser, $name, $attrs)
 	{
@@ -870,7 +870,7 @@
 				
 				$cur_val = array('value' => array(),
 								 'type'	 => $name);
-								 
+								
 				array_unshift($this->xh[$the_parser]['valuestack'], $cur_val);
 			break;
 			case 'METHODNAME':
@@ -935,7 +935,7 @@
 
 	//-------------------------------------
 	//  End Element Handler
-	//------------------------------------- 
+	//-------------------------------------
 
 	function closing_tag($the_parser, $name)
 	{
@@ -974,7 +974,7 @@
 				}
 				elseif ($name=='DATETIME.ISO8601')
 				{
-					$this->xh[$the_parser]['vt']    = $this->xmlrpcDateTime;
+					$this->xh[$the_parser]['vt']	= $this->xmlrpcDateTime;
 					$this->xh[$the_parser]['value'] = $this->xh[$the_parser]['ac'];
 				}
 				elseif ($name=='BASE64')
@@ -1041,7 +1041,7 @@
 				else
 				{
 					// Struct
-	    			$this->xh[$the_parser]['value'] = $temp;
+					$this->xh[$the_parser]['value'] = $temp;
 				}
 			break;
 			case 'MEMBER':
@@ -1079,7 +1079,7 @@
 
 	//-------------------------------------
 	//  Parses Character Data
-	//------------------------------------- 
+	//-------------------------------------
 
 	function character_data($the_parser, $data)
 	{
@@ -1130,21 +1130,21 @@
 			$parameters = array();
 		
 			for ($i = 0; $i < sizeof($this->params); $i++)
-    		{
-    			$a_param = $this->decode_message($this->params[$i]);
-    			
-    			if (is_array($a_param))
-    			{
-    				$parameters[] = $this->output_parameters($a_param);
-    			}
-    			else
-    			{
-    				$parameters[] = $CI->input->xss_clean($a_param);
-    			}
-    		}	
-    	}
-    	
-    	return $parameters;
+			{
+				$a_param = $this->decode_message($this->params[$i]);
+				
+				if (is_array($a_param))
+				{
+					$parameters[] = $this->output_parameters($a_param);
+				}
+				else
+				{
+					$parameters[] = $CI->input->xss_clean($a_param);
+				}
+			}	
+		}
+		
+		return $parameters;
 	}
 	
 	
@@ -1168,7 +1168,7 @@
 				$arr[] = $this->decode_message($param->me['array'][$i]);
 			}
 			
-			return $arr; 
+			return $arr;
 		}
 		elseif($kind == 'struct')
 		{
@@ -1191,7 +1191,7 @@
 
 /**
  * XML-RPC Values class
- * 
+ *
  * @category	XML-RPC
  * @author		Paul Burdick
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
@@ -1387,7 +1387,7 @@
 
 	//-------------------------------------
 	// Encode time in ISO-8601 form.
-	//------------------------------------- 
+	//-------------------------------------
 	
 	// Useful for sending time in XML-RPC
 
diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php
index e4d3cff..bdb058e 100644
--- a/system/libraries/Xmlrpcs.php
+++ b/system/libraries/Xmlrpcs.php
@@ -7,7 +7,7 @@
  * @package		CodeIgniter
  * @author		Rick Ellis, Paul Burdick
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
@@ -15,19 +15,19 @@
 
 if ( ! function_exists('xml_parser_create'))
 {	
-    show_error('Your PHP installation does not support XML');
+	show_error('Your PHP installation does not support XML');
 }
 
 if ( ! class_exists('CI_Xmlrpc'))
 {
-    show_error('You must load the Xmlrpc class before loading the Xmlrpcs class in order to create a server.');
+	show_error('You must load the Xmlrpc class before loading the Xmlrpcs class in order to create a server.');
 }
 
 // ------------------------------------------------------------------------
 
 /**
  * XML-RPC server class
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	XML-RPC
@@ -44,7 +44,7 @@
 
 	//-------------------------------------
 	//  Constructor, more or less
-	//-------------------------------------  
+	//-------------------------------------
 
 	function CI_Xmlrpcs($config=array())
 	{	
@@ -61,7 +61,7 @@
 	
 	//-------------------------------------
 	//  Initialize Prefs and Serve
-	//-------------------------------------  
+	//-------------------------------------
 	
 	function initialize($config=array())
 	{	
@@ -78,7 +78,7 @@
 	
 	//-------------------------------------
 	//  Setting of System Methods
-	//------------------------------------- 
+	//-------------------------------------
 	
 	function set_system_methods ()
 	{
@@ -105,7 +105,7 @@
 
 	//-------------------------------------
 	//  Main Server Function
-	//------------------------------------- 
+	//-------------------------------------
 	
 	function serve()
 	{
@@ -121,7 +121,7 @@
 
 	//-------------------------------------
 	//  Add Method to Class
-	//-------------------------------------  
+	//-------------------------------------
 	
 	function add_to_map($methodname,$function,$sig,$doc)
 	{
@@ -135,7 +135,7 @@
 
 	//-------------------------------------
 	//  Parse Server Request
-	//------------------------------------- 
+	//-------------------------------------
 	
 	function parseRequest($data='')
 	{
@@ -143,7 +143,7 @@
 		
 		//-------------------------------------
 		//  Get Data
-		//-------------------------------------  
+		//-------------------------------------
 
 		if ($data == '')
 		{
@@ -153,7 +153,7 @@
 
 		//-------------------------------------
 		//  Set up XML Parser
-		//------------------------------------- 
+		//-------------------------------------
 		
 		$parser = xml_parser_create($this->xmlrpc_defencoding);
 		$parser_object = new XML_RPC_Message("filler");
@@ -221,7 +221,7 @@
 		//  SET DEBUGGING MESSAGE
 		//-------------------------------------  	
 		
-		if ($this->debug === TRUE) 
+		if ($this->debug === TRUE)
 		{
 			$this->debug_msg = "<!-- DEBUG INFO:\n\n".$plist."\n END DEBUG-->\n";
 		}
@@ -231,7 +231,7 @@
 
 	//-------------------------------------
 	//  Executes the Method
-	//------------------------------------- 
+	//-------------------------------------
 	
 	function _execute($m)
 	{
@@ -244,7 +244,7 @@
 		
 		//-------------------------------------
 		//  Check for Function
-		//------------------------------------- 
+		//-------------------------------------
 		
 		if (!isset($methods[$methName]['function']))
 		{
@@ -275,7 +275,7 @@
 
 		//-------------------------------------
 		//  Checking Methods Signature
-		//------------------------------------- 
+		//-------------------------------------
 		
 		if (isset($methods[$methName]['signature']))
 		{
@@ -298,7 +298,7 @@
 							
 							return new XML_RPC_Response(0,
 								$this->xmlrpcerr['incorrect_params'],
-								$this->xmlrpcstr['incorrect_params'] . 
+								$this->xmlrpcstr['incorrect_params'] .
 								": Wanted {$wanted}, got {$pt} at param {$pno})");
 						}
 					}
@@ -308,7 +308,7 @@
 
 		//-------------------------------------
 		//  Calls the Function
-		//------------------------------------- 
+		//-------------------------------------
 
 		if ($objectCall)
 		{
@@ -334,7 +334,7 @@
 	
 	//-------------------------------------
 	//  Server Function:  List Methods
-	//------------------------------------- 
+	//-------------------------------------
 	
 	function listMethods($m)
 	{
@@ -356,7 +356,7 @@
 	
 	//-------------------------------------
 	//  Server Function:  Return Signature for Method
-	//------------------------------------- 
+	//-------------------------------------
 		
 	function methodSignature($m)
 	{
@@ -398,7 +398,7 @@
 	
 	//-------------------------------------
 	//  Server Function:  Doc String for Method
-	//------------------------------------- 
+	//-------------------------------------
 	
 	function methodHelp($m)
 	{
@@ -421,7 +421,7 @@
 
 	//-------------------------------------
 	//  Server Function:  Multi-call
-	//------------------------------------- 
+	//-------------------------------------
 
 	function multicall($m)
 	{
@@ -441,7 +441,7 @@
 	
 	//-------------------------------------
 	//  Multi-call Function:  Error Handling
-	//------------------------------------- 
+	//-------------------------------------
 
 	function multicall_error($err)
 	{
@@ -457,7 +457,7 @@
 	
 	//-------------------------------------
 	//  Multi-call Function:  Processes method
-	//------------------------------------- 
+	//-------------------------------------
 	
 	function do_multicall($call)
 	{
@@ -469,7 +469,7 @@
 		list($scalar_type,$scalar_value)=each($methName->me);
 		$scalar_type = $scalar_type == $this->xmlrpcI4 ? $this->xmlrpcInt : $scalar_type;
 			
-		if ($methName->kindOf() != 'scalar' || $scalar_type != 'string') 
+		if ($methName->kindOf() != 'scalar' || $scalar_type != 'string')
 			return $this->multicall_error('notstring');
 		elseif ($scalar_value == 'system.multicall')
 			return $this->multicall_error('recursion');
diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php
index 6af1ca9..092f9f3 100644
--- a/system/libraries/Zip.php
+++ b/system/libraries/Zip.php
@@ -7,12 +7,12 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
@@ -21,16 +21,16 @@
  * This class is based on a library I found at Zend:
  * http://www.zend.com/codex.php?id=696&single=1
  *
- * The original library is a little rough around the edges so I 
+ * The original library is a little rough around the edges so I
  * refactored it and added several additional methods -- Rick Ellis
- * 
+ *
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Encryption
  * @author		Rick Ellis
  * @link		http://www.codeigniter.com/user_guide/general/encryption.html
  */
-class CI_Zip  {  
+class CI_Zip  {
 
 	var $zipfile	= '';	
 	var $zipdata	= array();
@@ -53,7 +53,7 @@
 	 * @param	mixed	the directory name. Can be string or array
 	 * @return	void
 	 */
-	function add_dir($directory) 
+	function add_dir($directory)
 	{
 		foreach ((array)$directory as $dir)
 		{
@@ -75,9 +75,9 @@
 	 * @param	string	the directory name
 	 * @return	void
 	 */
-	function _add_dir($dir) 
+	function _add_dir($dir)
 	{
-		$dir = str_replace("\\", "/", $dir);  
+		$dir = str_replace("\\", "/", $dir);
 		
 		$this->zipdata[] = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"
 							.pack('V', 0)
@@ -88,7 +88,7 @@
 							.$dir
 							.pack('V', 0)
 							.pack('V', 0)
-							.pack('V', 0); 
+							.pack('V', 0);
 		
 		$newoffset = strlen(implode('', $this->zipdata));
 		
@@ -106,7 +106,7 @@
 					.$dir;
 		
 		$this->offset = $newoffset;
-		$this->directory[] = $record;  
+		$this->directory[] = $record;
 	}
 	
 	// --------------------------------------------------------------------
@@ -150,14 +150,14 @@
 	 */	
 	function _add_data($filepath, $data)
 	{	
-		$filepath = str_replace("\\", "/", $filepath);  
+		$filepath = str_replace("\\", "/", $filepath);
 			
-		$oldlen	= strlen($data);  
-		$crc32	= crc32($data);  
+		$oldlen	= strlen($data);
+		$crc32	= crc32($data);
 		
 		$gzdata = gzcompress($data);
 		$gzdata = substr(substr($gzdata, 0, strlen($gzdata) - 4), 2); 	
-		$newlen = strlen($gzdata);  
+		$newlen = strlen($gzdata);
 	
 		$this->zipdata[] = "\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00\x00\x00\x00\x00"
 							.pack('V', $crc32)
@@ -169,7 +169,7 @@
 							.$gzdata
 							.pack('V', $crc32)
 							.pack('V', $newlen)
-							.pack('V', $oldlen); 
+							.pack('V', $oldlen);
 			
 		$newoffset = strlen(implode("", $this->zipdata));
 		
@@ -183,10 +183,10 @@
 					.pack('v', 0)
 					.pack('v', 0)
 					.pack('V', 32)
-					.pack('V', $this->offset); 
+					.pack('V', $this->offset);
 		
 		$this->offset = $newoffset;
-		$this->directory[] = $record.$filepath;  
+		$this->directory[] = $record.$filepath;
 	}
 	
 	// --------------------------------------------------------------------
@@ -198,7 +198,7 @@
 	 * @return	binary string
 	 */	
 	function get_zip()
-	{ 
+	{
 		// We cache the zip data so multiple calls
 		// do not require recompiling
 		if ($this->zipfile != '')
@@ -212,8 +212,8 @@
 			return FALSE;
 		}
 	
-		$data	= implode('', $this->zipdata);  
-		$dir	= implode('', $this->directory);  
+		$data	= implode('', $this->zipdata);
+		$dir	= implode('', $this->directory);
 				
 		$this->zipfile = $data.$dir."\x50\x4b\x05\x06\x00\x00\x00\x00"
 						.pack('v', sizeof($this->directory))
@@ -278,8 +278,8 @@
 			header("Content-Transfer-Encoding: binary");
 			header('Pragma: public');
 			header("Content-Length: ".strlen($this->get_zip()));
-		} 
-		else 
+		}
+		else
 		{
 			header('Content-Type: application/x-zip');
 			header('Content-Disposition: attachment; filename="'.$filename.'"');
@@ -297,7 +297,7 @@
 	/**
 	 * Initialize Data
 	 *
-	 * Lets you clear current zip data.  Useful if you need to create 
+	 * Lets you clear current zip data.  Useful if you need to create
 	 * multiple zips with different data.
 	 *
 	 * @access	public
diff --git a/system/plugins/captcha_pi.php b/system/plugins/captcha_pi.php
index 54944b8..b3c22f0 100644
--- a/system/plugins/captcha_pi.php
+++ b/system/plugins/captcha_pi.php
@@ -7,19 +7,19 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /*
 Instructions:
 
 Load the plugin using:
- 
+
  	$this->load->plugin('captcha');
 
 Once loaded you can generate a captcha like this:
@@ -42,9 +42,9 @@
 	
 	The captcha function requires the GD image library.
 	
-	Only the img_path and img_url are required.  
+	Only the img_path and img_url are required.
 	
-	If a "word" is not supplied, the function will generate a random 
+	If a "word" is not supplied, the function will generate a random
 	ASCII string.  You might put together your own word library that
 	you can draw randomly from.
 	
@@ -56,11 +56,11 @@
 	The "expiration" (in seconds) signifies how long an image will
 	remain in the captcha folder before it will be deleted.  The default
 	is two hours.
-   
+
 RETURNED DATA
 
 The create_captcha() function returns an associative array with this data:
-  
+
   [array]
   (
 	'image' => IMAGE TAG
@@ -68,10 +68,10 @@
 	'word'	=> CAPTCHA WORD
   )
 
-The "image" is the actual image tag: 
+The "image" is the actual image tag:
 <img src="http://your-site.com/captcha/12345.jpg" width="140" height="50" />
 
-The "time" is the micro timestamp used as the image name without the file 
+The "time" is the micro timestamp used as the image name without the file
 extension.  It will be a number like this:  1139612155.3422
 
 The "word" is the word that appears in the captcha image, which if not
@@ -81,12 +81,12 @@
 ADDING A DATABASE
 
 In order for the captcha function to prevent someone from posting, you will need
-to add the information returned from create_captcha() function to your database.  
-Then, when the data from the form is submitted by the user you will need to verify 
+to add the information returned from create_captcha() function to your database.
+Then, when the data from the form is submitted by the user you will need to verify
 that the data exists in the database and has not expired.
 
 Here is a table prototype:
-   
+
 	CREATE TABLE captcha (
 	 captcha_id bigint(13) unsigned NOT NULL auto_increment,
 	 captcha_time int(10) unsigned NOT NULL,
@@ -98,7 +98,7 @@
 
 
 Here is an example of usage with a DB.
- 
+
 On the page where the captcha will be shown you'll have something like this:
 
 	$this->load->plugin('captcha');
@@ -110,10 +110,10 @@
 	$cap = create_captcha($vals);
 
 	$data = array(
-					'captcha_id'	=> '', 
-					'captcha_time'	=> $cap['time'], 
+					'captcha_id'	=> '',
+					'captcha_time'	=> $cap['time'],
 					'ip_address'	=> $this->input->ip_address(),
-					'word'			=> $cap['word'] 
+					'word'			=> $cap['word']
 				);
 
 	$query = $this->db->insert_string('captcha', $data);
@@ -127,7 +127,7 @@
 Then, on the page that accepts the submission you'll have something like this:
 
 	// First, delete old captchas
-	$expiration = time()-7200; // Two hour limit 
+	$expiration = time()-7200; // Two hour limit
 	$DB->query("DELETE FROM captcha WHERE captcha_time < ".$expiration);		
 
 	// Then see if a captcha exists:
@@ -175,7 +175,7 @@
 		return FALSE;
 	}
 
-	if ( ! @is_dir($img_path)) 
+	if ( ! @is_dir($img_path))
 	{
 		return FALSE;
 	}
@@ -200,7 +200,7 @@
 	$current_dir = @opendir($img_path);
 	
 	while($filename = @readdir($current_dir))
-	{        
+	{
 		if ($filename != "." and $filename != ".." and $filename != "index.html")
 		{
 			$name = str_replace(".jpg", "", $filename);
@@ -223,13 +223,13 @@
 		$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
 		$str = '';
-		for ($i = 0; $i < 8; $i++) 
-		{    
-			$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1); 
+		for ($i = 0; $i < 8; $i++)
+		{
+			$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
 		}
 		
 		$word = $str;
-   } 
+   }
 	
 	// -----------------------------------
 	// Determine angle and position	
@@ -267,12 +267,12 @@
 	// -----------------------------------
 	
 	$theta		= 1;
-	$thetac		= 7;  
-	$radius		= 16;  
-	$circles	= 20;  
+	$thetac		= 7;
+	$radius		= 16;
+	$circles	= 20;
 	$points		= 32;
 
-	for ($i = 0; $i < ($circles * $points) - 1; $i++) 
+	for ($i = 0; $i < ($circles * $points) - 1; $i++)
 	{
 		$theta = $theta + $thetac;
 		$rad = $radius * ($i / $points );
diff --git a/system/plugins/js_calendar_pi.php b/system/plugins/js_calendar_pi.php
index 16c3f41..987bd49 100644
--- a/system/plugins/js_calendar_pi.php
+++ b/system/plugins/js_calendar_pi.php
@@ -7,19 +7,19 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /*
 Instructions:
 
 Load the plugin using:
- 
+
  	$this->load->plugin('js_calendar');
 
 Once loaded you'll add the calendar script to the <head> of your page like this:
@@ -123,13 +123,13 @@
 
 
 */
- 
+
 function js_calendar_script($form_name = 'entryform')
-{    	
+{		
 
 ob_start();
 ?>
-<script type="text/javascript"> 
+<script type="text/javascript">
 <!--
 var form_name	= "<?php echo $form_name; ?>";
 var format		= 'us'; // eu or us
@@ -167,7 +167,7 @@
 	}
 	else
 	{
-		this.selected_date = this.year + '' + this.month + '' + this.date; 
+		this.selected_date = this.year + '' + this.month + '' + this.date;
 	}
 			
 	//	Set the "selected date"
@@ -253,7 +253,7 @@
 			if ((  this.date_obj.getFullYear() % 4 == 0
 				&& this.date_obj.getFullYear() % 100 != 0)
 				|| this.date_obj.getFullYear() % 400 == 0)
-				return 29; 
+				return 29;
 			else
 				return 28;
 		case 3:
@@ -361,7 +361,7 @@
 	if (dateParts.length < 3) return;
 	var newYear  = dateParts[0];
 	var newMonth = dateParts[1];
-	var newDay   = dateParts[2]; 
+	var newDay   = dateParts[2];
 	
 	if (isNaN(newDay)  || newDay < 1 || (newDay.length != 1 && newDay.length != 2)) return;
 	if (isNaN(newYear) || newYear < 1 || newYear.length != 4) return;
@@ -376,7 +376,7 @@
 			case 1: // Check for leap year
 				if ((newYear % 4 == 0 && newYear % 100 != 0) || newYear % 400 == 0)
 				{
-					if (newDay > 29) newDay = 29; 
+					if (newDay > 29) newDay = 29;
 				}
 				else
 				{
@@ -500,7 +500,7 @@
 	var newMonth = cal.date_obj.getMonth() + mo;
 	var newDate  = cal.date_obj.getDate();
 	
-	if (newMonth == 12) 
+	if (newMonth == 12)
 	{
 		cal.date_obj.setYear(cal.date_obj.getFullYear() + 1)
 		newMonth = 0;
@@ -520,7 +520,7 @@
 			case 1: // Check for leap year
 				if ((newYear % 4 == 0 && newYear % 100 != 0) || newYear % 400 == 0)
 				{
-					if (newDate > 29) newDate = 29; 
+					if (newDate > 29) newDate = 29;
 				}
 				else
 				{
@@ -584,7 +584,7 @@
 <?php
 
 $r = ob_get_contents();
-ob_end_clean(); 
+ob_end_clean();
 return $r;
 }
 
diff --git a/system/scaffolding/Scaffolding.php b/system/scaffolding/Scaffolding.php
index 6c4b3a5..60b608d 100644
--- a/system/scaffolding/Scaffolding.php
+++ b/system/scaffolding/Scaffolding.php
@@ -7,17 +7,17 @@
  * @package		CodeIgniter
  * @author		Rick Ellis
  * @copyright	Copyright (c) 2006, pMachine, Inc.
- * @license		http://www.codeignitor.com/user_guide/license.html 
+ * @license		http://www.codeignitor.com/user_guide/license.html
  * @link		http://www.codeigniter.com
  * @since		Version 1.0
  * @filesource
  */
- 
+
 // ------------------------------------------------------------------------
 
 /**
  * Scaffolding Class
- * 
+ *
  * Provides the Scaffolding framework
  *
  * @package		CodeIgniter
@@ -55,7 +55,7 @@
 		 * We'll manually override the "view" path so that
 		 * the load->view function knows where to look.
 		 */
-		 
+		
 		$this->CI->load->_ci_view_path = BASEPATH.'scaffolding/views/';
 
 		// Set the base URL
diff --git a/system/scaffolding/views/stylesheet.css b/system/scaffolding/views/stylesheet.css
index 55c8d9e..e2e3aa5 100644
--- a/system/scaffolding/views/stylesheet.css
+++ b/system/scaffolding/views/stylesheet.css
@@ -106,7 +106,7 @@
  height: 2em;
  padding: 0;
  margin: 0;
-} 
+}
 
 .textarea {
  font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 01acd0f..cc1c28d 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="./nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -67,7 +67,7 @@
 <p>Release Date: October 19, 2006</p>

 

 <p class="important"><strong>Important:</strong>&nbsp; In Beta 3, the way native libraries are extended has changed slightly thanks to

-a suggestion offered by coolfactor in our forums.  Please check the documentation below if you are extending classes.</p> 

+a suggestion offered by coolfactor in our forums.  Please check the documentation below if you are extending classes.</p>

 

 <ul>

 <li>Added <a href="./database/utilities.html">DB utility class</a>, permitting DB backups, CVS or XML files from DB results, and various other functions.</li>

@@ -168,7 +168,7 @@
 <li>Fixed a bug in which loading a language file was producing a "file contains no data" message.</li>

 <li>Fixed a session bug caused by the XSS Filtering feature inadvertently changing the case of certain words.</li>

 <li>Fixed some missing prefixes when using the database prefix feature.</li>

-<li>Fixed a typo in the Calendar class (cal_november).</li> 

+<li>Fixed a typo in the Calendar class (cal_november).</li>

 <li>Fixed a bug in the <dfn>form_checkbox()</dfn> helper.</li>

 <li>Fixed a bug that was allowing the second segment of the URI to be identical to the class name.</li>

 <li>Fixed an evaluation bug in the database initialization function.</li>

diff --git a/user_guide/database/active_record.html b/user_guide/database/active_record.html
index f30b3d8..b5c94a2 100644
--- a/user_guide/database/active_record.html
+++ b/user_guide/database/active_record.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,9 +66,9 @@
 <h1>Active Record Class</h1>

 

 

-<p>Code Igniter uses a modified version of the Active Record Database Pattern.  

-This pattern allows information to be retrieved, inserted, and updated in your database with minimal scripting. 

-In some cases only one or two lines of code are necessary to perform a database action.  

+<p>Code Igniter uses a modified version of the Active Record Database Pattern.

+This pattern allows information to be retrieved, inserted, and updated in your database with minimal scripting.

+In some cases only one or two lines of code are necessary to perform a database action.

 Code Igniter does not require that each database table be its own class file.  It instead provides a more simplified interface.</p>

 

 <p>Beyond simplicity, a major benefit to using the Active Record features is that it allows you to create database independent applications, since the query syntax

@@ -182,7 +182,7 @@
 

 <p>Multiple function calls can be made if you need several joins in one query.</p>

 

-<p>If you need something other than a natural JOIN you can specify it via the third parameter of the function.  

+<p>If you need something other than a natural JOIN you can specify it via the third parameter of the function.

 Options are: left, right, outer, inner, left outer, and right outer.</p>

 

 <code>

@@ -353,7 +353,7 @@
 	

 	

 <h2>$this->db->orderby();</h2>

-<p>Lets you set an ORDER BY clause. The first parameter contains the name of the column you would like to order by. 

+<p>Lets you set an ORDER BY clause. The first parameter contains the name of the column you would like to order by.

 The second parameter lets you set the direction of the result.  Options are <kbd>asc</kbd> or <kbd>desc</kbd> or <kbd>RAND()</kbd></p>

 	

 <code>$this->db->orderby("title", "desc");

@@ -563,7 +563,7 @@
 // DELETE FROM mytable <br />

 // WHERE id = $id</code>

 

-<p>The first parameter is the table name, the second is the where clause. You can also use the <dfn>where()</dfn> or <dfn>orwhere()</dfn> functions instead of passing 

+<p>The first parameter is the table name, the second is the where clause. You can also use the <dfn>where()</dfn> or <dfn>orwhere()</dfn> functions instead of passing

 the data to the second parameter of the function:

 

 <code>

diff --git a/user_guide/database/caching.html b/user_guide/database/caching.html
index 8a43268..ce5535c 100644
--- a/user_guide/database/caching.html
+++ b/user_guide/database/caching.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -86,24 +86,24 @@
 

 <h2>How Does Caching Work?</h2>

 

-<p>Code Igniter's query caching system happens dynamically when your pages are viewed. 

+<p>Code Igniter's query caching system happens dynamically when your pages are viewed.

 When caching is enabled, the first time a web page is loaded, the query result object will

 be serialized and stored in a text file on your server. The next time the page is loaded the cache file will be used instead of

 accessing your database.  Your database usage can effectively be reduced to zero for any pages that have been cached.</p>

 

-<p>Only <dfn>read-type</dfn> (SELECT) queries can be cached, since these are the only type of queries that produce a result.  

+<p>Only <dfn>read-type</dfn> (SELECT) queries can be cached, since these are the only type of queries that produce a result.

 <dfn>Write-type</dfn> (INSERT, UPDATE, etc.) queries, since they don't generate a result, will not be cached by the system.</p>

 

-<p>Cache files DO NOT expire.  Any queries that have been cached will remain cached until you delete them.  The caching system 

-permits you clear caches associated with individual pages, or you can delete the entire collection of cache files. 

+<p>Cache files DO NOT expire.  Any queries that have been cached will remain cached until you delete them.  The caching system

+permits you clear caches associated with individual pages, or you can delete the entire collection of cache files.

 Typically you'll to use the housekeeping functions described below to delete cache files after certain

 events take place, like when you've added new information to your database.</p>

 

 <h2>Will Caching Improve Your Site's Performance?</h2>

 

-<p>Getting a performance gain as a result of caching depends on many factors. 

+<p>Getting a performance gain as a result of caching depends on many factors.

 If you have a highly optimized database under very little load, you probably won't see a performance boost.

-If your database is under heavy use you probably will see an improved response, assuming your file-system is not 

+If your database is under heavy use you probably will see an improved response, assuming your file-system is not

 overly taxed.  Remember that caching simply changes how your information is retrieved, shifting it from being a database

 operation to a file-system one.</p>

 

@@ -113,24 +113,24 @@
 

 <h2>How are Cache Files Stored?</h2>

 

-<p>Code Igniter places the result of EACH query into its own cache file.  Sets of cache files are further organized into 

+<p>Code Igniter places the result of EACH query into its own cache file.  Sets of cache files are further organized into

 sub-folders corresponding to your controller functions.  To be precise, the sub-folders are named identically to the

 first two segments of your URI (the controller class name and function name).</p>

 

 <p>For example, let's say you have a controller called <dfn>blog</dfn> with a function called <dfn>comments</dfn> that

-contains three queries.  The caching system will create a cache folder 

+contains three queries.  The caching system will create a cache folder

 called <kbd>blog+comments</kbd>, into which it will write three cache files.</p>

 

 <p>If you use dynamic queries that change based on information in your URI (when using pagination, for example), each instance of

-the query will produce its own cache file.  It's possible, therefore, to end up with many times more cache files than you have 

+the query will produce its own cache file.  It's possible, therefore, to end up with many times more cache files than you have

 queries.</p>

 

 

 <h2>Managing your Cache Files</h2>

 

 <p>Since cache files do not expire, you'll need to build deletion routines into your application.  For example, let's say you have a blog

-that allows user commenting.  Whenever a new comment is submitted you'll want to delete the cache files associated with the 

-controller function that serves up your comments.  You'll find two delete functions described below that help you 

+that allows user commenting.  Whenever a new comment is submitted you'll want to delete the cache files associated with the

+controller function that serves up your comments.  You'll find two delete functions described below that help you

 clear data.</p>

 

 

diff --git a/user_guide/database/call_function.html b/user_guide/database/call_function.html
index 43bc972..a437b43 100644
--- a/user_guide/database/call_function.html
+++ b/user_guide/database/call_function.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,15 +66,15 @@
 

 <h2>$this->db->call_function();</h2>

 

-<p>This function enables you to call PHP database functions that are not natively included in Code Igniter, in a platform independent manner. 

-For example, lets say you want to call the <dfn>mysql_get_client_info()</dfn> function, which is <strong>not</strong> natively supported 

+<p>This function enables you to call PHP database functions that are not natively included in Code Igniter, in a platform independent manner.

+For example, lets say you want to call the <dfn>mysql_get_client_info()</dfn> function, which is <strong>not</strong> natively supported

 by Code Igniter.  You could do so like this:

 </p>

 

 <code>$this->db->call_function('<var>get_client_info</var>');</code>

 

 <p>You must supply the name of the function, <strong>without</strong> the <var>mysql_</var> prefix, in the first parameter.  The prefix is added

-automatically based on which database driver is currently being used.  This permits you to run the same function on different database platforms.  

+automatically based on which database driver is currently being used.  This permits you to run the same function on different database platforms.

 Obviously not all function calls are identical between platforms, so there are limits to how useful this function can be in terms of portability.</p>

 

 <p>Any parameters needed by the function you are calling will be added to the second parameter.</p>

diff --git a/user_guide/database/configuration.html b/user_guide/database/configuration.html
index ea287d7..830f818 100644
--- a/user_guide/database/configuration.html
+++ b/user_guide/database/configuration.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -65,7 +65,7 @@
 

 <h1>Database Configuration</h1>

 

-<p>Code Igniter has a config file that lets you store your database connection values (username, password, database name, etc.).  

+<p>Code Igniter has a config file that lets you store your database connection values (username, password, database name, etc.).

 The config file is located at:

 

 <p><kbd>application/config/database.php</kbd></p>

@@ -82,8 +82,8 @@
 $db['default']['db_debug'] = FALSE;<br />

 $db['default']['active_r'] = TRUE;</code>

 

-<p>The reason we use a multi-dimensional array rather than a more simple one is to permit you to optionally store 

-multiple sets of connection values.  If, for example,  you run multiple environments (development, production, test, etc.) 

+<p>The reason we use a multi-dimensional array rather than a more simple one is to permit you to optionally store

+multiple sets of connection values.  If, for example,  you run multiple environments (development, production, test, etc.)

 under a single installation, you can set up a connection group for each, then switch between groups as needed.

 For example, to set up a "test" environment you would do this:</p>

 

@@ -97,7 +97,7 @@
 $db['test']['db_debug'] = FALSE;<br />

 $db['test']['active_r'] = TRUE;</code>

 

- 

+

 <p>Then, to globally tell the system to use that group you would set this variable located in the config file:</p>

 

 <code>$active_group = "test";</code>

@@ -108,15 +108,15 @@
 <h3>Explanation of Values:</h3>

 

 <ul>

-<li><strong>hostname</strong> - The hostname of your database server. Often this is "localhost".</li> 

-<li><strong>username</strong> - The username used to connect to the database.</li> 

-<li><strong>password</strong> - The password used to connect to the database.</li> 

-<li><strong>database</strong> - The name of the database you want to connect to.</li> 

-<li><strong>dbdriver</strong> - The database type. ie: mysql, postgre, obdc, etc. Must be specified in lower case.</li> 

-<li><strong>dbprefix</strong> - An optional table prefix which will added to the table name when running <a href="active_record.html">Active Record</a> queries.  This permits multiple Code Igniter installations to share one database.</li> 

-<li><strong>pconnect</strong> - TRUE/FALSE (boolean) - Whether to use a persistent connection.</li> 

-<li><strong>db_debug</strong> - TRUE/FALSE (boolean) - Whether database errors should be displayed.</li> 

-<li><strong>active_r</strong> - TRUE/FALSE (boolean) - Whether to load the <a href="active_record.html">Active Record Class</a>. If you are not using the active record class you can have it omitted when the database classes are initialized in order to utilize less resources.</li> 

+<li><strong>hostname</strong> - The hostname of your database server. Often this is "localhost".</li>

+<li><strong>username</strong> - The username used to connect to the database.</li>

+<li><strong>password</strong> - The password used to connect to the database.</li>

+<li><strong>database</strong> - The name of the database you want to connect to.</li>

+<li><strong>dbdriver</strong> - The database type. ie: mysql, postgre, obdc, etc. Must be specified in lower case.</li>

+<li><strong>dbprefix</strong> - An optional table prefix which will added to the table name when running <a href="active_record.html">Active Record</a> queries.  This permits multiple Code Igniter installations to share one database.</li>

+<li><strong>pconnect</strong> - TRUE/FALSE (boolean) - Whether to use a persistent connection.</li>

+<li><strong>db_debug</strong> - TRUE/FALSE (boolean) - Whether database errors should be displayed.</li>

+<li><strong>active_r</strong> - TRUE/FALSE (boolean) - Whether to load the <a href="active_record.html">Active Record Class</a>. If you are not using the active record class you can have it omitted when the database classes are initialized in order to utilize less resources.</li>

 <li><strong>port</strong> - The database port number.  Currently only used with the Postgre driver.</li>

 </ul>

 

diff --git a/user_guide/database/connecting.html b/user_guide/database/connecting.html
index c057f69..ced9479 100644
--- a/user_guide/database/connecting.html
+++ b/user_guide/database/connecting.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -69,20 +69,20 @@
 

 <h2>Automatically Connecting</h2>

 

-<p>The "auto connect" feature will load and instantiate the database class with every page load. 

+<p>The "auto connect" feature will load and instantiate the database class with every page load.

 To enable "auto connecting", add the word <var>database</var> to the core array, as indicated in the following file:</p>

 

 <p><kbd>application/config/autoload.php</kbd></p>

 

 <h2>Manually Connecting</h2>

 

-<p>If only some of your pages require database connectivity you can manually connect to your database by adding this 

-line of code in any function where it is needed, or in your class constructor to make the database 

+<p>If only some of your pages require database connectivity you can manually connect to your database by adding this

+line of code in any function where it is needed, or in your class constructor to make the database

 available globally in that class.</p>

 

 <code>$this->load->database();</code>

 

-<p class="important">If the above function does <strong>not</strong> contain any information in the first parameter it will connect 

+<p class="important">If the above function does <strong>not</strong> contain any information in the first parameter it will connect

 to the group specified in your database config file. For most people, this is the preferred method of use.</p>

 

 

@@ -133,7 +133,7 @@
 $DB2 = $this->load->database('group_two', TRUE);

 </code>

 

-<p>Note: Change the words "group_one" and "group_two" to the specific group names you are connecting to (or 

+<p>Note: Change the words "group_one" and "group_two" to the specific group names you are connecting to (or

 you can pass the connection values as indicated above).</p>

 

 <p>By setting the second parameter to TRUE (boolean) the function will return the database object.</p>

diff --git a/user_guide/database/examples.html b/user_guide/database/examples.html
index 8916b5e..7963104 100644
--- a/user_guide/database/examples.html
+++ b/user_guide/database/examples.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -182,7 +182,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;echo $row->title;<br />

 }</code>

 

-<p>The above <dfn>get()</dfn> function retrieves all the results from the supplied table. 

+<p>The above <dfn>get()</dfn> function retrieves all the results from the supplied table.

 The <a href="active_record.html">Active Record</a> class contains a full compliment of functions

 for working with data.</p>

 

diff --git a/user_guide/database/fields.html b/user_guide/database/fields.html
index 1ae1a39..8f20663 100644
--- a/user_guide/database/fields.html
+++ b/user_guide/database/fields.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -80,7 +80,7 @@
 }

 </code>

 

-<p>2. You can gather the field names associated with any query you run by calling the function 

+<p>2. You can gather the field names associated with any query you run by calling the function

 from your query result object:</p>

 

 <code>

@@ -106,7 +106,7 @@
 }

 </code>

 

-<p>Note:  Replace <em>field_name</em> with the name of the column you are looking for, and replace 

+<p>Note:  Replace <em>field_name</em> with the name of the column you are looking for, and replace

 <em>table_name</em> with the name of the table you are looking for.</p>

 

 

diff --git a/user_guide/database/helpers.html b/user_guide/database/helpers.html
index 102794b..19fe479 100644
--- a/user_guide/database/helpers.html
+++ b/user_guide/database/helpers.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/database/index.html b/user_guide/database/index.html
index 4f3876e..f83aab2 100644
--- a/user_guide/database/index.html
+++ b/user_guide/database/index.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/database/queries.html b/user_guide/database/queries.html
index a13e2d6..e558e3d 100644
--- a/user_guide/database/queries.html
+++ b/user_guide/database/queries.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -81,24 +81,24 @@
 <h2>$this->db->simple_query();</h2>

 

 <p>This is a simplified version of the <dfn>$this->db->query()</dfn> function.  It ONLY returns TRUE/FALSE on success or failure.

-It DOES NOT return a database result set, nor does it set the query timer, or compile bind data, or store your query for debugging.  

+It DOES NOT return a database result set, nor does it set the query timer, or compile bind data, or store your query for debugging.

 It simply lets you submit a query. Most users will rarely use this function.</p>

 

 

 <h1>Escaping Queries</h1>

 

-<p>It's a very good security practice to escape your data before submitting it into your database. 

+<p>It's a very good security practice to escape your data before submitting it into your database.

 Code Igniter has two functions that help you do this:</p>

 

 <ol>

 </li>

-<li><strong>$this->db->escape()</strong> This function determines the data type so that it 

+<li><strong>$this->db->escape()</strong> This function determines the data type so that it

 can escape only string data.  It also automatically adds single quotes around the data so you don't have to:

 

 <code>$sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";</code>

 

 

-<li><strong>$this->db->escape_str()</strong>  This function escapes the data passed to it, regardless of type.  

+<li><strong>$this->db->escape_str()</strong>  This function escapes the data passed to it, regardless of type.

 Most of the time you'll use the above function rather then this one. Use the function like this:

 

 <code>$sql = "INSERT INTO table (title) VALUES('".$this->db->escape_str($title)."')";</code>

diff --git a/user_guide/database/results.html b/user_guide/database/results.html
index a301bc3..bae8a75 100644
--- a/user_guide/database/results.html
+++ b/user_guide/database/results.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -119,7 +119,7 @@
 

 	<h2>row()</h2>

 	

-	<p>This function returns a single result row.  If your query has more than one row, it returns only the first row.  

+	<p>This function returns a single result row.  If your query has more than one row, it returns only the first row.

 	The result is returned as an <strong>object</strong>.  Here's a usage example:</p>

 	<code>

 	$query = $this->db->query("YOUR QUERY");<br />

@@ -161,7 +161,7 @@
 	

 	<code>$row = $query->row_array(<dfn>5</dfn>);</code>

 	

- 

+

  	<p>In addition, you can walk forward/backwards/first/last through your results using these variations:</p>

 

 <p>

diff --git a/user_guide/database/table_data.html b/user_guide/database/table_data.html
index 511cc78..6811933 100644
--- a/user_guide/database/table_data.html
+++ b/user_guide/database/table_data.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/database/transactions.html b/user_guide/database/transactions.html
index ef1f1a6..4677ed6 100644
--- a/user_guide/database/transactions.html
+++ b/user_guide/database/transactions.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -69,8 +69,8 @@
 <p>Code Igniter's database abstraction allows you to use <dfn>transactions</dfn> with databases that support transaction-safe table types.  In MySQL, you'll need

 to be running InnoDB or BDB table types rather then the more common MyISAM.  Most other database platforms support transactions natively.</p>

 

-<p>If you are not familiar with 

-transactions we recommend you find a good online resource to learn about them for your particular database.  The information below assumes you 

+<p>If you are not familiar with

+transactions we recommend you find a good online resource to learn about them for your particular database.  The information below assumes you

 have a basic understanding of transactions.

 </p>

 

@@ -80,7 +80,7 @@
 because it greatly simplifies the process of running transactions.  In most cases all that is required are two lines of code.</p>

 

 <p>Traditionally, transactions have required a fair amount of work to implement since they demand that you to keep track of your queries

-and determine whether to <dfn>commit</dfn> or <dfn>rollback</dfn> based on the success or failure of your queries. This is particularly cumbersome with 

+and determine whether to <dfn>commit</dfn> or <dfn>rollback</dfn> based on the success or failure of your queries. This is particularly cumbersome with

 nested queries. In contrast,

 we've implemented a smart transaction system that does all this for you automatically (you can also manage your transactions manually if you choose to,

 but there's really no benefit).</p>

diff --git a/user_guide/database/utilities.html b/user_guide/database/utilities.html
index f169280..cbc7915 100644
--- a/user_guide/database/utilities.html
+++ b/user_guide/database/utilities.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -193,7 +193,7 @@
 <a name="csv"></a>

 <h2>$this->dbutil->csv_from_result($db_result)</h2>

 

-<p>Permits you to generate a CSV file from a query result. The first parameter of the function must contain the result object from your query. 

+<p>Permits you to generate a CSV file from a query result. The first parameter of the function must contain the result object from your query.

 Example:</p>

 

 <code>

@@ -204,7 +204,7 @@
 echo $this->dbutil->csv_from_result($query);

 </code>

 

-<p>The second and third parameters allows you to 

+<p>The second and third parameters allows you to

 set the delimiter and newline character.  By default tabs are used as the delimiter and "\n" is used as a new line.  Example:

 

 <code>

@@ -221,7 +221,7 @@
 <a name="xml"></a>

 <h2>$this->dbutil->xml_from_result($db_result)</h2>

 

-<p>Permits you to generate an XML file from a query result. The first parameter expects a query result object, the second 

+<p>Permits you to generate an XML file from a query result. The first parameter expects a query result object, the second

 may contain an optional array of config parameters.  Example:</p>

 

 <code>

@@ -251,7 +251,7 @@
 <p class="important"><strong>Note:</strong>&nbsp; This features is only available for MySQL/MySQLi databases.</p>

 

 <p>Note: Due to the limited execution time and memory available to PHP, backing up very large

-databases may not be possible.  If your database is very large you might need to backup directly from your SQL server 

+databases may not be possible.  If your database is very large you might need to backup directly from your SQL server

 via the command line, or have your server admin do it for you if you do not have root privileges.</p>

 

 <h3>Usage Example</h3>

diff --git a/user_guide/general/alternative_php.html b/user_guide/general/alternative_php.html
index a06a208..2e2e562 100644
--- a/user_guide/general/alternative_php.html
+++ b/user_guide/general/alternative_php.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,8 +62,8 @@
 

 <h1>Alternate PHP Syntax for View Files</h1>

 

-<p>If you do not utilize Code Igniter's <a href="../libraries/parser.html">template engine</a>, you'll be using pure PHP 

-in your View files.  To minimize the PHP code in these files, and to make it easier to identify the code blocks it is recommended that you use PHPs alternative 

+<p>If you do not utilize Code Igniter's <a href="../libraries/parser.html">template engine</a>, you'll be using pure PHP

+in your View files.  To minimize the PHP code in these files, and to make it easier to identify the code blocks it is recommended that you use PHPs alternative

 syntax for control structures and echo statements.  If you are not familiar with this syntax, it allows you to eliminate the braces from your code,

 and eliminate "echo" statements.</p>

 

@@ -83,7 +83,7 @@
 

 <h2>Alternative Control Structures</h2>

 

-<p>Controls structures, like <var>if</var>, <var>for</var>, <var>foreach</var>, and <var>while</var> can be 

+<p>Controls structures, like <var>if</var>, <var>for</var>, <var>foreach</var>, and <var>while</var> can be

 written in a simplified format as well.  Here is an example using foreach:</p>

 

 <code>

@@ -101,7 +101,7 @@
 Each of the control structures listed above has a similar closing syntax:

 <var>endif</var>, <var>endfor</var>, <var>endforeach</var>, and <var>endwhile</var></p>

 

-<p>Also notice that instead of using a semicolon after each structure (except the last one), there is a colon.  This is 

+<p>Also notice that instead of using a semicolon after each structure (except the last one), there is a colon.  This is

 important!</p>

 

 <p>Here is another example, using if/elseif/else.  Notice the colons:</p>

diff --git a/user_guide/general/ancillary_classes.html b/user_guide/general/ancillary_classes.html
index f04556d..71d88f3 100644
--- a/user_guide/general/ancillary_classes.html
+++ b/user_guide/general/ancillary_classes.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Creating Ancillary Classes</h1>

 

-<p>In some cases you may want to develop classes that exist apart from your controllers but have the ability to 

+<p>In some cases you may want to develop classes that exist apart from your controllers but have the ability to

 utilize all of Code Igniter's resources. This is easily possible as you'll see.</p>

 

 <h2>get_instance()</h2>

@@ -80,7 +80,7 @@
 etc.

 </code>

 

-<p><kbd>$this</kbd>, however, only works within your controllers, your models, or your views.  

+<p><kbd>$this</kbd>, however, only works within your controllers, your models, or your views.

 If you would like to use Code Igniter's classes from within your own custom classes you can do so as follows:</p>

 

 

diff --git a/user_guide/general/autoloader.html b/user_guide/general/autoloader.html
index 36893e9..bbb839d 100644
--- a/user_guide/general/autoloader.html
+++ b/user_guide/general/autoloader.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/general/caching.html b/user_guide/general/caching.html
index 6b4c3d1..1e3a6bc 100644
--- a/user_guide/general/caching.html
+++ b/user_guide/general/caching.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,7 +66,7 @@
 <p>Code Igniter lets you cache your pages in order to achieve maximum performance.

 

 Although Code Igniter is quite fast, the amount of dynamic information you display in your pages will correlate directly to the

-server resources, memory, and processing cycles utilized, which affect your page load speeds. 

+server resources, memory, and processing cycles utilized, which affect your page load speeds.

 By caching your pages, since they are saved in their fully rendered state, you can achieve performance that nears that of static web pages.

 

 

@@ -94,7 +94,7 @@
 

 <h2>Deleting Caches</h2>

 

-<p>If you no longer wish to cache a file you can remove the caching tag and it will not longer be refreshed when it expires.  Note: 

+<p>If you no longer wish to cache a file you can remove the caching tag and it will not longer be refreshed when it expires.  Note:

 Removing the tag will not delete the cache immediately.  It will have to expire normally.  If you need to remove it earlier you

 will need to manually delete it from your cache folder.</p>

 

diff --git a/user_guide/general/changelog.html b/user_guide/general/changelog.html
index 7b26179..44412b9 100644
--- a/user_guide/general/changelog.html
+++ b/user_guide/general/changelog.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -163,7 +163,7 @@
 <li>Fixed a bug in which loading a language file was producing a "file contains no data" message.</li>

 <li>Fixed a session bug caused by the XSS Filtering feature inadvertently changing the case of certain words.</li>

 <li>Fixed some missing prefixes when using the database prefix feature.</li>

-<li>Fixed a typo in the Calendar class (cal_november).</li> 

+<li>Fixed a typo in the Calendar class (cal_november).</li>

 <li>Fixed a bug in the <dfn>form_checkbox()</dfn> helper.</li>

 <li>Fixed a bug that was allowing the second segment of the URI to be identical to the class name.</li>

 <li>Fixed an evaluation bug in the database initialization function.</li>

diff --git a/user_guide/general/controllers.html b/user_guide/general/controllers.html
index f83cab8..fd6a4bd 100644
--- a/user_guide/general/controllers.html
+++ b/user_guide/general/controllers.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -137,14 +137,14 @@
 }<br />

 ?&gt;</code>

 

-<p>Also, always make sure your controller <dfn>extends</dfn> the parent controller class so that it can inherit all its functions.</p> 

+<p>Also, always make sure your controller <dfn>extends</dfn> the parent controller class so that it can inherit all its functions.</p>

 

 

 

 <a name="functions"></a>

 <h2>Functions</h2>

 

-<p>In the above example the function name is <dfn>index()</dfn>.  The "index" function is always loaded by default if the 

+<p>In the above example the function name is <dfn>index()</dfn>.  The "index" function is always loaded by default if the

 <strong>second segment</strong> of the URI is empty.  Another way to show your "Hello World" message would be this:</p>

 

 <code>www.your-site.com/index.php/<var>blog</var>/<samp>index</samp>/</code>

@@ -208,8 +208,8 @@
 <a name="default"></a>

 <h2>Defining a Default Controller</h2>

 

-<p>Code Igniter can be told to load a default controller when a URI is not present, 

-as will be the case when only your site root URL is requested.  To specify a default controller, open 

+<p>Code Igniter can be told to load a default controller when a URI is not present,

+as will be the case when only your site root URL is requested.  To specify a default controller, open

 your <dfn>application/config/routes.php</dfn> file and set this variable:</p>

 

 <code>$route['default_controller'] = '<var>Blog</var>';</code>

@@ -230,8 +230,8 @@
 &nbsp;&nbsp;&nbsp;&nbsp;// Some code here...<br />

 }</code>

 

-<p class="important"><strong>Important:</strong>&nbsp; If your controller contains a function named <kbd>_remap()</kbd>, it will <strong>always</strong> 

-get called regardless of what your URI contains.  It overrides the normal behavior in which the URI determines which function is called, 

+<p class="important"><strong>Important:</strong>&nbsp; If your controller contains a function named <kbd>_remap()</kbd>, it will <strong>always</strong>

+get called regardless of what your URI contains.  It overrides the normal behavior in which the URI determines which function is called,

 allowing you to define your own function routing rules.</p>

 

 <p>The overridden function call (typically the second segment of the URI) will be passed as a parameter the <kbd>_remap()</kbd> function:</p>

@@ -256,11 +256,11 @@
 <h2>Processing Output</h2>

 

 <p>Code Igniter has an output class that takes care of sending your final rendered data to the web browser automatically.  More information on this can be found in the

-<a href="views.html">Views</a> and <a href="../libraries/output.html">Output class</a> pages.  In some cases, however, you might want to 

-post-process the finalized data in some way and send it to the browser yourself.  Code Igniter permits you to 

+<a href="views.html">Views</a> and <a href="../libraries/output.html">Output class</a> pages.  In some cases, however, you might want to

+post-process the finalized data in some way and send it to the browser yourself.  Code Igniter permits you to

 add a function named <dfn>_output()</dfn> to your controller that will receive the finalized output data.

 

-<p><strong>Important:</strong>&nbsp; If your controller contains a function named <kbd>_output()</kbd>, it will <strong>always</strong> 

+<p><strong>Important:</strong>&nbsp; If your controller contains a function named <kbd>_output()</kbd>, it will <strong>always</strong>

 be called by the output class instead of echoing the finalized data directly. The first parameter of the function will contain the finalized output.</p>

 

 <p>Here is an example:</p>

@@ -364,7 +364,7 @@
 <a name="reserved"></a>

 <h2>Reserved Function Names</h2>

 

-<p>Since your controller classes will extend the main application controller you 

+<p>Since your controller classes will extend the main application controller you

 must be careful not to name your functions identically to the ones used by that class, otherwise your local functions

 will override them.  The following

 is a list of reserved names.  Do not name your controller functions any of these:</p>

diff --git a/user_guide/general/core_classes.html b/user_guide/general/core_classes.html
index 6d2f380..c5d021e 100644
--- a/user_guide/general/core_classes.html
+++ b/user_guide/general/core_classes.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -69,7 +69,7 @@
 but the option to replace or extend them does exist for those who would like to significantly alter the Code Igniter core.</strong>

 </p>

 

-<p class="important"><strong>Note:</strong>&nbsp; Messing with a core system class has a lot of implications, so make sure you 

+<p class="important"><strong>Note:</strong>&nbsp; Messing with a core system class has a lot of implications, so make sure you

 know what you are doing before attempting it.</p>

 

 

@@ -118,7 +118,7 @@
 

 <ul>

 <li>The class declaration must extend the parent class.</li>

-<li>Your new class name and filename must be prefixed with <kbd>MY_</kbd> (this item is configurable.  See below.).</li> 

+<li>Your new class name and filename must be prefixed with <kbd>MY_</kbd> (this item is configurable.  See below.).</li>

 </ul>

 

 <p>For example, to extend the native <kbd>Input</kbd> class you'll create a file named <dfn>application/libraries/</dfn><kbd>MY_Input.php</kbd>, and declare your class with:</p>

diff --git a/user_guide/general/creating_libraries.html b/user_guide/general/creating_libraries.html
index d764641..12f8f9f 100644
--- a/user_guide/general/creating_libraries.html
+++ b/user_guide/general/creating_libraries.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,11 +63,11 @@
 <h1>Creating Libraries</h1>

 

 <p>When we use the term "Libraries" we are normally referring to the classes that are located in the <kbd>libraries</kbd>

-directory and described in the Class Reference of this user guide.  In this case, however, we will instead describe how you can create 

-your own libraries within your <dfn>application/libraries</dfn> directory in order to maintain separation between your local resources 

+directory and described in the Class Reference of this user guide.  In this case, however, we will instead describe how you can create

+your own libraries within your <dfn>application/libraries</dfn> directory in order to maintain separation between your local resources

 and the global framework resources.</p>

 

-<p>As an added bonus, Code Igniter permits your libraries to <kbd>extend</kbd> native classes if you simply need to add some functionality 

+<p>As an added bonus, Code Igniter permits your libraries to <kbd>extend</kbd> native classes if you simply need to add some functionality

 to an existing library. Or you can even replace native libraries just by placing identically named versions in your <dfn>application/libraries</dfn> folder.

 

 <p>In summary:</p>

@@ -86,7 +86,7 @@
 

 <h2>Storage</h2>

 

-<p>Your library classes should be placed within your <dfn>application/libraries</dfn> folder, as this is where Code Igniter will look for them when 

+<p>Your library classes should be placed within your <dfn>application/libraries</dfn> folder, as this is where Code Igniter will look for them when

 they are initialized.</p>

 

 

@@ -120,7 +120,7 @@
 

 <code>$this->load->library('<kbd>someclass</kbd>');</code>

 

-<p>Where <em>someclass</em> is the file name, without the ".php" file extension. You can submit the file name capitalized or lower case. 

+<p>Where <em>someclass</em> is the file name, without the ".php" file extension. You can submit the file name capitalized or lower case.

 Code Igniter doesn't care.</p>

 

 <p>Once loaded you can access your class using the <kbd>lower case</kbd> version:</p>

@@ -132,7 +132,7 @@
 

 <h2>Passing Parameters When Initializing Your Class</h2>

 

-<p>In the library loading function you can dynamically pass data via the second parameter and it will be passed to your class 

+<p>In the library loading function you can dynamically pass data via the second parameter and it will be passed to your class

 constructor:</p>

 

 <code>

@@ -178,7 +178,7 @@
 etc.

 </code>

 

-<p><kbd>$this</kbd>, however, only works directly within your controllers, your models, or your views.  

+<p><kbd>$this</kbd>, however, only works directly within your controllers, your models, or your views.

 If you would like to use Code Igniter's classes from within your own custom classes you can do so as follows:</p>

 

 

@@ -231,7 +231,7 @@
 

 <ul>

 <li>The class declaration must extend the parent class.</li>

-<li>Your new class name and filename must be prefixed with <kbd>MY_</kbd> (this item is configurable.  See below.).</li> 

+<li>Your new class name and filename must be prefixed with <kbd>MY_</kbd> (this item is configurable.  See below.).</li>

 </ul>

 

 <p>For example, to extend the native <kbd>Email</kbd> class you'll create a file named <dfn>application/libraries/</dfn><kbd>MY_Email.php</kbd>, and declare your class with:</p>

@@ -261,7 +261,7 @@
 

 <code>$this->load->library('<kbd>email</kbd>');</code>

 

-<p>Once loaded you will use the class variable as you normally would for the class you are extending.  In the case of 

+<p>Once loaded you will use the class variable as you normally would for the class you are extending.  In the case of

 the email class all calls will use:

 

 

diff --git a/user_guide/general/credits.html b/user_guide/general/credits.html
index 770b011..4555490 100644
--- a/user_guide/general/credits.html
+++ b/user_guide/general/credits.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -65,7 +65,7 @@
 <p>Code Igniter was developed by <a href="http://www.ellislab.com">Rick Ellis</a>, who in his other life is CEO of

 <a href="http://www.pmachine.com">pMachine, Inc.</a>  The core framework was written

 specifically for this application, while many of the class libraries, helpers, and sub-systems borrow from the code-base of

-<a href="http://www.pmachine.com/ee/">ExpressionEngine</a>, a Content Management System written by Rick Ellis and 

+<a href="http://www.pmachine.com/ee/">ExpressionEngine</a>, a Content Management System written by Rick Ellis and

 <a href="http://www.reedmaniac.com">Paul Burdick</a>.</p>

 

 <p>A hat tip goes to Ruby on Rails for inspiring us to create a PHP framework, and for

diff --git a/user_guide/general/errors.html b/user_guide/general/errors.html
index 16db19e..70ee102 100644
--- a/user_guide/general/errors.html
+++ b/user_guide/general/errors.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,15 +62,15 @@
 

 <h1>Error Handling</h1>

 

-<p>Code Igniter lets you build error reporting into your applications using the functions described below.  

+<p>Code Igniter lets you build error reporting into your applications using the functions described below.

 In addition, it has an error logging class that permits error and debugging messages to be saved as text files.</p>

 

-<p class="important"><strong>Note:</strong> By default, Code Igniter displays all PHP errors.  You might 

+<p class="important"><strong>Note:</strong> By default, Code Igniter displays all PHP errors.  You might

 wish to change this behavior once your development is complete.  You'll find the <dfn>error_reporting()</dfn>

 function located at the top of your main index.php file. Disabling error reporting will NOT prevent log files

 from being written if there are errors.</p>

 

-<p>Unlike most systems in Code Igniter, the error functions are simple procedural interfaces that are available 

+<p>Unlike most systems in Code Igniter, the error functions are simple procedural interfaces that are available

 globally throughout the application.  This approach permits error messages to get triggered without having to worry

 about class/function scoping.</p>

 

@@ -90,7 +90,7 @@
 

 <h2>log_message('<var>level</var>', '<samp>message</samp>')</h2>

 

-<p>This function lets you write messages to your log files.  You must supply one of three "levels" 

+<p>This function lets you write messages to your log files.  You must supply one of three "levels"

 in the first parameter, indicating what type of message it is (debug, error, info), with the message

 itself in the second parameter.  Example:</p>

 

@@ -116,8 +116,8 @@
 </ol>

 

 

-<p class="important"><strong>Note:</strong> In order for the log file to actually be written, the 

- "logs" folder must be writable.  In addition, you must set the "threshold" for logging.  

+<p class="important"><strong>Note:</strong> In order for the log file to actually be written, the

+ "logs" folder must be writable.  In addition, you must set the "threshold" for logging.

 You might, for example, only want error messages to be logged, and not the other two types.

 If you set it to zero logging will be disabled.</p>

 

diff --git a/user_guide/general/helpers.html b/user_guide/general/helpers.html
index 089d6d0..e9283e9 100644
--- a/user_guide/general/helpers.html
+++ b/user_guide/general/helpers.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -71,12 +71,12 @@
 <p>Unlike most other systems in Code Igniter, Helpers are not written in an Object Oriented format.  They are simple, procedural functions.

 Each helper function performs one specific task, with no dependence on other functions.</p>

 

-<p>Code Igniter does not load Helper Files by default, so the first step in using 

+<p>Code Igniter does not load Helper Files by default, so the first step in using

 a Helper is to load it.  Once loaded, it becomes globally available in your <a href="../general/controllers.html">controller</a> and <a href="../general/views.html">views</a>.</p>

 

 <p>Helpers are typically stored in your <dfn>system/helpers</dfn> directory.  Alternately you can create a folder called <kbd>helpers</kbd> inside

 your <kbd>application</kbd> folder and store them there.  Code Igniter will look first in your <dfn>system/application/helpers</dfn>

-directory.  If the directory does not exist or the specified helper is not located there CI will instead look in your global 

+directory.  If the directory does not exist or the specified helper is not located there CI will instead look in your global

 <dfn>system/helpers</dfn> folder.</p>

 

 

diff --git a/user_guide/general/hooks.html b/user_guide/general/hooks.html
index 6bfa94e..341451a 100644
--- a/user_guide/general/hooks.html
+++ b/user_guide/general/hooks.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,10 +62,10 @@
 

 <h1>Hooks - Extending the Framework Core</h1>

 

-<p>Code Igniter's Hooks feature provides a means to tap into and modify the inner workings of the framework without hacking the core files.  

-When Code Igniter runs it follows a specific execution process, diagramed in the <a href="../overview/appflow.html">Application Flow</a> page. 

-There may be instances, however, where you'd like to cause some action to take place at a particular stage in the execution process.  

-For example, you might want to run a script right before your controllers get loaded, or right after, or you might want to trigger one of 

+<p>Code Igniter's Hooks feature provides a means to tap into and modify the inner workings of the framework without hacking the core files.

+When Code Igniter runs it follows a specific execution process, diagramed in the <a href="../overview/appflow.html">Application Flow</a> page.

+There may be instances, however, where you'd like to cause some action to take place at a particular stage in the execution process.

+For example, you might want to run a script right before your controllers get loaded, or right after, or you might want to trigger one of

 your own scripts in some other location.

 </p>

 

@@ -83,14 +83,14 @@
 <code>

 $hook['pre_controller'] = array(<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'class'&nbsp;&nbsp;&nbsp;&nbsp;=> 'MyClass',<br />

-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'function' => 'Myfunction',<br /> 

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'function' => 'Myfunction',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'filename' => 'Myclass.php',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'filepath' => 'hooks',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'params'&nbsp;&nbsp;&nbsp;=> array('beer', 'wine', 'snacks')<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</code>

 

-<p><strong>Notes:</strong><br />The array index correlates to the name of the particular hook point you want to 

-use.  In the above example the hook point is <kbd>pre_controller</kbd>. A list of hook points is found below. 

+<p><strong>Notes:</strong><br />The array index correlates to the name of the particular hook point you want to

+use.  In the above example the hook point is <kbd>pre_controller</kbd>. A list of hook points is found below.

 The following items should be defined in your associative hook array:</p>

 

 <ul>

@@ -109,7 +109,7 @@
 <code>

 $hook['pre_controller']<kbd>[]</kbd> = array(<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'class'&nbsp;&nbsp;&nbsp;&nbsp;=> 'MyClass',<br />

-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'function' => 'Myfunction',<br /> 

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'function' => 'Myfunction',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'filename' => 'Myclass.php',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'filepath' => 'hooks',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'params'&nbsp;&nbsp;&nbsp;=> array('beer', 'wine', 'snacks')<br />

@@ -117,7 +117,7 @@
 <br />

 $hook['pre_controller']<kbd>[]</kbd> = array(<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'class'&nbsp;&nbsp;&nbsp;&nbsp;=> 'MyOtherClass',<br />

-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'function' => 'MyOtherfunction',<br /> 

+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'function' => 'MyOtherfunction',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'filename' => 'Myotherclass.php',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'filepath' => 'hooks',<br />

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'params'&nbsp;&nbsp;&nbsp;=> array('red', 'yellow', 'blue')<br />

@@ -149,7 +149,7 @@
 Called immediately after your controller is fully executed.</li>

 

 <li><strong>display_override</strong><br />

-Overrides the <dfn>_display()</dfn> function, used to send the finalized page to the web browser at the end of system execution.  This permits you to 

+Overrides the <dfn>_display()</dfn> function, used to send the finalized page to the web browser at the end of system execution.  This permits you to

 use your own display methodology.  Note that the finalized data will be available by calling <dfn>$this->output->get_output()</dfn></li>

 

 <li><strong>cache_override</strong><br />

diff --git a/user_guide/general/index.html b/user_guide/general/index.html
index 9ca01f0..b2e89fa 100644
--- a/user_guide/general/index.html
+++ b/user_guide/general/index.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,17 +66,17 @@
 curve while making the process as enjoyable as possible.

 </p>

 

-<p>The first step is to <a href="../installation/index.html">install</a> Code Igniter, then read 

+<p>The first step is to <a href="../installation/index.html">install</a> Code Igniter, then read

 all the topics in the <strong>Introduction</strong> section of the Table of Contents.</p>

 

 <p>Next, read each of the <strong>General Topics</strong> pages in order.

 Each topic builds on the previous one, and includes code examples that you are encouraged to try.</p>

 

-<p>Once you understand the basics you'll be ready to explore the <strong>Class Reference</strong> and 

+<p>Once you understand the basics you'll be ready to explore the <strong>Class Reference</strong> and

 <strong>Helper Reference</strong> pages to learn to utilize the native libraries and helper files.</p>

 

-<p>Feel free to take advantage of our <a href="http://www.codeigniter.com/forums/">Community Forums</a> 

-if you have questions or problems, and 

+<p>Feel free to take advantage of our <a href="http://www.codeigniter.com/forums/">Community Forums</a>

+if you have questions or problems, and

 our <a href="http://www.codeigniter.com/wiki/">Wiki</a> to see code examples posted by other users.</p>

 

 

diff --git a/user_guide/general/libraries.html b/user_guide/general/libraries.html
index 5a191bb..de34a7a 100644
--- a/user_guide/general/libraries.html
+++ b/user_guide/general/libraries.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,7 +63,7 @@
 <h1>Using Code Igniter Libraries</h1>

 

 

-<p>All of the available libraries are located in your <dfn>system/libraries</dfn> folder. 

+<p>All of the available libraries are located in your <dfn>system/libraries</dfn> folder.

 In most cases, to use one of these classes involves initializing it within a <a href="controllers.html">controller</a> using the following initialization function:</p>

 

 <code>$this->load->library('<var>class name</var>'); </code>

diff --git a/user_guide/general/models.html b/user_guide/general/models.html
index 3f1c1e2..18e5758 100644
--- a/user_guide/general/models.html
+++ b/user_guide/general/models.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -78,7 +78,7 @@
 <a name="what"></a>

 <h2>What is a Model?</h2>

 

-<p>Models are PHP classes that are designed to work with information in your database.  For example, let's say 

+<p>Models are PHP classes that are designed to work with information in your database.  For example, let's say

 you use Code Igniter to manage a blog.  You might have a model class that contains functions to insert, update, and

 retrieve your blog data. Here is an example of what such a model class might look like:</p>

 

@@ -127,7 +127,7 @@
 <a name="anatomy"></a>

 <h2>Anatomy of a Model</h2>

 

-<p>Model classes are stored in your <dfn>application/models/</dfn> folder.  They can be nested within sub-folders if you 

+<p>Model classes are stored in your <dfn>application/models/</dfn> folder.  They can be nested within sub-folders if you

 want this type of organization.</p>

 

 <p>The basic prototype for a model class is this:</p>

@@ -142,7 +142,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;}<br />

 }</code>

 

-<p>Where <var>Model_name</var> is the name of your class.  Class names <strong>must</strong> be capitalized. 

+<p>Where <var>Model_name</var> is the name of your class.  Class names <strong>must</strong> be capitalized.

 Make sure your class extends the base Model class.</p>

 

 <p>The file name will be a lower case version of your class name.  For example, if your class is this:</p>

@@ -217,13 +217,13 @@
 <ul>

 <li>You can connect using the standard database methods <a href="../database/connecting.html">described here</a>, either from within your Controller class or your Model class.</li>

 <li>You can tell the model loading function to auto-connect by passing <kbd>TRUE</kbd> (boolean) via the third parameter,

-and connectivity settings, as defined in your database config file will be used: 

+and connectivity settings, as defined in your database config file will be used:

 

 	<code>$this->load->model('<var>Model_name</var>', '', <kbd>TRUE</kbd>);</code>	

 	</li>

 

 

-<li>You can manually pass database connectivity settings via the third parameter: 

+<li>You can manually pass database connectivity settings via the third parameter:

 

 

 		<code>$config['hostname'] = "localhost";<br />

diff --git a/user_guide/general/multiple_apps.html b/user_guide/general/multiple_apps.html
index db4a0cf..e7e4585 100644
--- a/user_guide/general/multiple_apps.html
+++ b/user_guide/general/multiple_apps.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/general/plugins.html b/user_guide/general/plugins.html
index 78b8231..85190af 100644
--- a/user_guide/general/plugins.html
+++ b/user_guide/general/plugins.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,13 +63,13 @@
 

 <h1>Plugins</h1>

 

-<p>Plugins work almost identically to <a href="helpers.html">Helpers</a>.  The main difference is that a plugin usually 

+<p>Plugins work almost identically to <a href="helpers.html">Helpers</a>.  The main difference is that a plugin usually

 provides a single function, whereas a Helper is usually a collection of functions.  Helpers are also considered a part of

 the core system; plugins are intended to be created and shared by our community.</p>

 

 <p>Plugins should be saved to your <dfn>system/plugins</dfn> directory or you can create a folder called <kbd>plugins</kbd> inside

 your <kbd>application</kbd> folder and store them there.  Code Igniter will look first in your <dfn>system/application/plugins</dfn>

-directory.  If the directory does not exist or the specified plugin is not located there CI will instead look in your global 

+directory.  If the directory does not exist or the specified plugin is not located there CI will instead look in your global

 <dfn>system/plugins</dfn> folder.</p>

 

 

@@ -102,7 +102,7 @@
 

 <h2>Auto-loading Plugins</h2>

 

-<p>If you find that you need a particular plugin globally throughout your application, you can tell Code Igniter to auto-load it 

+<p>If you find that you need a particular plugin globally throughout your application, you can tell Code Igniter to auto-load it

 during system initialization. This is done by opening the <var>application/config/autoload.php</var> file and adding the plugin to the autoload array.</p>

 

 

diff --git a/user_guide/general/profiling.html b/user_guide/general/profiling.html
index 880aa0c..2a933e3 100644
--- a/user_guide/general/profiling.html
+++ b/user_guide/general/profiling.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/general/quick_reference.html b/user_guide/general/quick_reference.html
index b9a293f..20d3fec 100644
--- a/user_guide/general/quick_reference.html
+++ b/user_guide/general/quick_reference.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/general/requirements.html b/user_guide/general/requirements.html
index bf5470c..3efb3bb 100644
--- a/user_guide/general/requirements.html
+++ b/user_guide/general/requirements.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/general/routing.html b/user_guide/general/routing.html
index 102f34d..a0bb671 100644
--- a/user_guide/general/routing.html
+++ b/user_guide/general/routing.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,12 +62,12 @@
 

 <h1>URI Routing</h1>

 

-<p>Typically there is a one-to-one relationship between a URL string and its corresponding controller class/method. 

+<p>Typically there is a one-to-one relationship between a URL string and its corresponding controller class/method.

 The segments in a URI normally follow this pattern:</p>

 

 <code>www.your-site.com/<dfn>class</dfn>/<samp>function</samp>/<var>id</var>/</code>

 

-<p>In some instances, however, you may want to remap this relationship so that a different class/function can be called 

+<p>In some instances, however, you may want to remap this relationship so that a different class/function can be called

 instead of the one corresponding to the URL.</p>

 

 <p>For example, lets say you want your URLs to have this prototype:</p>

@@ -79,7 +79,7 @@
 www.your-site.com/product/4/

 </p>

 

-<p>Normally the second segment of the URL is reserved for the function name, but in the example above it instead has a product ID.  

+<p>Normally the second segment of the URL is reserved for the function name, but in the example above it instead has a product ID.

 To overcome this, Code Igniter allows you to remap the URI handler.</p>

 

 

@@ -95,8 +95,8 @@
 

 <code>$route['product/:num'] = "catalog/product_lookup";</code>

 

-<p>In a route, the array key contains the URI to be matched, while the array value  contains the destination it should be re-routed to. 

-In the above example, if the literal word "product" is found in the first segment of the URL, and a number is found in the second segment, 

+<p>In a route, the array key contains the URI to be matched, while the array value  contains the destination it should be re-routed to.

+In the above example, if the literal word "product" is found in the first segment of the URL, and a number is found in the second segment,

 the "catalog" class and the "product_lookup" method are instead used.</p>

 

 <p>You can match literal values or you can use two wildcard types:</p>

@@ -110,7 +110,7 @@
 <strong>:any</strong> will match a segment containing any character.

 </p>

 

-<p class="important"><strong>Note:</strong> Routes will run in the order they are defined. 

+<p class="important"><strong>Note:</strong> Routes will run in the order they are defined.

 Higher routes will always take precedence over lower ones.</p>

 

 

diff --git a/user_guide/general/scaffolding.html b/user_guide/general/scaffolding.html
index b22b351..dbe9cb1 100644
--- a/user_guide/general/scaffolding.html
+++ b/user_guide/general/scaffolding.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,11 +62,11 @@
 

 <h1>Scaffolding</h1>

 

-<p>Code Igniter's Scaffolding feature provides a fast and very convenient way to add, edit, or delete information in your database 

+<p>Code Igniter's Scaffolding feature provides a fast and very convenient way to add, edit, or delete information in your database

 during development.</p>

 

 <p class="important"><strong>Very Important:</strong>  Scaffolding is intended for development use only.  It provides very little

-security other than a "secret" word, so anyone who has access to your Code Igniter site can potentially edit or delete your information.  

+security other than a "secret" word, so anyone who has access to your Code Igniter site can potentially edit or delete your information.

 If you use scaffolding make sure you disable it immediately after you are through using it.  DO NOT leave it enabled on a live site.

 And please, set a secret word before you use it.</p>

 

@@ -75,7 +75,7 @@
 

 <p>Here's a typical scenario:  You create a new database table during development and you'd like a quick way to insert some data

 into it to work with.  Without scaffolding your choices are either to write some inserts using the command line or to use a

-database management tool like phpMyAdmin.  With Code Igniter's scaffolding feature you can quickly add some data using its browser 

+database management tool like phpMyAdmin.  With Code Igniter's scaffolding feature you can quickly add some data using its browser

 interface.  And when you are through using the data you can easily delete it.</p>

 

 <h2>Setting a Secret Word</h2>

@@ -95,7 +95,7 @@
 <h2>Enabling Scaffolding</h2>

 

 <p>Note: The information on this page assumes you already know how <a href="controllers.html">controllers</a> work, and that you have

-a working one available.  It also assumes you have configured Code Igniter to auto-connect to your <a href="../database/index.html">database</a>. 

+a working one available.  It also assumes you have configured Code Igniter to auto-connect to your <a href="../database/index.html">database</a>.

 If not, the information here won't be very relevant, so you are encouraged to go through those sections first.

 Lastly, it assumes you understand what a class constructor is.  If not, read the last section of the <a href="controllers.html">controllers</a>

 page.</p>

diff --git a/user_guide/general/security.html b/user_guide/general/security.html
index c3218cd..e8f935d 100644
--- a/user_guide/general/security.html
+++ b/user_guide/general/security.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -84,7 +84,7 @@
 <h2>GET, POST, and COOKIE Data</h2>

 

 <p>GET data is simply disallowed by Code Igniter since the system utilizes URI segments rather than traditional URL query strings (unless

-you have the query string option enabled in your config file).  The global GET 

+you have the query string option enabled in your config file).  The global GET

 array is <strong>unset</strong> by the Input class during system initialization.</p>

 

 <h2>Register_globals</h2>

@@ -100,7 +100,7 @@
 

 <h1>Best Practices</h1>

 

-<p>Before accepting any data into your application, whether it be POST data from a form submission, COOKIE data, URI data, 

+<p>Before accepting any data into your application, whether it be POST data from a form submission, COOKIE data, URI data,

 XML-RPC data, or even data from the SERVER array, you are encouraged to practice this three step approach:</p>

 

 <ol>

@@ -116,15 +116,15 @@
 

 <li><h2>XSS Filtering</h2>

 

-<p>Code Igniter comes with a Cross Site Scripting filter.  This filter looks for commonly 

+<p>Code Igniter comes with a Cross Site Scripting filter.  This filter looks for commonly

 used techniques to embed malicious Javascript into your data, or other types of code that attempt to hijack cookies

-or do other malicious things. The XSS Filter is described <a href="../libraries/input.html">here</a>.  

+or do other malicious things. The XSS Filter is described <a href="../libraries/input.html">here</a>.

 </p>

 </li>

 

 <li><h2>Validate the data</h2>

 

-<p>Code Igniter has a <a href="../libraries/validation.html">Validation Class</a> that assists you in validating, filtering, and prepping 

+<p>Code Igniter has a <a href="../libraries/validation.html">Validation Class</a> that assists you in validating, filtering, and prepping

 your data.</p>

 </li>

 

diff --git a/user_guide/general/urls.html b/user_guide/general/urls.html
index b3b842d..c90e90f 100644
--- a/user_guide/general/urls.html
+++ b/user_guide/general/urls.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,7 +63,7 @@
 

 <h1>Code Igniter URLs</h1>

 

-<p>By default, URLs in Code Igniter are designed to be search-engine and human friendly.  Rather than using the standard "query string" 

+<p>By default, URLs in Code Igniter are designed to be search-engine and human friendly.  Rather than using the standard "query string"

 approach to URLs that is synonymous with dynamic systems, Code Igniter uses a <strong>segment-based</strong> approach:</p>

 

 <code>www.your-site.com/<var>news</var>/<dfn>article</dfn>/<samp>my_article</samp></code>

@@ -82,8 +82,8 @@
 <li>The third, and any additional segments, represent the ID and any variables that will be passed to the controller.</p>

 </ol>

 

-<p>The <a href="../libraries/uri.html">URI Class</a> and the <a href="../helpers/url_helper.html">URL Helper</a> 

-contain functions that make it easy to work with your URI data.  In addition, your URLs can be remapped using the 

+<p>The <a href="../libraries/uri.html">URI Class</a> and the <a href="../helpers/url_helper.html">URL Helper</a>

+contain functions that make it easy to work with your URI data.  In addition, your URLs can be remapped using the

 <a href="routing.html">URI Routing</a> feature for more flexibility.</p>

 

 

@@ -136,7 +136,7 @@
 <code>index.php?c=controller&m=method</code>

 

 <p class="important"><strong>Please note:</strong> If you are using query strings you will have to build your own URLs, rather than utilizing

-the URL helpers (and other helpers that generate URLs, like some of the form helpers) as these are designed to work with 

+the URL helpers (and other helpers that generate URLs, like some of the form helpers) as these are designed to work with

 segment based URLs.</p>

 

 

diff --git a/user_guide/general/views.html b/user_guide/general/views.html
index d4ccb51..602d582 100644
--- a/user_guide/general/views.html
+++ b/user_guide/general/views.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,11 +63,11 @@
 <h1>Views</h1>

 

 <p>A <dfn>view</dfn> is simply a web page, or a page fragment, like a header, footer, sidebar, etc.

-In fact, views can flexibly be embedded within other views (within other views, etc., etc.) if you need this type 

+In fact, views can flexibly be embedded within other views (within other views, etc., etc.) if you need this type

 of hierarchy.</p>

 

 <p>Views are never called directly, they must be loaded by a <a href="controllers.html">controller</a>.  Remember that in an MVC framework, the Controller acts as the

-traffic cop, so it is responsible for fetching a particular view. If you have not read the <a href="controllers.html">Controllers</a> page 

+traffic cop, so it is responsible for fetching a particular view. If you have not read the <a href="controllers.html">Controllers</a> page

 you should do so before continuing.</p>

 

 <p>Using the example controller you created in the <a href="controllers.html">controller</a> page, let's add a view to it.</p>

@@ -120,7 +120,7 @@
 

 <h2>Adding Dynamic Data to the View</h2>

 

-<p>Data is passed from the controller to the view by way of an <strong>array</strong> or an <strong>object</strong> in the second 

+<p>Data is passed from the controller to the view by way of an <strong>array</strong> or an <strong>object</strong> in the second

 parameter of the view loading function. Here is an example using an array:</p>

 

 <code>$data = array(<br />

diff --git a/user_guide/helpers/array_helper.html b/user_guide/helpers/array_helper.html
index a6044be..854d0ba 100644
--- a/user_guide/helpers/array_helper.html
+++ b/user_guide/helpers/array_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -75,7 +75,7 @@
 

 <h2>element()</h2>

 

-<p>Lets you fetch an item from an array.  The function tests whether the array index is set and whether it has a value.  If 

+<p>Lets you fetch an item from an array.  The function tests whether the array index is set and whether it has a value.  If

 a value exists it is returned.  If a value does not exist it returns FALSE, or whatever you've specified as the default value via the third parameter.  Example:</p>

 

 <code>

diff --git a/user_guide/helpers/cookie_helper.html b/user_guide/helpers/cookie_helper.html
index 1e352fc..ec27e54 100644
--- a/user_guide/helpers/cookie_helper.html
+++ b/user_guide/helpers/cookie_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -99,7 +99,7 @@
 <p>Only the name and value are required.</p>

 

 <p>The expiration is set in <strong>seconds</strong>, which will be added to the current time.  Do not include the time, but rather only the

-number of seconds from <em>now</em> that you wish the cookie to be valid.  If the expiration is set to 

+number of seconds from <em>now</em> that you wish the cookie to be valid.  If the expiration is set to

 zero the cookie will only last as long as the browser is open.</p>

 <p>To delete a cookie set it with the expiration blank.</p>

 <p>For site-wide cookies regardless of how your site is requested, add your URL to the <strong>domain</strong> starting with a period, like this:  .your-domain.com</p>

@@ -132,7 +132,7 @@
 

 <code>delete_cookie("name");</code>

 

-<p>This function is otherwise identical to <dfn>set_cookie()</dfn>, except that it does not have the value and expiration parameters.  You can submit an array 

+<p>This function is otherwise identical to <dfn>set_cookie()</dfn>, except that it does not have the value and expiration parameters.  You can submit an array

 of values in the first parameter or you can set discreet parameters.</p>

 

 <code>delete_cookie($name, $domain, $path, $prefix)</code>

diff --git a/user_guide/helpers/date_helper.html b/user_guide/helpers/date_helper.html
index f787176..727ce52 100644
--- a/user_guide/helpers/date_helper.html
+++ b/user_guide/helpers/date_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -86,7 +86,7 @@
 

 <h2>mdate()</h2>

 

-<p>This function is identical to PHPs <a href="http://www.php.net/date">date()</a> function, except that it lets you 

+<p>This function is identical to PHPs <a href="http://www.php.net/date">date()</a> function, except that it lets you

 use MySQL style date codes, where each code letter is preceded with a percent sign:  %Y %m %d etc.</p>

 

 <p>The benefit of doing dates this way is that you don't have to worry about escaping any characters that

@@ -142,7 +142,7 @@
 

 <h2>gmt_to_local()</h2>

 

-<p>Takes a Unix timestamp (referenced to GMT) as input, and converts it to a localized timestamp based on the 

+<p>Takes a Unix timestamp (referenced to GMT) as input, and converts it to a localized timestamp based on the

 timezone and Daylight Saving time submitted.  Example:</p>

 

 <code>

@@ -171,7 +171,7 @@
 

 <p>This can be useful if you need to display a date in a form field for submission.</p>

 

-<p>The time can be formatted with or without seconds, and it can be set to European or US format.  If only 

+<p>The time can be formatted with or without seconds, and it can be set to European or US format.  If only

 the timestamp is submitted it will return the time without seconds formatted for the U.S. Examples:

 

 <code>$now = time();<br />

@@ -185,8 +185,8 @@
 

 <h2>human_to_unix()</h2>

 

-<p>The opposite of the above function.  Takes a "human" time as input and returns it as Unix.  This function is 

-useful if you accept "human" formatted dates submitted via a form.  Returns FALSE (boolean) if 

+<p>The opposite of the above function.  Takes a "human" time as input and returns it as Unix.  This function is

+useful if you accept "human" formatted dates submitted via a form.  Returns FALSE (boolean) if

 the date string passed to it is not formatted as indicated above.  Example:</p>

 

 <code>$now = time();<br />

diff --git a/user_guide/helpers/directory_helper.html b/user_guide/helpers/directory_helper.html
index 35b2d6d..34450b1 100644
--- a/user_guide/helpers/directory_helper.html
+++ b/user_guide/helpers/directory_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -90,7 +90,7 @@
 

 <code>$map = directory_map('./mydirectory/', TRUE);</code>

 

-<p>Each folder name will be an array index, while its contained files will be numerically indexed. 

+<p>Each folder name will be an array index, while its contained files will be numerically indexed.

 Here is an example of a typical array:</p>

 

 <code>Array<br />

diff --git a/user_guide/helpers/download_helper.html b/user_guide/helpers/download_helper.html
index 5b2f1ec..14dba66 100644
--- a/user_guide/helpers/download_helper.html
+++ b/user_guide/helpers/download_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -76,7 +76,7 @@
 

 <h2>force_download('<var>filename</var>', '<var>data</var>')</h2>

 

-<p>Generates server headers which force data to be downloaded to your desktop. Useful with file downloads.  

+<p>Generates server headers which force data to be downloaded to your desktop. Useful with file downloads.

 The first parameter is the <strong>name you want the downloaded file to be named</strong>, the second parameter is the file data.

 Example:</p>

 

diff --git a/user_guide/helpers/file_helper.html b/user_guide/helpers/file_helper.html
index 319ebfa..d51906d 100644
--- a/user_guide/helpers/file_helper.html
+++ b/user_guide/helpers/file_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/helpers/form_helper.html b/user_guide/helpers/form_helper.html
index a71aa51..68d44e6 100644
--- a/user_guide/helpers/form_helper.html
+++ b/user_guide/helpers/form_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -175,7 +175,7 @@
 // Would produce:<br /><br />

 &lt;input type="text" name="username" id="username" value="johndoe" maxlength="100" size="50" style="width:50%" /></code>

 

-<p>If you would like your form to contain some additional data, like JavaScript, you can pass it as a string in the 

+<p>If you would like your form to contain some additional data, like JavaScript, you can pass it as a string in the

 third parameter:

 

 <code>$js = 'onClick="some_function()"';<br />

@@ -184,17 +184,17 @@
 

 <h2>form_password()</h2>

 

-<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above 

+<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above

 except that is sets it as a "password" type.</p>

 

 <h2>form_upload()</h2>

 

-<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above 

+<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above

 except that is sets it as a "file" type, allowing it to be used to upload files.</p>

 

 <h2>form_textarea()</h2>

 

-<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above 

+<p>This function is identical in all respects to the <dfn>form_input()</dfn> function above

 except that it generates a "textarea" type. Note: Instead of the "maxlength" and "size" attributes in the above

 example, you will instead specify "rows" and "cols".</p>

 

@@ -224,7 +224,7 @@
 &lt;/select></code>

 

 

-<p>If you would like the opening &lt;select> to contain  additional data, like JavaScript, you can pass it as a string in the 

+<p>If you would like the opening &lt;select> to contain  additional data, like JavaScript, you can pass it as a string in the

 fourth parameter:

 

 <code>$js = 'onChange="some_function()"';<br />

@@ -260,7 +260,7 @@
 // Would produce:<br /><br />

 &lt;input type="checkbox" name="newsletter" id="newsletter" value="accept" checked="checked" style="margin:10px" /></code>

 

-<p>As with other functions, if you would like the tag to contain  additional data, like JavaScript, you can pass it as a string in the 

+<p>As with other functions, if you would like the tag to contain  additional data, like JavaScript, you can pass it as a string in the

 fourth parameter:

 

 <code>$js = 'onClick="some_function()"';<br />

diff --git a/user_guide/helpers/html_helper.html b/user_guide/helpers/html_helper.html
index 17157bb..e32cbc9 100644
--- a/user_guide/helpers/html_helper.html
+++ b/user_guide/helpers/html_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/helpers/index.html b/user_guide/helpers/index.html
index 2a5c693..129e424 100644
--- a/user_guide/helpers/index.html
+++ b/user_guide/helpers/index.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -71,11 +71,11 @@
 <p>Unlike most other systems in Code Igniter, Helpers are not written in an Object Oriented format.  They are simple, procedural functions.

 Each helper function performs one specific task, with no dependence on other functions.</p>

 

-<p>Helpers are intentionally kept very simple so that they can be used within your <strong>View Files</strong> with a minimal amount of code.  

+<p>Helpers are intentionally kept very simple so that they can be used within your <strong>View Files</strong> with a minimal amount of code.

 This is important if you intend to have designers or non-programmer will be working with your view files, since it keeps the code to a minimum.

 </p>

 

-<p>Code Igniter does not load Helper Files by default, so the first step in using 

+<p>Code Igniter does not load Helper Files by default, so the first step in using

 a Helper is to load it.  Once loaded, it becomes globally available in your <a href="../general/controllers.html">controller</a> and <a href="../general/views.html">views</a>.</p>

 

 <h2>Loading a Helper</h2>

diff --git a/user_guide/helpers/inflector_helper.html b/user_guide/helpers/inflector_helper.html
index ace1b2e..65cc795 100644
--- a/user_guide/helpers/inflector_helper.html
+++ b/user_guide/helpers/inflector_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/helpers/security_helper.html b/user_guide/helpers/security_helper.html
index d45d7c4..3953e8b 100644
--- a/user_guide/helpers/security_helper.html
+++ b/user_guide/helpers/security_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -76,7 +76,7 @@
 

 <h2>xss_clean()</h2>

 

-<p>Provides Cross Site Script Hack filtering.  This function is an alias to the one in the 

+<p>Provides Cross Site Script Hack filtering.  This function is an alias to the one in the

 <a href="../libraries/input.html">Input class</a>.  More info can be found there.</p>

 

 

diff --git a/user_guide/helpers/string_helper.html b/user_guide/helpers/string_helper.html
index ca28dc6..f43dfc4 100644
--- a/user_guide/helpers/string_helper.html
+++ b/user_guide/helpers/string_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -84,7 +84,7 @@
 <li><strong>alnum</strong>:&nbsp; Alpha-numeric string with lower and uppercase characters.</li>

 <li><strong>numeric</strong>:&nbsp; Numeric string.</li>

 <li><strong>nozero</strong>:&nbsp; Numeric string with no zeros.</li>

-<li><strong>unique</strong>:&nbsp; Encrypted with MD5 and uniquid(). Note: The length parameter is not available for this type. 

+<li><strong>unique</strong>:&nbsp; Encrypted with MD5 and uniquid(). Note: The length parameter is not available for this type.

 Returns a fixed length 33 character string.</li>

 </ul>

 

diff --git a/user_guide/helpers/text_helper.html b/user_guide/helpers/text_helper.html
index 75190da..1c704c4 100644
--- a/user_guide/helpers/text_helper.html
+++ b/user_guide/helpers/text_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/helpers/typography_helper.html b/user_guide/helpers/typography_helper.html
index 7213b9d..1d1c6d6 100644
--- a/user_guide/helpers/typography_helper.html
+++ b/user_guide/helpers/typography_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -76,7 +76,7 @@
 

 <h2>auto_typography()</h2>

 

-<p>Formats text so that it is semantically and typographically correct HTML.  Takes a string as input and returns it with 

+<p>Formats text so that it is semantically and typographically correct HTML.  Takes a string as input and returns it with

 the following formatting:</p>

 

 <ul>

@@ -94,14 +94,14 @@
 

 <code>$string = auto_typography($string);</code>

 

-<p><strong>Note:</strong> Typographic formatting can be processor intensive, particularly if you have a lot of content being formatted. 

+<p><strong>Note:</strong> Typographic formatting can be processor intensive, particularly if you have a lot of content being formatted.

 If you choose to use this function you may want to consider

 <a href="../general/caching.html">caching</a> your pages.</p>

 

 

 <h2>nl2br_except_pre()</h2>

 

-<p>Converts newlines to &lt;br /&gt; tags unless they appear within &lt;pre&gt; tags. 

+<p>Converts newlines to &lt;br /&gt; tags unless they appear within &lt;pre&gt; tags.

 This function is identical to the native PHP <dfn>nl2br()</dfn> function, except that it ignores &lt;pre&gt; tags.</p>

 

 <p>Usage example:</p>

diff --git a/user_guide/helpers/url_helper.html b/user_guide/helpers/url_helper.html
index d54acc1..eb0fd56 100644
--- a/user_guide/helpers/url_helper.html
+++ b/user_guide/helpers/url_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -78,7 +78,7 @@
 <p>Returns your site URL, as specified in your config file.  The index.php file (or whatever you have set as your

 site <dfn>index_page</dfn> in your config file) will be added to the URL, as will any URI segments you pass to the function.</p>

 

-<p>You are encouraged to use this function any time you need to generate a local URL so that your pages become more portable 

+<p>You are encouraged to use this function any time you need to generate a local URL so that your pages become more portable

 in the event your URL changes.</p>

 

 <p>Segments can be optionally passed to the function as a string or an array.  Here is a string example:</p>

@@ -139,9 +139,9 @@
 

 <h2>anchor_popup()</h2>

 

-<p>Nearly identical to the <dfn>anchor()</dfn> function except that it opens the URL in a new window.  

+<p>Nearly identical to the <dfn>anchor()</dfn> function except that it opens the URL in a new window.

 

-You can specify JavaScript window attributes in the third parameter to control how the window is opened. If 

+You can specify JavaScript window attributes in the third parameter to control how the window is opened. If

 the third parameter is not set it will simply open a new window with your own browser settings.  Here is an example

 with attributes:</p>

 

@@ -236,7 +236,7 @@
 to redirect to a local URL within your site.  You will <strong>not</strong> specify the full site URL, but rather simply the URI segments

 to the controller you want to direct to. The function will build the URL based on your config file values.</p>

 

-<p>The second parameter allows you to choose between the "location" 

+<p>The second parameter allows you to choose between the "location"

 method or the "refresh" method.  Location is faster, but on Windows servers it can sometimes be a problem.  Example:</p>

 

 <code>if ($logged_in == FALSE)<br />

diff --git a/user_guide/helpers/xml_helper.html b/user_guide/helpers/xml_helper.html
index 22e7009..0e014fc 100644
--- a/user_guide/helpers/xml_helper.html
+++ b/user_guide/helpers/xml_helper.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/images/appflowchart.gif b/user_guide/images/appflowchart.gif
index 422332c..5ca1ade 100644
--- a/user_guide/images/appflowchart.gif
+++ b/user_guide/images/appflowchart.gif
Binary files differ
diff --git a/user_guide/images/ci_logo.jpg b/user_guide/images/ci_logo.jpg
index 3ae0eee..b31a797 100644
--- a/user_guide/images/ci_logo.jpg
+++ b/user_guide/images/ci_logo.jpg
Binary files differ
diff --git a/user_guide/images/ci_quick_ref.png b/user_guide/images/ci_quick_ref.png
index c07d6b4..1e74a42 100644
--- a/user_guide/images/ci_quick_ref.png
+++ b/user_guide/images/ci_quick_ref.png
Binary files differ
diff --git a/user_guide/index.html b/user_guide/index.html
index 00bf446..10f084d 100644
--- a/user_guide/index.html
+++ b/user_guide/index.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -64,13 +64,13 @@
 

 <h2>Welcome to Code Igniter</h2>

 

-<p>Code Igniter is an Application Development Framework - a toolkit - for people who build web sites using PHP.  

-Its goal is to enable you to develop projects much faster than you could if you were writing code 

+<p>Code Igniter is an Application Development Framework - a toolkit - for people who build web sites using PHP.

+Its goal is to enable you to develop projects much faster than you could if you were writing code

 from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and

-logical structure to access these libraries. Code Igniter lets you creatively focus on your project by 

+logical structure to access these libraries. Code Igniter lets you creatively focus on your project by

 minimizing the amount of code needed for a given task.</p>

 

-<p>Please read the Introduction section of the User Guide to learn the broad concepts behind Code Igniter, 

+<p>Please read the Introduction section of the User Guide to learn the broad concepts behind Code Igniter,

 then read the <a href="general/index.html">Getting Started</a> page.</p>

 

 

@@ -81,7 +81,7 @@
 <ul>

 <li>You want a framework with a small footprint.</li>

 <li>You need exceptional performance.</li>

-<li>You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.</li> 

+<li>You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.</li>

 <li>You want a framework that requires nearly zero configuration.</li>

 <li>You want a framework that does not require you to use the command line.</li>

 <li>You want a framework that does not require you to adhere to restrictive coding rules.</li>

diff --git a/user_guide/installation/downloads.html b/user_guide/installation/downloads.html
index c95f6b3..7d27581 100644
--- a/user_guide/installation/downloads.html
+++ b/user_guide/installation/downloads.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/installation/index.html b/user_guide/installation/index.html
index 4c572de..30a3da0 100644
--- a/user_guide/installation/index.html
+++ b/user_guide/installation/index.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -72,7 +72,7 @@
 </ol>

 

 <p>If you wish to increase security by hiding the location of your Code Igniter files you can rename the <dfn>system</dfn> folder

-to something more private.  If you do rename it, you must open your main <kbd>index.php</kbd> file and set the <samp>$system_folder</samp> 

+to something more private.  If you do rename it, you must open your main <kbd>index.php</kbd> file and set the <samp>$system_folder</samp>

 variable at the top of the page with the new name you've chosen.</p>

 

 <p>That's it!</p>

diff --git a/user_guide/installation/troubleshooting.html b/user_guide/installation/troubleshooting.html
index 521d638..c41548d 100644
--- a/user_guide/installation/troubleshooting.html
+++ b/user_guide/installation/troubleshooting.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,8 +62,8 @@
 

 <h1>Troubleshooting</h1>

 

-<p>If you find that no matter what you put in your URL only your default page is loading, it might be that your server 

-does not support the PATH_INFO variable needed to serve search-engine friendly URLs.  

+<p>If you find that no matter what you put in your URL only your default page is loading, it might be that your server

+does not support the PATH_INFO variable needed to serve search-engine friendly URLs.

 

 As a first step, open your <dfn>application/config/config.php</dfn> file and look for the <kbd>URI Protocol</kbd>

 information. It will recommend that you try a couple alternate settings.  If it still doesn't work after you've tried this you'll need

diff --git a/user_guide/installation/upgrade_120.html b/user_guide/installation/upgrade_120.html
index 03aeba1..55accb4 100644
--- a/user_guide/installation/upgrade_120.html
+++ b/user_guide/installation/upgrade_120.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/installation/upgrade_130.html b/user_guide/installation/upgrade_130.html
index 923f789..dcba18d 100644
--- a/user_guide/installation/upgrade_130.html
+++ b/user_guide/installation/upgrade_130.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Upgrading from 1.2 to 1.3</h1>

 

-<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.2.  If you 

+<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.2.  If you

 have not upgraded to that version please do so first.</p>

 

 

@@ -94,7 +94,7 @@
 <p>Version 1.3 contains two new error templates located in <dfn>application/errors</dfn>, and for naming consistency the other error templates have

 been renamed.</p>

 

-<p>If you <strong>have not</strong> customized any of the error templates simply 

+<p>If you <strong>have not</strong> customized any of the error templates simply

 replace this folder:</p>

 

 <ul>

@@ -137,7 +137,7 @@
 | For example, if a URL is this:

 |

 | www.your-site.com/index.php/products/view/shoes

-| 

+|

 | You can optionally add a suffix, like ".html",

 | making the page appear to be of a certain type:

 |

@@ -152,7 +152,7 @@
 | Enable Query Strings

 |------------------------------------------------

 |

-| By default Code Igniter uses search-engine and 

+| By default Code Igniter uses search-engine and

 | human-friendly segment based URLs:

 |

 | www.your-site.com/who/what/where/

diff --git a/user_guide/installation/upgrade_131.html b/user_guide/installation/upgrade_131.html
index b685b40..d859c20 100644
--- a/user_guide/installation/upgrade_131.html
+++ b/user_guide/installation/upgrade_131.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Upgrading from 1.3 to 1.3.1</h1>

 

-<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.  If you 

+<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.  If you

 have not upgraded to that version please do so first.</p>

 

 <p>Before performing an update you should take your site offline by replacing the index.php file with a static one.</p>

diff --git a/user_guide/installation/upgrade_132.html b/user_guide/installation/upgrade_132.html
index 9af6d96..28415a0 100644
--- a/user_guide/installation/upgrade_132.html
+++ b/user_guide/installation/upgrade_132.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Upgrading from 1.3.1 to 1.3.2</h1>

 

-<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.1.  If you 

+<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.1.  If you

 have not upgraded to that version please do so first.</p>

 

 <p>Before performing an update you should take your site offline by replacing the index.php file with a static one.</p>

diff --git a/user_guide/installation/upgrade_133.html b/user_guide/installation/upgrade_133.html
index eed40cd..d6ff59a 100644
--- a/user_guide/installation/upgrade_133.html
+++ b/user_guide/installation/upgrade_133.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Upgrading from 1.3.2 to 1.3.3</h1>

 

-<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.2.  If you 

+<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.2.  If you

 have not upgraded to that version please do so first.</p>

 

 <p>Before performing an update you should take your site offline by replacing the index.php file with a static one.</p>

@@ -90,7 +90,7 @@
 

 <p>As of version 1.3.3, Code Igniter does <strong>not</strong> connect automatically to your database when a model is loaded.  This

 allows you greater flexibility in determining which databases you would like used with your models.  If your application is not connecting

-to your database prior to a model being loaded you will have to update your code.  There are several options for connecting, 

+to your database prior to a model being loaded you will have to update your code.  There are several options for connecting,

 <a href="../general/models.html">as described here</a>.

 

 

diff --git a/user_guide/installation/upgrade_140.html b/user_guide/installation/upgrade_140.html
index b6e4abb..d68489d 100644
--- a/user_guide/installation/upgrade_140.html
+++ b/user_guide/installation/upgrade_140.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Upgrading from 1.3.3 to 1.4.0</h1>

 

-<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.3.  If you 

+<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.3.3.  If you

 have not upgraded to that version please do so first.</p>

 

 <p>Before performing an update you should take your site offline by replacing the index.php file with a static one.</p>

@@ -119,7 +119,7 @@
 | as few characters as possible.  By default only these are allowed: a-z 0-9~%.:_-

 |

 | Leave blank to allow all characters -- but only if you are insane.

-| 

+|

 | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!

 |

 */

diff --git a/user_guide/installation/upgrade_141.html b/user_guide/installation/upgrade_141.html
index e1590e7..743e3f3 100644
--- a/user_guide/installation/upgrade_141.html
+++ b/user_guide/installation/upgrade_141.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Upgrading from 1.4.0 to 1.4.1</h1>

 

-<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.4.0.  If you 

+<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.4.0.  If you

 have not upgraded to that version please do so first.</p>

 

 <p>Before performing an update you should take your site offline by replacing the index.php file with a static one.</p>

@@ -95,13 +95,13 @@
 |--------------------------------------------------------------------------

 |

 | Enables Gzip output compression for faster page loads.  When enabled,

-| the output class will test whether your server supports Gzip. 

+| the output class will test whether your server supports Gzip.

 | Even if it does, however, not all browsers support compression

 | so enable only if you are reasonably sure your visitors can handle it.

 |

 | VERY IMPORTANT:  If you are getting a blank page when compression is enabled it

 | means you are prematurely outputting something to your browser. It could

-| even be a line of whitespace at the end of one of your scripts.  For 

+| even be a line of whitespace at the end of one of your scripts.  For

 | compression to work, nothing can be sent before the output buffer is called

 | by the output class.  Do not "echo" any values with compression enabled.

 |

diff --git a/user_guide/installation/upgrade_150.html b/user_guide/installation/upgrade_150.html
index 4e25c54..49e12a5 100644
--- a/user_guide/installation/upgrade_150.html
+++ b/user_guide/installation/upgrade_150.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 <h1>Upgrading from 1.4.1 to 1.5.0</h1>

 

-<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.4.1.  If you 

+<p class="important"><strong>Note:</strong> The instructions on this page assume you are running version 1.4.1.  If you

 have not upgraded to that version please do so first.</p>

 

 <p>Before performing an update you should take your site offline by replacing the index.php file with a static one.</p>

@@ -110,7 +110,7 @@
 |

 | This item allows you to set the filename/classname prefix when extending

 | native libraries.  For more information please see the user guide:

-| 

+|

 | http://www.codeigniter.com/user_guide/general/core_classes.html

 | http://www.codeigniter.com/user_guide/general/creating_libraries.html

 |

@@ -127,7 +127,7 @@
 | Enable/Disable Error Logging

 |--------------------------------------------------------------------------

 |

-| If you would like errors or debug messages logged set this variable to 

+| If you would like errors or debug messages logged set this variable to

 | TRUE (boolean).  Note: You must set the file permissions on the "logs" folder

 | such that it is writable.

 |

@@ -141,7 +141,7 @@
 

 <h2>Step 4: Update your main index.php file</h2>

 

-<p>If you are running a stock <dfn>index.php</dfn> file simply replace your version with the new one.  If you are running one with 

+<p>If you are running a stock <dfn>index.php</dfn> file simply replace your version with the new one.  If you are running one with

 internal modifications, open it and add this line of code near the bottom:</p>

 

 <code>define('FCPATH', __FILE__);</code>

diff --git a/user_guide/installation/upgrade_b11.html b/user_guide/installation/upgrade_b11.html
index c7563a6..ef2cf52 100644
--- a/user_guide/installation/upgrade_b11.html
+++ b/user_guide/installation/upgrade_b11.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -71,7 +71,7 @@
 <h2>Step 2: Relocate your config folder</h2>

 

 <p>This version of Code Igniter now permits multiple sets of "applications" to all share a common set of backend files. In order to enable

-each application to have its own configuration values, the <kbd>config</kbd> directory must now reside 

+each application to have its own configuration values, the <kbd>config</kbd> directory must now reside

 inside of your <dfn>application</dfn> folder, so please move it there.</p>

 

 

diff --git a/user_guide/installation/upgrading.html b/user_guide/installation/upgrading.html
index fa6f2ac..061f8a9 100644
--- a/user_guide/installation/upgrading.html
+++ b/user_guide/installation/upgrading.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/libraries/benchmark.html b/user_guide/libraries/benchmark.html
index 37252b6..17e67fc 100644
--- a/user_guide/libraries/benchmark.html
+++ b/user_guide/libraries/benchmark.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -127,9 +127,9 @@
 <a name="profiler"></a>

 <h2>Profiling Your Benchmark Points</h2>

 

-<p>If you want your benchmark data to be available to the 

-<a href="../general/profiling.html">Profiler</a> all of your marked points must be set up in pairs, and 

-each mark point name must end with <kbd>_start</kbd> and <kbd>_end</kbd>. 

+<p>If you want your benchmark data to be available to the

+<a href="../general/profiling.html">Profiler</a> all of your marked points must be set up in pairs, and

+each mark point name must end with <kbd>_start</kbd> and <kbd>_end</kbd>.

 Each pair of points must otherwise be named identically. Example:</p>

 

 <code>

@@ -158,14 +158,14 @@
 

 <code>&lt;?=$this->benchmark->elapsed_time();?&gt;</code>

 

-<p>You'll notice that it's the same function used in the examples above to calculate the time between two point, except you are 

+<p>You'll notice that it's the same function used in the examples above to calculate the time between two point, except you are

 <strong>not</strong> using any parameters.  When the parameters are absent, Code Igniter does not stop the benchmark until right before the final

 output is sent to the browser.  It doesn't matter where you use the function call, the timer will continue to run until the very end.</p>

 

 <p>An alternate way to show your elapsed time in your view files is to use this pseudo-variable, if you prefer not to use the pure PHP:</p>

 <code>{elapsed_time}</code>

 

-<p class="important"><strong>Note:</strong> If you want to benchmark anything within your controller 

+<p class="important"><strong>Note:</strong> If you want to benchmark anything within your controller

 functions you must set your own start/end points.</p>

 

 <a name="memory"></a>

diff --git a/user_guide/libraries/calendar.html b/user_guide/libraries/calendar.html
index a13cadf..c8a8e80 100644
--- a/user_guide/libraries/calendar.html
+++ b/user_guide/libraries/calendar.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -65,7 +65,7 @@
 

 <h1>Calendaring Class</h1>

 

-<p>The Calendar class enables you to dynamically create calendars. Your calendars can be formatted through the use of a calendar 

+<p>The Calendar class enables you to dynamically create calendars. Your calendars can be formatted through the use of a calendar

 template, allowing 100% control over every aspect of its design. In addition, you can pass data to your calendar cells.</p>

 

 <h2>Initializing the Class</h2>

@@ -112,14 +112,14 @@
 

 <p>Using the above example, day numbers 3, 7, 13, and 26 will become links pointing to the URLs you've provided.</p>

 

-<p class="important"><strong>Note:</strong> By default it is assumed that your array will contain links. 

+<p class="important"><strong>Note:</strong> By default it is assumed that your array will contain links.

 In the section that explains the calendar template below you'll see how you can customize

 how data passed to your cells is handled so you can pass different types of information.</p>

 

 

 <h2>Setting Display Preferences</h2>

 

-<p>There are seven preferences you can set to control various aspects of the calendar.  Preferences are set using an initialization 

+<p>There are seven preferences you can set to control various aspects of the calendar.  Preferences are set using an initialization

 function similar to other classes.  Here is an example:

 

 

diff --git a/user_guide/libraries/config.html b/user_guide/libraries/config.html
index f8a9f52..cd20298 100644
--- a/user_guide/libraries/config.html
+++ b/user_guide/libraries/config.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -75,7 +75,7 @@
 your text editor you'll see that config items are stored in an array called <var>$config</var>.</p>

 

 <p>You can add your own config items to

-this file, or if you prefer to keep your configuration items separate (assuming you even need config items), 

+this file, or if you prefer to keep your configuration items separate (assuming you even need config items),

 simply create your own file and save it in <dfn>config</dfn> folder.</p>

 

 <p><strong>Note:</strong> If you do create your own config files use the same format as the primary one, storing your items in

@@ -84,7 +84,7 @@
 

 <h2>Loading a Config File</h2>

 

-<p><strong>Note:</strong> Code Igniter automatically loads the primary config file (<samp>application/config/config.php</samp>), 

+<p><strong>Note:</strong> Code Igniter automatically loads the primary config file (<samp>application/config/config.php</samp>),

 so you will only need to load a config file if you have created your own.</p>

 

 <p>There are two ways to load a config file:</p>

diff --git a/user_guide/libraries/email.html b/user_guide/libraries/email.html
index ea1b868..b8a68e9 100644
--- a/user_guide/libraries/email.html
+++ b/user_guide/libraries/email.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -218,7 +218,7 @@
 <code>$this->email->set_alt_message('<var>This is the alternative message</var>');</code>

 

 <p>This is an optional message string which can be used if you send HTML formatted email.  It lets you specify an alternative

-message with no HTML formatting which is added to the header string for people who do not accept HTML email.  

+message with no HTML formatting which is added to the header string for people who do not accept HTML email.

 If you do not set your own message Code Igniter will extract the message from your HTML email and strip the tags.</p>

 

 

diff --git a/user_guide/libraries/encryption.html b/user_guide/libraries/encryption.html
index d541174..c80d07d 100644
--- a/user_guide/libraries/encryption.html
+++ b/user_guide/libraries/encryption.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,14 +66,14 @@
 <p>The Encryption Class provides two-way data encryption.  It uses a scheme that pre-compiles

 the message using a randomly hashed bitwise XOR encoding scheme, which is then encrypted using

 the Mcrypt library.  If Mcrypt is not available on your server the encoded message will

-still provide a reasonable degree of security for encrypted sessions or other such "light" purposes. 

+still provide a reasonable degree of security for encrypted sessions or other such "light" purposes.

 If Mcrypt is available, you'll effectively end up with a double-encrypted message string, which should

 provide a very high degree of security.</p>

 

 

 <h2>Setting your Key</h2>

 

-<p>A <em>key</em> is a piece of information that controls the cryptographic process and permits an encrypted string to be decoded. 

+<p>A <em>key</em> is a piece of information that controls the cryptographic process and permits an encrypted string to be decoded.

 In fact, the key you chose will provide the <strong>only</strong> means to decode data that was encrypted with that key,

 so not only must you chose the key carefully, you must never change it if you intend use it for persistent data.</p>

 

@@ -82,12 +82,12 @@
 it's impossible to ensure key security so you may want to think carefully before using it for anything

 that requires high security, like storing credit card numbers.</p>

 

-<p>To take maximum advantage of the encryption algorithm, your key should be 32 characters in length (128 bits).  

-The key should be as random a string as you can concoct, with numbers and uppercase and lowercase letters.  

-Your key should <strong>not</strong> be a simple text string. In order to be cryptographically secure it 

+<p>To take maximum advantage of the encryption algorithm, your key should be 32 characters in length (128 bits).

+The key should be as random a string as you can concoct, with numbers and uppercase and lowercase letters.

+Your key should <strong>not</strong> be a simple text string. In order to be cryptographically secure it

 needs to be as random as possible.</p>

 

-<p>Your key can be either stored in your <dfn>application/config/config.php</dfn>, or you can design your own 

+<p>Your key can be either stored in your <dfn>application/config/config.php</dfn>, or you can design your own

 storage mechanism and pass the key dynamically when encoding/decoding.</p>

 

 <p>To save your key to your <dfn>application/config/config.php</dfn>, open the file and set:</p>

@@ -96,7 +96,7 @@
 

 <h2>Message Length</h2>

 

-<p>It's important for you to know that the encoded messages the encryption function generates will be approximately 2.6 times longer than the original 

+<p>It's important for you to know that the encoded messages the encryption function generates will be approximately 2.6 times longer than the original

 message.  For example, if you encrypt the string "my super secret data", which is 21 characters in length, you'll end up

 with an encoded string that is roughly 55 characters (we say "roughly" because the encoded string length increments in

 64 bit clusters, so it's not exactly linear).  Keep this information in mind when selecting your data storage mechanism.  Cookies,

diff --git a/user_guide/libraries/file_uploading.html b/user_guide/libraries/file_uploading.html
index 390b453..730dd05 100644
--- a/user_guide/libraries/file_uploading.html
+++ b/user_guide/libraries/file_uploading.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,7 +63,7 @@
 

 <h1>File Uploading Class</h1>

 

-<p>Code Igniter's File Uploading Class permits files to be uploaded.  You can set various 

+<p>Code Igniter's File Uploading Class permits files to be uploaded.  You can set various

 preferences, restricting the type and size of the files.</p>

 

 

@@ -110,7 +110,7 @@
 </body>

 </html></textarea>

 

-<p>You'll notice we are using a form helper to create the opening form tag.  File uploads require a multipart form, so the helper 

+<p>You'll notice we are using a form helper to create the opening form tag.  File uploads require a multipart form, so the helper

 creates the proper syntax for you.  You'll also notice we have an $error variable.  This is so we can show error messages in the event

 the user does something wrong.</p>

 

@@ -165,7 +165,7 @@
 	{

 		$this->load->library('upload');

 	

-		$config['upload_path'] = './uploads/'; 

+		$config['upload_path'] = './uploads/';

 		$config['allowed_types'] = 'gif|jpg|png';

 		$config['max_size']	= '100';

 		$config['max_width']  = '1024';

@@ -202,7 +202,7 @@
 

 <code>www.your-site.com/index.php/<var>upload</var>/</code>

 

-<p>You should see an upload form. Try uploading an image file (either a jpg, gif, or png). If the path in your 

+<p>You should see an upload form. Try uploading an image file (either a jpg, gif, or png). If the path in your

 controller is correct it should work.</p>

 

 

@@ -221,7 +221,7 @@
 

 <h2>Setting Preferences</h2>

 

-<p>Similar to other libraries, you'll control what is allowed to be upload based on your preferences.  In the controller you 

+<p>Similar to other libraries, you'll control what is allowed to be upload based on your preferences.  In the controller you

 built above you set the following preferences:</p>

 

 <code>$config['upload_path'] = './uploads/';<br />

@@ -323,7 +323,7 @@
 

 <h2>$this->upload->do_upload()</h2>

 

-<p>Performs the upload based on the preferences you've set.  Note:  By default the upload routine expects the file to come from a form field 

+<p>Performs the upload based on the preferences you've set.  Note:  By default the upload routine expects the file to come from a form field

 called <dfn>userfile</dfn>, and the form must be a "multipart type:</p>

 

 <code>&lt;form method="post" action="some_action" enctype="multipart/form-data" /></code>

@@ -347,7 +347,7 @@
 

 <h2>$this->upload->data()</h2>

 

-<p>This is a helper function that returns an array containing all of the data related to the file you uploaded. 

+<p>This is a helper function that returns an array containing all of the data related to the file you uploaded.

 Here is the array prototype:</p>

 

 <code>Array<br />

diff --git a/user_guide/libraries/image_lib.html b/user_guide/libraries/image_lib.html
index f2a7a55..c49cad3 100644
--- a/user_guide/libraries/image_lib.html
+++ b/user_guide/libraries/image_lib.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -75,9 +75,9 @@
 

 <p>All three major image libraries are supported:  GD/GD2, NetPBM, and ImageMagick</p>

 

-<p class="important"><strong>Note:</strong> Watermarking is only available using the GD/GD2 library. 

+<p class="important"><strong>Note:</strong> Watermarking is only available using the GD/GD2 library.

 In addition, even though other libraries are supported, GD is required in

-order for the script to calculate the image properties.  The image processing, however, will be performed with the 

+order for the script to calculate the image properties.  The image processing, however, will be performed with the

 library you specify.</p>

 

 

@@ -110,7 +110,7 @@
 

 <p>The above code tells the <dfn>image_resize</dfn> function to look for an image called <em>mypic.jpg</em>

 located in the <dfn>source_image</dfn> folder, then create a thumbnail that is 75 X 50 pixels using the GD2 <dfn>image_library</dfn>.

-Since the <dfn>maintain_ratio</dfn> option is enabled, the thumb will be as close to the target <dfn>width</dfn> and 

+Since the <dfn>maintain_ratio</dfn> option is enabled, the thumb will be as close to the target <dfn>width</dfn> and

 <dfn>height</dfn> as possible while preserving the original aspect ratio.  The thumbnail will be called <em>mypic_thumb.jpg</em>

 </p>

 

@@ -316,7 +316,7 @@
 

 <h2>$this->image_lib->resize()</h2>

 

-<p>The image resizing function lets you resize the original image, create a copy (with or without resizing), 

+<p>The image resizing function lets you resize the original image, create a copy (with or without resizing),

 or create a thumbnail image.</p>

 

 <p>For practical purposes there is no difference between creating a copy and creating

@@ -355,7 +355,7 @@
 

 <h2>$this->image_lib->crop()</h2>

 

-<p>The cropping function works nearly identically to the resizing function except it requires that you set 

+<p>The cropping function works nearly identically to the resizing function except it requires that you set

 preferences for the X and Y axis (in pixels) specifying where to crop, like this:</p>

 

 <code>$config['x_axis'] = '100';<br />

@@ -380,8 +380,8 @@
 }</code>

 

 

-<p>Note: Without a visual interface it is difficult to crop images, so this function is not very useful 

-unless you intend to build such an interface.  That's exactly what we did using for the photo 

+<p>Note: Without a visual interface it is difficult to crop images, so this function is not very useful

+unless you intend to build such an interface.  That's exactly what we did using for the photo

 gallery module in ExpressionEngine, the CMS we develop.  We added a JavaScript UI that lets the cropping

 area be selected.</p>

 

@@ -430,7 +430,7 @@
 

 <ul>

 <li><strong>Text</strong>: The watermark message will be generating using text, either with a True Type font that you specify, or

-using the native text output that the GD library supports. If you use the True Type version your GD installation 

+using the native text output that the GD library supports. If you use the True Type version your GD installation

 must be compiled with True Type support (most are, but not all).</li>

 

 <li><strong>Overlay</strong>: The watermark message will be generated by overlaying an image (usually a transparent PNG or GIF)

diff --git a/user_guide/libraries/input.html b/user_guide/libraries/input.html
index 0ae9566..e531988 100644
--- a/user_guide/libraries/input.html
+++ b/user_guide/libraries/input.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -107,7 +107,7 @@
 

 <code>$data = $this->input->xss_clean($data);</code>

 

-<p>If you want the filter to run automatically every time it encounters POST or COOKIE data you can enable it by opening your 

+<p>If you want the filter to run automatically every time it encounters POST or COOKIE data you can enable it by opening your

 <kbd>application/config/config.php</kbd> file and setting this:

 

 <code>$config['global_xss_filtering'] = TRUE;</code>

@@ -121,7 +121,7 @@
 

 <p>Code Igniter comes with three helper functions that let you fetch POST, COOKIE or SERVER items.  The main advantage of using the provided

 functions rather then fetching an item directly ($_POST['something']) is that the functions will check to see if the item is set and

-return false (boolean) if not.  This lets you conveniently use data without having to test whether an item exists first. 

+return false (boolean) if not.  This lets you conveniently use data without having to test whether an item exists first.

 In other words, normally you might do something like this:

 

 <code>

diff --git a/user_guide/libraries/language.html b/user_guide/libraries/language.html
index 1078653..c407001 100644
--- a/user_guide/libraries/language.html
+++ b/user_guide/libraries/language.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -70,7 +70,7 @@
 

 <p>Language files are typically stored in your <dfn>system/language</dfn> directory.  Alternately you can create a folder called <kbd>language</kbd> inside

 your <kbd>application</kbd> folder and store them there.  Code Igniter will look first in your <dfn>system/application/language</dfn>

-directory.  If the directory does not exist or the specified language is not located there CI will instead look in your global 

+directory.  If the directory does not exist or the specified language is not located there CI will instead look in your global

 <dfn>system/language</dfn> folder.</p>

 

 <p class="important"><strong>Note:</strong>&nbsp; Each language should be stored in its own folder.  For example, the English files are located at:

@@ -87,7 +87,7 @@
 

 <code>$lang['language_key'] = "The actual message to be shown";</code>

 

-<p><strong>Note:</strong> It's a good practice to use a common prefix for all messages in a given file to avoid collisions with 

+<p><strong>Note:</strong> It's a good practice to use a common prefix for all messages in a given file to avoid collisions with

 similarly named items in other files.  For example, if you are creating error messages you might prefix them with <var>error_</var></p>

 

 <code>$lang['<var>error</var>_email_missing'] = "You must submit an email address";<br />

diff --git a/user_guide/libraries/loader.html b/user_guide/libraries/loader.html
index 32bbddf..d213597 100644
--- a/user_guide/libraries/loader.html
+++ b/user_guide/libraries/loader.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,7 +63,7 @@
 

 <h1>Loader Class</h1>

 

-<p>Loader, as the name suggests, is used to load elements.  These elements can be libraries (classes) <a href="../general/views.html">View files</a>, 

+<p>Loader, as the name suggests, is used to load elements.  These elements can be libraries (classes) <a href="../general/views.html">View files</a>,

 <a href="../general/helpers.html">Helpers</a>, <a href="../general/plugins.html">Plugins</a>, or your own files.</p>

 

 <p class="important"><strong>Note:</strong> This class is initialized automatically by the system so there is no need to do it manually.</p>

@@ -74,7 +74,7 @@
 

 <h2>$this->load->library('<var>class_name</var>')</h2>

 

-<p>This function is used to load core classes.  Where <var>class_name</var> is the name of the class you want to load. 

+<p>This function is used to load core classes.  Where <var>class_name</var> is the name of the class you want to load.

 Note: We use the terms "class" and "library" interchangeably.</p>

 

 <p>For example, if you would like to send email with Code Igniter, the first step is to load the email class within your controller:</p>

@@ -85,7 +85,7 @@
 

 Each library is described in detail in its own page, so please read the information regarding each one you would like to use.</p>

 

-<p>Parameters can be passed to the library via an array in the second parameter. 

+<p>Parameters can be passed to the library via an array in the second parameter.

 

 

 

@@ -107,7 +107,7 @@
 <p>The first parameter is required.  It is the name of the view file you would like to load.</p>

 

 <p>The second <strong>optional</strong> parameter can take

-an associative array or an object as input, which it runs through the PHP <a href="http://www.php.net/extract">extract</a> function to 

+an associative array or an object as input, which it runs through the PHP <a href="http://www.php.net/extract">extract</a> function to

 convert to variables that can be used in your view files.  Again, read the <a href="../general/views.html">Views</a> page to learn

 how this might be useful.</p>

 

@@ -121,13 +121,13 @@
 

 <h2>$this->load->database('<var>options</var>', <kbd>true/false</kbd>)</h2>

 

-<p>This function lets you load the database class.  The two parameters are <strong>optional</strong>.  Please see the 

+<p>This function lets you load the database class.  The two parameters are <strong>optional</strong>.  Please see the

 <a href="./database/index.html">database</a> section for more info.</p>

 

 

 <h2>$this->load->scaffolding('<var>table_name</var>')</h2>

 

-<p>This function lets you enable scaffolding.  Please see the 

+<p>This function lets you enable scaffolding.  Please see the

 <a href="../general/scaffolding.html">scaffolding</a> section for more info.</p>

 

 

@@ -135,9 +135,9 @@
 <h2>$this->load->vars(<samp>$array</samp>)</h2>

 

 <p>This function takes an associative array as input and generates variables using the PHP <a href="http://www.php.net/extract">extract</a> function.

-This function produces the same result as using the second parameter of the <dfn>$this->load->view()</dfn> function above.  The reason you might 

-want to use this function independently is if you would like to set some global variables in the constructor of your controller 

-and have them become available in any view file loaded from any function.  You can have multiple calls to this function.  The data get cached 

+This function produces the same result as using the second parameter of the <dfn>$this->load->view()</dfn> function above.  The reason you might

+want to use this function independently is if you would like to set some global variables in the constructor of your controller

+and have them become available in any view file loaded from any function.  You can have multiple calls to this function.  The data get cached

 and merged into one array for conversion to variables.

 </p>

 

@@ -150,7 +150,7 @@
 <p>This function loads plugins files, where <var>file_name</var> is the name of the file, without the <kbd>_plugin.php</kbd> extension.</p>

 

 <h2>$this->load->file('<var>filepath/filename</var>', <kbd>true/false</kbd>)</h2>

-<p>This is a generic file loading function.  Supply the filepath and name in the first parameter and it will open and read the file. 

+<p>This is a generic file loading function.  Supply the filepath and name in the first parameter and it will open and read the file.

 By default the data is sent to your browser, just like a View file, but if you set the second parameter to <kbd>true</kbd> (boolean)

 it will instead return the data as a string.</p>

 

diff --git a/user_guide/libraries/output.html b/user_guide/libraries/output.html
index dd3ce42..1fd3554 100644
--- a/user_guide/libraries/output.html
+++ b/user_guide/libraries/output.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -68,9 +68,9 @@
 

 <p class="important"><strong>Note:</strong> This class is initialized automatically by the system so there is no need to do it manually.</p>

 

-<p>Under normal circumstances you won't even notice the Output class since it works transparently without your intervention.  

+<p>Under normal circumstances you won't even notice the Output class since it works transparently without your intervention.

 For example, when you use the <a href="../libraries/loader.html">Loader</a> class to load a view file, it's automatically

-passed to the Output class, which will be called automatically by Code Igniter at the end of system execution. 

+passed to the Output class, which will be called automatically by Code Igniter at the end of system execution.

 It is possible, however, for you to manually intervene with the output if you need to, using either of the two following functions:</p>

 

 <h2>$this->output->set_output();</h2>

diff --git a/user_guide/libraries/pagination.html b/user_guide/libraries/pagination.html
index 317878a..b641e24 100644
--- a/user_guide/libraries/pagination.html
+++ b/user_guide/libraries/pagination.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -86,7 +86,7 @@
 

 <h3>Notes:</h3>

 

-<p>The <var>$config</var> array contains your configuration variables.  It is passed to the <dfn>$this->pagination->initialize</dfn> function as shown above.  Although there are some twenty items you can configure, at 

+<p>The <var>$config</var> array contains your configuration variables.  It is passed to the <dfn>$this->pagination->initialize</dfn> function as shown above.  Although there are some twenty items you can configure, at

 minimum you need the three shown.  Here is a description of what those items represent:</p>

 

 <ul>

@@ -122,7 +122,7 @@
 

 <h4>$config['num_links'] = 2;</h4>

 

-<p>The number of "digit" links you would like before and after the selected page number. For example, the number 2 

+<p>The number of "digit" links you would like before and after the selected page number. For example, the number 2

 will place two digits on either side, as in the example links at the very top of this page.</p>

 

 <h2>Adding Enclosing Markup</h2>

diff --git a/user_guide/libraries/parser.html b/user_guide/libraries/parser.html
index 091817e..febeaa5 100644
--- a/user_guide/libraries/parser.html
+++ b/user_guide/libraries/parser.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -88,7 +88,7 @@
 PHP from your templates (view files).</p>

 

 <p class="important"><strong>Note:</strong> Code Igniter does <strong>not</strong> require you to use this class

-since using pure PHP in your view pages lets them run a little faster.  However, some developers prefer to use a template engine if 

+since using pure PHP in your view pages lets them run a little faster.  However, some developers prefer to use a template engine if

 they work with designers who they feel would find some confusion working with PHP.</p>

 

 <p><strong>Also Note:</strong> The Template Parser Class is <strong>not</strong> not a

@@ -125,7 +125,7 @@
 template would contain two variables: {blog_title} and {blog_heading}</p>

 

 <p>There is no need to "echo" or do something with the data returned by <dfn>$this->parser->parse()</dfn>.  It is automatically

-passed to the output class to be sent to the browser.  However, if you do want the data returned instead of sent to the output class you can 

+passed to the output class to be sent to the browser.  However, if you do want the data returned instead of sent to the output class you can

 pass TRUE (boolean) to the third parameter:</p>

 

 <code>$string = $this->parser->parse('blog_template', $data, TRUE);</code>

@@ -156,7 +156,7 @@
 In a case like this, the entire chunk of data between these pairs would be repeated multiple times, corresponding

 to the number of rows in a result.</p>

 

-<p>Parsing variable pairs is done using the identical code shown above to parse single variables,  

+<p>Parsing variable pairs is done using the identical code shown above to parse single variables,

 except, you will add a multi-dimensional array corresponding to your variable pair data.

 Consider this example:</p>

 

diff --git a/user_guide/libraries/sessions.html b/user_guide/libraries/sessions.html
index e9302d2..5b9d20f 100644
--- a/user_guide/libraries/sessions.html
+++ b/user_guide/libraries/sessions.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,9 +63,9 @@
 

 <h1>Session Class</h1>

 

-<p>The Session class permits you maintain a user's "state" and track their activity while they browse your site. 

-The Session class stores session information for each user as serialized (and optionally encrypted) data in a cookie. 

-It can also store the session data in a database table for added security, as this permits the session ID in the 

+<p>The Session class permits you maintain a user's "state" and track their activity while they browse your site.

+The Session class stores session information for each user as serialized (and optionally encrypted) data in a cookie.

+It can also store the session data in a database table for added security, as this permits the session ID in the

 user's cookie to be matched against the stored session ID. By default only the cookie is saved.  If you choose to

 use the database option you'll need to create the session table as indicated below.

 </p>

@@ -75,7 +75,7 @@
 

 <h2>Initializing a Session</h2>

 

-<p>Sessions will typically run globally with each page load, so the session class must either be 

+<p>Sessions will typically run globally with each page load, so the session class must either be

 <a href="../general/libraries.html">initialized</a> in your

 <a href="../general/controllers.html">controller</a> constructors, or it can be

 <a href="../general/autoloader.html">auto-loaded</a> by the system.

@@ -91,8 +91,8 @@
 

 <h2>How do Sessions work?</h2>

 

-<p>When a page is loaded, the session class will check to see if valid session data exists in the user's session cookie. 

-If sessions data does <strong>not</strong> exist (or if it has expired) a new session will be created and saved in the cookie. 

+<p>When a page is loaded, the session class will check to see if valid session data exists in the user's session cookie.

+If sessions data does <strong>not</strong> exist (or if it has expired) a new session will be created and saved in the cookie.

 If a session does exist, its information will be updated and the cookie will be updated.</p>

 

 <p>It's important for you to understand that once initialized, the Session class runs automatically.  There is nothing

@@ -137,7 +137,7 @@
 

 <code>$this->session->userdata('<samp>item</samp>');</code>

 

-<p>Where <samp>item</samp> is the array index corresponding to the item you wish to fetch.  For example, to fetch the session ID you 

+<p>Where <samp>item</samp> is the array index corresponding to the item you wish to fetch.  For example, to fetch the session ID you

 will do this:</p>

 

 <code>$session_id = $this->session->userdata('<samp>session_id</samp>');</code>

@@ -176,13 +176,13 @@
 

 <p>While the session data array stored in the user's cookie contains a Session ID,

 unless you store session data in a database there is no way to validate it.  For some applications that require little or no

-security, session ID validation may not be needed, but if your application requires security, validation is mandatory.</p> 

+security, session ID validation may not be needed, but if your application requires security, validation is mandatory.</p>

 

 <p>When session data is available in a database, every time a valid session is found in the user's cookie, a database

 query is performed to match it.  If the session ID does not match, the session is destroyed.  Session IDs can never

 be updated, they can only be generated when a new session is created.</p>

 

-<p>In order to store sessions, you must first create a database table for this purpose.  Here is the basic 

+<p>In order to store sessions, you must first create a database table for this purpose.  Here is the basic

 prototype (for MySQL) required by the session class:</p>

 

 <textarea class="textarea" style="width:100%" cols="50" rows="8">

@@ -232,7 +232,7 @@
 <td class="td"><strong>sess_expiration</strong></td>

 <td class="td">7200</td>

 <td class="td">None</td>

-<td class="td">The number of seconds you would like the session to last. The default value is 2 hours (7200 seconds). 

+<td class="td">The number of seconds you would like the session to last. The default value is 2 hours (7200 seconds).

 If you would like a non-expiring session set the value to zero: 0</td>

 

 

diff --git a/user_guide/libraries/table.html b/user_guide/libraries/table.html
index 10bb4b3..d41cc88 100644
--- a/user_guide/libraries/table.html
+++ b/user_guide/libraries/table.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -75,8 +75,8 @@
 

 <h2>Examples</h2>

 

-<p>Here is an example showing how you can create a table from a multi-dimensional array. 

-Note that the first array index will become the table heading (or you can set your own headings using the 

+<p>Here is an example showing how you can create a table from a multi-dimensional array.

+Note that the first array index will become the table heading (or you can set your own headings using the

 <dfn>set_heading()</dfn> function described in the function reference below).</p>

 

 <code>

@@ -92,7 +92,7 @@
 echo $this->table->generate($data);		

 </code>

 

-<p>Here is an example of a table created from a database query result. The table class will automatically generate the 

+<p>Here is an example of a table created from a database query result. The table class will automatically generate the

 headings based on the table names (or you can set your own headings using the <dfn>set_heading()</dfn> function described

 in the function reference below).</p>

 

@@ -165,7 +165,7 @@
 $this->table->set_template($tmpl);

 </code>

 

-<p class="important"><strong>Note:</strong>&nbsp; You'll notice there are two sets of "row" blocks in the template.  These permit you to create alternating row colors or design elements that alternate with each 

+<p class="important"><strong>Note:</strong>&nbsp; You'll notice there are two sets of "row" blocks in the template.  These permit you to create alternating row colors or design elements that alternate with each

 iteration of the row data.</p>

 

 <p>You are NOT required to submit a complete template.  If you only need to change parts of the layout you can simply submit those elements.

diff --git a/user_guide/libraries/trackback.html b/user_guide/libraries/trackback.html
index ff71ea9..d3357be 100644
--- a/user_guide/libraries/trackback.html
+++ b/user_guide/libraries/trackback.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -123,7 +123,7 @@
 <p>Receiving Trackbacks is a little more complex than sending them, only because you will need a database table in which to store them,

 and you will need to validate the incoming trackback data.  You are encouraged to implement a thorough validation process to

 guard against spam and duplicate data.  You may also want to limit the number of Trackbacks you allow from a particular IP within

-a given span of time to further curtail spam.  The process of receiving a Trackback is quite simple; 

+a given span of time to further curtail spam.  The process of receiving a Trackback is quite simple;

 the validation is what takes most of the effort.</p>

 

 <h2>Your Ping URL</h2>

@@ -132,7 +132,7 @@
 that people will use to send you Trackbacks (we will refer to this as your "Ping URL").</p>

 

 <p>Your Ping URL must point to a controller function where your Trackback receiving code is located, and the URL

-must contain the ID number for each particular entry, so that when the Trackback is received you'll be 

+must contain the ID number for each particular entry, so that when the Trackback is received you'll be

 able to associate it with a particular entry.</p>

 

 <p>For example, if your controller class is called <dfn>Trackback</dfn>, and the receiving function is called <dfn>receive</dfn>, your

diff --git a/user_guide/libraries/unit_testing.html b/user_guide/libraries/unit_testing.html
index f0b3782..02229e5 100644
--- a/user_guide/libraries/unit_testing.html
+++ b/user_guide/libraries/unit_testing.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,8 +66,8 @@
 <p>Unit testing is an approach to software development in which tests are written for each function in your application.

 If you are not familiar with the concept you might do a little googling on the subject.</p>

 

-<p>Code Igniter's Unit Test class is quite simple, consisting of an evaluation function and two result functions. 

-It's not intended to be a full-blown test suite but rather a simple mechanism to evaluate your code 

+<p>Code Igniter's Unit Test class is quite simple, consisting of an evaluation function and two result functions.

+It's not intended to be a full-blown test suite but rather a simple mechanism to evaluate your code

 to determine if it is producing the correct data type and result.

 </p>

 

@@ -86,7 +86,7 @@
 

 <h2>$this->unit->run( <var>test</var>, <var>expected result</var>, '<var>test name</var>' );</h2>

 

-<p>Where <var>test</var> is the result of the code you wish to test, 

+<p>Where <var>test</var> is the result of the code you wish to test,

 <var>expected result</var> is the data type you expect, and <var>test name</var> is an optional name you can give your test. Example:</p>

 

 <code>$test = 1 + 1;<br />

@@ -105,7 +105,7 @@
 

 <code>$this->unit->run('Foo', 'is_string');</code>

 

-<p>Notice the use of "is_string" in the second parameter?  This tells the function to evaluate whether your test is producing a string 

+<p>Notice the use of "is_string" in the second parameter?  This tells the function to evaluate whether your test is producing a string

 as the result.  Here is a list of allowed comparison types:</p>

 

 <ul>

@@ -124,7 +124,7 @@
 

 <h2>Generating Reports</h2>

 

-<p>You can either display results after each test, or your can run several tests and generate a report at the end. 

+<p>You can either display results after each test, or your can run several tests and generate a report at the end.

 To show a report directly simply echo or return the <var>run</var> function:</p>

 

 <code>echo $this->unit->run($test, $expected_result);</code>

diff --git a/user_guide/libraries/uri.html b/user_guide/libraries/uri.html
index 9218c0d..367e1b7 100644
--- a/user_guide/libraries/uri.html
+++ b/user_guide/libraries/uri.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -70,7 +70,7 @@
 

 <h2>$this->uri->segment(<var>n</var>)</h2>

 

-<p>Permits you to retrieve a specific segment. Where <var>n</var> is the segment number you wish to retrieve.  

+<p>Permits you to retrieve a specific segment. Where <var>n</var> is the segment number you wish to retrieve.

 Segments are numbered from left to right. For example, if your full URL is this:</p>

 

 <code>http://www.your-site.com/index.php/news/local/metro/crime_is_up</code>

@@ -84,7 +84,7 @@
 <li>crime_is_up</li>

 </ol>

 

-<p>By default the function returns FALSE (boolean) if the segment does not exist. There is an optional second parameter that 

+<p>By default the function returns FALSE (boolean) if the segment does not exist. There is an optional second parameter that

 permits you to set your own default value if the segment is missing.

 For example, this would tell the function to return the number zero in the event of failure:</p>

 

diff --git a/user_guide/libraries/user_agent.html b/user_guide/libraries/user_agent.html
index 6028f79..8640320 100644
--- a/user_guide/libraries/user_agent.html
+++ b/user_guide/libraries/user_agent.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -126,7 +126,7 @@
 <p>Returns TRUE/FALSE (boolean) if the user agent is a known robot.</p>

 

 <p class="important"><strong>Note:</strong>&nbsp; The user agent library only contains the most common robot

-definitions.  It is not a complete list of bots. There are hundreds of them so searching for each one would not be 

+definitions.  It is not a complete list of bots. There are hundreds of them so searching for each one would not be

 very efficient. If you find that some bots that commonly visit your site are missing from the list you can add them to your

 <dfn>application/config/user_agents.php</dfn> file.</p>

 

diff --git a/user_guide/libraries/validation.html b/user_guide/libraries/validation.html
index 0a4905a..aaf416d 100644
--- a/user_guide/libraries/validation.html
+++ b/user_guide/libraries/validation.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -75,8 +75,8 @@
 

 <ol>

 <li>Check for required data.</li>

-<li>Verify that the data is of the correct type, and meets the correct criteria. (For example, if a username is submitted 

-it must be validated to contain only permitted characters.  It must be of a minimum length, 

+<li>Verify that the data is of the correct type, and meets the correct criteria. (For example, if a username is submitted

+it must be validated to contain only permitted characters.  It must be of a minimum length,

 and not exceed a maximum length. The username can't be someone else's existing username, or perhaps even a reserved word. Etc.)

 <li>Sanitize the data for security.</li>

 <li>Pre-format the data if needed (Does the data need to be trimmed?  HTML encoded?  Etc.)</li>

@@ -195,7 +195,7 @@
 

 <code>www.your-site.com/index.php/<var>form</var>/</code>

 

-<p><strong>If you submit the form you should simply see the form reload.  That's because you haven't set up any validation 

+<p><strong>If you submit the form you should simply see the form reload.  That's because you haven't set up any validation

 rules yet, which we'll get to in a moment.</strong></p>

 

 

@@ -219,8 +219,8 @@
 </ol>

 

 <p>The <dfn>controller</dfn> (form.php) has one function: <dfn>index()</dfn>. This function initializes the validation class and

-loads the <var>form helper</var> and <var>URL helper</var> used by your view files. It also <samp>runs</samp> 

-the validation routine. Based on 

+loads the <var>form helper</var> and <var>URL helper</var> used by your view files. It also <samp>runs</samp>

+the validation routine. Based on

 whether the validation was successful it either presents the form or the success page.</p>

 

 <p><strong>Since you haven't told the validation class to validate anything yet, it returns "false" (boolean false) by default.  The <samp>run()</samp>

@@ -313,7 +313,7 @@
 

 <h2>Prepping Data</h2>

 

-<p>In addition to the validation functions like the ones we used above, you can also prep your data in various ways.  

+<p>In addition to the validation functions like the ones we used above, you can also prep your data in various ways.

 For example, you can set up rules like this:

 

 <code>$rules['username']	= "<kbd>trim</kbd>|required|min_length[5]|max_length[12]|<kbd>xss_clean</kbd>";<br />

@@ -391,17 +391,17 @@
 

 <p><strong>To invoke a callback just put the function name in a rule, with "callback_" as the rule prefix.</strong></p>

 

-<p>The error message was set using the <dfn>$this->validation->set_message</dfn> function. 

+<p>The error message was set using the <dfn>$this->validation->set_message</dfn> function.

 Just remember that the message key (the first parameter) must match your function name.</p>

 

-<p class="important"><strong>Note:</strong> You can apply your own custom error messages to any rule, just by setting the 

+<p class="important"><strong>Note:</strong> You can apply your own custom error messages to any rule, just by setting the

 message similarly. For example, to change the message for the "required" rule you will do this:</p>

 

 <code>$this->validation->set_message('required', 'Your custom message here');</code>

 

 <h2>Re-populating the form</h2>

 

-<p>Thus far we have only been dealing with errors.  It's time to repopulate the form field with the submitted data. 

+<p>Thus far we have only been dealing with errors.  It's time to repopulate the form field with the submitted data.

 This is done similarly to your rules.  Add the following code to your controller, just below your rules:</p>

 

 <code>$fields['username'] = 'Username';<br />

@@ -411,7 +411,7 @@
 <br />

 $this->validation->set_fields($fields);</code>

 

-<p>The array keys are the actual names of the form fields, the value represents the full name that you want shown in the 

+<p>The array keys are the actual names of the form fields, the value represents the full name that you want shown in the

 error message.</p>

 

 <p>The index function of your controller should now look like this:</p>

@@ -512,7 +512,7 @@
 have set (&lt;p> tags by default).</p>

 

 <p class="important"><strong>Note: </strong>To display errors this way you must remember to set your fields using the <kbd>$this->validation->set_fields</kbd>

-function described earlier. The errors will be turned into variables that have "_error" after your field name. 

+function described earlier. The errors will be turned into variables that have "_error" after your field name.

 For example, your "username" error will be available at:<br /><dfn>$this->validation->username_error</dfn>.</p>

 

 

@@ -666,7 +666,7 @@
 

 <h2>Dealing with Select Menus, Radio Buttons, and Checkboxes</h2>

 

-<p>If you use select menus, radio buttons or checkboxes, you will want the state of 

+<p>If you use select menus, radio buttons or checkboxes, you will want the state of

 these items to be retained in the event of an error.  The Validation class has three functions that help you do this:</p>

 

 <h2>set_select()</h2>

diff --git a/user_guide/libraries/xmlrpc.html b/user_guide/libraries/xmlrpc.html
index 7cd00a2..d768659 100644
--- a/user_guide/libraries/xmlrpc.html
+++ b/user_guide/libraries/xmlrpc.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -64,18 +64,18 @@
 <h1>XML-RPC and XML-RPC Server Classes</h1>

 

 

-<p>Code Igniter's XML-RPC classes permit you to send requests to another server, or set up 

+<p>Code Igniter's XML-RPC classes permit you to send requests to another server, or set up

 your own XML-RPC server to receive requests.</p>

 

 

 <h2>What is XML-RPC?</h2>

 

-<p>Quite simply it is a way for two computers to communicate over the internet using XML.  

-One computer, which we will call the <dfn>client</dfn>, sends an XML-RPC <strong>request</strong> to 

+<p>Quite simply it is a way for two computers to communicate over the internet using XML.

+One computer, which we will call the <dfn>client</dfn>, sends an XML-RPC <strong>request</strong> to

 another computer, which we will call the <dfn>server</dfn>.  Once the server receives and processes the request it

 will send back a <strong>response</strong> to the client.</p>

 

-<p>For example, using the MetaWeblog API, an XML-RPC Client (usually a desktop publishing tool) will 

+<p>For example, using the MetaWeblog API, an XML-RPC Client (usually a desktop publishing tool) will

 send a request to an XML-RPC Server running on your site.  This request might be a new weblog entry

 being sent for publication, or it could be a request for an existing entry for editing.

 

@@ -141,12 +141,12 @@
 

 <h2>Anatomy of a Request</h2>

 

-<p>An XML-RPC <dfn>request</dfn> is simply the data you are sending to the XML-RPC server.  Each piece of data in a request 

-is referred to as a <dfn>request parameter</dfn>.  The above example has two parameters: 

+<p>An XML-RPC <dfn>request</dfn> is simply the data you are sending to the XML-RPC server.  Each piece of data in a request

+is referred to as a <dfn>request parameter</dfn>.  The above example has two parameters:

 The URL and title of your site. When the XML-RPC server receives your request, it will look for parameters it requires.</p>

 

 <p>Request parameters must be placed into an array for transportation, and each parameter can be one

-of seven data types (strings, numbers, dates, etc.). If your parameters are something other than strings 

+of seven data types (strings, numbers, dates, etc.). If your parameters are something other than strings

 you will have to include the data type in the request array.</p>

 

 <p>Here is an example of a simple array with three parameters:</p>

@@ -173,10 +173,10 @@
 

 <h2>Creating an XML-RPC Server</h2>

 

-<p>An XML-RPC Server acts as a traffic cop of sorts, waiting for incoming requests and redirecting them to the 

+<p>An XML-RPC Server acts as a traffic cop of sorts, waiting for incoming requests and redirecting them to the

 appropriate functions for processing.</p>

 

-<p>To create your own XML-RPC server involves initializing the XML-RPC Server class in your controller where you expect the incoming 

+<p>To create your own XML-RPC server involves initializing the XML-RPC Server class in your controller where you expect the incoming

 request to appear, then setting up an array with mapping instructions so that incoming requests can be sent to the appropriate

 class and method for processing.</p>

 

@@ -192,15 +192,15 @@
 $this->xmlrpcs->initialize($config);<br />

 $this->xmlrpcs->serve();</code>

 

-<p>The above example contains an array specifying two method requests that the Server allows.  

+<p>The above example contains an array specifying two method requests that the Server allows.

 The allowed methods are on the left side of the array. When either of those are received, they will be mapped to the class and method on the right.

 

-<p>In other words, if an XML-RPC Client sends a request for the <var>new_post</var> method, your 

+<p>In other words, if an XML-RPC Client sends a request for the <var>new_post</var> method, your

 server will load the <dfn>My_blog</dfn> class and call the <dfn>new_entry</dfn> function.

-If the request is for the <var>update_post</var> method, your 

+If the request is for the <var>update_post</var> method, your

 server will load the <dfn>My_blog</dfn> class and call the <dfn>update_entry</dfn> function.</p>

 

-<p>The function names in the above example are arbitrary.  You'll decide what they should be called on your server, 

+<p>The function names in the above example are arbitrary.  You'll decide what they should be called on your server,

 or if you are using standardized APIs, like the Blogger or MetaWeblog API, you'll use their function names.</p>

 

 

@@ -225,7 +225,7 @@
 Using this object you will have access to the <em>request parameters</em> enabling you to process the request.  When

 you are done you will send a <dfn>Response</dfn> back to the Client.<p>

 

-<p>Below is a real-world example, using the Blogger API.  One of the methods in the Blogger API is <dfn>getUserInfo()</dfn>.  

+<p>Below is a real-world example, using the Blogger API.  One of the methods in the Blogger API is <dfn>getUserInfo()</dfn>.

 Using this method, an XML-RPC Client can send the Server a username and password, in return the Server sends

 back information about that particular user (nickname, user ID, email address, etc.).  Here is how the processing

 function might look:</p>

@@ -279,7 +279,7 @@
 

 <code>$request = array('Response data',  'array');</code>

 

-<p>Responses, however, usually contain multiple pieces of information. In order to accomplish this we must put the response into its own 

+<p>Responses, however, usually contain multiple pieces of information. In order to accomplish this we must put the response into its own

 array so that the primary array continues to contain a single piece of data.  Here's an example showing how this might be accomplished:</p>

 

 <code>

@@ -314,12 +314,12 @@
 

 <h2>Creating Your Own Client and Server</h2>

 

-<p>To help you understand everything we've covered thus far, let's create a couple controllers that act as 

+<p>To help you understand everything we've covered thus far, let's create a couple controllers that act as

 XML-RPC Client and Server.  You'll use the Client to send a request to the Server and receive a response.</p>

 

 <h3>The Client</h3>

 

-<p>Using a text editor, create a controller called <dfn>xmlrpc_client.php</dfn>.  

+<p>Using a text editor, create a controller called <dfn>xmlrpc_client.php</dfn>.

 In it, place this code and save it to your <samp>applications/controllers/</samp> folder:</p>

 

 <textarea class="textarea" style="width:100%" cols="50" rows="32"><?php

@@ -357,7 +357,7 @@
 

 <h3>The Server</h3>

 

-<p>Using a text editor, create a controller called <dfn>xmlrpc_server.php</dfn>.  

+<p>Using a text editor, create a controller called <dfn>xmlrpc_server.php</dfn>.

 In it, place this code and save it to your <samp>applications/controllers/</samp> folder:</p>

 

 <textarea class="textarea" style="width:100%" cols="50" rows="30"><?php

@@ -386,7 +386,7 @@
 									'you_said'  => $parameters['0'],

 									'i_respond' => 'Not bad at all.'),

 							'struct');

-						 

+						

 		return $this->xmlrpc->send_response($response);

 	}

 }

@@ -442,7 +442,7 @@
 <code>$this->xmlrpc->display_response();</code>

 

 <h2>$this->xmlrpc->send_error_message()</h2>

-<p>This function lets you send an error message from your server to the client. First parameter is the error number while the second parameter 

+<p>This function lets you send an error message from your server to the client. First parameter is the error number while the second parameter

 is the error message.</p>

 <code>return $this->xmlrpc->send_error_message('123', 'Requested data not available');</code>

 

diff --git a/user_guide/libraries/zip.html b/user_guide/libraries/zip.html
index c03b54f..6f0a38f 100644
--- a/user_guide/libraries/zip.html
+++ b/user_guide/libraries/zip.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -62,7 +62,7 @@
 

 

 <h1>Zip Encoding Class</h1>

-<p>Code Igniter's Zip Encoding Class classes permit you to create Zip archives. Archives can be downloaded to your 

+<p>Code Igniter's Zip Encoding Class classes permit you to create Zip archives. Archives can be downloaded to your

 desktop or saved to a directory.</p>

 

 

@@ -116,7 +116,7 @@
 </code>

 

 

-<p>You are allowed to have multiple calls to this function in order to 

+<p>You are allowed to have multiple calls to this function in order to

 add several files to your archive.  Example:</p>

 

 <code>

diff --git a/user_guide/license.html b/user_guide/license.html
index 681ebba..b668ac7 100644
--- a/user_guide/license.html
+++ b/user_guide/license.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -65,7 +65,7 @@
 

 <h1>Code Igniter License Agreement</h1>

 

-<p>Copyright (c) 2006, pMachine, Inc.<br /> 

+<p>Copyright (c) 2006, pMachine, Inc.<br />

 All rights reserved.</p>

 

 <p>This license is a legal agreement between you and pMachine Inc. for the use of Code Igniter Software (the "Software").  By obtaining the Software you agree to comply with the terms and conditions of this license.</p>

diff --git a/user_guide/nav/moo.fx.pack.js b/user_guide/nav/moo.fx.pack.js
index 8b42283..b5c360c 100755
--- a/user_guide/nav/moo.fx.pack.js
+++ b/user_guide/nav/moo.fx.pack.js
@@ -24,7 +24,7 @@
 fx.Resize = Class.create();

 fx.Resize.prototype = {

 	initialize: function(el, options) {

-		this.h = new fx.Height(el, options); 

+		this.h = new fx.Height(el, options);

 		if (options) options.onComplete = null;

 		this.w = new fx.Width(el, options);

 		this.el = $(el);

@@ -93,8 +93,8 @@
 

 	getElementsFromArray: function(array) {

 		var elements = new Array();

-		for (i=0;i<array.length;i++) { 

-			elements.push($(array[i])); 

+		for (i=0;i<array.length;i++) {

+			elements.push($(array[i]));

 		}

 		return elements;

 	}

diff --git a/user_guide/nav/prototype.lite.js b/user_guide/nav/prototype.lite.js
index f1520e2..e6c3622 100755
--- a/user_guide/nav/prototype.lite.js
+++ b/user_guide/nav/prototype.lite.js
@@ -12,15 +12,15 @@
 
 var Class = {
   create: function() {
-    return function() { 
-      this.initialize.apply(this, arguments);
-    }
+	return function() {
+	  this.initialize.apply(this, arguments);
+	}
   }
 }
 
 Object.extend = function(destination, source) {
   for (property in source) {
-    destination[property] = source[property];
+	destination[property] = source[property];
   }
   return destination;
 }
@@ -28,7 +28,7 @@
 Function.prototype.bind = function(object) {
   var __method = this;
   return function() {
-    return __method.apply(object, arguments);
+	return __method.apply(object, arguments);
   }
 }
 
@@ -36,14 +36,14 @@
   var elements = new Array();
 
   for (var i = 0; i < arguments.length; i++) {
-    var element = arguments[i];
-    if (typeof element == 'string')
-      element = document.getElementById(element);
+	var element = arguments[i];
+	if (typeof element == 'string')
+	  element = document.getElementById(element);
 
-    if (arguments.length == 1) 
-      return element;
+	if (arguments.length == 1)
+	  return element;
 
-    elements.push(element);
+	elements.push(element);
   }
 
   return elements;
@@ -54,18 +54,18 @@
 document.getElementsByClassName = function(className) {
   var children = document.getElementsByTagName('*') || document.all;
   var elements = new Array();
-  
+
   for (var i = 0; i < children.length; i++) {
-    var child = children[i];
-    var classNames = child.className.split(' ');
-    for (var j = 0; j < classNames.length; j++) {
-      if (classNames[j] == className) {
-        elements.push(child);
-        break;
-      }
-    }
+	var child = children[i];
+	var classNames = child.className.split(' ');
+	for (var j = 0; j < classNames.length; j++) {
+	  if (classNames[j] == className) {
+		elements.push(child);
+		break;
+	  }
+	}
   }
-  
+
   return elements;
 }
 
@@ -77,51 +77,51 @@
 
 Object.extend(Element, {
   remove: function(element) {
-    element = $(element);
-    element.parentNode.removeChild(element);
+	element = $(element);
+	element.parentNode.removeChild(element);
   },
 
   hasClassName: function(element, className) {
-    element = $(element);
-    if (!element)
-      return;
-    var a = element.className.split(' ');
-    for (var i = 0; i < a.length; i++) {
-      if (a[i] == className)
-        return true;
-    }
-    return false;
+	element = $(element);
+	if (!element)
+	  return;
+	var a = element.className.split(' ');
+	for (var i = 0; i < a.length; i++) {
+	  if (a[i] == className)
+		return true;
+	}
+	return false;
   },
 
   addClassName: function(element, className) {
-    element = $(element);
-    Element.removeClassName(element, className);
-    element.className += ' ' + className;
+	element = $(element);
+	Element.removeClassName(element, className);
+	element.className += ' ' + className;
   },
-  
+
   removeClassName: function(element, className) {
-    element = $(element);
-    if (!element)
-      return;
-    var newClassName = '';
-    var a = element.className.split(' ');
-    for (var i = 0; i < a.length; i++) {
-      if (a[i] != className) {
-        if (i > 0)
-          newClassName += ' ';
-        newClassName += a[i];
-      }
-    }
-    element.className = newClassName;
+	element = $(element);
+	if (!element)
+	  return;
+	var newClassName = '';
+	var a = element.className.split(' ');
+	for (var i = 0; i < a.length; i++) {
+	  if (a[i] != className) {
+		if (i > 0)
+		  newClassName += ' ';
+		newClassName += a[i];
+	  }
+	}
+	element.className = newClassName;
   },
-  
+
   // removes whitespace-only text node children
   cleanWhitespace: function(element) {
-    element = $(element);
-    for (var i = 0; i < element.childNodes.length; i++) {
-      var node = element.childNodes[i];
-      if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) 
-        Element.remove(node);
-    }
+	element = $(element);
+	for (var i = 0; i < element.childNodes.length; i++) {
+	  var node = element.childNodes[i];
+	  if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
+		Element.remove(node);
+	}
   }
 });
\ No newline at end of file
diff --git a/user_guide/overview/appflow.html b/user_guide/overview/appflow.html
index a0ae1de..4b0d5d1 100644
--- a/user_guide/overview/appflow.html
+++ b/user_guide/overview/appflow.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/overview/at_a_glance.html b/user_guide/overview/at_a_glance.html
index ad2a0e7..2ca15af 100644
--- a/user_guide/overview/at_a_glance.html
+++ b/user_guide/overview/at_a_glance.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -65,9 +65,9 @@
 

 <h2>Code Igniter is an Application Framework</h2>

 

-<p>Code Igniter is a toolkit for people who build web application using PHP.  Its goal is to enable you to develop projects much faster than you could if you were writing code 

+<p>Code Igniter is a toolkit for people who build web application using PHP.  Its goal is to enable you to develop projects much faster than you could if you were writing code

 from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and

-logical structure to access these libraries. Code Igniter lets you creatively focus on your project by 

+logical structure to access these libraries. Code Igniter lets you creatively focus on your project by

 minimizing the amount of code needed for a given task.</p>

 

 <h2>Code Igniter is Free</h2>

@@ -76,9 +76,9 @@
 

 

 <h2>Code Igniter Runs on PHP 4</h2>

-<p>Code Igniter is written to be compatible with PHP 4.  Although we would have loved to take advantage of the better object handling 

-in PHP 5 since it would have simplified some things we had to find creative solutions for (looking your way, multiple inheritance), 

-at the time of this writing PHP 5 is not in widespread use, which means we would be alienating most of our 

+<p>Code Igniter is written to be compatible with PHP 4.  Although we would have loved to take advantage of the better object handling

+in PHP 5 since it would have simplified some things we had to find creative solutions for (looking your way, multiple inheritance),

+at the time of this writing PHP 5 is not in widespread use, which means we would be alienating most of our

 potential audience.  Major OS vendors like RedHat have yet to support PHP 5, and they are unlikely to do so until 2007, so

 we felt that it did not serve the best interests of the PHP community to write Code Igniter in PHP 5.</p>

 

@@ -99,7 +99,7 @@
 This is particularly good for projects in which designers are working with your template files, as the code these file contain will be minimized. We describe MVC in more detail on its own page.</p>

 

 <h2>Code Igniter Generates Clean URLs</h2>

-<p>The URLs generated by Code Igniter are clean and search-engine friendly.  Rather than using the standard "query string" 

+<p>The URLs generated by Code Igniter are clean and search-engine friendly.  Rather than using the standard "query string"

 approach to URLs that is synonymous with dynamic systems, Code Igniter uses a segment-based approach:</p>

 

 <code>www.your-site.com/<var>news</var>/<dfn>article</dfn>/<samp>345</samp></code>

@@ -107,7 +107,7 @@
 <p>Note: By default the index.php file is included in the URL but it can be removed using a simple .htaccess file.</p>

 

 <h2>Code Igniter Packs a Punch</h2>

-<p>Code Igniter comes with a very nice set of libraries that enable the most commonly needed web development tasks, 

+<p>Code Igniter comes with a very nice set of libraries that enable the most commonly needed web development tasks,

 like accessing a database, sending email, validating form data, maintaining sessions, manipulating images, working with XML-RPC data and more.</p>

 

 <h2>Code Igniter is Extensible</h2>

@@ -116,7 +116,7 @@
 <h2>Code Igniter Does Not Require a Template Engine</h2>

 <p>Although Code Igniter <em>does</em> come with a simple template parser that can be optionally used, it does not force you to use one.

 

-Template engines simply can not match the performance of native PHP, and the syntax that must be learned to use a template 

+Template engines simply can not match the performance of native PHP, and the syntax that must be learned to use a template

 engine is usually only marginally easier than learning the basics of PHP.  Consider this block of PHP code:</p>

 

 <code>&lt;ul><br />

@@ -133,7 +133,7 @@
 

 <code>&lt;ul><br />

 <br />

-{foreach from=$addressbook item="name"}<br /> 

+{foreach from=$addressbook item="name"}<br />

 <br />

 &lt;li>{$name}&lt;/li><br />

 <br />

@@ -141,13 +141,13 @@
 <br />

 &lt;/ul></code>

 

-<p>Yes, the template engine example is a bit cleaner, but it comes at the price of performance, as the pseudo-code must be converted 

+<p>Yes, the template engine example is a bit cleaner, but it comes at the price of performance, as the pseudo-code must be converted

 back into PHP to run. Since one of our goals is <em>maximum performance</em>, we opted to not require the use of a template engine.</p>

 

 

 <h2>Code Igniter is Thoroughly Documented</h2>

 <p>Programmers love to code and hate to write documentation.  We're no different, of course, but

-since documentation is <strong>as important</strong> as the code itself, 

+since documentation is <strong>as important</strong> as the code itself,

 we are committed to doing it. Our source code is extremely clean and well commented as well.</p>

 

 

diff --git a/user_guide/overview/features.html b/user_guide/overview/features.html
index 4e013f5..0d4fdff 100644
--- a/user_guide/overview/features.html
+++ b/user_guide/overview/features.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,7 +66,7 @@
 <p>Features in and of themselves are a very poor way to judge an application since they tell you nothing

 about the user experience, or how intuitively or intelligently it is designed.  Features

 don't reveal anything about the quality of the code, or the performance, or the attention to detail, or security practices.

-The only way to really judge an app is to try it and get to know the code. <a href="../installation/">Installing</a> 

+The only way to really judge an app is to try it and get to know the code. <a href="../installation/">Installing</a>

 Code Igniter is child's play so we encourage you to do just that.  In the mean time here's a list of Code Igniter's main features.</p>

 

 <ul>

diff --git a/user_guide/overview/goals.html b/user_guide/overview/goals.html
index 97d0774..c5bf9ba 100644
--- a/user_guide/overview/goals.html
+++ b/user_guide/overview/goals.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -66,7 +66,7 @@
 

 <p>Our goal for Code Igniter is <dfn>maximum performance, capability, and flexibility in the smallest, lightest possible package</dfn>.</p>

 

-<p>To meet this goal we are committed to benchmarking, re-factoring, and simplifying at every step of the development process, 

+<p>To meet this goal we are committed to benchmarking, re-factoring, and simplifying at every step of the development process,

 rejecting anything that doesn't further the stated objective.</p>

 

 <p>From an technical and architectural standpoint, Code Igniter was created with the following objectives:</p>

diff --git a/user_guide/overview/index.html b/user_guide/overview/index.html
index 83a59f7..beaaa47 100644
--- a/user_guide/overview/index.html
+++ b/user_guide/overview/index.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

diff --git a/user_guide/overview/mvc.html b/user_guide/overview/mvc.html
index 0f5fbe8..3d577e9 100644
--- a/user_guide/overview/mvc.html
+++ b/user_guide/overview/mvc.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="../nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -63,12 +63,12 @@
 

 <h1>Model-View-Controller</h1>

 

-<p>Code Igniter is based on the Model-View-Controller development pattern.  

+<p>Code Igniter is based on the Model-View-Controller development pattern.

 

 MVC is a software approach that separates application logic from presentation.  In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.</p>

 

 <ul>

-<li>The <strong>Model</strong> represents your data structures. Typically your model classes will contains functions that help you 

+<li>The <strong>Model</strong> represents your data structures. Typically your model classes will contains functions that help you

 retrieve, insert, and update information in your your database.</li>

 <li>The <strong>View</strong> is the information that is being presented to a user.  A View will normally be a web page, but

 in Code Igniter, a view can also be a page fragment like a header or footer. It can also be an RSS page, or any other type of "page".</li>

@@ -77,9 +77,9 @@
 

 </ul>

 

-<p>Code Igniter has a fairly loose approach to MVC since Models are not required.  

+<p>Code Igniter has a fairly loose approach to MVC since Models are not required.

 If you don't need the added separation, or find that maintaining models requires more complexity than you

-want, you can ignore them and build your application minimally using Controllers and Views. Code Igniter also 

+want, you can ignore them and build your application minimally using Controllers and Views. Code Igniter also

 enables you to incorporate your own existing scripts, or even develop core libraries for the system,

  enabling you to work in a way that makes the most sense to you.</p>

 

diff --git a/user_guide/toc.html b/user_guide/toc.html
index 7f16ee8..880dc22 100644
--- a/user_guide/toc.html
+++ b/user_guide/toc.html
@@ -12,7 +12,7 @@
 <script type="text/javascript" src="nav/moo.fx.js"></script>

 <script type="text/javascript">

 window.onload = function() {

-	myHeight = new fx.Height('nav', {duration: 400}); 

+	myHeight = new fx.Height('nav', {duration: 400});

 	myHeight.hide();

 }

 </script>

@@ -64,111 +64,111 @@
 <h1>Table of Contents</h1>

 

 

-<h3>Basic Info</h3> 

-<ul> 

-	<li><a href="./general/requirements.html">Server Requirements</a></li> 

-	<li><a href="license.html">License Agreement</a></li> 

-	<li><a href="changelog.html">Change Log</a></li> 

-	<li><a href="./general/credits.html">Credits</a></li> 

+<h3>Basic Info</h3>

+<ul>

+	<li><a href="./general/requirements.html">Server Requirements</a></li>

+	<li><a href="license.html">License Agreement</a></li>

+	<li><a href="changelog.html">Change Log</a></li>

+	<li><a href="./general/credits.html">Credits</a></li>

 </ul> 	

 

-<h3>Installation</h3> 

-<ul> 

-	<li><a href="./installation/downloads.html">Downloading Code Igniter </a></li> 

-	<li><a href="./installation/index.html">Installation Instructions</a></li> 

-	<li><a href="./installation/upgrading.html">Upgrading from an Previous Version</a></li> 

-	<li><a href="./installation/troubleshooting.html">Troubleshooting</a></li> 

-</ul> 

+<h3>Installation</h3>

+<ul>

+	<li><a href="./installation/downloads.html">Downloading Code Igniter </a></li>

+	<li><a href="./installation/index.html">Installation Instructions</a></li>

+	<li><a href="./installation/upgrading.html">Upgrading from an Previous Version</a></li>

+	<li><a href="./installation/troubleshooting.html">Troubleshooting</a></li>

+</ul>

 

-<h3>Introduction</h3> 

-<ul> 

-	<li><a href="./overview/at_a_glance.html">Code Igniter at a Glance</a></li> 

-	<li><a href="./overview/features.html">Supported Features</a></li> 

-	<li><a href="./overview/appflow.html">Application Flow Chart</a></li> 

-	<li><a href="./overview/mvc.html">Model-View-Controller</a></li> 

-	<li><a href="./overview/goals.html">Architectural Goals</a></li> 

+<h3>Introduction</h3>

+<ul>

+	<li><a href="./overview/at_a_glance.html">Code Igniter at a Glance</a></li>

+	<li><a href="./overview/features.html">Supported Features</a></li>

+	<li><a href="./overview/appflow.html">Application Flow Chart</a></li>

+	<li><a href="./overview/mvc.html">Model-View-Controller</a></li>

+	<li><a href="./overview/goals.html">Architectural Goals</a></li>

 </ul> 	

 

 

-<h3>General Topics</h3> 

-<ul> 

-	<li><a href="./general/index.html">Getting Started</a></li> 

-	<li><a href="./general/urls.html">Code Igniter URLs</a></li> 

-	<li><a href="./general/controllers.html">Controllers</a></li> 

-	<li><a href="./general/views.html">Views</a></li> 

-	<li><a href="./general/models.html">Models</a></li> 

-	<li><a href="./general/helpers.html">Helpers</a></li> 

-	<li><a href="./general/plugins.html">Plugins</a></li> 

-	<li><a href="./general/libraries.html">Using Code Igniter Libraries</a></li> 

-	<li><a href="./general/creating_libraries.html">Creating Your Own Libraries</a></li> 

+<h3>General Topics</h3>

+<ul>

+	<li><a href="./general/index.html">Getting Started</a></li>

+	<li><a href="./general/urls.html">Code Igniter URLs</a></li>

+	<li><a href="./general/controllers.html">Controllers</a></li>

+	<li><a href="./general/views.html">Views</a></li>

+	<li><a href="./general/models.html">Models</a></li>

+	<li><a href="./general/helpers.html">Helpers</a></li>

+	<li><a href="./general/plugins.html">Plugins</a></li>

+	<li><a href="./general/libraries.html">Using Code Igniter Libraries</a></li>

+	<li><a href="./general/creating_libraries.html">Creating Your Own Libraries</a></li>

 	<li><a href="./general/core_classes.html">Creating Core Classes</a></li>

-	<li><a href="./general/hooks.html">Hooks - Extending the Core</a></li> 

-	<li><a href="./general/autoloader.html">Auto-loading Resources</a></li> 

-	<li><a href="./general/scaffolding.html">Scaffolding</a></li> 

-	<li><a href="./general/routing.html">URI Routing</a></li> 

-	<li><a href="./general/errors.html">Error Handling</a></li> 

-	<li><a href="./general/caching.html">Caching</a></li> 

-	<li><a href="./general/profiling.html">Profiling Your Application</a></li> 

-	<li><a href="./general/multiple_apps.html">Running Multiple Applications</a></li> 

-	<li><a href="./general/alternative_php.html">Alternative PHP Syntax</a></li> 

-	<li><a href="./general/security.html">Security</a></li> 

-</ul> 

+	<li><a href="./general/hooks.html">Hooks - Extending the Core</a></li>

+	<li><a href="./general/autoloader.html">Auto-loading Resources</a></li>

+	<li><a href="./general/scaffolding.html">Scaffolding</a></li>

+	<li><a href="./general/routing.html">URI Routing</a></li>

+	<li><a href="./general/errors.html">Error Handling</a></li>

+	<li><a href="./general/caching.html">Caching</a></li>

+	<li><a href="./general/profiling.html">Profiling Your Application</a></li>

+	<li><a href="./general/multiple_apps.html">Running Multiple Applications</a></li>

+	<li><a href="./general/alternative_php.html">Alternative PHP Syntax</a></li>

+	<li><a href="./general/security.html">Security</a></li>

+</ul>

 

 

 		

-<h3>Class Reference</h3> 

-<ul> 

-<li><a href="./libraries/benchmark.html">Benchmarking Class</a></li> 

-<li><a href="./libraries/calendar.html">Calendaring Class</a></li> 

-<li><a href="./libraries/config.html">Config Class</a></li> 

-<li><a href="./database/index.html">Database Class</a></li> 

-<li><a href="./libraries/email.html">Email Class</a></li> 

-<li><a href="./libraries/encryption.html">Encryption Class</a></li> 

-<li><a href="./libraries/file_uploading.html">File Uploading Class</a></li> 

-<li><a href="./libraries/table.html">HTML Table Class</a></li> 

+<h3>Class Reference</h3>

+<ul>

+<li><a href="./libraries/benchmark.html">Benchmarking Class</a></li>

+<li><a href="./libraries/calendar.html">Calendaring Class</a></li>

+<li><a href="./libraries/config.html">Config Class</a></li>

+<li><a href="./database/index.html">Database Class</a></li>

+<li><a href="./libraries/email.html">Email Class</a></li>

+<li><a href="./libraries/encryption.html">Encryption Class</a></li>

+<li><a href="./libraries/file_uploading.html">File Uploading Class</a></li>

+<li><a href="./libraries/table.html">HTML Table Class</a></li>

 <li><a href="./libraries/image_lib.html">Image Manipulation Class</a></li> 	

-<li><a href="./libraries/input.html">Input and Security Class</a></li> 

-<li><a href="./libraries/loader.html">Loader Class</a></li> 

-<li><a href="./libraries/language.html">Language Class</a></li> 

-<li><a href="./libraries/output.html">Output Class</a></li> 

-<li><a href="./libraries/pagination.html">Pagination Class</a></li> 

-<li><a href="./libraries/sessions.html">Session Class</a></li> 

-<li><a href="./libraries/trackback.html">Trackback Class</a></li> 

-<li><a href="./libraries/parser.html">Template Parser Class</a></li> 

-<li><a href="./libraries/unit_testing.html">Unit Testing Class</a></li> 

-<li><a href="./libraries/uri.html">URI Class</a></li> 

-<li><a href="./libraries/user_agent.html">User Agent Class</a></li> 

-<li><a href="./libraries/validation.html">Validation Class</a></li> 

-<li><a href="./libraries/xmlrpc.html">XML-RPC Class</a></li> 

-</ul> 

+<li><a href="./libraries/input.html">Input and Security Class</a></li>

+<li><a href="./libraries/loader.html">Loader Class</a></li>

+<li><a href="./libraries/language.html">Language Class</a></li>

+<li><a href="./libraries/output.html">Output Class</a></li>

+<li><a href="./libraries/pagination.html">Pagination Class</a></li>

+<li><a href="./libraries/sessions.html">Session Class</a></li>

+<li><a href="./libraries/trackback.html">Trackback Class</a></li>

+<li><a href="./libraries/parser.html">Template Parser Class</a></li>

+<li><a href="./libraries/unit_testing.html">Unit Testing Class</a></li>

+<li><a href="./libraries/uri.html">URI Class</a></li>

+<li><a href="./libraries/user_agent.html">User Agent Class</a></li>

+<li><a href="./libraries/validation.html">Validation Class</a></li>

+<li><a href="./libraries/xmlrpc.html">XML-RPC Class</a></li>

+</ul>

 

 

 

-<h3>Helper Reference</h3> 

-<ul> 

-<li><a href="./helpers/array_helper.html">Array Helper</a></li> 

-<li><a href="./helpers/cookie_helper.html">Cookie Helper</a></li> 

-<li><a href="./helpers/date_helper.html">Date Helper</a></li> 

-<li><a href="./helpers/directory_helper.html">Directory Helper</a></li> 

-<li><a href="./helpers/download_helper.html">Download Helper</a></li> 

-<li><a href="./helpers/file_helper.html">File Helper</a></li> 

-<li><a href="./helpers/form_helper.html">Form Helper</a></li> 

-<li><a href="./helpers/html_helper.html">HTML Helper</a></li> 

-<li><a href="./helpers/inflector_helper.html">Inflector Helper</a></li> 

-<li><a href="./helpers/security_helper.html">Security Helper</a></li> 

-<li><a href="./helpers/string_helper.html">String Helper</a></li> 

-<li><a href="./helpers/text_helper.html">Text Helper</a></li> 

-<li><a href="./helpers/typography_helper.html">Typography Helper</a></li> 

-<li><a href="./helpers/url_helper.html">URL Helper</a></li> 

-<li><a href="./helpers/xml_helper.html">XML Helper</a></li> 

+<h3>Helper Reference</h3>

+<ul>

+<li><a href="./helpers/array_helper.html">Array Helper</a></li>

+<li><a href="./helpers/cookie_helper.html">Cookie Helper</a></li>

+<li><a href="./helpers/date_helper.html">Date Helper</a></li>

+<li><a href="./helpers/directory_helper.html">Directory Helper</a></li>

+<li><a href="./helpers/download_helper.html">Download Helper</a></li>

+<li><a href="./helpers/file_helper.html">File Helper</a></li>

+<li><a href="./helpers/form_helper.html">Form Helper</a></li>

+<li><a href="./helpers/html_helper.html">HTML Helper</a></li>

+<li><a href="./helpers/inflector_helper.html">Inflector Helper</a></li>

+<li><a href="./helpers/security_helper.html">Security Helper</a></li>

+<li><a href="./helpers/string_helper.html">String Helper</a></li>

+<li><a href="./helpers/text_helper.html">Text Helper</a></li>

+<li><a href="./helpers/typography_helper.html">Typography Helper</a></li>

+<li><a href="./helpers/url_helper.html">URL Helper</a></li>

+<li><a href="./helpers/xml_helper.html">XML Helper</a></li>

 </ul> 	

 

-<h3>Additional Resources</h3> 

+<h3>Additional Resources</h3>

 

-<ul> 

-<li><a href="./general/quick_reference.html">Quick Reference Chart</a></li> 

-<li><a href="http://www.codeigniter.com/forums/">Community Forums</a></li> 

-<li><a href="http://www.codeigniter.com/wiki/">Community Wiki</a></li> 

+<ul>

+<li><a href="./general/quick_reference.html">Quick Reference Chart</a></li>

+<li><a href="http://www.codeigniter.com/forums/">Community Forums</a></li>

+<li><a href="http://www.codeigniter.com/wiki/">Community Wiki</a></li>

 </ul>

 

 

diff --git a/user_guide/userguide.css b/user_guide/userguide.css
index d58ec96..a90f608 100644
--- a/user_guide/userguide.css
+++ b/user_guide/userguide.css
@@ -240,7 +240,7 @@
  font-weight: bold;

  font-style: normal;

 }

-#content kbd { 

+#content kbd {

  font-family: Lucida Grande, Verdana, Geneva, Sans-serif;

  color: #A70000;

  font-weight: bold;

@@ -299,12 +299,12 @@
  margin: 6px 0 8px 0;

  padding: 0;

 }

- 

+

 #content .important .leftpad {

  margin: 6px 0 8px 0;

  padding-left: 20px;

 }

- 

+

 #content .critical {

  background: #FBE6F2;

  border: 1px solid #E68F8F;

@@ -312,7 +312,7 @@
  margin: 10px 0 5px 0;

  padding: 10px;

 }

- 

+

 #content .critical p {

  margin: 5px 0 6px 0;

  padding: 0;

@@ -368,7 +368,7 @@
  height: 1.5em;

  padding: 0;

  margin: 0;

-} 

+}

 

 .textarea {

  font-family: Lucida Grande, Verdana, Geneva, Sans-serif;